Virtualizing sensors
US-2017235614-A1 · Aug 17, 2017 · US
US10848459B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10848459-B2 |
| Application number | US-201715721094-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 29, 2017 |
| Priority date | Sep 29, 2017 |
| Publication date | Nov 24, 2020 |
| Grant date | Nov 24, 2020 |
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.
Technologies for scheduling time-sensitive cyclical network traffic in real-time include an internet-of-things (IoT) device that includes at least one sensor for collecting sensor data. The IoT device is configured to store the collected sensor data in a data buffer, allocate a packet descriptor for the sensor data, and populate the allocated packet descriptor with a cyclic data port pointer indicative of a location of the data buffer. The IoT device is additionally configured to queue the packet descriptor into a media access control (MAC) unit transmit direct memory access (DMA) of the IoT device, fetch the sensor data, and packetize the fetched data to form a network packet. Further, the IoT device is configured to transmit the network packet to a target computing device based on a launch time, update the launch time, and requeue the packet descriptor into the MAC unit transmit DMA. Other embodiments are described herein.
Opening claim text (preview).
The invention claimed is: 1. An internet-of-things (IoT) device for scheduling time-sensitive cyclical network traffic in real-time, the IoT device comprising: one or more sensors; one or more processors; and one or more data storage devices having stored therein a plurality of instructions that, when executed by the one or more processors, cause the IoT device to: collect, by a sensor of the one or more sensors, sensor data; store the collected sensor data in a data buffer associated with a data storage device of the one or more data storage devices; allocate a packet descriptor for the sensor data, wherein the packet descriptor is separate from the data buffer; populate the allocated packet descriptor with a header field, a cyclic data port pointer, and a tail field, wherein the cyclic data port pointer indicates a location of the data buffer at which the sensor data has been stored; queue the packet descriptor into a media access control (MAC) unit transmit direct memory access (DMA) of the IoT device; fetch the sensor data from the data buffer based on the cyclic data port pointer; packetize the fetched data, the tail field, and the header field to form a network packet; transmit, based on a launch time, the network packet to a target computing device; update the launch time as a function of a cycle period; and requeue the packet descriptor into the MAC unit transmit DMA. 2. The IoT device of claim 1 , wherein to queue the packet descriptor into the MAC unit transmit DMA includes to associate the launch time, a cycle period, and a transmission duration with the packet descriptor. 3. The IoT device of claim 1 , wherein the plurality of instructions further cause the IoT device to allocate a packet scatter buffer for a header field of the network packet and another packet scatter buffer for a tail field of the network packet. 4. The IoT device of claim 1 , wherein the target computing device is an input/output (I/O) controller. 5. The IoT device of claim 1 , wherein to requeue the packet descriptor into the MAC unit transmit DMA comprises to requeue the packet descriptor using an interrupt service routine. 6. The IoT device of claim 5 , wherein to requeue the packet descriptor using an ISR includes to set a priority level associated with the ISR to a highest priority level. 7. The IoT device of claim 1 , wherein to requeue the packet descriptor into the MAC unit transmit DMA comprises to requeue the packet descriptor automatically using hardware. 8. The IoT device of claim 7 , wherein to requeue the packet descriptor automatically using hardware comprises to requeue the packet descriptor automatically using hardware subsequent to having updated the tail field. 9. The IoT device of claim 1 , wherein the plurality of instructions further cause the IoT device to release, in response to a determination that the transmission duration has elapsed, the packet descriptor and the data buffer. 10. One or more non-transitory, machine-readable storage media comprising a plurality of instructions stored thereon that, in response to being executed, cause an internet-of-things (IoT) device to: collect, by a sensor of the IoT device, sensor data; store the collected sensor data in a data buffer associated with a data storage device of the IoT device; allocate a packet descriptor for the sensor data, wherein the packet descriptor is separate from the data buffer; populate the allocated packet descriptor with a header field, a cyclic data port pointer, and a tail field, wherein the cyclic data port pointer indicates a location of the data buffer at which the sensor data has been stored; queue the packet descriptor into a media access control (MAC) unit transmit direct memory access (DMA) of the IoT device; fetch the sensor data from the data buffer based on the cyclic data port pointer; packetize the fetched data, the tail field, and the header field to form a network packet; transmit, based on a launch time, the network packet to a target computing device; update the launch time as a function of a cycle period; and requeue the packet descriptor into the MAC unit transmit DMA. 11. The one or more non-transitory, machine-readable storage media of claim 10 , wherein to queue the packet descriptor into the MAC unit transmit DMA includes to associate the launch time, a cycle period, and a transmission duration with the packet descriptor. 12. The one or more non-transitory, machine-readable storage media of claim 10 , wherein the plurality of instructions further cause the IoT device to allocate a packet scatter buffer for a header field of the network packet and another packet scatter buffer for a tail field of the network packet. 13. The one or more non-transitory, machine-readable storage media of claim 10 , wherein the target computing device is an input/output (I/O) controller. 14. The one or more non-transitory, machine-readable storage media of claim 10 , wherein to requeue the packet descriptor into the MAC unit transmit DMA comprises to requeue the packet descriptor using an interrupt service routine. 15. The one or more non-transitory, machine-readable storage media of claim 14 , wherein to requeue the packet descriptor using an ISR includes to set a priority level associated with the ISR to a highest priority level. 16. The one or more non-transitory, machine-readable storage media of claim 10 , wherein to requeue the packet descriptor into the MAC unit transmit DMA comprises to requeue the packet descriptor automatically using hardware. 17. The one or more non-transitory, machine-readable storage media of claim 10 , wherein the plurality of instructions further cause the IoT device to release, in response to a determination that the transmission duration has elapsed, the packet descriptor and the data buffer. 18. A method for scheduling time-sensitive cyclical network traffic in real-time, the method comprising: collecting, by a sensor of an internet-of-things (IoT) device, sensor data; storing, by the IoT device, the collected sensor data in a data buffer associated with a data storage device of the IoT device; allocating, by the IoT device, a packet descriptor for the sensor data, wherein the packet descriptor is separate from the data buffer; populating, by the IoT device, the allocated packet descriptor with a header field, a cyclic data port pointer, and a tail field, wherein the cyclic data port pointer indicates a location of the data buffer at which the sensor data has been stored; queueing, by the IoT device, the packet descriptor into a media access control (MAC) unit transmit direct memory access (DMA) of the IoT device; fetching, by the IoT device, the sensor data from the data buffer based on the cyclic data port pointer; packetizing, by the IoT device, the fetched data, the tail field, and the header field to form a network packet; transmitting, by the IoT device and based on a launch time, the network packet to a target computing device; updating, by the IoT device, the launch time as a function of a cycle period; and requeueing, by the IoT device, the packet descriptor into the MAC unit transmit DMA. 19. The method of claim 18 , wherein queueing the packet descriptor into the MAC unit transmit DMA includes associating the launch time, a cycle period, and a transmission duration with the packet descriptor. 20. The method of claim 18 , further comprising allocating, by the IoT device, a packet scatter buffer for a header field of the network packet and another packet scat
involving deadlines, e.g. rate based, periodic · CPC title
Program initiating; Program switching, e.g. by interrupt · CPC title
Layer-2 addresses, e.g. medium access control [MAC] addresses · CPC title
implementing hierarchical scheduling · CPC title
for groups of terminals or users · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.