Click here for PDF or ASCII text.
Computer systems today benefit from the shared resource management, coordinated control, abstraction, and protection enforcement of operating systems (OS). A corresponding system for communications, a "communicating system" (CS), is needed to allow distributed systems to take advantage of the emerging capabilities of peer and virtual networks without reimplementing them inside each application. Like an OS, a CS would consist of an architecture, an API, and an implementation of the underlying services that support them.
Many of the preliminary pieces already exist to enable us to conceive of a CS concept. Transport connections and messages correspond to processes and threads, and virtual networks extend the Internet and correspond to virtual memory [1]. Support for multinetworking - akin to multiprocessing - is being developed [2]. Although there are APIs for deploying virtual nets, they lack the uniformity of the sockets API for conventional communication.
The virtual communications model and its supporting management systems are lacking the CS equivalent of the BSD reference implementation and APIs. Like BSD, a CS reference system design would require a multifaceted approach, developing the variety of network resource management and coordinated control components which need to be integrated these with existing capabilities for virtual networking, virtual hosts, and virtual routers [3].
Specific
challenges are based on the networking equivalent of OS capabilities.
Although some
of these issues have been defined or explored as instances in existing work, a
general system for providing this capability, a "CS", has yet to be
developed. Just as in
It is as
challenging to describe the potential impact of such a CS, as it would have
been to describe that of
[1] Touch, J., Wang, Y., Eggert, L., Finn, G., "Virtual Internet Architecture," Future Developments of Network Architectures (FDNA) at Sigcomm, August 2003. Available as ISI-TR-2003-570.
[2] Marko
Zec, "Implementing Clonable Network Stacks in the FreeBSD Kernel," USENIX
Annual Technical Conference (FreeNIX),
[3] Kamp, P., Watson, R., "Jails: Confining the omnipotent root," Proc. 2nd International System Administration and Networking Conf. (SANE), May 2000.
[4] Tennenhouse, D., et al., "A Survey of Active Network Research," IEEE Comm. Mag., Jan. 1997, pp. 80-86.