IP Library Granted Patent US 7,502,805
Granted Patent B2
US 7,502,805 · App. 10/646,472 · Granted Mar 10, 2009

Electronic ink processing

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 7,502,805
App. No.
10/646,472
Granted
Mar 10, 2009
Kind
B2
Abstract

A method of reconciling a first data structure with a second data structure that is a subsequently modified version of the first data structure. Initially, each node in the first data structure for which a change has been made to a corresponding node in the second data structure is accessed. For each accessed node, a determination is made as to whether the change made to the corresponding node in the second data structure creates a collision with the first data structure. If the change made to the corresponding node in the second data structure does not create a collision with the first data structure, then the change is made to the accessed node in the first data structure.

Claims (39)

1. A method of reconciling a first data structure stored on a computer readable medium with a second data structure stored on a computer readable medium, the first and second data structures each comprising a hierarchical tree of nodes, the first data structure comprising an analysis context object and the second data structure comprising a document independent analysis context object, the method comprising:

for each node of the second data structure, determining whether the node has received a change from a corresponding node in the first data structure;

for each node in the second data structure determined to have received a change from a corresponding node in the first data structure, attempting to access the corresponding node in the first data structure;

when the corresponding node in the first data structure is inaccessible, preventing the change from occurring in the second data structure;

when the corresponding node in the first data structure is accessible, determining when the change to the second data structure creates a discretionary collision and determining when the change to the second data structure creates a mandatory collision,

wherein mandatory collisions occur when it is impossible to apply a change made to the document independent analysis context object by an analysis process to the analysis context object for a current state, and

wherein a discretionary collision occurs when a value has changed in the analysis context object that is related to a value changed in the document independent analysis context object by the analysis process, but other constraints of the analysis context object allow the application of the change made by the analysis process to the analysis context object;

when the change to the second data structure creates a discretionary collision, determining whether the discretionary collision is forbidden by collision criteria;

when the discretionary collision is not forbidden by the collision criteria, making the change to the corresponding node in the first data structure; and

when the discretionary collision is forbidden by the collision, preventing the change from occurring, wherein the collision criteria prohibits ink strokes from being removed from a leaf node below a pinned node.

2. The method recited in claim 1 , further comprising deleting empty nodes from the first data structure.

3. The method recited in claim 1 , further comprising identifying nodes in the first data structure for which a change to the second data structure creates a collision to a software application maintaining the first data structure.

4. The method recited in claim 1 , wherein the collision criteria:

prohibits ink strokes from being added to a leaf node below the pinned node,

prohibits adding leaf nodes below the pinned node,

prohibits removing leaf nodes below the pinned node, and

prohibits a parental status change of leaf nodes below the pinned node.

5. The method recited in claim 1 , wherein the collision criteria:

allows late ink strokes to be added to a leaf node below the pinned node under specified conditions,

prohibits adding leaf nodes below the pinned node,

prohibits removing leaf nodes below the pinned node, and

prohibits a parental status change of leaf nodes below the pinned node.

6. The method recited in claim 1 , wherein the collision criteria:

allows ink strokes to be added to a leaf node below the pinned node under specified conditions.

7. One or more computer readable storage media having computer-executable instructions stored thereon, for performing a method of reconciling a first data structure stored on a computer readable medium with a second data structure stored on a computer readable medium, comprising the method of claim 1 .

8. The one or more computer readable storage media of claim 7 , wherein the method further comprises deleting empty nodes from the first data structure.

9. The one or more computer readable storage media of claim 7 , wherein the method further comprises identifying nodes in the first data structure for which a change to the second data structure creates a collision to a software application maintaining the first data structure.

10. The one or more computer readable storage media of claim 7 , wherein the collision criteria:

prohibits ink strokes from being added to a leaf node below the pinned node,

prohibits adding leaf nodes below the pinned node,

prohibits removing leaf nodes below the pinned node, and

prohibits a parental status change of leaf nodes below the pinned node.

11. The one or more computer readable storage media of claim 7 , wherein the collision criteria:

allows late ink strokes to be added to a leaf node below the pinned node under specified conditions,

prohibits adding leaf nodes below the pinned node,

prohibits removing leaf nodes below the pinned node, and

prohibits a parental status change of leaf nodes below the pinned node.

12. The one or more computer readable storage media of claim 7 , wherein the collision criteria:

allows ink strokes to be added to a leaf node below the pinned node under specified conditions.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034541/0477 →