IP Library Granted Patent US 6,888,831
Granted Patent B1
US 6,888,831 · App. 09/675,850 · Granted May 3, 2005

Distributed resource reservation system for establishing a path through a multi-dimensional computer network to support isochronous data

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,888,831
App. No.
09/675,850
Granted
May 3, 2005
Kind
B1
Abstract

A distributed method of establishing a path in a multi-dimensional computer network comprising a plurality of nodes for transmitting isochronous data from a source node to a destination node is disclosed. A request packet is injected into the network, the request packet specifying a request to transmit the isochronous data from one of a plurality of source nodes. The request packet is routed to at least one the plurality of source nodes, and the source node determines whether it has sufficient resources to support transmitting the isochronous data. If the source node comprises sufficient resources to support transmitting the isochronous data, the source node reserves resources within the source node to support transmitting the isochronous data, and transmits an ack packet from the source node to a first neighboring node. The first neighboring node determines whether it has sufficient resources to support transmitting the isochronous data. If the first neighboring node comprises sufficient resources to support transmitting the isochronous data, the first neighboring node reserves resources within the first neighboring node to support transmitting the isochronous data, and transmits the ack packet to an adjacent node. If the first neighboring node does not comprise sufficient resources to support transmitting the isochronous data, the first neighboring node transmits a nack packet to the source node and the source node transmits the ack packet to a second neighboring node.

Claims (91)

1. A distributed method of establishing a path in a multi-dimensional computer network comprising a plurality of nodes for transmitting isochronous data from a source node to a destination node, the method comprising the steps of:

(a) injecting a request packet into the network, the request packet specifying a request to transmit the isochronous data from one of a plurality of source nodes;

(b) routing the request packet to at least one of the plurality of source nodes;

(c) determining whether the source node comprises sufficient resources to support transmitting the isochronous data;

(d) if the source node comprises sufficient resources to support transmitting the isochronous data, reserving resources within the source node to support transmitting the isochronous data, and transmitting an acknowledge (ack) packet from the source node to a first neighboring node;

(e) determining whether the first neighboring node comprises sufficient resources to support transmitting the isochronous data;

(f) if the first neighboring node comprises sufficient resources to support transmitting the isochronous data, reserving resources within the first neighboring node to support transmitting the isochronous data, and transmitting the ack packet from the first neighboring node to a node adjacent the first neighboring node; and

(g) if the first neighboring node does not comprise sufficient resources to support transmitting the isochronous data:

transmitting a negative-acknowledge (nack) packet from the first neighboring node to the source node; and

transmitting the ack packet from the source node to a second neighboring node.

2. The distributed method of establishing a path in a multi-dimensional computer network as recited in claim 1 , wherein the resources comprise memory for buffering data.

3. The distributed method of establishing a path in a multi-dimensional computer network as recited in claim 1 , wherein the resources comprise network communication circuitry.

4. The distributed method of establishing a path in a multi-dimensional computer network as recited in claim 3 , wherein:

(a) the network circuitry comprises multi-port switching circuitry comprising a plurality of virtual lanes; and

(b) the resources comprise at least one of the virtual lanes.

5. The distributed method of establishing a path in a multi-dimensional computer network as recited in claim 1 , further comprising the step of routing the request packet to a plurality of source nodes.

6. The distributed method of establishing a path in a multi-dimensional computer network as recited in claim 5 , wherein the step of routing the request packet to a plurality of source nodes comprises the steps of:

(a) transmitting the request packet to a primary source node;

(b) determining whether the primary source node comprises sufficient resources to support transmitting the isochronous data; and

(c) if the primary source node does not comprise sufficient resources to support transmitting the isochronous data, forwarding the request packet to a secondary source node.

7. The distributed method of establishing a path in a multi-dimensional computer network as recited in claim 5 , wherein the step of routing the request packet to a plurality of source nodes further comprises the steps of:

(a) multicasting the request packet to the plurality of source nodes;

(b) determining whether each of the plurality of source nodes comprises sufficient resources to support transmitting the isochronous data; and

(c) reserving resources in at least two of the plurality of source nodes to support transmitting the isochronous data.

8. The distributed method of establishing a path in a multi-dimensional computer network as recited in claim 7 , further comprises the step of relinquishing the resources reserved in one of the source nodes.

9. The distributed method of establishing a path in a multi-dimensional computer network as recited in claim 5 , wherein the step of routing the request packet to a plurality of source nodes further comprises the steps of:

(a) multicasting the request packet to the plurality of source nodes;

(b) determining whether each of the plurality of source nodes comprises sufficient resources to support transmitting the isochronous data;

(a) reserving resources in a first path of nodes between a first source node and the destination node;

(b) reserving resources in a second path of nodes between a second source node and the destination node; and

(c) relinquishing the resources reserved in the first path of nodes.

10. The distributed method of establishing a path in a multi-dimensional computer network as recited in claim 8 , further comprising the step of relinquishing the resources reserved in the first path of nodes when a node is reached comprising resources reserved to support transmitting the isochronous data through the second path of nodes.

11. The distributed method of establishing a path in a multi-dimensional computer network as recited in claim 1 , wherein the request packet comprises a lease period, further comprising the step of relinquishing the reserved resources when the lease period expires.

12. The distributed method of establishing a path in a multi-dimensional computer network as recited in claim 1 , further comprising the steps of:

(a) associating a time-out period with the reserved resources; and

(b) automatically relinquishing the reserved resources if the reserved resources remain idle beyond the time-out period.

13. A switched node for use in a multi-dimensional computer network, the switched node comprising:

(a) switching circuitry comprising more than two bi-directional ports for simultaneously transmitting data in multiple dimensions through the computer network, wherein each bi-directional port comprises an input port and an output port;

(b) a data buffer for buffering data;

(c) routing circuitry for routing data stored in the data buffer to a selected output port; and

(d) a reservation facility for reserving resources within the switch node to support requests to transmit isochronous data,

wherein:

the switched node receives a request packet to reserve resources to support transmitting isochronous data;

if the switched node comprises sufficient resources to support transmitting the isochronous data, the reservation facility reserves resources within the switched node to support transmitting the isochronous data, and the switched node transmits an acknowledge (ack) packet to a first neighboring node;

if the first neighboring node does not comprise sufficient resources to support transmitting the isochronous data, the switched node receives a negative-acknowledge (nack) packet from the first neighboring node, and the switched node transmits the ack packet to a second neighboring node.

14. The switched node as recited in claim 13 , further comprising a disk for storing data and a head actuated over the disk for writing data to and reading data from the disk.

15. The switched node as recited in claim 14 , wherein the reservation facility reserves resources associated with data read from the disk and written to the disk.

16. The switched node as recited in claim 13 , wherein the request packet comprises a lease period, and the switched node automatically relinquishes the reserved resources when the lease period expires.

17. The switched node as recited in claim 13 , wherein:

(a) a time-out period is associated with the reserved resources; and

(b) the switched node automatically relinquishes the reserved resources if the reserved resources remain idle beyond the time-out period.

18. A computer network comprising:

(a) a plurality of nodes for transmitting isochronous data from a source node to a destination node;

(b) a request node for injecting a request packet into the network, the request packet specifying a request to transmit the isochronous data from one of a plurality of source nodes; and

(c) routing circuitry for routing the request packet to at least one of the plurality of source nodes,

wherein:

the source node determines whether it comprises sufficient resources to support transmitting the isochronous data;

if the source node comprises sufficient resources to support transmitting the isochronous data, the source node reserves resources to support transmitting the isochronous data, and transmits an acknowledge (ack) packet to a first neighboring node;

the first neighboring node determines whether it comprises sufficient resources to support transmitting the isochronous data;

if the first neighboring node comprises sufficient resources to support transmitting the isochronous data, the first neighboring node reserves resources to support transmitting the isochronous data, and transmits the ack packet to a node adjacent the first neighboring node; and

if the first neighboring node does not comprise sufficient resources to support transmitting the isochronous data:

the first neighboring node transmits a negative-acknowledge (nack) packet to the source node; and

the source node transmits the ack packet to a second neighboring node.

19. The computer network as recited in claim 18 , wherein the resources comprise memory for buffering data.

20. The computer network as recited in claim 18 , wherein the resources comprise network communication circuitry.

21. The computer network as recited in claim 20 , wherein:

(a) the network circuitry comprises multi-port switching circuitry comprising a plurality of virtual lanes; and

(b) the resources comprise at least one of the virtual lanes.

22. The computer network as recited in claim 18 , wherein the routing circuitry routes the request packet to a plurality of source nodes.

23. The computer network as recited in claim 22 , wherein:

(a) the routing circuitry transmits the request packet to a primary source node;

(b) the primary source node determines whether it comprises sufficient resources to support transmitting the isochronous data; and

(c) if the primary source node does not comprise sufficient resources to support transmitting the isochronous data, the primary source node forwards the request packet to a secondary source node.

24. The computer network as recited in claim 22 , wherein:

(a) the routing circuitry multicasting the request packet to the plurality of source nodes;

(b) each of the plurality of source nodes determines whether they comprises sufficient resources to support transmitting the isochronous data; and

(c) at least two of the source nodes reserve resources to support transmitting the isochronous data.

25. The computer network as recited in claim 24 , wherein the resources reserved in one of the source nodes are relinquished.

26. The computer network as recited in claim 22 , wherein:

(a) the routing circuitry multicasting the request packet to the plurality of source nodes;

(b) each of the plurality of source nodes determines whether they comprises sufficient resources to support transmitting the isochronous data;

(d) a first node reserves resources in a first path of nodes between the first source node and the destination node;

(e) a second source node reserves resources in a second path of nodes between the second source node and the destination node; and

(f) the resources reserved in the first path of nodes are relinquished.

27. The computer network as recited in claim 26 , wherein the resources reserved in the first path of nodes are relinquished when a node is reached comprising resources reserved to support transmitting the isochronous data through the second path of nodes.

28. The computer network as recited in claim 18 , wherein:

(a) the request packet comprises a lease period; and

(b) the reserved resources are automatically relinquished when the lease period expires.

29. The computer network as recited in claim 18 , wherein:

(a) a time-out period is associated with the reserved resources; and

(b) the reserved resources are automatically relinquished if the reserved resources remain idle beyond the time-out period.

Assignments (7)
RELEASE OF SECURITY INTEREST AT REEL 053926 FRAME 0446 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 058966/0321 →
SECURITY INTEREST Recorded Sep 29, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 053926/0446 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2020
From: WESTERN DIGITAL CAPITAL, LLC
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 053208/0828 →
CHANGE OF NAME Recorded Jun 15, 2020
From: WESTERN DIGITAL CAPITAL, INC
To: WESTERN DIGITAL CAPITAL, LLC
Reel/Frame 052945/0476 →
CHANGE OF NAME Recorded Jun 11, 2020
From: WESTERN DIGITAL VENTURES, INC
To: WESTERN DIGITAL CAPITAL, INC
Reel/Frame 052919/0177 →
PROOF OF WESTERN DIGITAL VENTURES, INC'S OWNERSHIP INTEREST IN EMPLOYEE INVENTION Recorded Apr 26, 2002
From: WESTERN DIGITAL CORPORATION
To: WESTERN DIGITAL VENTURES, INC.
Reel/Frame 012856/0299 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 25, 2002
From: ENEBOE, MICHAEL K.
To: WESTERN DIGITAL VENTURES, INC.
Reel/Frame 012666/0105 →