Advertisement

Are Client-Servers Serving Clients?

Share
Steve G. Steinberg (steve@wired.com) is an editor at Wired magazine

It’s a truism that the structure of a corporation is mirrored by the organization of the computer system that supports it. Find a company with a rigidly hierarchical management structure, and you’ll find the flow of information between their computers tracing out the same structure. That’s why dramatic changes in a corporation are often foreshadowed by equally dramatic changes in the architecture of corporate computer systems. And today this pattern is more visible than ever.

Just as the old centralized-mainframe solutions of the 1970s no longer made sense in the flattened business world of 1980s, there are now signs that today’s so-called client-server computer systems are breaking down. What’s emerging now is a far-less structured system. Instead of master-slave relationships, where information flows mostly in one direction, the computer systems of tomorrow will act as peers--as both information providers and consumers. It’s the difference between a company split into bosses and workers, and a company made up of many semiautonomous entrepreneurs.

To understand where we’re going, it’s important to remember where corporate computing has come from. The business computer systems of the mid-1970s resembled medieval monarchies. At the center was a giant mainframe computer, tended by high priests in white coats and rarely seen by most of those who used it. People would connect to the mainframe using one of a few dozen “dumb terminals,” which did little more than relaying instructions to the mainframe and display the mainframe’s reply.

Advertisement

This scheme, like monarchy in general, has a number of advantages over more democratic schemes. Most importantly, it is far easier to maintain and operate a single large computer than it is to support many small PCs. And it keeps the computer out of users’ prying hands: System administrators don’t have to worry about coffee being spilled into a machine’s innards, or rogues who install non-standard software. A single centralized computer also makes it easy for many people to share resources.

But individual users rebelled against this model. They were sick of waiting for the mainframe to answer other people’s questions before answering theirs. They wanted their own computers. When the PC emerged in the early 1980s, rank-and-file managers snatched them up while corporate information systems departments watched in horror.

What eventually emerged--and the model that’s still with us today--is a compromise between the monarchy of the mainframe and the anarchy of the PC. Called client-server, the model allows users to keep their own computers (the clients), but it centralizes certain sharable resources onto specialized machines (the servers). For example, rather than keep copies of popular files on everyone’s machines, they are stored on a designated file server.

The key difference between the client-server and the mainframe models is that clients are full-blown computers. But this raises a critical question for any client-server application: How do you split it up? Should the server do some of the processing? Or should the server just provide the data and the client do all the work? Split it in the wrong place and you end up with overloaded servers or clients that drown on their incoming data.

Indeed, client-server has proven so difficult to do right that many companies still use an ad hoc combination of centralized computing (for old accounting and database systems) and PCs (for word processing and small spreadsheets). And even those companies that have successfully switched to client-server voice complaints. Michael Kennedy, an associate director at Arthur D. Little Inc. in Cambridge, Mass., estimates that client-server systems are 20% to 30% more expensive to support than a centralized system. And recent studies show a dramatic slowdown in the adoption of client-server systems.

The fundamental problem is that client-server doesn’t successfully mirror the structures and processes of today’s businesses. In the real world, most problems can’t be neatly divided into clients that receive information and servers that supply it. Instead, most people and business units both provide information and subscribe to information. They are both clients and servers. Reflecting this multiplicity is the challenge of the next generation of corporate computing.

Advertisement

The earliest examples of a new computing model are beginning to emerge on Wall Street. John R. Rymer, an analyst with the Patricia Seybold Group, points out that “in a brokerage application you have people offering commodities at given prices, and people wanting to buy at a certain prices. Instead of well-structured and predictable transactions, you have completely unpredictable negotiations. So a very structured client-server module doesn’t work.”

Increasingly, this is the way all businesses are being restructured. Rymer points to Texaco’s natural gas division as an example. “In the past, Texaco would supply gas to a stable set of customers at a fixed price,” he says. “Now it works on a market system, with customers making offers, and Texaco determining which of its suppliers to match with which bids.”

This requires a complex, distributed computer system, in order to allow the divisions of Texaco scattered across the world to communicate. And each system must be able to provide data, as well as request it.

Building these systems is hard, but not impossible. Many of the same tools are used as in building client-server systems, except now the same computer may run both client and server parts of the software. Even further in the future, analysts believe that these peer-to-peer systems will be implemented using intelligent agents--small pieces of software set out by users to travel from computer to computer in search of information.

None of this will be easy. Rymer notes it “will require software that can simulate human processes, from transaction to negotiation to interaction.” In short, it’s going to require our computers to not only be structured like our businesses, but to think like them.

Advertisement