DATA COMMUNICATIONS SYSTEM

Abstract: A data communications system uses a two-wire circuit and includes a master terminal (16) a backup terminal (18), a main file (12) and a backup file (14) which include respective link control devices (20-26) coupled over a communications line (30) to a plurality of satellite terminals (28). Each link control device (20-26) functions both as a monitor and as a communication controller with priority between the link control devices (20-26) for the files (12, 14) and terminals (16, 18) to maintain operation of the system, in the event that the link control device currently controlling data transmission on the line (30) fails, by replacing the failed device (20-26) by the highest priority among the remaining link control devices (20-26).

Description: - 1 - DATA COMMUNICATIONS SYSTEM Technical Field This invention relates to data communications systems of the kind including a plurality of main terminals and a plurality of satellite terminals, said terminals being interconnected by a communications line. The invention also relates to a method for controlling the flow of data among a plurality of main terminals and a plurality of satellite terminals. The invention has a particular application to point of sale systems. Background Art In the field of data processing, the use of point of sale (POS) terminals has required and also has enabled rapid and accurate transfer of information from one location to another in a business operation. In the case of department stores, the sales data may be transmitted or communicated from one or more terminals throughout the store to a central computer or processing unit. A filing system may be provided to maintain inventory and price data on the huge number of items that are sold in the store. The filing system and the control therefor provide means for reading and updating data and information regarding the constantly changing inventory and prices for the overall operation. U.S. Patent No. 4,468,750 discloses a point of sale system including a primary media terminal, a plurality of satellite terminals constructed and operated in a similar manner to the media terminal, and a backup media terminal. A diskette inserted into the primary media terminal received and stores data from the satellite terminals. In the event of a malfunction of the primary media terminal, the backup media terminal may be converted into the primary media terminal for the system by transferring the diskette from the faulty primary media terminal and inserting it into the the backup media terminal. The conversion of the backup media terminal to the primary media terminal is thus a relatively slow and cumbersome manual operation, and interrupts the normal operational usage of the system. Disclosure of the Invention It is an object of the present invention to provide a data communications system of the kind specified which provides a high degree of reliability in operation. Therefore, according to the present invention, there is provided a data communications system of the kind specified, characterized in that said main terminals include respective link control devices coupled to said communications line, and in that each link control device includes: link controlling means adapted to control the transmission of data in said communications line from said satellite terminals in accordance with requests for data; line monitoring means adapted to monitor the state of said communications line in relation to data appearing thereon and to supply a failure detection signal in response to detecting an abnormality in said state of said communications line; confirmation requesting adapted in response to said failure detection signal to transmit a priority request signal to the other link control devices; and priority judging means adjusted to determine a priority in response to said priority request signal or a priority request signal from another link control device and to send a link control signal to said line controlling means when said line controlling means has the highest priority, whereby said line controlling means assumes control of the transmission of data on said communications line from said satellite terminals. According to another aspect of the present invention, there is provided a method for controlling the flow of data among a plurality of main terminals and a plurality of satellite terminals over a communications line connecting said terminals, characterized by the steps of: providing a plurality of link control devices of different priorities in said main terminals; controlling data transmission and reception among said terminals in accordance with a request for data; monitoring the condition of said line in accordance with data appearing on said line, sending a failure detection signal upon detecting an abnormality in the condition on said line; sending a priority request signal to said link control devices to determine the priority of said link control devices in response to said failure detection signal; determining the priority of said link control devices in response to the failure detection signal from the monitoring of said line or the confirming of the priority of said link control devices; and causing to the link control device having the highest priority to control the communication of data over said line. It will be appreciated that a data communications system according to the invention has the advantage that an alternative link control device automatically controls the data communication when one link control device fails, without the need for a manual line switching operation, thereby increasing system reliability by reducing or avoiding system down time. Furthermore, the system is particularly suited to operation over a two-wire line or circuit, avoiding the complex line switching arrangements such as are associated with four-wire lines or circuits. - 4 - Brief Description of the Drawing One embodiment of the present invention will now be described by way of example, with reference to the accompanying drawings, in which:- Fig. 1 is a block diagram showing the structure of the link control system for use in a POS system according to a preferred embodiment of the present invention; Fig. 2 is a block diagram illustrating the principle of the link control device; Fig. 3 is a flow chart illustrating the recovering operation of the system; and Fig. 4 is a flow chart illustrating the restoring operation of the link control device which has been repaired. Best Mode for Carrying Out the Invention Fig. 1 is a diagram showing a preferred embodiment of a POS system in which the link control system of the present invention is employed. A plurality of main terminals 12, 14, 16 and 18 are provided in the POS system. A plurality of link control devices 20, 22, 24 and 26 are respectively provided within the main terminals 12, 14, 16 and 18 of the POS system. The main terminals consist of and are described as a main file device 12, a backup file device 14, a master terminal 16, and a backup master terminal 18. It is not always necessary to provide the link control devices 20, 24, 26 and 28 in all the respective main terminals 12, 14, 16 and 18 and the number of the link control devices can be increased or decreased as required. For example, it may not be necessary to provide a link control device in the backup master terminal 18. The link control devices 20, 22, 24 and 26 are different from one another in ranking of priority. Although the highest ranking of priority is generally offered to the link control device 20 in the main file device 12, the priority ranking can be appropriately changed as required. In the preferred embodiment, the ranking of priority follows the order of the link control devices from 20 to 22 to 24 to 26. Assuming that all the link control devices 20, 22, 24 and 26 are in normal operation, the link control device 20 of the highest priority controls the data communication within the system. The link control device 20 polls a plurality of individual satellite terminals 28 in a predetermined cycle and receives/transmits data from/to a satellite terminal 28 from which a request to transmit/receive data is received. In general, the polling is performed on any one of the terminals 12, 14, 16 and 18 at a rate of one time per 100 milliseconds, so that as long as the link control device 20 is in the normal operation, data should appear on a two-wire line or circuit 30 at least one time per 100 milliseconds. The link control device 20 which performs the polling operation is referred to as a primary device. The receiving/ transmitting of data by polling operation of the primary device 20 is well known in the art and hence the description thereof is omitted from this specification. The link control devices 22, 24 and 26 (each hereinafter referred to as a secondary device), other than the primary device 20, always monitor the line 30 to determine whether or not the primary device is in good order as well as responding to the polling from the primary device. Next, the case wherein the primary device 20 is out of order will be described with reference to Figs. 1 and 2. Fig. 1 is a diagram of the link control system and Fig. 2 is a block diagram of the principle of the link control devices 20, 22, 24 and 26. A line controlling means 32 (Fig. 2) is provided for controlling the line 30 for polling operation of the primary device 20 or for responding to the polling from the primary device, as well as for responding to the polling from the secondary device. A confirmation requesting means 36 is provided for sending out a request to confirm the priority signal to the secondary devices 22, 24 and 26 when a line monitoring means 34 detects the failure of the line 30. A priority judging means 38 is provided for judging whether or not the device 20 can act as a primary device when the line monitoring means 34 detects the failure of the line 30 and a request to confirm the priority is made from a secondary device 22, 24 or 26. The line monitoring means 34 checks to see whether or not data appears on the line 30 within a predetermined period of time, for example, 500 milliseconds. In the normal operation, the primary device 20 must poll any one of the terminals 14, 16, 18 or 28 (Fig. 1) at least one time per 100 milliseconds and hence data must appear on the line 30 at least one time per 100 milliseconds. In case the primary device 20 is out of order, no polling operation is performed, so that no data appears on the line 30 and hence the line monitoring means 34 detects the failure of the line. Assuming that the secondary device 24 detects the failure of the line 30, the line monitoring means 34 of such secondary device 24 will send a failure detection signal to the confirmation requesting means 36 and to the priority judging means 38. The confirmation requesting means 36 then sends a request to confirm the priority signal to the other secondary devices 22 and 26 via the line 30. The priority judging means 38 judges whether or not the secondary device of its own is at the highest ranking of priority among the now working secondary devices 22, 24 and 26. The secondary device 24 is at the priority ranking lower than that of the secondary device 22 and hence cannot act as the primary device. The secondary devices 22 and 26 receive the request to confirm the priority signal from the secondary device 24 by the line controlling means 32 (Fig. 2) of their own and send the signals thus received to the priority judging means 38 of their own which, then, judge the ranking of priority of their own simultaneously with the judging operation of the secondary device 24. The secondary device 26 cannot act as the primary device due to the presence of the secondary devices 22 and 24 at the higher ranking of priority. The priority judging means 38 of the secondary device 26 confirms that the secondary device 22 is at the highest ranking of priority to thus send a link control signal to the line controlling means 32. When the line controlling means 32 receives the link control signal, the secondary device 22 can act as the primary device to start the polling operation. Each of the link control devices 20, 22, 24 and 26 (Fig. 1) includes a central processing unit (CPU), a read only memory (ROM), a random access memory (RAM), and other necessary control circuits (not shown). Fig. 3 is a flow chart illustrating the restoring or recovering operation performed by the secondary device for the line control in case the primary device is down. The process steps in blocks 42, 44, 46 and 48 in Fig. 3 are steps for the operation of the line monitoring means 34 in Fig. 2. The process step in block 50 is for the operation of the confirmation controlling means 36, the process steps in blocks 52, 54 and 56 are for the operation of the priority judging means 38, and the process steps in blocks 58 and 60 are for the operation of the line controlling means 32. Each of the link control devices 20, 22, 24 and 26 is constructed in the same manner except for their priority ranking. In view of this same construction, only the secondary device 24 will be described in detail. The secondary device 24 starts (block 40) a 500 millisecond timer (block 42) and then continually checks to see whether or not a request to confirm the priority is sent out from any of the remaining secondary devices 22 or 26 (block 44) and whether or not data appears on the line 30 (block 46). When the request to confirm the priority is sent from the above-mentioned secondary device 24 (block 44), the secondary device 22 goes to the operation indicated in the process step represented by block 52. On the other hand, when no request to confirm the priority is received and no data appears on the line 30, the secondary device 24 goes to the process step represented by block 48 to check whether or not the time of the 500 millisecond timer is timed out and, if not, returns to block 42 to repeat the same procedure. In the normal operation of the primary device, as 20, the polling operation is performed in a cycle shorter than 500 milliseconds, so that the data appears on the line 30 before the time of the 500 millisecond timer is timed out. When the secondary device, as 24, detects the appearance of the data on the line 30 in block 46, the process returns to block 42 to re-start the 500 millisecond timer to repeat the same procedures (blocks 42-48). Now, assuming that the primary device 20 is down, the time of the 500 millisecond timer is timed out in block 48 and the secondary device 24 goes to block 50 wherein the request to confirm the priority signal is sent to the other secondary devices 22 and 26. Then, the secondary device 24 goes to block 52 to start a 50 x n (a predetermined priority ranking of its own) millisecond timer and to check whether or not the data appears on the line 30 (block 54). The other secondary devices 22 and 26 receive the request to confirm the priority signals from the secondary device 24 in block 44 to start their 50 x n millisecond timers. Then, the secondary devices 22, 24 and 26 check to see whether or not the times of the 50 x n millisecond timers are timed out (block 56). Now, the secondary devices 22, 24 and 26 are respectively at the second, third and fourth priority rankings, so that the timers are respectively set to 50 x 2 = 100 milliseconds, 50 x 3 = 150 milliseconds and 50 x 4 = 200 milliseconds in that order starting from the secondary device 22. Accordingly, the time of the timer of the secondary device 22 is first timed out, so that the secondary device 22 goes to block 58 to act as the primary device, whereupon the line controlling means 32 of the secondary device 22 starts the polling operation. When the secondary device 22 starts the polling operation, the data appears on the line 30, so that the secondary devices 24 and 26 detect the data on the line 30 in block 54 and go to block 60 to keep on monitoring the line as secondary devices. Next, the operation to be performed by a damaged link control device after it has been repaired and restored to the system under normal operation will be described with reference to Fig. 4. It is assumed that the link control device 20 has been repaired and restored to the system (block 62). The link control device 20, when polled from the primary device 22, communicates with such primary device 22 to confirm the priority ranking of the primary device 22 (block 64) and to check whether device 20 is higher than the primary device 22 in priority ranking (block 66). Now, the link control device 20 is higher in priority ranking than the primary device 22, so that the primary device 22 transfers the right of primacy to the link control device 20, wherein the primary device 22 acts as the secondary device (block 68). If the link control device 20 is higher in priority, the link control device 20 acts as the primary device (block 70). Even if the damaged link control device 26 has been restored after being repaired, the link control device 26 is lower in priority ranking than the primary device 22, so that device 26 acts as the secondary device. Accordingly, a link control device which is the highest in priority ranking of the link control devices under operation can control the line 30 of the overall system. As has been described above, the present invention is constructed such that a plurality of link control devices 20, 22, 24 and 26 are provided on a line or circuit 30 such that when one link control device is damaged, another link control device of the second or next priority ranking can automatically control the line 30. In this regard, a stable link control system which requires no line switcher and which will not be down if a link control device is damaged can be constructed and maintained. It is thus seen that herein shown and described is a link control system that enables rapid response to requests from terminals. When one of the link control devices has failed or is down, another link control device becomes the primary device and maintains the system in operation.

Claims: CLAIMS 1. A data communications system, including a plurality of main terminals (12, 14, 16, 18) and a plurality of satellite terminals (28), said terminals (12, 14, 16, 18, 28) being interconnected by a communications line (30), characterized in that said main terminals (12, 14, 16, 18) include respective link control devices (20, 22, 24, 26) coupled to said communications line (30), and in that each link control device (e.g. 20) includes: link controlling means (32) adapted to control the transmission of data in said communications line (30) from said satellite terminals (28) in accordance with requests for data; line monitoring means (34) adapted to monitor the state of said communications line (30) in relation to data appearing thereon and to supply a failure detection signal in response to detecting an abnormality in said state of said communications line (30); confirmation requesting means (36) adapted in response to said failure detection signal to transmit a priority request signal to the other link control devices (e.g. 22, 24, 26); and priority judging means (38) adjusted to determine a priority in response to said priority request signal or a priority request signal from another link control device (e.g. 22, 24, 26); and priority judging means (38) adjusted to determine a priority in response to said priority request signal or a priority request signal from another link control device (e.g. 22, 24, 26) and to send a link control signal to said line controlling means (32) when said line controlling means (32) has the highest priority, whereby said line controlling means (32) assumes control of the transmission of data on said communications line (30) from said satellite terminals (28). 2. A data communications system according to claim 1, characterized in that one of said link control devices operates (e.g. 20) as the primary device by reason of having higher priority than the remaining link control devices (e.g. 22, 24, 26). 3. A data communications system according to claim 1, characterized in that one of said link control devices (e.g. 22) having a lower priority operates as the primary device when a link control device (e.g. 20) having a higher priority is inoperative. 4. A data communications system according to claim 1, characterized by timing means operably associated with each of the link control devices (20, 22, 24, 26) and set for timing out in accordance with respective priorities. 5. A data communications system according to any one of the preceeding claims, characterized in that said system is a point of sale system and in that said main terminals (12, 14, 16, 18) include a file device (12) and a master terminal (16) for said point of sale system. 6. A method for controlling the flow of data among a plurality of main terminals (12, 14, 16, 18) and a plurality of satellite terminals (28) over a communications line (30) connecting said terminals (12, 14, 16, 18, 28), characterized by the steps of: providing a plurality of link control devices (20, 22, 24, 26) of different priorities in said main terminals (12, 14, 16, 18); controlling data transmission and reception among said terminals (12, 14, 16, 18, 28) in accordance with a request for data; monitoring the condition of said line (30) in accordance with data appearing on said line (30); sending a failure detection signal upon detecting an abnormality in the condition on said line (30); sending a priority request signal to said link control devices (20, 22, 24, 26) to determine the priority of said link control devices (20, 22, 24, 26) in response to said failure detection signal; determining the priority of said link control services (20, 22, 24, 26) in response to the failure detection signal from the monitoring of said line (30) or the confirming of the priority of said link control devices; and causing to the link control device (20, 22, 24, 26) having the highest priority to control the communication of data over said line (30) . 7. A method according to claim 6, characterized in that said step of determining the priority of said link control devices (20, 22, 24, 26) is effected using respective time-out operations for said link control devices (20, 22, 24, 26).

Inventors: MORITA SADAO, SHIMASAKI HARUO, TSUTSUMI KIYOHIKO, MORITA, SADAO, SHIMASAKI, HARUO, TSUTSUMI, KIYOHIKO
Applicants: NCR CO, NCR CORPORATION
Application year: 1989
Main classification: G06F11
IPC codes: G06F11, G06F13, G07G1, H04L12