System and method for improved data consistency in data systems including dependent algorithms

US11995062B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11995062-B2
Application numberUS-202218078710-A
CountryUS
Kind codeB2
Filing dateDec 9, 2022
Priority dateJul 20, 2016
Publication dateMay 28, 2024
Grant dateMay 28, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A data system is provided for analyzing and maintaining data obtained from one or more data sources on which the data system depends. The system includes a primary database including current values used by the system and a collection of executable algorithms used to generate the data maintained in the primary database. In response to receiving a notification regarding a change in one of the data sources, a dependency database is used to establish an execution order for algorithms of the algorithm collection that are directly or indirectly dependent on the changed data. The algorithms identified in the execution order are then executed in accordance with the execution order and the corresponding result is stored in the primary database. The system may include data harvesters adapted to recognize changes in the data sources and to generate and transmit corresponding change notifications when such changes occur.

First claim

Opening claim text (preview).

We claim: 1. A method of updating and analyzing data in a data system comprising: receiving an algorithm evaluation request; identifying a dependency graph indicative of a first dependency of a first algorithm on one or more database values; identifying, based on the dependency graph, the first algorithm and a second algorithm, wherein identifying the first algorithm and the second algorithm comprises: transmitting a request including an identifier corresponding to the one or more database values; and receiving an execution order in response to the request, the execution order indicating an order in which to execute the first algorithm and the second algorithm; and generating an algorithm result of the second algorithm by executing each of the first algorithm and the second algorithm in accordance with the execution order; and submitting the algorithm result as a response to the algorithm evaluation request. 2. The method of claim 1 , wherein the first algorithm is at least one of directly dependent on the one or more databases value such that the first algorithm uses the one or more database values as an input and indirectly dependent on the one or more database values such that the first algorithm uses an output of another algorithm dependent on the one or more database values as an input. 3. The method of claim 1 , further comprising storing a result of the first algorithm in the first database. 4. The method of claim 1 , wherein transmitting the request comprises transmitting the request to an application in communication with a database including dependency data for a plurality of algorithms including the first algorithm and the second algorithm, the dependency data indicating inputs required for each algorithm of the plurality of algorithms. 5. The method of claim 4 , wherein the database is a graph database. 6. The method of claim 1 , wherein the algorithm evaluation request is received from an application in communication with a data source, the application configured to retrieve and normalize data obtained from the data source and to generate and transmit the algorithm evaluation request in response to identifying changes to the data source. 7. The method of claim 1 , further comprising receiving a feedback value corresponding to but different than the one or more database values, wherein generating the algorithm result comprises providing an input value to the first algorithm, the input value being one of the feedback value and a combination of the one or more database values and the feedback value. 8. The method of claim 7 , wherein the input value is a combination of the one or more database values and the feedback value, and the input value is one of an average of the one or more database values and the feedback value, a weighted average of the one or more database values and the feedback value, and a time-dependent weighted average of the one or more database values and the feedback value. 9. The method of claim 7 , further comprising storing the feedback value in a database. 10. The method of claim 1 , wherein the algorithm result includes a scoring metric. 11. The method of claim 1 , wherein the first algorithm and the second algorithm are included in an algorithm collection including a plurality of algorithms, the method further comprising: modifying the algorithm collection by modifying an existing algorithm of the algorithm collection and adding a new algorithm to the algorithm collection; executing each algorithm of the algorithm collection dependent on the modified existing algorithm and the new algorithm, respectively. 12. The method of claim 1 , wherein the execution order is generated by: identifying the first algorithm from a plurality of algorithms that are dependent on the one or more database values; assigning the first algorithm to a first execution layer of the execution order; identifying the second algorithm from the plurality of algorithms by traversing a dependency graph including dependency data for the plurality of algorithms; and assigning the second algorithm to a second execution layer of the execution order according to a traversal distance of the second algorithm from the first algorithm, wherein executing the first algorithm and the second algorithm in accordance with the execution order the first execution layer followed by executing the second execution layer. 13. A system for organizing and analyzing data from multiple data sources comprising: an algorithm collection including a plurality of executable algorithms for evaluating data; and a first database including dependency data for each algorithm of the plurality of algorithms; and one or more computing devices configured to: receive an algorithm evaluation request; identify, based on the first database, a first algorithm and a second algorithm of the algorithm collection, wherein the first algorithm is dependent on one or more database values; execute the first algorithm and the second algorithm according to an execution order derived from the dependency data to generate an algorithm result; and submit the algorithm result in response to the algorithm evaluation request. 14. The system of claim 13 , wherein the first database is a graph database. 15. The system of claim 13 , wherein the one or more computing devices are further configured to receive the algorithm evaluation request from a data harvesting application adapted to retrieve and normalize data from a data source. 16. The system of claim 15 , wherein the data harvesting application is one of a plurality of data harvesting applications and each data harvesting application of the plurality of data harvesting applications adapted to retrieve and normalize data from a respective data source, the one or more computing devices further configured to receive notifications from each of the plurality of data harvesting applications. 17. The system of claim 16 , wherein the one or more computing devices are further configured to: receive an execution plan including an execution order for the first algorithm and the second algorithm, wherein executing the first algorithm and the second algorithm includes executing the first algorithm and the second algorithm according to the execution order. 18. The system of claim 17 , wherein the one or more computing devices are further configured to: generate, in response to receiving the algorithm evaluation request, a request for an execution plan; and transmit the request to an application in communication with the first database, the application adapted to generate the execution plan. 19. The system of claim 13 , wherein the one or more computing devices are further configured to generate log entries corresponding to data received and analyzed by the one or more computing devices and to store the log entries in a second database.

Assignees

Inventors

Classifications

  • G06F16/23Primary

    Updating · CPC title

  • Ensuring data consistency and integrity · CPC title

  • Indexing; Data structures therefor; Storage structures · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11995062B2 cover?
A data system is provided for analyzing and maintaining data obtained from one or more data sources on which the data system depends. The system includes a primary database including current values used by the system and a collection of executable algorithms used to generate the data maintained in the primary database. In response to receiving a notification regarding a change in one of the dat…
Who is the assignee on this patent?
Level 3 Communications Llc
What technology area does this patent fall under?
Primary CPC classification G06F16/23. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 28 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).