Client-Server Collaborative Filtering for Private Matrix Updates

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing client-server systems face challenges in achieving efficient machine learning processes due to the difficulty in finding patterns in limited data and the need to collect and store large amounts of sensitive user data, which is hindered by regulations and infrastructure costs.

Innovation Solution

A client-server system utilizing Collaborative Filtering to update client-item matrices by distributing model components between clients and servers, allowing clients to calculate estimates using local data without transferring personal data, and aggregating updates on the server to enhance model components.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If user data is collected and stored on a central server to improve machine learning accuracy, then model precision is improved, but data security and user privacy are compromised

Engineering Contradiction:
Improvemodel precisionVSAvoiddata security risk
Core Design Contradiction:
Measurement precisionVSObject-affected harmful factors

Solution Approach 1:

The system segments the machine learning model into two components: a global model component stored on the server and a local model component stored on the client device. This segmentation allows the system to utilize both centralized computational resources and distributed data storage, improving model precision while maintaining data security by keeping sensitive user data localized.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary mechanism where the server stores only aggregated model updates and global model components rather than raw user data. This intermediary approach enables the system to benefit from collective learning across multiple users while preventing direct access to sensitive personal information, thus resolving the contradiction between model accuracy and data security.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Object-affected harmful factors

If explicit user opt-in consent is required for data collection to protect user privacy, then data security is improved, but machine learning data availability deteriorates

Engineering Contradiction:
Improveuser privacy protectionVSAvoiddata availability
Core Design Contradiction:
Object-affected harmful factorsVSQuantity of substance

Solution Approach 1:

The system implements self-service by enabling clients to automatically train local model components using their own data without requiring explicit opt-in consent for each data usage. The local model training occurs autonomously on the client device, and only anonymized model updates are transmitted to the server, thus protecting user privacy while maintaining data availability for machine learning purposes.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

By segmenting the learning process into local client-side training and centralized server-side aggregation, the system allows data to be utilized for model improvement without requiring explicit user consent for centralized data collection. This segmentation enables continuous learning while respecting user privacy preferences.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If large amounts of user data are collected and stored on servers to improve model accuracy, then model precision is improved, but infrastructure costs increase

Engineering Contradiction:
Improvemodel accuracyVSAvoidinfrastructure cost
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent extracts the data storage function from the centralized server and relocates it to distributed client devices. Each client stores its own data locally for training the local model component, eliminating the need for expensive centralized data storage infrastructure while still enabling accurate model training through local computation.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system segments the computational workload and data storage requirements across multiple client devices rather than concentrating them on a single server. This distribution reduces the infrastructure burden on the server while maintaining or improving model accuracy through localized training on diverse user data.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3701475B1Client, server, and client-server system adapted for updating a client-item matrix
Publication Date: 2025.07.30 HUAWEI TECH CO LTD
  • EP3701475B1 patent drawingFigure 1
  • EP3701475B1 patent drawingFigure 2
  • EP3701475B1 patent drawing

AI summary

A client (i) adapted for updating individual elements (rij) of a client-item matrix (R) by means of Collaborative Filtering, R = XTY. The matrix (R) comprises a plurality of individual elements (rij), each individual element relating to a specific client (i) and a specific item (j). The client (i) utilizes an individual part (Ai) of a first model component (A) and at least one element of local client data (ui). The first model component (A) is a factor matrix A = X(i, k) comprising a plurality of client factor vectors (xi). The individual part (Ai) of the first model component (A) is the client factor vector (xi) for said client (i). The client (i) is connected to a server utilizing a second model component (B) and a global set of items (j1,..., jM). The second model component (B) is a factor matrix B = Y(J, k) comprising a plurality of item factor vectors (yj). The client (i) is configured to assign the individual part (Ai) of the first model component (A) to the client (i) and download a second model component (B) from the server. Thereafter, an updated individual part (Ai2) of the first model component (A) is calculated, as well as an individual value for each item (j1,..., jM). An evaluation of the value is uploaded to the server such that an updated second model component (B2) is calculated by the server. The updated second model component (B2) is downloaded from the server, and a new updated individual part (Ai3) of the first model component (A) is calculated.