Stored program control

From Wikipedia, the free encyclopedia
  (Redirected from Stored program control exchange)
Jump to: navigation, search

Stored program control (SPC) is a telecommunications technology used for telephone exchanges controlled by a computer program stored in the memory of the switching system. SPC was the enabling technology of electronic switching systems (ESS) developed in the Bell System in the 1950s.

Early exchanges such as Strowger, panel, rotary, and crossbar switches were constructed purely from electromechanical switching components with analog control electronics, and had no computer software control. Stored program control was invented by Bell Labs scientist Erna Schneider Hoover in 1954 who reasoned that computer software could control the connection of telephone calls.[1][2][3]

SPC was introduced in electronic switching systems in the 1960s. The 101ESS PBX was a transitional switching system in the Bell System to provide expanded services to business customers that were otherwise still served by an electromechanical central office switch, while the Western Electric 1ESS switch and the AXE telephone exchange by Ericsson were large-scale systems in the public switched telephone network. SPC enabled sophisticated calling features. As SPC exchanges evolved, reliability and versatility increased. The addition of time-division multiplexing (TDM) decreased subsystem sizes and dramatically increased the capacity of the telephone network. By the 1980s, SPC technology dominated the telecommunications industry.


The principle feature of stored program control is one or multiple digital processing units (stored-program computers) that execute a set of computer instructions (program) stored in the memory of the system by which telephone connections are established, maintained, and terminated in associated electronic circuitry.

An immediate consequence of stored program control is full-scale automation of exchange functions and introduction of a variety of new telephony features to users.

A telephone exchange must run continuously without interruption at all times. This means the exchange must be tolerant to faults. Attempts to introduce electronics and computers in the control sub system of an exchange were encouraging enough to spur the development of full- fledged electronic system, in which switching network is also electronic, and the world’s first electronic switching system, known as No.1 ESS, was commissioned by AT&T at Succasunna, New Jersey, in May 1965. SPC systems grew rapidly. In the 1980s SPC displaced electromechanical switching in the telecommunication industry, hence the term lost all except historical interest. Today SPC is a standard feature in all electronic exchanges.

The attempts to replace the electromechanical switching matrices by semiconductor cross print were not immediately successful, particularly in large exchanges. As a result many space division electromechanical switching systems used electromechanical switching networks with SPC. Nonetheless, private automatic branch exchanges (PABX) and smaller exchanges do use electronic switching devices. The two types of space division electronic switching systems are using electromechanical switching network and the other using electronic switching network. The second type is fully electronic.


Stored program control implementations may be organized into centralized and distributed approaches. Early electronic switching systems (ESS) developed in the 1960s and 1970s almost invariably used centralized control. Although many present day exchange design continue to use centralized SPC, with advent of low cost powerful microprocessors and VLSI chips such as programmable logic array (PLA) and programmable logic controllers (PLC), distributed SPC became widespread by the early 21st century.

Centralized control[edit]

In centralized control, all the control equipment is replaced by single processor which must quite powerful. It must be able to process 10 to 100 calls per second, depending on the load to the system. This configuration may use more than one processor. The exchange resources and memory module containing the programs for carrying out various control functions may be shared by processor, or each has dedicated access path to exchange resources.

Two processor-configurations are commonplace. Dual processor architecture may be configured to operate in one of these modes:

  • Standby mode
  • Synchronous duplex mode
  • Load sharing mode

Standby mode[edit]

Standby mode of operation is the simplest of dual processor configuration operations. Normally one processor is on standby, both hardware and software wise. The standby processor is brought online only when the active processor fails. An important requirement of this configuration is ability of standby processor to reconstitute the state of exchange system when it takes over the control; means to determine which of the subscriber or trunks are busy or free etc.

In small exchanges, this may be possible by scanning the status signals as soon as the standby processor is brought into action. In such a case only the calls which are being established at the time of failure are disturbed. In large exchanges it is not possible to scan all the status signals within a significant time. Here the active processor copies the status of system periodically into secondary storage. When switchover occurs the recent status from the secondary memory is loaded. In this case only the calls which change status between last update and failure are affected. The shared secondary storage need not to be duplicated and simple unit level redundancy would suffice. 1ESS switch was a prominent example.

Synchronous duplex mode[edit]

In synchronous duplex mode of operation hardware coupling is provided between two processors which execute same set of instructions and compare the results continuously. If mismatch occurs then the faulty processor is identified and taken out of service within a few milliseconds. When system is operating normally, the two processors have same data in memories at all times and simultaneously receive information from exchange environment. One of the processor actually controls the exchange, but other is synchronized with the former but does not participate in the exchange control. If a fault is detected by the comparator the processors are decoupled and a check-out program is run independently to find faulty processor. This process runs without disturbing the call processing which is suspended temporarily. When one processor is taken out then the other processor operates independently. When the faulty processor is repaired and brought in service then memory contents of the active processor are copied into its memory and the two are synchronized and comparator is enabled.

It is possible that a comparator fault occurs only due to transient failure which is not shown even when check out program is run. In such case three possibilities exists:

  • Continue with both processors
  • Take out the active processor and continue with the other.
  • Continue with active processor but remove other processor from service.

Scheme 1 is based on the assumption that the fault is transient one and may not appear again. In scheme 2 and 3 the processor taken out is subjected to extensive testing to identify a marginal failure in these cases.

Load-sharing mode[edit]

In load-sharing operation, an incoming call is assigned randomly or in a predetermined order to one of the processors which then handles the call right through completion. Thus, both the processors are active simultaneously and share the load and the resources dynamically. Both the processors have access to the entire exchange environment which is sensed as well as controlled by these processors. Since the calls are handled independently by the processors, they have separate memories for storing temporary call data. Although programs and semi permanent data can be shared, they are kept in separate memories for redundancy purposes.

There is an inter processor link through which the processors exchange information needed for mutual coordination and verifying the 'state of health’ of the other. If the exchange of information fails, one of the processors which detect the same takes over the entire load including the calls that are already set up by the failing processor. However, the calls that were being established by the failing processor are usually lost. Sharing of resources calls for an exclusion mechanism so that both the processors do not seek the same resource at the same time. The mechanism may be implemented in software or hardware or both. Figure shows a hardware exclusion device which, when set by one of the processors, prohibits access to a particular resource by the other processor until it is reset by the first processor.

Distributed control[edit]

Distributed SPC is both more available and more reliable than centralized SPC.[4]

  • Vertical decomposition:
    Whole exchange is divided into several blocks and a processor is assigned to each block.This processor perform all the task related to that specific blocks.Therefore the total control system consists of several control units coupled together.For redundancy purpose processor may be duplicated in each blocks.
  • Horizontal Decomposition:
    In this type of decomposition each processor performs only one or some exchange function.

See also[edit]


  1. ^ Alpha Doggs (February 15, 2008). "Phone switching pioneers to be inducted in National Inventors Hall of Fame". Network World. Retrieved 2012-06-17. 
  2. ^ "Erna Schneider Hoover". 2012-06-17. Retrieved 2012-06-17. 
  3. ^ "Erna Schneider Hoover". Global History Network of IEEE. 2012. Retrieved 2012-06-17. 
  4. ^ [1] T Wiswanathan