Method and system for processing raw financial data streams to produce and distribute structured and validated product offering data to subscribing clients
First Claim
1. A method for processing information provided from at least one content provider about the state of a plurality of objects, the states being subject to periodic updates, and for delivering formatted information indicating a current state of at least a portion of the plurality of objects to a plurality of clients via a data communication network in substantially real-time, the method comprising the steps of:
- in an information manager;
receiving raw data objects on at least one raw data stream input;
generating a formatted data object from a received raw data object;
storing a current state of the formatted data object in an object storage pool; and
broadcasting the current state of the formatted data object on a particular broadcast data stream;
in a client manager;
establishing communication sessions with a plurality of clients;
connecting to at least one broadcast data stream;
receiving on a connected broadcast 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; and
transmitting the current state of the specific data object to a set of clients selected from the plurality of clients.
4 Assignments
0 Petitions
Accused Products
Abstract
A method and system is disclosed for processing information provided from various content providers in the form objects having states subject to periodic updates. Formatted information indicating a current state of the objects are delivered to subscribing clients in substantially real-time. An information manager module is configured to receiving raw data objects from the content providers, format the information, and broadcast current state information on various broadcast data stream. A client manager module supports multiple client communication sessions and connects to at least one broadcast data stream. Current state information received on a broadcast data stream is processed and transmitted to specific clients in accordance with processing rules specified in the client profiles.
205 Citations
49 Claims
-
1. A method for processing information provided from at least one content provider about the state of a plurality of objects, the states being subject to periodic updates, and for delivering formatted information indicating a current state of at least a portion of the plurality of objects to a plurality of clients via a data communication network in substantially real-time, the method comprising the steps of:
-
in an information manager;
receiving raw data objects on at least one raw data stream input;
generating a formatted data object from a received raw data object;
storing a current state of the formatted data object in an object storage pool; and
broadcasting the current state of the formatted data object on a particular broadcast data stream;
in a client manager;
establishing communication sessions with a plurality of clients;
connecting to at least one broadcast data stream;
receiving on a connected broadcast 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; and
transmitting the current state of the specific data object to a set of clients selected from the plurality of clients. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A system for processing information provided from at least one content provider about the state of a plurality of objects, the states being subject to periodic updates, and for delivering formatted information indicating a current state of at least a portion of the plurality of objects to a plurality of clients via a data communication network in substantially real-time, the system comprising:
-
an information manager comprising at least one raw data stream as input, an object pool configured to store formatted data objects, and at least one broadcast data stream as output, each raw data stream carrying a plurality of raw data objects;
the information manager configured to;
generate a formatted data object from a received raw data object;
store a current state of the formatted data object in the object storage pool; and
broadcast the current state of the formatted data object on a particular broadcast data stream;
a client manager receiving at least one broadcast data stream as input, comprising an object pool cache, and connectable to a plurality of clients;
the client manager configured to;
establish communication sessions with a plurality of clients;
connect to at least one broadcast data stream;
receive on a connected broadcast data stream a current state for a specific data object;
update an object pool cache to reflect the current state of the specific data object; and
transmit the current state of the specific data object to a set of clients selected from the plurality of clients. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49)
-
-
35. A system for processing raw data streams carrying a plurality of raw data objects containing information related to financial product offerings and subject to periodic updates, and for delivering substantially real-time offer updates to a plurality of clients via a data communication network, the system comprising:
-
at least one information manager connected to the raw data streams and providing at least one broadcast data stream as output; and
at least one client manager receiving at least one broadcast data stream as input and transmitting the offer updates to the plurality of clients;
the information manager comprising;
(a) a translator configured to receive the raw data objects as input and generate raw events comprising a set of name-value pairs derived from data in the raw data objects;
(b) a processing database having object typing and formatting rules stored therein;
(c) an offer processor connected to the processing database and configured to, in response to the receipt of a raw event;
determine an object type associated with the raw event; and
generate an external event containing a formatted data object derived from the contents of the received raw event in accordance with the formatting rules;
an object storage pool configured to store a plurality of formatted data objects therein;
(d) an offer pool manager connected to the object storage pool and configured to, upon receipt of an external event;
determine if a prior version of the formatted data object is present in an object storage pool;
if a prior version is present in the object storage pool;
determine a data differential between the formatted data object and the prior version, update the prior version of the formatted data object to correspond with the generated formatted data object, and broadcast the data differential on a broadcast data stream;
otherwise, if no prior version is present in the object storage pool;
provide the formatted data object to the connected client manager, and store the formatted data object in the object storage pool;
the client manager comprising;
(a) at least one object state manager, each object state manager connected to a respective broadcast data stream, comprising an associated object cache and subscriber data indicating subscribers to the respective data input stream, 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, and 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;
(b) 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 broadcast 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 broadcast 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;
(c) 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
(d) 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; and
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.
-
Specification