The View from the Client
As you have heard many times in this book, most of what we know as networking results from the interaction of a client (a computer requesting a service) and a server (a computer supplying that service). The server is an important central feature of the network. The server is the hub, the storehouse of services and data upon which the other computers depend. And though the server can be very busy filling requests, the activities of the server are largely predictable and passive. The client workstation is where the user sits and, ultimately, where the work gets done. The most inefficient connection in all of networking is the messy interaction of the user with a client workstation. Many believe that creating a better and more streamlined working environment for the user is the best way to reduce the cost and increase the efficiency of networking.
This viewpoint is based on the simple (and well-documented) observation that increasing the capabilities of a client computer does not always increase the efficiency of the user and, in fact, often reduces the efficiency of the user. The concept of Total Cost of Ownership (TCO) was a major buzzword a few years ago, and the principles of TCO are important to engineers and product designers. The philosophy of TCO holds that the most important consideration when weighing the cost of a workstation is not what you pay for the computer but the total cost of what you pay for the computer, the person who works on the computer, and the staff that keeps the computer operational.
According to a study by the Gartner Group, 46% of the cost of owning a corporate workstation is due to "non-billable end-user operations,"—in other words, to activities performed on the workstation that aren't directly related to the user's job. Some of these activities are related to the user troubleshooting or reconfiguring the workstation; some of this cost is related to the user operating nonproductive applications or simply browsing around inside the user interface. Twenty-one percent of the cost of owning a corporate workstation goes for technical support. Much of the technical support cost is spent on activities that could easily be automated. Interestingly, as many who have worked for an IT department will quickly point out, another significant part of the total technical support cost is the expense of paying a technical support professional to fix problems caused by users configuring their own workstations.
The result of this TCO movement is the strong feeling that computers would be more efficient if they were simpler. This might mean simpler hardware with fewer components and more seamless interactivity. It might also mean simpler software that updates itself and doesn't allow (or require) the user to stray from productive activities. The ultimate goal is a more logical user environment that simplifies administration and reduces the number of choices a user must make. The following sections examine some recent initiatives related to this goal. You'll learn about
Many commercial software packages are updated twice a year or more. One of the major costs of maintaining software is the expense of continually updating the software to keep it current. For a single user on a home PC, the price of running an update twice a year might not be significant, but picture a large corporation with 10,000 employees who all use the same word processing program. The total cost of keeping all versions of the program current is enormous.
Management programs have been available for several years to assist with the task of updating software on the network. These programs let the network administrator operate from a single console without having to walk around to every computer in the company. A common practice is to store the update software on a network server. The client computer then connects to the server through a script and executes the update over the network.
These update methods are useful, and they are more economical than having each user configure and execute the update individually. However, these methods still require effort and expense from the network administrator to set up and manage the update.
A newer, and even more painless approach, is to use Web technology to download the update directly from the application vendor (see Figure 23.5). The application automatically connects to the vendor's Web site at some predetermined interval to see if an update is available. If the current version at the Web site is newer than the version on the client computer, an update is performed automatically.
This periodic servicing might be a basic feature of the product, or it might result from a service agreement between the organization and the software vendor. Network admins can apply this same scenario to a corporate intranet setting, in which network personnel configure a local Web server to download updates to the client.
Several vendors currently provided Web-based updates for their software. This option is now available for operating systems, browsers, and several antivirus packages, as well as other popular applications.
Downloading the Workspace
Many users are traumatized by the unfamiliar. And even if a user doesn't mind new appearances, changes to the work environment can cause inefficiency as the user adapts to new features. Also, a user's personal workspace often contains labor-saving conveniences like shortcuts, saved links, bookmarks, and the user's preferred screen settings.
Vendors and engineers have done considerable work with the concept of the roving or movable workspace (see Figure 23.6). The idea is to make the user's files and personal preference settings available on the network so that the work environment appears the same to the user no matter where the user logs in. This increases the productivity of the user because the user doesn't have to react to changes in the user interface. It is possible that this feature could ultimately change the whole concept of a user workstation. Currently, the user workstation is typically considered the personal preserve of a single user. The user sets up the workstation to reflect the user's personal preferences and responsibilities. In the world of the downloadable workspace, individual computers would truly be interchangeable. The user would receive a personalized configuration no matter where the user logged in. This might make it easier for those who use their computers only part-time to share computers. It could also reduce management costs because all workstation configurations could be the same, and all user-specific settings could be stored in one central place.
Figure 23.6. A downloadable workspace provides the same environment no matter where the user logs on.
Versions of the downloadable workspace are currently available in some networking environments. The roving user profile on Windows networks is one implementation of this feature. Unix and Linux computers offer options for controlling the user environment through user configuration files. So far, the major OS vendors have not produced mainstream technologies that successfully deploy the concept of the downloadable workspace to the greater Internet. But the chat groups are full of ideas. One concept for how this technology could work on the Internet is for the user to log in to a Web site that would essentially provide a complete user interface. Another idea is for a complete Java-based work environment to download to a client at logon. You'll learn more about this idea in the next section.
A few years ago, it seemed that the world was ready for the age of a marvelous new creation called the network computer (NC). A network computer is a computer-like device with a very fast processor and no CD, hard drive, or floppy drive. When the user logs on from the network computer (see Figure 23.7), a complete Java-based operating system downloads to the network computer. If the user starts an application, a Java-based application downloads to the network computer—possibly with some server-based processing for certain tasks. The user could save any files to a well-protected and fault-tolerant storage device on the server or elsewhere on the network. When the user turns off the network computer, the complete configuration disappears from memory and returns when the user logs on again. In fact, another user could log on to the same network computer and receive a completely different configuration. The new user could even receive a completely different operating system. Meanwhile, the users' files are kept safe with the ISP. All software is managed, configured, and updated from the server. And the network computer is so simple that it isn't likely to break. If it does break, you just buy a new one because it is so inexpensive. In any case, you don't have to disassemble, reassemble, or configure the network computer because there is nothing to configure.
This amazing vision captivated market watchers when it was first proposed, but so far the revolution of the network computer hasn't happened. One reason why the network computer hasn't caught on is that hardware prices have fallen so sharply. You can now buy a complete computer for what a network computer cost a few years ago. Another reason might be that, although Java development is proceeding very rapidly, we haven't yet reached the point where a complete Java-based operating system is viable for the mainstream. However, the network computer is only one of several thin-client solutions that have made their way to the market. You'll learn about another thin-client option (the terminal client) in the next section.
To an earlier generation, the terminal was an important feature of the computing environment. A terminal was nothing more than the hardware component of the user interface—a place for users to read output from the computer and enter commands interactively.
Terminals evolved around the paradigm of centralized processing. A single computer capable of supporting multiple user sessions could be attached to several terminals. All processing would take place on the central computers, but several users could work concurrently on the system.
When the personal computer (PC) arrived on the scene, most observers concluded that the era of the terminal had come to an end. Although terminals were sometimes used in certain highly specialized situations (such as to track airline flights or hospital records), the majority of businesses gradually moved away from terminal-based systems. Most terminals could only process text, not graphics, and the centralized model concentrated resources on a single processor. If the central computer was down, no one could use the system. The decentralized PC model, on the other hand, distributed processing throughout the network and limited the effect of processor failure.
In recent years, however, the terminal has been making a comeback. The reasons for this reversal are many. One important consideration is cost; a terminal client costs less than a whole computer. Apart from the hardware expense, for reasons described earlier in this hour, the increased simplicity of a terminal reduces the cost because it reduces the number of things that can go wrong. Also, the centralized management of a terminal server system increases security, improves administration, and simplifies backup and fault tolerance.
Today's terminal clients don't look much like the VT100 terminals from several years ago. Modern terminal clients typically support a graphic user interface. In many cases, the terminal client is a complete computer capable of assembling graphic images and participating in a TCP/IP network. In fact, old computers that do not have the horsepower to operate efficiently are sometimes deployed as terminal clients. In the terminal client model (see Figure 23.8), the client does not have to be capable of running the application it is using. It only has to be capable of sending instructions from the server and receiving screen update information from the application.
Several dedicated terminal products are now available. Products such as Wyse's Winterm provide a low-cost terminal for connecting to Microsoft's server-side Terminal Server product or third-party terminal servers, such as Citrix WinFrame. Unix systems have always been terminal-ready. A new crop of X Window terminal products provide graphic terminal capability for terminal clients on Unix and Linux systems.