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.
- 2. The method of claim 1, wherein the formatted data object stored in the object storage pool has an associated sequence number;
the step of updating comprising the step of incrementing the sequence number of the formatted data object; the step of broadcasting the data differential including broadcasting the sequence number associated with the formatted data object.
- 3. The method of claim 1, wherein the step of providing the formatted data object comprises broadcasting the formatted data object on the output broadcast channel.
- 4. The method of claim 1, wherein the broadcast channel is selected from a plurality of broadcast channels according to the object type.
- 5. The method of claim 1, wherein the applied formatting rules are selected in accordance with the determined object type.
- 6. The method of claim 1, further comprising the step of translating the raw data object into a raw event comprising at least one name-value pair prior to performing the steps of determining an object type of the raw data object and generating a formatted data object.
- 7. The method of claim 1, further comprising the steps of:
validating the contents of the raw data object; and upon a failed validation, preventing subsequent broadcast of the data differential or formatted data object derived from the respective raw data object.
- 8. The method of claim 1, further comprising the steps of:
receiving a particular formatted data object at a subscriber process; storing the received formatted data object in a database associated with the subscriber process; receiving at the subscriber process a data differential for the particular formatted object via the broadcast data channel; and updating the stored formatted data object in accordance with the received data differential.
- 9. The method of claim 8, wherein the broadcast data channel is received by a plurality of subscriber processes.
- 10. The method of claim 8, wherein the subscriber processes receives a plurality of broadcast channels.
- 11. The method of claim 8, further comprising the step of communicating information about the formatted data object stored in the subscriber database to a remote location.
- 12. The method of claim 1, wherein the raw data object comprises information related to a financial product offering.
- 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.
- 14. The method of claim 13, wherein the step of providing the formatted data object comprises broadcasting the formatted data object on the output broadcast channel.
- 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.
- 16. The system of claim 15, wherein the information manager is further configured to:
associate a respective sequence number with formatted data objects stored in the object storage pool; increment the respective sequence number during an update to the formatted data object in the storage pool; and broadcast the respective sequence number with the data differential.
- 17. The system of claim 15, wherein the formatted data objects are provided to subscriber processes via the output broadcast channel.
- 18. The system of claim 15, wherein the information manager is further configured to select the broadcast channel from a plurality of broadcast channels according to the identified object type.
- 19. The system of claim 15, wherein the information manager is further configured to apply particular formatting rules selected in accordance with the identified object type.
- 20. The system of claim 15, further comprising at least one client manager connected to the broadcast channel; the client manager configured to:
receive a particular formatted data object; store the received formatted data object in a database associated with the client manager; receive a data differential for the particular formatted object via the broadcast data channel; and update the stored formatted data object in accordance with the received data differential.
- 21. The system of claim 20, wherein the client manager is further configured to provide information related to data objects stored in the associated database to a plurality of subscribing clients.
- 22. The system of claim 20, wherein a plurality of client managers are connected to the broadcast data channel.
- 23. The system of claim 15, wherein the raw data objects comprise information related to a financial product offerings.
- 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.
- 25. The system of claim 24, wherein the offer pool manager is further configured to:
associate a sequence number with the formatted data object stored in the object storage pool; increment the sequence number upon updating the formatted data object; and broadcast the sequence number associated with the formatted data object with the data differential.
- 26. The system of claim 24, wherein the offer pool manager is configured to provide the formatted data object by broadcasting the formatted data object on the output broadcast channel.
- 27. The system of claim 24, wherein the offer pool manager is configured to select the broadcast channel from a plurality of broadcast channels in accordance with the object type.
- 28. The system of claim 24, wherein the offer processor is configured to apply specific formatting rules in accordance with the determined object type.
- 29. The system of claim 24, the processing database further having object validation conditions stored therein;
the offer processor being further configured to validate the contents of the raw data object in accordance with selected validation conditions.
- 30. The system of claim 24, wherein the object typing and formatting rules are stored in a tree format;
the tree having a root node and at least one descendant stream nodes, each stream node being associated with a specific raw data stream; each stream node further having at least one type leaf node descending therefrom, each type leaf node being associated with a specific object type carried by the raw data stream associated with the respective stream node; each type leaf node having at least one associated object typing rule for identifying objects of the type associated with the respective type leaf node.
- 31. The system of claim 30, wherein each type leaf node further has at least one associated formatting rule.
- 32. The system of claim 24, further comprising at least one client manager in communication with the information manager;
the client manager configured to:
receive a particular formatted data object from the offer pool manager; store the particular formatted data object in an associated client manager database; receive a data differential for the particular formatted object via the broadcast data channel; and update the stored formatted data object in accordance with the received data differential.
- 33. The system of claim 32, wherein the client manager is further configured to communicate information about the formatted data object stored in the subscriber database to a remote location.
- 34. The system of claim 24, wherein the raw data object comprises information related to a financial product offering.
CROSS-REFERENCE(S) TO RELATED APPLICATIONS
[0001] This application claims priority under 35 U.S.C. § 119 from U.S. Provisional Application Ser. No. 60/223,397 filed on Aug. 4, 2000 and entitled “Real Time Host Infrastructure” and U.S. Provisional Application Ser. No. 60/227,162 filed on Aug. 22, 2000 and entitled “Enhanced Information Delivery.” The entire contents of both these applications is hereby incorporated by reference.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60223397 |
Aug 2000 |
US |
|
60227162 |
Aug 2000 |
US |