# US 10,375,590 B2 · Method and system for performance estimation of a communication link

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

- Number: US 10,375,590 B2
- Document ID: US10375590B2
- Status: Granted
- Kind: B2
- Application number: 14/414,435
- Filed: 2012-07-13
- Published: 2016-01-07
- Granted: 2019-08-06
- Earliest claimed: 2012-07-13
- Assignees: Assia Spe, LLC
- Applicants: Ramya Bhagavatula; Guocong Song; Kenneth Kerpez; Wonjong Rhee
- Inventors: Ramya Bhagavatula; Guocong Song; Kenneth Kerpez; Wonjong Rhee
- Web page: https://patentgrep.com/patent/US10375590B2

## CPC

- H04W 24/08: Testing, {supervising or monitoring} using real traffic
- H04L 43/10: Active monitoring, e.g. heartbeat, ping or trace-route
- H04L 43/12: Network monitoring probes
- H04M 3/2209: {for lines also used for data transmission}
- H04M 11/062: {using different frequency bands for speech and other data}
- H04L 41/142: using statistical or mathematical methods
- H04L 41/16: using machine learning or artificial intelligence
- H04L 43/0811: by checking connectivity
- H04L 43/0847: {Transmission error}
- H04L 43/0852: Delays
- H04L 43/087: Jitter
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)

## Abstract

Described is a method for performance estimation of a communication device. The method comprises: executing active probing to determine active probing data; reading operational data which includes data related to channel and its noise condition and counter values related to user data traffic between the communication device and another communication device, wherein the operational data is relevant to the current settings of the communication device; and training a performance estimation algorithm for the communication device according to the active probing data and the operational data.

## Claims

### Claim 1

A method for performance estimation of a communication device, the method comprising:
receiving, by a computing platform, operational data including counter values from the communication device after executing active probing and passive probing, the counter values relate to user data traffic transmitted from the communication device to another communication device; and
training, by the computing platform, a performance estimation processor for the communication device according to the operational data based on active probing data,
wherein after training the performance estimation processor, the computing platform continues receiving operational data, and uses operational data only to estimate performance with the performance estimation processor and ceases execution of active probing, and
wherein active probing data results are considered as an accurate estimation of performance of a communication link between the communication device and the another communication device, and active probing data results are used for training the performance estimation processor for when it uses operational data only.

### Claim 2 (depends on 1)

The method of claim 1, further comprises: prior to executing active probing, receiving operational data.

### Claim 3 (depends on 1)

The method of claim 1, wherein when network performance falls below a threshold, the communication device reinitiates execution of the active probing and re-trains the performance estimation processor based on updated operational data and updated active probing data.

### Claim 4 (depends on 1)

The method of claim 1, wherein training the performance estimation processor comprises: updating the performance estimation processor as a function of one or more criteria which includes at least one of:
time of day,
time of week,
type of communication device,
manufacturer and model of equipment,
equipment characteristics,
firmware,
backbone limitations,
user's network usage pattern,
RF characteristics including at least one of: signal power, path loss, noise level, frequency bands or mode of operation,
environment statistics, or
data on operation of communication devices adjacent to the communication device, wherein the data includes at least one of interference channels and levels.

### Claim 5 (depends on 1)

The method of claim 1, wherein executing active probing comprises:
transmitting active probing data from the communication device to the another communication device; and
waiting for a predetermined time before reading the operational data.

### Claim 6 (depends on 1)

The method of claim 1, wherein executing active probing comprises:
transmitting active probing data from the communication device to the another communication device; and
receiving a report indicating amount of data or data received by the another communication device.

### Claim 7 (depends on 1)

The method of claim 1 further comprises:
computing at least one of throughput of the communication device, connectivity, latency, jitter, or error rate using active probing data for training the performance estimation processor.

### Claim 8 (depends on 1)

The method of claim 1, wherein executing active probing is performed fewer times than executing passive probing.

### Claim 9 (depends on 1)

The method of claim 1 further comprises:
receiving the active probing data and reading operational data, the operational data related to user data traffic from the communication device before, during and/or after executing active probing.

### Claim 10 (depends on 1)

The method of claim 1, wherein a computing platform is one of a plurality of communication devices.

### Claim 11 (depends on 10)

The method of claim 10, wherein training the performance estimation processor comprises applying a machine learning algorithm.

### Claim 12 (depends on 10)

The method of claim 10, wherein the communication device comprises at least one of:
an access point (AP);
a base station;
a wireless local area network (LAN) device;
a digital subscriber line access multiplexer (DSLAM);
a gateway;
a performance enhancement device;
a Digital Subscriber Line (DSL) Customer Premises Equipment (CPE) modem;
an in-home powerline device;
a Home Phoneline Network Alliance (HPNA) based device;
an in-home coax distribution device;
a G.hn (Global Home Networking Standard) compatible device;
an in-home metering communication device;
an in-home appliance communicatively interfaced with the LAN;
a wireless femtocell base station;
a wireless WiFi compatible base station;
a wireless mobile device repeater;
a wireless mobile device base station;
nodes within an ad-hoc/mesh network;
a set-top box (STB)/set-top unit (STU) customer electronics device;
an Internet Protocol (IP) enabled television;
an IP enabled media player;
an IP enabled gaming console;
an Ethernet gateway;
a computing device connected to the LAN;
an Ethernet connected computer peripheral device;
an Ethernet connected router;
an Ethernet connected wireless bridge;
an Ethernet connected network bridge; or
an Ethernet connected network switch.

### Claim 13 (depends on 1)

The method of claim 1, wherein the computing platform periodically initiates active probing to check if estimated performance of the performance estimation processor based on operational data provides comparable accuracy compared to estimated performance of the performance estimation processor based on active probing data.

### Claim 14 (depends on 1)

The method of claim 1, wherein active-probing is invoked infrequently by the computing platform depending on a need for accurate performance estimation and a need for training data for updating an operational-data-only estimator.

### Claim 15 (depends on 1)

The method of claim 1, further comprising:
providing updates by the performance estimation processor by:
defining an initial step size,
if a throughput estimation using passive data is determined by the active probing data to be lower than a first threshold, then increasing the throughput estimation proportional to the initial step size, and
if the throughput estimation using passive data is determined to be higher than a second threshold by the active probing data, then decreasing the throughput estimation proportional to the initial step size.

### Claim 16 (depends on 15)

The method of claim 15, further comprising:
if the throughput estimation is decreased and then increased at a next iteration, or if the throughput estimation is increased and then decreased at a next iteration, then reducing value of the step size.

### Claim 17

A non-transitory computer readable storage medium having computer program code stored thereon, the computer program code, when executed by one or more processors implemented on a computing platform, causes the computing platform to perform a method comprising:
receiving, by the computing platform, operational data including counter values from a communication device after executing active probing and passive probing, the counter values relate to user data traffic transmitted from a communication device to another communication device; and
training, by the computing platform, a performance estimation processor for the communication device according to the operational data based on active probing data,
wherein after training the performance estimation processor, the computing platform continues receiving operational data, and uses operational data only to estimate performance with the performance estimation processor and ceases execution of active probing, and
wherein active probing data results are considered as an accurate estimation of performance of a communication link between the communication device and the another communication device, and active probing data results are used for training the performance estimation processor for when it uses operational data only.

### Claim 18 (depends on 17)

The method of claim 17, further comprises: prior to executing active probing, receiving operational data.

### Claim 19 (depends on 17)

The method of claim 17, wherein when network performance falls below a threshold, the communication device reinitiates execution of the active probing and re-trains the performance estimation processor based on updated operational data and updated active probing data.

### Claim 20 (depends on 17)

The method of claim 17, wherein executing active probing comprises:
transmitting active probing data from the communication device to the another communication device; and
waiting for a predetermined time before reading the operational data.
