Offloading Server-Side Code Execution to Client Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing technologies face challenges in efficiently offloading execution of server-side code to client devices, leading to rigid server infrastructure requirements, underutilization of client resources, and high maintenance costs.

Innovation Solution

A framework that utilizes AI and ML to intelligently offload server-side code execution to client devices by matching task requirements with available resources on volunteer client devices, allowing for peer-to-peer execution and reducing server load.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If server-side code execution is centralized on servers, then system control and management is simplified, but server infrastructure requirements increase and maintenance costs rise

Engineering Contradiction:
Improveserver infrastructure requirementsVSAvoidsystem control and management
Core Design Contradiction:
Device complexityVSEase of operation

Solution Approach 1:

The patent segments the code execution function from the server infrastructure by distributing execution to client devices. The server retains only task management and coordination functions, while actual code execution is performed locally on client devices, thereby reducing server infrastructure requirements while maintaining system control through centralized task assignment and monitoring.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a task queue and job management system as an intermediary between the server and client devices. This mediator enables the server to maintain control over code execution by assigning tasks, monitoring progress, and collecting results, while the actual execution is distributed to clients, thus balancing control with reduced infrastructure requirements.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If all code execution is performed on servers, then resource allocation is centralized and simple, but client resources remain underutilized and productivity is limited

Engineering Contradiction:
Improvecode execution capacityVSAvoidclient resource utilization
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent merges the server's code execution capacity with client device resources by enabling clients to execute server-side code locally. This combines the centralized task management capability of servers with the distributed processing power of multiple client devices, thereby increasing overall productivity while utilizing previously idle client resources.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent implements dynamic resource allocation where client devices can dynamically accept and execute code tasks based on their available capacity. The system adapts to varying client resource availability, allowing clients to contribute processing power when idle and reducing their load when resources are needed for local tasks, thus optimizing both productivity and resource utilization.

Inventive Principle:
Principle #15Dynamics

3Productivity

If server infrastructure is scaled up to handle increased code execution loads, then processing capacity increases, but maintenance costs and system complexity increase

Engineering Contradiction:
Improveprocessing capacityVSAvoidserver infrastructure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent enables client devices to serve themselves by executing code locally without requiring additional server processing capacity. Each client device independently executes assigned tasks using its own resources, thereby increasing overall processing capacity without scaling up server infrastructure, and avoiding the associated increases in maintenance costs and system complexity.

Inventive Principle:
Principle #25Self-service

4Device complexity

If client devices are used for code execution, then resource utilization improves and costs decrease, but hardware and software compatibility requirements increase

Engineering Contradiction:
Improvemaintenance costsVSAvoidhardware and software compatibility
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent implements a universal execution environment that enables diverse client devices with different hardware and software configurations to execute server-side code. By creating a standardized runtime environment that can operate across multiple platforms and device types, the system achieves broad hardware and software compatibility while allowing various client devices to participate in code execution, thereby reducing maintenance costs without sacrificing adaptability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20250138900A1Offloading execution of server-side code to client devices in an information technology infrastructure environment
Publication Date: 2025.05.01 DELL PROD LP
  • US20250138900A1 patent drawing
  • US20250138900A1 patent drawing
  • US20250138900A1 patent drawing

AI summary

An apparatus comprises at least one processing device configured to maintain an execution queue data structure comprising tasks to be executed, the tasks comprising execution of server-side code for application services hosted by servers in an information technology infrastructure environment. The at least one processing device is also configured to determine hardware and software requirements for the tasks in the execution queue data structure, and to determine hardware and software resources available on client devices in the information technology infrastructure environment. The at least one processing device is further configured to offload execution of at least a subset of the tasks in the execution queue data structure from the servers to the client devices based at least in part on mapping the determined available hardware and software resources of the client devices with the determined hardware and software requirements for the tasks in the execution queue data structure.