Systems and methods for storing, updating, searching, and filtering time-series datasets
AssigneeMoonshadow Mobile, Inc.
InventorsRoy W. Ward, David S. Alavi
Life of this patent
Estimating the term…
Abstract
A method includes generating from a time-series dataset multiple corresponding time-slice datasets. Each time-slice dataset has a corresponding time-slice time index and includes field-value data strings and associated field-value-time-index data strings, or pointers indicating the corresponding strings in an earlier time-slice dataset, that are the latest in the time-series dataset that are also earlier than the corresponding time-slice time index. A query of the time-series dataset for latest data records earlier than a given query time index is performed by using the time-slice datasets to reduce or eliminate the need to directly access or interrogate the time-series dataset.
Claims22
1-29. (canceled)
A computer-implemented method for searching or filtering a time-series dataset:
- (a) wherein (i) electronic indicia of the time-series dataset are stored in a computer-searchable format on one or more tangible, non-transitory computer-readable media of a computer system, (ii) for each one of multiple defined data fields, the time-series dataset includes one or more corresponding field-value (FV) data strings, (iii) the time-series dataset includes multiple field-value-time-index (FVTI) data strings, and (iv) each one of the FV data strings is associated with a corresponding one of the multiple FVTI data strings that indicates a time when information represented by that FV data string was acquired, measured, generated, or recorded;
- and
- (b) wherein (i) electronic indicia of multiple time-slice datasets are stored in a computer-searchable format on one or more tangible, non-transitory computer-readable media of the computer system, (ii) each one of the multiple time-slice datasets corresponds to a designated time-slice time index (TSTI) that differs from the corresponding TSTI of at least one other of the multiple time-slice datasets, (iii) for each one of multiple designated subsets of the multiple defined data fields, each time-slice dataset includes a corresponding time-slice data subset, (iv) each time-slice data subset includes, for each data field of the corresponding designated subset of the multiple data fields, (A) either a corresponding single FV data string from the time-series dataset or a pointer indicating, either directly or through one or more intervening pointers, a corresponding FV data string in a corresponding time-slice data subset with an earlier TSTI, and (B) for the FV data string included or indicated in subpart (A), either the associated FVTI data string from the time-series dataset or a pointer indicating, either directly or through one or more intervening pointers, the corresponding associated FVTI data string in a corresponding time-slice data subset with an earlier TSTI, and (v) each FVTI data string included in, or indicated by a pointer of, each time-slice data subset represents a latest FVTI in the time-series dataset, for the associated FV data string, that is earlier than the TSTI of that time-slice data subset,
- the method comprising:
- (A) receiving at the computer system an electronic query for a list, tabulation, graph, display, or enumeration of FV data strings, of a queried subset of the multiple data fields specified in the query, having latest associated FVTI data strings earlier than a query time index (QTI);
- (B) using one or more electronic processors of the computer system programmed therefor, for each field of the queried subset, automatically identifying an associated latest FVTI data string that is earlier than the QTI;
- (C) using one or more electronic processors of the computer system programmed therefor, automatically electronically interrogating, in the time series dataset or in one of the time-slice datasets, the FVTI data strings identified in part (B) or the FV data strings associated with the FVTI data strings identified in part (B);
- and
- (D) using one or more electronic processors, displays, or tangible, non-transitory computer-readable media of the computer system, listing, tabulating, graphing, displaying, or enumerating FV or FVTI data strings, among the FV or FVTI data strings interrogated in part (C), that satisfy one or more search or filter criteria included in the query of part (A),
- wherein the identification of part (B) includes, for each field of the queried subset:
- (E) one or both of (i) determining a latest TSTI among the time-slice datasets that is earlier than the QTI, or (ii) determining an earliest TSTI among the time-slice datasets that is later than the QTI;
- (F) querying the time-slice dataset corresponding to at least one TSTI determined in part (E) to determine an FVTI data string or pointer of the queried time-slice dataset that is associated with the queried field;
- and
- (G) identifying the corresponding latest FVTI data string that is earlier than the QTI (i) based on the FVTI data string or pointer determined in part (F), or (ii) by interrogating corresponding FVTI data strings of the time series dataset that are associated with the field of the queried subset while excluding from the interrogation, based on the FVTI data string or pointer determined in part (F), some FVTI data strings of the time-series dataset.
(canceled)
A computer system comprising one or more electronic processors and one or more tangible, non-transitory computer-readable media operatively coupled thereto,
- (a) wherein (i) one or more of the computer-readable media are encoded so as to store electronic indicia of the time-series dataset, (ii) for each one of multiple defined data fields, the time-series dataset includes one or more corresponding field-value (FV) data strings, (iii) the time-series dataset includes multiple field-value-time-index (FVTI) data strings, and (iv) each one of the FV data strings is associated with a corresponding one of the multiple FVTI data strings that indicates a time when information represented by that FV data string was acquired, measured, generated, or recorded;
- (b) wherein (i) one or more of the computer-readable media are encoded so as to store electronic indicia of multiple time-slice datasets, (ii) each one of the multiple time-slice datasets corresponds to a designated time-slice time index (TSTI) that differs from the corresponding TSTI of at least one other of the multiple time-slice datasets, (iii) for each one of multiple designated subsets of the multiple defined data fields, each time-slice dataset includes a corresponding time-slice data subset, (iv) each time-slice data subset includes, for each data field of the corresponding designated subset of the multiple data fields, (A) either a corresponding single FV data string from the time-series dataset or a pointer indicating, either directly or through one or more intervening pointers, a corresponding FV data string in a corresponding time-slice data subset with an earlier TSTI, and (B) for the FV data string included or indicated in subpart (A), either the associated FVTI data string from the time-series dataset or a pointer indicating, either directly or through one or more intervening pointers, the corresponding associated FVTI data string in a corresponding time-slice data subset with an earlier TSTI, and (v) each FVTI data string included in, or indicated by a pointer of, each time-slice data subset represents a latest FVTI in the time-series dataset, for the associated FV data string, that is earlier than the TSTI of that time-slice data subset;
- and wherein the computer system is structured, connected, and programmed to perform a method comprising:
- (A) receiving at the computer system an electronic query for a list, tabulation, graph, display, or enumeration of FV data strings, of a queried subset of the multiple data fields specified in the query, having latest associated FVTI data strings earlier than a query time index (QTI);
- (B) using one or more electronic processors of the computer system programmed therefor, for each field of the queried subset, automatically identifying an associated latest FVTI data string that is earlier than the QTI;
- (C) using one or more electronic processors of the computer system programmed therefor, automatically electronically interrogating, in the time series dataset or in one of the time-slice datasets, the FVTI data strings identified in part (B) or the FV data strings associated with the FVTI data strings identified in part (B);
- and
- (D) using one or more electronic processors, displays, or tangible, non-transitory computer-readable media of the computer system, listing, tabulating, graphing, displaying, or enumerating FV or FVTI data strings, among the FV or FVTI data strings interrogated in part (C), that satisfy one or more search or filter criteria included in the query of part (A),
- wherein the identification of part (B) includes, for each field of the queried subset:
- (E) one or both of (i) determining a latest TSTI among the time-slice datasets that is earlier than the QTI, or (ii) determining an earliest TSTI among the time-slice datasets that is later than the QTI;
- (F) querying the time-slice dataset corresponding to at least one TSTI determined in part (E) to determine an FVTI data string or pointer of the queried time-slice dataset that is associated with the queried field;
- and
- (G) identifying the corresponding latest FVTI data string that is earlier than the QTI (i) based on the FVTI data string or pointer determined in part (F), or (ii) by interrogating corresponding FVTI data strings of the time series dataset that are associated with the field of the queried subset while excluding from the interrogation, based on the FVTI data string or pointer determined in part (F), some FVTI data strings of the time-series dataset.
A tangible, non-transitory computer-readable medium encoded with electronic indicia of instructions which, when applied to a computer system, cause the computer system to perform a method,
- (a) wherein (i) electronic indicia of the time-series dataset are stored in a computer-searchable format on one or more tangible, non-transitory computer-readable media of the computer system, (ii) for each one of multiple defined data fields, the time-series dataset includes one or more corresponding field-value (FV) data strings, (iii) the time-series dataset includes multiple field-value-time-index (FVTI) data strings, and (iv) each one of the FV data strings is associated with a corresponding one of the multiple FVTI data strings that indicates a time when information represented by that FV data string was acquired, measured, generated, or recorded;
- (b) wherein (i) electronic indicia of multiple time-slice datasets are stored in a computer-searchable format on one or more tangible, non-transitory computer-readable media of the computer system, (ii) each one of the multiple time-slice datasets corresponds to a designated time-slice time index (TSTI) that differs from the corresponding TSTI of at least one other of the multiple time-slice datasets, (iii) for each one of multiple designated subsets of the multiple defined data fields, each time-slice dataset includes a corresponding time-slice data subset, (iv) each time-slice data subset includes, for each data field of the corresponding designated subset of the multiple data fields, (A) either a corresponding single FV data string from the time-series dataset or a pointer indicating, either directly or through one or more intervening pointers, a corresponding FV data string in a corresponding time-slice data subset with an earlier TSTI, and (B) for the FV data string included or indicated in subpart (A), either the associated FVTI data string from the time-series dataset or a pointer indicating, either directly or through one or more intervening pointers, the corresponding associated FVTI data string in a corresponding time-slice data subset with an earlier TSTI, and (v) each FVTI data string included in, or indicated by a pointer of, each time-slice data subset represents a latest FVTI in the time-series dataset, for the associated FV data string, that is earlier than the TSTI of that time-slice data subset;
- and wherein the method comprises:
- (A) receiving at the computer system an electronic query for a list, tabulation, graph, display, or enumeration of FV data strings, of a queried subset of the multiple data fields specified in the query, having latest associated FVTI data strings earlier than a query time index (QTI);
- (B) using one or more electronic processors of the computer system programmed therefor, for each field of the queried subset, automatically identifying an associated latest FVTI data string that is earlier than the QTI;
- (C) using one or more electronic processors of the computer system programmed therefor, automatically electronically interrogating, in the time series dataset or in one of the time-slice datasets, the FVTI data strings identified in part (B) or the FV data strings associated with the FVTI data strings identified in part (B);
- and
- (D) using one or more electronic processors, displays, or tangible, non-transitory computer-readable media of the computer system, listing, tabulating, graphing, displaying, or enumerating FV or FVTI data strings, among the FV or FVTI data strings interrogated in part (C), that satisfy one or more search or filter criteria included in the query of part (A),
- wherein the identification of part (B) includes, for each field of the queried subset:
- (E) one or both of (i) determining a latest TSTI among the time-slice datasets that is earlier than the QTI, or (ii) determining an earliest TSTI among the time-slice datasets that is later than the QTI;
- (F) querying the time-slice dataset corresponding to at least one TSTI determined in part (E) to determine an FVTI data string or pointer of the queried time-slice dataset that is associated with the queried field;
- and
- (G) identifying the corresponding latest FVTI data string that is earlier than the QTI (i) based on the FVTI data string or pointer determined in part (F), or (ii) by interrogating corresponding FVTI data strings of the time series dataset that are associated with the field of the queried subset while excluding from the interrogation, based on the FVTI data string or pointer determined in part (F), some FVTI data strings of the time-series dataset.
Dependencies are inferred from the claim text.