IP Library Granted Patent US 7,382,776
Granted Patent B1
US 7,382,776 · App. 10/414,889 · Granted Jun 3, 2008

Performing block storage virtualization at a switch

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 7,382,776
App. No.
10/414,889
Granted
Jun 3, 2008
Kind
B1
Abstract

Routing a data packet includes receiving at a switch a data packet from a storage client. The data packet is associated with a destination identifier identifying a virtual target, where the virtual target is accessible by the storage client. A storage resource identifier corresponding to the destination identifier is determined according to a forwarding table at the switch. The data packet is routed according to the storage resource identifier.

Claims (39)

1. A method for routing a data packet, comprising:

receiving at a switch a data packet from a storage client, the data packet associated with a destination identifier identifying a virtual target, the virtual target accessible by the storage client;

determining a storage resource identifier corresponding to the destination identifier according to a forwarding table at the switch by determining that the storage resource identifier is associated with the virtual target, and establishing a forwarding port corresponding to a source identifier of the packet; and

routing the data packet according to the storage resource identifier.

2. The method of claim 1 , further comprising:

receiving a notification of a failure associated with the virtual target;

changing the correspondence of the destination identifier from the storage resource identifier to an alternative storage resource identifier; and

routing the data packet according to the alternative storage resource identifier.

3. The method of claim 1 , wherein routing the data packet according to the storage resource identifier comprises inserting the storage resource identifier into the data packet.

4. A system for routing a data packet, comprising:

a port operable to receive at a switch a data packet from a storage client, the data packet associated with a destination identifier identifying a virtual target, the virtual target accessible by the storage client; and

a storage service module coupled to the port and operable to:

determine a storage resource identifier corresponding to the destination identifier according to a forwarding table at the switch by determining that the storage resource identifier is associated with the virtual target, and establishing a forwarding port corresponding to a source identifier of the packet; and

route the data packet according to the storage resource identifier.

5. The system of claim 4 , wherein the storage service module is operable to:

receive a notification of a failure associated with the virtual target;

change the correspondence of the destination identifier from the storage resource identifier to an alternative storage resource identifier; and

route the data packet according to the alternative storage resource identifier.

6. The system of claim 4 , wherein the storage service module is operable to route the data packet according to the storage resource identifier by inserting the storage resource identifier into the data packet.

7. Logic for routing a data packet, the logic embodied in a medium and operable to:

receive at a switch a data packet from a storage client, the data packet associated with a destination identifier identifying a virtual target, the virtual target accessible by the storage client;

determine a storage resource identifier corresponding to the destination identifier according to a forwarding table at the switch by determining that the storage resource identifier is associated with the virtual target, and establishing a forwarding port corresponding to a source identifier of the packet; and

route the data packet according to the storage resource identifier.

8. The logic of claim 7 , further operable to:

receive a notification of a failure associated with the virtual target;

change the correspondence of the destination identifier from the storage resource identifier to an alternative storage resource identifier; and

route the data packet according to the alternative storage resource identifier.

9. The logic of claim 7 , operable to route the data packet according to the storage resource identifier by inserting the storage resource identifier into the data packet.

10. A system for routing a data packet, comprising:

means for receiving at a switch a data packet from a storage client, the data packet associated with a destination identifier identifying a virtual target, the virtual target accessible by the storage client;

means for determining a storage resource identifier corresponding to the destination identifier according to a forwarding table at the switch by determining that the storage resource identifier is associated with the virtual target, and establishing a forwarding port corresponding to a source identifier of the packet; and

means for routing the data packet according to the storage resource identifier.

11. A method for routing a data packet, comprising:

receiving at a switch a data packet from a storage client, the data packet associated with a destination identifier identifying a virtual target, the virtual target accessible by the storage client;

determining a storage resource identifier corresponding to the destination identifier according to a forwarding table at the switch by determining that the storage resource identifier is associated with the virtual target, and by establishing a forwarding port corresponding to a source identifier of the data packet;

routing the data packet according to the storage resource identifier by inserting the storage resource identifier into the data packet;

receiving a notification of a failure associated with the virtual target;

changing the correspondence of the destination identifier from the storage resource identifier to an alternative storage resource identifier; and

routing the data packet according to the alternative storage resource identifier.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047270/0247 →
CHANGE OF NAME Recorded Dec 13, 2017
From: BROCADE COMMUNICATIONS SYSTEMS, INC.
To: BROCADE COMMUNICATIONS SYSTEMS LLC
Reel/Frame 044891/0536 →
RELEASE OF SECURITY INTEREST Recorded Jan 22, 2015
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC
Reel/Frame 034804/0793 →
RELEASE OF SECURITY INTEREST Recorded Jan 21, 2015
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; INRANGE TECHNOLOGIES CORPORATION; FOUNDRY NETWORKS, LLC
Reel/Frame 034792/0540 →
SECURITY AGREEMENT Recorded Jan 20, 2010
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC; INRANGE TECHNOLOGIES CORPORATION; MCDATA CORPORATION; MCDATA SERVICES CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 023814/0587 →
SECURITY AGREEMENT Recorded Dec 22, 2008
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, INC.; INRANGE TECHNOLOGIES CORPORATION; MCDATA CORPORATION
To: BANK OF AMERICA, N.A. AS ADMINISTRATIVE AGENT
Reel/Frame 022012/0204 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 19, 2007
From: SANERA SYSTEMS, INC.
To: BROCADE COMMUNICATIONS SYSTEMS, INC.
Reel/Frame 020271/0577 →