Dynamic Execution Environment Selection for Web Applications
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems lack the ability to dynamically determine and execute applications and resources based on the capabilities of both local devices and remote servers, leading to suboptimal execution environments and resource utilization.
Innovation Solution
A capabilities application is installed on local devices to assess their software and hardware capabilities, which communicates with a server to determine the best environment for executing requested functionalities, either locally or remotely, by sending a Uniform Resource Identifier (URI) to the device to invoke the necessary resources.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If applications are executed locally on devices, then device autonomy and offline functionality are improved, but device performance may be insufficient and software updates are delayed
Solution Approach 1:
The system dynamically determines execution location by comparing device capabilities with server capabilities. The server evaluates whether to execute applications locally or remotely based on current device state, enabling the system to adapt between static local execution and dynamic cloud execution for optimal performance
Solution Approach 2:
The server provides universal application execution capability that can serve multiple devices simultaneously. Instead of each device maintaining full functionality independently, the server acts as a universal execution environment that devices can access when local capabilities are insufficient
2Productivity
If applications are executed on remote servers, then access to latest software versions and processing power is improved, but network dependency increases and offline functionality is lost
Solution Approach 1:
The system dynamically switches between local and remote execution modes based on capability comparison. Devices can operate offline using local capabilities when appropriate, and switch to cloud execution when enhanced processing is needed, reducing unnecessary network dependency
Solution Approach 2:
Devices perform self-assessment of their capabilities and make informed decisions about whether to execute applications locally or request remote execution. The system serves itself by automatically determining the optimal execution environment without requiring manual configuration
3Ease of manufacture
If device capabilities are statically assessed, then initial configuration is simplified, but the system cannot adapt to changing device states and software versions
Solution Approach 1:
The system implements continuous feedback loops where devices report their current capabilities to the server, and the server responds with execution decisions. This feedback mechanism enables the system to adapt to changing device states, software updates, and varying performance conditions in real-time
Solution Approach 2:
The server pre-evaluates device capabilities and prepares execution decisions in advance. By assessing capabilities before application execution is needed, the system can make rapid decisions about local versus remote execution without delaying application delivery
Data Source
AI summary
The embodiments herein are directed to collecting information from multiple sources about platform capabilities and evaluating the platform capabilities of at least a requesting computer system and a server. A portal can automatically and dynamically select a proper client/application to handle communication based on availability, connectivity and more characteristics and provide a communication recommendation when requesting a function. Logic in the portal allows the portal to determine how best to set up execution of the function. The portal logic can essentially evaluate all of the options available and then choose the best option.


