US20080317027A1 - System for reducing latency in a host ethernet adapter (hea) - Google Patents

System for reducing latency in a host ethernet adapter (hea) Download PDF

Info

Publication number
US20080317027A1
US20080317027A1 US12/200,970 US20097008A US2008317027A1 US 20080317027 A1 US20080317027 A1 US 20080317027A1 US 20097008 A US20097008 A US 20097008A US 2008317027 A1 US2008317027 A1 US 2008317027A1
Authority
US
United States
Prior art keywords
hea
connection identifier
memory
packet
system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US12/200,970
Inventor
Claude Basso
Jean Louis Calvignac
Chih-Jen Chang
Philippe Damon
Natarajan Vaidhyanathan
Fabrice Jean Verplanken
Colin Beaton Verrilli
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US11/096,353 priority Critical patent/US7508771B2/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to US12/200,970 priority patent/US20080317027A1/en
Publication of US20080317027A1 publication Critical patent/US20080317027A1/en
Application status is Abandoned legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. local area networks [LAN], wide area networks [WAN]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection (CSMA-CD)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/12Protocol engines, e.g. VLSIs or transputers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/16Transmission control protocol/internet protocol [TCP/IP] or user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/16Transmission control protocol/internet protocol [TCP/IP] or user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/22Header parsing or analysis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Application independent communication protocol aspects or techniques in packet data networks
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32High level architectural aspects of 7-layer open systems interconnection [OSI] type protocol stacks
    • H04L69/322Aspects of intra-layer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Aspects of intra-layer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer, i.e. layer two, e.g. HDLC

Abstract

A system for reducing latency in a host Ethernet adapter (HEA) includes the following. First, the HEA receives a packet with an internet protocol (IP) header and data in the HEA. The HEA parses a connection identifier from the IP header and accesses a negative cache in the HEA to determine if the connection identifier is not in a memory external to the HEA. The HEA applies a default treatment to the packet if the connection identifier is not in the memory, thereby reducing latency by decreasing access to the memory.

Description

    CROSS REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation application under 35 U.S.C. §120 and claims priority to U.S. patent application Ser. No. 11/096,353, filed Apr. 1, 2005, entitled, “Method for Reducing Latency in a Host Ethernet Adapter (HEA),” all of which is incorporated herein by reference.
  • The present application is related to the following copending U.S. patent applications:
  • U.S. patent application Ser. No. 11/097,608, (Attorney Docket No. RPS920050059US1/3485P), entitled “Host Ethernet Adapter for Networking Offload in Server Environment”, filed on even date herewith and assigned to the assignee of the present invention.
  • U.S. patent application Ser. No. 11/096,363, (Attorney Docket No. RPS920050060US1/3486P), entitled “Method and System for Accommodating Several Ethernet Ports and a Wrap Transmitted Flow Handled by a Simplified Frame-By-Frame Upper Structure”, filed on even date herewith and assigned to the assignee of the present invention.
  • U.S. patent application Ser. No. 11/096,571, (Attorney Docket No. RPS920050061US1/3487P), entitled “Method and Apparatus for Providing a Network Connection Table”, filed on even date herewith and assigned to the assignee of the present invention.
  • U.S. patent application Ser. No. 11/097,051, (Attorney Docket No. RPS920050062US1/3488P), entitled “Network Communications for Operating System Partitions”, filed on even date herewith and assigned to the assignee of the present invention.
  • U.S. patent application Ser. No. 11/097,652, (Attorney Docket No. RPS920050073US1/3502P), entitled “Configurable Ports for a Host Ethernet Adapter”, filed on even date herewith and assigned to the assignee of the present invention.
  • U.S. patent application Ser. No. 11/096,365, (Attorney Docket No. RPS920050074US1/3503P), entitled “System and Method for Parsing, Filtering, and Computing the Checksum in a Host Ethernet Adapter (HEA)”, filed on even date herewith and assigned to the assignee of the present invention.
  • U.S. patent application Ser. No. 11/097,055, (Attorney Docket No. RPS920050076US1/3505P), entitled “Method and Apparatus for Blind Checksum and Correction for Network Transmissions”, filed on even date herewith and assigned to the assignee of the present invention.
  • U.S. patent application Ser. No. 11/096,362, (Attorney Docket No. RPS920050082US1/3512P), entitled “Method and System for Performing a Packet Header Lookup”, filed on even date herewith and assigned to the assignee of the present invention.
  • U.S. patent application Ser. No. 11/097,430, (Attorney Docket No. RPS920050089US1/3516P), entitled “System and Method for Computing a Blind Checksum in a Host Ethernet Adapter (HEA)”, filed on even date herewith and assigned to the assignee of the present invention.
  • FIELD OF THE INVENTION
  • The present invention relates to adapters for parsing Internet packets generally, and specifically to a system and method for reducing latency in a host Ethernet adapter (HEA).
  • BACKGROUND OF THE INVENTION
  • A computer, or host, connects to a network through an adapter that parses, or separates, each packet received over the network. The adapter may be known as a host Ethernet adapter (HEA). A packet is composed of an Internet protocol (IP) header and some data. The IP header is composed of several fields, such as source address, destination address, ports, protocol, and some transport protocol information. These fields are known as the 5-tuple, or connection identifier (Id), and are used to identify how the packet should be handled.
  • After parsing out the connection Id, the HEA sends the connection Id to a memory external to the adapter. The external memory may have a lookup table or connection table for looking up the treatment protocol for the packet. One problem with this is that the process of sending the connection Id to the memory and having the memory look up the treatment protocol for each packet is time-consuming, resulting in an undesirable latency for the look up of the treatment protocol for packets in the adapter. Storing the connection table in the adapter is not practical due to the size of the connection table.
  • Accordingly, what is needed is a system and method for reducing latency in a host Ethernet adapter (HEA). The present invention addresses such a need.
  • BRIEF SUMMARY OF THE INVENTION
  • The present invention provides a system for reducing latency in a host Ethernet adapter (HEA) including the following. First, the HEA receives a packet with an Internet protocol (IP) header and data in the HEA. The HEA parses a connection identifier from the IP header and accesses a negative cache in the HEA to determine if the connection identifier is not in a memory external to the HEA. The HEA applies a default treatment to the packet if the connection identifier is not in the memory, thereby reducing latency by decreasing access to the memory.
  • BRIEF DESCRIPTION OF SEVERAL VIEWS OF THE DRAWINGS
  • FIG. 1 is a block diagram illustrating a host Ethernet adapter (HEA) according to one embodiment of the invention.
  • FIG. 2 is a flow diagram illustrating one embodiment of the invention implemented in the diagram of FIG. 1.
  • DETAILED DESCRIPTION OF THE INVENTION
  • The present invention relates to a system and method for reducing latency in a host Ethernet adapter (HEA). The following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiments and the generic principles and features described herein will be readily apparent to those skilled in the art. Thus, the present invention is not intended to be limited to the embodiments shown, but is to be accorded the widest scope consistent with the principles and features described herein.
  • FIG. 1 is a block diagram illustrating a host Ethernet adapter (HEA) 100 connected to a host 102 and a memory 104. The HEA contains a negative cache 106 connected to a system 108 and optionally may include a regular cache 110. The memory 104 includes a connection table 112.
  • FIG. 2 is a flow diagram illustrating one embodiment of the invention implemented in the diagram of FIG. 1. FIGS. 1 and 2 will be discussed in conjunction with one another. For simplicity, reference numerals beginning with ‘100’ will be found in FIG. 1 while reference numerals beginning with ‘200’ will be found in FIG. 2.
  • In block 200 of FIG. 2, HEA 100 receives a packet 114 with an Internet protocol (IP) header 116 and data 118. The IP header 116 includes a destination IP address 120, a source IP address 122, a protocol 124, a source port 126, and a destination port 128, which are collectively known as a connection identifier (Id) 130. The HEA 100 may receive many packets 114.
  • In block 205, the system 108 parses the connection Id 130 from the IP header 114. If HEA 100 can determine that the connection Id 130 is stored in either regular cache 110 or connection table 112, then HEA 100 will receive a specific treatment, or set of instructions, for directing packet 114. Many packets 114 fall under a default treatment setting, which means they are all treated alike. Some packets 114 require special handling, and have specific treatments that differ from the default treatment. Some packets 114 may require special handling, but the specific treatment has not been entered into regular cache 110 or connection table 112, so a default treatment is used.
  • In block 210, the system 108 may determine if the connection Id 130 is in the optional regular cache 110. If the regular cache 110 is not present in HEA 100, this block is skipped. If the connection Id 130 is in the regular cache 110, then the method of treating packet 114 may be looked up and applied in block 215. Sometimes the specific treatment listed in the regular cache 110 is the same as the default treatment had the connection Id 130 not been listed.
  • Continuing from block 210, if the connection Id 130 is not in the regular cache 110, then in block 220, system 108 accesses the negative cache 106. The negative cache 106 includes a one-bit wide bit vector 132 lacking collision resolution, with any number of entries. The HEA 100 has better performance with a smaller bit vector 132.
  • In block 225, negative cache 106 hashes the connection Id 130 with a one-bit wide hash table (not shown) for a bit position. After hashing connection Id 130, a bit position will result, for example bit position four. Then, in block 230, negative cache 106 accesses the bit vector 132 and in block 235 determines if the connection Id 130 is not in the memory 104 based on the value of the bit vector 132 at the bit position (for example, bit position four).
  • At this time, an explanation of setting the bit vector 132 will aid in understanding the invention. The bit vector 132 is initially set to a predetermined value, for example all zero to indicate that no entries are in the memory 104. When a specific treatment for a connection Id 130 is entered into memory 104, the hash table of negative cache 106 (not shown) is used to hash the connection Id 130 being stored, resulting in a bit position. That bit position represents the connection Id 130, and flipping the value from the default setting indicates the possible presence of a specific treatment for the connection Id 130 in the memory 104. Negative cache 106 can only negatively determine the presence of a connection Id 130 in the memory 104 because the hash table (not shown) and bit vector 132 lack collision resolution, meaning some connection Ids 130 will have the same hash bit position.
  • For example when storing in memory 104 the specific treatment for a connection Id 130, assume a bit vector 132 with all zeros. A hash of the connection Id 130 results in a bit position, for example bit position four, which currently has a value of zero (all the positions are currently zero). Bit position four is then switched in bit vector 132, for example from zero to one. However, other connection Ids 130, which do not receive the same treatment as the first, may also hash to position four. By changing bit position four from zero to one, the negative cache 106 establishes that at least one of possibly several connection Ids 130 with a hash value to bit position four are in the memory 104. Only by checking the memory 104 will HEA 100 be able to determine if a particular connection Id 130 is in the memory 104. However, if the value is zero, none of the connection Ids with a hash value to that bit position are in the memory 104, and the memory 104 does not need to be checked. This is why cache 106 is a ‘negative’ cache.
  • Continuing after block 235, in block 240 HEA 100 determines if the connection Id 130 is not in the memory 104. As explained above, only the absence of the connection Id 130 from the memory 130 can be answered with authority, due to the lack of collision resolution in the bit vector 132.
  • If the connection Id 130 is not in the memory 104, then in block 245 the HEA 100 applies a default treatment to the packet 114. The amount of time required to check the bit vector 132 is less than the amount of time required to check the connection table 112 in the memory 104, so avoiding access to the memory 104 decreases latency in the HEA 100.
  • In the earlier example, connection Id 130 hashed to bit position four. In bit vector 132, bit position four 134 is one, so the absence of the connection Id 130 from memory 104 cannot be established without actually checking the memory 104. Therefore, in block 250, HEA 100 accesses the memory 104. The memory 104 may access connection table 112 to determine if the connection Id 130 is present. If the connection Id 130 is present, the treatment is sent to HEA 100 and in block 260 the HEA 100 applies a specific treatment to the packet 114.
  • If the connection Id 130 is not present in the connection table 112, then in block 265 the HEA 100 applies the default treatment to the packet 114. By properly identify which packets 114 should be given a default treatment and which have a specific treatment, the efficiency of HEA 100 increases.
  • After parsing, filtering and performing other tasks on the packet 114, HEA 100 sends the data 118 on to host 102.
  • According to the method and system disclosed herein, the present invention discloses a system and method for reducing latency in a HEA. One skilled in the art will recognize that the particular standards used are exemplary, and any bandwidth-limited network may apply the invention in the above manner. The present invention has been described in accordance with the embodiments shown, and one of ordinary skill in the art will readily recognize that there could be variations to the embodiments, and any variations would be within the spirit and scope of the present invention. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims.

Claims (13)

1. A host Ethernet adapter (HEA) for reducing latency comprising:
a system for receiving a packet with an internet protocol (IP) header and data, and for parsing a connection identifier from the IP header; and
a negative cache coupled to the system, for determining if the connection identifier is not in a memory external to the HEA, the system applying a default treatment to the packet if the connection identifier is not in the memory, thereby reducing latency by decreasing access to the memory,
the negative cache further for hashing the connection identifier for a bit position, accessing a bit vector in the HEA, and for determining if the connection identifier is not in the memory based on a value of the bit vector at the bit position.
2. The HEA of claim 1 further comprising:
a regular cache coupled to the system, the system further for determining if the connection identifier is in the regular cache, and for applying a specific treatment to the packet if the connection identifier is in the regular cache.
3. The HEA of claim 1, the system for applying a specific treatment to the packet if the connection identifier is in the memory.
4. The HEA of claim 3, the system for applying the default treatment to the packet if the connection identifier is not in the memory.
5. The HEA of claim 1, a value of zero in bit vector at the bit position indicating that the connection identifier is not in the memory.
6. The HEA of claim 1, the negative cache is a one-bit wide hash table lacking collision resolution.
7. The HEA of claim 1, the connection identifier is a protocol, a source Internet protocol (IP) address, a destination IP address, a source port, and a destination port.
8. A computer readable medium encoded with computer executable instructions for reducing latency in a host Ethernet adapter (HEA), the computer executable instructions comprising:
receiving a packet with an internet protocol (IP) header and data;
parsing a connection identifier from the IP header;
accessing a negative cache in the HEA to determine if the connection identifier is not in a memory external to the HEA, the accessing a negative cache in the HEA further comprising:
hashing the connection identifier for a bit position;
accessing a bit vector in the HEA; and
determining if the connection identifier is not in the memory based on a value of the bit vector at the bit position; and
applying a default treatment to the packet if the connection identifier is not in the memory, thereby reducing latency by decreasing access to the memory.
9. The computer readable medium of claim 8, the programming instructions further comprising:
determining if the connection identifier is in a regular cache in the HEA; and
applying a specific treatment to the packet if the connection identifier is in the regular cache.
10. The computer readable medium of claim 8, the programming instructions further comprising:
determining if the connection identifier is in the memory;
applying a specific treatment to the packet if the connection identifier is in the memory; and
applying the default treatment to the packet if the connection identifier is not in the memory.
11. The computer readable medium of claim 8, a value of zero in bit vector at the bit position indicating that the connection identifier is not in the memory.
12. The computer readable medium of claim 8 wherein the negative cache is a one-bit wide hash table lacking collision resolution.
13. The computer readable medium of claim 8 wherein the connection identifier is a protocol, a source Internet protocol (IP) address, a destination IP address, a source port, and a destination port.
US12/200,970 2005-04-01 2008-08-29 System for reducing latency in a host ethernet adapter (hea) Abandoned US20080317027A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/096,353 US7508771B2 (en) 2005-04-01 2005-04-01 Method for reducing latency in a host ethernet adapter (HEA)
US12/200,970 US20080317027A1 (en) 2005-04-01 2008-08-29 System for reducing latency in a host ethernet adapter (hea)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US12/200,970 US20080317027A1 (en) 2005-04-01 2008-08-29 System for reducing latency in a host ethernet adapter (hea)

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/096,353 Continuation US7508771B2 (en) 2005-04-01 2005-04-01 Method for reducing latency in a host ethernet adapter (HEA)

Publications (1)

Publication Number Publication Date
US20080317027A1 true US20080317027A1 (en) 2008-12-25

Family

ID=36499143

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/096,353 Expired - Fee Related US7508771B2 (en) 2005-04-01 2005-04-01 Method for reducing latency in a host ethernet adapter (HEA)
US12/200,970 Abandoned US20080317027A1 (en) 2005-04-01 2008-08-29 System for reducing latency in a host ethernet adapter (hea)

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/096,353 Expired - Fee Related US7508771B2 (en) 2005-04-01 2005-04-01 Method for reducing latency in a host ethernet adapter (HEA)

Country Status (7)

Country Link
US (2) US7508771B2 (en)
EP (1) EP1864463B1 (en)
JP (1) JP4742137B2 (en)
CN (1) CN101151870B (en)
DE (1) DE602006007827D1 (en)
TW (1) TWI353150B (en)
WO (1) WO2006103166A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7715428B2 (en) * 2007-01-31 2010-05-11 International Business Machines Corporation Multicore communication processing
US20140160954A1 (en) 2012-12-12 2014-06-12 International Business Machines Corporation Host ethernet adapter frame forwarding
US9270620B2 (en) 2013-09-25 2016-02-23 International Business Machines Corporation Memory transfer optimization of network adapter data placement when performing header-data split operations

Citations (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1724198A (en) * 1927-06-30 1929-08-13 Utica Products Inc Electric heater
US4825406A (en) * 1981-10-05 1989-04-25 Digital Equipment Corporation Secondary storage facility employing serial communications between drive and controller
US5058110A (en) * 1989-05-03 1991-10-15 Ultra Network Technologies Protocol processor
US5172371A (en) * 1990-08-09 1992-12-15 At&T Bell Laboratories Growable switch
US5359659A (en) * 1992-06-19 1994-10-25 Doren Rosenthal Method for securing software against corruption by computer viruses
US5430842A (en) * 1992-05-29 1995-07-04 Hewlett-Packard Company Insertion of network data checksums by a network adapter
US5442802A (en) * 1992-01-03 1995-08-15 International Business Machines Corporation Asynchronous co-processor data mover method and means
US5752078A (en) * 1995-07-10 1998-05-12 International Business Machines Corporation System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory
US5765165A (en) * 1996-02-29 1998-06-09 Sun Microsystems, Inc. Fast method of determining duplicates on a linked list
US5983274A (en) * 1997-05-08 1999-11-09 Microsoft Corporation Creation and use of control information associated with packetized network data by protocol drivers and device drivers
US5991299A (en) * 1997-09-11 1999-11-23 3Com Corporation High speed header translation processing
US6041058A (en) * 1997-09-11 2000-03-21 3Com Corporation Hardware filtering method and apparatus
US6173364B1 (en) * 1997-01-15 2001-01-09 At&T Corp. Session cache and rule caching method for a dynamic filter
US6266700B1 (en) * 1995-12-20 2001-07-24 Peter D. Baker Network filtering system
US20010027496A1 (en) * 1997-10-14 2001-10-04 Alacritech, Inc. Passing a communication control block to a local device such that a message is processed on the device
US20020048270A1 (en) * 1999-08-27 2002-04-25 Allen James Johnson Network switch using network processor and methods
US6400730B1 (en) * 1999-03-10 2002-06-04 Nishan Systems, Inc. Method and apparatus for transferring data between IP network devices and SCSI and fibre channel devices over an IP network
US6427169B1 (en) * 1999-07-30 2002-07-30 Intel Corporation Parsing a packet header
US20030022792A1 (en) * 1998-08-13 2003-01-30 Erwing Hacker Herbicidal compositions for tolerant or resistant cereal crops
US20030026252A1 (en) * 2001-07-31 2003-02-06 Thunquest Gary L. Data packet structure for directly addressed multicast protocol
US20030088689A1 (en) * 2001-11-08 2003-05-08 Alexander Cedell A. Methods and systems for efficiently delivering data to a plurality of destinations in a computer network
US20030103499A1 (en) * 2001-11-21 2003-06-05 Tom Davis Configurable packet processor
US20030154399A1 (en) * 2002-02-08 2003-08-14 Nir Zuk Multi-method gateway-based network security systems and methods
US6650640B1 (en) * 1999-03-01 2003-11-18 Sun Microsystems, Inc. Method and apparatus for managing a network flow in a high performance network interface
US6658002B1 (en) * 1998-06-30 2003-12-02 Cisco Technology, Inc. Logical operation unit for packet processing
US20030227920A1 (en) * 2002-04-11 2003-12-11 Alain Benayoun Switchover system and method in a data packet switching network
US6678746B1 (en) * 2000-08-01 2004-01-13 Hewlett-Packard Development Company, L.P. Processing network packets
US20040022094A1 (en) * 2002-02-25 2004-02-05 Sivakumar Radhakrishnan Cache usage for concurrent multiple streams
US20040030766A1 (en) * 2002-08-12 2004-02-12 Michael Witkowski Method and apparatus for switch fabric configuration
US20040064590A1 (en) * 2000-09-29 2004-04-01 Alacritech, Inc. Intelligent network storage interface system
US6724769B1 (en) * 1999-09-23 2004-04-20 Advanced Micro Devices, Inc. Apparatus and method for simultaneously accessing multiple network switch buffers for storage of data units of data frames
US6728929B1 (en) * 2001-02-16 2004-04-27 Spirent Communications Of Calabasas, Inc. System and method to insert a TCP checksum in a protocol neutral manner
US20040081145A1 (en) * 2001-11-09 2004-04-29 Kal Harrekilde-Petersen Means and a method for switching data packets or frames
US6735670B1 (en) * 2000-05-12 2004-05-11 3Com Corporation Forwarding table incorporating hash table and content addressable memory
US20040100952A1 (en) * 1997-10-14 2004-05-27 Boucher Laurence B. Method and apparatus for dynamic packet batching with a high performance network interface
US20040109465A1 (en) * 2002-12-10 2004-06-10 Do Yeon Kim 10-Gigabit ethernet line interface apparatus and method of controlling the same
US6751229B1 (en) * 1999-07-20 2004-06-15 Sony United Kingdom Limited Network terminator
US6754662B1 (en) * 2000-08-01 2004-06-22 Nortel Networks Limited Method and apparatus for fast and consistent packet classification via efficient hash-caching
US20040128398A1 (en) * 2001-02-15 2004-07-01 Banderacom Work queue to TCP/IP translation
US6788697B1 (en) * 1999-12-06 2004-09-07 Nortel Networks Limited Buffer management scheme employing dynamic thresholds
US20040177275A1 (en) * 2003-03-06 2004-09-09 Rose Kenneth M. Apparatus and method for filtering IP packets
US6795870B1 (en) * 2000-04-13 2004-09-21 International Business Machines Corporation Method and system for network processor scheduler
US20040218623A1 (en) * 2003-05-01 2004-11-04 Dror Goldenberg Hardware calculation of encapsulated IP, TCP and UDP checksums by a switch fabric channel adapter
US6822968B1 (en) * 1999-12-29 2004-11-23 Advanced Micro Devices, Inc. Method and apparatus for accounting for delays caused by logic in a network interface by integrating logic into a media access controller
US20050022017A1 (en) * 2003-06-24 2005-01-27 Maufer Thomas A. Data structures and state tracking for network protocol processing
US20050076136A1 (en) * 2002-09-17 2005-04-07 Samsung Electronics Co., Ltd. Apparatus and method for streaming multimedia data
US20050089031A1 (en) * 2003-10-23 2005-04-28 Jon Krueger Determining a checksum from packet data
US20050108611A1 (en) * 2003-11-14 2005-05-19 Intel Corporation Early CRC delivery for partial frame
US20050114663A1 (en) * 2003-11-21 2005-05-26 Finisar Corporation Secure network access devices with data encryption
US20050120160A1 (en) * 2003-08-20 2005-06-02 Jerry Plouffe System and method for managing virtual servers
US20050149677A1 (en) * 2003-08-25 2005-07-07 Hitachi, Ltd. Apparatus and method for partitioning and managing subsystem logics
US20050174153A1 (en) * 2004-02-09 2005-08-11 Nec Electronics Corporation Fractional frequency divider circuit and data transmission apparatus using the same
US6937574B1 (en) * 1999-03-16 2005-08-30 Nortel Networks Limited Virtual private networks and methods for their operation
US6954463B1 (en) * 2000-12-11 2005-10-11 Cisco Technology, Inc. Distributed packet processing architecture for network access servers
US20050256975A1 (en) * 2004-05-06 2005-11-17 Marufa Kaniz Network interface with security association data prefetch for high speed offloaded security processing
US6970419B1 (en) * 1998-08-07 2005-11-29 Nortel Networks Limited Method and apparatus for preserving frame ordering across aggregated links between source and destination nodes
US6976205B1 (en) * 2001-09-21 2005-12-13 Syrus Ziai Method and apparatus for calculating TCP and UDP checksums while preserving CPU resources
US6988235B2 (en) * 2000-03-02 2006-01-17 Agere Systems Inc. Checksum engine and a method of operation thereof
US20060015648A1 (en) * 2004-06-30 2006-01-19 Nokia Inc. Chaining control marker data structure
US20060031600A1 (en) * 2004-08-03 2006-02-09 Ellis Jackson L Method of processing a context for execution
US7003118B1 (en) * 2000-11-27 2006-02-21 3Com Corporation High performance IPSEC hardware accelerator for packet classification
US7023811B2 (en) * 2001-01-17 2006-04-04 Intel Corporation Switched fabric network and method of mapping nodes using batch requests
US7031304B1 (en) * 2002-09-11 2006-04-18 Redback Networks Inc. Method and apparatus for selective packet Mirroring
US20060120289A1 (en) * 2004-12-07 2006-06-08 International Business Machines Corporation Packet flow control in switched full duplex ethernet networks
US7062570B2 (en) * 2000-08-04 2006-06-13 Avaya Technology, Corp. High performance server farm with tagging and pipelining
US20060187928A1 (en) * 2005-02-01 2006-08-24 Mcgee Michael S Automated configuration of point-to-point load balancing between teamed network resources of peer devices
US7098685B1 (en) * 2003-07-14 2006-08-29 Lattice Semiconductor Corporation Scalable serializer-deserializer architecture and programmable interface
US20060216958A1 (en) * 2005-03-25 2006-09-28 Cisco Technology, Inc. (A California Corporation) Carrier card converter for 10 gigabit ethernet slots
US7124198B2 (en) * 2001-10-30 2006-10-17 Microsoft Corporation Apparatus and method for scaling TCP off load buffer requirements by segment size
US7131140B1 (en) * 2000-12-29 2006-10-31 Cisco Technology, Inc. Method for protecting a firewall load balancer from a denial of service attack
US7134796B2 (en) * 2004-08-25 2006-11-14 Opnext, Inc. XFP adapter module
US7164678B2 (en) * 2001-06-25 2007-01-16 Intel Corporation Control of processing order for received network packets
US7218632B1 (en) * 2000-12-06 2007-05-15 Cisco Technology, Inc. Packet processing engine architecture
US7251704B2 (en) * 2002-08-23 2007-07-31 Intel Corporation Store and forward switch device, system and method
US7260120B2 (en) * 2002-11-07 2007-08-21 Electronics And Telecommunications Research Institute Ethernet switching apparatus and method using frame multiplexing and demultiplexing
US7269661B2 (en) * 2002-02-12 2007-09-11 Bradley Richard Ree Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet
US7271706B2 (en) * 2002-10-09 2007-09-18 The University Of Mississippi Termite acoustic detection
US7274706B1 (en) * 2001-04-24 2007-09-25 Syrus Ziai Methods and systems for processing network data
US7283528B1 (en) * 2002-03-22 2007-10-16 Raymond Marcelino Manese Lim On the fly header checksum processing using dedicated logic
US7286557B2 (en) * 2001-11-16 2007-10-23 Intel Corporation Interface and related methods for rate pacing in an ethernet architecture
US7292591B2 (en) * 2004-03-30 2007-11-06 Extreme Networks, Inc. Packet processing system architecture and method
US7292586B2 (en) * 2001-03-30 2007-11-06 Nokia Inc. Micro-programmable protocol packet parser and encapsulator
US7295553B2 (en) * 2001-05-14 2007-11-13 Fujitsu Limited Packet buffer
US7298761B2 (en) * 2003-05-09 2007-11-20 Institute For Information Industry Link path searching and maintaining method for a bluetooth scatternet
US7308006B1 (en) * 2000-02-11 2007-12-11 Lucent Technologies Inc. Propagation and detection of faults in a multiplexed communication system
US7349399B1 (en) * 2002-09-20 2008-03-25 Redback Networks, Inc. Method and apparatus for out-of-order processing of packets using linked lists
US7360217B2 (en) * 2001-09-28 2008-04-15 Consentry Networks, Inc. Multi-threaded packet processing engine for stateful packet processing
US7366194B2 (en) * 2001-04-18 2008-04-29 Brocade Communications Systems, Inc. Fibre channel zoning by logical unit number in hardware

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3494028B2 (en) * 1998-09-04 2004-02-03 三菱電機株式会社 Search system
JP2000151424A (en) * 1998-11-11 2000-05-30 Sony Corp Data sink and method, and served medium
US6442617B1 (en) * 1999-03-31 2002-08-27 3Com Corporation Method and system for filtering multicast packets in a peripheral component environment
WO2003049488A1 (en) 2001-12-03 2003-06-12 Vitesse Semiconductor Company Interface to operate groups of inputs/outputs
CN100338923C (en) 2002-10-31 2007-09-19 中兴通讯股份有限公司 Method of realizing IP message partition and recombination based on network processor

Patent Citations (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US1724198A (en) * 1927-06-30 1929-08-13 Utica Products Inc Electric heater
US4825406A (en) * 1981-10-05 1989-04-25 Digital Equipment Corporation Secondary storage facility employing serial communications between drive and controller
US5058110A (en) * 1989-05-03 1991-10-15 Ultra Network Technologies Protocol processor
US5172371A (en) * 1990-08-09 1992-12-15 At&T Bell Laboratories Growable switch
US5442802A (en) * 1992-01-03 1995-08-15 International Business Machines Corporation Asynchronous co-processor data mover method and means
US5430842A (en) * 1992-05-29 1995-07-04 Hewlett-Packard Company Insertion of network data checksums by a network adapter
US5359659A (en) * 1992-06-19 1994-10-25 Doren Rosenthal Method for securing software against corruption by computer viruses
US5752078A (en) * 1995-07-10 1998-05-12 International Business Machines Corporation System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory
US6266700B1 (en) * 1995-12-20 2001-07-24 Peter D. Baker Network filtering system
US5765165A (en) * 1996-02-29 1998-06-09 Sun Microsystems, Inc. Fast method of determining duplicates on a linked list
US6173364B1 (en) * 1997-01-15 2001-01-09 At&T Corp. Session cache and rule caching method for a dynamic filter
US5983274A (en) * 1997-05-08 1999-11-09 Microsoft Corporation Creation and use of control information associated with packetized network data by protocol drivers and device drivers
US6041058A (en) * 1997-09-11 2000-03-21 3Com Corporation Hardware filtering method and apparatus
US5991299A (en) * 1997-09-11 1999-11-23 3Com Corporation High speed header translation processing
US20010027496A1 (en) * 1997-10-14 2001-10-04 Alacritech, Inc. Passing a communication control block to a local device such that a message is processed on the device
US20040100952A1 (en) * 1997-10-14 2004-05-27 Boucher Laurence B. Method and apparatus for dynamic packet batching with a high performance network interface
US6658002B1 (en) * 1998-06-30 2003-12-02 Cisco Technology, Inc. Logical operation unit for packet processing
US6970419B1 (en) * 1998-08-07 2005-11-29 Nortel Networks Limited Method and apparatus for preserving frame ordering across aggregated links between source and destination nodes
US20030022792A1 (en) * 1998-08-13 2003-01-30 Erwing Hacker Herbicidal compositions for tolerant or resistant cereal crops
US6650640B1 (en) * 1999-03-01 2003-11-18 Sun Microsystems, Inc. Method and apparatus for managing a network flow in a high performance network interface
US6400730B1 (en) * 1999-03-10 2002-06-04 Nishan Systems, Inc. Method and apparatus for transferring data between IP network devices and SCSI and fibre channel devices over an IP network
US6937574B1 (en) * 1999-03-16 2005-08-30 Nortel Networks Limited Virtual private networks and methods for their operation
US6751229B1 (en) * 1999-07-20 2004-06-15 Sony United Kingdom Limited Network terminator
US6427169B1 (en) * 1999-07-30 2002-07-30 Intel Corporation Parsing a packet header
US20020048270A1 (en) * 1999-08-27 2002-04-25 Allen James Johnson Network switch using network processor and methods
US6724769B1 (en) * 1999-09-23 2004-04-20 Advanced Micro Devices, Inc. Apparatus and method for simultaneously accessing multiple network switch buffers for storage of data units of data frames
US6788697B1 (en) * 1999-12-06 2004-09-07 Nortel Networks Limited Buffer management scheme employing dynamic thresholds
US6822968B1 (en) * 1999-12-29 2004-11-23 Advanced Micro Devices, Inc. Method and apparatus for accounting for delays caused by logic in a network interface by integrating logic into a media access controller
US7308006B1 (en) * 2000-02-11 2007-12-11 Lucent Technologies Inc. Propagation and detection of faults in a multiplexed communication system
US6988235B2 (en) * 2000-03-02 2006-01-17 Agere Systems Inc. Checksum engine and a method of operation thereof
US6795870B1 (en) * 2000-04-13 2004-09-21 International Business Machines Corporation Method and system for network processor scheduler
US6735670B1 (en) * 2000-05-12 2004-05-11 3Com Corporation Forwarding table incorporating hash table and content addressable memory
US6678746B1 (en) * 2000-08-01 2004-01-13 Hewlett-Packard Development Company, L.P. Processing network packets
US6754662B1 (en) * 2000-08-01 2004-06-22 Nortel Networks Limited Method and apparatus for fast and consistent packet classification via efficient hash-caching
US7062570B2 (en) * 2000-08-04 2006-06-13 Avaya Technology, Corp. High performance server farm with tagging and pipelining
US20040064590A1 (en) * 2000-09-29 2004-04-01 Alacritech, Inc. Intelligent network storage interface system
US7003118B1 (en) * 2000-11-27 2006-02-21 3Com Corporation High performance IPSEC hardware accelerator for packet classification
US7218632B1 (en) * 2000-12-06 2007-05-15 Cisco Technology, Inc. Packet processing engine architecture
US6954463B1 (en) * 2000-12-11 2005-10-11 Cisco Technology, Inc. Distributed packet processing architecture for network access servers
US7131140B1 (en) * 2000-12-29 2006-10-31 Cisco Technology, Inc. Method for protecting a firewall load balancer from a denial of service attack
US7023811B2 (en) * 2001-01-17 2006-04-04 Intel Corporation Switched fabric network and method of mapping nodes using batch requests
US20040128398A1 (en) * 2001-02-15 2004-07-01 Banderacom Work queue to TCP/IP translation
US6728929B1 (en) * 2001-02-16 2004-04-27 Spirent Communications Of Calabasas, Inc. System and method to insert a TCP checksum in a protocol neutral manner
US7292586B2 (en) * 2001-03-30 2007-11-06 Nokia Inc. Micro-programmable protocol packet parser and encapsulator
US7366194B2 (en) * 2001-04-18 2008-04-29 Brocade Communications Systems, Inc. Fibre channel zoning by logical unit number in hardware
US7274706B1 (en) * 2001-04-24 2007-09-25 Syrus Ziai Methods and systems for processing network data
US7295553B2 (en) * 2001-05-14 2007-11-13 Fujitsu Limited Packet buffer
US7164678B2 (en) * 2001-06-25 2007-01-16 Intel Corporation Control of processing order for received network packets
US20030026252A1 (en) * 2001-07-31 2003-02-06 Thunquest Gary L. Data packet structure for directly addressed multicast protocol
US6976205B1 (en) * 2001-09-21 2005-12-13 Syrus Ziai Method and apparatus for calculating TCP and UDP checksums while preserving CPU resources
US7360217B2 (en) * 2001-09-28 2008-04-15 Consentry Networks, Inc. Multi-threaded packet processing engine for stateful packet processing
US7124198B2 (en) * 2001-10-30 2006-10-17 Microsoft Corporation Apparatus and method for scaling TCP off load buffer requirements by segment size
US20030088689A1 (en) * 2001-11-08 2003-05-08 Alexander Cedell A. Methods and systems for efficiently delivering data to a plurality of destinations in a computer network
US20040081145A1 (en) * 2001-11-09 2004-04-29 Kal Harrekilde-Petersen Means and a method for switching data packets or frames
US7286557B2 (en) * 2001-11-16 2007-10-23 Intel Corporation Interface and related methods for rate pacing in an ethernet architecture
US20030103499A1 (en) * 2001-11-21 2003-06-05 Tom Davis Configurable packet processor
US20030154399A1 (en) * 2002-02-08 2003-08-14 Nir Zuk Multi-method gateway-based network security systems and methods
US7269661B2 (en) * 2002-02-12 2007-09-11 Bradley Richard Ree Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet
US20040022094A1 (en) * 2002-02-25 2004-02-05 Sivakumar Radhakrishnan Cache usage for concurrent multiple streams
US7283528B1 (en) * 2002-03-22 2007-10-16 Raymond Marcelino Manese Lim On the fly header checksum processing using dedicated logic
US20030227920A1 (en) * 2002-04-11 2003-12-11 Alain Benayoun Switchover system and method in a data packet switching network
US20040030766A1 (en) * 2002-08-12 2004-02-12 Michael Witkowski Method and apparatus for switch fabric configuration
US7251704B2 (en) * 2002-08-23 2007-07-31 Intel Corporation Store and forward switch device, system and method
US7031304B1 (en) * 2002-09-11 2006-04-18 Redback Networks Inc. Method and apparatus for selective packet Mirroring
US20050076136A1 (en) * 2002-09-17 2005-04-07 Samsung Electronics Co., Ltd. Apparatus and method for streaming multimedia data
US7349399B1 (en) * 2002-09-20 2008-03-25 Redback Networks, Inc. Method and apparatus for out-of-order processing of packets using linked lists
US7271706B2 (en) * 2002-10-09 2007-09-18 The University Of Mississippi Termite acoustic detection
US7260120B2 (en) * 2002-11-07 2007-08-21 Electronics And Telecommunications Research Institute Ethernet switching apparatus and method using frame multiplexing and demultiplexing
US20040109465A1 (en) * 2002-12-10 2004-06-10 Do Yeon Kim 10-Gigabit ethernet line interface apparatus and method of controlling the same
US20040177275A1 (en) * 2003-03-06 2004-09-09 Rose Kenneth M. Apparatus and method for filtering IP packets
US20040218623A1 (en) * 2003-05-01 2004-11-04 Dror Goldenberg Hardware calculation of encapsulated IP, TCP and UDP checksums by a switch fabric channel adapter
US7298761B2 (en) * 2003-05-09 2007-11-20 Institute For Information Industry Link path searching and maintaining method for a bluetooth scatternet
US20050022017A1 (en) * 2003-06-24 2005-01-27 Maufer Thomas A. Data structures and state tracking for network protocol processing
US7098685B1 (en) * 2003-07-14 2006-08-29 Lattice Semiconductor Corporation Scalable serializer-deserializer architecture and programmable interface
US20050120160A1 (en) * 2003-08-20 2005-06-02 Jerry Plouffe System and method for managing virtual servers
US20050149677A1 (en) * 2003-08-25 2005-07-07 Hitachi, Ltd. Apparatus and method for partitioning and managing subsystem logics
US20050089031A1 (en) * 2003-10-23 2005-04-28 Jon Krueger Determining a checksum from packet data
US20050108611A1 (en) * 2003-11-14 2005-05-19 Intel Corporation Early CRC delivery for partial frame
US20050114663A1 (en) * 2003-11-21 2005-05-26 Finisar Corporation Secure network access devices with data encryption
US20050174153A1 (en) * 2004-02-09 2005-08-11 Nec Electronics Corporation Fractional frequency divider circuit and data transmission apparatus using the same
US7292591B2 (en) * 2004-03-30 2007-11-06 Extreme Networks, Inc. Packet processing system architecture and method
US20050256975A1 (en) * 2004-05-06 2005-11-17 Marufa Kaniz Network interface with security association data prefetch for high speed offloaded security processing
US20060015648A1 (en) * 2004-06-30 2006-01-19 Nokia Inc. Chaining control marker data structure
US20060031600A1 (en) * 2004-08-03 2006-02-09 Ellis Jackson L Method of processing a context for execution
US7134796B2 (en) * 2004-08-25 2006-11-14 Opnext, Inc. XFP adapter module
US20060120289A1 (en) * 2004-12-07 2006-06-08 International Business Machines Corporation Packet flow control in switched full duplex ethernet networks
US20060187928A1 (en) * 2005-02-01 2006-08-24 Mcgee Michael S Automated configuration of point-to-point load balancing between teamed network resources of peer devices
US20060216958A1 (en) * 2005-03-25 2006-09-28 Cisco Technology, Inc. (A California Corporation) Carrier card converter for 10 gigabit ethernet slots

Also Published As

Publication number Publication date
EP1864463A1 (en) 2007-12-12
DE602006007827D1 (en) 2009-08-27
JP4742137B2 (en) 2011-08-10
US20060221951A1 (en) 2006-10-05
JP2008535341A (en) 2008-08-28
CN101151870A (en) 2008-03-26
CN101151870B (en) 2011-04-20
WO2006103166A1 (en) 2006-10-05
US7508771B2 (en) 2009-03-24
TWI353150B (en) 2011-11-21
EP1864463B1 (en) 2009-07-15
TW200644544A (en) 2006-12-16

Similar Documents

Publication Publication Date Title
US9455967B2 (en) Load balancing hash computation for network switches
USRE45070E1 (en) Receive processing with network protocol bypass
EP1629656B1 (en) Processing data for a tcp connection using an offload unit
US7535913B2 (en) Gigabit ethernet adapter supporting the iSCSI and IPSEC protocols
US7471681B2 (en) Determining network path transmission unit
JP4807861B2 (en) Host Ethernet adapter for networking offload in server environments
JP4012545B2 (en) Remote direct memory access enabled network interface controller switchover and switchback support
US8718096B2 (en) Packet coalescing
JP3777161B2 (en) Efficient processing of the multicast transmission
US7640364B2 (en) Port aggregation for network connections that are offloaded to network interface devices
US9088451B2 (en) System and method for network interfacing in a multiple network environment
CN100552626C (en) Method to synchronize and upload an offloaded network stack connection with a network stack
US20090077648A1 (en) Method for managing network filter based policies
JP4886685B2 (en) Apparatus and method for supporting memory management in network protocol processing offload
US6714985B1 (en) Method and apparatus for efficiently reassembling fragments received at an intermediate station in a computer network
EP0993638B1 (en) Fast-forwarding and filtering of network packets in a computer system
US7355970B2 (en) Method and apparatus for enabling access on a network switch
US8005022B2 (en) Host operating system bypass for packets destined for a virtual machine
US7895431B2 (en) Packet queuing, scheduling and ordering
US7930349B2 (en) Method and apparatus for reducing host overhead in a socket server implementation
US9043671B2 (en) Data protocol
DE60305378T2 (en) A method of sharing a network stack
US20020188871A1 (en) System and method for managing security packet processing
US7143196B2 (en) System and method for span port configuration
US7404012B2 (en) System and method for dynamic link aggregation in a shared I/O subsystem

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION