Streaming methods and systems for network devices
Abstract
A system and method are disclosed for processing commands to network target devices through a SCSI router in a Fibre Channel network having a plurality of Fibre 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
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method of streaming data using a router, the method comprising:
receiving a command; determining that the command requires a transfer of data larger than a threshold size; receiving a plurality of data blocks associated with the command; storing the plurality of data blocks in at least one buffer; determining that there is an initial amount of data in the at least one buffer; forwarding at least one of the plurality of data blocks when it has been determined that there is the initial amount of data in the at least one buffer; and requesting 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 initial amount.
6 . The method of claim 1 , wherein the plurality of data blocks are received from a host using a first protocol and forwarded to a 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 a command;
determining that the command requires a transfer of data larger than a threshold size;
receiving a plurality of data blocks associated with the command;
storing the plurality of data blocks in at least one buffer;
determining that there is an initial amount of data in the at least one buffer;
forwarding at least one of the plurality of data blocks when it has been determined that there is the initial amount of data in the at least one buffer; and
requesting 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 initial amount.
13 . The router of claim 8 , wherein the plurality of data blocks are received from a host using a first protocol and the transmitted to a 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 a command; determining that the command requires a transfer of data larger than a threshold size; receiving a plurality of data blocks associated with the command; storing the plurality of data blocks in at least one buffer; determining that there is an initial amount of data in the at least one buffer; forwarding at least one of the plurality of data blocks when it has been determined that there is the initial amount of data in the at least one buffer; and requesting an additional data block associated with the 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 initial amount.
20 . The non-transitory computer readable medium of claim 15 , wherein the plurality of data blocks are received from a host using a first protocol and forwarded to a target device using a second protocol, and the first protocol is different from the second protocol.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.