Communication control methods and apparatus

Abstract: A plurality of terminals (1,2) are connected to a common data bus (10). Each terminal (1,2) is capable of issuing and processing two types of commands: a simultaneous command and a non-simultaneous command. A receiving terminal processes every simultaneous command, but processes only the most recently received non-simultaneous command. The receiving terminal acknowledges the receipt of every received simultaneous command and of every executed non-simultaneous command. The receiving terminal sends a reject signal for every received non-simultaneous signal that was not executed.

Description: The present invention relates to communication control methods and apparatus. When a plurality of terminals, such as VTRs, are connected to a common data bus, the VTRs exchange commands among each other. In such a network, when a command packet of command data is received by a terminal, the receiving terminal provides a response packet to the transmitting terminal; this response packet informs the transmitting terminal that the receiving terminal has received the command. The terminals in the network generate two types of commands: commands that can be performed simultaneously at any one particular terminal and commands that cannot be performed simultaneously at any one particular terminal. The first type of command is referred to as a simultaneous command, and the second type of command is referred to as a non-simultaneous command. A simultaneous command can be performed alone, or simultaneously with any other command to be performed at that terminal, including a non-simultaneous command. A non-simultaneous command, however, is never performed simultaneously with another non-simultaneous command. A non-simultaneous command is performed at the terminal either alone or simultaneously with a simultaneous command. Examples of simultaneous commands are a counter reset command and an input switching command. Examples of non-simultaneous commands are a reproduction command, a recording command, a fast forward command, and a rewind command. Fig. 12 shows the implementation of the command communication technique described above. In this case, terminal (A) transmits to terminal (B) a plurality of non-simultaneous commands. Assuming that non-simultaneous command 1 is received first by terminal (B), terminal (B) begins executing non-simultaneous command 1. Terminal (B) also transmits to terminal (A) a busy signal 1, which indicates that terminal (B) is currently processing a command transmitted by terminal (A). If terminal (B) receives a second non-simultaneous command while it is processing non-simultaneous command 1, terminal (B) stops processing non-simultaneous command 1 and issues a reject signal 1, which indicates that terminal (B) has ceased processing non-simultaneous command 1. After transmitting reject signal 1, terminal (B) processes non-simultaneous command 2, and transmits busy signal 2. After terminal (B) has processed non-simultaneous command 2, terminal (B) transmits a complete signal 2 to terminal (A). Reference numeral "2" is used, instead of "1", because this complete signal corresponds to the completion of the second non-simultaneous command received at terminal (B). In this example, six packet signals were generated in order to execute one command. In the case of Fig. 13, terminal (A) transmits to terminal (B) a non-simultaneous command 1 and a simultaneous command 2. After receiving non-simultaneous command 1 from terminal (A), terminal (B) transmits to terminal (A) a busy signal 1. After receiving simultaneous command 2 during the processing of non-simultaneous command 1, terminal (B) generates busy signal 2. In this situation, the non-simultaneous command 1 and simultaneous command 2 are performed concurrently. If non-simultaneous command 3 is then transmitted to terminal (B), terminal (B) halts the processing of non-simultaneous command 1 and issues a reject signal 1 to terminal (A). Terminal (B) then processes non-simultaneous command 3 and issues a busy signal 3 to terminal (A). After terminal (B) completes simultaneous command 2 and non-simultaneous command 3, it issues a complete signal 2 and a complete signal 3 to terminal (A). In such a case, nine packets are transmitted and received. Thus, in the previously proposed system mentioned above, the reception of one command always causes the receiving terminal to issue a response thereto. Consequently, this method of communication results in an increased volume of data on the network. US Patent No. US-A-5 204 662 discloses a terminal apparatus according to the pre-characterising part of claim 1 hereof. The present invention provides a terminal apparatus according to claim 1 hereof and a method of controlling communication among terminals in a network as set forth in claim 18 hereof. A preferred form of implementation of this invention described below provides a communication control technique in which a plurality of terminals are connected to a common data bus. These terminals transmit and receive commands formed as packets, and these commands are categorized either as simultaneous commands or non-simultaneous commands. Every terminal includes a command selection communication control section which causes a receiving terminal to store the most recently received non-simultaneous command and to erase any previously stored non-simultaneous command. Furthermore, a receiving terminal does not provide to the transmitting terminal an acknowledgement of receipt for every received non-simultaneous command. The receiving terminal provides such a response only with respect to non-simultaneous commands that are executed. With respect to a command that is not executed, a reject signal is issued in order to inform the transmitting terminal that the corresponding command has not been executed. Consequently, the number of packets which are transmitted and received over the network is reduced. A command execution processing section of the receiving terminal executes the stored non-simultaneous command in the next predetermined period. With respect to received simultaneous commands, a receiving terminal executes such commands either in the same predetermined period in which they are received or in the next predetermined period, and such commands are executed simultaneously with any other commands that are currently being executed in the receiving terminal. The invention will now be described by way of example with reference to the accompanying drawings, throughout which like parts are referred to by like references, and in which: Fig. 1 illustrates a network comprising a bus and a plurality of terminals; Fig. 2 schematically illustrates command communication in which two simultaneous commands are received in the same predetermined period; Fig. 3 schematically illustrates command communication in which two non-simultaneous commands are received in the same predetermined period; Fig. 4 schematically illustrates command communication in which two non-simultaneous commands and a simultaneous command are received within a predetermined period; Fig. 5 illustrates the command selection communication control section and the command execution processing section of a terminal; Fig. 6 schematically illustrates command communication in which the execution of a non-simultaneous command is interrupted by the arrival of a subsequent non-simultaneous command. Fig. 7 schematically illustrates command communication in which two simultaneous commands are received in the same predetermined period. Fig. 8 schematically illustrates command communication in which two non-simultaneous commands are received in the same predetermined period. Fig. 9 schematically illustrates command communication in which two non-simultaneous commands and a simultaneous command are received within the same predetermined period. Fig. 10 is a flow chart describing a method of processing a received command. Fig. 11 is a flow chart exhibiting the timing of a command execution processing. Fig. 12 schematically illustrates a previously proposed method used by a terminal for handling two non-simultaneous commands. Fig. 13 schematically illustrates a previously proposed method used by a terminal for handling two non-simultaneous commands and a simultaneous command. A communication control method according to an embodiment of the invention will now be described hereinbelow with reference to the drawings. Fig. 1 illustrates a network to which is applied the communication control method. The network comprises terminal 1, terminal 2, and data bus 10. Other terminals may be added to bus 10 since Fig. 1 merely illustrates an example of the preferred embodiment. These terminals may individually comprise various audio-video devices, such as VTRs, computers, or video displays. Terminal 1 includes a command selection communication control section 3 and a command execution processing section 4. Similarly, terminal 2 also includes a command selection communication control section 5 and a command execution processing section 6. The command selection communication control section 5 of terminal 2 accepts any commands transmitted by terminal 1 over bus 10. In accordance with a method to be described later, the command selection communication control section 5 selects the command to be executed from among the commands received within a predetermined timing period. The predetermined timing period may be arbitrarily set to a particular duration; in this embodiment, the predetermined timing period is 17 ms. The command selection communication control section 5 supplies the selected command to the command execution processing section 6 for execution. The following discussion describes the method by which terminal 2 executes a command transmitted by terminal 1. When a simultaneous command arrives at terminal 2, terminal 2 sends an acknowledgement signal, busy 1, back to terminal 1 and executes the received command within the same predetermined timing period in which the command was received. Unlike a simultaneous command, a non-simultaneous command transmitted by terminal 1 is first stored in the buffer of terminal 2 within a predetermined period. If the buffer already stores a previously received non-simultaneous command, the newly received non-simultaneous command is written over the previously stored non-simultaneous command. Furthermore, terminal 2 returns to terminal 1 a reject signal corresponding to the erased non-simultaneous command. During the next predetermined timing period, terminal 2 executes the most recently stored non-simultaneous command and simultaneously transmits to terminal 1 a busy signal acknowledging receipt of the executed command. Terminal 2 sends to terminal 1 a complete signal when the command execution is finished. Although this embodiment confers the highest priority to the most recently received non-simultaneous command, other embodiments of the present invention also provide for terminals that give the highest priority to the earliest received non-simultaneous command. In such a case, the receiving terminals would not store a new non-simultaneous command until the presently stored command had been fully executed. Furthermore, embodiments of the present invention also provide terminals that execute all received non-simultaneous commands according to a predetermined order. Fig. 2 shows the operation where two simultaneous commands are received by terminal 2 within a predetermined period. In period 1, terminal 2 receives simultaneous command 1, transmits busy signal 1, and begins executing the simultaneous command 1. Terminal 2 also receives simultaneous command 2 during period 1 and, as in the case of simultaneous command 1, terminal 2 transmits busy signal 2 and begins executing simultaneous command 2. Thus, the respective periods of execution of these commands may overlap one another to some extent, as indicated. Furthermore, the respective periods of execution of these commands are independent of the predetermined period of the command selection communication control section of each terminal. During period 2, terminal 2 transmits complete signal 1 after the execution of simultaneous command 1 is completed. During period 3, terminal 2 transmits complete signal 2 after the execution of simultaneous command 2 is completed. Fig. 3 shows the operation where two non-simultaneous commands are received by terminal 2 within a predetermined period. In this example, terminal 2 receives, within a predetermined period of 17 ms, non-simultaneous command 1 first and then non-simultaneous command 2. This particular embodiment confers the highest priority to the most recently received non-simultaneous command and, therefore, terminal 2 stores in the buffer non-simultaneous command 2. Upon the receipt of non-simultaneous command 2, terminal 2 also transmits reject signal 1, which indicates to terminal 1 that terminal 2 will not execute non-simultaneous command 1. During the next predetermined period, terminal 2 begins executing non-simultaneous command 2 and transmits busy signal 2 to terminal 1. During the third predetermined period, terminal 2 issues a complete signal 2 after the execution of non-simultaneous command 2 has been completed. This signal indicates to terminal 1 that non-simultaneous command 2 has been executed. Unlike the previously proposed method shown in Fig. 12, the method shown in Fig. 3 does not transmit the busy signal 1 because a busy signal in this method is transmitted only with respect to non-simultaneous commands that are expected to be completely executed. In the example of Fig. 3, non-simultaneous command 1 was displaced by non-simultaneous command 2 received during the same predetermined period, which was executed by terminal 2. Therefore, terminal 2 need not transmit the busy signal corresponding to non-simultaneous command 1 because this command was never executed. Consequently, the method of Fig. 3 uses one less packet than the previously proposed method of Fig. 12. Fig. 4 shows the operation where terminal 2 receives non-simultaneous command 1 within one predetermined period. If only one non-simultaneous command is received by terminal 2 within a predetermined period, then terminal 2 executes non-simultaneous command 1. On the other hand, if non-simultaneous command 3 also is received within this predetermined period, then only non-simultaneous command 3 is executed and reject signal 1 is issued with respect to the displaced non-simultaneous signal 1. Also, busy signal 3 is issued when terminal 2 begins executing non-simultaneous command 3 during the next predetermined period. A simultaneous command 2 that is received subsequent to non-simultaneous command 1 is executed independently of any other commands. When terminal 2 receives simultaneous command 2, terminal 2 returns busy signal 2 to terminal 1 and begins executing simultaneous command 2. During period 2, complete signal 2 is issued after the execution of simultaneous command 2 is completed, and during period 3, complete signal 3 issues after the execution of non-simultaneous command 3 is completed. This method reduces the amount of data placed on bus 10 because this method, unlike the previously proposed method shown in Fig. 13, does not require terminal 2 to transmit busy signal 1 since non-simultaneous command 1 was displaced by non-simultaneous command 3. Fig. 5 illustrates a command selection communication control microcomputer 13 and the command execution processing microcomputer 14 of terminal 12, which may comprise a VTR. A command is transmitted from a terminal 11 to VTR 12 and a response is transmitted from the VTR 12 to the terminal 11. The communication between the command selection communication control microcomputer 13 and the command execution processing microcomputer 14 is performed during a predetermined timing period (about 17 msec) in the VTR. When the command selection communication control microcomputer 13 and command execution processing microcomputer 14 do not communicate, as in the case when a plurality of non-simultaneous commands reaches the VTR 12, the command to be actually executed is selected by the command selection communication control microcomputer 13 to be the most recently received non-simultaneous command. This selected command is then supplied at a subsequent communication timing to command execution processing microcomputer 14. In the case of a received simultaneous command, it too is supplied to the command execution processing microcomputer for execution. Fig. 6 illustrates how the execution of one non-simultaneous command is interrupted upon the reception of a subsequent non-simultaneous command. The command selection communication control microcomputer 13 and command execution processing microcomputer 14 perform the transmission and reception of the commands and the responses during the predetermined timing period of the command execution processing microcomputer 14. When a non-simultaneous command 1 is received at VTR 12, it is stored in a buffer. Only one non-simultaneous command can be stored in the buffer at any one time. At the end of the timing period of the command execution processing microcomputer 14, non-simultaneous command 1 is sent to the command execution processing microcomputer 14 and a busy signal corresponding to this command is sent to terminal 11. If non-simultaneous command 2 arrives during the timing period when non-simultaneous command 1 is being executed, the command execution processing microcomputer 14 interrupts the execution of non-simultaneous command 1 and issues a reject signal 1 corresponding to this command. After issuing reject signal 1, the microcomputer 14 executes the non-simultaneous command 2 and issues a busy signal 2. Once this command 2 has been executed, the microcomputer 14 issues a complete signal 2 at the next communication timing period. Fig. 7 shows the operation where two simultaneous commands arrive at terminal 1 within a single predetermined period. In this example, simultaneous command 1 is received before simultaneous command 2. In the second period, the execution of simultaneous command 1 begins, and a busy signal 1 is issued. The execution of this command ends in the third period, during which a complete signal 1 is issued when the execution of simultaneous command 1 is concluded. The execution of simultaneous command 2 begins in period 3 and ends in period 4. During period 3, busy signal 2 issues, and during period 4, complete signal 2 issues once the execution of simultaneous command 2 is completed. Unlike non-simultaneous commands, the simultaneous commands of Fig. 7 are executed independently of the communication period of the command selection communication control. In Fig. 8, a non-simultaneous command 1 is received before non-simultaneous command 2 but both are received in the same period. As mentioned before, the receiving terminal stores and executes only the most recently received non-simultaneous command. Therefore, in Fig. 8, once non-simultaneous command 2 is received, previously stored non-simultaneous command 1 is deleted from the buffer and a reject signal 1 corresponding to this deleted command is issued. During the next period, the execution of non-simultaneous command 2 begins and busy signal 2 is issued with respect thereto. When the execution of non-simultaneous command 2 is finished during the third period, complete signal 2 is issued. Since non-simultaneous command 1 was never executed, no busy signal is issued with respect thereto. Therefore, this method uses one less packet then the previously proposed method discussed in conjunction with Figs. 12 and 13. In Fig. 9, a non-simultaneous command 1 is received before simultaneous command 2 within a predetermined period. After being received by terminal 2, non-simultaneous command 1 is stored in the buffer. However, if non-simultaneous command 3 is received after simultaneous command 2 but before execution of non-simultaneous command 1 begins, then non-simultaneous command 1 is displaced from terminal 2, which issues reject signal 1 in response thereto. During the second period, terminal 2 begins to execute simultaneous command 2 and issues busy signal 2 with respect thereto. When the execution of simultaneous command 2 is completed during the third period, terminal 2 issues complete signal 2 within the same period. As for non-simultaneous command 3, terminal 2 begins executing this command during the third period and finishes this execution during the fourth period, during which a complete signal 3 is issued. Fig. 10 is a flowchart that describes how a terminal processes a received command. When a terminal receives a command (step 21), it determines if the command is a simultaneous command or a non-simultaneous command (step 22). If the received command is a simultaneous command, then the terminal executes this command during the next timing period (step 23). If the received command is a non-simultaneous command, then the terminal determines in step 24 whether the buffer already stores a previously received non-simultaneous command. If yes, then the later-received command is stored in place of the earlier command, and the terminal issues a reject signal with respect to the displaced command (step 25). If the buffer does not store any command, then the current non-simultaneous command is stored (step 26). Fig. 11 is a flowchart exhibiting the timing of the command execution processing. In step 31, the timing of a command process execution begins. In step 32, the terminal determines whether any command is stored in the buffer. If yes, then the terminal executes the stored command and issues a busy signal with respect thereto. If the buffer does not contain any signal, then the terminal returns to the main routine (step 32). The above embodiments have been described with the assumption that the terminals include respective VTRs. If a video display is included in each terminal, however, only one particular channel control and only one particular volume control operation may be selected at any one time. By providing a buffer for the channel command and a buffer for the volume command, therefore, the video display can operate in a manner similar to that of the VTR in the above embodiments. For instance, when a command to increase the channel is received in the same period as a command to decrease the channel, it is self-evident that these two inconsistent commands cannot be executed simultaneously. In this instance, these commands are arranged in accordance with a predetermined priority. For example, the terminal may be programmed to execute the most recent or least recent command. This priority of commands may also be used with respect to a command to increase the volume and a command to reduce the volume. In addition to the video display, the techniques are also applicable generally to an apparatus having an operating state (a channel, a volume, or the like) that is uniquely decided. In summary, embodiments of the invention provide communication control methods and apparatus which can reduce the number of messages exchanged among data processing terminals such as VTRs, computers, video displays and the like, and in particular which can reduce the amount of data exchanged between a command transmitting terminal and a command receiving terminal.

Claims: A terminal apparatus (2) comprising: receiving (5) means for receiving commands; selecting means (5) for selecting a received command; and executing (6) means for executing the selected command; characterised in that : said receiving means (5) is capable of receiving at least one simultaneous command or at least one non-simultaneous command; said selecting means (5) is capable of selecting one of said received non-simultaneous commands; and signal generating means is provided for generating an acknowledgement signal, which acknowledges that said selected non-simultaneous command is being executed, and for outputting the acknowledgement signal therefrom when said selected non-simultaneous command is being executed, whereas acknowledgement signals are not generated and outputted for received non-simultaneous commands that are not executed. A terminal apparatus according to claim 1, wherein said selecting means (5) is operative to select the most recently received non-simultaneous command signal. A terminal apparatus according to claim 2, wherein said selecting means comprises memory means for storing said selected non-simultaneous command only A terminal apparatus according to claim 3, comprising means for generating a reject signal corresponding to a non-selected non-simultaneous command that has been received. A terminal apparatus according to claim 4, wherein said reject signal is generated and outputted immediately after the selecting means (5) has selected one of said received non-simultaneous commands. A terminal apparatus according to claim 1, comprising means for storing said selected non-simultaneous command; said executing means (6) being operative to execute said selected non-simultaneous command and said at least one simultaneous command. A terminal apparatus according to claim 6, wherein said at least one simultaneous command and said at least one non-simultaneous command are received during a common timing period. A terminal apparatus according to claim 7, wherein plural non-simultaneous commands are received during said common timing period and said selecting means (5) is operative to select the most recently received of the plural non-simultaneous commands. A terminal apparatus according to claim 8, wherein said signal generating means is operative to output a said acknowledgement signal corresponding to the selected most recently received non-simultaneous command only. A terminal apparatus according to claim 9, wherein said executing means (6) is operative to execute said most recently received non-simultaneous command during a next-following timing period, and said signal generating means is operative to output said acknowledgement signal during said next following timing period. A terminal apparatus according to claim 10, wherein said executing means (6) includes reject signal transmit means for transmitting a reject signal corresponding to those non-simultaneous commands that are not selected and which were received prior to said selected non-simultaneous command. A terminal apparatus according to claim 11, wherein said reject signal transmit means is operative to transmit said reject signal during said common timing period. A terminal apparatus according to claim 12, wherein said executing means (6) includes complete signal transmit means for transmitting a first complete signal when executing of a simultaneous command is completed and for transmitting a second complete signal when execution of said selected non-simultaneous command is completed. A terminal apparatus according to any one of the preceding claims, wherein the signal generating means is operative not to generate and output an acknowledgement signal for a non-simultaneous command which has been received and not selected. A terminal apparatus according to claim 1, wherein said selecting means (5) is operative to select one of said received non-simultaneous commands which are received during a predetermined timing period. A terminal apparatus according to claim 15, wherein said execution means is operative to execute the selected non-simultaneous command at a next-following timing period. A terminal apparatus according to claim 16, wherein said signal generating means is operative to generate the acknowledgement signal at a start timing of said next-following timing period. A method of controlling communication among a plurality of terminals (1, 2) in a network, comprising: receiving (5) commands at a terminal (2); selecting (5) a received command; and executing (6) the selected command; characterised in that : said step of receiving (5) comprises receiving at least one simultaneous command or at least one non-simultaneous command; said step of selecting (5) comprises selecting one of said received non-simultaneous commands; and an acknowledgement signal, which acknowledges that said selected non-simultaneous command is being executed, is generated and is outputted when said selected non-simultaneous command is being executed, whereas acknowledgement signals are not generated and outputted for received non-simultaneous commands that are not executed. A method according to claim 18, comprising storing said selected non-simultaneous command, and executing (6) said selected non-simultaneous command and said at least one simultaneous command. A method according to claim 19, wherein said at least one simultaneous command and said at least one non-simultaneous command are received during a common timing period. A method according to claim 20, wherein plural non-simultaneous commands are received during said common timing period, and the step of selecting (5) selects the most recently received of the plural non-simultaneous commands. A method according to claim 21, wherein the step of generating an acknowledgement signal includes outputting a said acknowledgement signal corresponding to the selected most recently received non-simultaneous command only. A method according to claim 22, wherein the step of executing (6) executes said most recently received non-simultaneous command during a next-following timing period and said acknowledgement signal is outputted during said next following timing period. A method according to claim 23, wherein the step of executing (6) includes transmitting a reject signal corresponding to those non-simultaneous commands that are not selected and which were received prior to said selected non-simultaneous command. A method according to claim 24, wherein said reject signal is transmitted during said common timing period. A method according to claim 25, wherein the step of executing (6) includes transmitting a first complete signal when execution of a simultaneous command is completed and transmitting a second complete signal when execution of said selected non-simultaneous command is completed. A method according to any one of claims 18 to 26, wherein an acknowledgement signal is neither generated nor outputted for a non-simultaneous command which has been received and not selected. A method according to claim 18, wherein said step of selecting (5) selects one of said received non-simultaneous commands which are received during a predetermined timing period. A method according to claim 28, wherein the selected non-simultaneous command is executed at a next-following timing period. A method according to claim 29, wherein the acknowledgement signal is generated at a start timing of said next-following timing period.

Inventors: KATO JUNJI, NAGANO SUSUMU, KATO, JUNJI, NAGANO, SUSUMU, KATO, JUNJI, C/O INTELLECTUAL PROPERTY DIVISION, NAGANO, SUSUMU, C/O INTELLECTUAL PROPERTY DIVISION
Applicants: SONY CORP, SONY CORPORATION
Application year: 1995
Main classification: H04L12
IPC codes: H04L29, H04L12, G11B31