Application Resource Segmentation for Offline Virtual Environment Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Applications hosted on computer systems become inaccessible or malfunction when the application host is unavailable, such as during network interruptions or maintenance, leading to user inconvenience and operational issues.

Innovation Solution

Storing application resources in the computing environment, allowing the application to be initiated and executed within the application host context, even when the application host is unreachable, while maintaining the ability to communicate with the host upon reconnection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the application is stored in the virtual environment memory, then the application can be easily accessed and executed within the virtual environment, but the application becomes completely dependent on the application host availability and cannot function when the host is inaccessible

Engineering Contradiction:
ImproveApplication accessibility within virtual environmentVSAvoidApplication availability when host is inaccessible
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The application resources are segmented into two storage locations: virtual environment memory for runtime execution and computing environment for persistent storage. This segmentation allows the application to be accessed efficiently within the virtual environment while maintaining independence from the application host's availability, as the computing environment stores a copy of the application resources that can be loaded when needed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The computing environment acts as an intermediary between the virtual environment and the application host. It stores application resources and provides them to the virtual environment when needed, enabling the application to function independently of the application host's availability while still maintaining integration with the virtual environment for execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If the application is stored in the computing environment, then the application can function independently when the application host is unavailable, but the application loses the ability to automatically receive updates and services from the host

Engineering Contradiction:
ImproveApplication availability when host is inaccessibleVSAvoidApplication ability to receive updates and services
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system dynamically switches between two operational modes based on host availability: connected mode where the application accesses the host for updates and services, and disconnected mode where the application uses locally stored resources from the computing environment. This dynamic adaptation allows the application to maintain reliability during disconnection while still benefiting from host services when connected.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Application resources are preliminarily stored in the computing environment before the application needs to function independently. This preliminary action ensures that when the application host becomes inaccessible, the application can immediately use the pre-stored resources without needing to reconnect or download anything, thus maintaining availability while still allowing future updates when connected.

Inventive Principle:
Principle #10Preliminary action

3Speed

If the application resources are stored in the virtual environment memory, then the application can be quickly loaded and executed, but the application cannot be managed with standard computing environment services like automated deployment and versioning

Engineering Contradiction:
ImproveApplication loading speedVSAvoidApplication deployment and versioning capability
Core Design Contradiction:
SpeedVSEase of manufacture

Solution Approach 1:

The computing environment serves multiple functions: it stores application resources for independent execution, provides a interface for standard computing environment services (automated deployment, versioning), and enables synchronization across devices. This multi-functionality allows the system to maintain fast local execution while gaining access to comprehensive management capabilities through the computing environment's universal service interface.

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

Data Source

PatentUS9680964B2Programming model for installing and distributing occasionally connected applications
Publication Date: 2017.06.13 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9680964B2 patent drawing
  • US9680964B2 patent drawing
  • US9680964B2 patent drawing

AI summary

An application executing in a virtual environment, such as a web browser, may be serviced by an application host, such as a webserver that maintains application resources or provides runtime services to the application. However, it may be difficult to configure the application to operate suitably when the application host is unavailable. Techniques for facilitating such operation include the storing of application resources in a computing environment (such as the local file system or a deployable mesh or cloud environment) while also initiating the application within the virtual environment in the context of the application host, which may reduce difficulties with isolation policies imposed by the virtual environment (e.g., cross-domain restrictions imposed by the web browser.) This configuration may promote the servicing of the application alongside other applications and data objects, e.g., the automated deployment and synchronization of the application among all devices comprising the user's mesh environment.