Methods and devices for transmitting data between storage area networks
First Claim
1. A method of transmitting data between fiber channel networks, comprising:
- receiving a packet from a first fiber channel network, wherein the packet has been transmitted via an Internet Protocol network, the packet including a first portion;
storing the first portion of the packet as at least one segment in a first memory location;
obtaining a Transmission Control Protocol (TCP) control block associated with a second fiber channel network by hashing one or more fields of the packet;
preparing the packet including the first portion for reception by the second fiber channel network without making copies of the first portion of the packet in a second memory location, wherein the preparing includes encapsulating the packet with segment boundary information of the at least one segment, generating pointer information associated with the segment boundary information, and one of storing and encoding the pointer information in the TCP control block; and
transmitting the packet including the first portion to the second fiber channel network after the packet has been prepared for transmission with the segment boundary information across the Interact Protocol network.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods and devices are provided for efficient transmission of data between storage area networks. According to some aspects of the invention, novel methods are provided for processing data packets sent by, or received from, a storage area network. Some such aspects of the invention involve storing a packet (or a portion of a packet) in a single memory location during an encapsulation or de-encapsulation process. Instead of repeatedly copying the packet during processing, pointer information is passed along that indicates the single memory location. In some aspects of the invention, the segment boundaries of a packet are retained after data transmission. If data in the packet need to be re-transmitted, the packet is re-transmitted with the same segment boundaries.
-
Citations
16 Claims
-
1. A method of transmitting data between fiber channel networks, comprising:
-
receiving a packet from a first fiber channel network, wherein the packet has been transmitted via an Internet Protocol network, the packet including a first portion; storing the first portion of the packet as at least one segment in a first memory location; obtaining a Transmission Control Protocol (TCP) control block associated with a second fiber channel network by hashing one or more fields of the packet; preparing the packet including the first portion for reception by the second fiber channel network without making copies of the first portion of the packet in a second memory location, wherein the preparing includes encapsulating the packet with segment boundary information of the at least one segment, generating pointer information associated with the segment boundary information, and one of storing and encoding the pointer information in the TCP control block; and transmitting the packet including the first portion to the second fiber channel network after the packet has been prepared for transmission with the segment boundary information across the Interact Protocol network. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer-readable storage medium comprising instructions for controlling a network device to transmit data between storage area networks by performing the following steps:
-
receiving a packet from a first storage area network, wherein the packet has been transmitted via an Internet Protocol network, the packet including a first portion; storing the first portion of the packet as at least one segment in a first memory location; obtaining a Transmission Control Protocol (TCP) control block associated with a second fiber channel network by hashing one or more fields of the packet; preparing the packet including the first portion for reception by the second fiber channel network without making copies of the first portion of the packet in a second memory location, wherein the preparing includes encapsulating the packet with segment boundary information of the at least one segment, generating pointer information associated with the segment boundary information, and one of storing and encoding the pointer information in the TCP control block; and transmitting the packet including the first portion across the Internet Protocol network after the packet has been prepared for transmission with the segment boundary information across the Internet Protocol network. - View Dependent Claims (10, 11, 12)
-
-
13. A network device for transmitting data between storage area networks, comprising:
-
a processor; and a memory, at least one of the processor or the memory being configured to perform the following steps; receiving a packet from a first storage area network, wherein the packet has been transmitted via an Internet Protocol network, the packet including a first portion; storing the first portion of the packet as at least one segment in a first memory location; obtaining a Transmission Control Protocol (TCP) control block associated with a second fiber channel network by hashing one or more fields of the packet; preparing the packet including the first portion reception by the second fiber channel network without making copies of the first portion of the packet in a second memory location, wherein the preparing includes encapsulating the packet with segment boundary information of the at least one segment, generating pointer information associated with the segment boundary information, and one of storing and encoding the pointer information in the TCP control block; and transmitting the packet including the first portion across the Internet Protocol network after the packet has been prepared for transmission with the segment boundary information. - View Dependent Claims (14, 15, 16)
-
Specification