Mechanism for delivering messages to competing consumers in a point-to-point system
First Claim
Patent Images
1. A method for delivering data, the method comprising:
- instantiating a destination messaging engine, the destination messaging engine configured to distribute data from one or more producers;
instantiating one or more receiver messaging engines, the receiver messaging engines configured to request data from the destination messaging engine and transmit the data to one or more consumers;
specifying a content filter associated with each request, the content filter configured to select messages satisfying a message request;
arbitrating data in a message pool among the receiver messaging engines, the message pool configured to include data from the producers, wherein the message pool includes a state field configured to identify, at least, data that is assigned to, unassigned to, or consumed by a receiver messaging engine and wherein the message pool further includes a duplicate field configured to identify data as a potential duplicate;
storing the message pool in persistent memory;
sequencing distribution of data based on a priority value, wherein the priority value is associated with the data;
organizing data in the message pool according to priority and sequence;
abstracting one or more message streams, each message stream including, an indexed sequence of stream states, wherein each stream state describes at least the presence or absence of data at a specific messaging engine and the disposition of the data, a knowledge sub-stream configured to describe at least the presence or absence of data at the specific messaging engine, and a decision sub-stream configured to describe at least the disposition of data, including the acceptance or rejection of data in response to a consumer request;
storing the message streams in the persistent memory;
transmitting the data to the consumers in accordance with a quality of service policy, the quality of service policy including at-least-once, at-most-once and exactly-once delivery.
4 Assignments
0 Petitions
Accused Products
Abstract
A method, system, and computer program for delivering messages and data to competing consumers. One aspect of the invention includes a message delivery system including a destination messaging engine, one or more receiver messaging engines, and a message pool. The destination messaging engine is configured to distribute data from one or more producers. The receiver messaging engines are configured to request data from the destination messaging engine and transmit the data to one or more consumers. The message pool is configured to store data from the producers, with the destination messaging engine arbitrating data in the message pool among the receiver messaging engines.
-
Citations
1 Claim
-
1. A method for delivering data, the method comprising:
-
instantiating a destination messaging engine, the destination messaging engine configured to distribute data from one or more producers; instantiating one or more receiver messaging engines, the receiver messaging engines configured to request data from the destination messaging engine and transmit the data to one or more consumers; specifying a content filter associated with each request, the content filter configured to select messages satisfying a message request; arbitrating data in a message pool among the receiver messaging engines, the message pool configured to include data from the producers, wherein the message pool includes a state field configured to identify, at least, data that is assigned to, unassigned to, or consumed by a receiver messaging engine and wherein the message pool further includes a duplicate field configured to identify data as a potential duplicate; storing the message pool in persistent memory; sequencing distribution of data based on a priority value, wherein the priority value is associated with the data; organizing data in the message pool according to priority and sequence; abstracting one or more message streams, each message stream including, an indexed sequence of stream states, wherein each stream state describes at least the presence or absence of data at a specific messaging engine and the disposition of the data, a knowledge sub-stream configured to describe at least the presence or absence of data at the specific messaging engine, and a decision sub-stream configured to describe at least the disposition of data, including the acceptance or rejection of data in response to a consumer request; storing the message streams in the persistent memory; transmitting the data to the consumers in accordance with a quality of service policy, the quality of service policy including at-least-once, at-most-once and exactly-once delivery.
-
Specification