Portable Call Agent: A model for rapid development and emulation of network services

The Portable Call Agent (PCA) is a tool that enables rapid development and emulation of network services. In deployment since 1994, PCA has proven its utility in several applications including Lucent Technologies' internal procurement card processing system, as well as multiprotocol Voice over...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Bell Labs technical journal 2008, Vol.12 (4), p.159-172
Hauptverfasser: Viswanathan, Ramesh, Wood, Thomas L.
Format: Artikel
Sprache:eng
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:The Portable Call Agent (PCA) is a tool that enables rapid development and emulation of network services. In deployment since 1994, PCA has proven its utility in several applications including Lucent Technologies' internal procurement card processing system, as well as multiprotocol Voice over Internet Protocol (VoIP) call control in a softswitch emulator currently being used in the Alcatel-Lucent AnyMedia® platform for demonstrations and feature and load testing. While PCA provides a general and flexible solution to the development of such diverse services, the resulting implementations have proven to be highly efficient and portable; additionally, services developed in PCA are dynamically extensible and reconfigurable. The technical core of PCA is based on a novel language for specifying services as "call flow graphs" which are executed by a "call flow engine." In this paper, we present a formal model that distills the theoretical underpinnings of call flow graphs. Our model is formulated as a labeled transition graph in which high-level programming constructs are ascribed to transitions. These richer transitions enable more sophisticated data state maintenance, and dynamic patterns of thread creation and communication. The model smoothly unifies a number of computational paradigms that have remained separate so far. First, it can express both the asynchronous characteristics of interactive systems as well as the synchronous characteristics of reactive systems. Second, the dataflow is explicitly delineated along message sends and receipts, thus assimilating the spirit of dataflow languages. The combination of asynchronous and synchronous features, as well as an explicit structure on the control and data flow, seem to correspond well with the way network services are typically specified.
ISSN:1089-7089
1538-7305
DOI:10.1002/bltj.20273