Transferring messages between nodes in a network
First Claim
1. A system that includes a client node and a server node for exchanging messages over a communication link, comprisingsaid client node includinga message generator for generating command messages and iteratively transmitting said command messages to said server node on said communication link each of said command messages including a sequence number that identifies said command message,a receiver for receiving corresponding response messages from said server node on said communication link, andsaid message generator including means for retransmitting another iteration of each said command message unless said receiver receives a response message that corresponds to said command message within a predetermined time interval, said message generator including means for changing the sequence number of the retransmitted command message to indicate that said retransmitted command message is another iteration of said command message,said server node includinga processor for executing said command messages received from said client node via said communication link and generating said corresponding response messages, each said response message including a sequence number that corresponds to the sequence number of the iteration of the command message to which the response message corresponds,said receiver comprising means for comparing the sequence number included in each received response message with the sequence number included in a most recently transmitted command message, and determining to discard said response message unless said comparison indicates that said response message corresponds to the most recently transmitted iteration of said command message.
0 Assignments
0 Petitions
Accused Products
Abstract
A message transfer arrangement includes a client node and a server node interconnected by a data link. The client node sequentially receives requests from user applications and generates, in response to each request, command messages for transmission by the interface. Each command message includes a command, a transmit slot identifier identifying the request in the sequence of requests received by the request receiver, and a transmit sequence identifier identifying the channel message in the sequence of command relating to the request. The selection of whether to transmit a command message related to one request or to a subsequent request is based on a received slot identifier and a received sequence identifier in a response message. The server node receives command messages from, and transmits response messages to, the client node over the data link. It selectively executes the command contained in each command message and generates, in response thereto, a response message including a response slot identifier and response sequence identifier corresponding to the commanmd slot identifier and command sequence identifier. The determination of whether to execute a command in a command message is based on the command slot identifier and command sequence identifier of the received command message and the command slot identifier and command sequence identifier of the command message containing the previously executed command.
-
Citations
53 Claims
-
1. A system that includes a client node and a server node for exchanging messages over a communication link, comprising
said client node including a message generator for generating command messages and iteratively transmitting said command messages to said server node on said communication link each of said command messages including a sequence number that identifies said command message, a receiver for receiving corresponding response messages from said server node on said communication link, and said message generator including means for retransmitting another iteration of each said command message unless said receiver receives a response message that corresponds to said command message within a predetermined time interval, said message generator including means for changing the sequence number of the retransmitted command message to indicate that said retransmitted command message is another iteration of said command message, said server node including a processor for executing said command messages received from said client node via said communication link and generating said corresponding response messages, each said response message including a sequence number that corresponds to the sequence number of the iteration of the command message to which the response message corresponds, said receiver comprising means for comparing the sequence number included in each received response message with the sequence number included in a most recently transmitted command message, and determining to discard said response message unless said comparison indicates that said response message corresponds to the most recently transmitted iteration of said command message.
-
12. A system that includes a client node and a server node for exchanging messages over a communication link comprising
said client node including a message generator for generating command messages and iteratively transmitting said command messages to said server node on said communication link, each of said command messages including a sequence number that identifies said command message, a receiver for receiving corresponding response messages from said server node on said communication link, and said message generator including means for retransmitting another iteration of each said command message unless said receiver receives a response message that corresponds to said command message within a predetermined time interval, said message generator including means for changing the sequence number of the retransmitted command message to indicate that said retransmitted command message is another iteration of said command message, said server node including a processor for executing said command messages received form said client node via said communication link and generating said corresponding response messages, each said response message including a sequence number that corresponds to the sequence number of the iteration of the command message to which the response message corresponds, and an execution enabler for comparing the sequence number included in each command messages received by said server node with the sequence number included in a command message previously processed by said processor, and selectively enabling said processor to execute said command message when said comparison of said sequence number indicates that said command message received by said server node is not a previous iteration of said command message previously processed by said processor.
-
23. A system that includes a client node and a server node for exchanging messages over a communication link, comprising
said client node including a message generator for generating command messages and iteratively transmitting said command messages to said server node on said communication link, each of said command messages including a sequence number that identifies said command message, a receiver for receiving corresponding response messages from said server node on said communication link, and said message generator including means for retransmitting another iteration of each said command message unless said receiver receives a response message that corresponds to said command message within a predetermined time interval, said message generator including means for changing the sequence number of the retransmitted command message to indicate that said retransmitted command message is another iteration of said command message, said server node including a processor for executing said command messages received from said client node via said communication link and generating said corresponding response messages, each said response message including a sequence number that corresponds to the sequence number of the iteration of the command message to which the response message corresponds, and an execution enabler for comparing the sequence number included in each command message received by said server node with the sequence number included in a command message previously processed by said processor, and selectively enabling said processor to execute said command message when said comparison of said sequence numbers indicates that said command message received by said server node is not a previous iteration of said command message previously processed by said processor, said receiver comprising means for comparing the sequence number included in each received response message with the sequence number included in a most recently transmitted command message, and determining to discard said response message unless said comparison indicates that said response message corresponds to the most recently transmitted iteration of said command message.
-
29. A client node for use in a system in which one or more client nodes and at least one server node exchange messages over a communication link, said client node including
a message generator for generating command messages and iteratively transmitting said command messages on said communication link, each of said command messages including a sequence number that identifies said command message, said message generator including means for retransmitting another iteration of each said command message when said client node does not receive a response message that corresponds to said command message within a predetermined time interval, said message generator including means for changing the sequence number of the retransmitted command message to indicate that said retransmitted command message is another iteration of said command message, and a receiver for receiving corresponding response messages from said server node via said communication link, each said response message including a sequence number that corresponds to the sequence number of the iteration of the command message with which said response message corresponds, said receiver comprising means for comparing the sequence number included in each received response message with the sequence number included in a most recently transmitted command message, and determining to discard said response message when said comparison indicates that said response message does not correspond to the most recently transmitted iteration of said command message.
-
30. A server node for use in a system in which at least one client node and one or more server nodes exchange messages over a communication link, said server node including
a processor for executing command messages received from said client node via said communication link, each of said command messages including a sequence number that identifies said command message, said client node including means for retransmitting an iteration of each said command message when said client node does not receive a response message from said server node that corresponds to said command message within a predetermined time interval, and means for changing the sequence number of the retransmitted command message to indicate that said retransmitted command message is an iteration of said command message, said processor generating corresponding response messages and transmitting said response messages to said client node via said communication link, and including in each said response message a sequence number that corresponds to the sequence number of the iteration of the command message to which said response message corresponds, and an execution enabler for comparing the sequence number included in each command message received by said server node with the sequence number included in a command message previously processed by said processor, and selectively enabling said processor to execute said command message when said comparison of said sequence numbers indicates that said command message received by said server node is not a previously iteration of said command message previously processed by said processor.
-
31. A method of exchanging messages between a client node and a server node over a communication link, comprising
said client node; - (1) generating command messages and iteratively transmitting said command messages to said server node on said communication link, each of said command messages including a sequence number that identifies said command message, (2) receiving corresponding response messages from said server node on said communication link, and (3) retransmitting another iteration of each said command message when said client node receives a response message that does not correspond to said command message within a predetermined tim interval, said client node changing the sequence number of the retransmitted command message to indicate that said retransmitted command message is another iteration of said command message,
said server node processing said command messages received from said client node via said communication link and generating said corresponding response messages, each said response message including a sequence number that corresponds to the sequence number of the iteration of the command message to which the response message corresponds, and said client node comparing the sequence number included in each received response message with the sequence number included in a most recently transmitted command message, and determining to discard said response message when said comparison indicates that said response messages does not correspond to the most recently transmitted iteration of said command message. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
- (1) generating command messages and iteratively transmitting said command messages to said server node on said communication link, each of said command messages including a sequence number that identifies said command message, (2) receiving corresponding response messages from said server node on said communication link, and (3) retransmitting another iteration of each said command message when said client node receives a response message that does not correspond to said command message within a predetermined tim interval, said client node changing the sequence number of the retransmitted command message to indicate that said retransmitted command message is another iteration of said command message,
-
42. A method of exchanging messages between a client node and a server node over a communication link, comprising
said client node: - (1) generating command messages and iteratively transmitting said command messages to said server node on said communication link, each of said command messages including a sequence number that identifies aid command message, (2) receiving corresponding response messages from said server node on said communication link, and (3) retransmitting another iteration of each said command message when said client node does not receive a response message that corresponds to said command message within a predetermined time interval, said client node changing the sequence number of the retransmitted command message to indicate that said retransmitted command message is another iteration of said command message,
said server node processing said command messages received from said client node via said communication link and generating said corresponding response messages, each said response message including a sequence number that corresponds to the sequence number of the iteration of the command message to which the response message corresponds, and said server node comparing the sequence number included in each command message received by said server node with the sequence number included in a command message previously processed by said processor, and selectively enabling said processing of each said command message when said comparison of said sequence numbers indicates that said command message received by said server node is not a previous iteration of said command message previously processed by said processor. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49, 50, 51, 52)
- (1) generating command messages and iteratively transmitting said command messages to said server node on said communication link, each of said command messages including a sequence number that identifies aid command message, (2) receiving corresponding response messages from said server node on said communication link, and (3) retransmitting another iteration of each said command message when said client node does not receive a response message that corresponds to said command message within a predetermined time interval, said client node changing the sequence number of the retransmitted command message to indicate that said retransmitted command message is another iteration of said command message,
-
53. A method of exchanging messages between a client node and a server node over a communication link, comprising
said client node; - (1) generating command messages and iteratively transmitting said command messages to said server node on said communication link, each of said command messages including a sequence number that identifies said command message, (2) receiving corresponding response messages from said server node on said communication line, and (3) retransmitting another iteration of each said command message when said client node does not receive a response message that corresponds to said command message within a predetermined time interval, said client node changing the sequence number of the retransmitted command message to indicate that said retransmitted command message is another iteration of said command message,
said server node processing said command messages received from said client node via said communication link and generating said corresponding response messages, each said response message including a sequence number that corresponds to the sequence number of the iteration of the command message to which the response message corresponds, said server node comparing the sequence number included in each command message received by said server node with the sequence number included in a command message previously processed by said processor, said selectively enabling said processing of each said command message when said comparison indicates that said command message received by said server node is not a previous iteration of said command message previously processed by said processor, said client node comparing the sequence number included in each received response message with the sequence number included in a most recently transmitted command message, and determining to discard said responses message when said comparison indicates that said response message does not correspond to the most recently transmitted iteration of said command message.
- (1) generating command messages and iteratively transmitting said command messages to said server node on said communication link, each of said command messages including a sequence number that identifies said command message, (2) receiving corresponding response messages from said server node on said communication line, and (3) retransmitting another iteration of each said command message when said client node does not receive a response message that corresponds to said command message within a predetermined time interval, said client node changing the sequence number of the retransmitted command message to indicate that said retransmitted command message is another iteration of said command message,
Specification