Remote Project Access via Virtual Environment Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Providing a seamless user experience when interacting with documents hosted on a server that contain macros or executable code is challenging, as existing technologies struggle to maintain consistency and functionality across client and server environments.

Innovation Solution

Implementing a remote project access system where a development environment is instantiated on the client, with components on both the client and server managing data and message transfer to simulate a local project environment, using a development controller to configure and manage project data and settings, and a proxy to handle requests and updates.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a document is hosted on a server and users interact with it via browser or client application, then users can access and edit documents without downloading them, but users cannot effectively view or modify macros or executable code associated with the document

Engineering Contradiction:
ImproveDocument accessibilityVSAvoidCode interaction capability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The system segments the interaction model into two distinct modes: view mode for document content and code mode for macro/editing operations. When a user accesses a document, the system automatically detects whether the document contains macros or code and switches between these modes accordingly, enabling appropriate interaction capabilities for each type of content.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a server-side intermediary that acts as a bridge between the client browser and the document's executable code. This intermediary enables the browser to interact with and modify macros on the server by processing requests and managing code execution, thereby extending browser capabilities beyond traditional document viewing.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Quantity of substance

If project data is hosted on a server, then data storage and management are centralized, but users cannot interact with the project as if it were a local development environment

Engineering Contradiction:
ImproveData storage capacityVSAvoidDevelopment environment usability
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The system creates a virtual copy of the local development environment on the client side by instantiating a development environment that mirrors the server-hosted project's structure, files, and configurations. This virtual copy allows users to interact with server data using familiar local development tools and workflows, eliminating the need to adapt to remote access limitations.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

A development controller serves as an intermediary between the virtual development environment and the actual server project. It manages data synchronization, handles file operations, and coordinates communication between the client-side environment and server-side data, making remote projects accessible with local-like usability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If a development environment is instantiated on the client to allow seamless interaction, then user experience is improved, but data consistency between client and server must be maintained

Engineering Contradiction:
ImproveUser experienceVSAvoidData consistency
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The system implements continuous feedback mechanisms where the development controller monitors changes in the virtual development environment and automatically synchronizes them with the server project. Conversely, server-side changes are detected and reflected in the client environment, ensuring both sides remain consistent without requiring manual intervention.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent establishes continuous data synchronization between the client and server through persistent communication channels. The development controller maintains an ongoing connection that continuously exchanges data and state information, ensuring that the virtual environment and actual project remain in sync throughout the development process without interruption or manual refreshes.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS9990192B2Remotable project
Publication Date: 2018.06.05 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9990192B2 patent drawing
  • US9990192B2 patent drawing
  • US9990192B2 patent drawing

AI summary

Aspects of the subject matter described herein relate to remote project access. In aspects, project data for a project that is hosted on a server is provided to a client for use in a development environment of the client. A development environment may be instantiated and configured to allow a user to interact with the project as if the project existed solely on the client. Components on the client and server take care of transferring data and messages to and from the server to ensure that the user experience is seamless.