Lock-free processing of stateless protocols over rdma
US-2016378712-A1 · Dec 29, 2016 · US
US11907142B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11907142-B2 |
| Application number | US-202217592739-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 4, 2022 |
| Priority date | Feb 4, 2022 |
| Publication date | Feb 20, 2024 |
| Grant date | Feb 20, 2024 |
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.
Excessive polling that may result in wasted computing resources and unnecessary network traffic can be avoided using some techniques described herein. In one example, a method can include obtaining historical data indicating execution times associated with computing operations. The method can also include determining polling times to assign to the computing operations by applying a model to the historical data. The method may also include configuring a software application to implement the polling times in relation to polling processes for transmitting requests to execute the computing operations to one or more destinations.
Opening claim text (preview).
The invention claimed is: 1. A non-transitory computer-readable medium comprising program code that is executable by a processor for causing the processor to: obtain historical data indicating execution times associated with a plurality of computing operations; determine a plurality of polling times to assign to the plurality of computing operations based on the historical data, wherein each polling time of the plurality of polling times is a respective delay period in which to wait between transmitting consecutive requests to execute a respective computing operation among the plurality of computing operations; and configure a software application to implement the plurality of polling times in relation to a plurality of polling processes for transmitting requests to execute the plurality of computing operations to one or more destinations. 2. The non-transitory computer-readable medium of claim 1 , wherein the execution times each indicate a respective difference between a start time and a completion time for executing a respective computing operation of the plurality of computing operations during a prior time period. 3. The non-transitory computer-readable medium of claim 1 , the one or more destinations being external to the software application. 4. The non-transitory computer-readable medium of claim 1 , wherein the software application includes a state machine configured to execute first state logic in a first state and second state logic in a second state, the first state logic being configured to execute a first polling process involving transmitting a first set of consecutive requests to one or more application programming interfaces (APIs) for implementing a first computing operation of the plurality of computing operations, the second state logic being configured to execute a second polling process involving transmitting a second set of consecutive requests to the one or more APIs for implementing a second computing operation of the plurality of computing operations, and further comprising program code that is executable by the processor for causing the processor to configure the software application to implement the plurality of polling times by: configuring the first polling process to pause for a first polling time of the plurality of polling times between the first set of consecutive requests; and configuring the second polling process to pause for a second polling time of the plurality of polling times between the second set of consecutive requests, the second polling time being different from the first polling time. 5. The non-transitory computer-readable medium of claim 4 , wherein the first computing operation is a first type of computing operation, and the second computing operation is a second type of computing operation that is different from the first type of computing operation. 6. The non-transitory computer-readable medium of claim 4 , wherein the first computing operation is a particular computing operation configured with a first parameter value, and the second computing operation is the particular computing operation configured with a second parameter value. 7. The non-transitory computer-readable medium of claim 6 , wherein the first parameter value is a first value of a parameter and the second parameter value is a second value of the parameter, the second value being different than the first value. 8. The non-transitory computer-readable medium of claim 1 , further comprising program code that is executable by the processor for causing the processor to: determine the plurality of polling times using a model, wherein the model is a machine-learning model configured using the historical data. 9. The non-transitory computer-readable medium of claim 8 , further comprising program code that is executable by the processor for causing the processor to train the machine-learning model using the historical data. 10. The non-transitory computer-readable medium of claim 1 , further comprising program code that is executable by the processor for causing the processor to: determine the plurality of polling times using a model, wherein the model is a time-series clustering model configured to: generate a plurality of clusters corresponding to the plurality of computing operations; and assign a respective polling value to each cluster of the plurality of clusters. 11. The non-transitory computer-readable medium of claim 1 , further comprising program code that is executable by the processor for causing the processor to configure the software application to implement the plurality of polling times by updating a configuration file for the software application based on the plurality of polling times. 12. A method comprising: obtaining, by one or more processors, historical data indicating execution times associated with a plurality of computing operations; determining, by the one or more processors, a plurality of polling times to assign to the plurality of computing operations based on the historical data, wherein each polling time of the plurality of polling times is a respective delay period in which to wait between transmitting consecutive requests to execute a respective computing operation among the plurality of computing operations; and configuring, by the one or more processors, a software application to implement the plurality of polling times in relation to a plurality of polling processes for transmitting requests to execute the plurality of computing operations to one or more destinations. 13. The method of claim 12 , wherein the execution times each indicate a respective difference between a start time and a completion time for executing a respective computing operation of the plurality of computing operations during a prior time period. 14. The method of claim 12 , the one or more destinations being external to the software application. 15. The method of claim 12 , wherein the software application includes a state machine configured to execute first state logic in a first state and second state logic in a second state, the first state logic being configured to execute a first polling process involving transmitting a first set of consecutive requests to one or more application programming interfaces (APIs) for implementing a first computing operation of the plurality of computing operations, the second state logic being configured to execute a second polling process involving transmitting a second set of consecutive requests to the one or more APIs for implementing a second computing operation of the plurality of computing operations, and further comprising implementing the plurality of polling times by: configuring the first polling process to pause for a first polling time of the plurality of polling times between the first set of consecutive requests; and configuring the second polling process to pause for a second polling time of the plurality of polling times between the second set of consecutive requests, the second polling time being different from the first polling time. 16. The method of claim 15 , wherein the first computing operation is a particular computing operation configured with a first parameter value, and the second computing operation is the particular computing operation configured with a second parameter value. 17. The method of claim 16 , wherein the first parameter value is a first value of a parameter and the second parameter value is a second value of the parameter, the second value being different than the first value. 18. The method of claim 12 , further comprising determining the plurality of poll
using successive scanning, e.g. polling (G06F13/24 takes precedence) · CPC title
Finite state machines · CPC title
via adapters, e.g. between incompatible applications · CPC title
Machine learning · CPC title
Interprogram communication · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.