US 11,875,167 B2
Method for deploying containerized protocols on very small devices
Michael Gray, Denver, CO (US); Tom Yates, Denver, CO (US); and Rachel Taylor, Denver, CO (US)
Assigned to Nubix, Inc., Denver, CO (US)
Filed by Nubix, Inc., Denver, CO (US)
Filed on Mar. 22, 2021, as Appl. No. 17/209,100.
Claims priority of provisional application 62/993,577, filed on Mar. 23, 2020.
Prior Publication US 2021/0294624 A1, Sep. 23, 2021
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/455 (2018.01); G06F 8/654 (2018.01); G06F 12/14 (2006.01); G06F 8/61 (2018.01)
CPC G06F 9/45508 (2013.01) [G06F 8/654 (2018.02); G06F 9/45516 (2013.01); G06F 9/45533 (2013.01); G06F 12/1425 (2013.01); G06F 8/61 (2013.01); G06F 12/1441 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method comprising:
accessing a set of hardware parameters characterizing an embedded device;
identifying a set of supported container functions based on the set of hardware parameters;
accessing a selection of container functions;
identifying a set of selected container functions based on the selection of container functions and the set of supported container functions;
generating a hardware abstraction layer comprising:
a set of libraries supporting the set of selected container functions;
an input mapping from the set of selected container functions to native instructions executable by the embedded device; and
an output mapping from data structures generated by the embedded device to a generalized data structure;
generating a container runtime environment configured to execute, at the embedded device, a first containerized application via the hardware abstraction layer, the first containerized application comprising the set of selected container functions;
installing the hardware abstraction layer and the container runtime environment onto the embedded device;
installing the first containerized application onto the embedded device via the container runtime environment by:
executing a firmware update on the embedded device to install a container operating system executing the container runtime environment on the embedded device;
allocating a protected memory region on the embedded device via the container runtime environment; and
storing the set of libraries, the input mapping, and the output mapping in the protected memory region; and
at the embedded device, executing the first containerized application via the container runtime environment and the hardware abstraction layer.