Client-Side Machine Learning Development Without Server Contention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing machine learning development processes are hindered by resource contention and asynchronous workflows when relying on server-side hardware, limiting rapid iteration and improvement of machine learning and data analysis programs.

Innovation Solution

A client-side machine learning development environment that allows users to retrieve datasets from remote servers, convert data structures, and execute machine learning and data analysis code locally on client devices using a second programming language, bypassing the need for remote machine learning servers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If server-side hardware is used for machine learning development, then computational power is sufficient, but resource contention and asynchronous workflows occur

Engineering Contradiction:
Improvecomputational powerVSAvoiddevelopment workflow efficiency
Core Design Contradiction:
PowerVSProductivity

Solution Approach 1:

The patent inverts the traditional server-side execution model by implementing client-side machine learning development environments. Instead of having clients request computational resources from servers, the system enables clients to execute machine learning code locally in their browsers using WebAssembly and other client-side technologies. This inversion eliminates resource contention and asynchronous workflows while maintaining sufficient computational power through hardware acceleration APIs available on modern client devices.

Inventive Principle:
Principle #13The other way round (Inversion)

2Adaptability or versatility

If server-side hardware is used for machine learning development, then access to specialized hardware is provided, but resource contention occurs

Engineering Contradiction:
Improvehardware access capabilityVSAvoidresource availability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent implements self-service by enabling client devices to access and utilize their own hardware resources directly without relying on external servers. Through hardware acceleration APIs and WebAssembly, client devices can independently execute machine learning workloads using their local CPU, GPU, or other available hardware, eliminating resource contention and ensuring reliable resource availability.

Inventive Principle:
Principle #25Self-service

3Quantity of substance

If data is retrieved from remote servers, then data availability is improved, but data transfer time increases

Engineering Contradiction:
Improvedata accessibilityVSAvoiddata retrieval time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent applies preliminary action by enabling data to be processed and analyzed directly at the client device before any potential server interaction. The client-side development environment allows data to be loaded, transformed, and prepared locally, with server communication only occurring when necessary for data retrieval or result submission, thereby minimizing data transfer time while maintaining data accessibility.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12353849B2Client-side machine learning development environment
Publication Date: 2025.07.08 SERVICENOW INC
  • US12353849B2 patent drawing
  • US12353849B2 patent drawing
  • US12353849B2 patent drawing

AI summary

A specification of a data query received via a first section of a user interface is received at a client device. Query result data of the data query is received using a first programming language. A data structure storing at least a portion of the query result data is generated at the client device for a second programming language different from the first programming language. A specification in the second programming language of user code utilizing the generated data structure is received via a second section of the user interface. A program of the user code specified in the second programming language is executed at the client device.