Patent Document ID: 8429526
Application ID: 11401610

Base Claim:
1. A method comprising the steps of: receiving a hash level indicating a particular depth in a first document and a second document, wherein: the first document comprises a first plurality of nodes, wherein one or more nodes of the first plurality of nodes are at a depth that is greater than the particular depth; and the second document comprises a second plurality of nodes, wherein one or more nodes of the second plurality of nodes are at a depth that is greater than the particular depth; based on the hash level, identifying a first subset, of the first plurality of nodes, that do not include any nodes, in the first plurality of nodes, that are at a depth that is greater than the particular depth, wherein the first subset includes at least two nodes that are at the same depth; based on the hash level, identifying a second subset, of the second plurality of nodes, that do not include any nodes, in the second plurality of nodes, that are at a depth that is greater than the particular depth, wherein the second subset includes at least two nodes that are at the same depth; for each node included in the first and second subsets, computing a hash value based on said each node and one or more descendants of said each node; performing a plurality of comparisons between hash values of different nodes that are only in the first and second subsets; based on the plurality of comparisons, generating an edit script; wherein the method is performed by one or more computing devices.

---

Claim 4:
4. The method of claim 1 , wherein performing the plurality of comparisons comprises: generating a distance matrix that includes a first axis and a second axis, wherein the first axis includes only the nodes in the first subset and the second axis includes only the nodes in the second subset; wherein the nodes in the first subset includes (a) a first node that is at a first level in the first document and (b) a second node that is at a second level in the first document than is different than the first level; based on the hash value computed for said each node, generating a plurality of proposed paths through the distance matrix; selecting, based on one or more criteria, a proposed path from the plurality of proposed paths.