IP Library › Granted Patent US 10,142,252
Granted Patent B2
US 10,142,252 · App. 15/191,679 · Granted Nov 27, 2018

Server intelligence for network speed testing control

Inventors: Raghavendra Sarapure (Irving, TX); Vipul Jha (Plano, TX); Kumar Rajan (Clinton, NJ)
Assignee: Verizon Patent and Licensing Inc.
H04L47/365H04L43/0894H04L43/50H04L47/28
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,142,252
App. No.
15/191,679
Granted
Nov 27, 2018
Kind
B2
Abstract

A network device receives, from a client device, a request to perform a network speed test of a network connecting the client device and the network device. The network device conducts a trial test, involving data delivery between the network device and the client device, to determine an approximate capacity of the network. The network device selects an optimum data size based on results of the trial test, and selects a number of threads needed to saturate the network based on the results of the trial test. The network device controls conducting of the network speed test, using a control thread from the network device to the client device, wherein the network speed test utilizes the optimum data size and the selected number of threads.

Claims (78)

1. A method, comprising:

receiving, at a network device from a client device, a request to perform a network speed test of a network connecting the client device and the network device;

conducting a trial test, involving data delivery between the network device and the client device, to determine an approximate capacity of the network;

selecting an optimum data size based on results of the trial test;

selecting a number of threads needed to saturate the network based on the results of the trial test; and

controlling conducting of the network speed test, using a control thread from the network device to the client device, wherein the network speed test utilizes the optimum data size and the selected number of threads.

2. The method of claim 1 , wherein conducting the trial test comprises:

estimating a capacity of the network; and

selecting an initial trial test data size for use in conducting the trial test based on the estimated capacity of the network.

3. The method of claim 2 , wherein conducting the trial test further comprises:

running the trial test with multiple different data sizes, wherein the trial test is started with the selected initial trial test data size.

4. The method of claim 1 , further comprising:

selecting a number of test iterations for the network speed test based on the results of the trial test,

wherein controlling the conducting of the network speed test further utilizes the selected number of test iterations.

5. The method of claim 1 , wherein the network speed test comprises a network download speed test and wherein controlling the conducting of the network speed test comprises:

obtaining a timestamp at a start of the network download speed test;

sending, via the control thread from the network device to the client device, the timestamp, the optimum data size, and the selected number of threads;

sending, via the selected number of threads, test data blocks, with each of the test data blocks having the optimum data size; and

receiving, at the network device via the control thread from the client device, measured results of the network download speed test from the client device measuring parameters associated with the test data blocks.

6. The method of claim 1 , wherein the network speed test comprises a network upload speed test and wherein controlling the conducting of the network speed test comprises:

sending, via the control thread from the network device to the client device, the optimum data size and the selected number of threads;

receiving, at the network device via the control thread from the client device, a timestamp associated with a start of the network upload speed test; and

receiving, at the network device via the selected number of threads from the client device, test data blocks, with each of the test data blocks having the optimum data size.

7. The method of claim 1 , further comprising:

performing, at the network device, an analysis of results of the conducted network speed test; and

reporting, to the client device, the results of the conducted network speed test using the analysis.

8. A network device, comprising:

a communication interface configured to connect to a network and to:

receive, from a client device via the network, a request to perform a network speed test; and

a processing unit, or logic, coupled to the communication interface, and configured to:

conduct a trial test, involving data delivery between the network device and the client device via the communication interface, to determine an approximate capacity of the network,

select an optimum data size based on results of the trial test,

select a number of threads needed to saturate the network based on the results of the trial test, and

control conducting of the network speed test, using a control thread via the communication interface from the network device to the client device, wherein the network speed test utilizes the optimum data size and the selected number of threads.

9. The network device of claim 8 , wherein, when conducting the trial test, the processing unit, or logic, is further configured to:

estimate a capacity of the network; and

select an initial trial test data size for use in conducting the trial test based on the estimated capacity of the network.

10. The network device of claim 9 , wherein, when conducting the trial test, the processing unit, or logic, is further configured to:

run the trial test with multiple different data sizes, wherein the trial test is started with the selected initial trial test data size.

11. The network device of claim 8 , wherein the processing unit, or logic, is further configured to:

select a number of test iterations for the network speed test based on the results of the trial test,

wherein controlling the conducting of the network speed test further utilizes the selected number of test iterations.

12. The network device of claim 8 , wherein the network speed test comprises a network download speed test and wherein, when controlling the conducting of the network speed test comprises, the processing unit, or logic, is further configured to:

obtain a timestamp at a start of the network download speed test, and

wherein the communication interface is further configured to:

send, via the control thread from the network device to the client device, the timestamp, the optimum data size, and the selected number of threads,

send, via the selected number of threads, test data blocks, with each of the test data blocks having the optimum data size, and

receive, at the network device via the control thread from the client device, measured results of the network download speed test from the client device measuring parameters associated with the test data blocks.

13. The network device of claim 8 , wherein the network speed test comprises a network upload speed test and wherein, when controlling the conducting of the network speed test, the communication interface is further configured to:

send, via the control thread to the client device, the optimum data size and the selected number of threads;

receive, via the control thread from the client device, a timestamp associated with a start of the network upload speed test; and

receive, via the selected number of threads from the client device, test data blocks, with each of the test data blocks having the optimum data size.

14. The network device of claim 8 , wherein the processing unit, or logic, is further configured to:

perform an analysis of results of the conducted network speed test; and

report, to the client device, the results of the conducted network speed test using the analysis.

15. A non-transitory storage medium storing instructions executable by a processing unit of a network device, wherein the instructions comprise instructions to cause the processing unit to:

receive, at the network device from a client device, a request to perform a network speed test of a network connecting the client device and the network device;

conduct a trial test, involving data delivery between the network device and the client device, to determine an approximate capacity of the network;

select, at the network device, an optimum data size based on results of the trial test;

select, at the network device, a number of threads needed to saturate the network based on the results of the trial test; and

control conducting of the network speed test, using a control thread from the network device to the client device, wherein the network speed test utilizes the optimum data size and the selected number of threads.

16. The non-transitory storage medium of claim 15 , wherein the instructions to cause the processing unit to conduct the trial test further comprise instructions to cause the processing unit to:

estimate a capacity of the network; and

select an initial trial test data size for use in conducting the trial test based on the estimated capacity of the network.

17. The non-transitory storage medium of claim 16 , wherein the instructions to cause the processing unit to conduct the trial test further comprise instructions to cause the processing unit to:

run the trial test with multiple different data sizes, wherein the trial test is started with the selected initial trial test data size.

18. The non-transitory storage medium of claim 15 , wherein the instructions further comprise instructions to cause the processing unit to:

select a number of test iterations for the network speed test based on the results of the trial test,

wherein controlling the conducting of the network speed test further utilizes the selected number of test iterations.

19. The non-transitory storage medium of claim 15 , wherein the network speed test comprises a network download speed test and wherein the instructions to cause the processing unit to conduct the trial test further comprise instructions to cause the processing unit to:

obtain a timestamp at a start of the network download speed test;

send, via the control thread from the network device to the client device, the timestamp, the optimum data size, and the selected number of threads;

send, via the selected number of threads, test data blocks, with each of the test data blocks having the optimum data size; and

receive, at the network device via the control thread from the client device, measured results of the network download speed test from the client device measuring parameters associated with the test data blocks.

20. The non-transitory storage medium of claim 15 , wherein the network speed test comprises a network upload speed test and wherein the instructions to cause the processing unit to conduct the trial test further comprise instructions to cause the processing unit to:

send, via the control thread from the network device to the client device, the optimum data size and the selected number of threads;

receive, at the network device via the control thread from the client device, a timestamp associated with a start of the network upload speed test; and

receive, at the network device via the selected number of threads from the client device, test data blocks, with each of the test data blocks having the optimum data size.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2016
From: SARAPURE, RAGHAVENDRA; JHA, VIPUL; RAJAN, KUMAR
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 039002/0293 →
Continuity (1)
Related Publication 20170373984A1 · Dec 28, 2017