Reliable communication mechanism with “at most once” delivery guarantee
First Claim
1. A method, implemented by a communication coordinator on a module, for carrying out reliable communication in a communication system, comprising:
- receiving a message from a sender intended for one or more applications, said message comprising a message identifier, and wherein said message identifier comprises a message sequence indicator;
determining, at the communication coordinator on the module that received the message, based upon said message identifier whether said message had previously been received, wherein determining whether said message had previously been received comprises;
accessing a receiving sequence indicator associated with said sender;
determining whether said message sequence indicator precedes said receiving sequence indicator in a predetermined sequence;
in response to a determination that said message sequence indicator precedes said receiving sequence indicator in said predetermined sequence, determining whether said message sequence indicator is one of the sequence indicators in a set of missing sequence indicators maintained in a table; and
in response to a determination that said message sequence indicator is not one of the sequence indicators in said set of missing sequence indicators, concluding that said message had previously been received; and
in response to a determination that said message had previously been received, foregoing delivery of said message to said one or more applications;
wherein a message exchange between a sender and a receiver is conducted ensuring that a message is delivered to said one or more applications at most once; and
wherein a subscriber is enabled to subscribe to multiple events using a single namespace specification and a single subscription request.
6 Assignments
0 Petitions
Accused Products
Abstract
An improved inter-module communication facilitation mechanism (CFM) is disclosed, which provides improved scalability, improved efficiency, and enhanced functionality and performance. In one aspect, the CFM enables a subscriber to subscribe to multiple events using a single namespace specification and a single subscription request. In another aspect, the CFM enables publishers to broadcast, rather than unicast, events to multiple subscribers concurrently. In yet another aspect, the CFM enables message exchange between senders and recipients to be conducted reliably, while at the same time ensuring that a message will be delivered to a recipient at most once. These and other aspects give rise to the many benefits offered by the CFM.
39 Citations
27 Claims
-
1. A method, implemented by a communication coordinator on a module, for carrying out reliable communication in a communication system, comprising:
-
receiving a message from a sender intended for one or more applications, said message comprising a message identifier, and wherein said message identifier comprises a message sequence indicator; determining, at the communication coordinator on the module that received the message, based upon said message identifier whether said message had previously been received, wherein determining whether said message had previously been received comprises; accessing a receiving sequence indicator associated with said sender; determining whether said message sequence indicator precedes said receiving sequence indicator in a predetermined sequence; in response to a determination that said message sequence indicator precedes said receiving sequence indicator in said predetermined sequence, determining whether said message sequence indicator is one of the sequence indicators in a set of missing sequence indicators maintained in a table; and
in response to a determination that said message sequence indicator is not one of the sequence indicators in said set of missing sequence indicators, concluding that said message had previously been received; andin response to a determination that said message had previously been received, foregoing delivery of said message to said one or more applications; wherein a message exchange between a sender and a receiver is conducted ensuring that a message is delivered to said one or more applications at most once; and wherein a subscriber is enabled to subscribe to multiple events using a single namespace specification and a single subscription request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. An apparatus for implementing reliable communication in a communication system, comprising:
-
a mechanism for receiving a message from a sender intended for one or more applications, said message comprising a message identifier, wherein said message identifier comprises a message sequence indicator; a mechanism for determining, at a communication coordinator on a module that received the message, based upon said message identifier whether said message had previously been received, and wherein said mechanism for determining whether said message had previously been received comprises; a mechanism for accessing a receiving sequence indicator associated with said sender; a mechanism for determining whether said message sequence indicator precedes said receiving sequence indicator in a predetermined sequence; a mechanism for determining, in response to a determination that said message sequence indicator precedes said receiving sequence indicator in said predetermined sequence, whether said message sequence indicator is one of the sequence indicators in a set of missing sequence indicators maintained in a table; and
a mechanism for concluding, in response to a determination that said message sequence indicator is not one of the sequence indicators in said set of missing sequence indicators, that said message had previously been received; anda mechanism for foregoing, in response to a determination that said message had previously been received, delivery of said message to said one or more applications; wherein a message exchange between a sender and a receiver is conducted ensuring that a message is delivered to said one or more applications at most once; and wherein a subscriber is enabled to subscribe to multiple events using a single namespace specification and a single subscription request. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer readable medium comprising instructions which, when executed by one or more processors, cause the one or more processors to implement reliable communication in a communication system, said computer readable medium comprising:
-
instructions for causing one or more processors to receive a message from a sender intended for one or more applications, said message comprising a message identifier, wherein said message identifier comprises a message sequence indicator; instructions for causing one or more processors to determine, at a communication coordinator on a module that received the message, based upon said message identifier whether said message had previously been received, and wherein the instructions for causing one or more processors to determine whether said message had previously been received comprises; instructions for causing one or more processors to access a receiving sequence indicator associated with said sender; instructions for causing one or more processors to determine whether said message sequence indicator precedes said receiving sequence indicator in a predetermined sequence; instructions for causing one or more processors to determine, in response to a determination that said message sequence indicator precedes said receiving sequence indicator in said predetermined sequence, whether said message sequence indicator is one of the sequence indicators in a set of missing sequence indicators maintained in a table; and
instructions for causing one or more processors to conclude, in response to a determination that said message sequence indicator is not one of the sequence indicators in said set of missing sequence indicators, that said message had previously been received; andinstructions for causing one or more processors to forego, in response to a determination that said message had previously been received, delivery of said message to said one or more applications; wherein a message exchange between a sender and a receiver is conducted ensuring that a message is delivered to said one or more applications at most once; and wherein a subscriber is enabled to subscribe to multiple events using a single namespace specification and a single subscription request. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
Specification