Method and apparatus for synchronizing communications between networked computers
First Claim
1. In a computer network including a first computer communicatively coupled with at least a second computer through data and control channels having a first and a second independently variable transmission rates, a communication program and an application program are provided within each of the first and the second computer wherein the communication program is communicatively disposed between the application program and the data and control channels, an improvement comprising:
- providing a synchronization program within each of the first computer and the second computer functionally disposed between the application program and the communication program within each the first computer and the second computer, said synchronization program includingmeans for sequentially forwarding commands and data units received from the application program to the communication program for transmission to other computer(s) as corresponding control and data signals on the control and data channels at said second and first independently variable transmission rates, respectively, andmeans for synchronizing the control signals sent on the control channels at said second independently variable transmission rate with the data signals sent on the data channels at said first independently variable transmission rate by deferring sequential forwarding of a next sequential command to the communication program until an acknowledgment is received from the other comtputer(s) acknowledging receipt of all previously transmitted control and data signals.
2 Assignments
0 Petitions
Accused Products
Abstract
In a computer network including a first computer communicatively coupled with at least a second computer through data and control channels, wherein each of the first and second computers are provided with an application program, a communication program and a synchronization program. In each of the first and second computers, the communication program is provided between the application program and the data and control channels, while the synchronization program is provided between the application program and the communication program. The synchronization program including means for sequentially forwarding commands and data units received from the application program of the same computer to the communication program of the same computer for transmission to another computer as corresponding control and data signals on the control and data channels, respectively. The synchronization program further comprising means for synchronizing the control signals and data signals sent on the control and data channels, respectively, by deferring sequential forwarding of a next sequential command to the communication program until an acknowledgment is received from the other computer acknowledging receipt of all previously transmitted control and data signals.
62 Citations
19 Claims
-
1. In a computer network including a first computer communicatively coupled with at least a second computer through data and control channels having a first and a second independently variable transmission rates, a communication program and an application program are provided within each of the first and the second computer wherein the communication program is communicatively disposed between the application program and the data and control channels, an improvement comprising:
providing a synchronization program within each of the first computer and the second computer functionally disposed between the application program and the communication program within each the first computer and the second computer, said synchronization program including means for sequentially forwarding commands and data units received from the application program to the communication program for transmission to other computer(s) as corresponding control and data signals on the control and data channels at said second and first independently variable transmission rates, respectively, and means for synchronizing the control signals sent on the control channels at said second independently variable transmission rate with the data signals sent on the data channels at said first independently variable transmission rate by deferring sequential forwarding of a next sequential command to the communication program until an acknowledgment is received from the other comtputer(s) acknowledging receipt of all previously transmitted control and data signals. - View Dependent Claims (2, 3)
-
4. A synchronization program for use with a communication program within a computer, said computer connected to at least one other computer by data and control channels having a first and a second independently variable transmission rates, said synchronization program comprising:
-
means for sequentially forwarding commands and data units to the communication program for transmission at said second and first transmission rates as corresponding control and data signals on the corresponding control and data channels, respectively, to one of the at least one other computer; and means for synchronizing control signals transmitted on the control channel at said second independently variable transmission rate with data signals transmitted on the data channel at said first independently variable transmission rate by deferring sequential forwarding of a next sequential command to the communication program until separate acknowledgments are received from said at least one other computer acknowledging receipt of all previously transmitted control signals and a last one of previously transmitted data signals. - View Dependent Claims (5)
-
-
6. A method for synchronizing control signals transmitted on a control channel at a first independently variable transmission rate with data signals transmitted on a data channel at a second independently variable transmission rate, said method comprising the steps of:
-
generating control signals and data signals for transmission over the control and data channels at said first and second independently variable transmission rates, respectively; transmitting a first sequence of control signals on the control channel at said first independently variable transmission rate by separately transmitting each of said first sequence of control signal at said first independently variable transmission rate and waiting for an acknowledgment from a receiving computer before transmitting a next control signal at said first independently variable transmission rate in the first sequence of control signals; and transmitting a first sequence of data signals on the data channel at said second independently variable transmission rate followed by a second control signal on the control channel at said first independently variable transmission rate by sequentially transmitting all of said first sequence of data signals at said second independently variable transmission rate and waiting for an acknowledgment from the receiving computer acknowledging receipt of the last of the first sequence of data signals before transmitting the second control signal at said first independently variable transmission rate.
-
-
7. A computer network comprising:
-
two or more computers; an interconnection medium including a data channel for transmitting data signals at a first independently variable transmission rate, and a control channel for transmitting control signals at a second independently variable transmission rate; a multi-point communications software layer (MCS), running within each computer, for transmitting said control signals on said control channel at said second independently variable transmission rate and said data signals on said data channel at said first independently variable transmission rate; and an interface software layer executing within each computer, including a transmission element for sequentially forwarding commands and data units to the multi-point communications layer of the same computer for transmission as corresponding control and data signals on said control and data channels at said second and first independently variable transmission rates, respectively; and a delay element for deferring transmission of a next sequential command to the multi-point communications layer of the same computer until separate acknowledgments are received from a receiving one of the other computers acknowledging receipt of all previously transmitted control signals and a last data signal of previously transmitted data signal. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. In a system for transmitting units of information over a plurality of transmission channels having first and second independently varying transmission rates, each unit of information corresponding to only one transmission channel, an improvement comprising:
transmitting a unique synchronization token on all transmission channels at all transition points between transmission of units of information on a first of the transmission channels at a first independently variable transmission rate and transmission of units of information on a second of the transmission channels at a second independently variable transmission rate, wherein the system is operative to synchronize units of information transmitted on the first transmission channel at said first independently variable transmission rate with units of information transmitted on the second transmission channel at said second independently variable transmission rate employing said synchronization tokens.
-
14. A method for maintaining synchronization of data transmitted over a plurality of transmission channels having first and second independently variable transmission rates, said method comprising the steps of:
-
receiving a sequence of units of data for transmission on the plurality of transmission channels, with each unit of data associated with a single transmission channel; sequentially transmitting units of data associated with a first transmission channel on the first transmission channel at the first independently variable transmission rate until units of data associated with a second transmission channel are detected; transmitting a synchronization token on all transmission channels; sequentially transmitting units of data associated with the second transmission channel on the second transmission channel at the second independently variable transmission rate until units of data associated with another transmission channel are detected, and transmitting a synchronization token on all transmission channels; and continuing in this manner until all units of data of said sequence of units of data are transmitted. - View Dependent Claims (15)
-
-
16. A computer network comprising:
-
two or more computers; a plurality of channels interconnecting said two or more computers, said channels having first and second independently variable transmission rates; a communication program, running within each computer, for receiving data units from a corresponding application program also running on each computer, and transmitting said data units on said plurality of channels at said first and second independently variable transmission rates; and a synchronization program, provided within each computer and functionally disposed between the communication program and the corresponding application program, each of said synchronization programs including an element for receiving a sequence of units of data for transmission on the plurality of channels, with each unit of data associated with a single channel; an element for sequentially transmitting units of data associated with a first channel on the first channel at the first independently variable transmission rate until units of data associated with a second channel are detected; an element for transmitting a synchronization token on all channels; and an element for sequentially transmitting units of data associated with the second channel on the second channel at the second independently variable transmission rate until units of data associated with another channel is detected, and transmitting a synchronization token on all channels. - View Dependent Claims (17)
-
-
18. An apparatus for maintaining synchronization of units of data transmitted over a plurality of channels having first and second independently variable transmission rates, said apparatus comprising:
-
means for receiving a sequence of units of data for transmission on the plurality of channels, with each unit of data associated with a single channel; means, responsive to said receiving, for sequentially transmitting units of data associated with a first channel on the first channel at the first independently variable transmission rate until units of data for transmission on a second channel are detected; and means, responsive to said detection, for transmitting a synchronization token on each of the plurality of channels. - View Dependent Claims (19)
-
Specification