Remote Project Access via Virtual Environment Synchronization
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


