Some implementations of active networks (AN) exist (for example, see www.cccc.com), but no standards projects are currently associated with them. The area of the application of AN is larger than ensuring QoS, but AN is viewed with much interest in the research and development communities as a possible means of ensuring and supporting QoS.
As Calvert et al. (1998) observe, AN means different things to different people. In a sense, this is true, although everyone seems to agree that, in a nutshell, AN is about programmability of network elements (for example, routers) and—to an extent—bypassing, if not totally eliminating, standardized protocols, replacing them with dynamic, created-on-the-fly protocols. Marcus et al. (1998) lament that “existing protocols do not operate well for emerging applications or take advantage of novel network technologies,” citing “IP’s inability to capitalize on sub-networks which offer quality of service . . . guarantees.” While one could argue with this particular example, there is a point in the complaint. It is indisputable, however, as the authors further note, that “Forming a consensus within large groups is a slow process, and is likely to remain slow; therefore, protocol standards will continue to evolve at a slow pace.” The question, of course, is whether this pace is sufficient for the market development, and only the future will bring the answer. The idea behind AN is quite similar to (if not influenced by) the idea that resulted in the creation of Java. The language [Hypertext Markup Language (HTML)] and the protocol [Hypertext Transfer Protocol (HTTP)] that made possible the Internet killer application—the World Wide Web—do not support rapid interaction of the user with the page. Such interaction has been made possible by the invention of the principle by which a program (applet) written in Java is sent to the user’s personal computer (PC) or Internet appliance and then interpreted locally (by a Java interpreter). The user actually sees no difference (unless a silly message on a screen proudly announces that a Java program is being executed). The user simply clicks on an object, and HTTP carries the Java code to the user’s machine. Now, AN proposes pretty much the same mechanism, except that the active code is to be carried not in the application protocol message but in a network layer packet, and this code is to be executed not (or, in general, not only) at the host, but by the network elements themselves. Although many questions can be asked (most cannot yet be answered) regarding the security issues involved with this approach and its exact applications, it is relatively straightforward to see how in principle the QoS-related state of a router can be changed with unprecedented efficiency, and how the network-wide services could potentially be implemented. A specific and somewhat less futuristic application of AN to network management is described in Raz and Shavitt (1999).
The overall architecture for AN is being developed in the Defense Advanced Research Projects Agency (DARPA), the same organization that sponsored the development of what has now become the Internet. Several universities (notably Berkeley University, Columbia University, Georgia Tech, MIT, the University of Arizona, the University of Kansas, the University of Pennsylvania, and Washington University—by no means an exhaustive list), as well as the research facilities of major corporations, have AN projects.
There are two things on which the AN community agrees: (1) Networks must be service independent and (2) end-to-end service programs must be network independent. Do these sound like early IN principles? Exactly! After all, the more things change, the more they stay the same.
No comments:
Post a Comment