Method and system for reliable distribution of messages
First Claim
1. A method in a computing system for distributing messages to a set of receivers, the method comprising:
- for each of the messages,distributing the message to the set of receivers, wherein at least one receiver in the set of receivers corresponds to a recorder, wherein the recorder records each message received, and provides to at least one of the other receivers in the set of receivers any message not successfully received by the at least one of the other receivers in the set of receivers;
after distributing the message to the set of receivers, waiting for a direct acknowledgement of receipt of the message from the recorder, wherein the direct acknowledgment includes a communication from the recorder confirming receipt of the message;
only when a direct acknowledgement from the recorder is received, and without waiting for receipt of an acknowledgement from any other receiver, proceeding to distribute another message; and
when a direct acknowledgement from the recorder is not received within a predetermined period of time, indicating a failure to distribute the message, and redistributing the message.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for distributing messages sent from senders to receivers in a reliable and real-time manner. Some of the receivers are designated as recording receivers that are responsible for recording each message that it receives so it can provide to other receivers messages they have missed. When a sender distributes a message, it waits for an acknowledgement from a recorder that it received and recorded the message. If an acknowledgement is received, then the sender knows at least one recorder has a copy of the message that that recorder can provide to other receivers that missed the message. When a receiver detects that it missed a message, it then initiates a “hole filling” process that distributes a request for the missing message to the recorders. A recorder who can provide the missing message sends to the requesting receiver a response indicating it can provide the missing message.
-
Citations
44 Claims
-
1. A method in a computing system for distributing messages to a set of receivers, the method comprising:
for each of the messages, distributing the message to the set of receivers, wherein at least one receiver in the set of receivers corresponds to a recorder, wherein the recorder records each message received, and provides to at least one of the other receivers in the set of receivers any message not successfully received by the at least one of the other receivers in the set of receivers; after distributing the message to the set of receivers, waiting for a direct acknowledgement of receipt of the message from the recorder, wherein the direct acknowledgment includes a communication from the recorder confirming receipt of the message; only when a direct acknowledgement from the recorder is received, and without waiting for receipt of an acknowledgement from any other receiver, proceeding to distribute another message; and when a direct acknowledgement from the recorder is not received within a predetermined period of time, indicating a failure to distribute the message, and redistributing the message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
17. A method in a computing system for distributing messages, the method comprising:
-
distributing a message to a set of receivers, wherein at least one of the receivers corresponds to a recorder of sent messages, wherein the recorder sends a communication to a sender confirming receipt of the message; after distributing the message to the set of receivers, waiting for a direct acknowledgement of receipt of the message from one recorder; only when a direct acknowledgement from one recorder is received, and without waiting for receipt of an acknowledgement from any other receiver in the set of receivers, proceeding to distribute another message; and when a direct acknowledgement from one recorder is not received within a predetermined period of time, indicating a failure to distribute the message, and redistributing the message. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A method in a computing system of a receiver for receiving messages comprising:
-
receiving from a sender messages, each message having a sequence indicator; receiving from a recorder, wherein a recorder is solely responsible for acknowledging and recording each message received from the sender and for providing to at least one receiver any message not successfully received by the at least one receiver, a notification including an indication of the last active message received by the recorder; and after receiving a message from the sender, determining whether any message has been missed based on the sequence indicator of the received message from the sender and the notification received by the recorder; and when an active message has been missed, identifying a recorder who can provide the missed active message; requesting the identified recorder to provide an indication that the missed active message may be provided; and when receiving, within a predetermined time period, the indication from the identified recorder indicating that the missed active message can be provided, sending to the identified recorder a request that the recorder provide the missed active message; and
receiving the missed active message from the recorder;when not receiving, within the predetermined time period, the indication from the identified recorder indicating that the missed active message can be provided, sending to at least one other recorder another request for a recorder to respond who can provide the missed active message. - View Dependent Claims (34, 35, 36, 37, 44)
-
-
38. A system for distributing messages to a set of receivers, comprising:
-
a hardware computing system including a memory and a processor in communication with the memory, the processor configured to execute specific computer-executable instructions to provide; a component implemented on the hardware computing system, wherein the component sends messages to the set of receivers and the component, after sending a message, waits for a direct acknowledgement of receipt of the message from one receiver in the set of receivers that is designated as a recorder, does not wait for an acknowledgment of receipt of the message from any other receiver in the set of receivers, and sends a subsequent message, and wherein the recorder records messages received and provides to at least one other receiver in the set of receivers any messages not successfully received by the at least one other receiver; and a component implemented on the hardware computing system, wherein the component, when the direct acknowledgement from the recorder is not received within the predetermined period of time, indicates a failure to distribute the message, and redistributes the message. - View Dependent Claims (39, 40, 41, 42, 43)
-
Specification