Patent ID: 7525964
Filing Date: 2009-04-28
Classification: H04L

Abstract:
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.