End-to-end reliable messaging with complete acknowledgement
First Claim
1. In a network environment that includes a plurality of computing systems that operate using a plurality of different transport protocols, the plurality of computing systems including a sending computing system capable of transmitting electronic messages and a receiving computing system capable of receiving electronic messages transmitted by the sending computing systems, a method for the sending computing system reliably sending an electronic message to the receiving computing system in a manner that is independent of what, or how many, transport protocols are used to transmit the electronic message, the method comprising the following:
- an act of the sending computing system constructing an outgoing electronic message that includes tracking information that uniquely identifies the outgoing electronic message;
an act of passing the outgoing electronic message with the included tracking information to a transport layer associated with the sending computing system;
an act of instructing the transport layer to send the outgoing electronic message to the receiving computing system; and
an act of accessing an incoming electronic message from the transport layer, the incoming electronic message originating from the receiving computing system and including an acknowledgement that the receiving computing system received the outgoing electronic message.
2 Assignments
0 Petitions
Accused Products
Abstract
Reliable end-to-end messaging in which tracking and acknowledgement information are contained in the electronic message that is visible to layers above the transport layer, thereby being independent of what transport protocols, and whether different transport protocols, are used to communicate between the two end points. Furthermore, acknowledgment messages may identify multiple ranges of sequence numbers corresponding to received electronic messages, thereby permitting further flexibility and completeness in acknowledging received messages.
13 Citations
40 Claims
-
1. In a network environment that includes a plurality of computing systems that operate using a plurality of different transport protocols, the plurality of computing systems including a sending computing system capable of transmitting electronic messages and a receiving computing system capable of receiving electronic messages transmitted by the sending computing systems, a method for the sending computing system reliably sending an electronic message to the receiving computing system in a manner that is independent of what, or how many, transport protocols are used to transmit the electronic message, the method comprising the following:
-
an act of the sending computing system constructing an outgoing electronic message that includes tracking information that uniquely identifies the outgoing electronic message;
an act of passing the outgoing electronic message with the included tracking information to a transport layer associated with the sending computing system;
an act of instructing the transport layer to send the outgoing electronic message to the receiving computing system; and
an act of accessing an incoming electronic message from the transport layer, the incoming electronic message originating from the receiving computing system and including an acknowledgement that the receiving computing system received the outgoing electronic message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. A computer program product for use in a network environment that includes a plurality of computing systems that operate using a plurality of different transport protocols, the plurality of computing systems including a sending computing system capable of transmitting electronic messages and a receiving computing system capable of receiving electronic messages transmitted by the sending computing systems, the computer program product for implementing a method for the sending computing system reliably sending an electronic message to the receiving computing system in a manner that is independent of what, or how many, transport protocols are used to transmit the electronic message, the computer program product comprising one or more computer-readable media having thereon computer-executable instructions that, when executed by one or more processors of the sending computing system, cause the sending computing system to perform the following:
-
an act of the sending computing system constructing an outgoing electronic message that includes tracking information that uniquely identifies the outgoing electronic message;
an act of passing the outgoing electronic message with the included tracking information to a transport layer associated with the sending computing system;
an act of instructing the transport layer to send the outgoing electronic message to the receiving computing system; and
an act of accessing an incoming electronic message from the transport layer, the incoming electronic message originating from the receiving computing system and including an acknowledgement that the receiving computing system received the outgoing electronic message. - View Dependent Claims (19, 20)
-
-
21. In a network environment that includes a plurality of computing systems that operate using a plurality of different transport protocols, the plurality of computing systems including a sending computing system capable of transmitting electronic messages and a receiving computing system capable of receiving electronic messages transmitted by the sending computing systems, a method for the sending computing system reliably sending an electronic message to the receiving computing system in a manner that is independent of what, or how many, transport protocols are used to transmit the electronic message, the method comprising the following:
-
an act of the sending computing system constructing an outgoing electronic message that includes tracking information that uniquely identifies the outgoing electronic message; and
a step for causing the outgoing electronic message to be reliably transmitted to the receiving computing system. - View Dependent Claims (22)
-
-
23. In a network environment that includes a plurality of computing systems that operate using a plurality of different transport protocols, the plurality of computing systems including a sending computing system capable of transmitting electronic messages and a receiving computing system capable of receiving electronic messages transmitted by the sending computing systems, a method for the receiving computing system acknowledging receipt of an electronic message received from the sending computing system, the acknowledgment made in a manner that is independent of what, or how many, transport protocols are used to transmit the electronic message, the method comprising the following:
-
an act of the receiving computing system accessing an incoming electronic message from a transport layer associated with the receiving computing system, the incoming electronic message including tracking information that uniquely identifies the outgoing electronic message;
an act of constructing an outgoing electronic message that includes an acknowledgement that the receiving computing system received the incoming electronic message;
an act of passing the outgoing electronic message with the included acknowledgement to the transport layer; and
an act of instructing the transport layer to send the outgoing electronic message to the sending computing system. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A computer program product for use in a network environment that includes a plurality of computing systems that operate using a plurality of different transport protocols, the plurality of computing systems including a sending computing system capable of transmitting electronic messages and a receiving computing system capable of receiving electronic messages transmitted by the sending computing systems, the computer program product for implementing a method for the receiving computing system acknowledging receipt of an electronic message received from the sending computing system, the acknowledgment made in a manner that is independent of what, or how many, transport protocols are used to transmit the electronic message, the computer program product comprising one or more computer-readable media having thereon computer-executable instructions that, when executed by one or more processors on the receiving computing system, cause the receiving computing system to perform the following:
-
an act of accessing an incoming electronic message from a transport layer associated with the receiving computing system, the incoming electronic message including tracking information that uniquely identifies the outgoing electronic message;
an act of constructing an outgoing electronic message that includes an acknowledgement that the receiving computing system received the incoming electronic message;
an act of passing the outgoing electronic message with the included acknowledgement to the transport layer; and
an act of instructing the transport layer to send the outgoing electronic message to the sending computing system. - View Dependent Claims (33, 34, 35, 36)
-
-
37. In a network environment that includes a plurality of computing systems including a sending computing system capable of transmitting electronic messages and a receiving computing system capable of receiving electronic messages transmitted by the sending computing systems, a method for the receiving computing system acknowledging receipt of an electronic message received from the sending computing system, the method comprising the following:
-
an act of the receiving computing system receiving a plurality of incoming electronic messages from the receiving computing system, the incoming electronic messages each including tracking information that uniquely identifies the incoming electronic message;
an act of constructing an outgoing electronic message that includes an acknowledgement that the receiving computing system received the incoming electronic message, wherein the acknowledgement includes an identification of a first contiguous range of one or more electronic messages received from the receiving computing system, and including an identification of a second contiguous range of one or more electronic messages received from the receiving computing system, the second contiguous range being discontiguous from the first contiguous computing system, wherein the first and second contiguous ranges identify all received messages corresponding to an entire session; and
an act of transmitting the electronic message to the sending computing system. - View Dependent Claims (38, 39)
-
-
40. One or more computer-readable media having thereon a data structure comprising the following:
-
a first acknowledgment range field that identifies a first range of sequence numbers received by a receiving computing system; and
a second acknowledgment range field that identifies a second range of sequence numbers received by the receiving computing system, wherein the second range of sequence numbers is discontiguous with the first range of sequence numbers, wherein the first and second ranges identify all received messages corresponding to an entire session.
-
Specification