IP Library › Granted Patent US 10,489,493
Granted Patent B2
US 10,489,493 · App. 13/615,213 · Granted Nov 26, 2019

Metadata reuse for validation against decentralized schemas

Inventors: Andrea Di Blas (San Francisco, CA); Ravi Murthy (Saratoga, CA)
Assignee: Oracle International Corporation
G06F17/2247G06F17/218G06F17/2725
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 10,489,493
App. No.
13/615,213
Granted
Nov 26, 2019
Kind
B2
Abstract

A validation procedure employs metadata reuse using composite path signatures to make a metadata reuse determination. The procedure is performed as part of validating a set of data objects. Validating an initial subset of data objects generates N different sets of object-specific metadata, each set of which is associated with a different composite path signature. When subsequently validating another data object, a composite path signature is generated for the data object and compared with the composite path signatures of the N different sets of object-specific metadata. If a match is found, then the object-specific metadata of the matching composite path signature is reused for the data object. The object-specific metadata is remapped to an in-memory representation of the data object.

Claims (76)

1. A method, said method comprising steps of:

generating metadata that is used to validate a first data object;

determining whether said metadata satisfies one or more reuse criteria for reusing said metadata to validate a second data object;

wherein said reuse criteria includes at least that a first set of distinct paths in said first data object match a second set of distinct paths in said second data object;

in response to determining that said metadata satisfies said one or more reuse criteria, using said metadata to validate said second data object;

wherein the method is performed by one or more computing devices.

2. The method of claim 1 , further including modifying said metadata before reusing said metadata to validate said second data object.

3. The method of claim 1 ,

wherein the first data object is a first instance of a structured element containing second descendant structured element instances;

wherein the second data object is a second instance of said structured element containing second descendant structured element instances;

wherein each path in the first set of distinct paths is a path of a structured element instance in said first data object; and

wherein each path in the second set of distinct paths is a path of a structured element instance in said second data object.

4. The method of claim 3 , wherein:

each structured element of which there is an instance in said first data object or said second data object has a type; and

each path in said first set of distinct paths and said second set of distinct paths is a type qualified path.

5. A method, comprising:

generating N sets of metadata to validate data objects, each set of the N sets of metadata being generated to validate a respective data object of said data objects;

wherein each set of the N sets of metadata is associated with a respective composite path signature of a plurality of composite path signatures;

wherein each composite path signature of said plurality of composite path signatures comprises a plurality of path signatures, each path signature of said plurality of path signatures representing a distinct path of one or more structured element instances in the respective data object of the set of the N sets of metadata that is associated with said each composite path signature;

generating a first composite path signature for a first data object, said first composite path signature comprising a first plurality of path signatures, each path signature of said first plurality of path signatures representing a distinct path of one or more structured element instances in the first data object;

determining whether said first composite path signature matches a particular composite path signature of said plurality of composite path signatures; and

in response to determining that the particular composite path signature matches the first composite path signature, using a particular set of the N sets of metadata that is associated with said particular composite path signature to validate the first data object; and

wherein the method is performed by one or more computing devices.

6. The method of claim 5 , wherein the N sets of metadata are stored in a cache, the method further comprising:

generating a second composite path signature for a second data object, said second composite path signature comprising a second plurality of path signatures, each path signature of said second plurality of path signatures representing a distinct path of one or more structured element instances in the second data object;

determining whether said second composite path signature matches any composite path signature of the plurality of composite path signatures of said data objects; and

in response to determining that no composite path signature of the plurality of composite path signatures match the second composite path signature:

removing a set of metadata of the N sets of metadata from the cache; and

generating another set of metadata for validating said second data object.

7. The method of claim 5 , wherein generating a first composite path signature for a first data object comprises:

generating a list of paths of structured element instances visited during a depth-first traversal of said first data object;

ordering the list of paths; and

after ordering the list of paths, eliminating duplicate paths from the list.

8. The method of claim 5 , wherein said particular set of the N sets of metadata is modified before using said particular set of the N sets of metadata to validate said first data object.

9. The method of claim 8 , further including remapping an in-memory representation of said first data object to structures within said particular set of the N sets of metadata.

10. The method of claim 9 :

wherein a first mapping maps first path signatures to particular sets of metadata structures of said particular set of the N sets of metadata, each first path signature of said first path signatures being mapped to a set of metadata structures used to validate any element instance that is identified by a path represented by said each first path signature;

wherein said in-memory representation comprises in-memory nodes that each represent a structured element instance within said first data object; and

wherein remapping includes generating a second mapping that maps pointers to said in-memory nodes to the first path signatures mapped by said first mapping.

11. A non-transitory computer-readable medium storing instructions which, when executed by one or more processors, cause:

generating metadata that is used to validate a first data object;

determining whether said metadata satisfies one or more reuse criteria for reusing said metadata to validate a second data object;

wherein said reuse criteria includes at least that a first set of distinct paths in said first data object match a second set of distinct paths in said second data object; and

in response to determining that said metadata satisfies said one or more reuse criteria, using said metadata to validate said second data object.

12. The non-transitory computer-readable medium of claim 11 , wherein the instructions include instructions, that when executed by said one or more processors, cause modifying said metadata before reusing said metadata to validate said second data object.

13. The non-transitory computer-readable medium of claim 11 ,

wherein the first data object is a first instance of a structured element containing second descendant structured element instances;

wherein the second data object is a second instance of said structured element containing second descendant structured element instances;

wherein each path in the first set of distinct paths is a path of a structured element instance in said first data object; and

wherein each path in the second set of distinct paths is a path of a structured element instance in said second data object.

14. The non-transitory computer-readable medium of claim 13 , wherein:

each structured element of which there is an instance in said first data object or said second data object has a type; and

each path in said first set of distinct paths and said second set of distinct paths is a type qualified path.

15. A non-transitory computer-readable medium storing instructions, which when executed by one or more processors, cause:

generating N sets of metadata to validate data objects, each set of the N sets of metadata being generated to validate a respective data object of said data objects;

wherein each set of the N sets of metadata is associated with a respective composite path signature of a plurality of composite path signatures;

wherein each composite path signature of said plurality of composite path signatures comprises a plurality of path signatures, each path signature of said plurality of path signatures representing a distinct path of one or more structured element instances in the respective data object of the set of the N sets of metadata that is associated with said each composite path signature;

generating a first composite path signature for a first data object, said first composite path signature comprising a first plurality of path signatures, each path signature of said first plurality of path signatures representing a distinct path of one or more structured element instances in the first data object;

determining whether said first composite path signature matches a particular composite path signature of said plurality of composite path signatures; and

in response to determining that the particular composite path signature matches the first composite path signature, using a particular set of the N sets of metadata that is associated with said particular composite path signature to validate the first data object.

16. The non-transitory computer-readable medium of claim 15 , wherein the N sets of metadata are stored in a cache, wherein the instructions include instructions, that when executed by said one or more processors, cause:

generating a second composite path signature for a second data object, said second composite path signature comprising a second plurality of path signatures, each path signature of said second plurality of path signatures representing a distinct path of one or more structured element instances in the second data object;

determining whether said second composite path signature matches any composite path signature of the plurality of composite path signatures of said data objects; and

in response to determining that no composite path signature of the plurality of composite path signatures match the second composite path signature:

removing a set of metadata of the N sets of metadata from the cache; and

generating another set of metadata for validating said second data object.

17. The non-transitory computer-readable medium of claim 15 , wherein generating a first composite path signature for a first data object comprises:

generating a list of paths of structured element instances visited during a depth-first traversal of said first data object;

ordering the list of paths; and

after ordering the list of paths, eliminating duplicate paths from the list.

18. The non-transitory computer-readable medium of claim 15 , wherein said particular set of the N sets of metadata is modified before using said particular set of the N sets of metadata to validate said first data object.

19. The non-transitory computer-readable medium of claim 15 , wherein the instructions include instructions, that when executed by said one or more processors, cause remapping an in-memory representation of said first data object to structures within said particular set of the N sets of metadata.

20. The non-transitory computer-readable medium of claim 19 :

wherein a first mapping maps first path signatures to particular sets of metadata structures of said particular set of the N sets of metadata, each first path signature of said first path signatures being mapped to a set of metadata structures used to validate any element instance that is identified by a path represented by said each first path signature;

wherein said in-memory representation comprises in-memory nodes that each represent a structured element instance within said first data object; and

wherein remapping includes generating a second mapping that maps pointers to said in-memory nodes to the first path signatures mapped by said first mapping.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2012
From: DI BLAS, ANDREA; MURTHY, RAVI
To: ORACLE INTERNATIONAL CORPORATION
Reel/Frame 028958/0797 →
Continuity (1)
Related Publication 20140075285A1 · Mar 13, 2014