# US 11,115,445 B2 · Content type auto detection for online collaboration screen sharing

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

- Number: US 11,115,445 B2
- Document ID: US11115445B2
- Status: Granted
- Kind: B2
- Application number: 16/414,554
- Filed: 2019-05-16
- Published: 2020-11-19
- Granted: 2021-09-07
- Earliest claimed: 2019-05-16
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: Bo Pang; Jianjun Hu; Gang Yang; Yong Yang
- Web page: https://patentgrep.com/patent/US11115445B2

## CPC

- H04L 65/403: Arrangements for multi-party communication, e.g. for conferences (data switching systems for conference H04L12/18; arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities H04M3/56; television conferencing systems H04N7/15)
- H04L 65/1069: Session establishment or de-establishment
- H04L 65/1089: by adding media; by removing media
- H04L 65/70: Media network packetisation
- H04L 65/80: Responding to QoS
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Content determination, in an online collaboration environment, moved from each client to a server, where the server reviews signal characteristics to determine the content in the data stream, may be provided. First, an online collaboration server receives a data stream associated with an online collaboration session. A traffic analyzer at the frontend of the server analyzes the data stream to determine a signal characteristic. Based on the signal characteristic, the traffic analyzer generates a classification of a type of content in the data stream. This classification is sent to an online collaboration application at the client. The client can then adjust the encoding of the data based on the type of content in the data stream.

## Claims

### Claim 1

A method comprising:
receiving, at an online collaboration server, a data stream associated with an online collaboration session from a user device;
analyzing, at the online collaboration server, the data stream to determine a signal characteristic, wherein analyzing the data stream to determine the signal characteristic comprises analyzing the data stream at a collection interval and over a sampling duration, and wherein analyzing the data stream at the collection interval and over the sampling duration further comprises:
determining a packet size of packets received over the sampling duration, and
determining a packet count per packet size received over the sampling duration;
generating, at the online collaboration server based on the packet size and the packet count per packet size, a classification of a type of content in the data stream, wherein generating the classification of the type of content in the data stream comprises generating the classification of the type of content in the data stream based on the packet size and the packet count per packet size as one of the following: a video stream, an audio stream, a text stream, and a multimedia stream; and
sending the classification to an online collaboration application of the user device that generated the data stream to adjust encoding of the data stream.

### Claim 2 (depends on 1)

The method of claim 1, wherein the online collaboration session is conducted between two or more user devices, which share data between the two or more user devices.

### Claim 3 (depends on 2)

The method of claim 2, wherein the data stream is received at an online collaboration service executed by the online collaboration server.

### Claim 4 (depends on 3)

The method of claim 3, wherein the online collaboration service manages the data stream from each of the two or more user devices to provide the online collaboration session.

### Claim 5 (depends on 4)

The method of claim 4, wherein a traffic analyzer executed at the online collaboration server analyzes the data stream.

### Claim 6 (depends on 5)

The method of claim 5, wherein the traffic analyzer is executed at a frontend of the online collaboration server.

### Claim 7 (depends on 1)

The method of claim 1, wherein the signal characteristic further comprises a packet size and a number of packets, of a predetermined size, received.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
determining a second classification at a later time based on a change in the content being received in the data stream; and
sending the second classification to the online collaboration application of the user device.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
determining the signal characteristic that identify the type of content based on analyzing a training set of data streams.

### Claim 10

A method comprising:
beginning, with an online collaboration application, an online collaboration session between a first user device and a second user device, wherein the first user device executes the online collaboration application;
providing, by the online collaboration application, a content from the first user device to an online collaboration service, executed at an online collaboration server, as a data stream;
receiving, by the online collaboration application, a classification of the content in the data stream, wherein receiving the classification of the content in the data stream comprises receiving the classification of the content in the data stream in response to:
analyzing, at the online collaboration server, the data stream to determine a signal characteristic, wherein analyzing the data stream to determine the signal characteristic comprises analyzing the data stream at a collection interval and over a sampling duration, and wherein analyzing the data stream at the collection interval and over the sampling duration further comprises:
determining a packet size of packets received over the sampling duration, and
determining a packet count per packet size received over the sampling duration, and
generating, at the online collaboration server based on the packet size and the packet count per packet size, the classification of a type of content in the data stream, wherein generating the classification of the type of content in the data stream comprises generating the classification of the type of content in the data stream based on the packet size and the packet count per packet size as one of the following: a video stream, an audio stream, a text stream, and a multimedia stream; and
based on the classification, modifying an encoder setting that changes a signal characteristic of the data stream.

### Claim 11 (depends on 10)

The method of claim 10, wherein the encoder setting changes one or more of a framerate and/or a data resolution.

### Claim 12 (depends on 10)

The method of claim 10, further comprising: receiving a second classification at a later time based on a change in the content being sent in the data stream; and modifying again the encoder setting to change again the signal characteristic of the data stream.

### Claim 13 (depends on 12)

The method of claim 12, wherein the content is shared from a user interface of or by user input into the online collaboration application.

### Claim 14

A system comprising:
a memory storage;
a processing unit coupled to the memory storage, wherein the processing unit to:
execute an online collaboration service to conduct an online collaboration session between two or more user devices;
execute a traffic analyzer at a frontend before processing the online collaboration session, the traffic analyzer to:
receive a data stream associated with the online collaboration session from a user device of the two or more user devices;
analyze the data stream to determine a signal characteristic, wherein the processing unit being operative to analyze the data stream to determine the signal characteristic comprises the processing unit being operative to analyze the data stream at a collection interval and over a sampling duration, and wherein the processing unit being operative to analyze the data stream at the collection interval and over the sampling duration further comprises the processing unit being operative to:
determine a packet size of packets received over the sampling duration, and
determine a packet count per packet size received over the sampling duration;
generate, based on the packet size and the packet count per packet size, a classification of a type of content in the data stream, wherein the processing unit being operative to generate the classification of the type of content in the data stream comprises the processing unit being operative to generate the classification of the type of content in the data stream based on the packet size and the packet count per packet size as one of the following: a video stream, an audio stream, a text stream, and a multimedia stream; and
send the classification to an online collaboration application of the user device.

### Claim 15 (depends on 14)

The system of claim 14, wherein the signal characteristic further comprises a packet size and a number of packets of a predetermined size received.

### Claim 16 (depends on 14)

The system of claim 14, wherein before receiving the data stream, the traffic analyzer further to determine one or more signal characteristics that identify the type of content.

### Claim 17 (depends on 16)

The system of claim 16, wherein the traffic analyzer determines one or more signal characteristics that identify the type of content based on analyzing a training set of data streams.

### Claim 18 (depends on 14)

The system of claim 14, wherein the traffic analyzer is executed at a frontend of an online collaboration server.

### Claim 19 (depends on 14)

The system of claim 14, wherein the data stream is received at an online collaboration service executed by the online collaboration server.

### Claim 20 (depends on 19)

The system of claim 19, wherein the online collaboration service manages the data stream from each of the two or more user devices to provide the online collaboration session.
