Patent ID: 8499095

Claim:
A method of routing packets, the method comprising: receiving a packet at a hub, the packet received from a first spoke to be transmitted from the first spoke to a second spoke; in response to receipt of the packet at the hub, directing the second spoke to transmit, to the hub, information about a plurality of networks with which the second spoke communicates; based on the information transmitted by the second spoke about the plurality of networks with which the second spoke communicates, identifying a path for the packet, the path identifying a preferred route that bypasses the hub from the first spoke to the second spoke; sending a redirect message to the first spoke, the redirect message directing the packet along the path; wherein identifying a path comprises: identifying a plurality of routes traversing from the first spoke to the second spoke; selecting the preferred route from the plurality of routes, the preferred route indicating an optimal path from the first spoke to the second spoke, the preferred route identified from information maintained by the hub, the information associated with the first spoke and the second spoke; wherein sending the redirect message comprises: identifying a connection by which the hub received the packet from the first spoke; identifying a source address associated with the packet; transmitting, to the source address, via the identified connection, the redirect message, redirecting the packet along the preferred route: wherein the method is performed by one or more computing devices.