The role of software in
Telecommunications
Table of contents
1Introduction
2Initial employment of IT in TLC
3Increase in the demand of new services: the Intelligent Network
4Evolution of the computers towards TLC
4.1Integration of IT communication in the telephone switches
4.2The birth of the data networks
5Convergence between voice and data networks
5.1The "New Generation Network" architecture
5.2The Application Layer
5.3The IMS architecture
6Management systems
7Software development process in the TLC manufacturer companies
1Introduction
What follows is a short overview of how software has entered the Telecommunication world, gaining more and more importance as the technological improvement of the networks pushed towards a convergence between TLC and IT, up to assuming the largely predominant role in the development of any device, node, system of the Telecommunication networks.
It is an attempt to make a historical outline of how this phenomenon has gradually developed through the years, by means of a few examples for which some TLC systems and network architectures have been considered particularly significative, on the basis of my personal experience. Of course they are just a few examples, and this doesn't claim to be an exhaustive overview.Also, they are just mentioned with the scope of giving a perception of the importance of software in their realization and not with the claim of providing a real description of them, which is well beyond the scope of this document.
2Initial employment of IT in TLC
Up to few decades ago the telecommunication networks, and in particular the switching ones, didn't take information technology into account, neither as development technique, nor in terms of making computers communicate with each other:
- the switching networks, both public and private, were required to provide the voice services only, since the computers were used to working only as stand-alone machines and didn't need any communication service;
- information technology was not employed in the design of the network elements: the telephone switches didn't need great flexibility, since the services required by the users were limited.The development of the telephone switches was hardware based; in fact, at the very beginning, they were realized in electromechanical technique (relays) and their features were based on automatisms rigidly defined during the design phase.
As Information Technology developed, it began to enter the Telecommunication world as the basis upon which the main organs of the network elements (mainly the telephone switches, both public and private) were designed, when the enormous benefits that the employment of SW could bring to their development became evident, like, for example:
- it enormously extended the capabilities of the switches, both in terms of performance and service complexity;
- it allowed for simpler, cheaper and quicker service extension, both in terms of addition of new services and of upgrade of the existing ones, without any modifications to the hardware design, thus speeding up and simplifying the productive process;
- it made the error and malfunction correction process quicker and simpler;
- it extended the flexibility of the network elements, for example by allowing for an easier customization, a better adaptability to different network contexts, an easier parameter configurability, etc.;
- it allowed for the implementation of more effective redundancy techniques (e.g. micro synchronous duplication) thus increasing the system reliability;
- ...
The process of acquisition of information technology within the telecommunication world experiences a further significative thrustwith the diffusion of the microprocessors' technology: at the beginning the main organs of the network elements started to be designed as computers that each company used to developby itself, based on discreet logic (both the CPU and the I/O devices were realized with the employment of the integrated circuits and the discrete logic that semiconductor manufacturers were making available in those years); later, as microprocessors began spreading out, hardware and software development became quicker, easier, the computer boards became much more powerful.
Of course this caused dramatic changesboth in the manufacturers and in the telecom operators, since the know how required by the R&D labs, and in general by all the technical departments, moved towards the computer world, even if the characteristics of such types of computers were deeply different from those of the commercial ones.
The availability of more and more powerful and cheap microprocessors led to their employment for the realization of the majority of the functional blocks of the network elements, including the peripheral organs, and the and the network nodes (in particular the telephone switches) became a complex ensemble of cooperating microprocessors.Languages, real time operating systems, finite state software structures (based on SDL: functional Specification and Description Language: a symbolic language defined by ITU in order to specify and describe the behavior of the TLC systems), development and debugging systems, as well as I/O devices expressly realized for being employed in the telecommunications world started to spread out.
3Increase in the demand of new services: the Intelligent Network
The adoption of Information Technology in the Telecommunication world grew even more extensive when the services requested by the users started to become more and more complex andaffected also the general architectureof the network.Some new services were too complexto be effectively realized within each switch, or needed access to data that were common to the whole network. Therefore,to provide those special services,the network architectures started to include specialized computers and Data Bases, centralized at the network level. The most typical example is the "Intelligent Network" (IN).
Fig.1 - Intelligent Network architecture
IN is a clear example of how the great flexibility provided by software has been decisive in making possible the provision of services otherwise much more complex or even too complex to be realized. Besides the common telephone services directly provided by the switches, additional "Intelligent" services were provided by the Service Control Point (SCP), a functional block centralized at the network level, which hosted the Service logic and accessed user data and account information stored in the Service Data Point (SDP). Every time a user invoked one of the "Intelligent" services, the "Service Switching Point" (SSP: an IN function hosted by the originating switch), after detecting that it was an IN service, triggered the SCP. Depending on the implemented service logic and the user and account information stored in SDP, the SCP node would replay with indications on how the service should be exploited.
In this architecture, adding a new service in the network only requires acting at the SCP and the SDP level through dedicated software applications (SCE: Service Creation Environment) that allow for easy, quick, flexible and user friendly implementation of the service logic and data, while the only information required by each individual switch is just that related to the presence of the new service in order to make the SSP function able to trigger SCP every time a user invokes it.
Televoting, Number Portability, Green Number, Reverse Charging, VPN, Calling card, Personal Number, Universal Number, Call distribution (location and/or time based, proportional, etc.) are a few examples of IN services. In the figure below an example of call flow involving access to SCP/SDP for the "green number" service is reported.
Fig.2 - Example of IN call flow: Green Number service
4Evolution of the computers towards TLC
Meanwhile also the computer world started evolving towardsTelecommunications: the computers, initially acting as stand-alone machines, started showing more and more the need to open towards the external world and to communicate with other equipment through the telecommunication networks (e.g. to allow remote terminals to access a host or other resources, or a given terminal equipment to access different hosts, to allow for resourcesconcentration, such as printers, in centralized pools to be shared by all the users of the same organization, to let users access centralized Data Bases, to perform file transfer between computers, etc.). As Personal Computers spread, of course, all of that underwent a strong, further thrust, given the enormous diffusion of services requiring access to the communication functions (one example for all: the electronic mail service).
The consequence was e big effort that developed in two directions, initially antithetic:
1)The integration in the telephone switches of features providing communication capabilities also to IT equipment, besides the voice ones;
2)The birth of the data networks: LAN, IBM SNA, geographical packet networks (e.g.Itapac), etc.
4.1Integration of IT communication in the telephone switches
This was realized through the adoption of devices, the "Terminal Adaptors" (TAs), that interfaced the data equipment on one side and the telephone switch on the other.TAs managed the signaling protocols with the switch in the same way as the traditional telephone sets in order to establish the communication link between the data devices at the two endpoints.After the link was set up, they provided for "rate adaption" between the data flows at the IT device interfaces and the bearer channel in order to allow for reliable data transfer between the two endpoints.
Protocol converters were also available as pools of resources to cope with protocol differences between the communicating devices. Access to the external networks (e.g. the public packet ones) was realized through the development of centralized interfaces, e.g.
- Modem pools to communicate through the external telephone network
- PAD (Packet Assembler Disassembler) to access external packet networks
- SNA emulators to access the IBM SNA networks
- …
The ISDN standards were defined with the goal of providing voice and data services through one network interface enabling both voice and data equipment to access the communication services in the same way. ISDN was an example of the push towards the integration among different types of service within a unique switching device,even though the accessed services were still quite distinct: on a per call basis either a voice or a data communication service was invoked.
Above all they were the PABXs, more than the public exchanges, that gave the strongest thrust towards this convergence and the unification of the procedures to access the services; the reason for this is that in the private context users were much more demanding and the request for TLC services was much bigger: PABX services had to support the working activities in the companiesand such advanced services as, for example, videoconferencing, were, at the beginning, typically requested only in the private market.
About the employment of the microprocessor's technology in the design of the switching equipment, as mentioned in chapter 1, perhaps it may by worthy mentioninghowthe realization of the interfaces with the IT devices represented a particular case of software development. Real time management requirements were very strong and dedicated operating systems were used, performing a limited set of features, but optimized for concurrent processes management. Software was typically written in low level languages to optimize the execution time and the memory use: for example in the equipment developed in Telettra a structured macroassembler was adopted, i.e. an assembler language enriched with the possibility to define macros and especially with primitives that allowed for writing software in a structured way and that were converted into assembler instructions by the compiler.
Software structures oriented to the management of finite state machines (e.g. SDL) were frequently adopted for protocol management: protocols can be typically described as finite state machines where in each state only a defined set of events is allowed (e.g. reception of a frame or of an errored one, reception of a flow control message, a time-out elapsing, etc.) and the action consequent to an event depends on the state (e.g. received frame acceptance or not depending on whether the receiving edge was in an active flow control status or in a free one)
The wide spread of the level 2 and 3 communication protocols (e.g. LAPB, SDLC SNA, LAPD ISDN, X.25 Packet level, DMI mode 2 e 3) that were to be managed by microprocessor boards, induced the integrated circuit manufacturers to produce chips dedicated to autonomously handling the low level functions of the protocols. In the consequent software architecture, the main CPU could therefore be relieved of those low level functions (those that presented the most pressing requirements in terms of execution time, such as bit stuffing/de-stuffing, frame start / end detection, length detection, redundancy code check, etc.) thus attending only to such functions as processing the protocol formalisms (e.g. sequence numbering, flow control management, retransmission requests, timeout processing, etc.), managing the buffer queues, etc.
DMA was often used as well for buffers management in conjunction with the transmitting/receiving devices. In this case, for example in reception, the CPU had only to provide the initial address of the receiving buffer and the DMA provided to read every byte from the protocol handling device, and to write it into the reception buffer (and vice versa in the transmitting process). But there were also very powerful devices, based on microcomputers much more powerful than the main processor of the equipment, that were able to autonomously handle the complete formalism of the level 2 (data link) protocol, letting the main CPU cope only with higher layer protocols.
To conclude this short overview on the data communication features provided by the telephone switching networks, in particular by the PABXs, it should be noted that such systems were all circuit switching based and, consequently, also data communication was accomplished through the circuit switching technique.
However, since packet switching was in the meantime gaining more and more success in the data communication field (as mentioned in next paragraph) some implementations for allowing data equipment to communicate in this way even in the PABX world were done. In particular within the Telettra'sTAU-SDN system a "Frame switching/Frame Relaying" technique was adopted by means of the realization of a "Frame Handler" (FH), a centralized resource to which the IT devices requesting to communicate in this mode gained access through the TAU-SDN circuit switched internal network, allowing for setting up virtual circuits using the same outband ISDN signaling protocols with the Telephone Processors as for all the other call types.
To access the Frame Handler the Terminal Adaptors had to use DMI mode 3, instead of mode 2, as internal protocol. [1] Actually the TAU-SDN TAs were able to switch from one method to the other depending on the required type of connection.
4.2The birth of the data networks
As computers opened towards communication abig acceleration occurred in the definition process of the communication standards in the computer world, both in the local premises (the Local Area Networks, with the definition of standards like CSMA/CD, Token Bus, Token Ring, LLC protocol, etc.) and in the geographical networks with packet switching (in both the connection oriented, or virtual circuit, and the connectionless, or datagram, versions) prevailing over circuit switching and with the success of X.25.Later, the definition of the seven layer ISO-OSI model represented the apex of this process.
Under the implementation point of view, the ISO-OSI model represents a significative example of the highly predominant role gained by software in the development of the communication features, and of how software absorbed a significant part of the development costs of the entire communication projects.
Naturally, the characteristics of the communication software in the nodes of the network and in the endpoint computers were deeply different, and required different skills: in general in the network equipment, where only the three lowest layers of the model were used, the needs for processing speed and real time process management were predominant, while in the network endpoints, hosting the whole stack,prevailed the needfor the communication packages to be integrated in the software environment of the host computers, based on higher level operating systems and languages.The realization of the whole OSI stack required highly specialist skill that only a few IT companies possessed, so its development was normally left to specialized software companies which, after agreeing with the customers all the details in terms of protocol configurations, communicating applications, operating systems configuration, computer environment, etc. provided for the development and delivery of the protocol stack, including its integration with the host environment and the complete exploitation of the tests, and even periodicalsoftware updates (through maintenance contracts) as the international protocol specifications evolved.
In the meanwhile, the continuous technological development allowed for more and more power, fast and cheap network nodes, and the consequent evolution of the networks and protocols brought to the definition of more efficient standards (Frame Switching, Frame Relaying, ATM, ...) and the final replacement of X.25 with the more efficient connectionless Internet Protocol (IP) at the Network Level and,in the endpoints, the abandonment of the OSI stack in favor of the Transport TCP/UDP protocols with the Application Layer directly above them.