IP Library Granted Patent US 10,841,767
Granted Patent B2
US 10,841,767 · App. 16/587,584 · Granted Nov 17, 2020

Enhanced data download mechanism for power constrained Internet of Things devices

Inventors: Gaurav Gupta (Sammamish, WA); Rajendra Prasad Kodaypak (Sammamish, WA)
Assignee: AT&T Intellectual Property I, L.P.
H04W4/50H04L41/082H04L67/06H04L67/34H04W4/18H04L67/125H04W52/0222Y02D70/1224Y02D70/1226Y02D70/1242Y02D70/1244Y02D70/1246Y02D70/1262Y02D70/1264Y02D70/142Y02D70/144Y02D70/146Y02D70/162Y02D70/164Y02D70/166Y02D70/21Y02D70/24
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,841,767
App. No.
16/587,584
Granted
Nov 17, 2020
Kind
B2
Abstract

Concepts and technologies disclosed herein are directed to an enhanced data download mechanism for power constrained Internet of Things (“IoT”) devices. An IoT file share server can receive an update file from an IoT application server. The IoT file share server can calculate a file chunk size based upon a device type of the IoT device and a file size of the update file. The file chunk size can be calculated such that each file chunk of a plurality of file chunks is downloadable to the IoT device in a single awake period of the IoT device. The IoT file share server can partition the update file into a plurality of file chunks to be sent to the IoT device, each of which can include a portion of the update file, and the portion can be of the file chunk size.

Claims (35)

1. A method comprising:

receiving, by an Internet of Things (IoT) device comprising a processor, from an IoT file share server, a plurality of file chunks, wherein each file chunk of the plurality of file chunks is received in a single awake period of the IoT device, wherein each file chunk of the plurality of file chunks has a file chunk size that was calculated by the IoT file share server based, at least in part, upon a device type of the IoT device and a file size of an update file from which the plurality of file chunks are partitioned, and wherein the update file comprises an update for the IoT device;

combining, by the IoT device, the plurality of file chunks to complete the update file; and

sending the update file to an application layer of the IoT device for further processing.

2. The method of claim 1 , further comprising, in response to receiving each file chunk of the plurality of file chunks, storing, by the IoT device, in a memory, each file chunk of the plurality of file chunks.

3. The method of claim 2 , wherein each file chunk of the plurality of file chunks is associated with a file chunk identifier that identifies a particular file chunk of the plurality of file chunks so that the IoT device can determine when all of the plurality of file chunks have been downloaded.

4. The method of claim 2 , wherein a first file chunk of the plurality of file chunks is associated with a file chunk identifier that identifies a total number of file chunks in the update file, and the IoT device determines when all of the plurality of file chunks have been downloaded based upon when the total number of file chunks has been downloaded.

5. The method of claim 2 , wherein each file chunk of the plurality of file chunks is associated with a file chunk identifier that indicates how many file chunks remain.

6. The method of claim 1 , wherein receiving, by the IoT device, from the IoT file share server, the plurality of file chunks comprises receiving, by the IoT device, from the IoT file share server, each file chunk of the plurality of file chunks in response to the IoT device transitioning to an awake period.

7. The method of claim 1 , wherein the update file comprises a software update for software to be executed by the processor.

8. The method of claim 1 , wherein the update file comprises a firmware update for firmware of the IoT device.

9. The method of claim 1 , wherein sending the update file to the application layer of the IoT device for further processing comprises sending the update file to the application layer of the IoT device for installation of the update file.

10. A method comprising:

receiving, by an Internet of Things (IoT) file share server comprising a processor, from an IoT application server, an update file, wherein the update file comprises an update for an IoT device;

calculating, by the IoT file share server, a file chunk size based, at least in part, upon a device type of the IoT device and a file size of the update file such that each file chunk of a plurality of file chunks is downloadable to the IoT device in a single awake period of the IoT device; and

partitioning, by the IoT file share server, the update file into the plurality of file chunks, wherein each file chunk of the plurality of file chunks comprises a portion of the update file, and wherein the portion is of the file chunk size.

11. The method of claim 10 , further comprising:

determining, by the IoT file share server, whether the IoT device transitioned to an awake period; and

when the IoT device has transitioned to the awake period, receiving, by the IoT file share server, an awake notification comprising a device identity that uniquely identifies the IoT device.

12. The method of claim 11 , further comprising receiving the device identity along with the update file.

13. The method of claim 11 , wherein the awake notification originates from a service capability exposure function or from a packet gateway node.

14. The method of claim 11 , further comprising:

sending, by the IoT file share server, a file chunk of the plurality of file chunks to the IoT device; and

moving, by the IoT file share server, a pointer to a next file chunk of the plurality of file chunks.

15. The method of claim 14 , further comprising:

determining, by the IoT file share server, whether the IoT device has downloaded the plurality of file chunks; and

when the IoT device has downloaded the plurality of file chunks, designating, by the IoT file share server, the update file for the IoT device as downloaded.

16. A computer storage medium comprising computer-executable instructions that, when executed by a processor, cause the processor to perform operations comprising:

receiving, from an IoT file share server, a plurality of file chunks, wherein each file chunk of the plurality of file chunks is received in a single awake period of the IoT device, wherein each file chunk of the plurality of file chunks has a file chunk size that was calculated by the IoT file share server based, at least in part, upon a device type of the IoT device and a file size of an update file from which the plurality of file chunks are partitioned, and wherein the update file comprises an update for the IoT device;

combining the plurality of file chunks to complete the update file; and

sending the update file to an application layer of the IoT device for further processing.

17. The computer storage medium of claim 16 , wherein each file chunk of the plurality of file chunks is associated with a file chunk identifier that identifies a particular file chunk of the plurality of file chunks so that the IoT device can determine when all of the plurality of file chunks have been downloaded.

18. The computer storage medium of claim 17 , wherein a first file chunk of the plurality of file chunks is associated with a file chunk identifier that identifies a total number of file chunks in the update file; and wherein the IoT device determines when all of the plurality of file chunks have been downloaded based upon when the total number of file chunks has been downloaded.

19. The computer storage medium of claim 17 , wherein each file chunk of the plurality of file chunks is associated with a file chunk identifier that indicates how many file chunks remain.

20. The computer storage medium of claim 16 , wherein receiving, from the IoT file share server, the plurality of file chunks comprises receiving, from the IoT file share server, each file chunk of the plurality of file chunks in response to the IoT device transitioning to an awake period.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2019
From: GUPTA, GAURAV; KODAYPAK, RAJENDRA PRASAD
To: AT&T INTELLECTUAL PROPERTY I, L.P.
Reel/Frame 050565/0497 →
Continuity (2)
Continuation 15340089 · Nov 1, 2016
Related Publication 20200029192A1 · Jan 23, 2020