Back to results
US 10,592,215 B1Granted
Unikernel cross-compilation
AssigneeNanoVMs, Inc.
InventorIan Eyberg
Life of this patent
Estimating the term…
Abstract
Building a unikernel is disclosed. Code is retrieved from a code repository. One or more unikernel build configuration options are identified. The code is analyzed to determine portions of an operating system required to execute the code. The code is compiled with the determined portions of the operating system into a unikernel that is deployable on a virtual machine to execute the code.
Claims18
A system, comprising:
- a processor configured to:
- retrieve application code from a code repository;
- identify one or more unikernel build configuration options;
- analyze the retrieved application code;
- based at least in part on the analysis of the application code:
- determine one or more libraries required to execute the application code:
- obtain pre-compiled versions of the determined one or more libraries required to execute the application code;
- and
- modify the application code, wherein modifying the application code based at least in part on the analysis of the application code comprises modifying a system call in the application code, and wherein modifying the system call in the application code comprises at least one of removing the system call and rewriting the system call;
- and
- compile the modified application code and the obtained pre-compiled versions of the determined one or more libraries into a unikernel image that is deployable on a virtual machine;
- and
- a memory coupled to the processor and configured to provide the processor with instructions.
10 more elements
A method, comprising:
- retrieving application code from a code repository;
- identifying one or more unikernel build configuration options;
- analyzing the retrieved application code;
- based at least in part on the analysis of the application code:
- determining one or more libraries required to execute the application code:
- obtaining pre-compiled versions of the determined one or more libraries required to execute the application code;
- and
- modifying the application code, wherein modifying the application code based at least in part on the analysis of the application code comprises modifying a system call in the application code, and wherein modifying the system call in the application code comprises at least one of removing the system call and rewriting the system call;
- and
- compiling the modified application code and the obtained pre-compiled versions of the determined one or more libraries into a unikernel image that is deployable on a virtual machine.
7 more elements
A computer program product embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
- retrieving application code from a code repository;
- identifying one or more unikernel build configuration options;
- analyzing the retrieved application code;
- based at least in part on the analysis of the application code:
- determining one or more libraries required to execute the application code:
- obtaining pre-compiled versions of the determined one or more libraries required to execute the application code;
- and
- modifying the application code, wherein modifying the application code based at least in part on the analysis of the application code comprises modifying a system call in the application code, and wherein modifying the system call in the application code comprises at least one of removing the system call and rewriting the system call;
- and
- compiling the modified application code and the obtained pre-compiled versions of the determined one or more libraries into a unikernel image that is deployable on a virtual machine.
7 more elements
Dependencies are inferred from the claim text.