IP Library Granted Patent US 10,303,697
Granted Patent B1
US 10,303,697 · App. 14/749,890 · Granted May 28, 2019

Temporal data system

Inventors: John H. Naegle (Albuquerque, NM); James Bradley Aimone (Albuquerque, NM); Frances S. Chance (Albuquerque, NM); Craig Michael Vineyard (Albuquerque, NM); David R. Follett (Boxborough, MA); Pamela L. Follett (Boxborough, MA)
Assignees: National Technology & Engineering Solutions of Sandia, LLC; Lewis Rhodes Labs, Inc.
G06F16/254G06F16/258G06F16/86G06N5/04G06N7/005
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,303,697
App. No.
14/749,890
Granted
May 28, 2019
Kind
B1
Abstract

A method for processing data is provided. Data is identified by a computer system. The data is processed in parallel by the computer system using temporal transformations to form pieces of temporal data. The pieces of temporal data are placed by the computer system in an order as the pieces of temporal data are generated by the temporal transformations to form a sequence of temporal data. The order of the sequence is based on a priority of when the pieces of temporal data should be processed, enabling performing an action.

Claims (64)

1. A method for processing data, the method comprising:

identifying, by a computer system, the data in a first state;

processing, by the computer system, the data in parallel using temporal transformations to form pieces of temporal data, wherein the temporal data comprises all of: a value describing a state of an object, a probability that the state of the object is correct, and a time for which the probability exists for the state of the object, and wherein the temporal transformations place the pieces of temporal data into a data structure;

determining, by the computer system, a priority with which each piece of temporal data is to be processed to enable performance of an action, wherein determining priority is based on all of the state, the probability that the state is correct, and the time for which the probability exists;

placing, by the computer system, the pieces of temporal data into a sequence of temporal data according to priority, wherein the sequence of temporal data can be accessed by a processor more quickly and with less use of processor resources than the data in the first state; and

performing, by the computer system, an action based on processing the pieces of temporal data according to the sequence of temporal data.

2. The method of claim 1 , wherein the temporal transformations form a model for placing the pieces of temporal data into the sequence of temporal data.

3. The method of claim 1 , wherein a number of the temporal transformations change over time based on a learning system, and wherein the temporal transformations further store the sequence as an additional piece of data in the database such that the pieces of temporal data include prior pieces of temporal data previously generated by prior temporal transformations.

4. The method of claim 1 , wherein the data includes metadata about the data, and wherein the temporal transformations convert the data into the pieces of temporal data based on the metadata.

5. The method of claim 4 , wherein the metadata about the data includes additional temporal data.

6. The method of claim 5 , wherein the additional temporal data is for at least one of the data or an object affected by the pieces of temporal data.

7. The method of claim 1 , wherein the data in the first state is a stream of data and the sequence of temporal data is a stream of the pieces of temporal data.

8. The method of claim 1 , further comprising:

filtering ones of the pieces of temporal data and removing from the data structure those pieces of temporal data that fail to meet a minimum probability that the state is correct.

9. The method of claim 8 further comprising:

storing a key in the database that maps the sequence of temporal data to the data in the first state.

10. The method of claim 8 , wherein the database is selected from at least one of a hierarchical database or a relational database.

11. The method of claim 8 , wherein the processing step comprises:

identifying, by the database in the computer system, the data in the first state in the database using a key in the database that maps the data in the first state to the temporal transformations;

retrieving the data in the database using the key; and

processing, by the database in the computer system, the data retrieved in parallel using the temporal transformations to form the pieces of temporal data.

12. A method for processing data, the method comprising:

identifying, by a computer system, a key in a database that maps the data in a first state in the database to temporal transformations, wherein the temporal transformations form pieces of temporal data from the data, wherein the temporal data comprises all of: a value describing a state of an object, a probability that the state of the object is correct, and a time for which the probability exists for the state of the object;

retrieving, by the computer system, the data for the temporal transformations using the key;

processing, by the computer system, the data in parallel using the temporal transformations to form the pieces of temporal data, and wherein the temporal transformations place the pieces of temporal data into a data structure;

determining, by the computer system, a priority with which each piece of temporal data is to be processed to enable performance of an action, wherein determining is based on all of the state, the probability that the state is correct, and the time for which the probability exists;

placing, by the computer system, the pieces of temporal data into a sequence of temporal data according to priority, wherein the sequence of temporal data can be accessed by a processor more quickly and with less use of processor resources than the data in the first state; and

performing, by the computer system, an action based on processing the pieces of temporal data according to the sequence of temporal data, wherein the action performed is one of generating an alert, generating a warning, sending a message, displaying an indicator on a display system, displaying an indicator identifying a location of an object, tracking an object, identifying an object.

13. A computer system comprising:

an information processor that identifies data in a first state; processes the data in parallel using temporal transformations to form pieces of temporal data, wherein the temporal data comprises all of: a value describing a state of an object, a probability that the state of the object is correct, and a time for which the probability exists for the state of the object, and wherein the temporal transformations place the pieces of temporal data into a data structure; determines a priority with which each piece of temporal data is to be processed to enable performance of an action, wherein determining is based on all of the state, the probability that the state is correct, and the time for which the probability exists; places the pieces of temporal data into a sequence of temporal data according to priority, wherein the sequence of temporal data can be accessed more quickly and with less use of processor resources than the data in the first state; and performing an action based on processing the pieces of temporal data according to the sequence of temporal data.

14. The computer system of claim 13 , wherein the temporal transformations form a model for placing the pieces of temporal data into the sequence of temporal data.

15. The computer system of claim 13 , wherein a number of the temporal transformations change over time based on a learning system.

16. The computer system of claim 13 , wherein the data includes metadata about the data, and wherein the temporal transformations convert the data into the pieces of temporal data based on the metadata.

17. The computer system of claim 16 , wherein the metadata about the data includes additional temporal data.

18. The computer system of claim 17 , wherein the additional temporal data is for at least one of the data or an object affected by the pieces of temporal data.

19. The computer system of claim 13 , wherein the data in the first state is a stream of data and the sequence of temporal data is a stream of the pieces of temporal data.

20. The computer system of claim 13 , wherein the data is in a database.

21. The computer system of claim 20 further comprising:

storing a key in the database that maps the sequence of temporal data to the data in the first state.

22. The computer system of claim 20 , wherein the database is selected from at least one of a hierarchical database or a relational database.

23. A computer program product for processing data, the computer program product comprising:

a computer readable storage media; and

program code, stored on the computer readable storage media, for:

identifying the data in a first state;

processing the data in parallel using temporal transformations to form pieces of temporal data, wherein the temporal data comprises all of: a value describing a state of an object, a probability that the state of the object is correct, and a time for which the probability exists for the state of the object, and wherein the temporal transformations place the pieces of temporal data into a data structure;

determining a priority with which each piece of temporal data is to be processed to enable performance of an action, wherein determining is based on all of the state, the probability that the state is correct, and the time for which the probability exists;

placing the pieces of temporal data into a sequence of temporal data according to priority, wherein the sequence of temporal data can be accessed by a processor more quickly and with less use of processor resources than the data in the first state; and

performing an action based on processing the pieces of temporal data according to the sequence of temporal data, wherein the action performed is one of generating an alert, generating a warning, sending a message, displaying an indicator on a display system, displaying an indicator identifying a location of an object, tracking an object, identifying an object.

24. The method of claim 1 , wherein the action performed based on processing the pieces of temporal data is one of:

generating an alert;

generating a warning;

sending a message;

displaying an indicator on a display system;

displaying an indicator identifying a location of an object;

tracking an object; or

identifying an object.

25. The computer system of claim 13 , wherein the action performed based on processing the pieces of temporal data is one of:

generating an alert;

generating a warning;

sending a message;

displaying an indicator on a display system;

displaying an indicator identifying a location of an object;

tracking an object; or

identifying an object.

Assignments (4)
CHANGE OF NAME Recorded Apr 3, 2019
From: SANDIA CORPORATION
To: NATIONAL TECHNOLOGY & ENGINEERING SOLUTIONS OF SANDIA, LLC
Reel/Frame 048788/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2017
From: FOLLETT, DAVID R.; FOLLETT, PAMELA L.
To: LEWIS RHODES LABS, INC.
Reel/Frame 041342/0524 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2016
From: NAEGLE, JOHN H.; AIMONE, JAMES BRADLEY; CHANCE, FRANCES S.; VINEYARD, CRAIG MICHAEL
To: SANDIA CORPORATION
Reel/Frame 039828/0135 →
CONFIRMATORY LICENSE Recorded Jun 27, 2016
From: SANDIA CORPORATION
To: U.S. DEPARTMENT OF ENERGY
Reel/Frame 039167/0296 →