Binary-to-Unikernel Conversion for Proprietary Application Deployment

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Reliability

If source code access is required to build unikernels, then unikernel security and efficiency are improved, but application compatibility deteriorates

Engineering Contradiction:
Improveunikernel securityVSAvoidapplication compatibility
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If traditional operating systems are used, then application compatibility is improved, but system resource efficiency deteriorates

Engineering Contradiction:
Improveapplication compatibilityVSAvoidsystem resource efficiency
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If full operating system components are included, then application compatibility is improved, but unikernel size and boot time increase

Engineering Contradiction:
Improveapplication compatibilityVSAvoidboot time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

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.

Inventive Principle:
Principle #3Local quality

4Productivity

If source code compilation is used, then unikernel optimization is improved, but development complexity increases

Engineering Contradiction:
Improveunikernel optimizationVSAvoiddevelopment complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS11061695B2Unikernel provisioning
Publication Date: 2021.07.13 NANOVMS INC
  • US11061695B2 patent drawing
  • US11061695B2 patent drawing
  • US11061695B2 patent drawing

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.