GB1566801A - Automatic telecommunication exchanges - Google Patents

Automatic telecommunication exchanges Download PDF

Info

Publication number
GB1566801A
GB1566801A GB1632976A GB1632976A GB1566801A GB 1566801 A GB1566801 A GB 1566801A GB 1632976 A GB1632976 A GB 1632976A GB 1632976 A GB1632976 A GB 1632976A GB 1566801 A GB1566801 A GB 1566801A
Authority
GB
United Kingdom
Prior art keywords
programme
operations
buffer
buffer store
peripheral device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired
Application number
GB1632976A
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
STC PLC
Original Assignee
Standard Telephone and Cables PLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Standard Telephone and Cables PLC filed Critical Standard Telephone and Cables PLC
Priority to GB1632976A priority Critical patent/GB1566801A/en
Publication of GB1566801A publication Critical patent/GB1566801A/en
Expired legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q3/00Selecting arrangements
    • H04Q3/42Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
    • H04Q3/54Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
    • H04Q3/545Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised using a stored programme
    • H04Q3/54508Configuration, initialisation
    • H04Q3/54533Configuration data, translation, passwords, databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Exchange Systems With Centralized Control (AREA)

Description

(54) IMPROVEMENTS IN OR RELATING TO AUTOMATIC TELECOMMUNICATION EXCHANGES (71) We, STANDARD TELEPHONES AND CABLES LIMITED, a British Company, of 190, Strand, London, W.C.2., England, do hereby declare the invention, for which we pray that a patent may be granted to us, and the method by which it is to be performed, to be particularly described in and by the following statement: This invention relates to a data processing system of the type which performs real-time processing sequences in response to stimuli received from peripheral devices.
It is usual in such systems to have to perform a number of tasks each of which involves a number of data processing operations simultaneously as "seen" by the peripheral devices.
In fact "simultaneous" is a misnomer since the processor which is usually used is a serial machine which can only perform one operation at a time. The appearance of simultaneity is achieved by performing the processing operations associated with a stimulus due to an external event from one peripheral device very quickly, suspending operations in respect of that device, responding to a stimulus from another device, and so on. Such processing systems may be used in processor-controlled telephone exchanges and telegraph exchanges, and also in certain industrial process control systems.
An object of the present invention is to produce such a system in which efficiency and economy are enhanced.
According to the present invention there is provided a data processing system which executes real-time sequences of processing operations in response to requests for service from any one of a number of peripheral devices, in which the processing sequences occur in a time-interleaved manner so that sequences of operations for a number of said devices appear to those devices to occur simultaneously, in which the programmes used to execute the sequences of operations are broken down into sections with each said section allocated a state number appropriate to the peripheral device state to which that section relates, in which storage means is provided for a table of all of the said state numbers each with the address of an appropriate one of said programme sections, in which buffer stores are provided each of which is associated with at least one of the peripheral devices, a said buffer store being taken into use for a said peripheral device when a processing sequence is to be executed therefor, in which when the occurrence of an event at one of said peripheral devices is detected that device is identified and its one of said buffer stores is selected, in which in response to the combination of said detection of an event and to the selection of the buffer store for the peripheral device at which the event was detected a said state number is read from that buffer store, in which the said state number identifies the section of the programme to be used to cause the execution of the section of the programme to be performed next, in which the state number thus obtained is applied to the said table to cause the extraction from said table of the address appropriate to the section of the programme to be used next, which address is read from said table and causes the execution of the operation or operations appropriate to the event whose occurrence at said peripheral device was detected, and in which the execution of said operation or operations causes the computation of a new state number which is stored in the said buffer store in place of the state number read therefrom.
The buffer association may be permanent, i.e. each peripheral device has associated with it one or more of the buffer stores, or it may be temporary. In the latter case when a peripheral device initiates a sequence of operations, a buffer selector selects a free buffer store, which is then allocated for as long as it is needed for the duration of the transaction to which the sequence of operation relates. This allocation is indicated in known manner, e.g. by storing in the buffer store the identity of the "calling" peripheral device, and if necessary any other devices which may be involved in the transaction.
These stored identities are, of course, deleted when the sequence of operations has been concluded and the peripheral device has reverted to its rest condition.
Although, as indicated the invention is not so limited it will be described as applied to the control of call-setting in an automatic telephone exchange, in which case the peripheral devices are subscriber's lines, and trunks incoming to and outgoing from the exchange.
Each of the buffer stores is an area of a memory in which the details of the line or trunk to which that buffer store belongs are stored, these details, in the case of a subscriber's line including that subscriber's class of service. Also recorded in a buffer store is information as to the current state of the line.
The events which occur at a subscriber's line are each indicated by a change of electrical state thereat, e.g. the line is looped or the loop is broken, the significance of that event depending on the time or place in the history of a call at which the event occurs. When such an event occurs, its detection, usually in the course of a line scan, causes the calling device to be identified, the buffer store associated with that device is found, and processing commences (in the case of a newly-initiated call) or is resumed at the appropriate point in the programme.
For each external device - line or trunk there is a handling programme which is shared with a number of other devices. Thus the same handling programme could be used for all regular subscriber's lines, with different handling programmes for PBX groups or trunks.
Each such handling programme is broken down into a number of sections and each of these sections is allocated a state number which indicates the peripheral device state to which the number corresponds.
Initially the state number in a line's buffer store is one which indicates line quiescent. When an event occurs, the handling programme is entered at a point determined by the state number. When this state number is determined a table of states stored in the processor is consulted and the address of the section of the programme to be used is obtained. This section is then read out, the processing appropriate to that event is effected, and dependent on that event and the line's previous history a new state number is computed and stored. The handling programme is then left and a return made to some other programme - e.g. a scheduling programme or a line-scanning programme. The next event that occurs at the same peripheral device causes the handling programme to be resumed at the point determined by the new state number, and so on.
For every device there is a finite number of states, with some states shared between devices of different types which may have at least part of their handling programme in common. The programme sections which are used in a telephone exchange for normal call setting include: (a) Connect calling line to a register and send back a dial tone in response to call initiations.
(b) Detect the dialled information: this will involve detecting line breaks, and timing the duration of those breaks and of the makes to assemble the wanted number in the register.
This could involve several programme sections some of which, e.g. the timing function, will be used several times.
(c) Examine the wanted number to determine the type of call: call to another local subscriber, call to remote exchange, etc.
(d) Complete connection in the manner indicated by (c).
(e) Apply ringing to the wanted subscriber's line and ringing tone to the calling subscriber's line.
(f) Respond to the wanted subscriber offhooking to complete the connection for speech and to remove ringing and ringing tone.
The completed connection is monitored to cater for metering, and detect when one of the subscribers on-hooks. When this occurs the connection is broken down, and the state number for the subscriber who initiated the call is reset to its quiescent state.
When a subscriber is called his state number is suitably adjusted to his new condition, with a necessary resetting thereof when the call ends.
This concept of breaking the programme into sections, each corresponding to one of the states, has several advantages: (a) it leads to a logical analysis of the problems to which the programme relates.
(b) it leads to "modular" software with well-defined boundaries and helps to ensure that no external event combinations are left out of consideration.
(c) it simplifies programme debugging since the modular nature of the software facilitates the identification of the part of the programme at which an error has occurred.
To summarize the functioning of a system embodying the invention in a generalized form, when an external event occurs, the following steps occur: (i) Find the buffer store associated with the device at which the event occurred. The device identity is usually associated with the message indicating the event - e.g. the time at which a line scanner finds a line off-hook, and it is necessary to scan the buffers to match identities.
(ii) From the buffer the state number for the transaction is obtained.
(iii) From the state number and the table of states compute the address at which the programme should be entered or resumed.
(iv) Jump to, or call as a sub-routine, the appropriate section of programme.
(v) Execute the processing operations in the light of the external event and of the data stored in the buffer store.
(vi) Compute the value of the new state and store it in the buffer store, with any additional information which needs to be stored.
(vii) Jump back to the sequencing or scanning programme which is in use when a handling programme is not in use.
It is desirable, but not essential, to disable external interrupts between steps (i) and (vii) above, as this can lead to some simplification of the programme's structure.
Note that although the buffer allocation has been described with special reference to the buffer being allocated to a peripheral device it could, in the case of a telephone exchange, be allocated to a specific call.
WHAT WE CLAIM IS: 1. A data processing system which executes real-time sequences of processing operations in response to requests for service from any one of a number of peripheral devices, in which the processing sequences occur in time-interleaved manner so that sequences of operations for a number of said devices appear to those devices to occur simultaneously, in which the programmes used to execute the sequences of operations are broken down into sections with each said section allocated a state number appropriate to the peripheral device state to which that section relates, in which storage means is provided for a table of all of the said state numbers each with the address of an appropriate one of said programme sections, in which buffer stores are provided each of which is associated with at least one of the peripheral devices, a said buffer store being taken into use for a said peripheral device when a processing sequence is to be executed therefor, in which when the occurrence of an event at one of said peripheral devices is detected that device is identified and its one of said buffer stores is selected, in which in response to the combination of said detection of an event and to the selection of the buffer store for the peripheral device at which the event was detected a said state number is read from that buffer store, in which the said state number identifies the section of the programme to be used to cause the execution of the section of the programme to be performed next, in which the state number thus obtained is applied to the said table to cause the extraction from said table of the address appropriate to the section of the programme to be used next, which address is read from said table and causes the execution of the operation or operations appropriate to the event whose occurrence at said peripheral device was detected, and in which the execution of said operation or operations causes the computation of a new state number which is stored in the said buffer store in place of the state number read therefrom.
2. A system as claimed in Claim 1, in which the buffer stores are less in number than the user circuits, in which when a sequence of processing operations is to be performed in respect of one of said peripheral devices a free buffer store is chosen for that device if one is available, in which when a said buffer store has been chosen the identity of the peripheral device for which it has been chosen is recorded in it, and in which if no free buffer store exists a busy indication is given to the peripheral device.
3. A system as claimed in Claim 1, and in which each said buffer store is permanently allocated to one of said peripheral devices.
4. A system as claimed in Claim 1,2 or 3, and in which the system also includes programmes not specifically intended for the control of said sequences of operations, e.g. a scanning programme which tests the peripheral devices successively in search of such a device for which a sequence of operations is to be commenced.
5. A data processing system substantially as described in the above specification.
6. An automatic telecommunication exchange in which call setting and release are controlled by a data processing system as claimed in any one of the preceding claims, the said peripheral devices including subscribers' lines and trunks outgoing to remote exchanges.
**WARNING** end of DESC field may overlap start of CLMS **.

Claims (6)

**WARNING** start of CLMS field may overlap end of DESC **. transaction is obtained. (iii) From the state number and the table of states compute the address at which the programme should be entered or resumed. (iv) Jump to, or call as a sub-routine, the appropriate section of programme. (v) Execute the processing operations in the light of the external event and of the data stored in the buffer store. (vi) Compute the value of the new state and store it in the buffer store, with any additional information which needs to be stored. (vii) Jump back to the sequencing or scanning programme which is in use when a handling programme is not in use. It is desirable, but not essential, to disable external interrupts between steps (i) and (vii) above, as this can lead to some simplification of the programme's structure. Note that although the buffer allocation has been described with special reference to the buffer being allocated to a peripheral device it could, in the case of a telephone exchange, be allocated to a specific call. WHAT WE CLAIM IS:
1. A data processing system which executes real-time sequences of processing operations in response to requests for service from any one of a number of peripheral devices, in which the processing sequences occur in time-interleaved manner so that sequences of operations for a number of said devices appear to those devices to occur simultaneously, in which the programmes used to execute the sequences of operations are broken down into sections with each said section allocated a state number appropriate to the peripheral device state to which that section relates, in which storage means is provided for a table of all of the said state numbers each with the address of an appropriate one of said programme sections, in which buffer stores are provided each of which is associated with at least one of the peripheral devices, a said buffer store being taken into use for a said peripheral device when a processing sequence is to be executed therefor, in which when the occurrence of an event at one of said peripheral devices is detected that device is identified and its one of said buffer stores is selected, in which in response to the combination of said detection of an event and to the selection of the buffer store for the peripheral device at which the event was detected a said state number is read from that buffer store, in which the said state number identifies the section of the programme to be used to cause the execution of the section of the programme to be performed next, in which the state number thus obtained is applied to the said table to cause the extraction from said table of the address appropriate to the section of the programme to be used next, which address is read from said table and causes the execution of the operation or operations appropriate to the event whose occurrence at said peripheral device was detected, and in which the execution of said operation or operations causes the computation of a new state number which is stored in the said buffer store in place of the state number read therefrom.
2. A system as claimed in Claim 1, in which the buffer stores are less in number than the user circuits, in which when a sequence of processing operations is to be performed in respect of one of said peripheral devices a free buffer store is chosen for that device if one is available, in which when a said buffer store has been chosen the identity of the peripheral device for which it has been chosen is recorded in it, and in which if no free buffer store exists a busy indication is given to the peripheral device.
3. A system as claimed in Claim 1, and in which each said buffer store is permanently allocated to one of said peripheral devices.
4. A system as claimed in Claim 1,2 or 3, and in which the system also includes programmes not specifically intended for the control of said sequences of operations, e.g. a scanning programme which tests the peripheral devices successively in search of such a device for which a sequence of operations is to be commenced.
5. A data processing system substantially as described in the above specification.
6. An automatic telecommunication exchange in which call setting and release are controlled by a data processing system as claimed in any one of the preceding claims, the said peripheral devices including subscribers' lines and trunks outgoing to remote exchanges.
GB1632976A 1977-04-07 1977-04-07 Automatic telecommunication exchanges Expired GB1566801A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB1632976A GB1566801A (en) 1977-04-07 1977-04-07 Automatic telecommunication exchanges

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1632976A GB1566801A (en) 1977-04-07 1977-04-07 Automatic telecommunication exchanges

Publications (1)

Publication Number Publication Date
GB1566801A true GB1566801A (en) 1980-05-08

Family

ID=10075331

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1632976A Expired GB1566801A (en) 1977-04-07 1977-04-07 Automatic telecommunication exchanges

Country Status (1)

Country Link
GB (1) GB1566801A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0161030A1 (en) * 1984-05-07 1985-11-13 Koninklijke Philips Electronics N.V. Method and a device for controlling a dataprocessing system
EP0342720A1 (en) * 1988-03-21 1989-11-23 Koninklijke Philips Electronics N.V. Method of controlling in a quasi-parallel mode a plurality of peripheral units from a single control unit and a system for implementing this method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0161030A1 (en) * 1984-05-07 1985-11-13 Koninklijke Philips Electronics N.V. Method and a device for controlling a dataprocessing system
EP0342720A1 (en) * 1988-03-21 1989-11-23 Koninklijke Philips Electronics N.V. Method of controlling in a quasi-parallel mode a plurality of peripheral units from a single control unit and a system for implementing this method

Similar Documents

Publication Publication Date Title
US5479495A (en) Method and system for automatically accessing and invoking switch-based services in an advanced intelligent network
US4567323A (en) Method and apparatus for providing a plurality of special services
US5187740A (en) Method and apparatus for telephone call reorigination
JPS5832815B2 (en) telephone call processing equipment
EP0509705A2 (en) Processing interactions among telecommunications call features
US3854013A (en) Call forwarding arrangement
WO1981002823A1 (en) Automatic calling methods and apparatus
US4486626A (en) Method of and system for limiting access to a group of telephone trunks
CA1204488A (en) Method and apparatus for identifying faulty communications circuits
US4079210A (en) Ringing and testing control circuitry for communication systems
WO1998007262A1 (en) Switched network call progress protocol analyzer
WO1998007262A9 (en) Switched network call progress protocol analyzer
GB1566801A (en) Automatic telecommunication exchanges
US4899374A (en) Method for a program-controlled telephone switching system in which performance features relating to the setup of a call connection can be initiated from a subscriber station
JPH09298762A (en) Signal recognition device using prosody table
CA2073361C (en) Subscriber control device
US3521001A (en) Malicious call holding and tracing circuit
US3319008A (en) Time-slot reservation for trunk calls in pbx telephone systems
JP2565105B2 (en) Automatic call back method
US2816170A (en) Connector circuit party ringing selection
JPS60200669A (en) Group camp-on controlling system
JPS625796A (en) Monitor control system for stored program control switching system
JPH0241094A (en) Line acquisition system
JPH08214351A (en) Method for providing direct inward dialling service
GB1020121A (en) Improvements in or relating to time-division multiplex communication systems

Legal Events

Date Code Title Description
PS Patent sealed
746 Register noted 'licences of right' (sect. 46/1977)
PCNP Patent ceased through non-payment of renewal fee