Virtual router with a priority value per port
AssigneeFoundry Networks, Inc.
InventorsDavid Cheung, Xiaohong Pan
Life of this patent
Estimating the term…
Loading patent…
AssigneeFoundry Networks, Inc.
InventorsDavid Cheung, Xiaohong Pan
Estimating the term…
A virtual router spans a number of physical routing devices. A set of physical ports on one of the physical routing devices is logically represented as a trunk. A respective port priority value is associated with each of those ports, and a device priority value is associated with the physical routing device. If a port in the trunk is out-of-service, then the device priority value can be adjusted by the port priority value associated with the out-of-service port. A corrective action can be implemented if the device priority value fails to satisfy a condition. For example, the physical routing device may failover to another one of the physical routing devices spanned by the virtual router.
A method comprising:
A computer-readable storage device having stored thereon, computer-executable instructions that, when executed, perform operations comprising:
A first physical routing device comprising:
Dependencies are inferred from the claim text.
Drawings are temporarily unavailable. Open the PDF at USPTO
From the US filing history. Foreign family members aren’t listed.
Distributing or queueing: traffic distributors
Provisions for network management: network testing or monitoring arrangements
Indexing scheme relating to selecting arrangements in general and for multiplex systems: priority service
Indexing scheme relating to selecting arrangements in general and for multiplex systems: inter-exchange connection
About 1 year 11 months of term left · ends 11 Oct 2028 (estimated)
A “virtual router” (an abstract representation of two or more physical routers acting as a group) can be used to increase the availability of a default gateway that services a host on a subnet. At any given time, only one of the physical routers (a “first router”) is actually routing network traffic for the host; the Internet Protocol (IP) address for the first router serves as the IP address for the virtual router, and the host uses that IP address as its default gateway. If the first router is unable to satisfactorily service the host for some reason, then it can “failover” to another physical router (a “second router”) that is spanned by the virtual router.
The Virtual Router Redundancy Protocol (VRRP) is used to assign responsibility for a virtual router to a physical router. According to VRRP, one of the physical routers in the group comprising the virtual router is assigned the highest priority (e.g., a value of 255) and consequently is identified as the owner or master, while the other physical routers in the group are assigned lower priorities and identified as backups. A backup can assume the role of master if the master cannot perform to a satisfactory level. If, for example, an interface (e.g., a port) on the master router fails, then the priority of the master router may be reduced. More specifically, according to VRRP, when an interface goes down (is out-of-service), then the priority of the master router is changed to the priority associated with the out-of-service interface. If the master's priority is reduced to less than the priority of the backup router with the next highest priority, then that backup becomes the master router.
VRRP is effective but nevertheless there is room for improvement. An extended or enhanced version of VRRP, which may be referred to herein as VRRPE to distinguish it from the conventional VRRP standard, improves on VRRP by reducing a physical router's priority each time an interface on the router becomes unavailable. According to VRRPE, if a port on a physical router goes down, then the router's priority is decremented by a priority value associated with that port. For example, if a physical router's priority is 200 and a port on the router has a priority value of 20, then if that port goes down the router's priority is reduced to 180 (200 minus 20). If another of the router's ports goes down, and that port also has a priority value of 20, then the router's priority is again reduced, this time to 160. Once the router's priority falls to less than that of another physical router in the group comprising the virtual router, then the router fails over to the other router. Ports can have different priority values, allowing some ports to be ranked higher in importance than other ports.
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements.
FIG. 1 is a block diagram showing an embodiment of a physical routing device that can be utilized in accordance with the present invention.
FIG. 2 is a block diagram showing a virtual router according to an embodiment of the present invention.
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with these embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of embodiments of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be recognized by one of ordinary skill in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the embodiments of the present invention.
Some portions of the detailed descriptions, which follow, are presented in terms of procedures, steps, logic blocks, processing, and other symbolic representations of operations on data bits within a computer memory. These descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. A procedure, computer executed step, logic block, process, etc., is here, and generally, conceived to be a self-consistent sequence of steps or instructions leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated in a computer system. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present invention, discussions utilizing terms such as “monitoring” or “handling” or “identifying” or “adjusting” or “implementing” or “decrementing” or “routing” or “comparing” or the like, refer to the actions and processes of a computer system, or similar electronic computing device (e.g., a routing device such as a router or switch), that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.