IP Library Granted Patent US 10,853,347
Granted Patent B2
US 10,853,347 · App. 15/476,700 · Granted Dec 1, 2020

Dependency-based metadata retrieval and update

Inventors: Ian Carl Legler (Redmond, WA); Hitesh Kapoor (Redmond, WA); Manoj Lalavat (Bellevue, WA); Lakshaya Goel (Bellevue, WA); Alexander Argutin (Sammamish, WA)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G06F16/2329G06F16/2246G06F16/2474
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,853,347
App. No.
15/476,700
Granted
Dec 1, 2020
Kind
B2
Abstract

In some examples, dependency-based metadata retrieval and update may include receiving a query for an update of metadata associated with an application. The query may include a previous version associated with a previous synchronization of the metadata. Alternatively or additionally, the query may include a metadata tree associated with the metadata. Dependency based metadata retrieval and update may further include generating, based on the query and a dependency tree, a response to include the update that includes a modification to a metadata fragment of the metadata. The dependency tree may include a parent and child relationship between each of a plurality of metadata fragments including the metadata fragment, and may further include versions associated with the plurality of metadata fragments.

Claims (72)

1. An apparatus comprising:

a processor; and

a memory storing machine readable instructions that when executed by the processor cause the processor to:

receive a query for an update of metadata associated with an application, wherein the query includes a previous version associated with a previous synchronization of the metadata, and further includes a metadata tree associated with the metadata; and

generate, based on the query and a dependency tree, a response to include the update that includes a modification to a metadata fragment of the metadata by:

identifying, with respect to the metadata tree, starting from a leaf metadata fragment selected from a plurality of metadata fragments, an edge of the dependency tree that includes a newer version compared to a version of a corresponding edge of the metadata tree; and

generating the response to include the edge that includes the newer version, wherein the dependency tree includes

a parent and child relationship between each of the plurality of metadata fragments including the metadata fragment, and

further includes versions associated with the plurality of metadata fragments.

2. The apparatus according to claim 1 , wherein the instructions are further to cause the processor to:

receive, prior to receiving the query for the update, an initial query to retrieve the metadata and dependencies associated with the plurality of metadata fragments of the metadata; and

forward, based on the initial query and at least on the dependency tree, the metadata and the dependencies associated with the plurality of metadata fragments of the metadata.

3. The apparatus according to claim 1 , wherein the previous version includes at least one of:

a version number that is modified based on an update associated with the metadata fragment in the dependency tree; or

a timestamp associated with creation or modification of the metadata fragment in the dependency tree.

4. The apparatus according to claim 1 , wherein the instructions are further to cause the processor to:

identify, starting from the leaf metadata fragment selected from the plurality of metadata fragments, a metadata fragment which includes another newer version compared to the previous version;

identify, from the dependency tree, a subtree below the metadata fragment which includes the other newer version; and

generate the response to include the metadata fragment which includes the other newer version and the subtree.

5. The apparatus according to claim 1 , wherein the instructions are further to cause the processor to:

identify, starting from the leaf metadata fragment selected from the plurality of metadata fragments, the edge of the dependency tree that includes the newer version compared to the previous version;

identify, from the dependency tree, a subtree below the edge that includes the newer version; and

generate the response to include the edge and the subtree.

6. The apparatus according to claim 1 , wherein the query includes at least two metadata fragments from the plurality of metadata fragments, and the previous version represents an oldest version associated with a metadata fragment from the at least two metadata fragments.

7. The apparatus according to claim 1 , wherein the instructions are further to cause the processor to:

receive another query for another update of the metadata associated with the application, wherein the another query includes the metadata tree associated with the metadata; and

generate, based on the another query and the dependency tree, another response to include the another update that includes another modification to the metadata fragment of the metadata.

8. The apparatus according to claim 7 , wherein the instructions are further to cause the processor to:

identify, with respect to the metadata tree associated with the another query, starting from the leaf metadata fragment selected from the plurality of metadata fragments, a metadata fragment that includes another newer version compared to a version of a corresponding metadata fragment of the metadata tree associated with the another query; and

generate the another response to include the metadata fragment that includes the other newer version.

9. The apparatus according to claim 7 , wherein the instructions are further to cause the processor to:

identify, with respect to the metadata tree associated with the another query, starting from the leaf metadata fragment selected from the plurality of metadata fragments, the edge of the dependency tree that includes the newer version compared to the version of the corresponding edge of the metadata tree associated with the another query; and

generate the another response to include the edge that includes the newer version.

10. A method comprising:

receiving a query for an update of metadata associated with an application, wherein the query includes a metadata tree associated with the metadata;

generating, by a processor and based on the query and a dependency tree, a response to include the update that includes a modification to a metadata fragment of the metadata, wherein the dependency tree

includes a parent and child relationship between each of a plurality of metadata fragments including the metadata fragment, and

further includes versions associated with the plurality of metadata fragments;

receiving another query for another update of the metadata associated with the application, wherein the another query includes a previous version associated with a previous synchronization of the metadata; and

generating, based on the another query and the dependency tree, another response to include the another update that includes another modification to the metadata fragment of the metadata.

11. The method of claim 10 , further comprising:

identifying, with respect to the metadata tree, starting from a leaf metadata fragment selected from the plurality of metadata fragments, a metadata fragment that includes a newer version compared to a version of a corresponding metadata fragment of the metadata tree; and

generating the response to include the metadata fragment that includes the newer version.

12. The method of claim 10 , further comprising:

identifying, with respect to the metadata tree, starting from a leaf metadata fragment selected from the plurality of metadata fragments, an edge of the dependency tree that includes a newer version compared to a version of a corresponding edge of the metadata tree; and

generating the response to include the edge that includes the newer version.

13. The method of claim 10 , further comprising:

identifying, starting from a leaf metadata fragment selected from the plurality of metadata fragments, a metadata fragment that includes a newer version compared to the previous version;

identifying, from the dependency tree, a subtree below the metadata fragment which includes the newer version; and

generating the another response to include the metadata fragment that includes the newer version and the subtree.

14. The method of claim 10 , further comprising:

identifying, starting from a leaf metadata fragment selected from the plurality of metadata fragments, an edge of the dependency tree that includes a newer version compared to the previous version;

identifying, from the dependency tree, a subtree below the edge that includes the newer version; and

generating the another response to include the edge and the subtree.

15. The method of claim 10 , further comprising:

generating, based on the query and the dependency tree, the response to include the update that includes another modification to a metadata fragment dependency of the metadata.

16. A non-transitory computer readable medium having stored thereon machine readable instructions to provide dependency-based metadata retrieval and update, the machine readable instructions, when executed, cause a processor to:

generate a query for an update of metadata associated with an application, wherein the query includes at least one of:

a previous version associated with a previous synchronization of the metadata, or

a metadata tree associated with the metadata;

receive, based on the query and a dependency tree, a response to include the update that includes a modification to a metadata fragment of the metadata, wherein

the dependency tree includes a parent and child relationship between each of a plurality of metadata fragments including the metadata fragment, and further includes versions associated with the plurality of metadata fragments;

determine whether the metadata associated with the application is to be modified based upon the received response;

generate another query for another update of the metadata associated with the application, wherein the another query includes the metadata tree associated with the metadata; and

receive, based on the another query and the dependency tree, another response to include the another update that includes another modification to the metadata fragment of the metadata.

17. The non-transitory computer readable medium according to claim 16 , wherein the machine readable instructions are further to cause the processor to:

generate, prior to generation of the query for the update, an initial query to retrieve the metadata and dependencies associated with the plurality of metadata fragments of the metadata; and

receive, based on the initial query and at least on the dependency tree, the metadata and the dependencies associated with the plurality of metadata fragments of the metadata.

18. The non-transitory computer readable medium according to claim 16 , wherein the previous version includes at least one of:

a version number that is modified based on an update associated with the metadata fragment in the dependency tree, or

a timestamp associated with creation or modification of the metadata fragment in the dependency tree.

19. The non-transitory computer readable medium according to claim 16 , wherein for the query that includes the previous version associated with the previous synchronization of the metadata, the query includes at least two metadata fragments from the plurality of metadata fragments, and the previous version represents an oldest version associated with a metadata fragment from the at least two metadata fragments.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 31, 2017
From: LEGLER, IAN CARL; KAPOOR, HITESH; LALAVAT, MANOJ; GOEL, LAKSHAYA; ARGUTIN, ALEXANDER
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 041816/0834 →
Continuity (1)
Related Publication 20180285403A1 · Oct 4, 2018