IP Library Granted Patent US 7,283,670
Granted Patent B2
US 7,283,670 · App. 10/646,474 · Granted Oct 16, 2007

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,283,670
App. No.
10/646,474
Granted
Oct 16, 2007
Kind
B2
Abstract

A method of analyzing electronic ink, in which document data for a document containing electronic ink content is received from a software application running on a first processing thread. The first processing thread is employed to provide the document data to an electronic ink analysis process for analyzing on a second processing thread. Control of the first processing thread is then returned to the software application. After the results of the analysis are received, the results are reconciled with the current document data for the document.

Claims (51)

1. A method of analyzing electronic ink, comprising:

receiving, from a software application running on a first processing thread, a first data object corresponding to a first state of a document containing electronic ink content;

employing the first processing thread to provide the first data object to an electronic ink analysis process for analyzing on a second processing thread;

receiving results of the analysis process from the second processing thread;

after receiving results of the analysis process, receiving from the software application a second data object corresponding to a second state of the document; and

directly reconciling the results of the analysis process with the second data object.

2. The method recited in claim 1 , further comprising:

receiving the reconciled analysis results from the software application running on the first processing thread;

employing the first processing thread to provide the reconciled analysis results to a second electronic ink analysis process for analyzing on a third processing thread;

receiving results of the second analysis process from the third processing thread;

after receiving results of the second analysis process, receiving from the software application a third data object corresponding to a third state of the document; and

reconciling the results of the second analysis process with the third data object.

3. The method recited in claim 2 , wherein the first analysis process is an electronic ink layout and classification analysis process and the second analysis process is a recognition process.

4. The method recited in claim 2 , wherein the third processing thread is the same as the second processing thread.

5. The method recited in claim 2 , further comprising:

receiving the reconciled second analysis results from the software application running on the first processing thread;

employing the first processing thread to provide the reconciled second analysis results to a third electronic ink analysis process for analyzing on a fourth processing thread;

receiving results of the third analysis process from the fourth processing thread;

after receiving results of the third analysis process, receiving from the software application a fourth data object corresponding to a fourth state of the document; and

reconciling the results of the third analysis process with the fourth data object.

6. The method recited in claim 2 , wherein the second analysis process is a recognition process with a first stage for recognizing electronic ink data designated to be in a first language and a second stage for recognizing electronic ink data designated to be in a second language.

7. The method recited in claim 1 , wherein the document includes electronic ink content and non-ink content of the document.

8. The method recited in claim 7 , wherein at least a portion of the electronic ink content annotates the non-ink content.

9. The method recited in claim 1 , further comprising:

creating a data structure based on the first data object received from the software application; and

providing the data structure to the first analysis process.

10. The method recited in claim 9 , wherein the reconciling comprises providing the data structure to the software application.

11. A computer-readable medium including computer-executable instructions stored thereon for performing the method of claim 1 .

12. The method of claim 1 , wherein the reconciling comprises determining based on the first data object and the second data object that the state of the document has changed during the analyzing by the electronic ink analysis process.

13. The method of claim 1 , wherein the first processing thread and the second processing thread operate asynchronously such that the software application continues to operate while the electronic ink analysis process is analyzing the document.

14. The method of claim 1 , wherein reconciling comprises updating the second data object based on the results of the analysis process, and returning the updated second data object to the software application.

15. The method of claim 1 , wherein reconciling comprises updating the second data object to associate an electronic ink annotation with one or more non-ink document elements.

16. One or more computer readable storage media storing computer-executable components which, when executed on a computer system, perform a method of analyzing electronic ink, the computer-executable components comprising:

a software application that maintains a document containing document data corresponding to electronic ink data, the software application operating on a first processing thread;

an ink analysis process for analyzing electronic ink, the ink analysis process operating on a second processing thread; and

an ink analysis tool that

receives the document data corresponding to the electronic ink data from the software application,

provides the document data to the ink analysis process to analyze,

receive result from the ink analysis process, and

returns the results from the ink analysis process to the software application directly to be reconciled,

wherein the first processing thread and second processing thread operate asynchronously such that the software application continues to operate while the ink analysis process analyzes the document data corresponding to the electronic ink data.

17. The computer readable media of claim 16 , wherein the ink analysis tool receives updated document data from the software application after receiving the results from the ink analysis process, and reconciles the results from the ink analysis process with the updated document data received from the software application.

18. The computer readable media of claim 16 having further computer-executable components comprising:

a second analysis process that analyzes electronic ink; and

wherein the ink analysis tool

provides the results from the first analysis process to the second analysis process to analyze,

receives results from the second analysis process, and

returns results from the second analysis process to the software application.

19. The computer readable media of claim 18 , wherein the ink analysis tool

receives updated document data from the software application after receiving the results from the second analysis process, and

reconciles the results from the second analysis process with the updated document data received from the software application.

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