IP Library Granted Patent US 10,706,018
Granted Patent B2
US 10,706,018 · App. 16/716,098 · Granted Jul 7, 2020

Bandwidth-efficient installation of software on target devices using reference code libraries

Inventors: Joshua Cooper (Columbia, SC); Aliasghar Riahi (Orinda, CA); Mojgan Haddad (Orinda, CA); Ryan Kourosh Riahi (Orinda, CA); Razmin Riahi (Orinda, CA); Charles Yeomans (Orinda, CA)
Assignee: ATOMBEAM TECHNOLOGIES INC.
G06F16/1752G06F3/067G06F3/0608G06F3/0641
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,706,018
App. No.
16/716,098
Filed
Dec 16, 2019
Granted
Jul 7, 2020
Kind
B2
Art Unit
2136
USPC
711/114
Abstract

A method for transmitting and updating program data in a highly compact format using recursive encoding, wherein data is deconstructed into chunklets, and is processed through a series of reference code libraries that reduce the data to a sequence of reference codes, and where the output of each reference library is used as the input to the next.

Claims (41)

1. A system for bandwidth-efficient installation of software on a plurality of target devices, comprising:

a reference code library comprising data chunklets and reference codes corresponding to the data chunklets;

a software package to be utilized in updating a plurality of remote target devices, the update dataset comprising a plurality of warplets, each warplet comprising a reference codes to a data chunklet in the reference code library;

an update receiving server coupled to the communications network, comprising a first processor, a first memory, and a first plurality of programming instructions stored in the memory and operable on the processor of a computing device, wherein the first plurality of programming instructions, when operating on the processor, cause the update receiving server to:

receive the software package via a network; and

transmit the software package to a plurality of target devices coupled to the update receiving server; and

the plurality of target devices coupled to the update receiving server, each of the remote target devices comprising:

a second processor, a second memory, and a second plurality of programming instructions stored in the memory and operable on the processor of a computing device, wherein the second plurality of programming instructions, when operating on the processor, cause the remote target to:

receive the software package;

transmit the software package to a data reconstruction engine for reconstruction;

receive the reconstructed software package; and

install the reconstructed software package onto the remote target device; and

a data reconstruction engine comprising a third plurality of programming instructions stored in the second memory and operating on the second processor of the second computing device, wherein the second plurality of programming instructions, when operating on the processor, cause the computing device to:

receive the software package;

retrieve the chunklet corresponding to the reference code in each warplet from the reference code library; and

assemble the chunklets to generate a reconstructed software package corresponding to the software package; and

transmit back the reconstructed software package.

2. The system of claim 1 , wherein the software package is generated by an update encoding device.

3. The system of claim 1 , wherein the second plurality of programming instructions are executed by the remote target device.

4. The system of claim 1 , wherein the reconstructed software package set comprises at least one complete system update file for used in the target device.

5. The system of claim 1 , wherein the update receiving server provides the software package to more than one remote target device.

6. A system for bandwidth-efficient installation of software on target devices comprising a plurality of target devices, each target device comprising:

a processor, a memory, a non-volatile data storage, and a first plurality of programming instructions stored in the memory and operable on the processor of a computing device;

a data reconstruction engine comprising a second plurality of programming instructions stored in the memory and operating on the processor of the computing device;

a reference code library stored in the non-volatile data storage comprising data chunklets and reference codes corresponding to the data chunklets;

a compacted software package stored in the non-volatile data storage, the compacted software package comprising a plurality of warplets, each warplet comprising a reference codes to a data chunklet in the reference code library;

wherein the first plurality of programming instructions, when operating on the processor, cause the target device to:

receive an instruction to install the software package;

retrieve the software package from the non-volatile storage;

pass the software package to a data reconstruction engine for reconstruction;

receive the reconstructed software package; and

install the reconstructed software package onto the target device; and

wherein the second plurality of programming instructions, when operating on the processor, cause the target device to:

receive the compacted software package;

retrieve the chunklet corresponding to the reference code in each warplet from the reference code library; and

assemble the chunklets to generate a reconstructed software package corresponding to the compacted software package; and

return back the reconstructed software package.

7. The system of claim 6 , wherein the software package is generated by an update encoding device.

8. The system of claim 6 , wherein the second plurality of programming instructions are executed by the remote target device.

9. The system of claim 6 , wherein the reconstructed software package set comprises at least one complete system update file for used in the target device.

10. The system of claim 6 , wherein the software package is installed into non-volatile memory on remote target device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2019
From: COOPER, JOSHUA; RIAHI, ALIASGHAR; HADDAD, MOJGAN; RIAHI, RYAN KOUROSH; RIAHI, RAZMIN; YEOMANS, CHARLES
To: ATOMBEAM TECHNOLOGIES INC.
Reel/Frame 051339/0478 →
Continuity (5)
Continuation 16455655 · Jun 27, 2019
Continuation In Part 16200466 · Nov 26, 2018
Continuation In Part 15975741 · May 9, 2018
Provisional Application 62578824 · Oct 30, 2017
Related Publication 20200110727A1 · Apr 9, 2020