US20070169123A1 | 2007-07-19 |
Following is the claim for this invention :- 1> The novel technique by which we achieve communication between one or more produce threads and one or more consumer threads with the help of fixed size objects through an unbounded first in first out queue (wait-free non-blocking algorithm is used to perform insertion and deletion operations on the queue) in batches of size n where n is a number from a set of positive integers. |
AMENDED CLAIMS received by the International Bureau on 17 August 2017 (17.08.17) 1. In this invention we have a set of one or more producer threads which produce fixed size objects and a set of one or more consumer threads which consume these objects. Producer threads pass fixed size objects to consumer threads through an unbounded first in first out ordered queue using wait-free non-blocking algorithm for performing insertion and deletion operations on the queue. Here producer threads pass objects to consumer threads in batches of size n where n is a number from the set of positive integers. Producer threads generate fixed size objects and insert them into the unbounded first in first out ordered queue(using wait-free non-blocking algorithm) till we reach a queue size of n elements on which the producer thread which inserted the nth element in the queue will generate a token. The scheduler in this case only schedules producer threads along with other threads and not consumer threads for current and subsequent rounds of scheduling till the token gets generated on reaching the queue size of n elements, and thereafter the scheduler only schedules consumer threads along with other threads and not producer threads for current and subsequent rounds of scheduling till the generated token gets absorbed by the consumer thread which dequeued the last remaining element in the queue. So token based batched communication with wait-free non-blocking algorithm for unbounded first in first out ordered queue is one of the features of the invention. 2. The scheduler here maintains a table of entries consisting of thread identifier as the key and the value consists of the type of thread, i.e., producer or consumer, along with the pointer to the token if generated or a null reference if token is not generated, for the given set of producer and consumer thread identifiers containing this thread identifier. So the scheduler maintaining information about producer and consumer threads for each cycle of scheduling is the other feature of this invention. |
The scheduler here maintains a table of entries consisting of thread identifier as the key and the value consists of the type of thread, i.e. , producer or consumer, along with the pointer to the token if generated or a null reference if token is not generated, for the given set of producer and consumer thread identifiers containing this thread identifier.
Next Patent: METHOD FOR PREPARING A PRECOATED SHEET AND ASSOCIATED INSTALLATION