IP Library Granted Patent US 8,904,023
Granted Patent B2
US 8,904,023 · App. 13/312,068 · Granted Dec 2, 2014

Streaming method and system for fibre channel network devices

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 8,904,023
App. No.
13/312,068
Granted
Dec 2, 2014
Kind
B2
Abstract

A system and method are disclosed for processing commands to network target devices through a SCSI router in a Fiber Channel network having a plurality of Fiber Channel hosts. The system may be configured to receive a command, and determine that the command requires a transfer of data larger than a threshold size. The system may also be configured to receive a plurality of data blocks associated with the command, store the plurality of data blocks in at least one buffer, and determine if there is an initial amount of data in the at least one buffer. The system may be further configured to forward at least one of the plurality data blocks, and request an additional data block associated with the command.

Claims (43)

1. A method of streaming data using a router, the method comprising:

receiving, at the router, a command from a host connected to a first transport medium to read blocks of data from or write blocks of data to a target device connected to a second transport medium;

determining, at the router, that the command requires a transfer of data larger than a threshold size;

receiving, at the router, a plurality of data blocks associated with the command;

storing, at the router, the plurality of data blocks in at least one buffer;

determining, at the router, that there is at least a predetermined initial amount of data in the at least one buffer;

forwarding, from the router to the host or target device, at least one of the plurality of data blocks when it has been determined that there is the at least the predetermined initial amount of data in the at least one buffer; and

requesting, from the router, an additional data block associated with the command.

2. The method of claim 1 , wherein the requesting occurs before the forwarding.

3. The method of claim 1 , wherein the requesting occurs after the forwarding.

4. The method of claim 1 , wherein the requesting occurs substantially simultaneously as the forwarding.

5. The method of claim 1 , wherein the threshold size equals the predetermined initial amount.

6. The method of claim 1 , wherein the plurality of data blocks are received from the host using a first protocol and forwarded to the target device using a second protocol, the first protocol being different from the second protocol.

7. The method of claim 1 , wherein the forwarding of at least one of the plurality of data blocks is repeated until a trigger number of the plurality of data blocks remain in the at least one buffer, and the additional data block is not requested until the trigger number of the plurality of data blocks remain in the at least one buffer.

8. A router, comprising:

a processor; and

a non-transitory computer storing instructions for:

receiving, at the router, a command from a host connected to a first transport medium to read blocks of data from or write blocks of data to a target device connected to a second transport medium;

determining, at the router, that the command requires a transfer of data larger than a threshold size;

receiving, at the router, a plurality of data blocks associated with the command;

storing, at the router, the plurality of data blocks in at least one buffer;

determining, at the router, that there is at least a predetermined initial amount of data in the at least one buffer;

forwarding, from the router to the host or target device, at least one of the plurality of data blocks when it has been determined that there is the at least the predetermined initial amount of data in the at least one buffer; and

requesting, from the router, an additional data block associated with the command.

9. The router of claim 8 , wherein the requesting occurs before the forwarding.

10. The router of claim 8 , wherein the requesting occurs after the forwarding.

11. The router of claim 8 , wherein the requesting occurs substantially simultaneously as the forwarding.

12. The router of claim 8 , wherein the threshold size equals the predetermined initial amount.

13. The router of claim 8 , wherein the plurality of data blocks are received from the host using a first protocol and transmitted to the target device using a second protocol, and the first protocol being different from the second protocol.

14. The router of claim 8 , wherein the forwarding of at least one of the plurality of data blocks is repeated until a trigger number of the plurality of data blocks remain in the at least one buffer, and the additional data block is not requested until the trigger number of the plurality of data blocks remain in the at least one buffer.

15. A non-transitory computer readable medium storing instructions for:

receiving, at a router, a command from a host connected to a first transport medium to read blocks of data from or write blocks of data to a target device connected to a second transport medium;

determining, at the router, that the command requires a transfer of data larger than a threshold size;

receiving, at the router, a plurality of data blocks associated with the command;

storing, at the router, the plurality of data blocks in at least one buffer;

determining, at the router, that there is at least a predetermined initial amount of data in the at least one buffer;

forwarding, from the router to the host or target device, at least one of the plurality of data blocks when it has been determined that there is the at least the predetermined initial amount of data in the at least one buffer; and

requesting, from the router, an additional data block associated with the first command or the second command.

16. The non-transitory computer readable medium of claim 15 , wherein the requesting occurs before the forwarding.

17. The non-transitory computer readable medium of claim 15 , wherein the requesting occurs after the forwarding.

18. The non-transitory computer readable medium of claim 15 , wherein the requesting occurs substantially simultaneously as the forwarding.

19. The non-transitory computer readable medium of claim 15 , wherein the threshold size equals the predetermined initial amount.

20. The non-transitory computer readable medium of claim 15 , wherein the plurality of data blocks are received from the host using a first protocol and forwarded to the target device using a second protocol, and the first protocol is different from the second protocol.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2014
From: FORTRESS CREDIT CO LLC
To: CF DB EZ LLC
Reel/Frame 033706/0340 →
SECURITY AGREEMENT Recorded Aug 1, 2013
From: CROSSROADS SYSTEMS, INC.
To: FORTRESS CREDIT CO LLC
Reel/Frame 030935/0910 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2013
From: CROSSROADS SYSTEMS, INC.
To: KIP CR P1 LP
Reel/Frame 030935/0916 →
SECURITY AGREEMENT Recorded Aug 1, 2013
From: KIP CR P1 LP
To: FORTRESS CREDIT CO LLC
Reel/Frame 030935/0937 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2012
From: ARROYO, KEITH M.; WILSON, STEPHEN K.
To: CROSSROADS SYSTEMS, INC.
Reel/Frame 027557/0796 →