- Shopping Bag ( 0 items )
This definitive compendium of design patterns in communication software, gathered together by Linda Rising, includes contributions by James O. Coplien, Douglas C. Schmidt, Robert Hanmer, Greg Utas, Just van den Broecke, Don Olson, Carlos O'Ryan, Christopher D. Gill, and other experts from the patterns field. Engineers and other professionals working in the field of communications software development will find this unique reference extremely useful.
Telephony has even more acronyms than computing, because we've had 50 more years to come up with them.
Telephone pioneer to young turk, 1981
Since Alexander Graham Bell made the first phone call, the telecommunications industry has been constantly striving to produce a more reliable and feature-rich telecommunications network. As evi- dence of their success, telephone service is something we all take pretty much for granted. Even when disaster strikes, such as the big San Francisco earthquake of 1989, the phone system continues to work when all other utilities are knocked out.
Being a well-established industry, the telecommunications industry has a rich set of patterns that are used to solve commonly occurring problems. It is through the use of these patterns that the highly stringent requirements of the network are met. Many of these patterns are visible to the operators of the telecom network, while others are only visible to those building the equipment from which the telecom network is assembled. This chapter focuses on the use of design patterns, as exemplified in the book Design Patterns1, in the architecture and construction of the telephone network and its elements.
As the network evolved, steppers were replaced by electromechanical logic boards, and ultimately by stored-program-controlled switching mechanisms. As the capabilities of the switches improved, it was possible to upgrade the signaling, first with the addition of multifrequency tones and later with digital messaging. Originally, only digits representing the called party were signaled. Using tones instead of pulses decreased the time required to communicate the information about the desired call, thus allowing more information to be sent, such as call type and billing indicators. Later, information about the calling party was added to the protocols. A key factor driving the richness of the signaling protocols was the desire to support features across the network.
After the basic call, the first significant networked feature was Inward gyre Area Telephone Service (INWATS). This service, now called 800, Tollfree, or Freephone, necessitated the signaling of the whereabouts of the calling party relative to the final destination of the call to give the terminating switching office enough information to generate the appropriate billing records. The details of the protocols (using fancy called-number manipulation) are beyond the scope of this article; suffice it to say that this was truly a case of trying to make a single call "object" appear simultaneously in several telephone switches.
1. Fault-tolerant telecommunication system patterns; 2. Using design patterns to build a framework for multimedia networking; 3. A generative pattern language for distributed processing; 4. Bodyguard; 5. Patterns for logging diagnostic messages; 6. Pattern: half-object + protocol; 7. A pattern language for improving the capacity of reactive systems; 8. A pocket-sized broker; 9. A family of design patterns for application-level gateways; 10. A pattern language of feature interaction; 11. Managing change with patterns; 12. Design patterns in telecommunication systems; 13. Applying patterns to develop extensible ORB middleware; 14. Open Web Server: an adaptive Web server using software patterns; 15. A pattern language of call processing; 16. The design and performance of a pluggable protocols framework for object request broker middleware; 17. Object Lifetime Manager - a complementary pattern for controlling object creation and destruction; 18. A family of design patterns for flexibly configuring network services in distributed systems; 19. Abstract session, an object structural pattern; 20. An input and output pattern language; 21. Lessons from telecommunications.