Patent ID: 7123770

Claim:
A method for processing digital ink, comprising: obtaining data representing one or more ink strokes, wherein the data is stored as an application data structure; conducting a first analysis on a first snapshot of the application data structure to produce a first data structure, wherein the first snapshot is separate from the application data structure and represents a copy of the application data structure at a first point in time; conducting a second analysis different from the first analysis on a second snapshot of the application data structure to produce a second data structure, wherein the second snapshot is separate from the application data structure and represents a copy of the application data structure at a second point in time, and wherein the second point in time may be the same as or different from the first point in time; and modifying the application data structure based on the first analysis and the second analysis, wherein the application data structure is separate from the first and second snapshots such that; during either of the first analysis or the second analysis, a user may change the application data structure through a plurality of different types of actions including at least the following actions: (a) by adding one or more new ink strokes, (b) by deleting one or more existing ink strokes, and (c) by modifying one or more existing ink strokes, without the user's changes to the application data structure affecting the first analysis on the first snapshot or the second analysis on the second snapshot and without the first analysis on the first snapshot or the second analysis on the second snapshot affecting an ability of the application data structure to receive the user's changes.