US Patent No: 7,337,241

Number of patents in Portfolio can not be more than 2000

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

1 Status Updates

Stats

ALSO PUBLISHED AS: 20040064578
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 43 3104
Boucher, Laurence B Saratoga, CA 77 6098
Craft, Peter K San Francisco, CA 72 4029
Higgen, David A Saratoga, CA 62 3729
Philbrick, Clive M San Jose, CA 83 4715
Starr, Daryl D Milpitas, CA 62 4091

Cited Art

Patent Info (Count) # Cites Year
 
INTERNATIONAL BUSINESS MACHINES CORPORATION (22)
4,991,133 Specialized communications processor for layered protocols 145 1988
5,418,912 System and method for controlling buffer transmission of data packets by limiting buffered data packets in a communication session 45 1993
5,448,566 Method and apparatus for facilitating communication in a multilayer communication architecture via a dynamic communication channel 100 1993
5,535,375 File manager for files shared by heterogeneous clients 168 1994
5,634,127 Methods and apparatus for implementing a message driven processor in a client-server environment 244 1994
5,634,099 Direct memory access unit for transferring data between processor memories in multiprocessing systems 88 1994
5,629,933 Method and system for enhanced communication in a multisession packet based communication system 62 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 88 1995
5,682,534 Transparent local RPC optimization 133 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 152 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 51 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 93 1996
5,878,225 Dual communication services interface for distributed transaction processing 68 1996
6,181,705 System and method for management a communications buffer 30 1996
6,038,562 Interface to support state-dependent web applications accessing a relational database 57 1996
5,892,903 Method and apparatus for detecting and identifying security vulnerabilities in an open network computer communication system 301 1996
5,930,830 System and method for concatenating discontiguous memory pages 81 1997
5,996,013 Method and apparatus for resource allocation with guarantees 142 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 46 1997
6,044,438 Memory controller for controlling memory accesses across networks in distributed shared memory processing systems 93 1997
5,950,203 Method and apparatus for high-speed access to and sharing of storage devices on a networked digital data processing system 111 1997
6,681,364 Cyclic redundancy check for partitioned frames 49 1999
 
HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. (19)
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 75 1995
5,592,622 Network intermediate system with message passing architecture 178 1995
5,664,114 Asynchronous FIFO queuing system operating with minimal queue status 77 1995
5,812,775 Method and apparatus for internetworking buffer management 86 1995
6,047,323 Creation and migration of distributed streams in clusters of networked computers 326 1996
5,828,835 High throughput message passing process using latency and reliability classes 120 1996
5,771,349 Network packet switch using shared memory for repeating and bridging packets at media rate 86 1997
5,991,299 High speed header translation processing 115 1997
6,041,058 Hardware filtering method and apparatus 94 1997
6,172,980 Multiple protocol support 101 1997
6,289,023 Hardware checksum assist for network protocol stacks 78 1997
5,937,169 Offload of TCP segmentation to a smart adapter 231 1997
6,057,863 Dual purpose apparatus, method and system for accelerated graphics port and fibre channel arbitrated loop interfaces 129 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 56 1998
6,324,649 Modified license key entry for pre-installation of software 31 1998
6,246,683 Receive processing with network protocol bypass 137 1998
6,526,446 Hardware only transmission control protocol segmentation for a high performance network interface card 43 1999
6,570,884 Receive filtering for communication interface 72 1999
2004/0059,926 Network interface controller with firmware enabled licensing features 25 2002
 
SUN MICROSYSTEMS, INC. (14)
5,758,186 Method and apparatus for generically handling diverse protocol method calls in a client/server computer system 105 1995
5,758,089 Method and apparatus for burst transferring ATM packet header and data to a host computer system 76 1995
5,848,293 Method and apparatus for transmission and processing of virtual commands 45 1995
5,749,095 Multiprocessing system configured to perform efficient write operations 117 1996
5,920,566 Routing in a multi-layer distributed network element 179 1997
6,049,528 Trunking ethernet-compatible networks 157 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 52 1997
6,473,425 Mechanism for dispatching packets via a telecommunications network 99 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 144 1999
6,389,468 Method and apparatus for distributing network traffic processing on a multiprocessor computer 132 1999
6,434,651 Method and apparatus for suppressing interrupts in a high-speed network environment 60 1999
6,453,360 High performance network interface 156 1999
6,480,489 Method and apparatus for data re-assembly with a high performance network interface 101 1999
6,650,640 Method and apparatus for managing a network flow in a high performance network interface 148 1999
 
ALACRITECH, INC. (8)
6,247,060 Passing a communication control block from host to a local device such that a message is processed on the device 221 1999
6,427,173 Intelligent network interfaced device and system for accelerated communication 177 1999
6,807,581 Intelligent network storage interface system 173 2000
6,334,153 Passing a communication control block from host to a local device such that a message is processed on the device 163 2000
6,658,480 Intelligent network interface system and method for accelerated protocol processing 106 2001
6,965,941 Transmit fast-path processing on TCP/IP offload network interface device 86 2001
6,697,868 Protocol processing stack for use with intelligent network interface device 139 2002
6,941,386 Protocol processing stack for use with intelligent network interface device 97 2003
 
ADAPTEC, INC. (6)
6,009,478 File array communications interface for communicating between a host computer and an adapter 83 1997
6,070,200 Host adapter having paged data buffers for continuously transferring data between a system bus and a peripheral bus 93 1998
6,202,105 Host adapter capable of simultaneously transmitting and receiving data of multiple contexts between a computer bus and peripheral bus 42 1998
6,298,403 Host adapter having a snapshot mechanism 46 1998
6,145,017 Data alignment system for a hardware accelerated command interpreter engine 52 1998
6,279,051 Host adapter having paged payload buffers for simultaneously transferring data between a computer bus and a peripheral bus 64 2000
 
HITACHI, LTD. (6)
5,056,058 Communication protocol for predicting communication frame type in high-speed processing system 102 1990
5,303,344 Protocol processing apparatus for use in interfacing network connected computer systems utilizing separate paths for control information and data transfer 107 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 88 1994
5,701,434 Interleave memory controller with a common access queue 122 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 81 1996
5,974,466 ATM controller and ATM communication control device 19 1996
 
INTEL CORPORATION (6)
5,548,730 Intelligent bus bridge for input/output subsystems in a computer system 138 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 77 1997
6,157,955 Packet processing system including a policy engine having a classification unit 418 1998
6,427,169 Parsing a packet header 111 1999
6,449,656 Storing a frame header 80 1999
6,421,742 Method and apparatus for emulating an input/output unit when transferring data over a network 48 1999
 
MICROSOFT CORPORATION (5)
5,485,460 System and method for running multiple incompatible network protocol stacks 140 1994
6,067,569 Fast-forwarding and filtering of network packets in a computer system 110 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 144 1998
6,343,360 Automated configuration of computing system using zip code data 43 1999
6,370,599 System for ascertaining task off-load capabilities of a device and enabling selected capabilities and when needed selectively and dynamically requesting the device to perform the task 55 2000
 
NETWORK APPLIANCE, INC. (5)
5,163,131 Parallel I/O network file server architecture 789 1989
5,485,579 Multiple facility operating system architecture 312 1994
5,701,516 High-performance non-volatile RAM protected write cache accelerator system employing DMA and data transferring scheme 143 1996
5,931,918 Parallel I/O network file server architecture 319 1997
5,941,969 Bridge for direct data storage device access 133 1997
 
NVIDIA CORPORATION (5)
6,034,963 Multiple network protocol encoder/decoder and data processor 169 1996
6,765,901 TCP/IP/PPP modem 41 1999
2003/0165,160 Gigabit Ethernet adapter 127 2002
2004/0246,974 Storing and accessing TCP connection information 28 2003
2004/0213,290 TCP/IP/PPP modem 29 2004
 
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 94 1994
5,913,028 Client/server data traffic delivery system and method 123 1995
6,097,734 Programmable reassembly of data received in an ATM network 37 1997
6,101,555 Methods and apparatus for communicating between networked peripheral devices 55 1998
 
CROSSROADS SYSTEMS, INC. (3)
5,941,972 Storage router and method for providing virtual local storage 428 1997
6,041,381 Fibre channel to SCSI addressing method and system 175 1998
6,421,753 Storage router and method for providing virtual local storage 94 1999
 
LSI LOGIC CORPORATION (3)
5,815,646 Decompression processor for video applications 82 1994
6,065,096 Integrated single chip dual mode raid controller 103 1997
6,591,310 Method of responding to I/O request and associated reply descriptor 164 2000
 
LUCENT TECHNOLOGIES INC. (3)
5,574,919 Method for thinning a protocol 32 1996
6,078,564 System for improving data throughput of a TCP/IP network connection with slow return channel 43 1997
6,678,283 System and method for distributing packet processing in an internetworking device 44 1999
 
TEXAS INSTRUMENTS INCORPORATED (3)
4,485,455 Single-chip semiconductor unit and key input for variable function programmed system 34 1982
4,485,460 ROM coupling reduction circuitry 31 1982
5,097,442 Programmable depth first-in, first-out memory 69 1988
 
UNISYS CORPORATION (3)
5,289,580 Programmable multiple I/O interface controller 148 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 153 1995
6,345,301 Split data path distributed network protocol 89 1999
 
ALACRITECH CORPORATION (2)
6,226,680 Intelligent network interface system method for protocol processing 288 1998
6,389,479 Intelligent network interface device and system for accelerated communication 186 1998
 
BROADCOM CORPORATION (2)
5,751,715 Accelerator fiber channel hub and protocol 119 1996
2004/0153,578 System and method for handling transport protocol segments 46 2004
 
CANON KABUSHIKI KAISHA (2)
5,699,350 Reconfiguration of protocol stacks and/or frame type assignments in a network interface device 107 1995
6,502,144 Data processing apparatus with communication feature, and communication method in a data processing apparatus 57 1999
 
CISCO TECHNOLOGY, INC. (2)
6,487,202 Method and apparatus for maximizing memory throughput 62 1997
5,898,713 IP checksum offload 55 1997
 
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 65 1997
6,490,631 Multiple processors in a row for protocol acceleration 39 1997
 
MICROUNITY SYSTEMS ENGINEERING, INC. (2)
5,778,419 DRAM with high bandwidth interface that uses packets and arbitration 178 1996
5,794,061 General purpose, multiple precision parallel operation, programmable media processor 89 1996
 
MITSUBISHI DENKI KABUSHIKI KAISHA (2)
5,511,169 Data transmission apparatus and a communication path management method therefor 83 1993
5,590,328 Protocol parallel processing apparatus having a plurality of CPUs allocated to process hierarchical protocols 83 1995
 
NEC CORPORATION (2)
5,506,966 System for message traffic control utilizing prioritized message chaining for queueing control ensuring transmission/reception of high priority messages 90 1992
5,717,691 Multimedia network interface for asynchronous transfer mode communication system 62 1995
 
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 153 1997
6,345,302 System for transmitting and receiving data within a reliable communications protocol by concurrently processing portions of the protocol suite 69 2000
 
SAFENET, INC. (2)
6,523,119 Software protection device and method 60 1996
6,842,896 System and method for selecting a server in a multiple server license management system 57 2000
 
STORAGE TECHNOLOGY CORPORATION (2)
5,566,170 Method and apparatus for accelerated packet forwarding 318 1994
5,598,410 Method and apparatus for accelerated packet processing 213 1994
 
THE REGENTS OF THE UNIVERSITY OF CALIFORNIA (2)
6,111,673 High-throughput, low-latency next generation internet networks using optical tag switching 129 1998
6,657,757 High-throughput low-latency next generation internet network using optical label switching and high-speed optical header generation detection and reinsertion 44 1999
 
ABLESOFT, INC. (1)
6,912,522 System, method and computer program product for optimization and acceleration of data transport and processing 79 2001
 
AMDAHL CORPORATION (1)
5,517,668 Distributed protocol framework 52 1994
 
BINARY SERVICES LIMITED LIABILITY COMPANY (1)
6,078,733 Network interface having support for message processing and an interface to a message coprocessor 57 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 63 1994
 
DANA AUTOMOTIVE SYSTEMS GROUP, LLC (1)
6,648,611 Gerotor pump having an eccentric ring housing with an integral pressure chamber 26 2001
 
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 138 1998
 
EMULEX DESIGN & MANUFACTURING CORPORATION (1)
6,005,849 Full-duplex communication processor which can be used for fibre channel frames 84 1997
 
ENTERASYS NETWORKS, INC. (1)
5,485,455 Network having secure fast packet switching and guaranteed quality of service 419 1994
 
FUJI XEROX CO., LTD. (1)
6,115,615 Cellular communication network and its communication method 54 1997
 
GENERAL INSTRUMENT CORPORATION (1)
2002/0112,175 Conditional access for functional units 35 2000
 
HONEYWELL INFORMATION SYSTEMS INC. (1)
4,366,538 Memory controller with queue control apparatus 63 1980
 
INTELLECTUAL VENTURES I LLC (1)
5,699,317 Enhanced DRAM with all reads from on-chip cache and all writers to memory array 138 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 126 1996
 
INTERPROPHET CORPORATION (1)
6,173,333 TCP/IP network accelerator system and method which identifies classes of packet traffic for predictable protocols 148 1999
 
IXIA (1)
5,778,013 Method and apparatus for verifying CRC codes 53 1996
 
MASSACHUSETTS INSTITUTE OF TECHNOLOGY (1)
5,212,778 Message-driven processor in a concurrent computer 104 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 154 1997
 
MESSAGETEC LLC (1)
6,141,701 System for, and method of, off-loading network transactions from a mainframe to an intelligent input/output device, including off-loading message queuing facilities 92 1998
 
MITSUBISHI ELECTRIC RESEARCH LABORATORIES, INC. (1)
5,790,804 Computer network interface and network protocol with direct deposit messaging 118 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 127 1998
 
MOTOROLA SOLUTIONS, INC. (1)
5,987,022 Method for transmitting multiple-protocol packetized data 88 1996
 
MOTOROLA, INC. (1)
4,700,185 Request with response mechanism and method for a local area network controller 47 1984
 
OL SECURITY LIMITED LIABILITY COMPANY (1)
5,280,477 Network synchronous data distribution system 78 1992
 
PMC-SIERRA, INC. (1)
5,742,765 Combination local ATM segmentation and reassembly and physical layer device 110 1996
 
PREDACOMM, INC. (1)
5,671,355 Reconfigurable network interface apparatus and method 211 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 64 1995
 
ROUND ROCK RESEARCH, LLC (1)
6,487,654 Virtual shadow registers and virtual register windows 54 2001
 
SAGEMCOM BROADBAND SAS (1)
5,548,587 Asynchronous transfer mode adapter for desktop applications 115 1994
 
SENSHIN CAPITAL, LLC (1)
5,633,780 Electrostatic discharge protection device 113 1996
 
SIFERA, INC. (1)
6,223,242 Linearly expandable self-routing crossbar switch 31 1998
 
SNK TECH INVESTMENT L.L.C. (1)
6,047,356 Method of dynamically allocating network node memory's partitions for caching distributed files 91 1994
 
TERADATA US, INC. (1)
5,768,618 Method for performing sequence of actions in device connected to computer in response to specified values being written into snooped sub portions of address space 30 1995
 
TRUSTEES OF TUFTS COLLEGE (1)
5,970,804 Methods and apparatus for analysis of complex mixtures 37 1997
 
U.S. BANK NATIONAL ASSOCIATION, AS COLLATERAL TRUSTEE (1)
4,589,063 Data processing system having automatic configuration 230 1983
 
U.S. ETHERNET INNOVATIONS, LLC (1)
5,412,782 Programmed I/O ethernet adapter with early interrupts for accelerating data transfer 144 1992
 
ULTRA NETWORK TECHNOLOGIES, A CORP. OF CA. (1)
5,058,110 Protocol processor 156 1989
 
XYLAN CORPORATION (1)
6,061,368 Custom circuitry for adaptive hardware routing engine 125 1997
 
OTHER [CHECK PATENT PROFILE FOR ASSIGNMENT INFORMATION] (4)
5,802,580 High performance digital electronic system architecture and memory circuit thereof 66 1997
2001/0001,008 Transmitter/receiver for GMSK and Offset-QAM 2000
2001/0025,315 Term addressable memory of an accelerator system and method 65 2001
2003/0110,344 Communications systems, apparatus and methods 68 2002

Patent Citation Ranking

Forward Cites

Patent Info (Count) # Cites Year
 
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
 
ALACRITECH, INC. (6)
8,019,901 Intelligent network storage interface system 0 2002
8,131,880 Intelligent network interface device and system for accelerated communication 1 2003
7,620,726 Zero copy method for receiving data by a network interface 7 2005
8,248,939 Transferring control of TCP connections between hierarchy of processing mechanisms 0 2005
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
 
JUNIPER NETWORKS, INC. (4)
7,716,380 Recycling items in a network device 1 2004
7,839,873 Systems and methods for accelerating TCP/IP data stream processing 2 2008
8,069,268 Recycling items in a network device 0 2010
8,340,109 Systems and methods for accelerating TCP/IP data stream processing 0 2010
 
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
 
SILICON GRAPHICS INTERNATIONAL, CORP. (2)
7,765,329 Messaging between heterogeneous clients of a storage area network 2 2003
8,396,908 Multi-class heterogeneous clients in a clustered filesystem 0 2009
 
CISCO TECHNOLOGY, INC. (1)
8,009,571 Method and system for PHY loop detection 1 2010
 
INTEL CORPORATION (1)
7,730,221 LAN controller with bootable host bus adapter 1 2005
 
OTHER [CHECK PATENT PROFILE FOR ASSIGNMENT INFORMATION] (1)
8,447,803 Method and apparatus for distributing network traffic processing on a multiprocessor computer 0 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 Aug 26, 2015
11.5 Year Payment $7400.00 $3700.00 $1850.00 Aug 26, 2019
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