Selective Software Instruction Routing Between Client and Cloud
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In cloud-based software services, certain software instructions may result in undesirable latency or expose confidential user data when executed on cloud servers, necessitating a solution for selective routing to optimize execution and security.
Innovation Solution
A method and system for selectively routing software instructions between a client device and a cloud services server, where the decision is based on rules, capabilities, and hardware configurations, allowing specific instructions to be executed on either the client terminal or the server, thereby optimizing performance and security.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If all software instructions are executed on the cloud server, then centralized control and resource utilization are improved, but latency increases and data security risks worsen
Solution Approach 1:
The patent segments software instructions into different categories (first set for client execution, second set for server execution) and routes them to appropriate execution environments. This segmentation allows critical time-sensitive instructions to be executed locally on the client terminal, reducing latency, while non-critical instructions are handled by the cloud server for centralized control.
Solution Approach 2:
The patent applies local quality by executing different sets of software instructions at different locations (client terminal vs. cloud server) based on their specific requirements. Time-sensitive and security-critical instructions are executed locally on the client terminal, while less critical instructions are executed on the cloud server, optimizing both latency and security for each instruction type.
2Productivity
If all software instructions are executed on the cloud server, then resource utilization is improved, but data security worsens due to exposure of confidential user data
Solution Approach 1:
The patent segments software instructions based on security requirements, routing security-critical instructions to be executed on the client terminal where confidential data remains local, while non-sensitive instructions are executed on the cloud server. This segmentation maintains data security while still utilizing cloud resources for appropriate workloads.
Solution Approach 2:
The patent executes different instruction sets at different locations based on security requirements. Instructions handling confidential user data are executed locally on the client terminal to maintain security, while less sensitive instructions are executed on the cloud server to utilize cloud resources, thus addressing both security and resource utilization concerns.
3Productivity
If software instructions are routed based on multiple criteria (rules, capabilities, hardware configurations), then execution optimization is improved, but system complexity increases
Solution Approach 1:
The patent implements dynamic routing decisions based on multiple criteria including client terminal capabilities, server capabilities, software instruction characteristics, and hardware configurations. The routing system adapts its decisions in real-time based on the specific instruction and system state, allowing optimized execution while managing complexity through rule-based dynamic evaluation.
Data Source
AI summary
Methods, systems and computer program products for cloud based software program execution include the steps of: receiving a data message identifying a software code instruction for execution, wherein said software code instruction is associated with functionality of an instance of a cloud based software application. One of a client terminal and a server is selected for execution of the software code instruction, and the software code instruction is routed to the selected client terminal or server. Selection of the client terminal or the server is based on routing rules and any one or more of information representing capabilities of the client terminal or of the server, information identifying a storage location of the software code instruction, and information representing hardware configurations or hardware systems required or preferred for execution of the software code instruction.


