Rapid notification system
First Claim
1. A method of fulfilling a request to perform a task, the method comprising:
- receiving the request from a client computer, wherein the received request is made available to a set of worker computers, each worker computer performing tasks corresponding to particular requests in a first queue within a first wait period;
placing the received request in the first queue and placing a copy of the received request in a second queue by a queue manager, the second queue to be scanned by each worker computer at plural intervals, a copy of a given request to be removed from the second queue by a given worker computer if the given worker computer is able to perform the given request, and the copy of the given request to be left in the second queue if the given worker computer is unable to perform the given request;
performing a scan of the second queue by a master computer; and
wherein in response to not finding the copy of the received request in the second queue after a second wait period which is smaller than the first wait period, the master computer beginning monitoring progress of a performance of the task by reading a state of the task.
10 Assignments
0 Petitions
Accused Products
Abstract
Improved techniques of fulfilling a request to perform a task involve a master computer placing the request in a first queue and a copy of the request in a second queue, the second queue being frequently accessed by a set of worker computers which rapidly scans the second queue for requests to fulfill. If, during the scanning, a worker computer determines that it has a capability to fulfill the request, the worker computer removes the copy of the request from the second queue. Furthermore, if the copy of the request remains in the second queue after a brief time period, it is clear that the set of worker computers is unable to perform the task. In this case, the master computer takes a remedial action such as notifying a client computer which sent the request that the worker computers, as currently configured, are unable to perform the task.
25 Citations
20 Claims
-
1. A method of fulfilling a request to perform a task, the method comprising:
-
receiving the request from a client computer, wherein the received request is made available to a set of worker computers, each worker computer performing tasks corresponding to particular requests in a first queue within a first wait period; placing the received request in the first queue and placing a copy of the received request in a second queue by a queue manager, the second queue to be scanned by each worker computer at plural intervals, a copy of a given request to be removed from the second queue by a given worker computer if the given worker computer is able to perform the given request, and the copy of the given request to be left in the second queue if the given worker computer is unable to perform the given request; performing a scan of the second queue by a master computer; and wherein in response to not finding the copy of the received request in the second queue after a second wait period which is smaller than the first wait period, the master computer beginning monitoring progress of a performance of the task by reading a state of the task. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system configured to fulfill a request to perform a task, the system comprising:
-
a master computer comprising; a memory; a controller including controlling circuitry coupled to the memory; and a network interface to communicate with a set of worker computers, each to perform tasks corresponding to particular requests in a first queue within a first wait period; wherein the controlling circuitry is configured to; receive the request from a client computer; cause a queue manager to place the received request in the first queue and a copy of the received request in a second queue, the second queue to be scanned by each worker computer at plural intervals, a copy of a given request to be removed from the second queue by a given worker computer if the given worker computer is able to perform the given request, and the copy of the given request to be left in the second queue if the given worker computer is unable to perform the given request; perform a scan of the second queue; and wherein in response to not finding the copy of the received request in the second queue after a second wait period which is smaller than the first wait period, begin monitoring progress of a performance of the task by reading a state of the task. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer readable storage medium which stores code executable by a master computer to:
-
receive a request to perform a task from a client computer, the received request being made available to a set of worker computers, each worker computer of the set of worker computers to perform tasks corresponding to particular requests from a first queue within a first wait period; cause a queue manager to place the received request in the first queue and place a copy of the received request in a second queue, the second queue to be scanned by each worker computer at plural intervals, a copy of a given request to be removed from the second queue by a given worker computer if the given worker computer is able to perform the given request, and the copy of the given request to be left in the second queue if the given worker computer is unable to perform the given request; perform a scan of the second queue; and wherein in response to not finding the copy of the received request in the second queue after a second wait period that is smaller than the first wait period, begin monitoring progress of a performance of the task reading a state of the task. - View Dependent Claims (18, 19, 20)
-
Specification