Control software for virtual-circuit switches: Call processing
The software architecture in this paper has evolved through a sequence of research projects at AT&T Bell Laboratories. We review the architecture and describe an experimental reimplementation.
Calls from each device attached to a virtual-circuit switch are managed by a software process, called a line process; the line process translates call requests from the device into a uniform device-independent internal protocol. Host computers and trunks can have numerous lines multiplexed over a single physical link. This process-per-line architecture leads to a profusion of specialized processes, most of them idle, with very simple contexts. Previous implementations used machinedependent code to manage the processes.
The experimental implementation does basic call processing and was completed largely by three people in three months. It is portable. The architecture was reused, but the code was not. The relatively small effort supports the belief that the architecture is suited to call processing and dispels the myth that the complexity of control software prevents limited experiments.
KeywordsSoftware Architecture Control Computer Data Path Asynchronous Transfer Mode Control Software
Unable to display preview. Download preview PDF.
- 1.Campbell, R.H., Russo, V., and Johnston, G. Choices: the design of a multiprocessor operating system. In Proc. USENIX C++ Workshop, 1987, pp. 109–123.Google Scholar
- 2.CCITT Draft Recommendation 1.361.Google Scholar
- 3.Cerf, V.G. and Kirstein, P.T. Issues in packet-network interconnection. Proc. IEEE 66, 11 (1978), 1386–1408.Google Scholar
- 4.Condon, J.H., Haley, C.B., McMahon, L.E., and Thompson, K. TPC: tiny phone company. 1978.Google Scholar
- 5.Fagen, M.D., Ed. A History of Engineering and Science in the Bell System: The Early Years (1875–1925). AT&T Bell Laboratories, Available from AT&T Technologies, Indianapolis (1-800-432-6600), 1975.Google Scholar
- 6.Fraser, A.G. Supervision of hosts and terminals. manuscript, 1982.Google Scholar
- 8.Fraser, A.G., Kalmanek, C.R., Kaplan, A.E., Marshall, W.T., and Restrick, R.C. Xunet 2: a nationwide testbed in high-speed networking. In INFOCOM, Florence, Italy, 1992.Google Scholar
- 10.Haley, C.B. A method for sharing process stacks in a telephone switch. September 15, 1978.Google Scholar
- 11.Jensen, E.D. ArchOS. In ACM SIGOPS Workshop on Operating Systems in Computer Networks, January 1985.Google Scholar
- 12.McMahon, L.E. An experimental software organization for a laboratory data switch. In ICC '81, IEEE Intl. Conference on Communications, Vol. 2, 1981, pp. 25.4.1–25.4.4.Google Scholar
- 13.McMahon, L.E. and Marshall, W.T. XUNET Programmer's Manual, Vol. I: Call Processing. April 1988.Google Scholar
- 14.Murakami, G.J. and Sethi, R. Parallelism as a structuring technique: call processing using the Eslerel language. In Proc. IFIP 92, Elsevier, Madrid, 1992.Google Scholar