Method and system for collecting and retrieving time-series, real-time and non-real-time data
First Claim
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, streaming 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.
6 Assignments
0 Petitions
Accused Products
Abstract
Disclosed is a data collection and retrieval system that puts data produced by real-time and non-real-time data sources into parallel “streams” or data files. Real-time data points are stored with time stamps in data files and non-real-time data points with time stamps are stored in other data files. Real-time data points are stamped with the times at which their data were collected. Non-real-time data points are stored in time-sequential order, the sequence time being the time of relevance rather than the time of collection. By referencing the streams that contain data points relevant to a given period, header files facilitate coordinated retrieval of data from multiple parallel streams. The time stamps allow the data points to be merged together into one coordinated, time-sequential data stream for analysis. The parallel stream data collection and retrieval technique allows operators to add or delete data sources without shutting down the process being monitored.
-
Citations
37 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, streaming 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 34)
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.
-
-
12. 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.
-
-
13. 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.
-
-
14. 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.
-
-
34. The method of claim 1 wherein at least some of the time-stamped real-time and non-real-time data entries measure aspects of an industrial process.
-
15. 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, streaming 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.
-
-
16. A method for retrieving, in a time-coordinated fashion, data entries from a real-time, streaming 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. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 29, 30, 35)
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.
-
-
21. The method of claim 20 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.
-
22. The method of claim 16 wherein a data file comprises at least one time-stamped snapshot entry.
-
23. The method of claim 16 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.
- 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;
-
29. The data structure of claim 23 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.
-
30. The data structure of claim 29 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.
-
35. The method of claim 16 wherein at least some of the time-stamped real-time and non-real-time data entries measure aspects of an industrial process.
-
24. 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, streaming 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.
-
-
25. 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. - View Dependent Claims (26, 27, 28, 36)
-
-
31. 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, streaming 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. - View Dependent Claims (32, 33, 37)
-
Specification