Router and methods using in-band link between managing processor and routing processor
First Claim
41. A method performed by a router for routing frames in a network, the router comprising a managing processor for performing a proxy process;
- a plurality of routing processors coupled by a fabric for routing frames to another routing processor of the plurality via the fabric;
each routing processor comprising ports for receiving frames from the network and for routing frames to the network;
the method comprising;
a step for receiving at a first routing processor a first frame from the network;
a step for determining at the first routing processor that the first frame is part of a virtual control transaction;
a step for routing at least a portion of the virtual control transaction from the first routing processor to a second routing processor via the fabric;
a step for routing the portion of the virtual control transaction from the second routing processor to the proxy process via a link, the managing processor being coupled by the link to a port of the second routing processor;
a step for receiving at the first routing processor a second frame from the network;
a step for determining at the first routing processor that the second frame is part of a data transaction;
a step for routing at least a portion of the data transaction from the first routing processor to a nonvirtual destination without cooperation of the proxy.
10 Assignments
0 Petitions
Accused Products
Abstract
A router for use in a network includes a scalable architecture and performs methods for implementing quality of service on a logical unit behind a network port; and for implementing storage virtualization. The architecture includes a managing processor, a supervising processor; and a plurality of routing processors coupled to a fabric. The managing processor has an in-band link to a routing processor. A routing processor receives a frame from the network, determines by parsing the frame, the protocol and logical unit number, and routes the frame to a queue according to a traffic class associated with the logical unit number in routing information prepared for the processors. An arbitration scheme empties the queue in accordance with a deficit round robin technique. If a routing processor detects the frame'"'"'s destination is a virtual entity, and so is part of a virtual transaction, the router conducts a nonvirtual transaction in concert with the virtual transaction. The nonvirtual transaction accomplishes the intent of the virtual transaction but operates on an actual network port, for example, a storage device.
-
Citations
80 Claims
-
41. A method performed by a router for routing frames in a network, the router comprising a managing processor for performing a proxy process;
- a plurality of routing processors coupled by a fabric for routing frames to another routing processor of the plurality via the fabric;
each routing processor comprising ports for receiving frames from the network and for routing frames to the network;
the method comprising;
a step for receiving at a first routing processor a first frame from the network;
a step for determining at the first routing processor that the first frame is part of a virtual control transaction;
a step for routing at least a portion of the virtual control transaction from the first routing processor to a second routing processor via the fabric;
a step for routing the portion of the virtual control transaction from the second routing processor to the proxy process via a link, the managing processor being coupled by the link to a port of the second routing processor;
a step for receiving at the first routing processor a second frame from the network;
a step for determining at the first routing processor that the second frame is part of a data transaction;
a step for routing at least a portion of the data transaction from the first routing processor to a nonvirtual destination without cooperation of the proxy. - View Dependent Claims (42, 43, 44, 45, 46)
- a plurality of routing processors coupled by a fabric for routing frames to another routing processor of the plurality via the fabric;
-
47. A method performed by a router for routing frames in a network, the router comprising a managing processor for performing a proxy process;
- a plurality of routing processors coupled by a fabric;
each routing processor having a plurality of ports for receiving frames from the network and for routing frames to the network, the method performed by each routing processor of the plurality, the method comprising;
a step for receiving at a first routing processor a first frame from the network;
a step for determining at the first routing processor that the first frame is part of a virtual data transaction that refers to a page having a boundary;
a step for determining at the first routing processor whether data of the virtual data transaction crosses the boundary; and
if it is determined that data crosses, a step for routing at least a portion of the virtual data transaction to the proxy via the fabric and via a link, the managing processor coupled via the link to a port of a second routing processor. - View Dependent Claims (48, 49, 50, 51)
- a plurality of routing processors coupled by a fabric;
-
52. A method performed by a router for routing frames in a network the router comprising a managing processor for performing a proxy process;
- a plurality of routing processors coupled by a fabric;
each routing processor having a plurality of ports for receiving frames from the network and for routing frames to the network, the method comprising;
a step for receiving at the managing processor from an administrating processor via a link routing information comprising a first network port identifier and a second network port identifier, the managing processor being coupled to a port of a first routing processor of the plurality via the link;
a step for receiving at a second routing processor from the managing processor the first network port identifier and the second network port identifier;
a step for routing a frame of a virtual control transaction from the second routing processor to the managing processor via the link in accordance with the first network port identifier; and
a step for routing a frame of a virtual data transaction comprising the first network port identifier from the second routing processor to a nonvirtual entity via the network in accordance with the second network port identifier. - View Dependent Claims (53, 54)
- a plurality of routing processors coupled by a fabric;
-
55. A method performed by a router for routing frames in a network the router comprising a managing processor;
- and a plurality of routing processors coupled by a fabric;
each routing processor having a plurality of ports for receiving frames from the network and for routing frames to the network, method comprising;
a step for receiving a first frame at a first routing processor of the plurality from the network;
a first step for routing at least a portion of the first frame from the first routing processor to the network;
a second step for routing at least a portion of the first frame from the first routing processor to the managing processor via the fabric, a second routing processor of the plurality, and a link, the managing processor being coupled by the link to a port of the second routing processor. - View Dependent Claims (56, 57)
- and a plurality of routing processors coupled by a fabric;
-
58. A method performed by a router for routing frames in a network the router comprising a managing processor;
- and a plurality of routing processors coupled by a fabric;
each routing processor having a plurality of ports for receiving frames from the network and for routing frames to the network, method comprising;
a step for receiving a first frame at a first routing processor of the plurality from the network;
a step for accumulating at the first routing processor a count in accordance with receiving the first frame;
a step for routing the count from the first routing processor to the managing processor via the fabric, a second routing processor of the plurality, and a link, the managing processor being coupled by the link to a port of the second routing processor. - View Dependent Claims (59)
- and a plurality of routing processors coupled by a fabric;
-
60. A router for routing frames in a network, the router comprising:
-
means for performing a proxy process;
a plurality of routing means for receiving frames from the network and for routing frames to the network, each routing means comprising ports;
distributing means for routing frames between routing means of the plurality;
means for receiving at a first routing means a first frame from the network;
means for determining at the first routing means that the first frame is part of a virtual control transaction;
means for routing at least a portion of the virtual control transaction from the first routing means to a second routing means via the distributing means;
means for routing the portion of the virtual control transaction from the second routing means to the proxy process via a link, the managing means being coupled by the link to a port of the second routing means;
means for receiving at the first routing means a second frame from the network;
means for determining at the first routing means that the second frame is part of a data transaction; and
means for routing at least a portion of the data transaction from the first routing means to a nonvirtual destination without cooperation of the proxy process. - View Dependent Claims (61, 62, 63, 64, 65)
-
-
66. A router for routing frames in a network, the router comprising:
-
a managing means for performing a proxy process;
a plurality of routing means for receiving frames from the network and for routing frames to the network, each routing means having a plurality of ports;
distributing means for routing frames between routing means of the plurality;
means for receiving at a first routing means a first frame from the network;
means for determining at the first routing means that the first frame is part of a virtual data transaction that refers to a page having a boundary;
means for determining at the first routing means whether data of the virtual data transaction crosses the boundary; and
means for routing, responsive to a determination that data crosses, at least a portion of the virtual data transaction to the proxy via the distributing means and via a link, the managing means coupled via the link to a port of a second routing means. - View Dependent Claims (67, 68, 69, 70)
-
-
71. A router for routing frames in a network the router comprising:
-
a managing means for performing a proxy process;
a plurality of routing means for receiving frames from the network and for routing frames to the network, each routing means having a plurality of ports;
a distributing means for routing frames between routing means of the plurality;
means for receiving at the managing means from an administrating means via a link routing information comprising a first network port identifier and a second network port identifier, the managing means being coupled to a port of a first routing means of the plurality via the link;
means for receiving at a second routing means from the managing means the first network port identifier and the second network port identifier;
means for routing a frame of a virtual control transaction from the second routing means to the managing means via the link in accordance with the first network port identifier; and
means for routing a frame of a virtual data transaction comprising the first network port identifier from the second routing means to a nonvirtual entity via the network in accordance with the second network port identifier. - View Dependent Claims (72, 73)
-
-
74. A router for routing frames in a network, the router comprising:
-
a managing means for receiving a payload of a virtual control frame and for forming a corresponding nonvirtual control frame;
a plurality of routing means for receiving frames from the network and for routing frames to the network, each routing means having a plurality of ports;
the plurality comprising;
a first routing means for receiving the virtual control frame from the network; and
a second routing means;
distributing means for routing frames between routing means of the plurality, the payload of the virtual control frame being routed by the distributing means from the first routing means to the second routing means;
wherein the managing means receives the payload from the second routing means via a link to a port of the second routing means and sends the nonvirtual control frame to the second routing means via the link; and
wherein the second routing means routes a payload of the nonvirtual control frame. - View Dependent Claims (75, 76, 77, 78, 79, 80)
-
Specification