Component Proxy for Virtual Environment Add-on Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In application virtualization, host operating systems are unable to access or utilize add-on components from virtual environments, as these components are hidden and not visible to the host operating system, limiting the integration and sharing of functionalities across virtual applications.

Innovation Solution

A component proxy within the operating system communicates with a virtual environment to execute add-on components by setting up a link between the host operating system and a server process, allowing on-demand access and use of virtualized add-on components over a network through APIs like remote procedure calls.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If add-on components are hidden in virtual environment to protect isolation, then virtual application security is improved, but host operating system access to add-on components is lost

Engineering Contradiction:
Improvevirtual application securityVSAvoidhost operating system access
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

A component proxy is introduced as an intermediary between the host operating system and the virtual environment. The proxy receives component requests from the host OS, translates them into virtual environment requests, and returns results. This mediator enables controlled access to hidden add-on components while preserving virtual environment isolation and security.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If virtual environment isolation is maintained to prevent host operating system interference, then virtual application independence is improved, but integration of add-on components across virtual environments is prevented

Engineering Contradiction:
Improvevirtual application independenceVSAvoidcomponent integration
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The component proxy is designed with universal functionality to handle multiple types of component requests across different virtual environments. It can translate various request formats, communicate with different virtual environment servers, and manage diverse add-on component types, enabling integrated access while preserving each virtual environment's independence.

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

3Stability of the object's composition

If add-on components are not visible to host operating system to maintain virtual environment boundaries, then virtual environment encapsulation is improved, but resource sharing between virtual environments is lost

Engineering Contradiction:
Improvevirtual environment encapsulationVSAvoidresource sharing
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The component proxy serves as a controlled interface that allows the host operating system to access and share add-on components across virtual environments without compromising encapsulation. It manages resource allocation, translates requests, and enables efficient resource sharing while maintaining stable virtual environment boundaries.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10108441B2Running add-on components in virtual environments
Publication Date: 2018.10.23 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10108441B2 patent drawing
  • US10108441B2 patent drawing
  • US10108441B2 patent drawing

AI summary

Systems and methods for running add-on components in virtual environments are described. An add-on component can be executed in a virtual environment by setting up a communication link between a component proxy in the host operating system and a server process running in the virtual environment. The server process executes the add-on component based on commands forwarded from the operating system via the component proxy.