GB1566801A - Automatic telecommunication exchanges - Google Patents
Automatic telecommunication exchanges Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q3/00—Selecting arrangements
- H04Q3/42—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker
- H04Q3/54—Circuit arrangements for indirect selecting controlled by common circuits, e.g. register controller, marker in which the logic circuitry controlling the exchange is centralised
- H04Q3/545—Circuit 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/54508—Configuration, initialisation
- H04Q3/54533—Configuration 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)
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.
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)
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 |
-
1977
- 1977-04-07 GB GB1632976A patent/GB1566801A/en not_active Expired
Cited By (2)
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 |