Configuring polling times for software applications

US11907142B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11907142-B2
Application numberUS-202217592739-A
CountryUS
Kind codeB2
Filing dateFeb 4, 2022
Priority dateFeb 4, 2022
Publication dateFeb 20, 2024
Grant dateFeb 20, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • G06F13/22Primary

    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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11907142B2 cover?
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…
Who is the assignee on this patent?
Red Hat Inc
What technology area does this patent fall under?
Primary CPC classification G06F13/22. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 20 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).