Patent ID: 7676601
Filing Date: 2010-03-09
Classification: G06Q

Abstract:
1. A method for delivering data objects containing data subject to periodic updates to a plurality of clients via a data communication network, the method comprising the steps of: connecting to at least one input data stream, each input data stream carrying a respective type of data objects and each object comprising a key which uniquely identifies the respective data object's type; establishing a communication session with at least one client, each client having an associated profile comprising data indicating data stream subscriptions and at least one object rule associated with the subscribed data streams; receiving on a particular input data stream a current state for a specific data object; updating an object pool cache to reflect the current state of the specific data object, wherein the updating comprises: (i) transmitting differences between a first old object and a first new object if the first new object has a same key as the first old object in the object pool cache, and (ii) deleting a second old object and storing and transmitting a second new object in a different type if the second old object has a different type and has a same key as the second new object in the object pool cache; for each respective client subscribed to the particular input data stream, evaluating from the client profile associated with the respective client the object rules associated with the particular input data stream against the specific data object and transmitting the current state of the specific data object to the respective client in response to a positive evaluation; after connecting to the at least one data stream, initializing the object pool cache with an initial state of data objects carried on the connected at least one data stream; after a communication session is established with a particular client, delivering to the particular client a snapshot of the data objects in a current state in the object pool cache associated with the data stream subscriptions in the profile associated with the particular client, wherein the snapshot of the data objects is stored at the particular client and subsequently revised with differential data; monitoring the performance of communication with each connected client; and dynamically adjusting the rate at which client events are transmitted to one or more of the respective clients in response to the monitored performance.