System and method for improved data consistency in data systems incuding dependent algorithms
US-2020073861-A1 · Mar 5, 2020 · US
US11526485B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11526485-B2 |
| Application number | US-202117202930-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 16, 2021 |
| Priority date | Jul 20, 2016 |
| Publication date | Dec 13, 2022 |
| Grant date | Dec 13, 2022 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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 and of a second dependency of a second algorithm on the first algorithm based on the algorithm evaluation request; identifying, based on the dependency graph, the first algorithm and the 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, and wherein the second algorithm is dependent on the first algorithm; 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.
Updating · CPC title
Indexing; Data structures therefor; Storage structures · CPC title
Ensuring data consistency and integrity · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.