US2021382901A1PendingUtilityA1

Recursive data traversal model

Assignee: ORACLE INT CORPPriority: Feb 21, 2019Filed: Aug 25, 2021Published: Dec 9, 2021
Est. expiryFeb 21, 2039(~12.6 yrs left)· nominal 20-yr term from priority
G06F 16/24566G06F 16/273G06F 16/2372
59
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

One or more embodiments interpret a configuration graph to efficiently and optimally construct requests and fetch data from a datastore. The values of objects of a requested data type are used to generate additional queries for pre-fetching data from the datastore. Specifically, the values are used to query for and retrieve a corresponding subset of objects of another, related data type. Recursively querying for and retrieving objects of related data types based on already retrieved objects builds a data cache of relevant objects. The cached, relevant objects may be useful in subsequent queries that are likely to follow the initial query.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . One or more non-transitory machine-readable media storing instructions which, when executed by one or more processors, cause performance of operations comprising:
 receiving, by a client application, from a datastore, a first object type definition corresponding to a first object type, the first object type definition defining a first set of data fields for the first object type;   generating, by the client application, a first object of the first object type based on the first object type definition;   receiving, by the client application, from the datastore, an update to the first object type definition, the update comprising a second object type definition, the second object type definition defining a second set of data fields different than the first set of data fields; and   generating, by the client application, a second object of a second type based on (a) the second object type definition and (b) the first object of the first object type.   
     
     
         2 . The one or more non-transitory machine-readable media of  claim 1 , wherein generating the second object comprises:
 identifying a particular field, of the second set of data fields of the second object, that does not correspond to any field in the first set of data fields;   identifying a value for the particular field of the second set of data fields of the second object; and   storing the value in association with the particular field of the second set of data fields of the second object.   
     
     
         3 . The one or more non-transitory machine-readable media of  claim 2 , wherein identifying the value comprises identifying a default value or a null value. 
     
     
         4 . The one or more non-transitory machine-readable media of  claim 1 , wherein generating the second object comprises:
 identifying a particular field, of the first set of data fields, that does not correspond to any field in the second set of data fields; and   generating the second object by transferring values of the first object to the second object without transferring a value for the particular field in the first object.   
     
     
         5 . The one or more non-transitory machine-readable media of  claim 1 , wherein the first object and the second object are used to control functionality of the client application. 
     
     
         6 . The one or more non-transitory machine-readable media of  claim 1 , wherein the second object type definition specifies:
 at least one first data field, among the second set of data fields, capable of being changed by the client application; and   at least one second data field, among the second set of data fields, which may not be changed by the client application.   
     
     
         7 . The one or more non-transitory machine-readable media of  claim 1 , wherein the instructions further cause:
 receiving, by the client application, from the datastore, metadata including a first metadata module defining a first sub-type of the second object type, wherein the first sub-type of the second object type includes a first sub-set of data fields from among the second set of data fields;   creating, by the client application, a third object of the first sub-type; and   fetching, by the client application, from the datastore, data values for the first sub-set of data fields.   
     
     
         8 . The one or more non-transitory machine-readable media of  claim 7 , wherein the instructions further cause:
 receiving, by the client application, a request for a value of a particular data field that is not among the first sub-set of data fields;   searching, by the client application, the metadata to identify a second metadata module defining a second sub-type of the second object type, the second sub-type including the particular data field;   creating, by the client application, a fourth object of the second sub-type; and   fetching, by the client application, from the datastore, data values for the fourth object.   
     
     
         9 . The one or more non-transitory machine-readable media of  claim 7 , wherein the instructions further cause:
 receiving, by the client application, a request to create a new field in the second object;   based on determining that the new field is: (a) not found in any object type stored in the datastore, and (b) not defined by the metadata maintained by the client application:
 updating, by the datastore, the second object type to include the new field; and 
 updating, by the client application, the metadata to include the new field. 
   
     
     
         10 . A method, comprising:
 receiving, by a client application, from a datastore, a first object type definition corresponding to a first object type, the first object type definition defining a first set of data fields for the first object type;   generating, by the client application, a first object of the first object type based on the first object type definition;   receiving, by the client application, from the datastore, an update to the first object type definition, the update comprising a second object type definition, the second object type definition defining a second set of data fields different than the first set of data fields; and   generating, by the client application, a second object of a second type based on (a) the second object type definition and (b) the first object of the first object type.   
     
     
         11 . The method of  claim 10 , wherein generating the second object comprises:
 identifying a particular field, of the second set of data fields of the second object, that does not correspond to any field in the first set of data fields;   identifying a value for the particular field of the second set of data fields of the second object; and   storing the value in association with the particular field of the second set of data fields of the second object.   
     
     
         12 . The method of  claim 11 , wherein identifying the value comprises identifying a default value or a null value. 
     
     
         13 . The method of  claim 10 , wherein generating the second object comprises:
 identifying a particular field, of the first set of data fields, that does not correspond to any field in the second set of data fields; and   generating the second object by transferring values of the first object to the second object without transferring a value for the particular field in the first object.   
     
     
         14 . The method of  claim 10 , wherein the first object and the second object are used to control functionality of the client application. 
     
     
         15 . The method of  claim 10 , wherein the second object type definition specifies:
 at least one first data field, among the second set of data fields, capable of being changed by the client application; and   at least one second data field, among the second set of data fields, which may not be changed by the client application.   
     
     
         16 . The method of  claim 10 , further comprising:
 receiving, by the client application, from the datastore, metadata including a first metadata module defining a first sub-type of the second object type, wherein the first sub-type of the second object type includes a first sub-set of data fields from among the second set of data fields;   creating, by the client application, a third object of the first sub-type; and   fetching, by the client application, from the datastore, data values for the first sub-set of data fields.   
     
     
         17 . The method of  claim 16 , further comprising:
 receiving, by the client application, a request for a value of a particular data field that is not among the first sub-set of data fields;   searching, by the client application, the metadata to identify a second metadata module defining a second sub-type of the second object type, the second sub-type including the particular data field;   creating, by the client application, a fourth object of the second sub-type; and   fetching, by the client application, from the datastore, data values for the fourth object.   
     
     
         18 . The method of  claim 16 , further comprising:
 receiving, by the client application, a request to create a new field in the second object;   based on determining that the new field is: (a) not found in any object type stored in the datastore, and (b) not defined by the metadata maintained by the client application:
 updating, by the datastore, the second object type to include the new field; and 
 updating, by the client application, the metadata to include the new field. 
   
     
     
         19 . A system, comprising:
 one or more processors; and   memory storing instructions that, when executed by the one or more processors, cause the system to perform:   receiving, by a client application, from a datastore, a first object type definition corresponding to a first object type, the first object type definition defining a first set of data fields for the first object type;   generating, by the client application, a first object of the first object type based on the first object type definition;   receiving, by the client application, from the datastore, an update to the first object type definition, the update comprising a second object type definition, the second object type definition defining a second set of data fields different than the first set of data fields; and   generating, by the client application, a second object of a second type based on (a) the second object type definition and (b) the first object of the first object type.   
     
     
         20 . The system of  claim 19 , wherein generating the second object comprises:
 identifying a particular field, of the second set of data fields of the second object, that does not correspond to any field in the first set of data fields;   identifying a value for the particular field of the second set of data fields of the second object; and   storing the value in association with the particular field of the second set of data fields of the second object.

Join the waitlist — get patent alerts

Track US2021382901A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.