Methods and apparatus for providing shortcut switching for a virtual private network
First Claim
1. 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.
1 Assignment
0 Petitions
Accused Products
Abstract
A system receives a request at a hub. The request is received from a first spoke regarding a packet to be transmitted from the first spoke to a second spoke. The system identifies, at the time of the request, a preferred route from the first spoke to the second spoke. The system sends a redirect message to the first spoke, the redirect message directing the packet along the preferred route. The system transmits, from a first spoke to a hub, a first request associated with a packet. In response, the system receives, at the first spoke, a redirect message from the hub. The redirect message identifies a preferred route by which the first spoke transmits the packet to a second spoke. The system creates, at the first spoke, a second request containing a destination address of the second spoke, and transmits the second request along the preferred route.
25 Citations
19 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 10, 11)
-
-
5. A system for routing packets, the system comprising:
-
in a hub configured to perform the operations of; receiving a packet at the 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, in response to receipt of the packet at the hub, 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; in the first spoke configured to perform the operation of; transmitting, from a first spoke to a hub, a packet; in response, receiving, at the first spoke, a redirect message from the hub, the redirect message identifying a preferred route, bypassing the hub, by which the first spoke transmits the packet to a second spoke; creating, at the first spoke, a second request, the second request containing a destination address of the second spoke, the second request associated with the packet; and transmitting the second request throughout a network, along the preferred route.
-
-
6. A computerized device comprising:
-
a memory; a processor; a communications interface; an interconnection mechanism coupling the memory, the processor and the communications interface; wherein the memory is encoded with a packet routing application that when executed on the processor routes packets on the computerized device by performing operations 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. - View Dependent Claims (7, 8, 9, 16, 17)
-
-
12. A non-transitory computer-readable medium carrying one or more sequences of instructions which, when executed by one or more processors, cause the one or more processors to carry out the steps of:
-
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. - View Dependent Claims (13, 14, 15, 18, 19)
-
Specification