Created: July 26, 1994
During the past decade, the personal computer (PC) has become an indispensable productivity tool for individuals in their personal and business endeavors. But it is when PCs are connected to each other and can deliver new information resources and services that their true productivity potential is unleashed.
Connecting personal computers can boost productivity, but it also creates challenges for users who must learn to use connected resources, and for administrators who must manage all the connected users and resources. The next release of the Microsoft® Windows® operating system, called Windows 95, aims to solve many of the challenges that users and administrators face when they connect their PCs, whether they are in small businesses with several PCs or large organizations with thousands of PCs.
The purpose of this paper is to provide an overview of the benefits that Windows 95 will bring to the users and administrators of connected PCs.
Please note that this article is based on preliminary information that is subject to change before the final version of Windows 95.
Windows 95 is the code name for a development project that will produce the successor to Windows 3.x and Windows for Workgroups 3.x. Windows 95 encompasses a variety of important new technologies that will make mainstream desktop and portable computers running Windows easier to use, offer responsive multitasking performance, and provide a great platform for communications. Windows 95 complements the Windows NT™ operating system, Microsoft’s platform for "mission-critical" and technical workstation applications, and Windows NT Advanced Server for production server use.
The mission for Windows 95 is to deliver compelling benefits for several different audiences. For all PC users, Windows 95 will make the PC easier to use. Both novice and experienced PC users can be immediately productive on a Windows 95-based system. For information-systems managers, Windows 95 can help reduce the cost of deploying PCs through greater system reliability, interoperability, and manageability, and can help decrease employee training and support costs. For the PC industry, Windows 95 offers a platform for innovative, compelling hardware and software solutions that can provide new uses for the PC and appeal to new types of customers.
Windows 95 enhances the Windows platform on mainstream personal computers in many easy-to-use ways that can open new possibilities in computing for everyone. Benefits that Windows 95 provides include the following
To meet its goal of producing a compelling successor to Windows 3.x and Windows for Workgroups 3.x, Windows 95 was built to meet several rigorous requirements. Windows 95 must be a safe and hassle-free upgrade that protects the investment by users of Windows in devices, applications, and networking infrastructure. Windows 95 is compatible with current applications and drivers for MS-DOS and Windows, and provides an easy transition to the new user interface. A customer can install Windows 95 without adding memory and can expect to experience performance that equals or exceeds the performance of Windows 3.1 doing the same tasks on that system (provided the system has at least 4 MB of RAM and an 80386 or higher microprocessor).
Today, many customers have realized only a small fraction of the productivity gains that are possible from connected PCs. There are a number of problems that stand in the way of increasing those gains. Many of the basic services that are useful to most customers (file and printer sharing, electronic mail) had not been well integrated with the operating system until the introduction of Microsoft Windows for Workgroups. When not well integrated, these services can be difficult and expensive to install, configure, use, and maintain. The services that administrators who manage connected PCs need are often unavailable or ineffective. Different connected resources (servers, printers, electronic mail systems, host systems) have different interfaces, so training users to access a variety of resources is expensive. And much of the networking software written to date is not based on a modern, open architecture and as a result is not very reliable and does not perform well on multitasking operating systems.
Windows 95 takes a major step toward solving these problems by integrating a rich set of services for users and administrators into the operating system and by providing a user interface that can make all types of connected services and resources easier to use. In addition, these services are all built according to a high-performance, reliable, and open architecture that provides simultaneous access to multiple connected resources.
Windows 95 includes a rich set of services for users, including file and printer sharing, network server access, electronic mail, fax, and remote access. These services are well integrated with the Windows 95 user interface to make them easy to use, and extensible so developers can easily leverage them within their applications.
Windows 95 includes the software required to connect to most popular network servers, including Novell® NetWare® 2.x, 3.x, and 4.x; Windows NT Advanced Server; LAN Manager; LAN Manager for UNIX®; IBM® LanServer; 3Com® 3+Open®; and 3Com 3+Share®. Additional networks are as easy to install as additional printers.
If you already have a network server, Windows 95 can continue to use your current networking software, or you can upgrade to the high-performance components included with Windows 95. And if you have multiple network servers, Windows 95 provides simultaneous connections with a choice of popular protocols, including IPX/SPX, TCP/IP, and NetBEUI.
Windows 95 includes all the software you need to set up a cost-effective network and share files and printers among connected PCs that run Windows 95 (and Windows for Workgroups and Windows NT). Each machine can function as both a client and a peer server, so no dedicated network server system is required. Windows 95 networking software is easy to set up, use, and maintain, with automatic detection of network hardware, built-in share-level security, and a complete set of administrative utilities for remote administration and auditing of server events.
Windows 95 includes an "integrated messaging client" that provides individuals and businesses with a flexible tool for sending and receiving information, and provides developers with a platform for building custom business solutions.
As an application for sending and receiving information, the integrated messaging client contains a superset of the Microsoft Mail 3.2 graphical electronic mail client features and is well integrated with the Windows 95 user interface. To the user of Windows 95, the message inbox appears as just another folder, rather than a separate application. Messages that are received in the inbox can be sorted, read, and saved in other folders or discarded quickly. Once read, messages can be moved or copied into subject folders by simply dragging and dropping.
The messaging client’s rich set of features make it a very flexible tool for creating and managing messages. These features include:
Windows 95 Remote Access Service (RAS) makes it easy for users to access the information and resources they need when they’re away from their office. All they need is a phone line. They will be able to browse for and retrieve files, send and receive electronic mail, print, and access a database just as if they were using their office system. Remote access will be useful for individuals who just want to connect two Windows-based PCs and exchange information between them, and for businesses of any size that want to provide employees access to resources on the corporate network when they’re away from corporate facilities.
Windows 95 RAS works with existing solutions such as Windows NT Advanced Server and NetWare Connect and provides support for industry-standard protocols such as Point-to-Point Protocol (PPP). By providing a flexible and open infrastructure for remote connections, Windows 95 makes it possible for customers to use multiple remote applications through a single phone connection.
Windows 95 integrated messaging client is designed to work well over both LAN and remote communication systems. The messaging system uses a client-server design that minimizes network traffic by limiting transmissions to short requests and responses—an efficient design whether you’re communicating at Ethernet (10 Mbps) or modem (9600 bps) speeds. The integrated messaging client is flexible enough to work over connections ranging from 2400 bps modems to Public X.25 data networks and high-speed ISDN systems, as well as cellular or other wireless communications.
An important feature for remote use is the ability to store the inbox and outbox on a portable system. This feature makes it easy to read and send messages while away from the office. Remote headers, another useful feature, allows the user to download and examine only the headings of new messages. The user can then select the messages to download based on information about the content, size, and estimated download time for each message. This allows the remote user to stay in touch with important information, but not waste time or money downloading low-priority messages that can be handled once they’re back in the office. Mail downloads can also be automatically scheduled for times when lower phone rates apply.
Another feature that can make working away from the corporate network more convenient is deferred printing. A user who is not connected can still print just as if he had access to the network printer in his office. Windows 95 print spooler places the print job into the queue and automatically sends the print job to the printer when the user reconnects to the corporate network.
Windows 95 file synchronization services are optimized for the needs of the mobile computer user who wants to take copies of documents to a remote location and have them be automatically synchronized with the source documents. It features a very intuitive user interface that uses a briefcase icon as the metaphor for performing file synchronization operations.
Using the briefcase, a user can identify files that she wants to keep up to date, take those files home or on a business trip, make changes, and have the files automatically updated when the source file is available to the system. The update is performed by replacing the source file with the modified copy at the discretion of the user. Developers can extend file synchronization by providing a merge-handler, which will merge changes in modified and source copies of a file to create a new updated copy.
A variety of studies have shown that up to 80 percent of the cost of owning a PC goes to managing the PC, including installation, configuration and maintenance of hardware and software, and support of users. Windows 95 provides a number of services to make it easier for system administrators to install, configure, monitor, maintain, and troubleshoot their Windows-based desktops.
The Plug and Play specification is designed to make devices that use it easier and less costly to install and configure. You simply insert a Plug and Play network adapter into a system and Windows 95 automatically determines what resources that adapter requires and configures the system without asking the user for information about memory address, drivers, card type, etc. The Plug and Play architecture also records all system devices and stores this information in the Windows Registry database. This database can be queried to determine system status and perform real-time configuration.
The Windows 95 operating system itself can be set up from a network server and can be configured at the desktop to run locally or across the network. In each case, the administrator can establish a specific configuration for the installation, controlling which features are installed and which features can be accessed or altered by the end user. Windows 95 requires only a floppy drive to start up, and paging of components to a swap file on the network can be disabled to minimize network traffic. Windows 95 can run on diskless workstations that boot from a Windows NT or NetWare server.
Once Windows 95 is installed, administrators can centrally configure desktop settings such as file and printer sharing, network access, and passwords. They can remotely monitor Windows 95–based desktops to determine what resources are shared, what connections have been made, and what files are being used. These capabilities are very scalable so they can be used to manage individual systems or large groups of systems, and they use the existing network services to limit access to individuals who have been designated as administrators.
In many companies employees share multiple PCs. Windows 95 can support "user profiles" to enable people to access their personal groups, applications, and data from any station on the network. This "multiple-user mode" can also be provided on a stand-alone system. This capability is provided through the Windows Registry, which stores per-user configuration information separately from system information so that each of these can be managed separately. Per-user configuration information can include preference data such as favorite screen colors, mouse click speed, and program groups. These preferences will be centrally stored, accessed when the user logs into a Windows 95–based system, and used to install the appropriate configuration so that the user can be immediately productive—working in a familiar environment tailored to whatever hardware they are using.
Administrators need security at the desktop to control access to the system configuration and network resources. But system administrators don't want to administer a separate security database of users and groups on system. Ultimately, a system should provide desktop security by using the user and group database that already exists on the network server. This approach is called "pass-through" security.
Pass-through security makes "user-level" security available to individuals who share resources attached to a desktop system, resources such as a printer or specific directories on the hard disk. So when a user shares a directory on their hard disk, the user can specify which other individuals are allowed access to that directory.
Windows 95 supports pass-through security to both Windows NT Advanced Server–based systems and Novell NetWare–based systems. This means that an administrator can just point at users from a Windows NT security database, or a NetWare bindery or NetWare Directory Services, and give these users rights to read designated files on a Windows 95–based PC. This approach simplifies administration because a change to a password can be made in one place, the network server, and affect access to the desktop. Similarly, if a user shares her C drive and defines a group of people who can access it, the administrator on a server running Windows NT or Novell NetWare can change the membership of that group at the server, and it applies to all the desktop workstations.
Pass-through security also allows administrators to centrally control what functionality users can access at desktop systems. Administrators can set a global policy such as restricting users from sharing printers or hard disks. Or, administrators can define which specific users are allowed to share resources on their desktop systems. User-level security also applies to dial-up access, backup agents, Remote Procedure Call (RPC) services, the Windows Registry, as well as file and printer sharing.
Windows 95 includes client backup agents that also take advantage of pass-through security. These agents enable administrators to back up Windows 95–based systems with existing server backup products, such as Cheyenne Arcserve and Arcada Backup Exec. The administrator need not worry that the presence of these agents will compromise the security of the desktop system because access to the desktop can be controlled by the central security database.
The Windows 95 diagnostic utility graphically displays information about network traffic and system performance on specific Windows 95–based PCs. The information generated by this utility can also be exported to other products that provide additional analysis. A utility for remotely viewing the system registry enables the administrator to identify hardware and software configuration settings on other machines. This tool, which will be very useful for support technicians, is extensible so it can be used by third-party management applications. Windows 95 also provides a "fail-safe boot" capability to get a minimal system configuration up and running after a crash so a support professional can use the tools described above to troubleshoot the system.
Windows 95 is designed to integrate well with existing system management solutions by providing simple network management protocol (SNMP) and Desktop Management Interface (DMI) support.
Windows 95 user interface provides a simple, consistent way to use multiple connected resources. For example, when the user first logs on to a Windows 95–based PC that is connected to multiple network servers, she needs to provide only one password, even if each network server uses a different security scheme. If a user wants to change her password she can also do that by making a single change. Windows 95 provides the flexibility to allow multiple passwords for multiple resources, also.
Windows 95 makes life easier for end users by presenting a common interface for finding and making connections to network resources of any type. To find and access a file on a server, the user just browses the network, clicks the server, clicks the file, and drags and drops the file onto the user’s desktop. No cumbersome dialogs are encountered, no complicated commands are needed. It doesn’t matter whether the server is running NetWare or Windows NT or Pathworks™, the procedure for finding and connecting to each server is identical. The same principle applies to printers as well—the user can connect to the printer in the same way whether the printer is attached to a UNIX host, a Windows NT server, or another Windows 95 system. Support for long file names on all network resources makes browsing the network much simpler.
Most users need regular access to only a small number of network resources. Windows 95 provides a shortcut to help them quickly access the resources they use most often. When the user opens a view of the network Windows 95 displays the resources used most often—the user’s "network neighborhood," If the user needs access to a resource that is not in this neighborhood, he simply selects an icon that opens a view of the entire network hierarchy.
Windows 95 does more than improve existing interface implementation. In many cases Windows 95 eliminates the need for any interface at all. Windows 95 can detect most existing network devices and suggest the appropriate configuration. When new Plug and Play network or PCMCIA adapters are inserted, Windows 95 loads the correct drivers and configures the adapter automatically. Administrators can remotely configure program groups and specify network protocols, so the end user need not be exposed to network infrastructure. Whenever a node is connected to the network, Windows 95 automatically assigns IP addresses using a server that supports IP address allocation.
Windows 95 simplifies network printing with "point and print" access to networked printers. To print to a networked printer, all the user needs to do is drop a document on the desired printer. Windows 95 determines the printer configuration (type of printer, device driver, number of paper trays, amount of memory, font information, and so on) and automatically loads the driver and configures the printer on the user’s PC.
Windows 95 provides multiple, simultaneous connections to different types of resources (files, programs, printers, host systems, mail systems) over most popular media (Ethernet, Token Ring, X.25, ISDN) from most any location (office, home, hotel). These capabilities are implemented using a high-performance, reliable, flexible, and open architecture based on the Windows Open Services Architecture (WOSA) specification. This approach provides users with a consistent interface to different services on the front end, while giving system administrators the flexibility to mix and match multiple services on the back end.
Windows 95 networking components are designed to provide the fastest, smoothest, multitasking performance and highest system reliability, while using no conventional memory. All of the network components in Windows 95 are designed according to Windows 95 Installable File System architecture with integrated caching, and implemented using 32-bit protected-mode virtual device drivers (VxDs). Windows 95 networking components support the Plug and Play specification, which enables the operating system to manage the addition or removal of the network transparently to the end user. For example, if the user inserts a portable unit into a networked docking station, the operating system will be able to detect the presence of the network and load the appropriate networking components without requiring any intervention by the user.
Networking architecture of Windows 95
This architecture still supports existing real-mode components for the highest possible compatibility with existing network products, including Windows 3.1 WinNet drivers, protocol stacks such as FTP and Novell LWP, and any redirector that works with MS-DOS version 5.0.
Windows 95 provides an application programming interface (API) that enables developers to create a single version of their application that runs unmodified on different networks. The Multiple Provider Interface in Windows 95 is the successor to the WinNet interface in Windows 3.x. The Windows 3.1 interface was limited to simple functionality such as connecting to a drive letter or redirecting a printing port to a networked printer. The Windows 95 Multiple Provider Interface abstracts a high level of functionality across many different types of networks, including NetWare, Windows NT, Windows for Workgroups, and other servers. The functions provided include authenticating the user when he accesses a network server, managing multiple passwords, listing servers, adding or removing connections to a server, and browsing network servers. The multiple provider software routes incoming network requests to the appropriate network provider, using the same interface whether one or multiple network providers is installed. For example, when a user wants to enumerate the servers on the network, that request gets routed across all of the different network drivers installed, and a master list is created and presented though the Windows 95 user interface.
Windows 95 provides network redirectors to support all Microsoft networking products (LAN Manager, Windows NT and Windows NT Advanced Server, Windows for Workgroups, and other operating systems) and third-party products such as IBM LanServer, 3Com 3+Open, NetWare 2.x, NetWare 3.x, and NetWare 4.x. The NetWare Redirector supports logging into NetWare 4.x Directory Services and browsing of NetWare 4.x servers as well as NetWare 2.x and 3.x servers. Support is provided for logon scripts and all the NetWare client-side utilities. Windows 95 provides this broad range of support by including two Microsoft-authored network file systems: a Server Message Block (SMB)–compatible file system, and a NetWare Core Protocol (NCP)–compatible file system. Additional network redirectors can be added to Windows 95 by using a very straightforward installation program.
Windows 95 makes it easier than ever before for users to connect to multiple network environments by providing multiple protocol support. Windows 95 provides a 32-bit protected-mode implementation of the NetBEUI and IPX/SPX (first shipped in Windows for Workgroups 3.11) and TCP/IP protocols. Windows 95 TCP/IP stack comes with most of the standard utilities, such as FTP, TELNET, PING, ARP, ROUTE, NETSTAT, NBSTAT, IPCONFIG, REXEC, RCP, RSH, and TRACEROUTE. In addition, the Dynamic Host Configuration Protocol (DHCP) is supported, so Windows 95 clients running TCP/IP will be automatically assigned an IP address based on a predefined range of addresses and leases when they log onto the network. This IP address database will be complemented by support for the Windows Internet Naming Service (WINS), which matches the IP address with a database of name and address information (such as xxxx@microsoft.com) residing on a domain controller. The Windows 95 TCP/IP stack uses names provided by Directory Network Services (DNS) as well.
Windows 95 provides standard network programming interfaces for all of the popular protocols. The protocols listed above support both NetBIOS and Windows Sockets programming interfaces. Windows 95 enhances NetBIOS support by providing a 32-bit implementation. The Windows Sockets programming interface, which is also present on Windows NT, is the best interface for developers who need to write client-server or distributed applications that communicate at a low level with the network operating system software. Windows 95 also supports industry-standard DCE-compliant RPC, client-side Named Pipes, and Mailslots interfaces.
These protocols need device support to work on a large variety of network hardware, which scales from 9600-baud phone lines or lower up to 100 megabytes-per-second media. The recommended device driver model for vendors who want to provide protected-mode drivers for specific network hardware is the Network Device Interface Specification (NDIS) version 3.1. The NDIS 3.1 drivers included in Windows 95 support Plug and Play and offer dramatic performance improvements over today’s real-mode drivers. Windows 95 also includes "mappers" for people who want to continue to use real-mode NDIS 2.x or ODI drivers. And if you have one ODI driver and one NDIS 3.1 driver, both can run concurrently.
Windows 95 supports a wide range of network media including Ethernet, Token Ring, ArcNet®, and FDDI. Support for popular existing media is provided through ODI, NDIS 2.x, and NDIS 3.1 drivers. WAN media are also supported through the PPP and Microsoft Remote Access Services (RAS) protocol for making dial-up connections.
The Windows 95 peer server is interoperable with Windows for Workgroups, Windows NT and Windows NT Advanced Server, LAN Manager, LAN Manager for UNIX, AT&T® StarLAN, IBM Lan Server, 3Com 3+Open and 3+Share, and DEC® Pathworks. Windows 95 enhances the features of Windows for Workgroups peer services to provide administrative control over whether peer services are enabled, what specific resources can be shared with which users, and remote auditing of peer server events.
The Windows 95 remote access implements a modular, open architecture to project the remote system as a node on a network, which can be scaled from two to many systems. At the application level, remote access provides services to applications (including the Windows 95 user interface, the Remote Access connection application, or other "remote-enabled" applications) through the remote API, part of the Win32 API. Developers can take advantage of services to initiate, abort, or resume a connection, gather data about the type and status of the connection; and present this information to the user through common dialogs. Remote access connections can be made explicitly (the user initiates the connection), implicitly (the system automatically connects when a remote resource such as a printer is accessed), or through an application.
Remote access architecture of Windows 95
The remote access subsystem implements these application services and in turn calls on "service providers" through a defined interface to perform management of physical connections, authentication of the user when an attempt is made to connect to a remote server, and management of network traffic over the remote media.
The connection service provider in the Windows 95 remote access architecture is the Windows Telephony API (TAPI), which itself is implemented according to the WOSA framework. The Windows 95 remote access uses TAPI to dial out via any TAPI-compatible device (including modems, fax modems, ISDN adapters, telephony PC adapter cards, or PBX digital modem pools). This provides device independence for Windows 95 remote access, because a new device can be incorporated by adding a TAPI service provider.
Validation of the user when she attempts to access a remote server occurs through an authentication service provider. Windows 95 provides basic network logon validation through the authentication module, and more rigorous security schemes can be implemented by adding new authentication providers.
The "network provider" for the Windows 95 remote access provides multiple, simultaneous connections to different servers by adapting the Windows 95 networking components for use over asynchronous communications lines. The Windows 95 remote access includes support for TCP/IP, IPX, and NetBEUI network transport protocols, and PPP and Asynchronous MAC drivers to interface with the Windows Communications Driver, which in turn sends data out over the communications port on the PC. A system running Windows 95 RAS will be able to connect to Microsoft and other SMB-based network servers, as well as Novell NetWare 2.x, 3.x, and 4.x servers, and third-party gateways/routers such as Shiva® NetModems.
Many organizations are looking to their electronic messaging system to take on the role of a central communications backbone for transmitting not just electronic mail, but all types of information. And as enterprise-wide "workgroup" applications (scheduling, forms routing, order processing, project management) become more functional, the need for this communications backbone becomes even greater. Today, however, messaging systems and workgroup applications from different vendors have different user interfaces, are often hard to use, and often have systems and development tools incompatible with one another. This makes creating and deploying applications based on messaging systems difficult and costly.
Messaging architecture of Windows 95
To solve this problem, Microsoft has worked with independent software vendors (ISVs), corporate developers, messaging system developers, and consultants to create an open, extensible messaging infrastructure standard (MAPI) for the Windows operating system. The MAPI standard ensures complete independence for Windows-based applications from underlying messaging systems, in much the same way that the Windows-based printing infrastructure has freed applications from the burden of supporting printing devices. MAPI solves a critical development problem: developers need to create only one version of their messaging-based application, rather than writing a different version for each messaging system, or writing their own messaging system to go with their application. Also, by including an integrated messaging client in the Windows operating system, MAPI provides end users with a common interface for different messaging systems and messaging-based applications.
Both the integrated messaging client and other messaging-enabled applications provide access to messaging functions by using the messaging application programming interface (MAPI) function calls. MAPI supports both Simple MAPI and the X.400 API Association Common Messaging Call (CMC) API to enable applications to send, address, and receive messages even across operating system platforms. MAPI also includes Extended MAPI, which provides a rich set of services for developing complex messaging-based applications.
The MAPI subsystem implements the MAPI function calls and acts as a central clearinghouse to route messages to different back-end messaging systems. The specific components of the subsystem include a dynamic-link library (MAPI.DLL) to implement the function calls and a spooler much like a print spooler except that it deals with the routing of messages instead of print jobs. The spooler operates in the background and provides store and forward services in the event that the messaging system is unavailable at the time that the message is sent.
The service provider interface enables different back-end services (including message stores, address books, and messaging transports) to be developed that will work with any MAPI-compliant application. The implementation of this interface takes the form of service provider drivers that can be written by the service provider or a third party. Because of these drivers, applications will work with multiple messaging systems such as Microsoft Mail, Novell MHS, and IBM PROFS® at the same time, without having to be customized for each system. And MAPI can support more than just LAN-based electronic mail systems—services such as fax, DEC All-In-1® voice mail, AT&T Easylink®, CompuServe®, and MCI MAIL® can also be supported, all through a single, Windows interface. In this way a single application can receive messages from a fax system, bulletin board system, host-based electronic mail system, and LAN-based electronic mail system, all in a single inbox.
Most messaging systems include a message store, address book or directory, and message transport. MAPI supports each type of service independently, enabling a vendor to specialize in a specific service or a corporate customer to develop a custom service like a corporate phone book directory of employees. The MAPI address book user interface also provides access to user and group lists on Windows NT Advanced Server–based systems and the NetWare Bindery. Windows 95 includes a message store, personal address book, and fax transport.
Windows 95 will help users and administrators of networked PCs realize greater productivity from their investment. Windows 95 will accomplish this by integrating into the operating system a rich set of easy-to-use services for users, and by supplying administrators with the tools they need to cost-effectively manage their networked PCs. All of these services are built on a high-performance, reliable, and open architecture. In addition, Windows 95 will protect the investment customers have made in their existing network infrastructure by providing the highest possible compatibility with current networking software.