Lock-free processing of stateless protocols over rdma
US-2016378712-A1 · Dec 29, 2016 · US
US9619411B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9619411-B2 |
| Application number | US-201514723015-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 27, 2015 |
| Priority date | Sep 28, 2013 |
| Publication date | Apr 11, 2017 |
| Grant date | Apr 11, 2017 |
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.
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.
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.
with priority control · CPC title
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.