Linked data processor for database storage
AssigneeMicrosoft Technology Licensing, LLC
InventorJohn Anthony Taylor
Life of this patent
Estimating the term…
Abstract
Systems and methods are provided for storing and retrieving data using a linked data model having a tree format. Instead of using a traditional relational database, a linked data model can be used with links between data items that reflect the underlying business logic. To facilitate retrieval of data, the data items stored using the linked data model can be individually addressable.
Claims21
A method for retrieving data in a distributed storage environment, the method comprising:
- pre-computing results to a plurality of potential data queries;
- storing the results in the distributed storage environment as a plurality of data item trees according to a linked data model;
- receiving a first request to perform a search for a desired data item, the first request specifying a first feature of the desired data item;
- identifying a data item tree corresponding to the first request from among the plurality of data item trees, the data item tree comprising a plurality of data items stored according to a linked data model, each data item among the plurality of data items comprising a potential response to a data query, the plurality of data items in the identified data item tree being linked together so that each data item in the identified data item tree can be accessed from any other data item in the identified data item tree by traversing links between data items;
- receiving a second request to refine the search, the second request specifying a second feature of the desired data item;
- traversing the identified data item tree by following one or more links between a root data item having the first feature that is specified in the first request and at least one data item having the second feature that is specified in the second request;
- and
- providing, responsive to the second request, the at least one data item having the second feature.
A system for retrieving data in a distributed storage environment, the system comprising:
- at least one processor;
- and
- at least one memory storing computer-executable instructions that, when executed by the at least one processor, cause the at least one processor to:
- pre-compute results to a plurality of potential data queries;
- store the results in the distributed storage environment as a plurality of data item trees according to a linked data model;
- receive a first request to perform a search for a desired data item, the first request specifying a first feature of the desired data item;
- identify a data item tree corresponding to the first request from among the plurality of data item trees, the data item tree comprising a plurality of data items stored according to a linked data model, each data item among the plurality of data items comprising a potential response to a data query, the plurality of data items in the identified data item tree being linked together so that each data item in the identified data item tree can be accessed from any other data item in the identified data item tree by traversing links between data items;
- receive a second request to refine the search, the second request specifying a second feature of the desired data item;
- traverse the identified data item tree by following one or more links between a root data item having the first feature that is specified in the first request and at least one data item having the second feature that is specified in the second request;
- and
- provide, responsive to the second request, the at least one data item having the second feature.
A computer-readable medium comprising instructions that are executable by one or more processors to cause a computing system to:
- pre-computing results to a plurality of potential data queries, the pre-computing being performed to improve efficiency of retrieving data when data queries are received;
- storing the results in a distributed storage environment as a plurality of data item trees according to a linked data model;
- receiving a first data query comprising a first request to perform a search for a desired data item, the first request specifying a first feature of the desired data item;
- identifying a data item tree corresponding to the first request from among the plurality of data item trees, the data item tree comprising a plurality of data items stored according to a linked data model, each data item among the plurality of data items comprising a response to a data query, the plurality of data items in the identified data item tree being linked together so that each data item in the identified data item tree can be accessed from any other data item in the identified data item tree by traversing links between data items;
- receiving a second data query comprising a second request to refine the search for the desired data item, the second request specifying a second feature of the desired data item;
- traversing the identified data item tree by following one or more links between a root data item having the first feature that is specified in the first request and at least one data item having the second feature that is specified in the second request;
- and
- providing, responsive to the second request, the at least one data item having the second feature.
Dependencies are inferred from the claim text.