Method and a device for controlling a dataprocessing system

Abstract: In data-processing systems, such as a public or a private telephone system, a data network or a computer com­ munication network it is often necessary to simultaneously establish a purality of connections, maintaining or interrupt­ ing the same between terminals connected to the system. Apart from these communication control functions a plural­ ity of further functions have to be carried out, such as data managements, system protection and maintenance. All these functions are regarded as processes (P) which are worked in common with other processes in parallel by the system. In order to avoid duplication of processing means and to restrict the complicity driving is carried out that at the beginning of the data procession in the central control (CM) a process (P) is created which will carry out a function demanded, for example, by a terminal (T). Inside this process (P) one or more partitions (PRT) are created for carrying out a partial function of the demanded function, whilst to each partition is allotted a local memory space (MEM), which can only be used by the partition concerned, whilst between the partition associated with the same process an information channel (MCH) is created. By arranging in one process interrelated or to be interrelated system partitions (in particular terminals), an effective and economic data proces­ sing can be obtained.

Description: The invention relates to a method and a device for controlling a data-processing system in accordance with the preambles of claims 1 and 2 respectively. Data-processing systems are found in many forms, for example, data networks and so on. Characteristics of all these systems are that a connection has to be built up, maintained and disrupted between terminals connected to the system. A terminal may be a telephone set, a data unit, a visual display unit and so on. In order to precise the problems which may occur in such systems, they will be set out in detail with reference to a telephone system. A telephone system, particularly viewed from the side of its user, deals with calls i.e. building up, maintaining and disrupting connections between the terminals of the systems. Any call can be regarded as a process and because a plurality of calls can occur simultaneously in the system, several processes are simultaneously carried out in parallel form. In principle the processes can be worked in the central control in two ways (see, for example, M.T. Hills and S. Kano, Programming electronic switching systems, P. Peregrinus Ltd. Sevennage, Eng., in particular, Paragraph 2.2-2.4). The first way of working is based on the accomplishment of the calls as a whole. Because a call involves a number of terminals, each of which may be in a number of states, a system based on processing individual calls is complicated by duplication (in some cases multi-duplication) of processing means. In the many different states of a terminal the same function may be demanded, for example, numbers may be expected in the "off hook" state and also in the consultation state. In both cases these functions require independent means (coding) giving rise to extra memory space and to an extra source of errors. In the second way of processing the system is based on terminal-wise processing in which the terminal processing forming part of the same call are interrelated in some manner. The drawback of this manner of processing is that, because the terminal processes are dealt with in parallel, more than one terminal process are worked in one and the same process, which increases the complexity. (for example, by "crossing messages"). A method according to the preamble is described in "Rechnergesteurte Vermittlungssysteme" by P.R. Gerke, Springer Verlag Berlin-Heidelberg-New York 1972, in particular § 9.2 - 9.5. Herein the partitions of a process are executed sequentially. Control is transferred from one partition to another in a cyclical scheme. Control transfer to another partition is only possible upon completion of the current partition. This method is not suitable for all situations. The invention has for its object to provide a method and a device for controlling a data-processing system in which complexity is restricted and "crossing messages" are avoided. According to the invention a method and a device are provided having the characteristic features of claims 1 and 2 respectively. The invention and its advantages will be described more fully hereinafter with reference to a drawing showing in Fig. 1 a block diagram of a telephone system, Fig. 2 a block diagram of a peripheral module for use in a system as shown in Fig. 1, Fig. 3 a way of carrying out the method embodying the invention, Fig. 4 a block diagram illustrating the creation of an additional partition in accordance with the invention and Fig. 5 a diagram of states of a partition inside a process in accordance with the invention. A data-processing system comprises in general a plurality of terminals connected to a central control. Examples of such systems are: a telephone system, a data-communication system (for example telex), a computer network, and so on. In principle, the invention can be applied to anyone of such systems. By way of example, the invention will be described with reference to the application thereof to a private telephone system. The invention is, however, in no way limited thereto. Fig. 1 shows three interconnected telephone systems UNT₁, UNT₂ and UNT₃. Each system comprises a plurality of peripheral modules PM₁, ..., PM n , connected to a central switching network CSM. The central control CM of the telephone system is coupled with the central switching network CSM for controlling the same and the peripheral modules. The telephone systems UNT₁, UNT₂ and UNT₃ are interconnected by communication connections CL₁, CL₂, CL₃. The present invention can be applied to the telephone system shown in Fig. 1, but also to systems including more telephone systems or fewer telephone systems and in particular the invention can be applied to a single telephone system. The peripheral module PM shown in Fig. 2 comprises a switching network SM and a processor PC connected thereto. The peripheral module furthermore comprises a plurality of terminals T₂, ..., T n connected - for example through a concentrator CTR - to the switching network SM. The output side of the switching network is connected through a connection LL to the central switching network CSM. It is noted that the terminals may be connected in a different way, for example, directly to the central control CM (Fig. 1). The peripheral processor PC has a number of tasks such as the recognition of external stimuli (for example, picking up the receiver from a set), the "translation" of the external stimuli into internal stimuli (information for the central control and vice versa), the control of the switching network and the tone control . In a telephone system a plurality of functions have to be performed such as call control, data management, system assurance and operational maintenance. All these functions may be considered to be processes worked in parallel with other processes by the system. It is not only necessary to perform several functions in parallel, but some functions have to be accomplished several times (for example, it may be necessary to simultaneously work more than one call). To each part is given a number (PIV number) which enables unambiguous identification of the part 1. All processes having the same functions are built up in the same way. Only the data with which they work are different (for example, number analysis, or number of specific subscriber respectively). A process is defined to be in a stable state when it does not perform work and when no stimuli are offered to the process. When a stimulus is offered, the process carries out the actions it can perform out of the stable state it occupied. After the performance of the actions the process returns into the stable state, which may possibly be different from the stable state it occupied before. The whole sequence of actions from stable state to stable state is termed a transition. One of the actions during a transition may be waiting for a stimulus, for example, the reaction to a generated stimulus. Such a situation seems to be a stable state because the process does not carry out any work; the process only waits for a stimulus. The difference from a stable state is, therefore, that in the waiting time the transition is not yet rounded off. With reference to the example shown in Fig. 3 the method will be set out further for the call control process. In the rest phase (Fig. 3a) the terminals T₁, .... T n are, so to say, coupled with the process P₀. This process thus controls all terminals in the rest phase. When at the terminal T, the receiver is lifted from the cradle, this external stimulus is converted by the processor PC (Fig. 1) of the module with which the terminal T₁ is associated into an internal stimulus (information) and after the reception of this stimulus a new process P₁ is created (Fig. 3b). The terminals T₂, ..., T n continue forming part of the process P₀. In the process P₁ a partition PRT₁ is created. In addition to the partition PRT₁ is allotted a local memory space MEM₁, which can only be used by partition PRT₁. The partition PRT₁ and the associated memory space MEM₁ then form the individualized part of the central control CM (Fig. 1 ) added to the terminal T₁. Stimuli from or to terminal T₁ are worked or given off by partition PRT₁ or MEM₁. When a next stimulus shows that a call with a further terminal (T₂) is desired, a second partition PRT₂ (Fig. 3c) is formed inside the process and also obtains a local memory space MEM₂. At the same time terminal T₂ is removed from process P₀. The partition PRT₂ constitutes the part of the central control CM (Fig. 1 ) added to terminal T₂. Stimuli from or to terminal T₂ are worked or given off by PRT₂/MEM₂. Between the two partitions of the process an information channel MCH is created. Consequently in this system the stimuli are not directed to the process but also to one of its partitions (only if the process has only one partition, this difference is unimportant). As stated above, a partition is normally in the stable state. Only after it is reached by a stimulus is a transition started, during which a number of actions are carried and which stops in a (new) stable state. Only one partition associated with a process can be in a transition. When a stimulus is received by a partition of a process, all partitions of which were stable, all further partitions are blocked until the partition receiving the stimulus is again in a stable state. In this manner items of information (stimuli) are prevented from crossing themselves. Table 1 shows which situations can occur with respect to the partitions PRT₁ and PRT₂, in the process and the attainability for stimuli emanating from the partitions. An exception to the rule that only one partition may be in transition, can be made when, during the performance of a stimulus by a partition, the partition has to wait for a stimulus, for example, because a reaction is awaited to a "demand" of the partition. In such a case it can be imagined that the partition informs the operating system of the central control, and that the waiting time could be used for any stimulus for one of the other partitions associated with a different process. In the call phase (Fig. 3d) the partitions PRT₁ and PRT₂ and the associated memory spaces MEM₁ and MEM₂ are combined because stimuli in this phase can only relate to the call as a whole. Duplication of functions is thus avoided. If, however, during the call phase one of the subscribers wants a consultation, such an action leads to the creation of a new partition for the terminal T₃ i.e. the terminal which is consulted. Stimuli (items of information) are exchanged between partitions, passed from terminals to partitions and from partitions to terminals under the control of the operating system. To each stimulus (information) some priority can be allotted so that, for example, a higher-priority information is worked earlier by the operating system than a lower-priority information. The partitions inside one process communicate with one another through the information channel in which, as stated above, crossing items of information are excluded. An information from one partition of a process to the other will, therefore, only be worked after the first partition has become stable. At the end of the call the process is eliminated and the terminals concerned are set back into the rest phase (Fig. 3a). As stated above, one or more partitions can be created in a process and be designed for carrying out a partial function. Fig. 4 illustrates the creation of one additional partition. Fig. 4a shows the starting position. The process P comprises a process control block PCB containing the data specific to the process. For example, there are data about the partitions forming parts of the process, giving the identification (PIV number). Furthermore the process comprises a partition control block PACB indicated hierarchically arranged under the process control block. In this block are stored the partition specific data, for example, the state of the partition (stable, waiting, running), data about the further partitions of the process and about neighbouring partitions and so on. The blocks CB₁ and CB₂ indicate finally the memory space reserved for the partitions (in this example two parts) and attainable only by the partition concerned, the memory space containing the application data. Fig. 4b shows the state after a new, independent partition PACB′ is created inside the process P. This is done by creating a new partition control block PACB′ and the allotment of one of the control blocks to said partition. In this example the block CB₂ is allotted to partition PACB′. Because this partition is the only one of partition control block PACB′ it is (also) indicated by CB₁′. In creating a new partition there is also specified the state in which the new partition will be. Between the independent partitions PACB and PACB′ is furthermore created an information channel A for the communication between the two partitions. The elimination of a partition and the combination of two partitions into one are carried out in the manner opposite to that described above for creating an extra partition. Fig. 5 shows the state diagram of a partition. From the rest position ST₀ the partition can be brought into the state ST₁, a blocked state, from which state ST₁ it can again come into the stable state ST₀. On the other side the partition can be brought from the rest position ST₀ into the "running" state ST₂, when a stimulus is worked, whilst after this working it can get back into the stable state ST₀. During the "running" state ST₂ the partition may require given information from a further partition inside or out of the process and may have to wait for the demanded information. In this case the process is brought from the state ("running") ST₂ into the state waiting ST₃. After the reception of the information concerned the partition is brought back into the "running" state ST₂ and continues working. As stated above, only one partition inside a process can be in state ST₂ or state ST₃. All other partitions are then in state ST₁.

Claims: A method for controlling a data-processing system comprising a plurality of terminals connected to a central control, wherein, at the beginning of the data-processing, in the central control a process is created which will carry out the function demanded by a terminal, the method comprising the following steps: (1) within said process one or more partitions are created for carrying out a part of the demanded function, whilst an information channel is created between the partitions associated with the same process; (2) a stimulus for the process, i.e. item of information, is applied to that partition which is designed for processing said stimulus; (3) during processing of the stimulus of step 2 stimuli, i.e. items of information, can be sent from the processing partition to the remainder of the system; (4) in the absence of any stimulus all partitions of a process are accessible by stimuli; characterized in that the method further comprises the following steps (5) to each partition a local memory space is allotted, which can only be used by the partition concerned; (6) during processing of the stimulus of step 2 stimuli, i.e. items of information, can be exchanged between the processing partition and the further partitions associated with the same process and/or can be received by the processing partition from the remainder of the system, all further partitions which may form part of the process being blocked for stimuli other than those mentioned in this step until the processing of the stimulus of step 2 has finished; (7) the partition of step 2 can be brought into a waiting state, before the processing of the stimulus of step 2 has finished, when this partition has to wait for a stimulus coming from another partition in reaction on a stimulus sent by the partition of step 2 to said another partition; (8) during the waiting state of a partition stimuli can be applied to one of the other partitions belonging to a different process. A device for controlling a data-processing system comprising a plurality of terminals (T₁ ... T n ) connected to a central control (CM) and means for creating a process (P) in the central control (CM) at the beginning of a data process (P) for carrying out the function demanded by a terminal, the device comprising: means for creating one or more partitions (PRT) within the process for carrying out a part of the demanded function; an information channel (MCH) between the partitions associated with the same process; means for applying a stimulus to that partition of a process which is designed for processing said stimulus; means for sending stimuli from the processing partitions to the remainder of the system, during the processing of said stimulus; means for making all partitions of a process accessible by stimuli, in the absence of any stimulus; characterized in that the device further comprises: local memory space (MEM) allotted to each partition and exclusively utilisable by said partition; means for exchanging stimuli between the processing partition and the further partitions associated with same process, during the processing of said stimulus; means for receiving stimuli from the remainder of the system by the processing partition, during the processing of said stimulus; means for blocking all further partitions forming the process during processing of the stimulus by one of the partitions, for other stimuli than stimuli sent by the processing partition of the same process; means for unblocking the blocked partitions associated with one process after termination of the processing of said stimulus; means for bringing a processing partition into a waiting state before the processing of said stimulus has finished, when this partition has to wait for a stimulus coming from another partition in reaction on a stimulus sent by the processing partition to said another partition; means for applying stimuli to one of the partitions belonging to a different process, during the waiting state of a partition.

Inventors: HALL LAWRENCE MARTIN, HALL, LAWRENCE MARTIN
Applicants: PHILIPS ELECTRONICS NV, PHILIPS ELECTRONICS N.V.
Application year: 1985
Main classification: H04Q3
IPC codes: H04Q3