US2016218969A1PendingUtilityA1

Server controlled routing system

Assignee: FACEBOOK INCPriority: Apr 16, 2013Filed: Apr 6, 2016Published: Jul 28, 2016
Est. expiryApr 16, 2033(~6.7 yrs left)· nominal 20-yr term from priority
H04L 47/125H04L 43/08H04L 45/50H04L 45/04H04L 61/2007H04L 61/5007
41
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method of operating a content distribution system with a server controlled routing mechanism is disclosed. The method includes: collecting prefix entries from an autonomous system; receiving a content request to send a particular digital content to a prefix; generating, at a host server, an opaque label based on the autonomous system for an Internet protocol (IP) packet of the digital content when the prefix is listed in the prefix entries collected from the autonomous systems; and forwarding the IP packet out of an egress interface of a network equipment, the egress interface associated with the opaque label.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A host server system, comprising:
 non-transitory memory configured to store executable instructions and a mapping between available opaque labels and one or more egress ports of a network equipment that is coupled to the host server system; and   one or more processors configured by the executable instructions to:
 select an opaque label, among the available opaque labels, for network traffic to a network destination prefix, the opaque label associated with an egress port of the egress ports; 
 generate an outgoing Internet Protocol (IP) packet destined to the network destination prefix; and 
 assign the selected opaque label to the outgoing IP packet before sending the outgoing IP packet to the network equipment for forwarding, wherein the opaque label is configured to cause the network equipment to forward the outgoing IP packet through the egress port that matches the opaque label. 
   
     
     
         2 . The host server system of  claim 1 , wherein the egress port is directly connected to an autonomous system that connects the network destination prefix to the host server system. 
     
     
         3 . The host server system of  claim 1 , wherein the one or more processors are configured to identify the network destination prefix as a destination of a message that the outgoing IP packet is part of and to identify the opaque label as being selected for the network traffic from the host server system to the network destination prefix. 
     
     
         4 . The host server system of  claim 1 , wherein the non-transitory memory is configured to store prefix entries reachable via one or more neighboring autonomous systems of the network equipment. 
     
     
         5 . The host server system of  claim 4 , wherein the one or more processors are configured to collect the prefix entries via a route collection service that is transparent to the network equipment. 
     
     
         6 . The host server system of  claim 1 , wherein the outgoing IP packet is generated in response to a content request from a source corresponding to the network destination prefix. 
     
     
         7 . The host server system of  claim 1 , wherein the one or more processors are configured to select the opaque label by:
 selecting an autonomous system that is able to reach the network destination prefix; and   selecting the opaque label from among the available opaque labels, wherein the opaque label corresponds to the egress port connected to the selected autonomous system.   
     
     
         8 . The host server system of  claim 1 , wherein the one or more processors are configured to monitor the network traffic from the host server system to the network destination prefix. 
     
     
         9 . The host server system of  claim 8 , wherein the one or more processors are configured to change the opaque label associated with the network destination prefix responsive to the network traffic satisfying a preset network condition. 
     
     
         10 . The host server system of  claim 8 , wherein the one or more processors are configured to monitor the network traffic by sampling outgoing traffic from the host server system to the network destination prefix. 
     
     
         11 . The host server system of  claim 10 , wherein the one or more processors are configured to monitor the sampled outgoing traffic corresponding to the network destination prefix to determine how much data is sent to the network destination prefix. 
     
     
         12 . The host server system of  claim 10 , wherein the one or more processors are configured to:
 monitor the sampled outgoing traffic corresponding to the network destination prefix to determine whether a preset network condition is met; and   change the opaque label associated with the network destination prefix responsive to the preset network condition being met.   
     
     
         13 . A method of operating a host server system, comprising:
 selecting an opaque label, among a plurality of available opaque labels, to assign to network traffic to a network destination prefix, the opaque label associated with an egress port of a network equipment;   generating an outgoing Internet Protocol (IP) packet destined to the network destination prefix; and   assigning the opaque label to the outgoing IP packet before sending the outgoing IP packet to the network equipment for forwarding, wherein the opaque label is configured to cause the network equipment to forward the outgoing IP packet through the egress port that matches the opaque label.   
     
     
         14 . The method of  claim 13 , further comprising maintaining a routing table that includes prefix entries reachable via one or more autonomous systems connected to the network equipment; and wherein assigning the opaque label is at least based on the routing table. 
     
     
         15 . The method of  claim 13 , wherein said selecting the opaque label includes programming the host server system to assign the opaque label to outgoing IP packets destined for the network destination prefix. 
     
     
         16 . The method of  claim 15 , further comprising:
 determining whether a network condition is met by monitoring outgoing network traffic from the host server system to the network destination prefix; and   wherein said programming includes selecting, based on whether the network condition is met, the opaque label amongst the plurality of available opaque labels respectively corresponding to neighboring autonomous systems that are able to reach the network destination prefix.   
     
     
         17 . The method of  claim 16 , wherein monitoring the outgoing network traffic includes providing a traffic sampling service to sample the network traffic associated with the network destination prefix. 
     
     
         18 . The method of  claim 15 , wherein the opaque label is a first opaque label, the egress port is a first egress port to a first autonomous system, and a second egress port of the network equipment is connected to a second autonomous system and associated with a second opaque label; wherein the method further comprises programming the host server system to assign the second opaque label to the outgoing IP packets destined to the network destination prefix; and wherein the second autonomous system is able to reach the network destination prefix and has a lower latency than the first autonomous system according to traffic data monitored by the host server system. 
     
     
         19 . The method of  claim 13 , further comprising moving traffic from a first autonomous system to a second autonomous system by programming the host server system to assign a new opaque label associated with a different egress port to subsequent outgoing IP packets destined for the network destination prefix; and wherein the egress port is connected to the first autonomous system and the different egress port is connected to the second autonomous system. 
     
     
         20 . A network equipment system, comprising:
 a plurality of egress ports connected to one or more neighboring autonomous systems;   a memory device configured to store a translation table that respectively maps opaque labels to the egress ports; and   a network module configured to:
 interface between a network fabric and the neighboring autonomous systems; 
 receive an IP packet from a host server, wherein the IP packet includes an opaque label; 
 identify an egress port associated with the opaque label based on the translation table; and 
 forward the IP packet through the identified egress port.

Join the waitlist — get patent alerts

Track US2016218969A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.