Systems and methods for organizing dependent and sequential software threads
AssigneeAppsense Limited
InventorPaul Keith BRANTON
Life of this patent
Estimating the term…
Abstract
Systems and methods are provided for the organization of dependent and sequential software threads running multiple threads of execution on a computing device in order to improve performance and reduce the complexity of thread management. Computing tasks, or jobs, are organized into job wrappers for ordered execution. In response to receiving a request to create a job wrapper, the computing device initializes the job wrapper; initializes a shared data table having a plurality of variables that can be accessed by software threads that comprise the job wrapper; setting a first variable in the plurality of variables to assign a dependency of one software thread to another software thread; finally executing the job wrapper.
Claims20
A method comprising:
- receiving a request to create a job wrapper comprising a plurality of software threads, wherein the plurality of software threads comprises a first software thread and a second software thread dependent on the first software thread;
- initializing the job wrapper comprising:
- creating at least one job based on at least the first software thread and the second software thread;
- initializing a shared data table having a plurality of variables that can be accessed by at least one of the first software thread and the second software thread;
- and
- setting a first variable in the plurality of variables to assign a dependency of the second software thread on the first software thread;
- and
- in response to initializing the job wrapper, executing the job wrapper.
A non-transitory computer readable medium having executable instructions that are operable to cause a data processing apparatus to:
- receive a request to create a job wrapper comprising a plurality of software threads, wherein the plurality of software threads comprises a first software thread and a second software thread dependent on the first software thread;
- initialize the job wrapper comprising:
- creating at least one job based on at least the first software thread and the second software thread;
- initializing a shared data table having a plurality of variables that can be accessed by at least one of the first software thread and the second software thread;
- and
- setting a first variable in the plurality of variables to assign a dependency of the second software thread on the first software thread;
- and
- in response to initializing the job wrapper, executing the job wrapper.
An apparatus comprising:
- a processor configured to run a module stored in memory, the module configured to:
- receive a request to create a job wrapper comprising a plurality of software threads, wherein the plurality of software threads comprises a first software thread and a second software thread dependent on the first software thread;
- initialize the job wrapper comprising:
- creating at least one job based on at least the first software thread and the second software thread;
- initializing a shared data table having a plurality of variables that can be accessed by at least one of the first software thread and the second software thread;
- and
- setting a first variable in the plurality of variables to assign a dependency of the second software thread on the first software thread;
- and
- in response to initializing the job wrapper, executing the job wrapper.
Dependencies are inferred from the claim text.