Electrical computers and digital data processing systems: input/ – Input/output data processing – Input/output data buffering
Reexamination Certificate
2001-07-03
2004-08-17
Gaffin, Jeffrey (Department: 2182)
Electrical computers and digital data processing systems: input/
Input/output data processing
Input/output data buffering
C710S065000, C709S232000, C709S236000, C711S173000, C370S351000
Reexamination Certificate
active
06779056
ABSTRACT:
FIELD OF THE INVENTION
This invention relates to direct placement of bulk data into application buffers and reassembly of messages.
BACKGROUND OF THE INVENTION
When data is transmitted from one device to another it is controlled by a protocol such as Transport Control Protocol (TCP). A receiving device or host runs a receive process that moves the data to the required destination such as application buffers. Nowadays this process is usually implemented in software.
In current implementations data is moved via the Network Interface Card (NIC) to TCP receive buffers in the host memory. The Central Processing Unit (CPU) receives an interrupt, which may be on a per segment basis. The TCP receive process verifies that the data is in order, also on a per segment basis, and the data is finally copied into application buffers.
During this process there are two data moves across the system bus and per segment TCP receive processing by the host is slow.
The data transmitted by the TCP protocol will have originated in another ‘higher layer’ protocol. One such protocol is the iSCSI specification that defines a transport protocol for SCSI and maps the SCSI remote procedure invocation model on top of TCP.
Communications between a device on a network and a server (often termed client and server, or in SCSI specification ‘Initiator’ and ‘Target’) are divided into messages, termed iSCSI protocol data units (PDUs). The iSCSI PDUs are variable in length and consist of a message iSCSI header plus optional data, also termed the bulk data. Typically the bulk data consists of data blocks being moved between client and server.
TCP also uses variable length segments and packages PDUs received from iSCSI into segments for the transmission. An individual iSCSI PDU may be packaged across several TCP segments, for example when it contains a lot of data in addition to the iSCSI header, or when the iSCSI PDUs contain only headers of control or status information and no bulk data, several PDUs may be packaged into a single TCP segment.
Although there are not current implementations, there are proposals under iSCSI protocol for direct placement of the data portions of the iSCSI PDUs into preassigned application buffers in host memory without it being stored in TCP receive buffers. This would save on bus bandwidth, as the data is not transferred twice, and on the TCP receive side buffer space is also saved as the bulk data is not stored in the TCP receive buffers.
SUMMARY OF THE INVENTION
The present invention is directed towards implementing direct data placement message reassembly.
According to the invention there is provided a data reassembly process for a message that comprises a header and a bulk data portion and is received in a plurality of segments, in which bulk data is placed directly into application buffers and a receive buffer stores an indication of the size of the directly placed data from a plurality of segments.
The invention also provides an interface for a data reassembly process for messages that each comprise a header and a bulk data portion that are received in a plurality of segments and for which the bulk data can be placed directly into application buffers, the interface comprising a receive buffer for storing summary information including indication of the cumulative size of the directly placed data from said plurality of segments.
REFERENCES:
patent: 5265261 (1993-11-01), Rubin et al.
patent: 5799155 (1998-08-01), Yasue et al.
patent: 5916309 (1999-06-01), Brown et al.
patent: 5974518 (1999-10-01), Nogradi
patent: 6237038 (2001-05-01), Yasue et al.
patent: 2002/0095512 (2002-07-01), Rana et al.
patent: 0608541 (1994-08-01), None
patent: 0657824 (1995-06-01), None
patent: WO 01/75621 (2001-10-01), None
Gahan Richard A
O'Neill Eugene
3Com Corporation
Gaffin Jeffrey
Knapp Justin
Nixon & Vanderhye PC
LandOfFree
Direct data placement and message reassembly does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Direct data placement and message reassembly, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Direct data placement and message reassembly will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3333153