Dynamic Cloud Processing Provisioning Across Client and Server
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud based software services face performance issues due to high network communication overheads, latency, and low bandwidth, leading to sub-optimal execution and user experience, necessitating dynamic adaptation to network and endpoint characteristics.
Innovation Solution
Dynamic provisioning of processing functionality by assigning discrete subsets of software instructions across multiple computing devices, including client terminals and cloud servers, based on attributes and network parameters, to optimize execution and minimize latency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If cloud based software application execution is implemented through centralized server processing, then service delivery is simplified and managed centrally, but network communication overhead increases and latency increases leading to sub-optimal performance
Solution Approach 1:
The patent segments the software application execution across multiple computing devices including client terminals and cloud servers. Different subsets of software instructions are assigned to different devices based on their attributes and capabilities, thereby distributing the processing load and reducing network communication overhead while maintaining centralized management of the segmentation strategy.
Solution Approach 2:
The patent introduces a new dimension to cloud service delivery by enabling execution of software instructions across multiple spatial locations and device types simultaneously. Rather than single-point centralized execution, the system creates a distributed execution environment that leverages both client-side and server-side computing resources in parallel.
2Device complexity
If all software instructions are executed on cloud servers, then centralized control is maintained, but network bandwidth requirements increase and user experience deteriorates
Solution Approach 1:
The patent applies local quality by assigning specific subsets of software instructions to be executed locally on client terminals based on their capabilities and attributes. This allows certain processing functions to be performed closer to the user, reducing network bandwidth requirements for instruction transmission and improving overall user experience while maintaining centralized control over the assignment strategy.
3Device complexity
If computing resources are statically allocated to cloud applications, then resource management is simplified, but adaptability to real-time network and device characteristics is reduced
Solution Approach 1:
The patent implements dynamic resource allocation where the assignment of software instruction subsets to computing devices is not fixed but can be adjusted in real-time based on detected network characteristics, device characteristics, and performance metrics. This dynamic approach allows the system to adapt to changing conditions while maintaining relatively simple management through automated detection and assignment mechanisms.
Data Source
AI summary
Provided is a method for dynamic provisioning of processing functionality corresponding to an instance of a cloud based software application. The method includes assigning a plurality of computing devices to the instance of a cloud based software application. A first cloud computing server is assigned for execution of a first set of software application program instructions corresponding to the instance of the cloud based software application and a second computing device is assigned for execution of a second set of software application program instructions corresponding to the instance of the cloud based software application. One of the first cloud services server and the second computing device is selected as an instruction implementation device for execution of a software application program instruction and the software application program instruction is routed to the selected instruction implementation device for execution.


