# US 10,771,393 B1 · Resource usage for a remote session using artificial network bandwidth shaping

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

- Number: US 10,771,393 B1
- Document ID: US10771393B1
- Status: Granted
- Kind: B1
- Application number: 16/130,246
- Filed: 2018-09-13
- Granted: 2020-09-08
- Earliest claimed: 2018-09-13
- Assignees: Parallels International GmbH
- Applicants: Parallels International GmbH
- Inventors: Ivan Korobov; Nikolay Dobrovolskiy; Serguei Beloussov
- Web page: https://patentgrep.com/patent/US10771393B1

## CPC

- H04L 47/2416: Real-time traffic
- H04L 67/141: Setup of application sessions (admission control or resource allocation in data switching networks H04L47/70)
- H04L 47/23: {Bit dropping}
- H04L 47/25: with rate being modified by the source upon detecting a change of network conditions
- H04L 47/365: {Dynamic adaptation of the packet size}
- H04L 67/025: for remote control or remote monitoring of applications
- H04L 67/133: Protocols for remote procedure calls [RPC]
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Disclosed are systems and methods for managing computing resources for a remote session that has been established between a client and a remote server via a communication channel. Such a remote session is configured to automatically adapt image quality of the remote session based on a network status of the communication channel. The described technique includes detecting an inactive state of the remote session, and in turn, modifying at least one network setting of the client using a network shaping rule specified to artificially reduce a network quality of the communication channel used by the client for traffic of the remote session, so as to cause the client to reduce image quality of the remote session and reduce an amount of data exchanged between the remote server and the client.

## Claims

### Claim 1

A method, comprising:
establishing, by a client computer system, a communication session with a server via a communication channel;
detecting, by the client computer system, an inactive state of the communication session; and
responsive to detecting the inactive state, modifying a network setting of the client computer system to reduce a bandwidth of the communication channel.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
responsive to detecting an active state of the communication session, modifying the network setting to restore the bandwidth of the communication channel.

### Claim 3 (depends on 1)

The method of claim 1, wherein the communication session is associated with a network address and port number of the server.

### Claim 4 (depends on 1)

The method of claim 1, wherein detecting the inactive state further comprises: detecting a context switch of an application process corresponding to the communication session.

### Claim 5 (depends on 1)

The method of claim 1, wherein detecting the inactive state further comprises: detecting a change in window visibility of the communication session.

### Claim 6 (depends on 1)

The method of claim 1, wherein detecting the inactive state further comprises: detecting that at least a threshold idle time period has elapsed in the communication session.

### Claim 7 (depends on 1)

The method of claim 1, wherein detecting the inactive state further comprises: detecting a display screen dimming of the client computer system.

### Claim 8 (depends on 1)

The method of claim 1, wherein modifying the network setting is performed in response to determining that a battery level of the client computer system has reached a threshold low level.

### Claim 9 (depends on 1)

The method of claim 1, wherein modifying the network setting further comprises:
executing a traffic control system application programming interface (API) exposed by an operating system of the client computer system.

### Claim 10 (depends on 9)

The method of claim 9, wherein the traffic control system API is configured to deprioritize TCP/IP and UDP/IP network traffic associated with the communication channel.

### Claim 11 (depends on 9)

The method of claim 9, wherein the traffic control system API is configured to throttle network traffic associated with the communication channel.

### Claim 12 (depends on 1)

The method of claim 1, wherein modifying the network setting further comprises:
executing a packet filter configured to drop one or more network packets associated with the communication channel.

### Claim 13 (depends on 1)

The method of claim 1, wherein the network setting is modified to reduce the bandwidth by a target degree based on a corresponding degree of inactivity of the communication session.

### Claim 14

A client computer system, comprising: a network interface, and
a hardware processor configured to:
establish a communication session with a server via a communication channel using the network interface;
detect an inactive state of the communication session; and
responsive to detecting the inactive state, modify a network setting of the client computer system to reduce a bandwidth of the communication channel.

### Claim 15 (depends on 14)

The client computer system of claim 14, wherein the hardware processor is further configured to: responsive to detecting an active state of the communication session, modify the network setting to restore the bandwidth of the communication channel.

### Claim 16 (depends on 14)

The client computer system of claim 14, wherein the hardware processor is further configured to detect at least one of:
a context switch of an application process corresponding to the communication session to background,
a change in window visibility of the communication session,
a threshold idle time period elapsed in the communication session,
a display screen dimming of the client computer system, or
a battery level of the client computer system reaching a threshold low level.

### Claim 17 (depends on 14)

The client computer system of claim 14, wherein the hardware processor is further configured to:
execute a traffic control system API (application programming interface) exposed by an operating system of the client computer system to decrease a quality-of-service setting of the communication channel.

### Claim 18 (depends on 14)

The client computer system of claim 14, wherein the hardware processor is further configured to:
execute a packet filter configured to drop one or more network packets associated with the communication channel.

### Claim 19

A non-transitory computer readable medium comprising computer executable instructions which, when executed by a client computer system, cause the client computer system to perform operations, comprising:
establishing a communication session with a server via a communication channel;
detecting an inactive state of the communication session; and
responsive to detecting the inactive state, modifying a network setting of the client computer system to reduce a bandwidth of the communication channel.
