US2014355415A1PendingUtilityA1

Semi-centralized routing

Assignee: GOOGLE INCPriority: Oct 14, 2011Filed: Aug 14, 2014Published: Dec 4, 2014
Est. expiryOct 14, 2031(~5.2 yrs left)· nominal 20-yr term from priority
H04L 41/12H04L 41/0668H04L 45/64H04L 45/28H04L 45/38H04L 45/42
52
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for semi-centralized routing. In one aspect, a computer-implemented method receives a network protocol packet at a router adapted for routing data packets to one or more additional routers. The network protocol packet conforms to a routing protocol that provides distributed routing computation. The method also sends the network protocol packet, through a controller, to a selected one of a plurality of route control servers. The method also processes the network control packet at the selected route control server to generate a routing computation result that conforms to the routing protocol. The method also generates routing information based on the routing computation. The routing information conforms to a control protocol that provides centralized routing computation. The method also sends the routing information to the router for routing of data packets based on the control protocol.

Claims

exact text as granted — not AI-modified
1 . (canceled) 
     
     
         2 . A computer-implemented method comprising:
 receiving, from a router, a network protocol packet that conforms to a routing protocol that provides distributed routing computation;   sending the network protocol packet to a selected one of a plurality of route control servers;   receiving, from the selected one of the plurality of route control servers, routing information (i) that conforms to a control protocol that provides centralized routing computation, and (ii) is generated using a routing computation result that conforms to the routing protocol;   sending the routing information to the router for routing of data packets based on the control protocol;   detecting a failure in the controller;   assigning a second controller to manage communications between the router and the plurality of route control servers; and   transmitting, from the second controller, a message to the plurality of route control servers and the router, wherein the message comprises controller status information.   
     
     
         3 . The computer-implemented method of  claim 2  comprising:
 receiving a network protocol packet that conforms to the routing protocol and that is generated using the routing computation result; and 
 sending the network protocol packet to a second router connected to the router, wherein the second router is adapted to route data packets using the routing protocol. 
 
     
     
         4 . The computer-implemented method of  claim 2  further comprising:
 prior to receiving the network protocol packet from the router: 
 receiving, from the selected one of the plurality of route control servers, a message that comprises router assignment information to form a mapping between the selected one of the plurality of route control servers and the router. 
 
     
     
         5 . The computer-implemented method of  claim 4 , wherein the router assignment information comprises data indicating that the selected one of the plurality of route control servers is associated with the router. 
     
     
         6 . The computer-implemented method of  claim 2  comprising:
 accessing a mapping prior to sending the network protocol packet to select the selected one of the plurality of route control servers. 
 
     
     
         7 . The computer-implemented method of  claim 2  wherein the control protocol comprises an OpenFlow protocol. 
     
     
         8 . The computer-implemented method of  claim 2  wherein the routing protocol comprises a border gateway protocol or an open shortest path first protocol. 
     
     
         9 . The computer-implemented method of  claim 2  wherein the second controller receives, from the selected one of the plurality of route control servers, a message that comprises router assignment information to form a mapping between the selected one of the plurality of route control servers and the router. 
     
     
         10 . The computer-implemented method of  claim 2  comprising:
 sending network topology information to the selected one of the plurality of route control servers, wherein the selected one of the plurality of route control servers generates the routing computation result using the network protocol packet received at the router and the network topology information. 
 
     
     
         11 . A system, comprising:
 a controller configured to:
 receive, from a router, a network protocol packet that conforms to a routing protocol that provides distributed routing computation; 
 send the network protocol packet to a selected one of a plurality of route control servers; 
 receive, from the selected one of the plurality of route control servers, routing information (i) that conforms to a control protocol that provides centralized routing computation, and (ii) is generated using a routing computation result that conforms to the routing protocol; 
 send the routing information to the router for routing of data packets based on the control protocol; 
 detect a failure in another controller; 
 assign the controller to manage communications, previously managed by the other controller, between another router and the plurality of route control servers; and 
 transmit, to the plurality of route control servers and the other router, a message that comprises controller status information. 
   
     
     
         12 . The system of  claim 11  wherein the controller is further configured to:
 receive a network protocol packet that conforms to the routing protocol and is generated using the routing computation result; and 
 send the network protocol packet to a second router connected to the router, wherein the second router is adapted to route data packets using the routing protocol. 
 
     
     
         13 . The system of  claim 11  wherein the controller is configured to:
 receive, from the selected one of the plurality of route control servers, a message that comprises router assignment information to form a mapping between the selected one of the plurality of route control servers and the router. 
 
     
     
         14 . The system of  claim 13  wherein the router assignment information comprises data indicating that the selected one of the plurality of route control servers is associated with the router. 
     
     
         15 . The system of  claim 11  wherein the controller is configured to:
 access a mapping prior to sending the network protocol packet to select the selected one of the plurality of route control servers. 
 
     
     
         16 . The system of  claim 11  wherein the control protocol comprises an OpenFlow protocol. 
     
     
         17 . The system of  claim 11  wherein the routing protocol comprises a border gateway protocol or an open shortest path first protocol. 
     
     
         18 . The system of  claim 11  wherein the controller is configured to receive, from the selected one of the plurality of route control servers, a message that comprises router assignment information to form a mapping between the selected one of the plurality of route control servers and the other router. 
     
     
         19 . The system of  claim 11  wherein the controller is configured to send network topology information to the selected one of the plurality of route control servers, wherein the selected one of the plurality of route control servers generates the routing computation result using the network protocol packet received at the router and the network topology information. 
     
     
         20 . A non-transitory computer readable medium encoded with a computer program comprising instructions that, when executed, operate to cause a computer to:
 receive, from a router, a network protocol packet that conforms to a routing protocol that provides distributed routing computation;   send the network protocol packet to a selected one of a plurality of route control servers;   receive, from the selected one of the plurality of route control servers, routing information (i) that conforms to a control protocol that provides centralized routing computation, and (ii) is generated using a routing computation result that conforms to the routing protocol;   send the routing information to the router for routing of data packets based on the control protocol;   detect a failure in another controller;   assign the controller to manage communications, previously managed by the other controller, between another router and the plurality of route control servers; and   transmit, to the plurality of route control servers and the other router, a message that comprises controller status information.   
     
     
         21 . The computer readable medium of  claim 20  comprising instructions that, when executed, operate to cause the computer to:
 receive a network protocol packet that conforms to the routing protocol and is generated using the routing computation result; and 
 send the network protocol packet to a second router connected to the router, wherein the second router is adapted to route data packets using the routing protocol. 
 
     
     
         22 . The computer readable medium of  claim 20  comprising instructions that, when executed, operate to cause the computer to:
 receive, from the selected one of the plurality of route control servers, a message that comprises router assignment information to form a mapping between the selected one of the plurality of route control servers and the router. 
 
     
     
         23 . The computer readable medium of  claim 22  wherein the router assignment information comprises data indicating that the selected one of the plurality of route control servers is associated with the router. 
     
     
         24 . The computer readable medium of  claim 20  comprising instructions that, when executed, operated to cause the computer to:
 access a mapping prior to sending the network protocol packet to select the selected one of the plurality of route control servers. 
 
     
     
         25 . The computer readable medium of  claim 20  wherein the control protocol comprises an OpenFlow protocol. 
     
     
         26 . The computer readable medium of  claim 20  wherein the routing protocol comprises a border gateway protocol or an open shortest path first protocol. 
     
     
         27 . The computer readable medium of  claim 20  comprising instructions that, when executed, operated to cause the computer to receive, from the selected one of the plurality of route control servers, a message that comprises router assignment information to form a mapping between the selected one of the plurality of route control servers and the other router. 
     
     
         28 . The computer readable medium of  claim 20  comprising instructions that, when executed, operate to cause the computer to send network topology information to the selected one of the plurality of route control servers, wherein the generation of the routing computation result uses the network protocol packet received at the router and the network topology information.

Join the waitlist — get patent alerts

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

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