Legal claims defining the scope of protection, as filed with the USPTO.
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.
2. The method of claim 1 , wherein the data objects carried on the input data streams comprise differential data objects.
3. The method of claim 1 , further comprising the step of: in response to detecting that a particular client in a communication session has subscribed to a new input data stream not in a set of connected input data streams, connecting to the new input data stream.
4. The method of claim 3 , further comprising the steps of: initializing the object pool cache with an initial state of data objects carried on the new input data stream; and delivering to the particular client a snapshot of the data objects in the object pool cache associated with the new data stream.
5. The method of claim 1 , wherein the step of monitoring the performance of communication with each connected client comprises determining network transmission time and a client processing time for received client events.
6. The method of claim 1 , wherein the data objects comprise information related to financial product offerings.
7. The method of claim 1 , wherein the input data streams are broadcast by at least one information manager, each information manager maintaining a respective object storage pool; the method further comprising the steps of: retrieving an initial state of data objects carried on the connected at least one data stream from the object storage pool associated with the information manager broadcasting the data stream; and initializing the object pool cache with the retrieved initial states.
8. A system for delivering data objects containing data subject to periodic updates to a plurality of clients via a data communication network, the system comprising: a client session manager; at least one object state manager having an associated object pool cache; and at least one client session; the client session manager being configured to: receive initial access communications from a client; load a client profile associated with the client and comprising data indicating data stream subscriptions and at least one object rule associated with the subscribed data streams; each object state manager being configured to: connect to at least one input data stream, each input data stream carrying information related to a respective type of data objects and each object comprising a key which uniquely identifies the respective data object's type; receive on the input data streams changes to states of data objects; upon receipt of a state change for a specific data object on a particular data stream, update the associated object pool cache to reflect the changed current state of the specific data object and generate an object event directed to client sessions for clients subscribed to the particular data stream indicating a state change has occurred with regard to 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; each client session being configured to: in response to the receipt of an object event, evaluate the object rules associated with the particular input data stream from the respective client profile against the specific data object change noticed by the object event, and transmitting the current state of the specific data object to the respective client in response to a positive evaluation; wherein the client session manager is further configured to, after a communication session is established with a particular client, deliver 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; wherein the client session manager is further configured to monitor the performance of communication with each connected client, and dynamically adjust the rate at which client events are transmitted to one or more of the respective clients in response to the monitored performance.
9. The system of claim 8 , wherein each client profile comprises at least one client folder, each client folder comprising data indicating at least one subscribed data stream and containing object rules associated with the subscribed data stream; the client session being configured to evaluate the object rules associated with the particular input data stream for each folder in the client profile indicating a subscription to that stream.
10. The system of claim 8 , further comprising a state dispatch module configured to: receive requests for the current state of a set of data objects from a requestor; obtain current state information for the data objects in the set; and return the current state information to the requestor.
11. The system of claim 10 , wherein: the object state manager is configured to request from the state dispatch module a current state of a set of data objects carried on a connected input data stream upon first connecting to that input data stream; the returned current state information being used to initialize the respective object cache for the object state manager.
12. The system of claim 11 , wherein the object state manager further comprises an update queue, the object state manager being further configured to place current states received from the input data stream on the update queue during a pendency of the request and apply the queued current states to data in the object cache after cache initialization is complete.
13. The system of claim 11 , wherein the state dispatch module is connected to at least one offer pool maintained by a transmitter of the data streams received object state managers and configured to obtain current state information from an appropriate offer pool.
14. The system of claim 8 , wherein the data objects carried on the input data streams comprise differential data objects.
15. The system of claim 8 , wherein the data objects comprise information related to financial product offerings.
16. The system of claim 8 , wherein the client session manager is further configured to in response to detecting that a particular client in a communication session has subscribed to a new input data stream not presently connected to one of the at least one object state managers, activate a new object state manager to support the new input data stream.
17. The system of claim 8 further comprising at least one information manager receiving raw object data streams from at least one content provider and generating the input data streams.
18. The system of claim 17 , wherein each information manager further comprises a structured object pool containing a current state of the data objects carried on the input data streams, the object events on the input data streams representing differential changes to the state of particular data objects.
19. The system of claim 17 , wherein the data objects carried on a particular input data stream are of a common type.
20. A system for processing information related to financial product offerings and delivering real-time offer updates to a plurality of clients via a data communication network, the information being included in data objects carried on at least one input data stream and representing changes in state of particular product offerings, the data streams being transmitted by at least one information manager having a respective offer pool containing current states of the product offerings, the system comprising: at least one object state manager, each object state manager connected to a respective data input stream, comprising an associated object cache and subscriber data indicating subscribers to the respective data input stream relating to a respective type of data objects and each object comprising a key which uniquely identifies the respective data object's type, and configured to: receive a data object on the connected input data stream related to a specific product offering, update the state of the specific product offering in associated object pool cache in accordance with the state changed indicated in the received 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; generate an object event directed to subscribers of the respective data input stream indicating the state change for the specific product offering in accordance with the subscriber data; a plurality of client session modules, each client session module being in communication with a respective client and configured to: receive object events generated by object state managers connected to an input data stream to which the respective client has subscribed, upon receiving an object event, evaluate client object rules against the object event, the object rules selected in accordance with the particular data stream associated with the object event, and generate a state event from the object event indicating the changed state of the specific data object to the respective client in response to a positive evaluation; a plurality of delivery managers, each delivery manager being associated with a respective client session module and configured to: receive state events generated by the associated client session module, and send client events derived from the received state events to the respective client; and a client session manager having access to a plurality of client profiles, each client profile containing data stream subscription information and related client object rules, the client manager configured to: receive an initial communication from a new client; associate the new client with a new client session module; retrieve the client profile associated with the new client; identify a set of data stream subscriptions indicated in the client profile; add the new client session module to the subscription data for each object state manager connected to an input data stream to which the new client is subscribed, wherein 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 is delivered to the particular client and the snapshot of the data objects is stored at the particular client and subsequently revised with differential data; monitor the performance of communication with each client; and dynamically adjust the rate at which client events are transmitted to one or more of the respective clients in response to the monitored performance.
21. The system of claim 20 , further comprising: a state dispatch module in communication with the information manager and the object caches associated with the object state managers and configured to receive a state data request as input from a requestor, retrieve the current states of particular product offerings in accordance with the request, and return the current states to the requestor.
22. The system of claim 21 , wherein the object state manager is further configured to, upon first connecting to the respective input data stream, send a request to the state dispatch module to obtain the current states of product offerings carried on the respective data stream, the obtained currents states being used to initialize the associated object cache.
23. The system of claim 22 , wherein the client manager is further configured to send a request to the state dispatch module to obtain the current states of product offerings carried on input data streams to which the new client is subscribed and initiate the return of at least a portion of the obtained current states to the new client.
24. The system of claim 20 , wherein the client manager is further configured to: identify an unconnected data stream specified in the client profile associated with the new client; and initiate a connection to the unconnected data stream from a new object state manager.
Unknown
March 9, 2010
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.