Binary-to-Unikernel Conversion for Proprietary Application Deployment
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for building unikernels require access to the source code of applications, which is not always available, limiting their applicability, especially for proprietary applications.
Innovation Solution
A process to convert a binary of an application into a unikernel by combining it with minimal necessary operating system components and a loader, allowing the unikernel to be deployed without source code access, enabling the creation of unikernels for applications like .NET and SAP Hana.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If source code access is required to build unikernels, then unikernel security and efficiency are improved, but application compatibility deteriorates
Solution Approach 1:
The patent introduces a binary-to-unikernel conversion tool as an intermediary that translates proprietary binaries into unikernel format without requiring source code. This mediator enables compatibility with closed-source applications while preserving unikernel security benefits through the controlled conversion process.
Solution Approach 2:
The patent segments the unikernel build process into two distinct paths: source code compilation for open-source applications and binary conversion for proprietary applications. This segmentation allows each path to be optimized independently, maintaining security for compiled unikernels while enabling compatibility for binary-converted ones.
2Adaptability or versatility
If traditional operating systems are used, then application compatibility is improved, but system resource efficiency deteriorates
Solution Approach 1:
The patent extracts only the essential operating system components needed for each specific application into the unikernel, removing unnecessary OS layers, daemons, and services. This extraction reduces memory footprint and resource consumption while maintaining sufficient compatibility for the target application.
Solution Approach 2:
The patent makes the operating system components dynamic by including only what is necessary for the running application, allowing the system to adapt its resource usage to the actual needs of each unikernel instance rather than maintaining a static, comprehensive OS environment.
3Adaptability or versatility
If full operating system components are included, then application compatibility is improved, but unikernel size and boot time increase
Solution Approach 1:
The patent applies local quality by tailoring the operating system components to each specific application's needs. Each unikernel receives a customized minimal set of OS components locally optimized for that application, rather than including a universal comprehensive OS, thereby reducing size and boot time while maintaining necessary compatibility.
4Productivity
If source code compilation is used, then unikernel optimization is improved, but development complexity increases
Solution Approach 1:
The patent inverts the traditional development approach by allowing binary conversion instead of requiring source code compilation. This inversion simplifies the development process for proprietary applications while maintaining unikernel benefits, reversing the conventional wisdom that source code access is necessary for optimization.
Data Source
AI summary
Unikernel provisioning is disclosed. A binary is received. The received binary is converted into a unikernel that is deployable on a virtual machine at least in part by generating a disk image comprising the received binary, a loader for loading the received binary, and portions of an operating system required to execute the received binary.


