Claims
- 1. In an environment with a real-time data source and with a non-real-time data source, a method for storing, in a time-coordinated fashion, data received from the real-time and non-real-time data sources, the method comprising:
receiving real-time data from the real-time data source; storing the real-time data as entries in a real-time data file, the entries time-stamped with times associated with when the real-time data were produced; receiving non-real-time data from the non-real-time data source; storing the non-real-time data as entries in a non-real-time data file, the entries time-stamped with times of relevance of the non-real-time data; and writing a header file that associates a time interval with those entries in the real-time and non-real-time data files whose time stamps fall within the time interval.
- 2. The method of claim 1 wherein storing data as entries comprises storing the entries in a data file in order of increasing time stamps.
- 3. The method of claim 1 wherein storing data as entries comprises storing in a data file only those entries whose time stamps fall within the time interval.
- 4. The method of claim 3 wherein associating the time interval with data entries in a data file comprises associating the time interval with the data file.
- 5. The method of claim 1 wherein the real-time data file comprises a real-time database and wherein the real-time data entries are keyed by their time stamps.
- 6. The method of claim 5 wherein the non-real-time data file comprises a non-real-time database, wherein the non-real-time data entries are keyed by their time stamps, and wherein the real-time and non-real-time databases are the same database.
- 7. The method of claim 6 wherein the header file comprises a header database and wherein the header, the real-time, and the non-real-time databases are the same database.
- 8. The method of claim 1 wherein data entries are marked as associated with a data source.
- 9. The method of claim 8 wherein marking data entries as associated with a data source comprises storing only data received from the data source in a data file and associating the data file with the data source.
- 10. The method of claim 1 wherein time-stamping the non-real-time data entries with times of relevance comprises stamping a time at which input data were collected, wherein the collected input data were sent as inputs to a process, and wherein the non-real-time data received from the non-real-time data source are outputs of the process.
- 11. The method of claim 1 wherein writing a header file comprises associating the header file with the real-time and non-real-time data sources.
- 12. The method of claim 11 further comprising:
associating the header file with another data source, the other data source distinct from the real-time and non-real-time data sources; wherein associating the header file with the other data source triggers receiving data from the other data source.
- 13. The method of claim 1 further comprising:
receiving data from another data source, the other data source distinct from the real-time and non-real-time data sources; and storing the data received from the other data source as entries in a data file selected from the group consisting of: the real-time data file, the non-real-time data file, and another data file.
- 14. The method of claim 1 further comprising:
storing at least one time-stamped snapshot entry in the real-time data file; and wherein time-stamping a real-time data entry comprises stamping a period of time between the time stamp of a snapshot entry and a time when the real-time data of the entry were produced.
- 15. The method of claim 1 further comprising:
storing at least one time-stamped snapshot entry in the non-real-time data file; and wherein time-stamping a non-real-time data entry comprises stamping a period of time between the time stamp of a snapshot entry and a time of relevance of the non-real-time data.
- 16. A computer-readable medium containing computer-executable instructions for performing, in an environment with a real-time data source and with a non-real-time data source, a method for storing, in a time-coordinated fashion, data received from the real-time and non-real-time data sources, the method comprising:
receiving real-time data from the real-time data source; storing the real-time data as entries in a real-time data file, the entries time-stamped with times associated with when the real-time data were produced; receiving non-real-time data from the non-real-time data source; storing the non-real-time data as entries in a non-real-time data file, the entries time-stamped with times of relevance of the non-real-time data; and writing a header file that associates the time interval with those entries in the real-time and non-real-time data files whose time stamps fall within the time interval.
- 17. A method for retrieving, in a time-coordinated fashion, data entries from a real-time data file and from a non-real-time data file, the method comprising:
selecting a time interval of interest; accessing a header file that associates the time interval of interest with time-stamped data entries in the real-time and non-real-time data files whose time stamps fall within the time interval of interest; retrieving from the real-time data file data entries associated by the header file with the time interval of interest; retrieving from the non-real-time data file data entries associated by the header file with the time interval of interest; and coordinating the retrieval of data entries from the real-time and non-real-time data files based on the time stamps of the data entries.
- 18. The method of claim 17 wherein all data entries in a data file have time stamps falling within the time interval of interest and wherein the header file associates the time interval of interest with the data file.
- 19. The method of claim 17 wherein the real-time data file comprises a real-time database and wherein the real-time data entries are keyed by their time stamps.
- 20. The method of claim 19 wherein the non-real-time data file comprises a non-real-time database, wherein the non-real-time data entries are keyed by their time stamps, and wherein the real-time and non-real-time databases are the same database.
- 21. The method of claim 20 wherein the header file comprises a header database and wherein the header, the real-time, and the non-real-time databases are the same database.
- 22. The method of claim 17 wherein the header file further associates the time interval of interest with time-stamped data entries in another data file whose time stamps fall within the time interval of interest, the other data file distinct from the real-time and non-real-time data files; the method further comprising:
retrieving from the other data file data entries associated by the header file with the time interval of interest; and coordinating the retrieval of data entries from the other data file based on the time stamps of the data entries.
- 23. The method of claim 22 wherein at least one entry in the other data file contains a modification to an entry in the real-time data file and wherein retrieving an entry from the real-time data file comprises combining a data value stored with the real-time data entry with a data value stored with the entry in the other data file.
- 24. The method of claim 17 wherein a data file comprises at least one time-stamped snapshot entry.
- 25. The method of claim 17 wherein the header file is associated with a real-time data source and with a non-real-time data source; wherein at least some of the real-time data entries in the real-time data file are based on data from the real-time data source; wherein at least some of the non-real-time data entries in the non-real-time data file are based on data from the non-real-time data source; the method further comprising:
selecting one or more data sources; and retrieving only data entries based on data from the selected data sources.
- 26. A computer-readable medium containing computer-executable instructions for performing a method for retrieving, in a time-coordinated fashion, data entries from a real-time data file and from a non-real-time data file, the method comprising:
selecting a time interval of interest; accessing a header file that associates the time interval of interest with time-stamped data entries in the real-time and non-real-time data files whose time stamps fall within the time interval of interest; retrieving from the real-time data file data entries associated by the header file with the time interval of interest; retrieving from the non-real-time data file data entries associated by the header file with the time interval of interest; and coordinating the retrieval of data entries from the real-time and non-real-time data files based on the time stamps of the data entries.
- 27. A computer-readable medium having stored thereon a data structure, the data structure comprising:
a first data field containing data representing a time interval; a second data field containing data representing a time-stamped entry in a real-time data file whose time stamp falls within the time interval; and a third data field containing data representing a time-stamped entry in a non-real-time data file whose time stamp falls within the time interval.
- 28. The data structure of claim 27 wherein the data in the second data field represents a time-stamped entry by referring to the real-time data file that contains the time-stamped entry.
- 29. The data structure of claim 27 wherein the data in the third data field represents a time-stamped entry by referring to the non-real-time data file that contains the time-stamped entry.
- 30. The data structure of claim 27 further comprising a fourth data field containing data representing an association of the data structure with a data source.
- 31. The data structure of claim 27 further comprising a fourth data field containing data representing a time-stamped entry in another data file whose time stamp falls within the time interval, the other data file distinct from the real-time and non-real-time data files.
- 32. The data structure of claim 31 wherein the entry represented by data in the fourth data field contains a modification to the entry represented by data in the second data field.
- 33. In an environment with a real-time data source and with a non-real-time data source, a system for storing, in a time-coordinated fashion, data received from the real-time and non-real-time data sources, the system comprising:
a time interval; a real-time data file; a non-real-time data file; a header file; and a data storage coordinator for receiving data from the real-time data source, for storing the real-time data in the real-time data file as entries time-stamped with times associated with when the real-time data were produced, for receiving data from the non-real-time data source, for storing the non-real-time data in the non-real-time data file as entries time-stamped with times of relevance of the non-real-time data, and for associating the header file with those entries in the real-time and non-real-time data files whose time stamps fall within the time interval.
- 34. The system of claim 33 wherein the data storage coordinator associates the header file with the real-time and non-real-time data sources.
- 35. The system of claim 34 further comprising a user interface for associating the header file with another data source, the other data source distinct from the real-time and non-real-time data sources, and wherein the data storage coordinator receives data from the other data source and stores the data in a data file as time-stamped entries.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] The present application claims the benefit of U.S. Provisional Patent Application No. 60/300,172, filed on Jun. 22, 2001, which is hereby incorporated in its entirety by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60300172 |
Jun 2001 |
US |