US Patent No: 7,191,241

Number of patents in Portfolio can not be more than 2000

Fast-path apparatus for receiving data corresponding to a TCP connection

Stats

ALSO PUBLISHED AS: 20040064589
ATTORNEY / AGENT: (SPONSORED)
 

Importance

Loading Importance Indicators... loading....

Abstract

A system for protocol processing in a computer network has an intelligent network interface card (INIC) or communication processing device (CPD) associated with a host computer. The INIC provides a fast-path that avoids protocol processing for most large multi-packet messages, greatly accelerating data communication. The INIC also assists the host for those message packets that are chosen for processing by host software layers. A communication control block for a message is defined that allows DMA controllers of the INIC to move data, free of headers, directly to or from a destination or source in the host. The context is stored in the INIC as a communication control block (CCB) that can be passed back to the host for message processing by the host. The INIC contains specialized hardware circuits that are much faster at their specific tasks than a general purpose CPU. A preferred embodiment includes a trio of pipelined processors with separate processors devoted to transmit, receive and management processing, with full duplex communication for four fast Ethernet nodes.

Loading the Abstract Image... loading....

First Claim

Related Publications

Loading Related Publications... loading....

Patent Owner(s)

Patent OwnerAddressTotal Patents
ALACRITECH, INC.SAN JOSE, CA62

International Classification(s)

  • [Classification Symbol]
  • [Patents Count]

Inventor(s)

Inventor Name Address # of filed Patents Total Citations
Blightman, Stephen E J San Jose, CA 42 3063
Boucher, Laurence B Saratoga, CA 76 6043
Craft, Peter K San Francisco, CA 71 3978
Higgen, David A Saratoga, CA 61 3683
Philbrick, Clive M San Jose, CA 82 4655
Starr, Daryl D Milpitas, CA 61 4044

Cited Art

Patent Info (Count) # Cites Year
 
INTERNATIONAL BUSINESS MACHINES CORPORATION (19)
4,991,133 Specialized communications processor for layered protocols 144 1988
5,418,912 System and method for controlling buffer transmission of data packets by limiting buffered data packets in a communication session 44 1993
5,448,566 Method and apparatus for facilitating communication in a multilayer communication architecture via a dynamic communication channel 99 1993
5,535,375 File manager for files shared by heterogeneous clients 167 1994
5,634,127 Methods and apparatus for implementing a message driven processor in a client-server environment 240 1994
5,634,099 Direct memory access unit for transferring data between processor memories in multiprocessing systems 87 1994
5,629,933 Method and system for enhanced communication in a multisession packet based communication system 61 1995
5,752,078 System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory 87 1995
5,619,650 Network processor for transforming a message transported from an I/O channel to a network by adding a message identifier and then converting the message 151 1995
5,727,142 Method for a non-disruptive host connection switch after detection of an error condition or during a host outage or failure 50 1996
5,802,258 Loosely coupled system environment designed to handle a non-disruptive host connection switch after detection of an error condition or during a host outage or failure 92 1996
5,878,225 Dual communication services interface for distributed transaction processing 67 1996
6,038,562 Interface to support state-dependent web applications accessing a relational database 56 1996
5,892,903 Method and apparatus for detecting and identifying security vulnerabilities in an open network computer communication system 298 1996
5,930,830 System and method for concatenating discontiguous memory pages 80 1997
6,021,507 Method for a non-disruptive host connection switch after detection of an error condition or during a host outage or failure 45 1997
6,044,438 Memory controller for controlling memory accesses across networks in distributed shared memory processing systems 92 1997
5,950,203 Method and apparatus for high-speed access to and sharing of storage devices on a networked digital data processing system 110 1997
6,681,364 Cyclic redundancy check for partitioned frames 48 1999
 
HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. (16)
5,758,084 Apparatus for parallel client/server communication having data structures which stored values indicative of connection state and advancing the connection state of established connections 74 1995
5,592,622 Network intermediate system with message passing architecture 177 1995
5,664,114 Asynchronous FIFO queuing system operating with minimal queue status 76 1995
5,812,775 Method and apparatus for internetworking buffer management 85 1995
6,047,323 Creation and migration of distributed streams in clusters of networked computers 325 1996
6,233,242 Network switch with shared memory system 84 1996
5,771,349 Network packet switch using shared memory for repeating and bridging packets at media rate 85 1997
5,991,299 High speed header translation processing 114 1997
6,041,058 Hardware filtering method and apparatus 93 1997
6,172,980 Multiple protocol support 100 1997
6,289,023 Hardware checksum assist for network protocol stacks 76 1997
5,937,169 Offload of TCP segmentation to a smart adapter 229 1997
6,057,863 Dual purpose apparatus, method and system for accelerated graphics port and fibre channel arbitrated loop interfaces 128 1997
6,016,513 Method of preventing packet loss during transfers of data packets between a network interface card and an operating system of a computer 55 1998
6,246,683 Receive processing with network protocol bypass 136 1998
6,526,446 Hardware only transmission control protocol segmentation for a high performance network interface card 42 1999
 
SUN MICROSYSTEMS, INC. (13)
5,758,186 Method and apparatus for generically handling diverse protocol method calls in a client/server computer system 104 1995
5,758,089 Method and apparatus for burst transferring ATM packet header and data to a host computer system 75 1995
5,848,293 Method and apparatus for transmission and processing of virtual commands 44 1995
5,749,095 Multiprocessing system configured to perform efficient write operations 116 1996
5,920,566 Routing in a multi-layer distributed network element 177 1997
6,049,528 Trunking ethernet-compatible networks 156 1997
6,021,446 Network device driver performing initial packet processing within high priority hardware interrupt service routine and then finishing processing within low priority software interrupt service routine 51 1997
6,356,951 System for parsing a packet for conformity with a predetermined protocol using mask and comparison values included in a parsing instruction 143 1999
6,389,468 Method and apparatus for distributing network traffic processing on a multiprocessor computer 131 1999
6,434,651 Method and apparatus for suppressing interrupts in a high-speed network environment 59 1999
6,453,360 High performance network interface 155 1999
6,480,489 Method and apparatus for data re-assembly with a high performance network interface 100 1999
6,650,640 Method and apparatus for managing a network flow in a high performance network interface 147 1999
 
ADAPTEC, INC. (6)
6,009,478 File array communications interface for communicating between a host computer and an adapter 81 1997
6,070,200 Host adapter having paged data buffers for continuously transferring data between a system bus and a peripheral bus 92 1998
6,202,105 Host adapter capable of simultaneously transmitting and receiving data of multiple contexts between a computer bus and peripheral bus 41 1998
6,298,403 Host adapter having a snapshot mechanism 45 1998
6,145,017 Data alignment system for a hardware accelerated command interpreter engine 50 1998
6,279,051 Host adapter having paged payload buffers for simultaneously transferring data between a computer bus and a peripheral bus 63 2000
 
INTEL CORPORATION (6)
5,548,730 Intelligent bus bridge for input/output subsystems in a computer system 137 1994
5,758,194 Communication apparatus for handling networks with different transmission protocols by stripping or adding data to the data stream in the application layer 76 1997
6,157,955 Packet processing system including a policy engine having a classification unit 417 1998
6,427,169 Parsing a packet header 110 1999
6,449,656 Storing a frame header 79 1999
6,421,742 Method and apparatus for emulating an input/output unit when transferring data over a network 47 1999
 
ALACRITECH, INC. (5)
6,247,060 Passing a communication control block from host to a local device such that a message is processed on the device 219 1999
6,807,581 Intelligent network storage interface system 172 2000
6,334,153 Passing a communication control block from host to a local device such that a message is processed on the device 162 2000
6,697,868 Protocol processing stack for use with intelligent network interface device 138 2002
6,941,386 Protocol processing stack for use with intelligent network interface device 96 2003
 
HITACHI, LTD. (5)
5,056,058 Communication protocol for predicting communication frame type in high-speed processing system 101 1990
5,303,344 Protocol processing apparatus for use in interfacing network connected computer systems utilizing separate paths for control information and data transfer 106 1991
5,678,060 System for executing high speed communication protocol processing by predicting protocol header of next frame utilizing successive analysis of protocol header until successful header retrieval 87 1994
5,701,434 Interleave memory controller with a common access queue 121 1995
5,935,205 Computer system having a plurality of computers each providing a shared storage access processing mechanism for controlling local/remote access to shared storage devices 80 1996
 
NETWORK APPLIANCE, INC. (5)
5,163,131 Parallel I/O network file server architecture 787 1989
5,485,579 Multiple facility operating system architecture 311 1994
5,701,516 High-performance non-volatile RAM protected write cache accelerator system employing DMA and data transferring scheme 142 1996
5,931,918 Parallel I/O network file server architecture 318 1997
5,941,969 Bridge for direct data storage device access 132 1997
 
RPX CORPORATION (4)
5,524,250 Central processing unit for processing a plurality of threads using dedicated general purpose registers and masque register for providing access to the registers 93 1994
5,913,028 Client/server data traffic delivery system and method 122 1995
6,097,734 Programmable reassembly of data received in an ATM network 36 1997
6,101,555 Methods and apparatus for communicating between networked peripheral devices 54 1998
 
LSI LOGIC CORPORATION (3)
5,815,646 Decompression processor for video applications 81 1994
6,065,096 Integrated single chip dual mode raid controller 102 1997
6,591,310 Method of responding to I/O request and associated reply descriptor 161 2000
 
UNISYS CORPORATION (3)
5,289,580 Programmable multiple I/O interface controller 147 1991
5,809,328 Apparatus for fibre channel transmission having interface logic, buffer memory, multiplexor/control device, fibre channel controller, gigabit link module, microprocessor, and bus control device 152 1995
6,345,301 Split data path distributed network protocol 88 1999
 
ALACRITECH CORPORATION (2)
6,226,680 Intelligent network interface system method for protocol processing 286 1998
6,389,479 Intelligent network interface device and system for accelerated communication 185 1998
 
BROADCOM CORPORATION (2)
5,751,715 Accelerator fiber channel hub and protocol 118 1996
2004/0153,578 System and method for handling transport protocol segments 45 2004
 
GLOBALFOUNDRIES INC. (2)
5,872,919 Computer communication network having a packet processor with an execution unit which is variably configured from a programmable state machine and logic 63 1997
6,490,631 Multiple processors in a row for protocol acceleration 38 1997
 
MICROSOFT CORPORATION (2)
6,067,569 Fast-forwarding and filtering of network packets in a computer system 108 1997
6,141,705 System for querying a peripheral device to determine its processing capabilities and then offloading specific processing tasks from a host to the peripheral device when needed 142 1998
 
MITSUBISHI DENKI KABUSHIKI KAISHA (2)
5,511,169 Data transmission apparatus and a communication path management method therefor 82 1993
5,590,328 Protocol parallel processing apparatus having a plurality of CPUs allocated to process hierarchical protocols 82 1995
 
NVIDIA CORPORATION (2)
6,034,963 Multiple network protocol encoder/decoder and data processor 168 1996
2003/0165,160 Gigabit Ethernet adapter 125 2002
 
PROSYNC TECHNOLOGY GROUP (2)
6,122,670 Apparatus and method for constructing data for transmission within a reliable communication protocol by performing portions of the protocol suite concurrently 152 1997
6,345,302 System for transmitting and receiving data within a reliable communications protocol by concurrently processing portions of the protocol suite 68 2000
 
STORAGE TECHNOLOGY CORPORATION (2)
5,566,170 Method and apparatus for accelerated packet forwarding 316 1994
5,598,410 Method and apparatus for accelerated packet processing 211 1994
 
ABLESOFT, INC. (1)
6,912,522 System, method and computer program product for optimization and acceleration of data transport and processing 78 2001
 
AMDAHL CORPORATION (1)
5,517,668 Distributed protocol framework 51 1994
 
BINARY SERVICES LIMITED LIABILITY COMPANY (1)
6,078,733 Network interface having support for message processing and an interface to a message coprocessor 56 1996
 
BULL S.A. (1)
5,642,482 System for network transmission using a communication co-processor comprising a microprocessor to implement protocol layer and a microprocessor to manage DMA 62 1994
 
CISCO TECHNOLOGY, INC. (1)
5,898,713 IP checksum offload 54 1997
 
CROSSROADS SYSTEMS, INC. (1)
5,941,972 Storage router and method for providing virtual local storage 427 1997
 
EMC CORPORATION (1)
5,996,024 Method and apparatus for a SCSI applications server which extracts SCSI commands and data from message and encapsulates SCSI responses to provide transparent operation 137 1998
 
EMULEX DESIGN & MANUFACTURING CORPORATION (1)
6,005,849 Full-duplex communication processor which can be used for fibre channel frames 83 1997
 
FUJI XEROX CO., LTD. (1)
6,115,615 Cellular communication network and its communication method 53 1997
 
HONEYWELL INFORMATION SYSTEMS INC. (1)
4,366,538 Memory controller with queue control apparatus 62 1980
 
INTELLECTUAL VENTURES I LLC (1)
5,699,317 Enhanced DRAM with all reads from on-chip cache and all writers to memory array 137 1994
 
INTERNATIONAL COMPUTERS LIMITED (1)
5,588,121 Parallel computer having MAC-relay layer snooped transport header to determine if a message should be routed directly to transport layer depending on its destination 125 1996
 
INTERPROPHET CORPORATION (1)
6,173,333 TCP/IP network accelerator system and method which identifies classes of packet traffic for predictable protocols 147 1999
 
MASSACHUSETTS INSTITUTE OF TECHNOLOGY (1)
5,212,778 Message-driven processor in a concurrent computer 103 1988
 
MCI COMMUNICATIONS CORPORATION (1)
6,385,647 System for selectively routing data via either a network that supports Internet protocol or via satellite transmission network based on size of the data 152 1997
 
MICROUNITY SYSTEMS ENGINEERING, INC. (1)
5,794,061 General purpose, multiple precision parallel operation, programmable media processor 88 1996
 
MITSUBISHI ELECTRIC RESEARCH LABORATORIES, INC. (1)
5,790,804 Computer network interface and network protocol with direct deposit messaging 117 1996
 
MOSAID TECHNOLOGIES INCORPORATED (1)
6,026,452 Network distributed site cache RAM claimed as up/down stream request/reply channel for storing anticipated data and meta data 123 1998
 
NEC CORPORATION (1)
5,506,966 System for message traffic control utilizing prioritized message chaining for queueing control ensuring transmission/reception of high priority messages 89 1992
 
OL SECURITY LIMITED LIABILITY COMPANY (1)
5,280,477 Network synchronous data distribution system 77 1992
 
PMC-SIERRA, INC. (1)
5,742,765 Combination local ATM segmentation and reassembly and physical layer device 109 1996
 
PREDACOMM, INC. (1)
5,671,355 Reconfigurable network interface apparatus and method 209 1996
 
RICOH COMPANY, LTD. (1)
5,692,130 Method for selectively using one or two communication channel by a transmitting data terminal based on data type and channel availability 63 1995
 
ROUND ROCK RESEARCH, LLC (1)
6,487,654 Virtual shadow registers and virtual register windows 53 2001
 
SNK TECH INVESTMENT L.L.C. (1)
6,047,356 Method of dynamically allocating network node memory's partitions for caching distributed files 90 1994
 
TEXAS INSTRUMENTS INCORPORATED (1)
5,097,442 Programmable depth first-in, first-out memory 68 1988
 
U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE (1)
4,589,063 Data processing system having automatic configuration 228 1983
 
U.S. ETHERNET INNOVATIONS, LLC (1)
5,412,782 Programmed I/O ethernet adapter with early interrupts for accelerating data transfer 143 1992
 
ULTRA NETWORK TECHNOLOGIES, A CORP. OF CA. (1)
5,058,110 Protocol processor 155 1989
 
XYLAN CORPORATION (1)
6,061,368 Custom circuitry for adaptive hardware routing engine 124 1997
 
OTHER [CHECK PATENT PROFILE FOR ASSIGNMENT INFORMATION] (2)
5,802,580 High performance digital electronic system architecture and memory circuit thereof 65 1997
2001/0025,315 Term addressable memory of an accelerator system and method 64 2001

Patent Citation Ranking

Forward Cites

Patent Info (Count) # Cites Year
 
ALACRITECH, INC. (22)
8,019,901 Intelligent network storage interface system 0 2002
7,543,087 Freeing transmit memory on a network interface device prior to receiving an acknowledgement that transmit data has been received by a remote device 27 2003
7,496,689 TCP/IP offload device 11 2003
7,472,156 Transferring control of a TCP connection between devices 13 2003
8,131,880 Intelligent network interface device and system for accelerated communication 1 2003
7,502,869 Intelligent network interface system and method for accelerated protocol processing 6 2003
7,461,160 Obtaining a destination address so that a network interface device can write network data without headers directly into host memory 6 2004
7,584,260 Method to synchronize and upload an offloaded network stack connection with a network stack 6 2004
7,844,743 Protocol stack that offloads a TCP connection from a host computer to a network interface device 0 2004
7,809,847 Network interface device that can transfer control of a TCP connection to a host CPU 0 2005
7,627,684 Network interface device that can offload data transfer processing for a TCP connection from a host CPU 7 2005
7,620,726 Zero copy method for receiving data by a network interface 6 2005
7,640,364 Port aggregation for network connections that are offloaded to network interface devices 7 2005
8,248,939 Transferring control of TCP connections between hierarchy of processing mechanisms 0 2005
7,738,500 TCP timestamp synchronization for network connections that are offloaded to network interface devices 5 2005
7,664,883 Network interface device that fast-path processes solicited session layer read commands 13 2006
7,694,024 TCP/IP offload device with fast-path TCP ACK generating and transmitting mechanism 7 2007
7,664,868 TCP/IP offload network interface device 6 2007
7,853,723 TCP/IP offload network interface device 1 2007
7,673,072 Fast-path apparatus for transmitting data corresponding to a TCP connection 9 2007
7,945,699 Obtaining a destination address so that a network interface device can write network data without headers directly into host memory 0 2008
8,341,286 TCP offload send optimization 0 2009
 
CHELSIO COMMUNICATIONS, INC. (11)
7,447,795 Multi-purpose switching network interface controller 5 2002
8,060,644 Intelligent network adaptor with end-to-end flow control 2 2007
7,826,350 Intelligent network adaptor with adaptive direct data placement scheme 6 2007
7,831,720 Full offload of stateful connections, with partial connection offload 4 2008
8,032,655 Configurable switching network interface controller using forwarding engine 0 2008
8,139,482 Method to implement an L4-L7 switch using split connections and an offloading NIC 2 2009
8,213,427 Method for traffic scheduling in intelligent network interface circuitry 1 2009
7,924,840 Virtualizing the operation of intelligent network interface circuitry 4 2009
8,155,001 Protocol offload transmit traffic management 2 2010
8,356,112 Intelligent network adaptor with end-to-end flow control 0 2011
8,339,952 Protocol offload transmit traffic management 0 2012
 
CIRCADENCE CORPORATION (7)
7,975,066 System and method for implementing application functionality within a network infrastructure 0 2006
8,065,399 Automated network infrastructure test and diagnostic system and method therefor 0 2008
8,024,481 System and method for reducing traffic and congestion on distributed interactive simulation networks 0 2008
8,195,823 Dynamic network link acceleration 1 2009
7,962,654 System and method for implementing application functionality within a network infrastructure 0 2010
8,386,641 System and method for implementing application functionality within a network infrastructure 0 2011
8,417,770 Data redirection system and method therefor 0 2011
 
PROMISE TECHNOLOGY, INC. (4)
7,594,002 Hardware-accelerated high availability integrated networked storage system 15 2004
7,460,473 Network receive interface for high bandwidth hardware-accelerated packet processing 21 2004
7,869,355 Network receive interface for high bandwidth hardware-accelerated packet processing 6 2008
8,099,474 Hardware-accelerated high availability integrated networked storage system 0 2009
 
CANON KABUSHIKI KAISHA (3)
8,396,960 Efficient network utilization using multiple physical interfaces 0 2009
8,325,601 Reliable network streaming of a single data stream over multiple physical interfaces 0 2009
8,356,109 Network streaming of a video stream over multiple communication channels 0 2010
 
INTEL CORPORATION (2)
7,480,747 Method and apparatus to reduce latency and improve throughput of input/output data in a processor 2 2005
7,730,221 LAN controller with bootable host bus adapter 1 2005
 
ALLIED TELESIS, INC. (1)
7,822,026 Transit devices and system including a slow protocol filter and methods of transmitting information within a transit device or system using a slow protocol filter 0 2005
 
BROADCOM CORPORATION (1)
8,230,090 System and method for TCP offloading and uploading 2002
 
LSI CORPORATION (1)
8,402,183 System and method for coordinating control settings for hardware-automated I/O processors 0 2010
 
RESEARCH IN MOTION LIMITED (1)
7,643,467 Source-implemented constraint based routing with source routed protocol data units 2 2003
 
RICOH COMPANY, LTD. (1)
7,533,185 Data communication method, system and program using unicast and multicast communications 1 2003
 
SILICON LABORATORIES INC. (1)
7,624,157 Ethernet controller with excess on-board flash for microcontroller interface 0 2004
 
UNWIRED PLANET, INC. (1)
7,911,994 Confirmation of delivery of content to an HTTP/TCP device 1 2003

Maintenance Fees

Fee Large entity fee small entity fee micro entity fee due date
7.5 Year Payment $3600.00 $1800.00 $900.00 Sep 13, 2014
11.5 Year Payment $7400.00 $3700.00 $1850.00 Sep 13, 2018
Fee Large entity fee small entity fee micro entity fee
Surcharge - 7.5 year - Late payment within 6 months $160.00 $80.00 $40.00
Surcharge - 11.5 year - Late payment within 6 months $160.00 $80.00 $40.00
Surcharge after expiration - Late payment is unavoidable $700.00 $350.00 $175.00
Surcharge after expiration - Late payment is unintentional $1,640.00 $820.00 $410.00