System and method for estimating network performance
First Claim
1. A computer implemented method for estimating network performance of a mobile device, comprising:
- receiving operational data corresponding to one or more previously performed network operations, the operational data including;
a) network condition data indicative of a condition of a network during performance of the previously performed network operation, the network condition data including signal strength at an antenna of a device that performed the previously performed network operation,b) physical state data indicative of a physical condition of the device during performance of the previously performed network operation, the physical state data indicating a geographic location of the device, a speed of the device, and whether the device was indoors or outdoors, andc) realized network performance data indicative of at least one of a realized throughput and a realized network delay of the previously performed network operation;
generating a performance log entry corresponding to each of the previously performed network operations based on the received operational data;
storing each performance log entry in a network performance database;
receiving a request for a network performance estimate from the mobile device, the request including;
a) current network condition data of the mobile device indicative of a current condition of the network at a time corresponding to the request, the current network condition data including a current signal strength at the antenna of the mobile device, andb) current physical state data indicative of a current physical condition of the mobile device at the time corresponding to the request, the current physical state data indicating a geographic location of the mobile device, a speed of the mobile device, and whether the mobile device is indoors or outdoors;
performing a nearest neighbor search on the network performance database using the current network condition data and the current physical state data received in the request;
receiving realized network performance data of K previously performed network operations, wherein K is an integer and wherein the K previously performed network operations are selected based on a degree of similarity between the network condition data and physical state data of the K previously performed network operations and the current network condition data and the current physical state data; and
determining the network performance estimate based on the current network condition data, the current physical state data, and the realized network performance data, the network performance estimate indicating at least one of an estimated throughput and an estimated delay of the network operation to be performed.
2 Assignments
0 Petitions
Accused Products
Abstract
The present disclosure is directed to techniques for estimating network performance of a mobile device. The techniques include a performance logging module and a performance analysis module. The performance logging module logs realized network performance of previously performed network operations and the operational conditions of a mobile device at the time of the performed network operations. The performance analysis module receives requests to estimate network performance, the requests including the current condition of the mobile device at the time of the request. The performance analysis module determines a network performance estimate based on the current condition of the mobile device and the operational conditions of the previously performed network operations, and the realized network performances of the previously performed network operations. It is appreciated that the proposed techniques allow applications to execute faster, as the applications can tune network operations based on the network performance estimates.
-
Citations
30 Claims
-
1. A computer implemented method for estimating network performance of a mobile device, comprising:
-
receiving operational data corresponding to one or more previously performed network operations, the operational data including; a) network condition data indicative of a condition of a network during performance of the previously performed network operation, the network condition data including signal strength at an antenna of a device that performed the previously performed network operation, b) physical state data indicative of a physical condition of the device during performance of the previously performed network operation, the physical state data indicating a geographic location of the device, a speed of the device, and whether the device was indoors or outdoors, and c) realized network performance data indicative of at least one of a realized throughput and a realized network delay of the previously performed network operation; generating a performance log entry corresponding to each of the previously performed network operations based on the received operational data; storing each performance log entry in a network performance database; receiving a request for a network performance estimate from the mobile device, the request including; a) current network condition data of the mobile device indicative of a current condition of the network at a time corresponding to the request, the current network condition data including a current signal strength at the antenna of the mobile device, and b) current physical state data indicative of a current physical condition of the mobile device at the time corresponding to the request, the current physical state data indicating a geographic location of the mobile device, a speed of the mobile device, and whether the mobile device is indoors or outdoors; performing a nearest neighbor search on the network performance database using the current network condition data and the current physical state data received in the request; receiving realized network performance data of K previously performed network operations, wherein K is an integer and wherein the K previously performed network operations are selected based on a degree of similarity between the network condition data and physical state data of the K previously performed network operations and the current network condition data and the current physical state data; and determining the network performance estimate based on the current network condition data, the current physical state data, and the realized network performance data, the network performance estimate indicating at least one of an estimated throughput and an estimated delay of the network operation to be performed. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer implemented method, comprising:
-
receiving, by a computing device having one or more processors, a request for a network performance estimate of a mobile device from a requestor, determining, by the computing device, current network condition data of the mobile device, the current network condition data being indicative of a current condition of a network at a current time of the request, the current network condition data including a current signal strength at an antenna of the mobile device; determining, by the computing device, current physical state data of the mobile device, the current physical state data being indicative of a current physical condition of the mobile device at the current time of the request, the current physical state data indicating a geographic location of the mobile device, a speed of the mobile device, and whether the mobile device is indoors or outdoors; accessing, by the computing device, a plurality of performance log entries in a network performance database, each of the plurality of performance log entries including;
(a) previous network condition data corresponding to a previously performed network operation, the previous network condition data including a previous signal strength at a time of the previously performed network operation, (b) previous physical state data corresponding to the previously performed network operation, the previous physical state data indicating a geographic location and a speed of the device that performed the previously performed network operation, and whether the device was indoors or outdoors, and (c) realized network performance data indicative of at least one of a realized throughput and a realized network delay of the previously performed network operation;performing a nearest neighbor search on the network performance database using the current network condition data and the current physical state data; identifying, by the computing device, one or more performance log entries based on a degree of similarity between the current network condition data and the current physical state data and the previous network condition data and the previous physical state data of previously performed network operations; determining, by the computing device, the network performance estimate based on the one or more identified performance log entries; and providing, by the computing device, the network performance estimate to the requestor. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computing device having one or more processors and a non-transitory computer-readable medium storing computer-executable instructions for estimating network performance of a mobile device, the computer-executable instructions, when executed by the one or more processors, causing the computing device to perform operations comprising:
-
receiving operational data corresponding to one or more previously performed network operations, the operational data including; a) network condition data indicative of a condition of a network during performance of the previously performed network operation, the network condition data including signal strength at an antenna of a device that performed the previously performed network operation, b) physical state data indicative of a physical condition of the device during performance of the previously performed network operation, the physical state data indicating a geographic location of the device, a speed of the device, and whether the device was indoors or outdoors, and c) realized network performance data indicative of at least one of a realized throughput and a realized network delay of the previously performed network operation; generating a performance log entry corresponding to each of the previously performed network operations based on the received operational data; storing each performance log entry in a network performance database; receiving a request for a network performance estimate from the mobile device, the request including; a) current network condition data of the mobile device indicative of a current condition of the network at a time corresponding to the request, the current network condition data including a current signal strength at the antenna of the mobile device, and b) current physical state data indicative of a current physical condition of the mobile device at the time corresponding to the request, the current physical state data indicating a geographic location of the mobile device, a speed of the mobile device, and whether the mobile device is indoors or outdoors; performing a nearest neighbor search on the network performance database using the current network condition data and the current physical state data received in the request; receiving realized network performance data of K previously performed network operations, wherein K is an integer and wherein the K previously performed network operations are selected based on a degree of similarity between the network condition data and physical state data of the K previously performed network operations and the current network condition data and the current physical state data; and determining the network performance estimate based on the current network condition data, the current physical state data, and the realized network performance data, the network performance estimate indicating at least one of an estimated throughput and an estimated delay of the network operation to be performed. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A computing device having one or more processors and a non-transitory computer-readable medium storing computer-executable instructions for estimating network performance of a service-seeking mobile device, the computer-executable instructions, when executed by the one or more processors, causing the computing device to perform the operations comprising:
-
receiving operational data corresponding to a previously performed network operation performed by a reporting mobile device, the operational data including; a) network condition data indicative of a condition of a network during performance of the previously performed network operation, the network condition data including signal strength at an antenna of the reporting mobile device, b) physical state data indicative of a physical condition of the reporting mobile device during performance of the previously performed network operation, the physical state data indicating a geographic location of the reporting mobile device, a speed of the reporting mobile device, and whether the reporting mobile device was indoors or outdoors, and c) realized network performance data indicative of at least one of a realized throughput and a realized network delay of the previously performed network operation; generating a performance log entry corresponding to each of the previously performed network operations based on the received operational data; storing the performance log entry in a network performance database that stores a plurality of performance log entries corresponding to a plurality of reporting mobile devices including the reporting mobile device, each one of the performance log entries being based on operational data corresponding to a different previously performed network operation performed by one of the plurality of reporting mobile devices; receiving a request for a network performance estimate from an application server that is to serve the service-seeking mobile device, the request including; a) current network condition data of the service-seeking mobile device indicative of a current condition of the network at a time corresponding to the request, the current network condition data including a current signal strength at the antenna of the service-seeking mobile device, and b) current physical state data indicative of a current physical condition of the service-seeking mobile device at the time corresponding to the request, the current physical state data indicating a geographic location of the service-seeking mobile device, a speed of the service-seeking mobile device, and whether the service-seeking mobile device is indoors or outdoors; performing a nearest neighbor search on the network performance database using the current network condition data and the current physical state data received in the request; receiving realized network performance data of K previously performed network operations, wherein K is an integer and wherein the K previously performed network operations are selected based on a degree of similarity between the network condition data and physical state data of the K previously performed network operations and the current network condition data and the current physical state data; determining the network performance estimate based on the current network condition data, the current physical state data, and the realized network performance data, the network performance estimate indicating at least one of an estimated throughput and an estimated delay of the network operation to be performed; and providing the network performance estimate to the application server. - View Dependent Claims (25, 26, 27, 28, 29, 30)
-
Specification