IP Library Granted Patent US 11,144,567
Granted Patent B2
US 11,144,567 · App. 16/205,857 · Granted Oct 12, 2021

Dynamic schema transformation

Inventors: Lucas Natraj (Katy, TX); Hrvoje Markovic (Mountain View, CA)
Assignee: Schlumberger Technology Corporation
G06F16/258G06F16/212G06F16/953
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 11,144,567
App. No.
16/205,857
Granted
Oct 12, 2021
Kind
B2
Abstract

Dynamic schema transformation that involves a target schema that is determined from a request. A set of transformations is identified between a set of source schemas and the target schema. A set of source entities that correspond to the set of source schemas is received. The set of source entities is converted to a set of target entities by applying the sets of transformations to the set of source entities. A reply is presented that comprises target data from the set of target entities.

Claims (67)

1. A method comprising:

determining, from a request, a target schema;

identifying a plurality of paths between a set of source schemas and the target schema, each path of the plurality of paths comprising a corresponding set of transformations between a source schema, of the set of source schemas, and the target schema, and each path of the plurality of paths having a corresponding cumulative weight based on the corresponding set of transformations;

receiving a set of source entities that correspond to the set of source schemas;

converting the set of source entities to a set of target entities by applying the corresponding set of transformations to the set of source entities based on the corresponding cumulative weight; and

presenting, in response to the request, a reply that comprises target data from the set of target entities.

2. The method of claim 1 , further comprising:

identifying a target property from the request,

wherein the set of target entities generated from the set of source entities include the target property.

3. The method of claim 2 ,

wherein the set of source entities includes a source entity with source data of a source property with source metadata, and

wherein the set of target entities includes a target entity with target data of the target property with target metadata.

4. The method of claim 3 , further comprising:

transforming the source data to the target data by:

using a map from a transformation from the corresponding set of transformations.

5. The method of claim 3 , further comprising:

transforming the source data to the target data by:

invoking a web service with a web service request that includes the source data.

6. The method of claim 5 , further comprising:

transforming the source data to the target data by:

receiving a web service response that includes the target data.

7. The method of claim 1 ,

wherein the request is a query that includes a filter.

8. The method of claim 7 , further comprising:

filtering the set of target entities based on the filter prior to responding to the request.

9. The method of claim 7 , further comprising:

filtering the target data based on the filter prior to responding to the request.

10. The method of claim 1 ,

wherein the source schema includes a source type that includes a source namespace, and

wherein least one of the source namespace and the source type are different from a target namespace and a target type of the target schema.

11. A system comprising:

a memory coupled to a processor;

a graph that includes a set of schemas and a set of transformations,

wherein the set of schemas includes a target schema and a set of source schemas;

an analyzer engine from figure that executes on the processor, uses the memory, and is configured for:

determining, from a request, the target schema;

identifying the a plurality of paths between the set of source schemas and the target schema from the graph, each path of the plurality of paths comprising a corresponding set of transformations between a source schema, of the set of source schemas, and the target schema, and each path of the plurality of paths having a corresponding cumulative weight based on the corresponding set of transformations;

receiving a set of source entities that correspond to the set of source schemas;

converting the set of source entities to a set of target entities by applying the corresponding set of transformations to the set of source entities based on the corresponding cumulative weight; and

presenting, in response to the request, a reply that includes target data from the set of target entities.

12. The system of claim 11 , wherein the analyzer engine is further configured for:

identifying a target property from the request,

wherein the set of target entities generated from the set of source entities include the target property.

13. The system of claim 12 ,

wherein the set of source entities includes a source entity with source data of a source property with source metadata, and

wherein the set of target entities includes a target entity with target data of the target property with target metadata.

14. The system of claim 13 , wherein the analyzer engine is further configured for:

transforming the source data to the target data by:

using a map from a transformation from the corresponding set of transformations.

15. The system of claim 13 , wherein the analyzer engine is further configured for:

transforming the source data to the target data by:

invoking a web service with a web service request that includes the source data.

16. The system of claim 15 , wherein the analyzer engine is further configured for:

transforming the source data to the target data by:

receiving a web service response that includes the target data.

17. The system of claim 8 , wherein the analyzer engine is further configured for:

wherein the request is a query that includes a filter.

18. The system of claim 17 , wherein the analyzer engine is further configured for:

filtering the set of target entities based on the filter prior to responding to the request.

19. The system of claim 17 , wherein the analyzer engine is further configured for:

filtering the target data based on the filter prior to responding to the request.

20. A non-transitory computer readable medium comprising computer readable program code for:

determining, from a request, a target schema;

identifying a plurality of paths between a set of source schemas and the target schema, each path of the plurality of paths comprising a corresponding set of transformations between a source schema, of the set of source schemas, and the target schema, and each path of the plurality of paths having a corresponding cumulative weight based on the corresponding set of transformations;

receiving a set of source entities that correspond to the set of source schemas;

converting the set of source entities to a set of target entities by applying the corresponding set of transformations to the set of source entities based on the corresponding cumulative weight; and

presenting, in response to the request, a reply that includes target data from the set of target entities.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2018
From: NATRAJ, LUCAS; MARKOVIC, HRVOJE
To: SCHLUMBERGER TECHNOLOGY CORPORATION
Reel/Frame 047812/0482 →
Continuity (1)
Related Publication 20200175030A1 · Jun 4, 2020
Cited By (1)
US 12,321,335