Dynamically generating application-layer traffic optimization protocol maps
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.
Claims
exact text as granted — not AI-modified1 - 20 : (canceled)
21 : A method comprising:
storing, by an application-layer traffic optimization (ALTO) server, layer 3 topology information that specifies one or more endpoints, a next hop attribute that indicates a next hop for the one or more endpoints, an autonomous system path attribute that indicates an autonomous system path for the one or more endpoints, and a communities path attribute that indicates the one or more endpoints share a common property; generating, by the ALTO server based at least on the community value for the one or more endpoints, a provider-defined identifier (PID) that includes the one or more endpoints; and providing, by the ALTO server, an ALTO service to a client device in accordance with an ALTO network map that includes the PID.
22 : The method of claim 21 , further comprising:
receiving, by the ALTO server, a layer 3 topology information advertisement that includes the layer 3 topology information.
23 : The method of claim 21 , further comprising:
receiving, by the ALTO server, a Border Gateway Protocol (BGP) UPDATE message that includes the layer 3 topology information, wherein Network Layer Reachability Information of the BGP UPDATE message specifies the one or more endpoints, wherein a NEXT_HOP path attribute of the BGP UPDATE message indicates the next hop for the one or more endpoints, wherein an AS_PATH path attribute of the BGP UPDATE message indicates the autonomous system path for the one or more endpoints, and wherein a BGP COMMUNITIES path attribute indicates the community value for the one or more endpoints.
24 : The method of claim 21 , wherein the communities path attribute comprises one of a Border Gateway Protocol (BGP) COMMUNITIES path attribute, a BGP EXTENDED COMMUNITY path attribute, and a combination of a BGP COMMUNITIES path attribute and a BGP EXTENDED COMMUNITY path attribute.
25 : The method of claim 21 , further comprising:
applying, by the ALTO server, a community attribute map to the attribute value to map the attribute value for the one or more endpoints to a PID identifier that identifies the PID, wherein generating the PID comprises generating, by the ALTO server, the PID based at least on the PID identifier.
26 : The method of claim 21 , wherein the client device comprises one of a peer-to-peer device, a content request router, and another ALTO server.
27 : The method of claim 21 , wherein providing the ALTO service comprises one of sending the ALTO network map to the client device and selecting, based at least on the ALTO network map, one of the one or more endpoints of the PID for a content request received by the ALTO server.
28 : The method of claim 21 , wherein the common property shared by the one or more endpoints affects an application layer cost for application layer traffic exchanged between the one or more endpoints of the PID and one or more endpoints of at least one other PID of the ALTO network map.
29 : The method of claim 21 , further comprising:
computing, by the ALTO server based at least on the attribute value, an application layer cost between the PID and at least one other PID of a plurality of PIDs of the ALTO network map, wherein providing the ALTO service comprises providing the ALTO service based at least on the application layer cost between the PID and the at least one other PID.
30 : An application-layer traffic optimization (ALTO) server comprising:
at least one processor operably coupled to a memory; a database for a routing protocol, the database configured to store layer 3 topology information that specifies one or more endpoints, a next hop attribute that indicates a next hop for the one or more endpoints, an autonomous system path attribute that indicates an autonomous system path for the one or more endpoints, and a communities path attribute that indicates the one or more endpoints share a common property; a network map module configured for execution by the at least one processor to generate, based at least on the community value for the one or more endpoints, a provider-defined identifier (PID) that includes the one or more endpoints; a client interface configured for execution by the at least one processor to provide an ALTO service to a client device in accordance with an ALTO network map that includes the PID.
31 : The ALTO server of claim 30 , further comprising:
a protocol listener configured for execution by the at least one processor to receive a layer 3 topology information advertisement that includes the layer 3 topology information.
32 : The ALTO server of claim 30 , further comprising:
a protocol listener configured for execution by the at least one processor to receive a Border Gateway Protocol (BGP) UPDATE message that includes the layer 3 topology information, wherein Network Layer Reachability Information of the BGP UPDATE message specifies the one or more endpoints, wherein a NEXT_HOP path attribute of the BGP UPDATE message indicates the next hop for the one or more endpoints, wherein an AS_PATH path attribute of the BGP UPDATE message indicates the autonomous system path for the one or more endpoints, and wherein a BGP COMMUNITIES path attribute indicates the community value for the one or more endpoints.
33 : The ALTO server of claim 30 , wherein the communities path attribute comprises one of a Border Gateway Protocol (BGP) COMMUNITIES path attribute, a BGP EXTENDED COMMUNITY path attribute, and a combination of a BGP COMMUNITIES path attribute and a BGP EXTENDED COMMUNITY path attribute.
34 : The ALTO server of claim 30 ,
wherein the network map module is further configured to apply a community attribute map to the attribute value to map the attribute value for the one or more endpoints to a PID identifier that identifies the PID, and wherein generating the PID comprises generating, by the ALTO server, the PID based at least on the PID identifier.
35 : The ALTO server of claim 30 , wherein the client device comprises one of a peer-to-peer device, a content request router, and another ALTO server.
36 : The ALTO server of claim 30 , wherein the client interface is further configured to provide the ALTO service by one of sending the ALTO network map to the client device and selecting, based at least on the ALTO network map, one of the one or more endpoints of the PID for a content request received by the ALTO server.
37 : The ALTO server of claim 30 , wherein the common property shared by the one or more endpoints affects an application layer cost for application layer traffic exchanged between the one or more endpoints of the PID and one or more endpoints of at least one other PID of the ALTO network map.
38 : The ALTO server of claim 30 , further comprising:
an ALTO cost map module configured for execution by the at least one processor to compute, based at least on the attribute value, an application layer cost between the PID and at least one other PID of a plurality of PIDs of the ALTO network map, wherein the client interface is further configured to provide the ALTO service based at least on the application layer cost between the PID and the at least one other PID.
39 : A non-transitory computer-readable medium comprising instructions that, when executed, cause one or more processors of an application-layer traffic optimization (ALTO) server to:
store layer 3 topology information that specifies one or more endpoints, a next hop attribute that indicates a next hop for the one or more endpoints, an autonomous system path attribute that indicates an autonomous system path for the one or more endpoints, and a communities path attribute that indicates the one or more endpoints share a common property; generate, based at least on the community value for the one or more endpoints, a provider-defined identifier (PID) that includes the one or more endpoints; and provide an ALTO service to a client device in accordance with an ALTO network map that includes the PID.Join the waitlist — get patent alerts
Track US2016352631A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.