Polling determination

US9619411B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9619411-B2
Application numberUS-201514723015-A
CountryUS
Kind codeB2
Filing dateMay 27, 2015
Priority dateSep 28, 2013
Publication dateApr 11, 2017
Grant dateApr 11, 2017

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.

Techniques for polling an input/output (I/O) device are described herein. The techniques include polling a device for data from the I/O device, and receiving the data from the I/O device at the host device as a result of the polling. The techniques include determining whether the data received is the same as data received at a previous polling of the I/O device. Upon determining the data received is the same, the techniques include decreasing the polling rate if the data is the same, and if it is not the same. Upon determining the data is not the same, the techniques include increasing the polling rate if the data is not the same.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for determining a polling rate for an input/output (I O) device communicatively coupled to a host device, the method comprising: polling the I/O device for data from the I/O device; receiving the data from the I/O device at the host device as a result of the polling; determining whether the data received is the same as data received at a previous polling of the I/O device by sampling the data a plurality of times previous to a current sample and determining whether the data received in the current sample is different from the average data received during the plurality of times; decreasing the polling rate if the data is the same; and, if it is not the same, increasing the polling rate. 2. The method of claim 1 , wherein the I/O device is an I/O device having an interrupt endpoint, wherein a polling rate is predetermined by the host device, and the predetermined polling rate is changed based on the decreasing or increasing of the polling rate. 3. The method of claim 2 , wherein the I/O device is a Universal Serial Bus device having an interrupt endpoint protocol. 4. The method of claim 2 , wherein the I/O device is a unified I/O device. 5. The method of claim 1 , wherein the polling rate is increased only if the difference between the current sample and the average data received during the plurality of times is above a threshold. 6. The method of claim 1 , wherein a rate of change is the time required to change the polling rate, the method comprising: increasing the rate of change when the polling rate is to be increased; or decreasing the rate of change when the polling rate is to be decreased. 7. A system for determining a polling rate for an input/output (I/O) device communicatively coupled to a host device, the system comprising: a processing device; a system memory, wherein the system memory comprises code to direct the processing device to: poll the I/O device for data from the I/O device; receive the data from the I/O device at the host device as a result of the polling; determine whether the data received is the same as data received at a previous polling of the I/O device by sampling the data a plurality of times previous to a current sample and determining whether the data received in the current sample is different from the average data received during the plurality of times; decrease the polling rate if the data is the same; and, if it is not the same, increase the polling rate. 8. The system of claim 7 , wherein the I/O device is an I/O device having an interrupt endpoint, wherein a polling rate is predetermined by the host device, and the predetermined polling rate is changed based on the decreasing or increasing of the polling rate. 9. The system of claim 8 , wherein the I/O device is a Universal Serial Bus (USB) device having an interrupt endpoint protocol. 10. The system of claim 8 , wherein the I/O device is a unified I/O device. 11. The system of claim 8 , wherein the polling rate is increased only if the difference between the current sample and the average data received during the plurality of times is above a threshold. 12. The system of claim 7 , wherein a rate of change is the time required to change the polling rate, comprising code to direct the processing device to: increase the rate of change when the polling rate is to be increased; or decrease the rate of change when the polling rate is to be decreased. 13. A non-transitory computer-readable medium comprising instructions to direct a processor to carry out operations, the operations comprising: polling an input/output (I/O) device for data from the I/O device; receiving the data from the I/O device at a host device as a result of the polling; determining whether the data received is the same as data received at a previous polling of the I/O device by sampling the data a plurality of times previous to a current sample and determining whether the data received in the current sample is different from the average data received during the plurality of times; decreasing the polling rate if the data is the same; and, if it is not the same, increasing the polling rate. 14. The non-transitory computer-readable medium of claim 13 , wherein the I/O device is an I/O device having an interrupt endpoint, wherein a polling rate is predetermined by the host device, and the predetermined polling rate is changed based on the decreasing or increasing of the polling rate. 15. The non-transitory computer-readable medium of claim 14 , wherein the I/O device comprises: a Universal Serial Bus device having an interrupt endpoint protocol; is a unified I/O device; or any combination of the above. 16. The non-transitory computer-readable medium of claim 13 , wherein the polling rate is increased only if the difference between the current sample and the average data received during the plurality of times is above a threshold. 17. The non-transitory computer-readable medium of claim 13 , wherein a rate of change is the time required to change the polling rate, the method comprising: increasing the rate of change when the polling rate is to be increased; or decreasing the rate of change when the polling rate is to be decreased. 18. An apparatus for determining a polling rate for an input/output (I/O) device communicatively coupled to a host device, comprising: a controller, at least partially comprising hardware, of an I/O device interface; logic, at least partially comprising hardware logic, the logic configured to: poll the I/O device for data from the I/O device; receive the data from the I/O device at the host device as a result of the polling; determine whether the data received is the same as data received at a previous polling of the I/O device by sampling the data a plurality of times previous to a current sample and determining whether the data received in the current sample is different from the average data received during the plurality of times; decrease the polling rate if the data is the same; and, if it is not the same, increase the polling rate. 19. The apparatus of claim 18 , wherein the I/O device is an I/O device having an interrupt endpoint, wherein a polling rate is predetermined by the host device, and the predetermined polling rate is changed based on the decreasing or increasing of the polling rate. 20. The apparatus of claim 19 , wherein the I/O device is a Universal Serial Bus (USB) device having an interrupt endpoint protocol. 21. The apparatus of claim 19 , wherein the I/O device is a unified I/O device. 22. The apparatus of claim 18 , wherein the polling rate is increased only if the difference between the current sample and the average data received during the plurality of times is above a threshold. 23. The apparatus of claim 18 , wherein a rate of change is the time required to change the polling rate, wherein the logic is to: increase the rate of change when the polling rate is to be increased; or decrease the rate of change when the polling rate is to be decreased.

Assignees

Inventors

Classifications

  • with priority control · CPC title

  • G06F13/22Primary

    using successive scanning, e.g. polling (G06F13/24 takes precedence) · CPC title

  • using a centralised polling arbiter · CPC title

  • Cross-Sectional Technologies · mapped topic

  • using combination of interrupt and burst mode transfer · 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 US9619411B2 cover?
Techniques for polling an input/output (I/O) device are described herein. The techniques include polling a device for data from the I/O device, and receiving the data from the I/O device at the host device as a result of the polling. The techniques include determining whether the data received is the same as data received at a previous polling of the I/O device. Upon determining the data receiv…
Who is the assignee on this patent?
Intel Corp
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 Apr 11 2017 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).