Performant collaborative transfer learning between cloud storage and cloud computing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing systems fail to efficiently execute machine learning code across both client and server due to network bottlenecks and limited computational resources in cloud object stores, particularly when dealing with complex tasks like image processing.

Innovation Solution

The system splits machine learning code into a first part executed on the server and a second part on the client, optimizing the distribution based on characteristics of the code and the computing environment to reduce network traffic and memory demands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If machine learning code is executed entirely on the server, then computational power is improved, but network traffic and data transfer between storage and compute tiers increase

Engineering Contradiction:
Improvecomputational powerVSAvoidnetwork traffic
Core Design Contradiction:
PowerVSQuantity of substance

Solution Approach 1:

The machine learning code is segmented into two parts: the first part is executed on the server (storage tier) and the second part is executed on the client (compute tier). This segmentation allows computational tasks to be distributed, reducing the need for large data transfers while maintaining computational efficiency.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If machine learning code is executed entirely on the client, then network traffic is reduced, but computational resources and memory usage on the client increase

Engineering Contradiction:
Improvenetwork trafficVSAvoidcomputational resources
Core Design Contradiction:
Quantity of substanceVSPower

Solution Approach 1:

The machine learning code is divided such that resource-intensive initialization and data loading are performed on the server, while the lighter inference or processing tasks are executed on the client. This balances the computational load between server and client, preventing resource exhaustion on the client side.

Inventive Principle:
Principle #1Segmentation

3Productivity

If cloud object store computational resources are increased, then processing capability is improved, but resource costs and contention increase

Engineering Contradiction:
Improveprocessing capabilityVSAvoidcomputational resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

By segmenting the execution environment, the system allows the storage tier to handle data-intensive operations while the compute tier handles processing-intensive operations. This reduces the need for expensive computational resources in the storage tier, optimizing resource allocation and reducing costs.

Inventive Principle:
Principle #1Segmentation

4Quantity of substance

If machine learning code is split between server and client, then network traffic is reduced, but system complexity increases

Engineering Contradiction:
Improvenetwork trafficVSAvoidsystem complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system provides an automated framework for splitting machine learning code that handles the complexity of distribution, execution coordination, and result aggregation. This automation reduces the manual complexity burden on users while maintaining the benefits of reduced network traffic.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250225406A1Performant collaborative transfer learning between cloud storage and cloud computing
Publication Date: 2025.07.10 HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
  • US20250225406A1 patent drawing
  • US20250225406A1 patent drawing
  • US20250225406A1 patent drawing

AI summary

A computing apparatus is provided comprising a client and a server. The computing apparatus is configured to: obtain a machine learning code; split the machine learning code into a first part and a second part; execute the first part of the machine learning code on the server; execute the second part of the machine learning code on the client; and output a result of the machine learning code. In this way, the machine learning code may be split and executed over both the client and the server in an efficient way.