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 a 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 running within the year, and have been extending and improving it ever since.
In early 2002 Gerald Karam initiated a project to build voice-over-IP services for clients within AT&T. The members of the 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 prototype 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 advanced features, some of them very complex, in two months from the inception of the project. CallVantage became AT&T's first public voice-over-IP service, serving 100,000 customers world-wide. It won two industry awards citing its voice quality and advanced features. Since CallVantage, we have built, deployed, and maintained the teleconferencing service used internally by AT&T, which supports million of user minutes each work day.
DFC has been incorporated into the Java Community Process standard for SIP Servlet containers. The team continues to work on open-source tools for building SIP-based telecommunication services with DFC principles, in particular StratoSIP: SIP at a Very High Level.
The most recent and most relevant paper is "Modularity in Distributed Feature Composition" (Pamela Zave; Software Requirements and Design: The Work of Michael Jackson, Good Friends Publishing, ISBN 978-0-557-444670, 2010), which provides an overview of modularity and feature interaction in DFC. It also gives an evaluation, based on 12 years of experience and the deployment of two major telecommunication systems built with DFC. Because managing feature interactions is one of the primary goals of DFC, almost all of the papers on Feature Interaction are written in the context of DFC or are inspired by DFC.
"Distributed feature composition: A virtual architecture for telecommunications services" (Michael Jackson and Pamela Zave; IEEE Transactions on Software Engineering XXIV(10):831-847, October 1998) is the original paper on DFC.
"An open architecture for next-generation telecommunication services" (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) is a detailed account of BoxOS, our first 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.
"Experience with component-based development of a telecommunication service" (Gregory W. Bond, Eric Cheung, Healfdene H. Goguen, Karrie J. Hanson, Don Henderson, Gerald M. Karam, K. Hal Purdy, Thomas M. Smith, and Pamela Zave; 8th International SIGSOFT Symposium on Component-Based Software Engineering, LNCS 3489, 2005) reports on our experience with using DFC to specify, build, and deploy the advanced features of AT&T CallVantage(SM) voice-over-IP service 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, pages 46-66, January/February 2009). 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" (Pamela Zave and Michael Jackson; AT&T Technical Report, updated as needed) 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.
"Ideal connection paths in DFC" (Pamela Zave; AT&T Technical Report, 2003) defines and explains the latest version of the DFC routing algorithm, and proves many valuable properties of it.
"A call abstraction for component coordination" (Pamela Zave and Michael Jackson; 29th International Colloquium on Automata, Languages, and Programming: Workshop on Formal Methods and Component Interaction, University of Malaga, Malaga, Spain, June 2002) describes programming abstractions for Boxtalk, a proposed domain-specific language for programming DFC feature boxes.
"Distributed media control for multimedia communication services" (Eric Cheung, Michael Jackson, and Pamela Zave; IEEE International Conference on Communications: Symposium on Multimedia and VoIP Services and Technologies, IEEE Communications Society, 2002) describes an important media optimization used in the BoxOS implementation of DFC. "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" (Pamela Zave; Calculational System Design--Proceedings of the 19th International NATO Summer School, IOS Press, 1999) is concerned with defining DFC formally, using a multiparadigm composition of Promela and Z.
"`Calls considered harmful' and other observations: A tutorial on telephony" (Pamela Zave; Services and Visualization: Towards User-Friendly Design, LNCS 1385, 1998) explains some of the thinking that led up to the invention of DFC.