Method and system for processing raw financial data streams to produce and distribute structured and validated product offering objects
First Claim
1. A method for processing raw data streams carrying a plurality of raw data objects containing information which is subject to periodic updates, the method comprising the steps of:
- receiving a raw data object carried on a raw data stream input;
determining an object type of the raw data object;
generating a formatted data object based on the contents of the raw data object by applying a set of formatting rules;
determining 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;
determining a data differential between the formatted data object and the prior version;
updating the prior version of the formatted data object to correspond with the generated formatted data object; and
broadcasting the data differential on an output broadcast data channel;
otherwise, if no prior version is present in the object storage pool;
providing the formatted data object to subscriber processes; and
storing the formatted data object in the object storage pool.
2 Assignments
0 Petitions
Accused Products
Abstract
A real time information manager which processes raw data from data providers, such as feeds of current information about financial product offerings, is provided. Raw data objects received from various data providers are analyzed, formatted, and a current version of each unique data object is stored in an object storage pool. Information about the state of each objects is transmitted on a particular output data channel in accordance with the type of object. A subscriber process can access one or more of the data channels and utilize the broadcast data. In one configuration, one or more client managers are provided which subscribe to particular data channels and serve as an intermediary between the real time information manager and sets of clients.
79 Citations
34 Claims
-
1. A method for processing raw data streams carrying a plurality of raw data objects containing information which is subject to periodic updates, the method comprising the steps of:
-
receiving a raw data object carried on a raw data stream input;
determining an object type of the raw data object;
generating a formatted data object based on the contents of the raw data object by applying a set of formatting rules;
determining 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;
determining a data differential between the formatted data object and the prior version;
updating the prior version of the formatted data object to correspond with the generated formatted data object; and
broadcasting the data differential on an output broadcast data channel;
otherwise, if no prior version is present in the object storage pool;
providing the formatted data object to subscriber processes; and
storing the formatted data object in the object storage pool. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 16, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
13. A method for processing a raw data stream generated by a financial product provider and carrying a plurality of raw data objects containing information related to financial product offerings and subject to periodic updates, the method comprising the steps of:
-
receiving a raw data object carried on a raw data stream input;
determining an object type of the raw data object;
generating a formatted data object based on the contents of the raw data object by applying a set of formatting rules selected in accordance with the determined object type;
determining 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;
determining a data differential between the formatted data object and the prior version;
updating the prior version of the formatted data object to correspond with the generated formatted data object; and
incrementing a sequence number associated with the formatted data object; and
broadcasting the data differential and the sequence number on an output broadcast data channel selected from a plurality of broadcast channels according to the object type;
otherwise, if no prior version is present in the object storage pool;
providing the formatted data object to subscriber processes; and
storing the formatted data object and an associated initial sequence number in the object storage pool.
-
-
15. A system for processing raw data streams carrying a plurality of raw events containing information which is subject to periodic updates, the system comprising:
-
an information manager receiving the raw data streams as input;
a processing database connected to the information manager and having object typing and formatting rules stored therein; and
an object storage pool connected to the information manager;
the information manager configured to;
receive a raw data object carried on a particular raw data stream input;
identify an object type of the raw data object in accordance with the object typing rules;
generate a formatted data object based on the contents of the raw data object by in accordance with the formatting rules;
determine if a prior version of the formatted data object is present in the object storage pool and in response to a negative determination;
(a) provide the formatted data object to subscriber processes, and (b) store the formatted data object in the object storage pool. otherwise, in response to a negative determination;
(a) update the prior version of the formatted data object to correspond with the generated formatted data object, (b) identify a data differential between the formatted data object and the prior version, and (c) broadcast the data differential on an output broadcast data channel.
-
-
24. A system for processing raw data streams generated by respective financial product providers, each stream carrying a plurality of raw data objects containing information related to financial product offerings and subject to periodic updates, the system comprising:
-
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;
a processing database having object typing and formatting rules stored therein;
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;
an offer pool manager connected to the object storage pool and configured to, upon receipt of an external event;
(a) determine if a prior version of the formatted data object is present in an object storage pool;
(b) 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 an output broadcast data channel;
(c) otherwise, if no prior version is present in the object storage pool;
provide the formatted data object to subscriber processes, and store the formatted data object in the object storage pool.
-
Specification