Home > Articles > Programming

  • Print
  • + Share This
This chapter is from the book

1.2 The Global Communication Spaghetti Pot

The World Wide Web and all large-scale networks are constructed on well-understood network engineering principles, protocols, and conventions. They allow the ultimate flexibility in communication whereby any two computers have the potential to communicate with one another. This flexibility, or "openness," allows communication to take place, and information to flow, in patterns we do not understand.

Consider for a moment what happens when you visit a Web site today. Suppose you are the client in Figure 1.3 visiting a Web site, say, www.anymumble.com. You click on something on the Web site screen. You get a screen full of banner advertisements, blinking applets, links to other sites, and, maybe if you're lucky, the information you were looking for. Is all this stu' coming back at you from www.anymumble.com? Very unlikely. What you see on your computer screen may actually be coming from several di'erent places on the Internet, as Figure 1.3 shows. And the next time you visit www.anymumble.com, what you get may be coming from a totally different set of Web sites. In fact, what you get and where it comes from may depend upon who the anymumble site thinks you are and what you did the last time you visited it. That's communication flexibility for you!

Figure 1.3Figure 1.3 Communication spaghetti across the Interent.

Another simple example of communication flexibility is the now very common e-mail virus attachment. The "I Love You" virus in 2000 was a fine example. Released in the Phillippines as an attachment to e-mail, within a few days it wrought havoc in computer systems across the world, estimated in the billions of dollars. The virus even took down chunks of computers within the U.S. Department of Defense, supposedly protected from cyber attack behind communication firewalls. How did it travel so far so fast? Through the simple communication flexibility of forwarding e-mail across the Internet, together with the address book features in our mailer programs that let us do that easily.

Communication flexibility is one of the great powers of the Internet. We certainly don't want to restrict this flexibility in any way. On the positive side, it is enabling rapid growth in new kinds of business activities. One example is outsourcing, which enables a Web site that supplies services to subcontract with other Web sites to supply some of those services. When you go to a Web site that o'ers home mortgages, for example, it communicates with lenders over the Internet to get you the latest bids that fit your requirements. If you apply for a mortgage, it may outsource a credit check to a credit agency. All this happens in a second or two. Another example is automated trading Web sites, or "eMarketplaces" as they are called. These let many enterprises, buyers and suppliers of goods, communicate to complete multistep transactions in a matter of minutes. An automobile manufacturer can reduce inventory costs by tracking parts suppliers' inventories and prices, and placing orders "just in time" that are spread across several suppliers to reduce costs. eMarketplaces are connecting together and may eventually morph into the "global eCommerce Web." The flip side is that the communication flexibility of the Internet makes it di=cult to track the causes of events. Because events can come flying at us from anywhere on the Web, we often cannot figure out why they happened or what other events caused them. For example, when a trading transaction fails to complete, there is nothing to tell us why. Whenever we need to know the causes of a message, we have to resort to searching through very large, low-level, network log files and, often, lots of them. It is tedious, expensive, and very primitive. And often fails. We have no causal tracking that can tell us what events caused another event to happen. There is no technology that lets us detect when events at di'erent places—say, Web sites in New York and London—at di'erent times, have a common cause, or if complex patterns of events happening globally are repeating.

For example, at a sta' meeting of a large commercial Web site, the CEO might ask the IT manager, "There was an unusually high number of complaints from customers in the New York area about delays in getting pages on their screens—why?" A reply might be, "We think it was the XYZ advertisement server we outsourced to for those banner ads directed at the Northeast, but XYZ says their demand loads were light. And the ISPs aren't taking any blame either." Communication flexibility on the Internet has led to a very dynamic communication architecture in which the links between various computers are constantly changing. At any given moment in the life of any large IT network, we don't have a global view of who's communicating with whom, nor what is causing what, and we have to work very hard to find out. This is communication tra=c we do not understand.

What we have today is global communication spaghetti. We can't tell where it starts and where it ends, we can't unravel it, and most of the time we don't know how it happened.

The challenge is not to restrict communication flexibility, but to develop new technologies to understand it.

The technology of monitoring and managing events in IT systems has been completely overrun by the technology of communicating events. This is a global problem in search of new ideas on how to solve it.

1.2.1 Event Causality

A key to understanding events is knowing what caused them—and having that causal knowledge at the time the events happen. The ability to track event causality is an essential step toward managing communication spaghetti.

Events are flowing all the time through our Internet-based systems from one part of the world and causing events in another part of the world. For example, suppose I send you an e-mail message, say, M, and you reply with another message, say, N. Then my message, M, caused your message, N. This is so obviously important to my being able to understand your reply, which may come back days later when I have forgotten my M, that the "reply" feature of mailers usually attaches M inside of N.

Another example is pointing a browser at the www.anymumble.com location, which is an event. This event then causes all those applets and banner advertisements to appear on our screen—that is, lots of other events. This example is not so simple because there are a lot of intermediate events flowing between the anymumble Web site and other Web sites before we get the events on our screen. So tracking how we got the stu' on our screen is not so easy.

In examples like these, the causal relation between the events is sometimes called horizontal causality to emphasize that the causing and caused events happen on the same conceptual level in the overall system. In the e-mail example, N is an event caused by M, and both events happen at the level of using e-mail applications. So the causal connection is "horizontal"—that is, at the same level. Events can also be components of other events, in which case the component events are thought of as happening at a lower level. The component events of an event also cause that event. This kind of causal relation between events is called vertical causality, as described in the next section.

  • + Share This
  • 🔖 Save To Your Account