9087091

Determination of Differences in Hierarchical Data

PublishedJuly 21, 2015
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
18 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A computing system comprising: a memory storing processor-executable program code; and a processor to execute the processor-executable program code in order to cause the computing system to: determine a first tree comprising a first hierarchy of nodes and a second tree comprising a second hierarchy of nodes; determine first subtrees of the first tree which are identical to first subtrees of the second tree; generate a first mapping between nodes of the first subtrees of the first tree and nodes of the first subtrees of the second tree; generate a first feature vector for each of second subtrees of the first tree; insert the first feature vectors into an index structure; generate a second feature vector for each of second subtrees of the second tree; and generate a second mapping between nodes of second subtrees of the first tree and nodes of the second subtrees of the second tree based on the second feature vectors and the index structure.

2

2. A computing system according to claim 1 , the processor to further execute the processor-executable program code in order to cause the computing system to: generate an edit script of operations to transform the first tree to the second tree based on the first mapping and the second mapping.

3

3. A computing system according to claim 1 , wherein generation of the second mapping comprises: querying of the index structure for nearest neighbors of each of the second feature vectors.

4

4. A computing system according to claim 3 , wherein generation of a first feature vector for each of second subtrees of the first tree comprises: serialization of each of the second subtrees of the first tree into a first respective bag of grams, and wherein generation of a second feature vector for each of second subtrees of the second tree comprises: serialization of each of the second subtrees of the second tree into a second respective bag of grams.

5

5. A computing system according to claim 1 , wherein generation of a first feature vector for each of second subtrees of the first tree comprises: serialization of each of the second subtrees of the first tree into a respective bag of grams; and for each of the bags of grams corresponding to the second subtrees of the first tree, generate a fixed-size d-dimensional vector, and wherein generation of a second feature vector for each of second subtrees of the second tree comprises: serialization of each of the second subtrees of the second tree into a second respective bag of grams; and for each of the second bags of grams corresponding to the second subtrees of the second tree generate a second fixed-size d-dimensional vector.

6

6. A computing system according to claim 1 , wherein generation of the second mapping comprises: determination of distances between end points of the fixed-size d-dimensional vectors and end points of the second fixed-size d-dimensional vectors.

7

7. A non-transitory computer-readable medium storing program code, the program code executable by a processor of a computing system to cause the computing system to: determine a first tree comprising a first hierarchy of nodes and a second tree comprising a second hierarchy of nodes; determine first subtrees of the first tree which are identical to first subtrees of the second tree; generate a first mapping between nodes of the first subtrees of the first tree and nodes of the first subtrees of the second tree; generate a first feature vector for each of second subtrees of the first tree; insert the first feature vectors into an index structure; generate a second feature vector for each of second subtrees of the second tree; and generate a second mapping between nodes of second subtrees of the first tree and nodes of the second subtrees of the second tree based on the second feature vectors and the index structure.

8

8. A non-transitory computer-readable medium according to claim 7 , the program code executable by a processor of a computing system to cause the computing system to: generate an edit script of operations to transform the first tree to the second tree based on the first mapping and the second mapping.

9

9. A non-transitory computer-readable medium according to claim 6 , wherein generation of the second mapping comprises: querying of the index structure for nearest neighbors of each of the second feature vectors.

10

10. A non-transitory computer-readable medium according to claim 9 , wherein generation of a first feature vector for each of second subtrees of the first tree comprises: serialization of each of the second subtrees of the first tree into a first respective bag of grams, and wherein generation of a second feature vector for each of second subtrees of the second tree comprises: serialization of each of the second subtrees of the second tree into a second respective bag of grams.

11

11. A non-transitory computer-readable medium according to claim 7 , wherein generation of a first feature vector for each of second subtrees of the first tree comprises: serialization of each of the second subtrees of the first tree into a respective bag of grams; and for each of the bags of grams corresponding to the second subtrees of the first tree, generate a fixed-size d-dimensional vector, and wherein generation of a second feature vector for each of second subtrees of the second tree comprises: serialization of each of the second subtrees of the second tree into a second respective bag of grams; and for each of the second bags of grams corresponding to the second subtrees of the second tree generate a second fixed-size d-dimensional vector.

12

12. A non-transitory computer-readable medium according to claim 7 , wherein generation of the second mapping comprises: determination of distances between end points of the fixed-size d-dimensional vectors and end points of the second fixed-size d-dimensional vectors.

13

13. A computer-implemented method comprising: determining a first tree comprising a first hierarchy of nodes and a second tree comprising a second hierarchy of nodes; determining first subtrees of the first tree which are identical to first subtrees of the second tree; generating a first mapping between nodes of the first subtrees of the first tree and nodes of the first subtrees of the second tree; generating a first feature vector for each of second subtrees of the first tree; inserting the first feature vectors into an index structure; generating a second feature vector for each of second subtrees of the second tree; and generating a second mapping between nodes of second subtrees of the first tree and nodes of the second subtrees of the second tree based on the second feature vectors and the index structure.

14

14. A computer-implemented method according to claim 13 , further comprising: generating an edit script of operations to transform the first tree to the second tree based on the first mapping and the second mapping.

15

15. A computer-implemented method according to claim 13 , wherein generating the second mapping comprises: querying the index structure for nearest neighbors of each of the second feature vectors.

16

16. A computer-implemented method according to claim 15 , wherein generating a first feature vector for each of second subtrees of the first tree comprises: serializing each of the second subtrees of the first tree into a first respective bag of grams, and wherein generating a second feature vector for each of second subtrees of the second tree comprises: serializing each of the second subtrees of the second tree into a second respective bag of grams.

17

17. A computer-implemented method according to claim 13 , wherein generating a first feature vector for each of second subtrees of the first tree comprises: serializing each of the second subtrees of the first tree into a respective bag of grams; and for each of the bags of grams corresponding to the second subtrees of the first tree, generating a fixed-size d-dimensional vector, and wherein generation of a second feature vector for each of second subtrees of the second tree comprises: serializing each of the second subtrees of the second tree into a second respective bag of grams; and for each of the second bags of grams corresponding to the second subtrees of the second tree generating a second fixed-size d-dimensional vector.

18

18. A computer-implemented method according to claim 13 , wherein generating the second mapping comprises: determining distances between end points of the fixed-size d-dimensional vectors and end points of the second fixed-size d-dimensional vectors.

Patent Metadata

Filing Date

Unknown

Publication Date

July 21, 2015

Inventors

Martin Raiber
Jan Finis
Robert Brunel

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “DETERMINATION OF DIFFERENCES IN HIERARCHICAL DATA” (9087091). https://patentable.app/patents/9087091

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.

DETERMINATION OF DIFFERENCES IN HIERARCHICAL DATA — Martin Raiber | Patentable