System and method for providing a linearizable request manager
First Claim
1. A method for improving concurrency of a request manager for use in an application server, comprising:
- providing a request manager to execute on one or more microprocessors;
receiving a request by the request manager, wherein the request manager associates a token with the request;
enqueuing a reference to the request in each of a plurality of queues, wherein each queue stores a local copy of the token;
dequeuing a first reference to the request from a particular queue, wherein when the first reference to the request is dequeued, the request is processed, and the token is modified to create a modified token; and
wherein when other references to the request are dequeued from other queues, the other references to the request are discarded.
1 Assignment
0 Petitions
Accused Products
Abstract
Described herein are systems and methods for improving concurrency of a request manager for use in an application server or other environment. A request manager receives a request, and upon receiving the request the request manager associates a token with the request. A reference to the request is enqueued in each of a plurality of queues, wherein each queue stores a local copy of the token. A first reference to the request is dequeued from a particular queue, wherein when the first reference to the request is dequeued, the token is modified to create a modified token. Thereafter the request is processed. When other references to the request are dequeued from other queues, the other references to the request are discarded.
-
Citations
20 Claims
-
1. A method for improving concurrency of a request manager for use in an application server, comprising:
-
providing a request manager to execute on one or more microprocessors; receiving a request by the request manager, wherein the request manager associates a token with the request; enqueuing a reference to the request in each of a plurality of queues, wherein each queue stores a local copy of the token; dequeuing a first reference to the request from a particular queue, wherein when the first reference to the request is dequeued, the request is processed, and the token is modified to create a modified token; and wherein when other references to the request are dequeued from other queues, the other references to the request are discarded. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for improving concurrency of a request manager, comprising:
-
one or more microprocessors; a request manager that executes on said one or more microprocessors, wherein the request manager receives a request, and wherein the request manager associates a token with the request; a plurality of queues, wherein the request manager enqueues a reference to the request in each of the plurality of queues, and wherein each queue stores a local copy of the token; a plurality of threads that execute the requests from the plurality of queues, wherein one of the plurality of threads dequeues a first reference to the request from a particular queue, wherein when the first reference to the request is dequeued, the request is processed, and the token is modified to create a modified token; and wherein when other references to the request are dequeued from other queues, the other references to the request are discarded. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A non-transitory computer readable storage medium storing one or more sequences of instructions for improving concurrency of a request manager for use in an application server, wherein said instructions, when executed by one or more processors, cause the one or more processors to execute steps comprising:
-
providing a request manager to execute on one or more microprocessors; receiving a request by the request manager, wherein the request manager associates a token with the request; enqueuing a reference to the request in each of a plurality of queues, wherein each queue stores a local copy of the token; dequeuing a first reference to the request from a particular queue, wherein when the first reference to the request is dequeued, the request is processed, and the token is modified to create a modified token; and wherein when other references to the request are dequeued from other queues, the other references to the request are discarded. - View Dependent Claims (20)
-
Specification