Multi-threaded processes for opening and saving documents
First Claim
1. A computer-readable storage medium that is not a signal, the computer-readable storage medium having computer-executable instructions stored thereon that, when executed by a computer, cause the computer to:
- provide a save process for writing at least one document from at least one application, and storing the document into at least one storage device;
spawn an application thread to execute the application on a first processing unit;
spawn a save process thread to execute the save process on at least a second processing unit;
spawn a first pipeline for executing the application thread, wherein the first pipeline is for performing a plurality of tasks associated with operating on at least the one document;
create at least a second pipeline for executing the save process thread, wherein the second pipeline is for performing a plurality of tasks associated with writing at least the one document to the storage device, wherein the tasks in the first pipeline are configured to pass tokens as input to the tasks in the second pipeline;
provide a circular queue to store tokens received from the first pipeline and to pass the tokens to the tasks in the second pipeline; and
providing at least one synchronization primitive for regulating access to the circular queue.
2 Assignments
0 Petitions
Accused Products
Abstract
Tools and techniques are described for multi-threaded processing for opening and saving documents. These tools may provide load processes for reading documents from storage devices, and for loading the documents into applications. These tools may spawn a load process thread for executing a given load process on a first processing unit, and an application thread may execute a given application on a second processing unit. A first pipeline may be created for executing the load process thread, with the first pipeline performing tasks associated with loading the document into the application. A second pipeline may be created for executing the application process thread, with the second pipeline performing tasks associated with operating on the documents. The tasks in the first pipeline are configured to pass tokens as input to the tasks in the second pipeline.
28 Citations
20 Claims
-
1. A computer-readable storage medium that is not a signal, the computer-readable storage medium having computer-executable instructions stored thereon that, when executed by a computer, cause the computer to:
-
provide a save process for writing at least one document from at least one application, and storing the document into at least one storage device; spawn an application thread to execute the application on a first processing unit; spawn a save process thread to execute the save process on at least a second processing unit; spawn a first pipeline for executing the application thread, wherein the first pipeline is for performing a plurality of tasks associated with operating on at least the one document; create at least a second pipeline for executing the save process thread, wherein the second pipeline is for performing a plurality of tasks associated with writing at least the one document to the storage device, wherein the tasks in the first pipeline are configured to pass tokens as input to the tasks in the second pipeline; provide a circular queue to store tokens received from the first pipeline and to pass the tokens to the tasks in the second pipeline; and providing at least one synchronization primitive for regulating access to the circular queue. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
providing, at a computer, a save process for writing a document from an application, and storing the document at a storage device; spawning an application thread to execute the application on a first processing unit; spawning a save process thread to execute the save process on a second processing unit; spawning a first pipeline for executing the application thread and for performing a plurality of tasks associated with operating on the document; creating a second pipeline for executing the save process thread and for performing a plurality of tasks associated with writing the document to the storage device, wherein the tasks in the first pipeline are configured to pass tokens as input to the tasks in the second pipeline; providing a circular queue to receive the tokens from the tasks in the first pipeline and to pass the tokens to the tasks in the second pipeline; and providing a synchronization primitive to regulate access to the circular queue. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer storage medium that is not a signal, the computer storage medium having computer executable instructions stored thereon that, when executed by a computer, cause the computer to:
-
provide a save process for writing a document from an application; store the document at a storage device; spawn an application thread to execute the application on a first processing unit; spawn a save process thread to execute the save process on a second processing unit; create a first pipeline for executing the application thread and for performing a plurality of tasks associated with operating on the document; create a second pipeline for executing the save process thread and for performing a plurality of tasks associated with writing the document to the storage device, wherein the tasks in the first pipeline are configured to pass tokens to the tasks in the second pipeline; provide a circular queue to receive the tokens from the tasks in the first pipeline and to pass the tokens to the tasks in the second pipeline; and provide a synchronization primitive to regulate access to the circular queue. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification