# US 2021/0344584 A1 · Method for Measuring Network Speed, Computing Device, and Computer-Program Product

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

- Number: US 2021/0344584 A1
- Document ID: US20210344584A1
- Status: Published application
- Kind: A1
- Application number: 17/374,637
- Filed: 2021-07-13
- Published: 2021-11-04
- Earliest claimed: 2019-01-30
- Assignees: Shanghai Bilibili Technology Co., Ltd.
- Applicants: Shanghai Bilibili Technology Co., Ltd.
- Inventors: Hanchao ZHENG; Zhiqiang WU; Hui CHEN
- Web page: https://patentgrep.com/patent/US20210344584A1

## CPC

- H04N 21/44209: {Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network (arrangements for maintenance or administration in data switching networks involving bandwidth and capacity management H04L41/0896)}
- H04L 43/0894: Packet rate
- H04L 43/10: Active monitoring, e.g. heartbeat, ping or trace-route
- H04L 65/752: adapting media to network capabilities
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method of measuring a network speed, a computing device, and a computer-program product are provided. The method includes: obtaining a downloading duration and a downloading byte count of each of N consecutive video segments upon receiving a network speed measurement command during downloading video content, wherein the video content comprises multiple video segments; calculating out a total downloading duration and a total downloading byte count of the N video segments according to the downloading duration and the downloading byte count of each of the N video segments; and calculating out a current network speed according to the total downloading duration and the total downloading byte count.

## Claims

### Claim 1

A method comprising:
obtaining a downloading duration and a downloading byte count of each of N consecutive video segments upon receiving a network speed measurement command during downloading video content, wherein the video content comprises multiple video segments;
calculating out a total downloading duration and a total downloading byte count of the N video segments according to the downloading duration and the downloading byte count of each of the N video segments; and
calculating out a current network speed according to the total downloading duration and the total downloading byte count.

### Claim 2 (depends on 1)

The method of claim 1, wherein each of the multiple video segments is a respective segment of the video content having a set play duration, or a respective segment of the video content having a set byte count.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
determining, upon receiving the network speed measurement command, whether a required downloading byte count for downloading a segment of the video content having a set play duration is greater than a set byte count;
in response to determining that the required downloading byte count for downloading the segment of the video content having the set play duration is greater than the set byte count, taking each segment of the video content having the set play duration as a respective one of the multiple video segments; and
in response to determining that the required downloading byte count for downloading the segment of the video content having the set play duration is not greater than the set byte count, taking each segment of the video content having the set byte count as a respective one of the multiple video segments.

### Claim 4 (depends on 1)

The method of claim 1, wherein the obtaining the downloading duration and the downloading byte count of each of the N consecutive video segments comprises:
determining whether a downloading duration of a latter video segment is M times a downloading duration of a previous video segment; and
in response to determining that the downloading duration of the latter video segment is M times the downloading duration of the previous video segment, obtaining a downloading duration and a downloading byte count of each of further M consecutive video segments; and
wherein the calculating out the total downloading duration and the total downloading byte count of the N video segments according to the downloading duration and the downloading byte count of each of the N video segments comprises:
calculating out a total downloading duration and a total downloading byte count of the (N+M) video segments according to the downloading duration and the downloading byte count of each of the (N+M) video segments.

### Claim 5 (depends on 1)

The method of claim 1, further comprising, after calculating out the current network speed:
adjusting a resolution of a segment of the video content currently being played according to the current network speed, so that the adjusted resolution adapts to the current network speed.

### Claim 6 (depends on 1)

The method of claim 1, wherein the N consecutive video segments are at least four video segments.

### Claim 7

A computing device comprising:
one or more processors; and
one or more non-transitory computer-readable storage media containing instructions configured to cause the one or more processors to perform operations comprising:
obtaining a downloading duration and a downloading byte count of each of N consecutive video segments upon receiving a network speed measurement command during downloading video content, wherein the video content comprises multiple video segments;
calculating out a total downloading duration and a total downloading byte count of the N video segments according to the downloading duration and the downloading byte count of each of the N video segments; and
calculating out a current network speed according to the total downloading duration and the total downloading byte count.

### Claim 8 (depends on 7)

The computing device of claim 7, wherein each of the multiple video segments is a respective segment of the video content having a set play duration, or a respective segment of the video content having a set byte count.

### Claim 9 (depends on 7)

The computing device of claim 7, wherein the one or more non-transitory computer-readable storage media further comprise instructions configured to cause the one or more processors to perform operations including:
determining, upon receiving the network speed measurement command, whether a required downloading byte count for downloading a segment of the video content having a set play duration is greater than a set byte count;
in response to determining that the required downloading byte count for downloading the segment of the video content having the set play duration is greater than the set byte count, taking each segment of the video content having the set play duration as a respective one of the multiple video segments; and
in response to determining that the required downloading byte count for downloading the segment of the video content having the set play duration is not greater than the set byte count, taking each segment of the video content having the set byte count as a respective one of the multiple video segments.

### Claim 10 (depends on 7)

The computing device of claim 7, wherein the obtaining the downloading duration and the downloading byte count of each of the N consecutive video segments comprises:
determining whether a downloading duration of a latter video segment is M times a downloading duration of a previous video segment; and
in response to determining that the downloading duration of the latter video segment is M times the downloading duration of the previous video segment, obtaining a downloading duration and a downloading byte count of each of further M consecutive video segments; and
wherein the calculating out the total downloading duration and the total downloading byte count of the N video segments according to the downloading duration and the downloading byte count of each of the N video segments comprises:
calculating out a total downloading duration and a total downloading byte count of the (N+M) video segments according to the downloading duration and the downloading byte count of each of the (N+M) video segments.

### Claim 11 (depends on 7)

The computing device of claim 7, wherein the one or more non-transitory computer-readable storage media further comprise instructions configured to cause the one or more processors to perform operations comprising, after calculating out the current network speed:
adjusting a resolution of a segment of the video content currently being played according to the current network speed, so that the adjusted resolution adapts to the current network speed.

### Claim 12 (depends on 7)

The computing device of claim 7, wherein the N consecutive video segments are at least four video segments.

### Claim 13

A non-transitory computer-program product tangibly embodied in a machine-readable non-transitory storage medium that comprises instructions configured to cause one or more processors to perform operations comprising:
obtaining downloading duration and downloading byte count of each of N consecutive video segments upon receiving a network speed measurement command during downloading video content, wherein the video content comprises multiple video segments;
calculating out total downloading duration and total downloading byte count of the N video segments according to the downloading duration and the downloading byte count of each of the N video segments; and
calculating out a current network speed according to the total downloading duration and the total downloading byte count.

### Claim 14 (depends on 13)

The non-transitory computer-program product of claim 13, wherein each of the multiple video segments is a respective segment of the video content having a set play duration, or a respective segment of the video content having a set byte count.

### Claim 15 (depends on 13)

The non-transitory computer-program product of claim 13, further comprising instructions configured to cause one or more processors to perform operations comprising:
determining, upon receiving the network speed measurement command, whether a required downloading byte count for downloading a segment of the video content having a set play duration is greater than a set byte count;
in response to determining that the required downloading byte count for downloading the segment of the video content having the set play duration is greater than the set byte count, taking each segment of the video content having the set play duration as a respective one of the multiple video segments; and
in response to determining that the required downloading byte count for downloading the segment of the video content having the set play duration is not greater than the set byte count, taking each segment of the video content having the set byte count as a respective one of the multiple video segments.

### Claim 16 (depends on 13)

The non-transitory computer-program product of claim 13, wherein the obtaining the downloading duration and the downloading byte count of each of the N consecutive video segments comprises:
determining whether a downloading duration of a latter video segment is M times a downloading duration of a previous video segment; and
in response to determining that the downloading duration of the latter video segment is M times the downloading duration of the previous video segment, obtaining a downloading duration and a downloading byte count of each of further M video segments; and
wherein the calculating out the total downloading duration and the total downloading byte count of the N video segments according to the downloading duration and the downloading byte count of each of the N video segments comprises:
calculating out a total downloading duration and a total downloading byte count of the (N+M) video segments according to the downloading duration and the downloading byte count of each of the (N+M) video segments.

### Claim 17 (depends on 13)

The non-transitory computer-program product of claim 13, further comprising instructions configured to cause one or more processors to perform operations comprising, after calculating out the current network speed:
adjusting a resolution of a segment of the video content currently being played according to the current network speed, so that the adjusted resolution adapts to the current network speed.

### Claim 18 (depends on 13)

The non-transitory computer-program product of claim 13, wherein the N consecutive video segments are at least four video segments.
