Method and system for collecting and analyzing time-series data
First Claim
1. A computer-implemented data collection and analysis method comprising:
- receiving information from a user computer concerning at least one of a desired data analysis datapoint or a desired data index datapoint, wherein a datapoint comprises a datakey which provides information to allow the datapoint to be properly routed, a data value which provides data to be processed and a data interval which provides a time interval associated with the datapoint, the information being received at a host computer, the host computer being one of a plurality of host computers configured to collect and analyze data received from a plurality of source computers;
adding the information concerning at least one of the desired data analysis datapoint or the desired data index datapoint to a data structure, the data structure representing a list of at least one of data analysis datapoints or data index datapoints by the plurality of host computers;
adding additional information to the data structure concerning at least one of intermediate data analysis datapoints or intermediate data index datapoints, at least one of the intermediate data analysis datapoints or the intermediate data index datapoints being precursor inputs needed to generate at least one of the desired data analysis datapoints or the desired data index datapoints, the additional information being added based on the information received from the user computer and based on stored information; and
maintaining at least partially consistent copies of the data structure across the plurality of host computers, wherein the data structure stores information indicating how routing of at least one of the intermediate data analysis datapoints or the intermediate data index datapoints should be performed between the plurality of host computers and wherein the routing of at least one of the intermediate data analysis datapoints or the intermediate data index datapoints is performed by a datapoint router associated with each copy of the data structure.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer-implemented data processing method comprises receiving information from a user computer concerning a desired output to be generated, adding the information concerning the desired output to be generated to a data structure, and adding additional information to the data structure concerning intermediate outputs to be generated. The information concerning the desired output to be generated is received at a host computer. The host computer is one of a plurality of host computers configured to collect and analyze data received from a plurality of source computers. The data structure represents a list of outputs to be generated by the plurality of host computers. The intermediate outputs are precursor inputs needed to generate the desired output. The additional information is added to the data structure based on the information received from the user computer and based on stored information.
-
Citations
43 Claims
-
1. A computer-implemented data collection and analysis method comprising:
-
receiving information from a user computer concerning at least one of a desired data analysis datapoint or a desired data index datapoint, wherein a datapoint comprises a datakey which provides information to allow the datapoint to be properly routed, a data value which provides data to be processed and a data interval which provides a time interval associated with the datapoint, the information being received at a host computer, the host computer being one of a plurality of host computers configured to collect and analyze data received from a plurality of source computers; adding the information concerning at least one of the desired data analysis datapoint or the desired data index datapoint to a data structure, the data structure representing a list of at least one of data analysis datapoints or data index datapoints by the plurality of host computers; adding additional information to the data structure concerning at least one of intermediate data analysis datapoints or intermediate data index datapoints, at least one of the intermediate data analysis datapoints or the intermediate data index datapoints being precursor inputs needed to generate at least one of the desired data analysis datapoints or the desired data index datapoints, the additional information being added based on the information received from the user computer and based on stored information; and maintaining at least partially consistent copies of the data structure across the plurality of host computers, wherein the data structure stores information indicating how routing of at least one of the intermediate data analysis datapoints or the intermediate data index datapoints should be performed between the plurality of host computers and wherein the routing of at least one of the intermediate data analysis datapoints or the intermediate data index datapoints is performed by a datapoint router associated with each copy of the data structure. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A system for collecting and analyzing time-series data from a plurality of data source computers, comprising:
-
a data structure comprising a list of calculation descriptors inserted by a plurality of user computers, the calculation descriptors describing at least one of desired data analysis datapoints or desired data index datapoints of the system, wherein a datapoint comprises a datakey which provides information to allow the datapoint to be properly routed, a data value which provides data to be processed and a data interval which provides a time interval associated with the datapoint; and a plurality of computer-implemented nodes having access to the data structure, the data structure comprising a plurality of copies maintained at each of the plurality of computer-implemented nodes, consistency of the copies of the data structure being maintained through a gossip protocol, the plurality of computer-implemented nodes comprising a plurality of processes, the plurality of processes being configured to generate at least one of the desired data analysis datapoints or the desired data index datapoints, and the processes being configured to insert additional calculation descriptors in the data structure to prompt the generation of additional at least one of data analysis datapoints or desired data index datapoints needed to generate at least one of the desired data analysis datapoints or the desired data index datapoints described by the calculation descriptors inserted by the plurality of user computers. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24)
-
-
25. A system for collecting and analyzing time-series data from a plurality of data source computers, comprising:
-
a calculation table comprising a list of calculation descriptors inserted by a plurality of user computers, the calculation descriptors describing at least one of desired data analysis datapoints or desired data index datapoints of the system, wherein a datapoint comprises a datakey which provides information to allow the datapoint to be properly routed, a data value which provides data to be processed and a data interval; a plurality of computer-implemented nodes having access to the calculation table, wherein the calculation table comprises a plurality of copies maintained at the plurality of computer-implemented nodes and wherein consistency of the copies of the calculation table is maintained through a gossip protocol; and a plurality of computer-implemented partitions owned by the plurality of computer-implemented nodes, the plurality of computer-implemented partitions comprising time-series processes that process the time-series data; wherein the time-series processes comprise first time-series processes configured to generate at least one of the desired data analysis datapoints or desired data index datapoints described by the calculation descriptors inserted by the plurality of user computers; wherein the first time-series processes have precursor inputs; wherein the first time-series processes are configured to insert additional calculation descriptors in the calculation table; and wherein the time-series processes comprise additional time-series processes created in response to the insertion of the additional calculation descriptors in the calculation table by the first time-series processes, the additional time-series processes being configured to generate the precursor inputs for the first time-series processes based on the additional calculation descriptors. - View Dependent Claims (26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37)
-
-
38. A non-transitory computer readable medium having computer executable instructions that direct a computing system comprising a plurality of host computers to:
-
receive information from a user computer concerning at least one of a desired data analysis datapoint or a desired data index datapoint, wherein a datapoint comprises a datakey which provides information to allow the datapoint to be properly routed, a data value which provides data to be processed and a data interval, the information being received at a host computer, the host computer being one of the plurality of host computers configured to collect and analyze data received from a plurality of source computers; add the information concerning at least one of the desired data analysis datapoint or the desired data index datapoint to a data structure, the data structure representing a list of at least one of data analysis datapoints or data index datapoints by the plurality of host computers; add additional information to the data structure concerning at least one of intermediate data analysis datapoints or intermediate data index datapoints, at least one of the intermediate data analysis datapoints or the intermediate data index datapoints being precursor inputs needed to generate at least one of the desired data analysis datapoints or the desired data index datapoints, the additional information being added based on the information received from the user computer and based on stored information; and maintain at least partially consistent copies of the data structure across the plurality of host computers, wherein the data structure stores information indicating how routing of at least one of the intermediate data analysis datapoints or the intermediate data index datapoints should be performed between the plurality of host computers and wherein the routing of at least one of the intermediate data analysis datapoints or the intermediate data index datapoints is performed by a datapoint router associated with each copy of the data structure. - View Dependent Claims (39, 40, 41, 42)
-
-
43. A system for collecting and analyzing time-series data from a plurality of data source computers, comprising:
-
a calculation table comprising a list of calculation descriptors inserted by a plurality of user computers, the calculation descriptors describing at least one of desired data analysis datapoints or desired data index datapoints of the system, wherein a datapoint comprises a datakey which provides information to allow the datapoint to be properly routed, a data value which provides data to be processed and a data interval; a plurality of computer-implemented nodes having access to the calculation table; a plurality of computer-implemented partitions owned by the plurality of computer-implemented nodes, the plurality of computer-implemented partitions comprising time-series processes that process the time-series data, wherein the calculation table stores information indicating how data routing should be performed between the plurality of computer-implemented partitions; and a datapoint router associated with the calculation table; wherein the time-series processes comprise first time-series processes configured to generate at least one of the desired data analysis datapoints or desired data index datapoints described by the calculation descriptors inserted by the plurality of user computers; wherein the first time-series processes have precursor inputs; wherein the first time-series processes are configured to insert additional calculation descriptors in the calculation table; and wherein the time-series processes comprise additional time-series processes created in response to the insertion of the additional calculation descriptors in the calculation table by the first time-series processes, the additional time-series processes being configured to generate the precursor inputs for the first time-series processes based on the additional calculation descriptors.
-
Specification