Dynamic thread pool management
US-2016350157-A1 · Dec 1, 2016 · US
US11115348B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11115348-B2 |
| Application number | US-202016884636-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 27, 2020 |
| Priority date | Nov 29, 2016 |
| Publication date | Sep 7, 2021 |
| Grant date | Sep 7, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A resource allocation service can provide for the limited redelivery of events for processing using a set of virtual resources. A customer can provide code for execution, and the service can allocate resource instances configured to execute the code in response to various events. The processing for an event may not be completed by a single resource instance. When a resource instance is to end processing, the instance can capture state information to be returned as checkpoint data for the event. When the processing result is received, the service determines whether checkpoint data was included, which functions as a request for further processing. The service can then place the event data back in an event queue for redelivery and additional processing. A customer can specify a time limit or a retry limit such that an event can only undergo up to a maximum amount of processing before the event is failed.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method, comprising: detecting a notification event associated with a customer of a multi-tenant resource allocation service; determining a registered function corresponding to the notification event, the registered function including code to be executed on behalf of the customer; placing event information for the notification event in an event queue; allocating a resource instance for executing the registered function to process the notification event, the resource instance obtaining the event information from the event queue; receiving, from the resource instance, a first processing result for the notification event; determining that state data for the resource instance is stored in a process data store based on the first processing result; contacting a resource manager to obtain the state data from the process data store; placing additional event information in the event queue, wherein the additional event information indicates additional processing of the notification event is required; performing the additional processing based at least in part on the state data; receiving a second processing result in response to performing the additional processing; and providing the second processing result to the customer. 2. The computer-implemented method of claim 1 , wherein performing the additional processing includes providing the state data to a worker to perform the additional processing. 3. The computer-implemented method of claim 2 , wherein the worker is a component of a second resource instance that is separate from the resource instance. 4. The computer-implemented method of claim 1 , further comprising: receiving authentication credentials from the customer; and verifying that the customer is authorized to access the multi-tenant resource allocation service before placing the event information in the event queue. 5. The computer-implemented method of claim 4 , wherein the authentication credentials include a session token. 6. The computer-implemented method of claim 5 , wherein the session token is provided by the multi-tenant resource allocation service in response to verifying that the customer is authorized. 7. The computer-implemented method of claim 1 , wherein the registered function is scalable. 8. The computer-implemented method of claim 1 , wherein the code is written in one of the JAVA®, JAVASCRIPT™, PYTHON™, or RUBY™ programming languages. 9. The computer-implemented method of claim 1 , wherein the resource allocation service includes a load balancer to allocate the resource instance. 10. A computer-implemented method, comprising: determining a registered function associated with an event; placing the event in an event queue; allocating one or more workers to process the event; processing, by the one or more workers, the event; generating a first processing result including state data and event information from the one or more workers indicating that additional processing is required; placing the event information in the event queue; allocating one or more additional workers to continue processing of the event based at least in part on the first processing result; performing additional processing by the one or more additional workers; and receiving a second processing result from the one or more additional workers. 11. The computer-implemented method of claim 10 , further comprising: determining that a processing stop criteria has been satisfied, wherein the first processing result is generated in response to the processing stop criteria being satisfied. 12. The computer-implemented method of claim 11 , wherein the processing stop criteria is processing time by the one or more workers exceeding a threshold processing time. 13. The computer-implemented method of claim 11 , wherein the processing stop criteria is processing by the one or more workers exceeds a maximum number of operations. 14. The computer-implemented method of claim 10 , further comprising: receiving the event from a customer; and providing the second processing result to the customer. 15. The computer-implemented method of claim 14 , wherein the event is received via an application programming interface (API). 16. A system, comprising: at least one processor; and memory including instructions that, when executed by the at least one processor, cause the system to: determine a registered function associated with an event; place the event in an event queue; allocate one or more workers to process the event; process, by the one or more workers, the event; generate a first processing result including state data and event information from the one or more workers indicating that additional processing is required; place the event information in the event queue; allocate one or more additional workers to continue processing of the event based at least in part on the first processing result; perform additional processing by the one or more additional workers; and receive a second processing result from the one or more additional workers. 17. The system of claim 16 , wherein the instructions when executed further cause the system to: receive the event from a customer; and provide the second processing result to the customer. 18. The system of claim 16 , wherein the event is received via an application programming interface (API). 19. The system of claim 16 , wherein to perform the additional processing, the system provides the state data to the one or more additional workers to perform the additional processing. 20. The system of claim 16 , wherein the instructions when executed further cause the system to: provide one or more status updates to one or more auxiliary service systems, wherein the auxiliary service systems include at least one of a logging service, a billing service, and a monitoring service.
using virtualisation of network functions or resources, e.g. SDN or NFV entities · CPC title
for accessing one among a plurality of replicated servers · CPC title
Processing captured monitoring data, e.g. for logfile generation · CPC title
Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components · CPC title
for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection (management of faults, events, alarms or notifications in data switching networks H04L41/06) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.