Communication apparatus for monitoring the amount of transmitted data

Abstract: In a communication apparatus comprising a communication path through which a message passes and, a plurality of communication subjects, each of which includes a message transmission function to the communication path, and a read function for reading the message from the communication path, each communication subject maintains a communication cumulative amount table for each communication subject so as to store the communication cumulative amount of messages transmitted by each communication subject as communication history data; the communication subject adds the latest communication cumulative amount in the communication cumulative amount table to a message which is transmitted to the communication path; the communication subject compares the communication cumulative amount table stored thereby with the communication cumulative amount added to the message being received. Thus, troubles of the communication subjects in the communication apparatus according to the result of the comparison can be detected. In addition, without complicated operations of each communication subject, while the overhead of processes is kept low, it is possible to prevent a bad effect due to a trouble or error of communication subjects from being propagated to other communication subjects.

Description: The present invention relates to a communication apparatus for detecting a fault which occurred in a communication system and for preventing the fault from propagating over the system. According to the variation of needs of computer systems in various fields and advancement of the technologies, the systems tend to get enlarged and complicated. Thus, the needs of distributed systems which process jobs through a plurality of communication subjects are becoming strong. In a distributed processing system, a plurality of communication subjects are connected by means of communication paths. Thus, if a fault which results in losing a message occurs due to a trouble of a communication apparatus, data which was processed according to erroneous information is propagated to other communication apparatus and thereby erroneous data is output as the entire system output. To prevent that, it is necessary to always monitor processes of each communication subject. If a trouble or an error is detected, it is necessary to stop the operation of the communication subject in which the trouble or the error occurred so as to prevent a bad effect which results from the trouble or the error from propagating to other communication subjects. To solve such a problem, thus far, for example, communication subjects are multiplexed and received messages are compared to detect troubles and errors of the communication subjects. However, in such a method, the control of multiplexed communication subjects becomes complicated and it is necessary to wait until a plurality of messages are received, thereby decreasing the process speed of the entire system. The inventors of the present invention and the concerned persons proposed "Trouble and/or error detection method of communication subjects by adding communication cumulative amount to transmission messages and by comparing communication cumulative amount of reception messages with communication cumulative amount intrinsic to the communication subject" (Japanese Patent Application Sr. No.63-297777). In the aforementioned method, the disadvantage of the multiplex system is cleared and the overhead of process execution is reduced, in the communication system such as CSMA/CD system where data is retransmitted when an collision is detected. However, if transmission requests of Message A and Message B occur at the same time in different communication subjects, although Message A is transmitted after Message B is received, Message A with communication cumulative amount, which does not account the arrival of Message B, is transmitted. Thus, even if data is correctly communicated, an inconsistency of communication cumulative amount takes place and the receiving communication subject supposes that a trouble occurred in the transmitting communication subject. Thus, as a communication apparatus which allows an overhead of execution processes and halt time due to a trouble to be as small as possible, it is necessary to remove the inconsistency of communication cumulative amount even if a message is retransmitted due to an occurrence of collision. US 4,653,048 discloses a method and apparatus for accounting for lost and out-of-sequence inter-processor messages between two processors in a multi-processor telephone switching system. Each message which is passed through the system is assigned a sequence number by the sending processor. Each processor maintains a table containing an entry for each of the other processors, each entry containing data relating to the identity of a link used for the message, the sequence number of the last message sent, the sequence number of the last message received, and a total count of the number both of messages sent and of those received. An out-of-sequence message table is also kept. Each receiving processor compares sequence numbers of adjacent received messages from a sending processor in order to detect a communication error. An object of the present invention is to solve the aforementioned problems, namely, to reduce the overhead of processes of a communication subject so as to use it in a real time control and the like and to prevent a bad effect due to a trouble or an error of a communication subject from propagating to other ones. According to the present invention there is provided communications apparatus comprising a communication path through which a message passes and a plurality of communication subjects, each of which includes a message transmission function for sending messages to the communication path, a read function for reading messages from the communication path, means for maintaining a communication status table, comprising data relating to the sequence of messages passed through the communication path, means for adding data to the message, means for comparing data stored by the communication subject with the data added to the message when the message is received by said communication subject, and means for detecting errors made by the plurality of communication subjects according to the result of the comparison made by the comparing means, characterised in that the communications status table is a communication cumulative amount table, each successive line of which comprises cumulative amount data corresponding to the numbers of messages which have been passed thus far, the cumulative amount data containing cumulative data relating to the total number of messages passed through the communication path and itemised cumulative data relating to the number of messages passed through the communication path by each of the communication subjects, and that the means for adding data adds the most recent line of data from the communication cumulative amount table to the message which is transmitted by said communication subject to the communication path. According to the present invention there is also provided a method of detecting errors in communications apparatus, the apparatus comprising a communication path through which a message passes, and a plurality of communication subjects, each of which includes a message transmission function for sending messages to the communication path, a read function for reading messages from the communication path, the method including the maintenance of a communication status table comprising data relating to the sequence of messages passed through the communication path, the addition of data to the message, the comparison of data stored by the communication subject with the data added to the message when the message is received by the communication subject, and the detection of errors made by the plurality of communication subjects according to the result of the comparison step, the method characterised in that the communication status table is a communication cumulative amount table, each successive line of which comprises cumulative amount data corresponding to the numbers of messages which have been passed thus far, the cumulative amount data containing cumulative data relating to the total number of messages passed through the communication path and itemised cumulative data relating to the number of messages passed through the communication path by each of the plurality of communication subjects, and by adding the most recent line of data from the communication cumulative amount table to a message which is transmitted by the communication subject to the communication path. Figure 1 is a structural diagram showing the structure of an embodiment of the present invention; Figure 2 is a structural diagram showing the structure of a communication process section of Figure 1; Figure 3 is a structural diagram showing the structure of a communication cumulative table of the embodiment of the present invention; Figure 4 is a diagram showing an example of a message of the embodiment of the present invention; Figure 5 is a flow chart showing a transmission process operation; and Figure 6 is a flow chart showing a reception process operation. By referring to the accompanying drawings, an embodiment of the present invention will be described in the following. Figure 1 is a structural diagram showing the structure of a communication apparatus of an embodiment of the present invention. As shown in the figure, the communication apparatus comprises a communication path 1 and a plurality of communication subjects 2a, 2b, ... (hereinafter named the communication subject 2 as a general term) which are connected to the former. Each communication subject 2 comprises main process section 3a, 3b ... (hereinafter named the main process section 3 as a general term) and communication process section 4a, 4b, ... (hereinafter named the communication process section 4 as a general term) for executing information exchange between the communication subject 2 connected to the communication path 1. In other words, the communication subject 2 sends a message to the communication path 1 and receives a message from the communication path 1 so as to execute the information exchange with another communication subject 2 through the communication process section 4. Figure 2 shows the structure of the communication process section 4. As shown in the figure, the communication process section 4 comprises a transmission process section 5, a reception process section 6 and a comparison process section 7. The transmission process section 5 is associated with the comparison process section 7 so as to execute a transmission process of a message which is transmitted from the main process section 3. On the other hand, the reception process section 6 is associated with the comparison process section 7 so as to execute a reception process of a message from the communication path 1. As shown in Figure 3, the comparison process section 7 stores the amount of messages which are passed through the communication path 1 as a communication cumulative amount table in order to represent the communication history thus far. The communication cumulative amount is composed of an individual communication cumulative amount section 8 where each communication subject 2 stores the communication cumulative amount for each of other communication subjects which are senders of receipt messages and a total communication cumulative amount section 9 which represents the communication cumulative amount of the entire system, namely, the total value of the individual communication cumulative amount section 8. The number of columns that the individual communication cumulative amount section 8 requires is the number of the communication subjects 2 connected to the communication path 1. In the example shown in Figure 3, eight communication subjects 2 designated a to h are connected. When a message is received or transmitted, one line of the communication record is newly added to the communication cumulative amount table and the communication cumulative amount table is updated. Thus, the line of the maximum value of the total communication cumulative amount section 9 represents the latest communication cumulative amount. In the embodiment, the communication cumulative amount is defined as the number of transmissions. Now, by referring to an example of message format shown in Figure 4, a transmission flow chart shown in Figure 5, and a reception flow chart shown in Figure 6, operations of the embodiment of the present invention will be described in the following. First of all, a transmission process which transmits a message from the main process section 3 to the communication path 1 will be described. The transmission process section 5 receives a message which is transmitted from the main process section 3 through a route 10. The transmission process section 5 also executes the following process in association with the comparison process section 7. Namely, the transmission process section 5 requests the comparison process section 7 to transmit a line with the latest communication cumulative amount from the communication cumulative amount table through a route 11 (in step S1). When the comparison process section 7 receives this request, it picks up the line representing the latest communication cumulative amount and sends it to the transmission process section 5 through a route 12 (in step S2). The transmission process section 5 adds the latest communication cumulative amount received from the comparison process section 7 to a message that the main process section 3 tries to transmit (in step S3). In other words, as shown in Figure 4, the transmission process section 5 generates a message in such a format that a destination ID, a sender ID of the transmission process section 5 in the communication subject 2 and the communication cumulative amount which has been received are added to a message main text, and transmits the message to the communication path 1 through a route 13 (in step S4). After the transmission process section 5 normally completed the transmission of the message, it notifies the comparison process section 7 of the completion of the message transmission (in step S5). When the comparison process section 7 received the notification of the completion of the message transmission, it newly adds one line whose individual communication cumulative amount sections 8 corresponding to itself and the total communication cumulative amount section 9 are greater than those of the latest communication cumulative amount just by 1, so as to record the state of the completion of transmission on the communication cumulative amount table (in step S6). Now, a reception process where the communication subject 2 receives a message from the communication path 1 will be described in the following. A message from the communication path 1 is received by the reception process section 6 through a route 14 (in step S11). When the reception process section 6 received the message from the communication path 1, it transfers the received message to the comparison process section 7 through a route 15 so as to check whether or not the received message is correct. When the comparison process section 7 received the message through the route 15, it searches the line in the communication cumulative amount table which has the same communication cumulative amount as that of the received message (in step S12). If both communication subjects which send and receive that message behave correctly, obviously the line which has the same communication cumulative amount as that of the received message exists in the communication cumulative amount table of the message receiving subject. At that time since the communication cumulative amount is the number of communications, it is obvious that the line which should be found exists just n lines apart from the latest comulative amount. Where n is the difference between the total communication cumulative amount section 9 of the latest communication cumulative amount and that of the received message. Thus, the line to be compared can be immediately found. Comparison of communication cumulative amount is performed as follows. As the first step, a comparison of values in the total communication cumulative amount sections 9 is made (in step S13). If they do not match, it is assumed that a communication error takes place in the communication subject 2 of the corresponding message sender, and an error process is executed (in step S14). Thus, the message main text is not transmitted to the main process section 3. Instead, a trouble notification of the communication subject 2 is transmitted to the communication path 1 through the route 12. When the reception process section 6 receives the trouble notification from the predetermined number of subjects within the predetermined period of time, the reception process section 6 determines that the trouble occurred in itself and then stops its operation. Moreover, if necessary, the reception process section 6 notifies the trouble of the communication subject 2 to the main process section 3 through routes 16 and 17. On the other hand, when values in the total communication cumulative amount sections 9 are matched, the individual communication cumulative amount sections 8 are compared (in step S15). When they do not match, an error process similar to the aforementioned one is executed (in step S14). When the value of the total communication cumulative amount section 9 and that of the individual communication cumulative amount section 8 are matched, it is assumed that a correct message has been received and the state of reception completion is newly recorded on the communication cumulative amount table, so that a line, whose values of the individual communication cumulative amount section 8 corresponding to the message sender and the total communication cumulative amount section 9 are greater than those of the latest communication cumulative amount by just is added to the communication cumulative amount table (in step S16). In addition, it is determined whether or not the destination of the message is the communication subject 2 to which the comparison process section 7 belongs (in step S17). When the destination is the communication subject to which the comparison process section 7 belongs, the notification of the normal reception is made through the route 16 and the message main text is transferred from the reception process section 6 to the main process section 3 through the route 17 (in step S18). When the destination is not the communication subject to which the comparison process section 7 belongs, the message main text is not transferred to the main process section 3. Now, the case that a communication request is issued from both the communication subjects 2a and 2b at the nearly same time will be described in the following. As shown in Figure 3, as same the latest communication cumulative amount in the communication cumulative amount table has values "3" and "10001001" as the total communication cumulative amount section 9 and the individual communication cumulative amount section 8 respectively, and the communication cumulative amount is added to the messages from the communication subjects 2a and 2b and the resultant messages are broadcast to the communication path 1. It is assumed that the communication subject 2c which receives the broadcast messages will receive the message from the communication subject 2a, for example. When the communication subject 2c received the message from the communication subject 2a, it compares the communication cumulative amount table stored in the own comparison process section 7c with the communication cumulative amount being received. Since there is a line where values are matched both in the total communication cumulative amount section 9 and the individual communication cumulative amount section 8, a line where the value of the total communication cumulative amount section 9 and the value of the individual communication cumulative amount section 8 are "4" and "20001001", respectively, is added, and the communication cumulative amount table is updated to record the state where the message has been completely received. The added communication cumulative amount becomes the latest communication cumulative amount. After that, the message from the communication subject 2b is received by the communication subject 2c. Although the communication cumulative amount included in the message is not matched with the latest communication cumulative amount which has been added by in the communication subject 2c, since the communication cumulative amount preceding the latest communication cumulative amount is stored as history data, it is assumed that the message is correct and the message is received by the communication subject 2c. Then the line whose total communication cumulative amount section 9 and the individual communication cumulative amount section 8 are "5" and "21001001", respectively is added. As was described above, since the communication cumulative amount is divided into the total section and the individual section and they are stored in a table format as history data, even if transmission requests are issued from a plurality of sites at the same time, no inconsistency of the communication cumulative amount does not take place. Thus, the communication cumulative amount inconsistency which results from simultaneous transmissions from the plurality of sites can be prevented. And, messages which are transmitted simultaneously from the plurality of sites can be received. Thus, in accordance with the communication apparatus of the present invention, since the communication cumulative amount is stored in a table format as history data, a communication error caused by a communication subject which fails to read a message and the resultant faulty propagation can be prevented without multiplexing the communication subjects. Moreover, since it is not necessary to multiplex the communication subjects, complication due to multiplication of processes of individual communication subjects can be prevented. Furthermore, decrease of process speed necessary for waiting until messages are received from all communication subjects being multiplexed can be prevented. The present invention is not limited to the aforementioned embodiment. For example, in the aforementioned embodiment, the number of transmissions was used for the communication cumulative amount. However, it is possible to use the message length, check sum value, and so forth.

Claims: Communications apparatus comprising a communication path (1) through which a message passes and a plurality of communication subjects (2a, 2b,.. ), each of which includes a message transmission function (S4) for sending messages to said communication path (1), a read function (S11) for reading messages from said communication path (1), means for maintaining a communication status table, comprising data relating to the sequence of messages passed through said communication path (1), means for adding (5) data to said message, means for comparing (7) data stored by said communication subject (2a, 2b,..) with the data added to said message when said message is received by said communication subject (2a, 2b,.. ), and means for detecting errors made by said plurality of communication subjects (2a, 2b,.. ) according to the result of the comparison made by the comparing means (7), characterised in that said communications status table is a communication cumulative amount table, each successive line of which comprises cumulative amount data corresponding to the numbers of messages which have been passed thus far, said cumulative amount data containing cumulative data relating to the total number of messages passed (9) through said communication path (1) and itemised cumulative data (8) relating to the number of messages passed through said communication path (1) by each of said communication subjects (2a, 2b,...), and that the means (5) for adding data adds the most recent line of data from the communication cumulative amount table to the message which is transmitted by said communication subject (2a, 2b,.. ) to said communication path (1). Communications apparatus as claimed in Claim 1, wherein said first means for maintaining the list of communication cumulative amount of messages, cumulates the set of values (8) each of which corresponding to the communication amount for each communication subject (2a, 2b,.. ) as the total communication cumulative amount (9), and adds it to the corresponding line in the said list. Communications apparatus as claimed in Claim 2, wherein the number of communications is used for the communication cumulative amount. Communications apparatus as claimed in Claim 3, wherein said third means (7) searches the communication cumulative amount in the communication cumulative amount table which matches the communication cumulative amount added to the message, according to the difference between the total communication cumulative amount of the latest communication cumulative amount in the said communication cumulative amount table and the communication cumulative amount added to the received message. A method of detecting errors in communications apparatus, the apparatus comprising a communication path (1) through which a message passes, and a plurality of communication subjects (2a, 2b,..), each of which includes a message transmission function (S4) for sending messages to said communication path (1), a read function (S11) for reading messages from said communication path (1), the method including the maintenance (S6, S16) of a communication status table comprising data relating to the sequence of messages passed through said communication path (1), the addition (S3) of data to said message, the comparison (S13, S15, S17) of data stored by said communication subject (2a, 2b,..) ) with the data added to said message when said message is received by said communication subject (2a, 2b,..), and the detection of errors (S14) made by said plurality of communication subjects (2a, 2b,.. ) according to the result of the comparison step, the method characterised in that the communication status table is a communication cumulative amount table, each successive line of which comprises cumulative amount data corresponding to the numbers of messages which have been passed thus far, said cumulative amount data containing cumulative data relating to the total number of messages passed (9) through said communication path (1) and itemised cumulative data (8) relating to the number of messages passed through said communication path (1) by each of said plurality of communication subjects (2a, 2b,..), and by adding the most recent line (S3) of data from the communication cumulative amount table to a message which is transmitted by said communication subject (2a, 2b,..) to said communication path.

Inventors: SHINSUKE TAMURA C O INTELLECTU, TOSHIBUMI SEKI C O INTELLECTUA, YASUKUNI OKATAKU C O INTELLECT, SHINSUKE, TAMURA, C/O INTELLECTUAL PROPERTY DIV., TOSHIBUMI, SEKI, C/O INTELLECTUAL PROPERTY DIV., YASUKUNI, OKATAKU, C/O INTELLECTUAL PROPERTY DIV.
Applicants: TOSHIBA KK, KABUSHIKI KAISHA TOSHIBA
Application year: 1990
Main classification: H04L12
IPC codes: H04L29, H04L12