Desktop-to-Cloud Migration Using Nested MVP for Low Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing techniques for migrating legacy desktop applications to cloud computing environments suffer from excessive communication latency and software development difficulties, particularly due to the need for client-server communication with each user interaction and the separation of backend and frontend development.
Innovation Solution
Implementing a nested model-view-presenter (MVP) software architecture that automatically generates an inner and outer MVP, where the desktop application is treated as an outer data model, with the inner MVP hosted on the client device and the outer MVP on the server, reducing communication latency and allowing backend engineers to focus on backend development without client-side concerns.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If legacy desktop applications are migrated to cloud computing environments using traditional client-server architecture, then applications can be accessed remotely and scaled, but communication latency increases due to required client-server communication for each user interaction
Solution Approach 1:
The patent implements a nested MVP architecture where the inner MVP (client-side) is nested within the outer MVP (server-side). The inner MVP handles local user interactions and caching, while the outer MVP provides server-side processing. This nesting allows the system to maintain cloud accessibility while reducing communication latency by processing requests locally when possible.
Solution Approach 2:
The patent segments the MVP architecture into inner and outer layers, each handling different aspects of application logic. The inner MVP handles client-side operations including local data processing and caching, while the outer MVP handles server-side operations. This segmentation enables independent optimization of each layer and reduces the need for constant client-server communication.
2Ease of manufacture
If traditional MVP architecture is used with separation of backend and frontend development, then development can be modularized, but backend engineers must learn frontend development skills increasing complexity
Solution Approach 1:
The patent introduces an intermediary layer in the form of the inner MVP that acts as a mediator between the backend and frontend. This intermediary handles the translation and coordination between server-side and client-side operations, allowing backend engineers to focus on server logic without needing to master frontend development skills.
Solution Approach 2:
The inner MVP is designed to be self-contained and automatically generated from the outer MVP, providing self-service functionality that eliminates the need for backend engineers to learn frontend development. The system automatically handles the complexity of client-server integration through the generated inner MVP layer.
3Adaptability or versatility
If manual code generation is used for MVP architecture migration, then customization is possible, but migration time and development effort increase significantly
Solution Approach 1:
The patent implements preliminary action through automated code generation that creates the inner MVP structure before actual development begins. The system automatically generates the nested MVP architecture from the outer MVP definition, preparing the foundational code structure in advance and eliminating the need for manual code generation during migration.
Solution Approach 2:
The patent replaces manual mechanical code generation processes with automated computer-based code generation. The system uses algorithms to automatically translate the outer MVP into the nested inner MVP structure, substituting manual developer effort with automated mechanisms that significantly increase migration speed while maintaining customization capabilities.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
Systems or techniques are provided for facilitating desktop-to-cloud application migration. In various embodiments, a system can access a desktop application. In various aspects, the system can deploy the desktop application in a cloud computing environment, based on generating a nested model-view-presenter software architecture that treats the desktop application as an outer data model. In various instances, the cloud computing environment can comprise a server device and a client device, wherein the server device can host the desktop application and a portion of an outer presenter, and wherein the client device can host another portion of the outer presenter and an outer view. In various cases, the outer view can comprise an inner view, an inner presenter, and a lite version of the desktop application.