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 load process for reading a document from a storage device and loading the document into an application;
spawn a load process thread to execute the load process on a first processing core provided by a multi-core central processing unit;
spawn an application thread to execute the application on a second processing core of the multi-core processing unit;
create a first pipeline for executing the load process thread, wherein the first pipeline performs tasks associated with loading the document into the application;
create a second pipeline for executing the application, wherein the second pipeline performs tasks associated with performing operations on the document, and wherein the first pipeline is configured to pass tokens as input to the tasks in the second pipeline;
provide a circular queue for storing tokens from the first pipeline and to pass the tokens to the tasks in the second pipeline; and
provide a 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.
19 Citations
14 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 load process for reading a document from a storage device and loading the document into an application; spawn a load process thread to execute the load process on a first processing core provided by a multi-core central processing unit; spawn an application thread to execute the application on a second processing core of the multi-core processing unit; create a first pipeline for executing the load process thread, wherein the first pipeline performs tasks associated with loading the document into the application; create a second pipeline for executing the application, wherein the second pipeline performs tasks associated with performing operations on the document, and wherein the first pipeline is configured to pass tokens as input to the tasks in the second pipeline; provide a circular queue for storing tokens from the first pipeline and to pass the tokens to the tasks in the second pipeline; and provide a synchronization primitive for regulating access to the circular queue. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method comprising:
-
providing, at a computer, a load process for reading a document from a storage device and loading the document into an application executing at the computer; spawning a load process thread to execute the load process on a first processing core provided by a multi-core processing unit at the computer; spawning an application thread to execute the application on a second processing core of the multi-core processing unit at the computer; creating a first pipeline for executing the load process thread, wherein the first pipeline performs tasks associated with loading the document into the application; creating a second pipeline for executing the application, wherein the second pipeline performs tasks associated with performing operations on the document, and wherein the first pipeline is configured to pass tokens as input to the tasks in the second pipeline; providing a circular queue for storing tokens from the first pipeline and to pass the tokens to the tasks in the second pipeline; and providing a synchronization primitive for regulating access to the circular queue. - View Dependent Claims (8, 9, 10, 11)
-
-
12. 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 load process for reading a document from a storage device and loading the document into an application; spawn an application thread to execute the application on a first processing core of provided by a multi-core central processing unit; spawn a load process thread to execute the load process on a second processing core of provided by a multi-core central 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 load process thread and for performing a plurality of tasks associated with loading the document from 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 (13, 14)
-
Specification