Distributed Feature Composition (DFC) is a virtual architecture for specification and implementation of telecommunication services. It was designed in response to the feature-interaction problem in telecommunication systems, and has the following specific goals:
DFC is the creation of Michael Jackson and Pamela Zave, whose collaboration began in 1990, and whose interest in the feature-interaction problem dates back to 1982. They conceived the idea in December 1996, spent 1997 developing the telephony version of DFC, and spent 1998 exploring early applications and analysis.
In early 1999 Chris Ramming initiated the Building Box project to build, evaluate, and exploit an IP implementation of DFC. The charter members of the project were Greg Bond, Eric Cheung, Michael Jackson, Hal Purdy, Chris Ramming, and Pamela Zave. We had a first version of BoxOS running within the year, and have been extending and improving it ever since.
In early 2002 Gerald Karam initiated the V+Plus project to build voice-over-IP services for clients within AT&T. The V+Plus platform integrates BoxOS with a database and tools for building Web services. The core members of the V+Plus project were Greg Bond, Eric Cheung, Healfdene Goguen, Karrie Hanson, Don Henderson, Gerald Karam, Hal Purdy, Tom Smith, and Pamela Zave. We built a variety of services, some of which were demonstrated at the Spring 2003 and Spring 2004 VON (Voice Over the Net) meetings.
For an initial customer trial of the AT&T CallVantage (SM) voice-over-IP service, we delivered eleven new features, some of them very complex, in two months from the inception of the project. V+Plus application servers provided the advanced features for CallVantage, which has won two industry awards citing its voice quality and advanced features.
We are now converting our DFC implementation to a version that runs inside vendor-supplied SIP Servlet containers. This work has many aspects and phases, as described under SIP-Based Technology for Compositional Services.
"Distributed feature composition: A virtual architecture for telecommunications services" is the original paper on DFC (Michael Jackson and Pamela Zave; IEEE Transactions on Software Engineering XXIV(10):831-847, October 1998).
"An open architecture for next-generation telecommunication services" is a detailed account of BoxOS, our IP implementation of DFC. It has a good short overview of DFC, a summary of how feature interactions are managed with DFC, and extensive comparisons to other work (Gregory W. Bond, Eric Cheung, K. Hal Purdy, Pamela Zave, and J. Christopher Ramming; ACM Transactions on Internet Technology IV(1):83-123, February 2004).
"Experience with component-based development of a telecommunication service" reports on our experience with using DFC to specify, build, and deploy the advanced features of AT&T CallVantage(SM) voice-over-IP service (V+Plus team; Proceedings of the Eighth International SIGSOFT Symposium on Component-Based Software Engineering, Springer-Verlag LNCS 3489, pages 298-305, 2005). Here is the talk given at the symposium.
To implement DFC in IP-based networks, it is necessary to solve the challenging problem of compositional media control. This problem is explained and solved in "Compositional control of IP media" (Pamela Zave and Eric Cheung; IEEE Transactions on Software Engineering, to appear, 2008). Here is a talk on the subject. This solution supersedes the implementation technique in "Distributed media control for multimedia communication services" (see below).
"The DFC Manual" documents the current version of DFC. It differs from the original version of DFC in having mobile addresses, multimedia transmission, and reverse routing, as well as many other smaller improvements (Pamela Zave and Michael Jackson; AT&T Technical Report, updated as needed).
"Ideal connection paths in DFC" defines and explains the latest version of the DFC routing algorithm, and proves many valuable properties of it (Pamela Zave; AT&T Technical Report, 2003).
"A call abstraction for component coordination" describes programming abstractions for Boxtalk, a proposed domain-specific language for programming DFC feature boxes (Pamela Zave and Michael Jackson; in Proceedings of the 29th International Colloquium on Automata, Languages, and Programming: Workshop on Formal Methods and Component Interaction, University of Malaga, Malaga, Spain, June 2002).
"Distributed media control for multimedia communication services" describes an important media optimization used in the BoxOS implementation of DFC (Eric Cheung, Michael Jackson, and Pamela Zave; in Proceedings of the 2002 IEEE International Conference on Communications: Symposium on Multimedia and VoIP Services and Technologies, IEEE Communications Society, 2001). "Media implementation in ECLIPSE I: Principles of signaling/media separation" gives more detail on the subject (Pamela Zave, Michael Jackson, and Eric Cheung; AT&T Technical Report, 2000).
"Formal description of telecommunication services in Promela and Z" is concerned with defining DFC formally, using a multiparadigm composition of Promela and Z (Pamela Zave; in Manfred Broy and Ralf Steinbruggen, editors, Calculational System Design (Proceedings of the Nineteenth International NATO Summer School), pages 395-420, IOS Press, 1999; Postscript).
"`Calls considered harmful' and other observations: A tutorial on telephony" explains some of the thinking that led up to the invention of DFC (Pamela Zave; in Tiziana Margaria et al., editors, Services and Visualization: Towards User-Friendly Design, Lecture Notes in Computer Science 1385, Springer-Verlag, 1998, pages 8-27).