Quality of service for a stackable network switch

A method, apparatus, and computer-readable media for a first stack unit in a stackable network device comprises a plurality of the stack units interconnected by a plurality of stacking links, the first stack unit comprising a control plane processor to receive, from a third stack unit, a path message that identifies a second stack unit; wherein the control plane processor transmits the path message to the second stack unit; wherein the control plane processor receives, from the second stack unit, a reserve message; wherein the reserve messages identifies a requested resources for a planned data flow within the stackable network device, wherein the planned data flow has a quality of service; a plurality of ports to receive and transmit packets of data; and a forwarding engine to transfer the packets of data between the ports in accordance with the control plane processor.

Skip to: Description  ·  Claims  ·  References Cited  · Patent History  ·  Patent History
Description
BACKGROUND

The present invention relates generally to data communications. More particularly, the present invention relates to quality of service for stackable network switches.

The rapidly increasing popularity of networks such as the Internet has spurred the development of network services such as streaming audio and streaming video. These new services have different latency requirements than conventional network services such as electronic mail and file transfer. New quality of service (QoS) standards require that network devices, such as network switches, address these latency requirements. For example, the IEEE 802.1 standard divides network traffic into several classes of service based on sensitivity to transfer latency, and prioritizes these classes of service. The highest class of service is recommended for network control traffic, such as switch-to-switch configuration messages. The remaining classes are recommended for user traffic. The two highest user traffic classes of service are generally reserved for streaming audio and streaming video. Because the ear is more sensitive to missing data than the eye, the highest of the user traffic classes of service is used for streaming audio. The remaining lower classes of service are used for traffic that is less sensitive to transfer latency, such as electronic mail and file transfers.

Network devices such as network switches must be configured appropriately to support quality of service. In particular, the user must configure the ports and switch tables of each network switch to support the bandwidth and latency requirements of each data flow the user expects to pass through the network switch.

A stackable switch comprises a plurality of stack units. Like regular network switches, each stack unit comprises ports, a forwarding engine, and a control plane processor (CPP). But each stack unit also includes one or more stacking interfaces for interconnecting a plurality of the stack units via stacking links to form the stackable switch, in which one of the stack units is configured as the master stack unit. A stackable switch performs as a single large switch.

The resources, such as available bandwidth, of these stacking links must be considered when configuring a stackable network switch to support quality of service, thus adding to the burden of the user configuring the switch.

SUMMARY

In general, in one aspect, the invention features a method, apparatus, and computer-readable media for a stackable network device comprising a plurality of stack units interconnected by a plurality of stacking links, wherein each of the stack units comprises a control plane processor, a plurality of ports to receive and transmit packets of data, and a forwarding engine to transfer the packets of data between the ports in accordance with the control plane processor, wherein the control plane processor in a first one of the stack units identifies a path for a planned data flow within the stackable network device, the identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links and comprising a first stack unit that is the source of the planned data flow and a last stack unit that is the destination of the planned data flow, wherein the planned data flow has a quality of service; wherein the control plane processor in the first one of the stack units transmits a path message over the identified path; wherein the control plane processors in each of the stack units, other than the first one of the stack units, in the identified path, receive the path message from a next upstream one of the stack units in the identified path, and transmit the path message to a next downstream one of the stack units in the identified path; wherein the control plane processor in the last one of the stack units in the identified path transmits a reserve message over the identified path; wherein the control plane processors in each of the stack units, other than the last one of the stack units, in the identified path, receive the reserve message from a next downstream one of the stack units in the identified path, and make an attempt to reserve resources on the one of the stacking links connected to the next downstream one of the stack units according to the quality of service of the planned data flow; and wherein the control plane processors in each of the stack units, other than the first and last ones of the stack units, in the identified path, transmit the reserve message to a next upstream one of the stack units in the identified path when the attempt to reserve resources is successful.

Particular implementations can include one or more of the following features. The planned data flow comprises packets of data received by a predetermined port of the last one of the stack units and having predetermined values in one or more fields of the packets. The predetermined values in one or more fields of the packets represent at least one of the group consisting of source address; Differentiated Services (DiffServe) Code Point (DSCP) field; one or more of the ports; destination address; and protocol type. The control plane processor of the first one of the stack units receives a request to reserve resources in the stackable network device for the planned data flow and identifies the path for the planned data flow in accordance with the request to reserve resources. The control plane processor of the first one of the stack units transmits a confirmation message to the sender of the request to reserve resources when all of the attempts to reserve resources are successful. The request to reserve resources is selected from the group consisting of a Resource Reservation Protocol (RSVP) Path message; and a user configuration request. The request to reserve resources comprises a Resource Reservation Protocol (RSVP) Path message that identifies a downstream network device; and wherein the control plane processor of the last one of the stack units in the identified path transmits the RSVP Path message to the downstream network device when all of the attempts to reserve resources are successful. When any attempt to reserve resources is unsuccessful, the control plane processor in the first one of the stack units identifies a second path for the planned data flow within the stackable network device, the second identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links, the plurality of stack units comprising the first one of the stack units, and transmits a path message over the second identified path. The control plane processor in the first one of the stack units periodically transmits a refresh message over the identified path; wherein the control plane processors in each of the other stack units transmits the refresh message to a next downstream one of the stack units in the identified path; and wherein when one of the stack units, other than the first one of the stack units, in the identified path, does not receive one of the refresh messages during a predetermined interval, the control plane processor in the one of the stack units releases the resources reserved on the one of the stacking links connected to the next upstream one of the stack units. A stackable network switch comprises the stackable network device.

In general, in one aspect, the invention features a method, apparatus, and computer-readable media for a first stack unit in a stackable network device comprising a plurality of the stack units interconnected by a plurality of stacking links, the first stack unit comprising a control plane processor to receive, from a third stack unit, a path message that identifies a second stack unit; wherein the control plane processor transmits the path message to the second stack unit; wherein the control plane processor receives, from the second stack unit, a reserve message; wherein the reserve messages identifies a requested resources for a planned data flow within the stackable network device, wherein the planned data flow has a quality of service; a plurality of ports to receive and transmit packets of data; and a forwarding engine to transfer the packets of data between the ports in accordance with the control plane processor; wherein, in response to the reserve message, the control plane processor makes an attempt to reserve the requested resources on the one of the stacking links connecting the first and second stack units according to the quality of service; wherein, when the attempt to reserve resources is successful, the control plane processor transmits the reserve message to the third stack unit.

Particular implementations can include one or more of the following features. The planned data flow comprises packets of data received by a predetermined port of the stackable network device and having predetermined values in one or more fields of the packets. The predetermined values in one or more fields of the packets represent at least one of the group consisting of source address; Differentiated Services (DiffServe) Code Point (DSCP) field; one or more of the ports; destination address; and protocol type. When the attempt to reserve resources is successful, the control plane processor transmits a confirmation message to the second stack unit. When any attempt to reserve resources is unsuccessful, the control plane processor transmits a failure message to the second stack unit. A stackable network switch comprises the stackable network device.

In general, in one aspect, the invention features a method, apparatus, and computer-readable media for a stackable network device comprising a plurality of stack units interconnected by a plurality of stacking links, wherein each of the stack units comprises a control plane processor, a plurality of ports to receive and transmit packets of data, and a forwarding engine to transfer the packets of data between the ports in accordance with the control plane processor, wherein the control plane processor in a first one of the stack units identifies a path for a planned data flow within the stackable network device, the identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links and comprising a first stack unit that is the source of the planned data flow and a last stack unit that is the destination of the planned data flow, wherein the planned data flow has a quality of service; wherein the control plane processor in the first one of the stack units transmits a reserve message over the identified path; and wherein the control plane processors in each of the stack units, other than the first one of the stack units, in the identified path, receive the reserve message from a next upstream one of the stack units in the identified path, and make an attempt to reserve resources on the one of the stacking links connected to the next upstream one of the stack units according to the quality of service of the planned data flow; and wherein the control plane processor in each of the stack units, other than the first and last ones of the stack units, in the identified path, transmit the reserve message to a next downstream one of the stack units in the identified path when the attempt to reserve resources is successful.

Particular implementations can include one or more of the following features. The planned data flow comprises packets of data received by a predetermined port of the first one of the stack units and having predetermined values in one or more fields of the packets. The predetermined values in one or more fields of the packets represent at least one of the group consisting of source address; Differentiated Services (DiffServe) Code Point (DSCP) field; one or more of the ports; destination address; and protocol type. The control plane processor of the first one of the stack units receives a request to reserve resources in the stackable network device for the planned data flow and identifies the path for the planned data flow in accordance with the request to reserve resources. The control plane processor of the first one of the stack units transmits a confirmation message to the sender of the request to reserve resources when all of the attempts to reserve resources are successful. The request to reserve resources is selected from the group consisting of a Resource Reservation Protocol (RSVP) Path message; and a user configuration request. The request to reserve resources comprises a Resource Reservation Protocol (RSVP) Path message that identifies a downstream network device; and wherein the control plane processor of the last one of the stack units in the identified path transmits the RSVP Path message to the downstream network device when all of the attempts to reserve resources are successful. When any attempt to reserve resources is unsuccessful, the control plane processor in the first one of the stack units identifies a second path for the planned data flow within the stackable network device, the second identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links, the plurality of stack units comprising the first one of the stack units, and transmits a reserve message over the second identified path. The control plane processor in the first one of the stack units periodically transmits a refresh message over the identified path; wherein the control plane processors in each of the other stack units transmits the refresh message to a next downstream one of the stack units in the identified path; and wherein when one of the stack units, other than the first one of the stack units, in the identified path, does not receive one of the refresh messages during a predetermined interval, the control plane processor in the one of the stack units releases the resources reserved on the one of the stacking links connected to the next upstream one of the stack units. A stackable network switch comprises the stackable network device.

In general, in one aspect, the invention features a method, apparatus, and computer-readable media for a first stack unit in a stackable network device comprising a plurality of the stack units interconnected by a plurality of stacking links, the first stack unit comprising a control plane processor to receive, from a second stack unit, a reserve message that identifies a requested resources for a planned data flow within the stackable network device and a third stack unit, wherein the planned data flow has a quality of service; a plurality of ports to receive and transmit packets of data; and a forwarding engine to transfer the packets of data between the ports in accordance with the control plane processor; wherein, in response to the reserve message, the control plane processor makes an attempt to reserve the requested resources on the one of the stacking links connecting the first and second stack units according to the quality of service; wherein, when the attempt to reserve resources is successful, the control plane processor transmits the reserve message to the third stack unit.

Particular implementations can include one or more of the following features. The planned data flow comprises packets of data received by a predetermined port of the stackable network device and having predetermined values in one or more fields of the packets. The predetermined values in one or more fields of the packets represent at least one of the group consisting of source address; Differentiated Services (DiffServe) Code Point (DSCP) field; one or more of the ports; destination address; and protocol type. When the attempt to reserve resources is successful, the control plane processor transmits a confirmation message to the second stack unit. When any attempt to reserve resources is unsuccessful, the control plane processor transmits a failure message to the second stack unit. A stackable network switch comprises the stackable network device.

The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 shows a stackable network switch connected to a network such as the Internet according to a preferred embodiment.

FIG. 2 shows a process for configuring the network switch of FIG. 1 to support quality of service.

FIG. 3 shows another process for configuring the network switch of FIG. 1 to support quality of service.

The leading digit(s) of each reference numeral used in this specification indicates the number of the drawing in which the reference numeral first appears.

DETAILED DESCRIPTION

As used herein, the directional terms “first” vs. “last” and “upstream” vs. “downstream” are used with respect to the direction of data flow. Also as used herein, the term “message” generally refers to an electronic signal representing a digital message. These terms are used to simplify the description that follows.

The configuration of conventional stackable network switches requires a great deal of effort from the user to configure to support quality of service. Embodiments of the present invention provide automatic configuration of a stackable network switch to support quality of service, as described in detail below.

FIG. 1 shows a stackable network switch 100 connected to a network 110 such as the Internet according to a preferred embodiment. Of course, stackable network switch 100 can be connected to other networks to function as a router. Network 110 can comprise two or more connected networks. Stackable network switch 100 comprises a plurality of stack units 104. Like regular network switches, each stack unit 104 comprises ports 102, a forwarding engine 114, and a control plane processor (CPP) 112. But each stack unit 104 also includes one or more stacking interfaces 106 for interconnecting a plurality of the stack units 104 via stacking links 108 to form stackable network switch 100, in which one of the stack units 104 is generally configured as the master stack unit. Stackable network switch 100 then performs as a single large switch, with the control plane processor of the master stack unit acting as the control plane processor for the entire stackable switch, as is well-known in the relevant arts.

While embodiments of the present invention are described with respect to a stackable network switch 100 comprising only three stack units 104, these embodiments are easily extended to include larger numbers of stack units 104 interconnected in this and other network topologies, as will be apparent to one skilled in the relevant arts after reading this description. In fact, embodiments of the present invention are especially useful in complex switch configurations.

FIG. 2 shows a process 200 for configuring switch 100 of FIG. 1 to support quality of service. Process 200 begins when switch 100 receives a request to reserve resources in the switch for a planned data flow through the switch (202). The request identifies the planned data flow and the quality of service requested for the planned data flow. The planned data flow can be identified by specifying the values of one or more fields in packets in the data flow, such as source address, destination address, protocol type, Differentiated Services (DiffServe) Code Point (DSCP) field, Transmission Control Protocol/User Datagram Protocol (TCP/UDP) ports and the like, by identifying the ingress and egress ports of the flow and the like, or any combination thereof. The quality of service for the planned data flow can be identified by specifying requirements for the planned data flow, such as bandwidth, latency, and the like, by specifying one of a plurality of predefined classes of service, and so on.

The request can be a user configuration request sent by a user configuring the switch, an automated network reservation request such as a Resource Reservation Protocol (RSVP) Path message, and the like. The RSVP protocol is describe in Request for Comments (RFC) 2205, which can be found on the world-wide web at the following uniform resource locator (URL): http://www.faqs.org/rfcs/rfc2205.html.

In response to the request to reserve resources, the control plane processor (CPP) 112 in the stack unit that received the request identifies a path for the planned data flow within switch 100. The identified path comprises a plurality of the stack units 104 interconnected in series by one or more of the stacking links 108.

Referring to FIG. 1, assume the request to reserve resources is received by stack unit 104A. Based on the request and internal routing tables, CPP 112A determines the planned data flow should ingress switch 100 through port 102A of stack unit 104A and egress switch 100 through port 102C of stack unit 104C, and identifies a path for the planned data flow from port 102A through stacking link 108A to stack unit 104B, and then through stacking link 108B to port 102C of stack unit 104C.

CPP 112A then transmits a “path” message along the identified path to the CPP 112 of the last stack unit in the path (204), which is CPP 112C in the embodiment of FIG. 1. The CPPs 112 in each of the intermediate stack units (that is the stack units other than the first and last stack units) in the path receive the path message from the next upstream stack unit in the path, and transmit the path message to the next downstream stack unit in the path (206). In response to the path message, the CPP 112 in the last stack unit in the path transmits a “reserve” message over the identified path (208).

The CPPs 112 in each of the intermediate stack units receive the reserve message from the next downstream stack unit in the path, and make an attempt to reserve resources on the stack link connected to the next downstream stack unit according to the class of service of the planned data flow (210). For example, referring to FIG. 1, CPP 112B, on receiving a reserve message from CPP 112C, makes an attempt to reserve resources on stacking link 108B by changing the weights of queues in stacking interface 106C. However, embodiments of the invention are independent of the method used to reserve resources on the stacking links.

If the attempt to reserve resources is successful, the CPP of the intermediate stack unit transmits the reserve message, which may be modified to reflect the reservation, to the next upstream stack unit in the path (212). Optionally, the CPP of the intermediate stack unit may transmit a success message (ACK) to the CPP of the next downstream stack unit (214).

The CPP 112 in the first stack unit receives the reserve message from the next downstream stack unit in the path, and makes an attempt to reserve resources on the stack link connected to the next downstream stack unit according to the class of service of the planned data flow (216). For example, referring to FIG. 1, CPP 112A, on receiving a reserve message from CPP 112B, makes an attempt to reserve resources on stacking link 108A.

If all of the attempts to reserve resources are successful, the CPP of the first stack unit transmits a confirmation message (ACK) to the sender of the request to reserve resources (218). For example, if the request to reserve resources was an RSVP Path message sent by an upstream network device in network 110, the CPP of the first stack unit sends the ACK message to the upstream network device. In addition, in the case of an RSVP request, the last stack unit in the path sends an RSVP Path message (220) to the downstream network device identified by the RSVP Path message received at 202. Thus embodiments of the present invention are compatible with the RSVP protocol.

However, if an attempt by an intermediate stack unit to reserve resources is unsuccessful, the CPP of the intermediate stack unit optionally may transmit a failure message to the CPP of the next downstream stack unit, which can be propagated back to the first stack unit in the path. In the event of such a failure to reserve resources for the planned data flow, the CPP of the first stack unit identifies a second path for the planned data flow within the stackable network switch and executes process 200 again, this time over the second path. If no path can be reserved for the planned data flow, the CPP of the first stack unit in the path optionally informs the sender of the request to reserve resources on the switch of the failure.

Some embodiments automatically cope with changes in the topology of the interconnected stack units by executing process 200. For example, when a stack unit or stack link in the path of the data flow fails, the failure triggers process 200 to execute, thereby creating a new path for the data flow. In addition, the resource reservations on the old path are released.

Any technique can be used to detect topology changes. For example, the control plane processor in the first stack unit in the path periodically transmits a refresh message over the path, which is propagated to the end of the path. When a stack unit in the path does not receive one of the refresh messages during a predetermined interval, the control plane processor in the stack unit releases the bandwidth reserved on the stack link connected to the next upstream stack unit.

FIG. 3 shows another process 300 for configuring switch 100 of FIG. 1 to support quality of service. Process 300 begins when switch 100 receives a request to reserve resources in the switch for a planned data flow through the switch (302). The request identifies the planned data flow and the quality of service requested for the planned data flow. The planned data flow, and the quality of service for the planned data flow, can be identified as described above.

The request can be a user configuration request, an automated network reservation request such as a Resource Reservation Protocol (RSVP) Path message, and the like, as described above.

In response to the request to reserve resources, the control plane processor (CPP) 112 in the stack unit that received the request identifies a path for the planned data flow within switch 100. The identified path comprises a plurality of the stack units 104 interconnected in series by one or more of the stacking links 108.

Referring again to FIG. 1, assume the request to reserve resources is received by stack unit 104A. Based on the request and internal routing tables, CPP 112A determines the planned data flow should ingress switch 100 through port 102A of stack unit 104A and egress switch 100 through port 102C of stack unit 104C, and identifies a path for the planned data flow from port 102A through stacking link 108A to stack unit 104B, and then through stacking link 108B to port 102C of stack unit 104C.

CPP 112A then makes an attempt to reserve resources on the stack link connected to the next downstream one of the stack units according to the class of service of the planned data flow (304). If the attempt is successful, CPP 112A then transmits a “reserve” message along the identified path (306). The CPPs 112 in each of the intermediate stack units receive the reserve message from the next upstream stack unit in the path, and make an attempt to reserve resources on the stack link connected to the next downstream one of the stack units according to the class of service of the planned data flow. For example, referring to FIG. 1, CPP 112B, on receiving a reserve message from CPP 112A, makes an attempt to reserve resources on stacking link 108B (308). As with process 200, embodiments of the invention are independent of the method used to reserve resources on the stacking links.

If the attempt to reserve resources is successful, the CPP of the intermediate stack unit transmits the reserve message, which may be modified to reflect the reservation, to the next downstream stack units in the path (310). Optionally, the CPP of the intermediate stack unit may transmit a success message (ACK) to the CPP of the next upstream stack unit (312). The CPP 112 in the last stack unit receives the reserve message from the next upstream stack unit in the path.

If all of the attempts to reserve resources are successful, the CPP of the first stack unit transmits a confirmation message (ACK) to the sender of the request to reserve resources (314). For example, if the request to reserve resources was an RSVP Path message sent by an upstream network device in network 110, the CPP of the first stack unit sends the ACK message to the upstream network device. In addition, in the case of an RSVP request, the last stack unit in the path sends an RSVP Path message (316) to the downstream network device identified by the RSVP Path message received at 302. Thus embodiments of the present invention are compatible with the RSVP protocol.

However, if an attempt by an intermediate stack unit to reserve resources is unsuccessful, the CPP of the intermediate stack unit optionally may transmit a failure message to the CPP of the first stack unit in the path. In the event of such a failure to reserve resources for the planned data flow, the CPP of the first stack unit identifies a second path for the planned data flow within the stackable network switch and executes process 300 again, this time over the second path. If no path can be reserved for the planned data flow, the CPP of the first stack unit in the path optionally informs the sender of the request to reserve resources on the switch.

Some embodiments automatically cope with changes in the topology of the interconnected stack units by executing process 300. For example, when a stack unit or stack link in the path of the data flow fails, the failure triggers process 300 to execute, thereby creating a new path for the data flow. In addition, the resource reservations on the old path are released.

Any technique can be used to detect topology changes. For example, the control plane processor in the first stack unit in the path periodically transmits a refresh message over the path, which is propagated to the end of the path. When a stack unit in the path does not receive one of the refresh messages during a predetermined interval, the control plane processor in the stack unit releases the bandwidth reserved on the stack link connected to the next upstream stack unit.

The invention can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Apparatus of the invention can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and method steps of the invention can be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on input data and generating output. The invention can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program can be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Generally, a computer will include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).

A number of implementations of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other implementations are within the scope of the following claims.

Claims

1. A stackable network device comprising:

a plurality of stack units interconnected by a plurality of stacking links, wherein each of the stack units comprises
a control plane processor,
a plurality of ports to receive and transmit packets of data in parallel with an external network, and
a forwarding engine to transfer the packets of data between the ports in accordance with the control plane processor,
wherein the control plane processor in a first one of the stack units identifies a path for a planned data flow within the stackable network device, the identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links and comprising a first stack unit that is the source of the planned data flow and a last stack unit that is the destination of the planned data flow, wherein the planned data flow has a quality of service;
wherein the control plane processor in the first one of the stack units transmits a path message over the identified path;
wherein the control plane processors in each of the stack units, other than the first one of the stack units, in the identified path,
receive the path message from a next upstream one of the stack units in the identified path, and
transmit the path message to a next downstream one of the stack units in the identified path;
wherein the control plane processor in the last one of the stack units in the identified path transmits a reserve message over the identified path;
wherein the control plane processors in each of the stack units, other than the last one of the stack units, in the identified path,
receive the reserve message from a next downstream one of the stack units in the identified path, and
make an attempt to reserve resources on the one of the stacking links connected to the next downstream one of the stack units according to the quality of service of the planned data flow; and
wherein the control plane processors in each of the stack units, other than the first and last ones of the stack units, in the identified path, transmit the reserve message to a next upstream one of the stack units in the identified path when the attempt to reserve resources is successful.

2. The stackable network device of claim 1, wherein the planned data flow comprises packets of data received by a predetermined port of the last one of the stack units and having predetermined values in one or more fields of the packets.

3. The stackable network device of claim 2, wherein the predetermined values in one or more fields of the packets represent at least one of a group consisting of:

source address;
Differentiated Services (DiffServe) Code Point (DSCP) field;
one or more of the ports;
destination address; and
protocol type.

4. The stackable network device of claim 1:

wherein the control plane processor of the first one of the stack units receives a request to reserve resources in the stackable network device for the planned data flow and identifies the path for the planned data flow in accordance with the request to reserve resources.

5. The stackable network device of claim 4:

wherein the control plane processor of the first one of the stack units transmits a confirmation message to the sender of the request to reserve resources when all of the attempts to reserve resources are successful.

6. The stackable network device of claim 4, wherein the request to reserve resources is selected from a group consisting of:

a Resource Reservation Protocol (RSVP) Path message; and
a user configuration request.

7. The stackable network device of claim 4:

wherein the request to reserve resources comprises a Resource Reservation Protocol (RSVP) Path message that identifies a downstream network device; and
wherein the control plane processor of the last one of the stack units in the identified path transmits the RSVP Path message to the downstream network device when all of the attempts to reserve resources are successful.

8. A stackable network device comprising:

a plurality of stack units interconnected by a plurality of stacking links, wherein each of the stack units comprises
a control plane processor,
a plurality of ports to receive and transmit packets of data, and
a forwarding engine to transfer the packets of data between the ports in accordance with the control plane processor,
wherein the control plane processor in a first one of the stack units identifies a path for a planned data flow within the stackable network device, the identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links and comprising a first stack unit that is the source of the planned data flow and a last stack unit that is the destination of the planned data flow, wherein the planned data flow has a quality of service;
wherein the control plane processor in the first one of the stack units transmits a path message over the identified path;
wherein the control plane processors in each of the stack units, other than the first one of the stack units, in the identified path,
receive the path message from a next upstream one of the stack units in the identified path, and
transmit the path message to a next downstream one of the stack units in the identified path;
wherein the control plane processor in the last one of the stack units in the identified path transmits a reserve message over the identified path;
wherein the control plane processors in each of the stack units, other than the last one of the stack units, in the identified path,
receive the reserve message from a next downstream one of the stack units in the identified path, and
make an attempt to reserve resources on the one of the stacking links connected to the next downstream one of the stack units according to the quality of service of the planned data flow;
wherein the control plane processors in each of the stack units, other than the first and last ones of the stack units, in the identified path, transmit the reserve message to a next upstream one of the stack units in the identified path when the attempt to reserve resources is successful;
wherein, when any attempt to reserve resources is unsuccessful, the control plane processor in the first one of the stack units
identifies a second path for the planned data flow within the stackable network device, the second identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links, the plurality of stack units comprising the first one of the stack units, and
transmits a path message over the second identified path.

9. A stackable network device comprising:

a plurality of stack units interconnected by a plurality of stacking links, wherein each of the stack units comprises
a control plane processor,
a plurality of ports to receive and transmit packets of data, and
a forwarding engine to transfer the packets of data between the ports in accordance with the control plane processor,
wherein the control plane processor in a first one of the stack units identifies a Path for a planned data flow within the stackable network device, the identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links and comprising a first stack unit that is the source of the planned data flow and a last stack unit that is the destination of the planned data flow, wherein the planned data flow has a quality of service;
wherein the control plane processor in the first one of the stack units transmits a path message over the identified path;
wherein the control plane processors in each of the stack units, other than the first one of the stack units, in the identified path,
receive the path message from a next upstream one of the stack units in the identified path, and
transmit the path message to a next downstream one of the stack units in the identified path;
wherein the control plane processor in the last one of the stack units in the identified path transmits a reserve message over the identified path;
wherein the control plane processors in each of the stack units, other than the last one of the stack units, in the identified path,
receive the reserve message from a next downstream one of the stack units in the identified path, and
make an attempt to reserve resources on the one of the stacking links connected to the next downstream one of the stack units according to the quality of service of the planned data flow;
wherein the control plane processors in each of the stack units, other than the first and last ones of the stack units, in the identified path, transmit the reserve message to a next upstream one of the stack units in the identified path when the attempt to reserve resources is successful;
wherein the control plane processor in the first one of the stack units periodically transmits a refresh message over the identified path;
wherein the control plane processors in each of the other stack units transmits the refresh message to a next downstream one of the stack units in the identified path; and
wherein when one of the stack units, other than the first one of the stack units, in the identified path, does not receive one of the refresh messages during a predetermined interval, the control plane processor in the one of the stack units releases the resources reserved on the one of the stacking links connected to the next upstream one of the stack units.

10. A stackable network switch comprising the stackable network device of claim 1.

11. A stackable network device comprising:

a plurality of stack means for transferring data, the plurality of stack means interconnected by a plurality of means for linking, wherein each of the stack means comprises
means for processing,
a plurality of port means for receiving and transmitting the packets of data in parallel with an external network, and
forwarding means for transferring the packets of data between the port means in accordance with the means for processing,
wherein the means for processing in a first one of the stack means identifies a path for a planned data flow within the stackable network device, the identified path comprising a plurality of the stack means interconnected in series by one or more of the means for linking and comprising a first stack means that is the source of the planned data flow and a last stack means that is the destination of the planned data flow, wherein the planned data flow has a quality of service;
wherein the means for processing in the first one of the stack means transmits a path message over the identified path;
wherein the means for processing in each of the stack means, other than the first one of the stack means, in the identified path,
receive the path message from a next upstream one of the stack means in the identified path, and
transmit the path message to a next downstream one of the stack means in the identified path;
wherein the means for processing in the last one of the stack means in the identified path transmits a reserve message over the identified path;
wherein the means for processing in each of the stack means, other than the last one of the stack means, in the identified path,
receive the reserve message from a next downstream one of the stack means in the identified path, and
make an attempt to reserve resources on the one of the means for linking connected to the next downstream one of the stack means according to the quality of service of the planned data flow; and
wherein the means for processing in each of the stack means, other than the first and last ones of the stack means, in the identified path, transmit the reserve message to a next upstream one of the stack means in the identified path when the attempt to reserve resources is successful.

12. The stackable network device of claim 11, wherein the planned data flow comprises packets of data received by a predetermined port means of the last one of the stack means and having predetermined values in one or more fields of the packets.

13. The stackable network device of claim 12, wherein the predetermined values in one or more fields of the packets represent at least one of a group consisting of:

source address;
Differentiated Services (DiffServe) Code Point (DSCP) field;
one or more of the port;
destination address; and
protocol type.

14. The stackable network device of claim 11:

wherein the means for processing of the first one of the stack means receives a request to reserve resources in the stackable network device for the planned data flow and identifies the path for the planned data flow in accordance with the request to reserve resources.

15. The stackable network device of claim 14:

wherein the means for processing of the first one of the stack means transmits a confirmation message to the sender of the request to reserve resources when all of the attempts to reserve resources are successful.

16. The stackable network device of claim 14, wherein the request to reserve resources is selected from a group consisting of:

a Resource Reservation Protocol (RSVP) Path message; and
a user configuration request.

17. The stackable network device of claim 14:

wherein the request to reserve resources comprises a Resource Reservation Protocol (RSVP) Path message that identifies a downstream network device; and
wherein the means for processing of the last one of the stack means in the identified path transmits the RSVP Path message to the downstream network device when all of the attempts to reserve resources are successful.

18. A stackable network device comprising:

a plurality of stack means for transferring data, the plurality of stack means interconnected by a plurality of means for linking, wherein each of the stack means comprises
means for Processing
a plurality of port means for receiving and transmitting the packets of data, and
forwarding means for transferring the packets of data between the port means in accordance with the means for processing,
wherein the means for processing in a first one of the stack means identifies a path for a planned data flow within the stackable network device, the identified Path comprising a plurality of the stack means interconnected in series by one or more of the means for linking and comprising a first stack means that is the source of the planned data flow and a last stack means that is the destination of the planned data flow, wherein the planned data flow has a quality of service;
wherein the means for processing in the first one of the stack means transmits a path message over the identified Path;
wherein the means for processing in each of the stack means, other than the first one of the stack means, in the identified path,
receive the path message from a next upstream one of the stack means in the identified path, and
transmit the Path message to a next downstream one of the stack means in the identified path;
wherein the means for processing in the last one of the stack means in the identified Path transmits a reserve message over the identified path;
wherein the means for processing in each of the stack means, other than the last one of the stack means, in the identified path,
receive the reserve message from a next downstream one of the stack means in the identified path, and
make an attempt to reserve resources on the one of the means for linking connected to the next downstream one of the stack means according to the quality of service of the planned data flow;
wherein the means for processing in each of the stack means, other than the first and last ones of the stack means, in the identified path, transmit the reserve message to a next upstream one of the stack means in the identified path when the attempt to reserve resources is successful;
wherein, when any attempt to reserve resources is unsuccessful, the means for processing in the first one of the stack means
identifies a second path for the planned data flow within the stackable network device, the second identified path comprising a plurality of the stack means interconnected in series by one or more of the means for linking, the plurality of stack means comprising the first one of the stack means, and
transmits a path message over the second identified path.

19. A stackable network device comprising:

a plurality of stack means for transferring data, the plurality of stack means interconnected by a plurality of means for linking, wherein each of the stack means comprises
means for processing,
a plurality of port means for receiving and transmitting the packets of data, and
forwarding means for transferring the packets of data between the port means in accordance with the means for processing,
wherein the means for processing in a first one of the stack means identifies a path for a planned data flow within the stackable network device, the identified path comprising a plurality of the stack means interconnected in series by one or more of the means for linking and comprising a first stack means that is the source of the planned data flow and a last stack means that is the destination of the planned data flow, wherein the planned data flow has a quality of service;
wherein the means for processing in the first one of the stack means transmits a path message over the identified path;
wherein the means for processing in each of the stack means, other than the first one of the stack means, in the identified path,
receive the path message from a next upstream one of the stack means in the identified path, and
transmit the path message to a next downstream one of the stack means in the identified path;
wherein the means for processing in the last one of the stack means in the identified path transmits a reserve message over the identified path;
wherein the means for processing in each of the stack means, other than the last one of the stack means, in the identified path,
receive the reserve message from a next downstream one of the stack means in the identified path, and
make an attempt to reserve resources on the one of the means for linking connected to the next downstream one of the stack means according to the quality of service of the planned data flow; and
wherein the means for processing in each of the stack means, other than the first and last ones of the stack means, in the identified path, transmit the reserve message to a next upstream one of the stack means in the identified path when the attempt to reserve resources is successful;
wherein the means for processing in the first one of the stack means periodically transmits a refresh message over the identified path;
wherein the means for processing in each of the other stack means transmits the refresh message to a next downstream one of the stack means in the identified path; and
wherein when one of the stack means, other than the first one of the stack means, in the identified path, does not receive one of the refresh messages during a predetermined interval, the means for processing in the one of the stack means release the resources reserved on the one of the means for linking connected to the next upstream one of the stack means.

20. A stackable network switch comprising the stackable network device of claim 11.

21. A method for a configuring a stackable network device comprising a plurality of stack units interconnected by a plurality of stacking links, the method comprising:

identifying a path for a planned data flow within the stackable network device, the identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links and comprising a first stack unit that is the source of the planned data flow and a last stack unit that is the destination of the planned data flow, wherein the planned data flow has a quality of service, wherein the stack units receive and transmit packets of data in parallel with an external network;
transmitting a path message from the first stack unit over the identified path, wherein each of the other stack units, except the last stack unit, in the identified path transmits the path message to the next downstream stack unit in the identified path;
transmitting a reserve message from the last stack unit over the identified path in response to the path message;
at all of the stack units, other than the last stack unit, in the identified path,
receiving the reserve message from a next downstream one of the stack units in the identified path, and
making an attempt to reserve resources on the one of the stacking links connected to the next downstream one of the stack units according to the quality of service of the planned data flow; and
at all of the stack units, other than the first and last stack units, in the identified path, transmitting the reserve message to a next upstream one of the stack units in the identified path when the attempt to reserve resources is successful.

22. The method of claim 21, wherein the planned data flow comprises packets of data received by a predetermined port of the first stack unit and having predetermined values in one or more fields of the packets.

23. The method of claim 22, wherein the predetermined values in one or more fields of the packets represent at least one of a group consisting of:

source address;
Differentiated Services (DiffServe) Code Point (DSCP) field;
one or more of the ports;
destination address; and
protocol type.

24. The method of claim 21, further comprising:

receiving a request to reserve resources in the stackable network device for the planned data flow.

25. The method of claim 24, further comprising, when all of the attempts to reserve resources are successful:

transmitting a confirmation message to the sender of the request to reserve resources.

26. The method of claim 24, wherein the request to reserve resources is selected from a group consisting of:

a Resource Reservation Protocol (RSVP) Path message; and
a user configuration request.

27. The method of claim 24, wherein the request to reserve resources is a Resource Reservation Protocol (RSVP) Path message that identifies a downstream network device, further comprising, when all of the attempts to reserve resources are successful:

transmitting the RSVP Path message to the downstream network device.

28. A method for a configuring a stackable network device comprising a plurality of stack units interconnected by a plurality of stacking links, the method comprising:

identifying a path for a planned data flow within the stackable network device, the identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links and comprising a first stack unit that is the source of the planned data flow and a last stack unit that is the destination of the planned data flow, wherein the planned data flow has a quality of service;
transmitting a path message from the first stack unit over the identified path, wherein each of the other stack units, except the last stack unit, in the identified path transmits the path message to the next downstream stack unit in the identified path;
transmitting a reserve message from the last stack unit over the identified path in response to the path message;
at all of the stack units, other than the last stack unit, in the identified path,
receiving the reserve message from a next downstream one of the stack units in the identified path, and
making an attempt to reserve resources on the one of the stacking links connected to the next downstream one of the stack units according to the quality of service of the planned data flow;
at all of the stack units, other than the first and last stack units, in the identified path, transmitting the reserve message to a next upstream one of the stack units in the identified path when the attempt to reserve resources is successful;
when any attempt to reserve resources is unsuccessful:
Identifying a second path for the planned data flow within the stackable network device, the second identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links, the plurality of stack units comprising the first stack unit; and
transmitting a path message from the first stack unit over the second identified path.

29. A method for a configuring a stackable network device comprising a plurality of stack units interconnected by a plurality of stacking links, the method comprising:

identifying a path for a planned data flow within the stackable network device, the identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links and comprising a first stack unit that is the source of the planned data flow and a last stack unit that is the destination of the planned data flow, wherein the planned data flow has a quality of service;
transmitting a Path message from the first stack unit over the identified path, wherein each of the other stack units, except the last stack unit, in the identified path transmits the path message to the next downstream stack unit in the identified path;
transmitting a reserve message from the last stack unit over the identified path in response to the path message;
at all of the stack units, other than the last stack unit, in the identified path,
receiving the reserve message from a next downstream one of the stack units in the identified path, and
making an attempt to reserve resources on the one of the stacking links connected to the next downstream one of the stack units according to the quality of service of the planned data flow;
at all of the stack units, other than the first and last stack units, in the identified path, transmitting the reserve message to a next upstream one of the stack units in the identified path when the attempt to reserve resources is successful;
periodically transmitting a refresh message from the first stack unit over the identified path, wherein each of the other stack units transmits the refresh message to the next downstream one of the stack units in the identified path; and
wherein when one of the stack units, other than the first stack unit, in the identified path does not receive one of the refresh messages in a predetermined interval, the one of the stack units releases the resources reserved on the one of the stacking links connected to the next downstream one of the stack units.

30. The method of claim 21, wherein a stackable network switch comprises the stackable network device.

31. A computer readable medium encoded with a computer program comprising computer executable instructions to be executed by a computer for configuring a stackable network device comprising a plurality of stack units interconnected by a plurality of stacking links, comprising:

identifying a path for a planned data flow within the stackable network device, the identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links and comprising a first stack unit that is the source of the planned data flow and a last stack unit that is the destination of the planned data flow, wherein the planned data flow has a quality of service, wherein the stack units receive and transmit packets of data in parallel with an external network;
transmitting a path message from the first stack unit over the identified path, wherein each of the other stack units, except the last stack unit, in the identified path transmits the path message to the next downstream stack unit in the identified path;
transmitting a reserve message from the last stack unit over the identified path in response to the path message;
at all of the stack units, other than the last stack unit, in the identified path,
receiving the reserve message from a next downstream one of the stack units in the identified path, and
making an attempt to reserve resources on the one of the stacking links connected to the next downstream one of the stack units according to the quality of service of the planned data flow; and
at all of the stack units, other than the first and last stack units, in the identified path, transmitting the reserve message to a next upstream one of the stack units in the identified path when the attempt to reserve resources is successful.

32. The computer readable medium of claim 31, wherein the planned data flow comprises packets of data received by a predetermined port of the first stack unit and having predetermined values in one or more fields of the packets.

33. The computer readable medium of claim 32, wherein the predetermined values in one or more fields of the packets represent at least one of a group consisting of:

source address;
Differentiated Services (DiffServe) Code Point (DSCP) field;
one or more of the ports;
destination address; and
protocol type.

34. The computer readable medium of claim 31, further comprising:

receiving a request to reserve resources in the stackable network device for the planned data flow.

35. The computer readable medium of claim 34, further comprising, when all of the attempts to reserve resources are successful:

transmitting a confirmation message to the sender of the request to reserve resources.

36. The computer readable medium of claim 34, wherein the request to reserve resources is selected from a group consisting of:

a Resource Reservation Protocol (RSVP) Path message; and
a user configuration request.

37. The computer readable medium of claim 34, wherein the request to reserve resources is a Resource Reservation Protocol (RSVP) Path message that identifies a downstream network device, further comprising, when all of the attempts to reserve resources are successful:

transmitting the RSVP Path message to the downstream network device.

38. The computer readable medium of claim 31, further comprising, when any attempt to reserve resources is unsuccessful:

identifying a second path for the planned data flow within the stackable network device, the second identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links, the plurality of stack units comprising the first stack unit; and
transmitting a path message from the first stack unit over the second identified path.

39. The computer readable medium of claim 31, further comprising:

periodically transmitting a refresh message from the first stack unit over the identified path, wherein each of the other stack units transmits the refresh message to the next downstream one of the stack units in the identified path; and
wherein when one of the stack units, other than the first stack unit, in the identified path does not receive one of the refresh messages in a predetermined interval, the one of the stack units releases the resources reserved on the one of the stacking links connected to the next downstream one of the stack units.

40. The computer readable medium of claim 31, wherein a stackable network switch comprises the stackable network device.

41. A first stack unit in a stackable network device comprising a plurality of the stack units interconnected by a plurality of stacking links, the first stack unit comprising:

a control plane processor to receive, from a third stack unit, a path message that identifies a second stack unit;
wherein the control plane processor transmits the path message to the second stack unit;
wherein the control plane processor receives, from the second stack unit, a reserve message;
wherein the reserve messages identifies a requested resources for a planned data flow within the stackable network device, wherein the planned data flow has a quality of service;
a plurality of ports to receive and transmit packets of data; and
a forwarding engine to transfer the packets of data between the ports in accordance with the control plane processor;
wherein, in response to the reserve message, the control plane processor makes an attempt to reserve the requested resources on the one of the stacking links connecting the first and second stack units according to the quality of service;
wherein, when the attempt to reserve resources is successful, the control plane processor transmits the reserve message to the third stack unit.

42. The first stack unit of claim 41, wherein the planned data flow comprises packets of data received by a predetermined port of the stackable network device and having predetermined values in one or more fields of the packets.

43. The first stack unit of claim 42, wherein the predetermined values in one or more fields of the packets represent at least one of a group consisting of:

source address;
Differentiated Services (DiffServe) Code Point (DSCP) field;
one or more of the ports;
destination address; and
protocol type.

44. The first stack unit of claim 41:

wherein, when the attempt to reserve resources is successful, the control plane processor transmits a confirmation message to the second stack unit.

45. The first stack unit of claim 41:

wherein, when any attempt to reserve resources is unsuccessful, the control plane processor transmits a failure message to the second stack unit.

46. The first stack unit of claim 41, wherein a stackable network switch comprises the stackable network device.

47. A first stack unit in a stackable network device comprising a plurality of the stack units interconnected by a plurality of stacking links, the first stack unit comprising:

processing means for receiving, from a third stack unit, a path message that identifies a second stack unit;
wherein the processing means transmits the path message to the second stack unit;
wherein the processing means receives, from the second stack unit, a reserve message;
wherein the reserve message identifies a requested resources for a planned data flow within the stackable network device, wherein the planned data flow has a quality of service;
a plurality of port means for receiving and transmitting packets of data; and
forwarding means for transferring the packets of data between the port means in accordance with the processing means;
wherein, in response to the reserve message, the processing means makes an attempt to reserve the requested resources on the one of the stacking links connecting the first and second stack units according to the quality of service;
wherein, when the attempt to reserve resources is successful, the processing means transmits the reserve message to the third stack unit.

48. The first stack unit of claim 47, wherein the planned data flow comprises packets of data received by a predetermined port means of the stackable network device and having predetermined values in one or more fields of the packets.

49. The first stack unit of claim 48, wherein the predetermined values in one or more fields of the packets represent at least one of a group consisting of:

source address;
Differentiated Services (DiffServe) Code Point (DSCP) field;
one or more of the port;
destination address; and
protocol type.

50. The first stack unit of claim 47:

wherein, when the attempt to reserve resources is successful, the processing means transmits a confirmation message to the second stack unit.

51. The first stack unit of claim 47:

wherein, when any attempt to reserve resources is unsuccessful, the processing means transmits a failure message to the second stack unit.

52. The first stack unit of claim 47, wherein a stackable network switch comprises the stackable network device.

53. A method for a first stack unit in a stackable network device comprising a plurality of the stack units interconnected by a plurality of stacking links, the method comprising:

receiving, from a third stack unit, a path message that identifies a second stack unit;
transmitting the path message to the second stack unit;
receiving, from the second stack unit, a reserve message;
wherein the reserve messages identifies a requested resources for a planned data flow within the stackable network device and a quality of service for the planned data flow;
making an attempt to reserve the requested resources on the one of the stacking links connecting the first and second stack units according to the quality of service; and
transmitting the reserve message to the third stack unit when the attempt to reserve resources is successful.

54. The method of claim 53, wherein the planned data flow comprises packets of data received by a predetermined port of the stackable network device and having predetermined values in one or more fields of the packets.

55. The method of claim 54, wherein the predetermined values in one or more fields of the packets represent at least one of a group consisting of:

source address;
Differentiated Service (DiffServe) Code Point (DSCP) field;
one or more of the ports;
destination address; and
protocol type.

56. The method of claim 53, further comprising, when the attempt to reserve resources is successful:

transmitting a confirmation message to the second stack unit.

57. The method of claim 53, further comprising, when any attempt to reserve resources is unsuccessful:

transmitting a failure message to the second stack unit.

58. The method of claim 53, wherein a stackable network switch comprises the stackable network device.

59. A computer readable medium encoded with a computer program comprising computer executable instructions to be executed by a computer for a first stack unit in a stackable network device comprising a plurality of the stack units interconnected by a plurality of stacking links, comprising:

receiving, from a third stack unit, a path message that identifies a second stack unit;
transmitting the path message to the second stack unit;
receiving, from the second stack unit, a reserve message;
wherein the reserve messages identifies a requested resources for a planned data flow within the stackable network device and a quality of service for the planned data flow;
making an attempt to reserve the requested resources on the one of the stacking links connecting the first and second stack units according to the quality of service; and
transmitting the reserve message to the third stack unit when the attempt to reserve resources is successful.

60. The computer readable medium of claim 59, wherein the planned data flow comprises packets of data received by a predetermined port of the stackable network device and having predetermined values in one or more fields of the packets.

61. The computer readable medium of claim 60, wherein the predetermined values in one or more fields of the packets represent at least one of a group consisting of:

source address;
Differentiated Services (DiffServe) Code Point (DSCP) field;
one or more of the ports;
destination address; and
protocol type.

62. The computer readable medium of claim 59, further comprising, when the attempt to reserve resources in successful:

transmitting a confirmation message to the second stack unit.

63. The computer readable medium of claim 59, further comprising, when any attempt to reserve resources is unsuccessful:

transmitting a failure message to the second stack unit.

64. The computer readable medium of claim 59, wherein a stackable network switch comprises the stackable network device.

65. A stackable network device comprising:

a plurality of stack units interconnected by a plurality of stacking links, wherein each of the stack units comprises
a control plane processor,
a plurality of ports to receive and transmit packets of data in parallel with an external network, and
a forwarding engine to transfer the packets of data between the ports in accordance with the control plane processor,
wherein the control plane processor in a first one of the stack units identifies a path for a planned data flow within the stackable network device, the identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links and comprising a first stack unit that is the source of the planned data flow and a last stack unit that is the destination of the planned data flow, wherein the planned data flow has a quality of service;
wherein the control plane processor in the first one of the stack units transmits a reserve message over the identified path; and
wherein the control plane processors in each of the stack units, other than the first one of the stack units, in the identified path,
receive the reserve message from a next upstream one of the stack units in the identified path, and
make an attempt to reserve resources on the one of the stacking links connected to the next upstream one of the stack units according to the quality of service of the planned data flow; and
wherein the control plane processor in each of the stack units, other than the first and last ones of the stack units, in the identified path, transmit the reserve message to a next downstream one of the stack units in the identified path when the attempt to reserve resources is successful.

66. The stackable network device of claim 65, wherein the planned data flow comprises packets of data received by a predetermined port of the first one of the stack units and having predetermined values in one or more of the packets.

67. The stackable network device of claim 66, wherein the predetermined values in one or more fields of the packets represent at least one of a group consisting of:

source address;
Differentiated Services (DiffServe) Code Point (DSCP) field;
one or more of the ports;
destination address; and
protocol type.

68. The stackable network device of claim 65:

wherein the control plane processor of the first one of the stack units receives a request to reserve resources in the stackable network device for the planned data flow and identifies the path for the planned data flow in accordance with the request to reserve resources.

69. The stackable network device of claim 68:

wherein the control plane processor of the first one of the stack units transmits a confirmation message to the sender of the request to reserve resources when all of the attempts to reserve resources are successful.

70. The stackable network device of claim 68, wherein the request to reserve resources is selected from a group consisting of:

a Resource Reservation Protocol (RSVP) Path message; and
a user configuration request.

71. The stackable network device of claim 68:

wherein the request to reserve resources comprises a Resource Reservation Protocol (RSVP) Path message that identifies a downstream network device; and
wherein the control plane processor of the last one of the stack units in the identified path transmits the RSVP Path message to the downstream network device when all of the attempts to reserve resources are successful.

72. A stackable network device comprising:

a plurality of stack units interconnected by a plurality of stacking links, wherein each of the stack units comprises
a control plane processor,
a plurality of ports to receive and transmit packets of data, and
a forwarding engine to transfer the packets of data between the ports in accordance with the control plane processor,
wherein the control plane processor in a first one of the stack units identifies a path for a planned data flow within the stackable network device, the identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links and comprising a first stack unit that is the source of the planned data flow and a last stack unit that is the destination of the planned data flow, wherein the planned data flow has a quality of service;
wherein the control plane Processor in the first one of the stack units transmits a reserve message over the identified path;
wherein the control plane processors in each of the stack units, other than the first one of the stack units, in the identified path,
receive the reserve message from a next upstream one of the stack units in the identified path, and
make an attempt to reserve resources on the one of the stacking links connected to the next upstream one of the stack units according to the quality of service of the planned data flow;
wherein the control plane processor in each of the stack units, other than the first and last ones of the stack units, in the identified path, transmit the reserve message to a next downstream one of the stack units in the identified path when the attempt to reserve resources is successful;
wherein, when any attempt to reserve resources is unsuccessful, the control plane processor in the first one of the stack units
identifies a second path for the planned data flow within the stackable network device, the second identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links, the plurality of stack units comprising the first one of the stack units, and
transmits a reserve message over the second identified path.

73. A stackable network device comprising:

a plurality of stack units interconnected by a plurality of stacking links, wherein each of the stack units comprises
a control plane processor,
a plurality of ports to receive and transmit packets of data, and
a forwarding engine to transfer the packets of data between the ports in accordance with the control plane processor,
wherein the control plane processor in a first one of the stack units identifies a path for a planned data flow within the stackable network device, the identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links and comprising a first stack unit that is the source of the planned data flow and a last stack unit that is the destination of the planned data flow, wherein the planned data flow has a quality of service;
wherein the control plane processor in the first one of the stack units transmits a reserve message over the identified path; and
wherein the control plane processors in each of the stack units, other than the first one of the stack units, in the identified path,
receive the reserve message from a next upstream one of the stack units in the identified path, and
make an attempt to reserve resources on the one of the stacking links connected to the next upstream one of the stack units according to the quality of service of the planned data flow;
wherein the control plane processor in each of the stack units, other than the first and last ones of the stack units, in the identified path, transmit the reserve message to a next downstream one of the stack units in the identified path when the attempt to reserve resources is successful;
wherein the control plane processor in the first one of the stack units periodically transmits a refresh message over the identified path;
wherein the control plane processors in each of the other stack units transmits the refresh message to a next downstream one of the stack units in the identified path; and
wherein when one of the stack units, other than the first one of the stack units, in the identified path, does not receive one of the refresh messages during a predetermined interval, the control plane processor in the one of the stack units releases the resources reserved on the one of the stacking links connected to the next upstream one of the stack units.

74. A stackable network switch comprising the stackable network device of claim 65.

75. A stackable network device comprising:

a plurality of stack means for transferring packets of data, the plurality of stack means interconnected by a plurality of means for linking, wherein each of the stack means comprises
means for processing,
a plurality of port means for receiving and transmitting the packets of data in parallel with an external network, and
a forwarding means to transfer the packets of data between the port means in accordance with the means for processing,
wherein the means for processing in a first one of the stack means identifies a path for a planned data flow within the stackable network device, the identified path comprising a plurality of the stack means interconnected in series by one or more of the means for linking and comprising a first stack means that is the source of the planned data flow and a last stack means that is the destination of the planned data flow, wherein the planned data flow has a quality of service;
wherein the means for processing in the first one of the stack means transmits a reserve message over the identified path; and
wherein the means for processing in each of the stack means, other than the first one of the stack means, in the identified path,
receive the reserve message from a next upstream one of the stack means in the identified path, and
make an attempt to reserve resources on the one of the means for linking connected to the next upstream one of the stack means according to the quality of service of the planned data flow; and
wherein the means for processing in each of the stack means, other than the first and last ones of the stack means, in the identified path, transmit the reserve message to a next downstream one of the stack means in the identified path when the attempt to reserve resources is successful.

76. The stackable network device of claim 75, wherein the planned data flow comprises packets of data received by a predetermined port means of the first one of the stack means and having predetermined values in one or more fields of the packets.

77. The stackable network device of claim 76, wherein the predetermined values in one or more fields of the packets represent at least one of a group consisting of:

source address;
Differentiated Services (DiffServe) Code Point (DSCP) field;
one or more of the port;
destination address; and
protocol type.

78. The stackable network device of claim 75:

wherein the means for processing of the first one of the stack means receives a request to reserve resources in the stackable network device for the planned data flow and identifies the path for the planned data flow in accordance with the request to reserve resources.

79. The stackable network device of claim 78:

wherein the means for processing of the first one of the stack means transmits a confirmation message to the sender of the request to reserve resources when all of the attempts to reserve resources are successful.

80. The stackable network device of claim 78, wherein the request to reserve resources is selected from a group consisting of:

a Resource Reservation Protocol (RSVP) Path message; and
a user configuration request.

81. The stackable network device of claim 78:

wherein the request to reserve resources comprises a Resource Reservation Protocol (RSVP) Path message that identifies a downstream network device; and
wherein the means for processing of the last one of the stack means in the identified path transmits the RSVP Path message to the downstream network device when all of the attempts to reserve resources are successful.

82. A stackable network device comprising:

a plurality of stack means for transferring packets of data, the plurality of stack means interconnected by a plurality of means for linking, wherein each of the stack means comprises
means for processing,
a plurality of port means for receiving and transmitting the packets of data, and
a forwarding means to transfer the packets of data between the port means in accordance with the means for processing,
wherein the means for processing in a first one of the stack means identifies a path for a planned data flow within the stackable network device, the identified path comprising a plurality of the stack means interconnected in series by one or more of the means for linking and comprising a first stack means that is the source of the planned data flow and a last stack means that is the destination of the planned data flow, wherein the planned data flow has a quality of service;
wherein the means for processing in the first one of the stack means transmits a reserve message over the identified path; and
wherein the means for processing in each of the stack means, other than the first one of the stack means, in the identified path,
receive the reserve message from a next upstream one of the stack means in the identified path, and
make an attempt to reserve resources on the one of the means for linking connected to the next upstream one of the stack means according to the quality of service of the planned data flow;
wherein the means for processing in each of the stack means, other than the first and last ones of the stack means, in the identified path, transmit the reserve message to a next downstream one of the stack means in the identified path when the attempt to reserve resources is successful;
wherein, when any attempt to reserve resources is unsuccessful, the means for processing in the first one of the stack means
identifies a second path for the planned data flow within the stackable network device, the second identified path comprising a plurality of the stack means
interconnected in series by one or more of the means for linking, the plurality of stack means comprising the first one of the stack means, and
transmits a reserve over the second identified path.

83. The stackable network device of claim 75:

wherein the means for processing in the first one of the stack means periodically transmits a refresh message over the identified path;
wherein the means for processing in each of the other stack means transmits the refresh message to a next downstream one of the stack means in the identified path; and
wherein when one of the stack means, other than the first one of the stack means, in the identified path, does not receive one of the refresh messages during a predetermined interval, the means for processing in the one of the stack means releases the resources reserved on the one of the means for linking connected to the next upstream one of the stack means.

84. A stackable network switch comprising the stackable network device of claim 75.

85. A method for a configuring a stackable network device comprising a plurality of stack units interconnected by a plurality of stacking links, the method comprising:

identifying a path for a planned data flow within the stackable network device, the identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links and comprising a first stack unit that is the source of the planned data flow and a last stack unit that is the destination of the planned data flow, wherein the planned data flow has a quality of service, wherein the stack units receive and transmit packets of data in parallel with an external network;
transmitting a reserve message from the fist stack unit over the identified path; and
at each of the stack units, other than the first stack unit, in the identified path,
receiving the reserve message from a next upstream one of the stack units in the identified path, and
making an attempt to reserve resources on the one of the stacking links connected to the next upstream one of the stack units according to the quality of service of the planned data flow; and
at each of the stack units, other than the first and last stack units, in the identified path, transmitting the reserve message to a next downstream one of the stack units in the identified path when the attempt to reserve resources is successful.

86. The method of claim 85, wherein the planned data flow comprises packets of data received by a predetermined port of the first stack unit and having predetermined values in one or more fields of the packets.

87. The method of claim 86, wherein the predetermined values in one or more fields of the packets represent at least one of a group consisting of:

source address;
Differentiated Services (DiffServe) Code Point (DSCP) field;
one or more of the ports;
destination address; and
protocol type.

88. The method of claim 85, wherein identifying a path for a planned data flow within the stackable network device comprises:

receiving a request to reserve resources in the stackable network device for the planned data flow.

89. The method of claim 88, further comprising, when all of the attempts to reserve resources are successful:

transmitting a confirmation message to the sender of the request to reserve resources.

90. The method of claim 88, wherein the request to reserve resources is selected from a group consisting of:

a Resource Reservation Protocol (RSVP) Path message; and
a user configuration request.

91. The method of claim 88, wherein the request to reserve resources comprises a Resource Reservation Protocol (RSVP) Path message that identifies a downstream network device, further comprising, when all of the attempts to reserve resources are successful:

transmitting the RSVP Path message to the downstream network device.

92. A method for a configuring a stackable network device comprising a plurality of stack units interconnected by a plurality of stacking links, the method comprising:

identifying a path for a planned data flow within the stackable network device, the identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links and comprising a first stack unit that is the source of the planned data flow and a last stack unit that is the destination of the planned data flow, wherein the planned data flow has a quality of service:
transmitting a reserve message from the fist stack unit over the identified path;
at each of the stack units, other than the first stack unit, in the identified path,
receiving the reserve message from a next upstream one of the stack units in the identified path, and
making an attempt to reserve resources on the one of the stacking links connected to the next upstream one of the stack units according to the quality of service of the planned data flow;
at each of the stack units, other than the first and last stack units, in the identified path, transmitting the reserve message to a next downstream one of the stack units in the identified path when the attempt to reserve resources is successful;
when any attempt to reserve resources is unsuccessful;
identifying a second path for the planned data flow within the stackable network device, the second identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links, the plurality of stack units comprising the first stack unit; and
transmitting a reserve message from the first stack unit over the second identified path.

93. A method for a configuring a stackable network device comprising a plurality of stack units interconnected by a plurality of stacking links, the method comprising:

identifying a path for a planned data flow within the stackable network device, the identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links and comprising a first stack unit that is the source of the planned data flow and a last stack unit that is the destination of the planned data flow, wherein the planned data flow has a quality of service;
transmitting a reserve message from the fist stack unit over the identified path;
at each of the stack units, other than the first stack unit, in the identified path,
receiving the reserve message from a next upstream one of the stack units in the identified path, and
making an attempt to reserve resources on the one of the stacking links connected to the next upstream one of the stack units according to the quality of service of the planned data flow;
at each of the stack units, other than the first and last stack units, in the identified path, transmitting the reserve message to a next downstream one of the stack units in the identified path when the attempt to reserve resources is successful;
when any attempt to reserve resources is unsuccessful:
identifying a second path for the planned data flow within the stackable network device, the second identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links, the plurality of stack units comprising the first stack unit;
transmitting a reserve message from the first stack unit over the second identified path;
periodically transmitting a refresh message from the first stack unit over the identified path, wherein each of the other stack units transmits the refresh message to a next downstream one of the stack units in the identified path; and
wherein when one of the stack units, other than the first stack unit, in the identified path, does not receive one of the refresh messages during a predetermined interval, the one of the stack units releases the resources reserved on the one of the stacking links connected to the next upstream one of the stack units.

94. The method of claim 85, wherein a stackable network switch comprises the stackable network device.

95. A computer readable medium encoded with a computer program comprising computer executable instructions to be executed by a computer for a configuring a stackable network device comprising a plurality of stack units interconnected by a plurality of stacking links, comprising:

identifying a path for a planned data flow within the stackable network device, the identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links and comprising a first stack unit that is the source of the planned data flow and a last stack unit that is the destination of the planned data flow, wherein the planed data flow has a quality of service, wherein the stack units receive and transmit packets of data in parallel with an external network;
transmitting a reserve message from the first stack unit over the identified path; and
at each of the stack units, other than the first stack unit, in the identified path,
receiving the reserve message from a next upstream one of the stack units in the identified path, and
making an attempt to reserve resources on the one of the stacking links connected to the next upstream one of the stack units according to the quality of service of the planned data flow; and
at each of the stack units, other than the first and last stack units, in the identified path, transmitting the reserve message to a next downstream one of the stack units in the identified path when the attempt to reserve resources is successful.

96. The computer readable medium of claim 95, wherein the planned data flow comprises packets of data received by a predetermined port of the first stack unit and having predetermined values in one or more fields of the packets.

97. The computer readable medium of claim 96, wherein the predetermined values in one or more fields of the packets represent at least one of a group consisting of:

source address;
Differentiated Services (DiffServe) Code Point (DSCP) field;
one or more of the ports;
destination address; and
protocol type.

98. The computer readable medium of claim 95, wherein identifying a path for a planned data flow within the stackable network device comprises:

receiving a request to reserve resources in the stackable network device for the planned data flow.

99. The computer readable medium of claim 98, further comprising, when all of the attempts to reserve resources are successful:

transmitting a confirmation message to the sender of the request to reserve resources.

100. The computer readable medium of claim 98, wherein the request to reserve resources is selected from a group consisting of:

a Resource Reservation Protocol (RSVP) Path message; and
a user configuration request.

101. The computer readable medium of claim 98, wherein the request to reserve resources comprises a Resource Reservation Protocol (RSVP) Path message that identifies a downstream network device, further comprising, when all of the attempts to reserve resources are successful:

transmitting the RSVP Path message to the downstream network device.

102. The computer readable medium of claim 95, further comprising, when any attempt to reserve resources is unsuccessful:

identifying a second path for the planned data flow within the stackable network device, the second identified path comprising a plurality of the stack units interconnected in series by one or more of the stacking links, the plurality of stack units comprising the first stack units; and
transmitting a reserve message from the first stack unit over the second identified path.

103. The computer readable medium of claim 95, further comprising:

periodically transmitting a refresh message from the first stack unit over the identified path, wherein each of the other stack units transmits the refresh message to a next downstream one of the stack units in the identified path; and
wherein when one of the stack units, other than the first stack unit, in the identified path, does not receive one of the refresh messages during a predetermined interval, the one of the stack units releases the resources reserved on the one of the stacking links connected to the next upstream one of the stack units.

104. The computer readable medium of claim 95, wherein a stackable network switch comprises the stackable network device.

105. A first stack unit in a stackable network device comprising a plurality of the stack units interconnected by a plurality of stacking links, the first stack unit comprising:

a control plane processor to receive, from a second stack unit, a reserve message that identifies a requested resources for a planned data flow within the stackable network device and a third stack unit, wherein the planned data flow has a quality of service;
a plurality of ports to receive a transmit packets of data; and
a forwarding engine to transfer the packets of data between the ports in accordance with the control plane processor;
wherein, in response to the reserve message, the control plane processor makes an attempt to reserve the requested resources on the one of the stacking links connecting the first and second stack units according to the quality of service;
wherein, when the attempt to reserve resources is successful, the control plane processor transmits the reserve message to the third stack unit.

106. The first stack unit of claim 105, wherein the planned data flow comprises packets of data received by a predetermined port of the stackable network device and having predetermined values in one or more fields of the packets.

107. The first stack unit of claim 106, wherein the predetermined values in one or more fields of the packets represent at least one of a group consisting of:

source address;
Differentiated Services (DiffServe) Code Point (DSCP) field;
one or more of the ports;
destination address; and
protocol type.

108. The first stack unit of claim 105:

wherein, when the attempt to reserve resources is successful, the control plane processor transmits a confirmation message to the second stack unit.

109. The first stack unit of claim 105:

wherein, when any attempt to reserve resources is unsuccessful, the control plane processor transmits a failure message to the second stack unit.

110. The first stack unit of claim 105, wherein a stackable network switch comprises the stackable network device.

111. A first stack unit in a stackable network device comprising a plurality of the stack units interconnected by a plurality of stacking links, the first stack unit comprising:

processing means for receiving, from a second stack unit, a reserve message that identifies a requested resources for a planned data flow within the stackable network device and a third stack unit, wherein the planned data flow has a quality of service;
a plurality of port means for receiving and transmitting packets of data; and
forwarding means for transferring the packets of data between the port means in accordance with the processing means;
wherein, in response to the reserve message, the processing means makes an attempt to reserve the requested resources on the one of the stacking links connecting the first and second stack units according to the quality of service;
wherein, when the attempt to reserve resources is successful, the processing means transmits the reserve message to the third stack unit.

112. The first stack unit of claim 111, wherein the planned data flow comprises packets of data received by a predetermined port means of the stackable network device and having predetermined values in one or more fields of the packets.

113. The first stack unit of claim 112, wherein the predetermined values in one or more fields of the packets represent at least one of a group consisting of:

source address;
Differentiated Services (DiffServe) Code Point (DSCP) field;
one or more of the port;
destination address, and
protocol type.

114. The first stack unit of claim 111:

wherein, when the attempt to reserve resources is successful, the processing means transmits a confirmation message to the second stack unit.

115. The first stack unit of claim 111:

wherein, when any attempt to reserve resources is unsuccessful, the processing means transmits a failure message to the second stack unit.

116. The first stack unit of claim 111, wherein a stackable network switch comprises the stackable network device.

117. A method for a first stack unit in a stackable network device comprising a plurality of the stack units interconnected by a plurality of stacking links, the method comprising:

receiving, from a second stack unit, a reserve message that identifies a requested resources for a planned data flow within the stackable network device and a third stack unit, wherein the planned data flow has a quality of service;
making an attempt to reserve the requested resources on the one of the stacking links connecting the first and second stack units according to the quality of service; and
transmitting the reserve message to the third stack unit when the attempt to reserve resources is successful.

118. The method of claim 117, wherein the planned data flow comprises packets of data received by a predetermined port of the stackable network device and having predetermined values in one or more fields of the packets.

119. The method of claim 118, wherein the predetermined values in one or more fields of the packets represent at least one of a group consisting of:

source address;
Differentiated Services (DiffServe) Code Point (DSCP) field;
one or more of the ports;
destination address; and
protocol type.

120. The method of claim 117, further comprising, when the attempt to reserve resources is successful:

transmitting a confirmation message to the second stack unit.

121. The method of claim 117, further comprising, when any attempt to reserve resources is unsuccessful:

transmitting a failure message to the second stack unit.

122. The method of claim 117, wherein a stackable network switch comprises the stackable network device.

123. A computer readable medium encoded with a computer program comprising computer executable instructions to be executed by a computer for a first stack unit in a stackable network device comprising a plurality of the stack units interconnected in series by a plurality of stacking links, comprising:

receiving, from a second stack unit, a reserve message that identifies a requested resources for a planned data flow within the stackable network device and a third stack unit, wherein the planned data flow has a quality of service, wherein the stack units receive and transmit packets of data in parallel with an external network;
making an attempt to reserve the requested resources on the one of the stacking links connecting the first and second stack units according to the quality of service; and
transmitting the reserve message to the third stack unit when the attempt to reserve resources is successful.

124. The computer readable medium of claim 123, wherein the planned data flow comprises packets of data received by a predetermined port of the stackable network device and having predetermined values in one or more fields of the packets.

125. The computer readable medium of claim 124, wherein the predetermined values in one or more fields of the packets represent at least one of a group consisting of:

source address;
Differentiated Services (DiffServe) Code Point (DSCP) field;
one or more of the ports;
destination address; and
protocol type.

126. The computer readable medium of claim 123, further comprising, when the attempt to reserve resources is successful:

transmitting a confirmation message to the second stack unit.

127. The computer readable medium of claim 123, further comprising, when any attempt to reserve resources is unsuccessful:

transmitting a failure message to the second stack unit.

128. The computer readable medium of claim 123, wherein a stackable network switch comprises the stackable network device.

129. The stackable network device of claim 8:

wherein the plurality of ports of each of the stack units receive and transmit said packets of data in parallel with an external network.
Referenced Cited
U.S. Patent Documents
6366577 April 2, 2002 Donovan
6487170 November 26, 2002 Chen et al.
6631122 October 7, 2003 Arunachalam et al.
6654363 November 25, 2003 Li et al.
6708034 March 16, 2004 Sen et al.
6934292 August 23, 2005 Ammitzboell
7143168 November 28, 2006 DiBiasio et al.
7184441 February 27, 2007 Kadambi et al.
7260060 August 21, 2007 Abaye et al.
20020091810 July 11, 2002 Hundscheidt et al.
20020141446 October 3, 2002 Koga
20020194369 December 19, 2002 Rawlins et al.
20030133459 July 17, 2003 Siddiqui et al.
20030204596 October 30, 2003 Yadav
20060251085 November 9, 2006 Kalkunte et al.
Other references
  • Braden et al., “RFC 2205: Resource Reservation Protocol (RSVP)—Version 1 Functional Specification,” Standards Track, Sep. 1997, pp. 1-112, University of Michigan, US.
Patent History
Patent number: 7466653
Type: Grant
Filed: Jun 30, 2004
Date of Patent: Dec 16, 2008
Assignee: Marvell International Ltd. (Hamilton)
Inventors: Yuval Cohen (Raanana), Tal Anker (Modiin)
Primary Examiner: Anh-Vu H Ly
Application Number: 10/883,540
Classifications
Current U.S. Class: Flow Control Of Data Transmission Through A Network (370/235)
International Classification: H04L 12/26 (20060101);