Dynamically generating application-layer traffic optimization protocol maps
First Claim
1. A method comprising:
- receiving, by an application-layer traffic optimization (ALTO) server, a first layer 3 topology information advertisement that specifies a first one or more endpoints and includes a first Border Gateway Protocol (BGP) communities path attribute that specifies an attribute value for the first endpoints, wherein the first layer 3 topology information advertisement further includes a first next hop attribute that specifies a next hop for the first endpoints;
receiving, by the ALTO server, a second layer 3 topology information advertisement that specifies a second one or more endpoints and includes a second BGP communities path attribute that specifies an attribute value for the second endpoints, wherein the second layer 3 topology information advertisement further includes a second next hop attribute that specifies a next hop for the second endpoints,wherein the attribute value for the first endpoints and the attribute value for the second endpoints are different, andwherein the next hop for the first endpoints and the next hop for the second endpoints are the same;
aggregating, by the ALTO server, the first endpoints into a first provider-defined identifier (PID) of a plurality of PIDs based at least on a combination of the attribute value for the first endpoints and the next hop for the first endpoints, the attribute value for the first endpoints and the attribute value for the second endpoints each comprising one of a BGP community attribute value, a BGP extended community attribute value, and a combination of a BGP community attribute value and a BGP extended community attribute value;
aggregating, by the ALTO server, the second endpoints into a second PID of the plurality of PIDs based at least on the attribute value for the second endpoints and the next hop for the second endpoints, the first PID different from the second PID; and
generating, by the ALTO server, an ALTO network map for an ALTO service based at least on the first PID and the second PID and providing the ALTO service to a client device in accordance with the ALTO network map.
0 Assignments
0 Petitions
Accused Products
Abstract
In general, techniques are described for using routing information obtained by operation of network routing protocols to dynamically generate network and cost maps for an application-layer traffic optimization (ALTO) service. For example, an ALTO server of an autonomous system (AS) receives routing information from routers of the AS by listening for routing protocol updates outputted by the routers and uses the received topology information to dynamically generate a network map of PIDs that reflects a current topology of the AS and/or of the broader network that includes the AS. Additionally, the ALTO server dynamically calculates inter-PID costs using received routing information that reflects current link metrics. The ALTO server then assembles the inter-PID costs into a cost map that the ALTO server may provide, along with the network map, to clients of the ALTO service.
61 Citations
17 Claims
-
1. A method comprising:
-
receiving, by an application-layer traffic optimization (ALTO) server, a first layer 3 topology information advertisement that specifies a first one or more endpoints and includes a first Border Gateway Protocol (BGP) communities path attribute that specifies an attribute value for the first endpoints, wherein the first layer 3 topology information advertisement further includes a first next hop attribute that specifies a next hop for the first endpoints; receiving, by the ALTO server, a second layer 3 topology information advertisement that specifies a second one or more endpoints and includes a second BGP communities path attribute that specifies an attribute value for the second endpoints, wherein the second layer 3 topology information advertisement further includes a second next hop attribute that specifies a next hop for the second endpoints, wherein the attribute value for the first endpoints and the attribute value for the second endpoints are different, and wherein the next hop for the first endpoints and the next hop for the second endpoints are the same; aggregating, by the ALTO server, the first endpoints into a first provider-defined identifier (PID) of a plurality of PIDs based at least on a combination of the attribute value for the first endpoints and the next hop for the first endpoints, the attribute value for the first endpoints and the attribute value for the second endpoints each comprising one of a BGP community attribute value, a BGP extended community attribute value, and a combination of a BGP community attribute value and a BGP extended community attribute value; aggregating, by the ALTO server, the second endpoints into a second PID of the plurality of PIDs based at least on the attribute value for the second endpoints and the next hop for the second endpoints, the first PID different from the second PID; and generating, by the ALTO server, an ALTO network map for an ALTO service based at least on the first PID and the second PID and providing the ALTO service to a client device in accordance with the ALTO network map. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An application-layer traffic optimization (ALTO) server comprising:
-
at least one processor operably coupled to a memory; a protocol listener configured for execution by the at least one processor to receive a first layer 3 topology information advertisement that specifies a first one or more endpoints and includes a Border Gateway Protocol (BGP) communities path attribute that specifies an attribute value for the first endpoints, wherein the first layer 3 topology information advertisement further includes a first next hop attribute that specifies a next hop for the first endpoints, wherein the protocol listener is configured to receive a second layer 3 topology information advertisement that specifies a second one or more endpoints and includes a second BGP communities path attribute that specifies an attribute value for the second endpoints, wherein the second layer 3 topology information advertisement further includes a second next hop attribute that specifies a next hop for the second endpoints, wherein the attribute value for the first endpoints and the attribute value for the second endpoints are different, and wherein the next hop for the first endpoints and the next hop for the second endpoints are the same; a PID generator configured for execution by the at least one processor to aggregate the first endpoints into a first provider-defined identifier (PID) of a plurality of PIDs based at least on a combination of the attribute value for the first endpoints and the next hop for the first endpoints, the attribute value for the first endpoints and the attribute value for the second endpoints each comprising one of a BGP community attribute value, a BGP extended community attribute value, and a combination of a BGP community attribute value and a BGP extended community attribute value, wherein the PID generator is configured to aggregate the second endpoints into a second PID of the plurality of PIDs based at least on the attribute value for the second endpoints and the next hop for the second endpoints, the first PID different from the second PID; a network map module configured for execution by the at least one processor to generate an ALTO network map for an ALTO service based at least on the first PID and the second PID; and a client interface configured for execution by the at least one processor to provide the ALTO service to a client device in accordance with the ALTO network map. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A non-transitory computer-readable medium comprising instructions that, when executed, cause one or more processors to:
-
receive, by an application-layer traffic optimization (ALTO) server, a first layer 3 topology information advertisement that specifies a first one or more endpoints and includes a first Border Gateway Protocol (BGP) communities path attribute that specifies an attribute value for the first endpoints, wherein the first layer 3 topology information advertisement further includes a first next hop attribute that specifies a next hop for the first endpoints; receive, by the ALTO server, a second layer 3 topology information advertisement that specifies a second one or more endpoints and includes a second BGP communities path attribute that specifies an attribute value for the second endpoints, wherein the second layer 3 topology information advertisement further includes a second next hop attribute that specifies a next hop for the second endpoints, wherein the attribute value for the first endpoints and the attribute value for the second endpoints are different, and wherein the next hop for the first endpoints and the next hop for the second endpoints are the same; aggregate, by the ALTO server, the first endpoints into a first provider-defined identifier (PID) of a plurality of PIDs based at least on a combination of the attribute value for the first endpoints and the next hop for the first endpoints, the attribute value for the first endpoints and the attribute value for the second endpoints each comprising one of a BGP community attribute value, a BGP extended community attribute value, and a combination of a BGP community attribute value and a BGP extended community attribute value; aggregate, by the ALTO server, the second endpoints into a second PID of the plurality of PIDs based at least on the attribute value for the second endpoints and the next hop for the second endpoints, the first PID different from the second PID; and generate, by the ALTO server, an ALTO network map for an ALTO service based at least on the first PID and the second PID and providing the ALTO service to a client device in accordance with the ALTO network map.
-
Specification