# US 12,120,011 B2 · Bit-rate extraction for encrypted video

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

- Number: US 12,120,011 B2
- Document ID: US12120011B2
- Status: Granted
- Kind: B2
- Application number: 18/176,000
- Filed: 2023-02-28
- Published: 2023-06-29
- Granted: 2024-10-15
- Earliest claimed: 2014-09-15
- Assignees: Vasona Networks, Inc.
- Applicants: Vasona Networks Inc.
- Inventors: Roni Bar-Yanai; Nery Strasman
- Web page: https://patentgrep.com/patent/US12120011B2

## CPC

- H04L 43/0894: Packet rate
- H04L 1/20: using signal quality detector
- H04N 21/2402: {Monitoring of the downstream path of the transmission network, e.g. bandwidth available (traffic monitoring in data switching networks H04L43/00; monitoring data switching networks utilization H04L43/0876)}
- H04L 43/062: related to network traffic
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method includes monitoring a media stream that is streamed over a network at a given media bit-rate in a sequence of traffic bursts. Respective data volumes of one or more traffic bursts of the sequence are estimated, and the given media bit-rate is derived from the estimated data volumes.

## Claims

### Claim 1

A data processing system comprising:
one or more processors; and
a memory, coupled to the one or more processors, storing code, wherein execution of the code by the one or more processors causes the data processing system to perform operations comprising:
monitoring a media stream that is streamed over a network, from a server to a client, by the data processing system that is separate from the server and the client;
determining a traffic pattern of the monitored stream over time, including a communication bit-rate of the monitored media stream as a function of time;
identifying in the traffic pattern, a sequence of traffic bursts;
determining times of bursts in the sequence of traffic bursts;
measuring a time between successive traffic bursts in the sequence;
estimating respective data volumes of one or more traffic bursts of the sequence; and
deriving a given media bit rate of the media stream from a ratio between the estimated data volumes and the measured time between bursts; and
allocating bandwidth in the network or selecting a quality of service policy to be applied in the network based on an assessment of video quality experienced by a user responsive to the derived media bit-rate.

### Claim 2 (depends on 1)

The data processing system of claim 1, wherein estimating the data volumes and deriving the given media bit-rate are performed without decoding content of the media stream, and wherein identifying the sequence of traffic bursts comprises interpreting upstream packets, from the client to the server, in a corresponding upstream of the monitored media stream as requests that are each followed by a respective traffic burst in the media stream.

### Claim 3 (depends on 1)

The data processing system of claim 1, wherein the media stream is encrypted, and wherein estimating the data volumes and deriving the given media bit-rate are performed without decryption of the media stream.

### Claim 4 (depends on 1)

The data processing system of claim 1, wherein identifying the sequence of traffic bursts comprises distinguishing between traffic bursts by identifying idle times between bursts.

### Claim 5 (depends on 1)

The data processing system of claim 1, wherein estimating the data volumes comprises distinguishing between a buffering phase and a steady-state phase of the media stream, and assessing the data volumes during the steady-state phase.

### Claim 6 (depends on 1)

The data processing system of claim 1, wherein estimating the data volumes comprises distinguishing between a buffering phase and a steady-state phase of the media stream, and assessing the data volumes during the buffering phase.

### Claim 7 (depends on 1)

The data processing system of claim 1, wherein execution of the code by the one or more processors causes the data processing system to further perform operations comprising:
calculating a performance metric of the media stream from the estimated data volumes of the traffic bursts.

### Claim 8 (depends on 7)

The data processing system of claim 7, wherein calculating the performance metric comprises calculating at least one of a start delay, an occurrence of one or more stalls and a length of the stalls in the media stream.

### Claim 9 (depends on 1)

The data processing system of claim 1, wherein the traffic bursts convey respective content segments having a predefined playback duration, and wherein deriving the given media bit-rate comprises, when the media stream is subject to congestion in the network, estimating the given media bit-rate based on the playback duration.

### Claim 10 (depends on 1)

The data processing system of claim 1, wherein execution of the code by the one or more processors causes the data processing system to further perform operations comprising:
estimating the data volumes and deriving the given media bit-rate only in response to verifying that the media stream matches an Adaptive Bit-Rate (ABR) traffic pattern.

### Claim 11 (depends on 1)

The data processing system of claim 1, wherein deriving the given media bit-rate comprises verifying that the data volumes of the two or more traffic bursts differ from one another by no more than a predefined difference.

### Claim 12 (depends on 1)

The data processing system of claim 1, wherein deriving the given media bit-rate comprises selecting a media bit-rate that best matches the estimated data volumes from among a predefined set of media bit-rates.

### Claim 13 (depends on 1)

The apparatus according to claim 1, wherein execution of the code by the one or more processors causes the data processing system to further perform operations comprising:
identifying respective start times of the traffic bursts; and
distinguishing between the traffic bursts using the identified start times.
