# US 12,113,852 B2 · Distribution of application computations

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,113,852 B2
- Document ID: US12113852B2
- Status: Granted
- Kind: B2
- Application number: 17/800,890
- Filed: 2021-02-03
- Published: 2023-04-06
- Granted: 2024-10-08
- Earliest claimed: 2020-03-05
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Bojan Vrcelj; Prashanth Haridas Hande; Vinay Melkote Krishnaprasad; Ajit Venkat Rao; Thomas Stockhammer
- Web page: https://patentgrep.com/patent/US12113852B2

## CPC

- G06F 9/5072: {Grid computing}
- H04L 67/1008: based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30)
- G06T 1/20: Processor architectures; Processor configuration, e.g. pipelining
- H04L 43/0882: Utilisation of link capacity
- H04L 43/0817: by checking functioning
- H04L 43/0852: Delays
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/306: User profiles
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

The present disclosure relates to methods and apparatus for computer processing. Aspects of the present disclosure can determine at least one of a quality, latency, or capacity of a communication link for communication between a client device and a server. Aspects of the present disclosure can also determine a computational load for an application computation between the client device and the server. Moreover, aspects of the present disclosure can adjust a computational distribution for the application computation between the client device and the server based on at least one of the computational load for the application computation or the at least one of the quality, latency, or capacity of the communication link. Aspects of the present disclosure can also determine a computational capacity of at least one of the client device or the server.

## Claims

### Claim 1

An apparatus for computer processing at a client device, comprising:
a memory; and
at least one processor coupled to the memory and configured to:
obtain an indication of at least one of a quality, latency, or capacity of a communication link for communication between the client device and a server;
determine a computational load at the client device for a computation of an application, wherein the computation of the application is associated with at least one of the client device or the server; and
select a computational distribution for the computation of the application between the client device and the server based on at least one of the computational load at the client device for the computation of the application or at least one of the quality, latency, or capacity of the communication link,
wherein the client device performs a first client level of the computation of the application and the server performs a first server level of the computation of the application if the determined computational load for the computation of the application is less than a computational load threshold.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the at least one processor is further configured to:
determine a computational capacity of the client device.

### Claim 3 (depends on 2)

The apparatus of claim 2, wherein to determine the computational capacity of the client device, the at least one processor is configured to:
determine a thermal threshold level of the client device;
determine a computational power level of the client device, wherein the computational power level of the client device includes a remaining battery level; or
determine whether at least one of the client device or the server supports a minimum computational capacity.

### Claim 4 (depends on 2)

The apparatus of claim 2, wherein the computational distribution for the computation of the application between the client device and the server is selected based on the computational capacity of the client device.

### Claim 5 (depends on 2)

The apparatus of claim 2, wherein the computational capacity of the client device is a rendering computational capacity.

### Claim 6 (depends on 1)

The apparatus of claim 1, wherein to obtain the indication of at least one of the quality, latency, or capacity of the communication link, the at least one processor is configured to:
obtain a first indication of whether the communication link for the communication between the client device and the server supports a minimum quality, latency, or capacity level.

### Claim 7 (depends on 1)

The apparatus of claim 1, wherein the at least one processor is further configured to:
obtain a measurement of at least one of the quality, latency, or capacity of the communication link for the communication between the client device and the server.

### Claim 8 (depends on 1)

The apparatus of claim 1, wherein the client device performs a second client level of the computation of the application and the server performs a second server level of the computation of the application if the determined computational load for the computation of the application is greater than or equal to a computational load threshold.

### Claim 9 (depends on 1)

The apparatus of claim 1, wherein the computational distribution for the computation of the application between the client device and the server corresponds to a split extended reality (XR) architecture, a split augmented reality (AR) architecture, or a split virtual reality (VR) architecture.

### Claim 10 (depends on 1)

The apparatus of claim 1, wherein the server is an edge server or a cloud server, and wherein the client device is a head mounted display (HMD) or a headset.

### Claim 11 (depends on 1)

The apparatus of claim 1, wherein the computational distribution for the computation of the application between the client device and the server is selected by a central processing unit (CPU) or a graphics processing unit (GPU) at the client device.

### Claim 12 (depends on 1)

The apparatus of claim 1, wherein the quality, latency, or capacity of the communication link is based on a quality of service (QOS) notification message, wherein the computational distribution is selected based on the QoS notification message, and wherein a time period of adjustment of the computational distribution is based on the QoS notification message.

### Claim 13 (depends on 1)

The apparatus of claim 1, wherein the computation of the application is associated with one or more multimedia applications, wherein the one or more multimedia applications include at least one of one or more extended reality (XR) applications, one or more augmented reality (AR) applications, one or more virtual reality (VR) applications, one or more cloud gaming applications, or one or more cloud assisted perception applications.

### Claim 14

An apparatus for computer processing at a server, comprising:
a memory; and
at least one processor coupled to the memory and configured to:
obtain an indication of at least one of a quality, latency, or capacity of a communication link for communication between a client device and the server;
determine a computational load at the server for a computation of an application, wherein the computation of the application is associated with at least one of the client device or the server; and
select a computational distribution for the computation of the application between the client device and the server based on at least one of the computational load at the server for the computation of the application or at least one of the quality, latency, or capacity of the communication link,
wherein the client device performs a first client level of the computation of the application and the server performs a first server level of the computation of the application if the determined computational load for the computation of the application is less than a computational load threshold.

### Claim 15 (depends on 14)

The apparatus of claim 14, wherein the at least one processor is further configured to:
determine a computational capacity of the server.

### Claim 16 (depends on 15)

The apparatus of claim 15, wherein to determine the computational capacity of the server, the at least one processor is configured to:
determine a thermal threshold level of the server;
determine a computational power level of the server; or
determine whether at least one of the client device or the server supports a minimum computational capacity.

### Claim 17 (depends on 15)

The apparatus of claim 15, wherein the computational distribution for the computation of the application between the client device and the server is selected based on the computational capacity of the server.

### Claim 18 (depends on 15)

The apparatus of claim 15, wherein the computational capacity of the server is a rendering computational capacity.

### Claim 19 (depends on 14)

The apparatus of claim 14, wherein to obtain the indication of at least one of the quality, latency, or capacity of the communication link, the at least one processor is configured to:
obtain a first indication of whether the communication link for the communication between the client device and the server supports a minimum quality, latency, or capacity level.

### Claim 20 (depends on 14)

The apparatus of claim 14, wherein the at least one processor is further configured to:
obtain a measurement of at least one of the quality, latency, or capacity of the communication link for the communication between the client device and the server.

### Claim 21 (depends on 14)

The apparatus of claim 14, wherein the client device performs a second client level of the computation of the application and the server performs a second server level of the computation of the application if the determined computational load for the computation of the application is greater than or equal to a computational load threshold.

### Claim 22 (depends on 14)

The apparatus of claim 14, wherein the computational distribution for the computation of the application between the client device and the server corresponds to a split extended reality (XR) architecture, a split augmented reality (AR) architecture, or a split virtual reality (VR) architecture.

### Claim 23 (depends on 14)

The apparatus of claim 14, wherein the server is an edge server or a cloud server, and wherein the client device is a head mounted display (HMD) or a headset.

### Claim 24 (depends on 14)

The apparatus of claim 14, wherein the computational distribution for the computation of the application between the client device and the server is selected by a central processing unit (CPU) or a graphics processing unit (GPU) at the server.

### Claim 25 (depends on 14)

The apparatus of claim 14, wherein the quality, latency, or capacity of the communication link is based on a quality of service (QOS) notification message, wherein the computational distribution is selected based on the QoS notification message, and wherein a time period of adjustment of the computational distribution is based on the QoS notification message.

### Claim 26 (depends on 14)

The apparatus of claim 14, wherein the computation of the application is associated with one or more multimedia applications, wherein the one or more multimedia applications include at least one of one or more extended reality (XR) applications, one or more augmented reality (AR) applications, one or more virtual reality (VR) applications, one or more cloud gaming applications, or one or more cloud assisted perception applications.
