Portable Device Virtualization via User-Mode Framework Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Portable computing devices face challenges in implementing virtualization due to limited processing and storage resources, requiring significant modifications to device drivers and hardware-specific routines, and existing solutions are not reusable across different models.

Innovation Solution

A virtualization system that uses multiple instances of a framework routine to provide isolated execution of application routines, with each instance defining a memory space and API, selectively sharing resources and interacting with the kernel and device drivers, minimizing resource usage and avoiding extensive modifications to application routines and device drivers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional virtualization approaches are implemented in portable computing devices, then user isolation and security are improved, but processor and storage resource utilization increases beyond what portable devices can accommodate

Engineering Contradiction:
Improveuser isolation and securityVSAvoidprocessor and storage resources
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the virtualization functionality into a user-mode framework that divides the portable device into multiple isolated execution environments (containers). Each container has its own address space and system calls, allowing user isolation without requiring full kernel-level virtualization. This segmentation enables security and isolation while consuming minimal processor and storage resources compared to traditional virtualization approaches.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If resource-efficient virtualization approaches are used in portable devices, then processor and storage resource utilization is reduced, but extensive modifications to device drivers and hardware-specific routines are required

Engineering Contradiction:
Improveprocessor and storage resourcesVSAvoidmodifications to device drivers and hardware routines
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces a user-mode framework as an intermediary layer between application routines and the operating system kernel. This framework handles system calls and resource management without requiring modifications to device drivers or hardware-specific routines. The framework acts as a mediator that provides virtualization functionality while leaving the existing driver architecture intact, thus reducing device complexity compared to approaches that require extensive driver modifications.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If virtualization is implemented to support multiple users concurrently, then user environment isolation is improved, but power consumption increases beyond what portable devices can sustain

Engineering Contradiction:
Improveuser environment isolationVSAvoidpower consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent merges multiple user environments into a single shared kernel space while maintaining isolation through user-mode framework instances. Each framework instance runs in user mode and shares the underlying kernel and hardware resources, allowing concurrent user environments without duplicating entire operating system kernels. This merging approach provides user isolation while significantly reducing power consumption compared to full kernel-level virtualization that would require separate kernel instances for each user.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS10255093B2Techniques for portable computing device virtualization
Publication Date: 2019.04.09 INTEL CORP
  • US10255093B2 patent drawing
  • US10255093B2 patent drawing
  • US10255093B2 patent drawing

AI summary

Various embodiments are generally directed to providing virtualization using relatively minimal processing and storage resources to enable concurrent isolated execution of multiple application routines in which one of the application routines is made visible at a time. An apparatus to virtualize an operating system includes a processor component, a visibility checker for execution by the processor component to make a visibility check call to a kernel routine to request an indication of whether an instance of a framework routine that comprises the visibility checker is visible, and resource access code of the instance for execution by the processor component to perform a resource access operation to access a hardware component based on the indication and on receipt of an application programming interface (API) call from an application routine that specifies an API function to access the hardware component. Other embodiments are described and claimed.