Multi-Environment Computing System Resource Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for running multiple operating systems on a single mobile device, such as virtualization, introduce significant overhead and are impractical due to emulation of a complete computing device, which impairs performance and resource management, especially in mobile devices that require both general-purpose and embedded operating system features.

Innovation Solution

A mobile computing system with multiple environments shares a single host kernel, allowing independent operation of a general-purpose and an embedded environment, with resource management that monitors and allocates resources efficiently between them, halting application execution in the environment that uses more resources, thereby conserving system resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If virtualization techniques are used to run multiple operating systems on a single device, then both general-purpose and embedded operating system features can be accessed, but significant overhead is introduced and performance is impaired

Engineering Contradiction:
Improveaccess to multiple operating system featuresVSAvoidsystem performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent merges multiple operating system environments (Android and Linux) into a single unified system that shares a common kernel and hardware resources. Instead of using virtualization to run separate OS instances, the invention creates a unified environment where both OS features coexist and share resources directly, eliminating the emulation overhead while maintaining access to both general-purpose and embedded OS capabilities

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The unified operating system environment provides multi-functionality by allowing the same system to execute both Android applications and Linux applications. The system uses a single kernel that can manage both types of workloads, making the device universally capable of running diverse software without requiring separate virtualized environments

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Adaptability or versatility

If the same application is concurrently executed in multiple operating systems, then both environments can access the application, but resource usage increases and overall performance is impaired

Engineering Contradiction:
Improveapplication accessibility across environmentsVSAvoidmemory availability
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent implements a feedback mechanism where the system monitors which environment is currently active and automatically manages application execution accordingly. When an application is running in one environment, the system detects this state and prevents duplicate execution in the other environment, thereby optimizing memory usage while still allowing both environments to access the application when needed

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically manages application execution based on the active environment. Instead of statically allowing concurrent execution in both environments, the system adapts its behavior to the current operational context, enabling the same application to be executed in different environments at different times based on which OS is currently active

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP2810162B1Optimization of resource usage in a multi-environment computing system
Publication Date: 2019.03.27 GOOGLE TECHNOLOGY HOLDINGS LLC
  • EP2810162B1 patent drawingFigure 1
  • EP2810162B1 patent drawingFigure 2
  • EP2810162B1 patent drawingFigure 3

AI summary

A method and apparatus for modifying resource usage by a computing system including a first environment and a second environment is disclosed. A status signal is received and applications executed by the first environment and by the second environment are monitored. The status signal may indicate whether the computing system is coupled to an external device. It is determined whether a first application is executed by the first environment and by the second environment. Responsive to determining the first application is executed by the first environment and by the second environment, an amount of resources allocated to the first application by each of the environments is calculated. Based on the first amount of resources allocated by the different environments, execution of the first application by the first environment or by the second environment is halted.