Methods and devices for transmitting data between storage area networks
First Claim
1. A TCP stack embodied in a machine-readable medium for controlling data transmitted between storage area networks, the TCP stack comprising:
- an application layer for encapsulating outgoing frames from a first storage area network and de-encapsulating incoming frames from a second storage area network;
a TCP layer that receives outgoing frames directly from the application layer;
an IP layer that interacts with the TCP layer; and
a link layer that interacts with the IP layer, wherein the TCP stack does not include a socket layer.
1 Assignment
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, a “slim” TCP stack is provided which eliminates the socket layer found in a conventional TCP stack, thereby eliminating socket buffers and the associated buffer-to-buffer copying. Moreover, by eliminating the socket layer, one eliminates the listen state. This condition allows TCP processing in an interrupt context instead of client/server operation with a listen state. Accordingly, some aspects of the invention provide for transmitting data between SANs in an interrupt context.
-
Citations
31 Claims
-
1. A TCP stack embodied in a machine-readable medium for controlling data transmitted between storage area networks, the TCP stack comprising:
-
an application layer for encapsulating outgoing frames from a first storage area network and de-encapsulating incoming frames from a second storage area network;
a TCP layer that receives outgoing frames directly from the application layer;
an IP layer that interacts with the TCP layer; and
a link layer that interacts with the IP layer, wherein the TCP stack does not include a socket layer. - View Dependent Claims (2, 3, 4)
-
-
5. A method for controlling data transmitted between storage area networks, comprising:
-
receiving a first FCIP packet;
adding a TCP header to the first FCIP packet; and
transmitting the first FCIP packet to the Internet, wherein the receiving, adding and transmitting steps are all performed in an interrupt context. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer program embodied in a machine-readable medium for controlling data transmitted between storage area networks, the computer program including instructions for controlling a network device to perform the following steps:
-
receiving a first FCIP packet;
adding a TCP header to the first FCIP packet; and
transmitting the first FCIP packet to the Internet, wherein the receiving, adding and transmitting steps are all performed in an interrupt context. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20)
-
-
21. An apparatus for controlling data transmitted between storage area networks, the apparatus configured to perform the steps of:
-
receiving a first FCIP packet;
adding a TCP header to the first FCIP packet; and
transmitting the first FCIP packet to the Internet, wherein the receiving, adding and transmitting steps are all performed in an interrupt context. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
Specification