Method of executing concurrent tasks by a subsystem managed by a central processor
First Claim
1. A method of processing concurrent tasks by a subsystem managed by a central processor, each of the tasks being comprised of successive messages including a first message, intermediate messages, and a last message, each of the intermediate messages comprising at least one subtask parameter and a link to the next message that indicates a time of processing of the next message, the method comprising, for each task, the steps of:
- writing by the central processor, the writing step including the sub-steps of;
writing a message in a memory;
if a counter is initially free for access, prohibiting access to the counter by the subsystem, and then;
if the counter has a zero value, writing in the subsystem a link that indicates a time of processing of the first message by the subsystem;
otherwise, writing in the subsystem a link to the next message, the link to the next message being included in the message written in the memory;
incrementing the counter by a number representative of presence of the message of the task in the memory; and
ending the prohibition against accessing the counter; and
processing by the subsystem, the processing step including the sub-steps of;
if the counter is initially free for access, prohibiting access to the counter by the central processor;
if the counter has a non-zero value, reading the link to the next message and decrementing the counter;
ending the prohibition against accessing the counter; and
processing the subtask parameters of the next message at the time indicated in the link to the next message.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are provided for processing different concurrent tasks by a subsystem managed by a central processor. Each tasks is comprised of successive messages including a first message, intermediate messages, and a last message. Each intermediate message comprises a subtask parameter and a link to the next message that indicates the time when the next message is to be processed. The central processor and the subsystem are connected to a storage memory and several counters associated with respective tasks. The system and method reduce task disruptions of the system.
28 Citations
29 Claims
-
1. A method of processing concurrent tasks by a subsystem managed by a central processor, each of the tasks being comprised of successive messages including a first message, intermediate messages, and a last message, each of the intermediate messages comprising at least one subtask parameter and a link to the next message that indicates a time of processing of the next message, the method comprising, for each task, the steps of:
-
writing by the central processor, the writing step including the sub-steps of;
writing a message in a memory;
if a counter is initially free for access, prohibiting access to the counter by the subsystem, and then;
if the counter has a zero value, writing in the subsystem a link that indicates a time of processing of the first message by the subsystem;
otherwise, writing in the subsystem a link to the next message, the link to the next message being included in the message written in the memory;
incrementing the counter by a number representative of presence of the message of the task in the memory; and
ending the prohibition against accessing the counter; and
processing by the subsystem, the processing step including the sub-steps of;
if the counter is initially free for access, prohibiting access to the counter by the central processor;
if the counter has a non-zero value, reading the link to the next message and decrementing the counter;
ending the prohibition against accessing the counter; and
processing the subtask parameters of the next message at the time indicated in the link to the next message. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. An electronic system for executing concurrent tasks, the system comprising:
-
a storage memory;
a central processor capable of generating and writing messages of the concurrent tasks in the storage memory, each of the tasks being comprised of a first message, a plurality of intermediate messages, and a last message, and each intermediate message comprising at least one subtask parameter and a link to the next message;
a subsystem capable of reading the messages from the storage memory, the subsystem comprising command means for requesting the processing of one of the messages at the time specified in the link of the preceding message, and processing means for processing the message in response to the request;
a plurality of counters, each of the counters being associated with one of the tasks, being capable of being incremented by the central processor, and being capable of being decremented by the subsystem; and
semaphores associated with the counters, each of the semaphores authorizing an access by the central processor to the counter associated with that semaphore only in the absence of an access by the subsystem to that counter, and authorizing an access by the subsystem to the associated counter only in the absence of an access by the central processor to that counter. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
-
26. A machine-readable medium encoded with a program for processing concurrent tasks by a subsystem managed by a central processor, each of the tasks being comprised of successive messages including a first message, intermediate messages, and a last message, each of the intermediate messages comprising at least one subtask parameter and a link to the next message that indicates a time of processing of the next message, the program containing instructions for performing, for each task, the steps of:
-
writing by the central processor, the writing step including the sub-steps of;
writing a message in a memory;
if a counter is initially free for access, prohibiting access to the counter by the subsystem, and then;
if the counter has a zero value, writing in the subsystem a link that indicates a time of processing of the first message by the subsystem;
otherwise, writing in the subsystem a link to the next message, the link to the next message being included in the message written in the memory;
incrementing the counter by a number representative of presence of the message of the task in the memory; and
ending the prohibition against accessing the counter; and
processing by the subsystem, the processing step including the sub-steps of;
if the counter is initially free for access, prohibiting access to the counter by the central processor;
if the counter has a non-zero value, reading the link to the next message and decrementing the counter;
ending the prohibition against accessing the counter; and
processing the subtask parameters of the next message at the time indicated in the link to the next message. - View Dependent Claims (27, 28, 29)
-
Specification