Traffic Mapping
First Claim
1. A system comprising:
- a plurality of user devices;
a plurality of edge servers configured to provide access to a content platform that serves content to the user devices, wherein each user device is associated with a network key, wherein the number of network keys is less than the number of user devices, and wherein each user device is configured to send requests for content to an edge server of the plurality of edge servers identified by data on the user device as a best edge server for the user device;
the user devices being configured to perform operations comprising;
sending probing requests to the best edge server for the user device and to one or more of the plurality of edge servers not identified as the best edge server,receiving probing responses to the probing requests or noting a lack of response, anddetermining, for each received probing response, a round-trip time, the round-trip time being an amount of time elapsed between a time the user device received the probing response and a time the user device sent the corresponding probing request, the determined round-trip times being edge server data; and
one or more services on the content platform configured to perform operations comprising;
obtaining from the user devices the edge server data, wherein the edge server data that is received from each user device is labeled with device information about the user device that provided the edge server data including the network key associated with the user device,aggregating the edge server data by network key, andin response to a polling request received from a user device;
selecting a best edge server for the user device based at least in part on the edge server data that had been aggregated by the network key that is the same as the network key associated with the user device, andproviding, to the user device, an identifier of the selected best edge server for the user device and identifiers of one or more other edge servers to which the user device should send future probing requests.
5 Assignments
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for providing to user devices identifiers of edge servers from which to obtain content. One example system includes a traffic control service. The traffic control service is configured to receive polling requests from user devices. In response to a particular polling request, the traffic control service obtains aggregated data about the user devices and edge servers. The traffic control service selects, based on the aggregated data, a best edge server for the user device that sent the particular polling request. The traffic control service sends an identifier of the selected best edge server to the user device.
-
Citations
24 Claims
-
1. A system comprising:
-
a plurality of user devices; a plurality of edge servers configured to provide access to a content platform that serves content to the user devices, wherein each user device is associated with a network key, wherein the number of network keys is less than the number of user devices, and wherein each user device is configured to send requests for content to an edge server of the plurality of edge servers identified by data on the user device as a best edge server for the user device; the user devices being configured to perform operations comprising; sending probing requests to the best edge server for the user device and to one or more of the plurality of edge servers not identified as the best edge server, receiving probing responses to the probing requests or noting a lack of response, and determining, for each received probing response, a round-trip time, the round-trip time being an amount of time elapsed between a time the user device received the probing response and a time the user device sent the corresponding probing request, the determined round-trip times being edge server data; and one or more services on the content platform configured to perform operations comprising; obtaining from the user devices the edge server data, wherein the edge server data that is received from each user device is labeled with device information about the user device that provided the edge server data including the network key associated with the user device, aggregating the edge server data by network key, and in response to a polling request received from a user device; selecting a best edge server for the user device based at least in part on the edge server data that had been aggregated by the network key that is the same as the network key associated with the user device, and providing, to the user device, an identifier of the selected best edge server for the user device and identifiers of one or more other edge servers to which the user device should send future probing requests. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method comprising:
-
receiving a polling request from a first user device of a plurality of user devices, wherein each user device is configured to access a content platform through one of a plurality of edge servers identified by data on the user device as a best edge server for the user device, wherein each user device is associated with one of a plurality of network keys, and wherein the number of network keys is less than the number of user devices; obtaining edge server data from the user devices, wherein the edge server data from each user device is labeled with device information about the user device including the network key associated with the user device, wherein the edge server data includes round-trip times that are computed by each user device by; sending probing requests to the best edge server for the user device and to one or more of the plurality of edge servers not identified as the best edge server, receiving probing responses to the probing requests or noting a lack of response, and determining, for each received probing response, a round-trip time, the round-trip time being an amount of time elapsed between a time the user device received the probing response and a time the user device sent the corresponding probing request; aggregating the edge server data by network key; selecting a best edge server for the first user device based at least in part on the edge server data that was aggregated by the network key that is the same as the network key associated with the first user device, and providing, to the first user device, an identifier of the selected best edge server for the user device and identifiers of one or more other edge servers to which the first user device should send future probing requests. - View Dependent Claims (16, 17, 18, 19)
-
-
20. One or more non-transitory computer storage media storing instructions that are operable, when executed by one or more computers, to cause the one or more computers to perform operations comprising:
-
receiving a polling request from a first user device of a plurality of user devices, wherein each user device is configured to access a content platform through one of a plurality of edge servers identified by data on the user device as a best edge server for the user device, wherein each user device is associated with one of a plurality of network keys, and wherein the number of network keys is less than the number of user devices; obtaining edge server data from the user devices, wherein the edge server data from each user device is labeled with device information about the user device including the network key associated with the user device, wherein the edge server data includes round-trip times that are computed by each user device by; sending probing requests to the best edge server for the user device and to one or more of the plurality of edge servers not identified as the best edge server, receiving probing responses to the probing requests or noting a lack of response, and determining, for each received probing response, a round-trip time, the round-trip time being an amount of time elapsed between a time the user device received the probing response and a time the user device sent the corresponding probing request; aggregating the edge server data by network key; selecting a best edge server for the first user device based at least in part on the edge server data that was aggregated by the network key that is the same as the network key associated with the first user device, and providing, to the first user device, an identifier of the selected best edge server for the user device and identifiers of one or more other edge servers to which the first user device should send future probing requests. - View Dependent Claims (21, 22, 23, 24)
-
Specification