Host OS Menu Bar Integration for Virtual Machine Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In desktop virtualization environments, users face inconvenience due to differences in menu bar systems between host and guest operating systems, requiring them to navigate two separate menu bar systems when accessing applications in virtual machines.

Innovation Solution

The integration of menu bars is achieved by intercepting API calls from applications running in virtual machines, retrieving menu information, and setting the menu bar through the host operating system, allowing users to interact with applications using the host OS's menu bar, thereby unifying the menu bar experience across different OS environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If applications run in virtual machines with separate menu bar systems, then operating system compatibility is improved, but user operation complexity increases due to navigating two different menu bar systems

Engineering Contradiction:
Improveoperating system compatibilityVSAvoidmenu bar operation complexity
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent merges the guest OS menu bar with the host OS menu bar by detecting API calls from the guest application and rendering the menu bar through the host OS interface. This allows users to access virtual machine applications using the familiar host OS menu bar system, eliminating the need to learn and switch between two different menu bar systems while maintaining OS compatibility.

Inventive Principle:
Principle #5Merging (Combining)

2Reliability

If menu bars are set through the guest operating system, then application functionality is preserved, but user experience consistency deteriorates due to different menu bar layouts

Engineering Contradiction:
Improveapplication functionalityVSAvoiduser experience consistency
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces an intermediary mechanism that intercepts API calls from the guest application and translates them into host OS menu bar rendering calls. This intermediary layer preserves the application's original menu structure and functionality while presenting it through the host OS's familiar menu bar interface, ensuring both functional integrity and experience consistency.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If application windows are displayed directly on the host desktop, then desktop integration is improved, but menu bar integration problems worsen due to conflicting menu bar systems

Engineering Contradiction:
Improvedesktop integrationVSAvoidmenu bar system complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent creates a copy of the guest application's menu bar structure and renders it through the host OS's menu bar interface. Instead of displaying the original guest OS menu bar directly, the system replicates the menu structure and integrates it into the host desktop environment, allowing direct display on the host desktop while maintaining menu bar system harmony.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS10019274B2Menu bar integration in desktop virtualization environments
Publication Date: 2018.07.10 OMNISSA LLC
  • US10019274B2 patent drawing
  • US10019274B2 patent drawing
  • US10019274B2 patent drawing

AI summary

A system is described for integrating menu bars of applications executed on a virtual machine in a computing device with menu bars in the host operating system. A hosted hypervisor is executed on the computing device. The hypervisor manages a virtual machine running a guest operating system (OS) on the computing device. An application is executed on the guest OS. A call by the application to the guest OS is detected, the call requesting the guest OS to set a menu bar for the application. The call is intercepted, information regarding the content of the menu bar is retrieved from the intercepted call, and the information is used to set a menu bar for the application in the host OS. Subsequently, when a selection is made from the menu bar in the host OS, the selection is translated to the application running in the virtual machine to effectuate the selection.