Selective Data Processing Task Re-homing Based on Complexity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Client-server architectures face scalability issues due to heavy data processing burdens on servers, which become inefficient as the number of requests and data complexity increase, leading to the need for increased infrastructure deployment.

Innovation Solution

A method to selectively re-home data processing tasks based on data and code complexity scores, as well as performance metrics of client systems, allowing the server to determine whether to execute tasks on the server or send them to the client for processing, thereby reducing server load and improving scalability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the server performs heavy data processing to generate responses for clients, then the response accuracy and completeness are improved, but the server resource utilization increases and scalability deteriorates

Engineering Contradiction:
Improveresponse accuracyVSAvoidscalability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the data processing task into two parts: complex data processing is performed on the server to ensure accuracy, while simpler rendering and presentation tasks are offloaded to the client. This segmentation allows the server to maintain response accuracy for complex operations while improving scalability by distributing lighter tasks to clients.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts certain processing functions from the server and relocates them to the client system. Specifically, rendering operations and presentation-layer processing are extracted from the server, reducing server resource utilization while maintaining response quality through client-side execution of these extracted functions.

Inventive Principle:
Principle #2Taking out (Extraction)

2Reliability

If the server processes all data requests to ensure response quality, then the response quality is maintained, but the server load increases and system performance deteriorates

Engineering Contradiction:
Improveresponse qualityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies local quality by matching task complexity with processing location. Complex data processing that requires high reliability is executed on the server, while simpler rendering tasks are executed on the client. This localized assignment of processing responsibilities maintains response quality for critical operations while improving overall system performance through distributed processing.

Inventive Principle:
Principle #3Local quality

3Productivity

If more infrastructure is deployed to handle increased requests, then the server capacity is improved, but the cost and complexity of the system increase

Engineering Contradiction:
Improveserver capacityVSAvoidinfrastructure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent enables client systems to perform self-service processing by executing rendering and presentation tasks locally. This reduces the burden on server infrastructure, allowing the system to handle increased requests without proportionally increasing server capacity or infrastructure complexity. Clients effectively serve themselves by processing simpler tasks locally.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10050858B2Selectively re-homing data processing tasks based on data complexity and candidate system performance characteristics
Publication Date: 2018.08.14 OPENGOV
  • US10050858B2 patent drawing
  • US10050858B2 patent drawing
  • US10050858B2 patent drawing

AI summary

Techniques are disclosed for selectively re-homing data processing tasks based on data complexity and candidate system performance characteristics. A server system obtains performance capabilities of a target system such that the server can decide whether to send program code and data to the target system for execution, based in part on the complexity of the data and code used in performing the request. In cases where a client system sending a request is capable of executing code and where other constraints are satisfied, e.g., bandwidth, throughput, and data volume, then the server can decide to re-home both the data and the program code to the client for execution.