
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
Stats
-
Feb 26, 2008
Issued date -
Sep 27, 2002
filing date -
10/260,878
serial no -
In Force
status
Importance
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.
First Claim
Related Publications
International Classification(s)
- [Classification Symbol]
- [Patents Count]
Cited Art
| Patent Info | (Count) | # Cites | Year |
|---|---|---|---|
|
|
|||
| 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 | |
|
|
|||
| 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 | |
|
|
|||
| 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 | |
|
|
|||
| 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 | |
|
|
|||
| 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 | |
|
|
|||
| 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 | |
|
|
|||
| 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 | |
|
|
|||
| 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 | |
|
|
|||
| 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 | |
|
|
|||
| 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 | |
|
|
|||
| 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 | |
|
|
|||
| 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 | |
|
|
|||
| 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 | |
|
|
|||
| 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 | |
|
|
|||
| 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 | |
|
|
|||
| 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 | |
|
|
|||
| 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 | |
|
|
|||
| 5,751,715 Accelerator fiber channel hub and protocol | 119 | 1996 | |
| 2004/0153,578 System and method for handling transport protocol segments | 46 | 2004 | |
|
|
|||
| 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 | |
|
|
|||
| 6,487,202 Method and apparatus for maximizing memory throughput | 62 | 1997 | |
| 5,898,713 IP checksum offload | 55 | 1997 | |
|
|
|||
| 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 | |
|
|
|||
| 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 | |
|
|
|||
| 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 | |
|
|
|||
| 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 | |
|
|
|||
| 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 | |
|
|
|||
| 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 | |
|
|
|||
| 5,566,170 Method and apparatus for accelerated packet forwarding | 318 | 1994 | |
| 5,598,410 Method and apparatus for accelerated packet processing | 213 | 1994 | |
|
|
|||
| 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 | |
|
|
|||
| 6,912,522 System, method and computer program product for optimization and acceleration of data transport and processing | 79 | 2001 | |
|
|
|||
| 5,517,668 Distributed protocol framework | 52 | 1994 | |
|
|
|||
| 6,078,733 Network interface having support for message processing and an interface to a message coprocessor | 57 | 1996 | |
|
|
|||
| 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 | |
|
|
|||
| 6,648,611 Gerotor pump having an eccentric ring housing with an integral pressure chamber | 26 | 2001 | |
|
|
|||
| 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 | |
|
|
|||
| 6,005,849 Full-duplex communication processor which can be used for fibre channel frames | 84 | 1997 | |
|
|
|||
| 5,485,455 Network having secure fast packet switching and guaranteed quality of service | 419 | 1994 | |
|
|
|||
| 6,115,615 Cellular communication network and its communication method | 54 | 1997 | |
|
|
|||
| 2002/0112,175 Conditional access for functional units | 35 | 2000 | |
|
|
|||
| 4,366,538 Memory controller with queue control apparatus | 63 | 1980 | |
|
|
|||
| 5,699,317 Enhanced DRAM with all reads from on-chip cache and all writers to memory array | 138 | 1994 | |
|
|
|||
| 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 | |
|
|
|||
| 6,173,333 TCP/IP network accelerator system and method which identifies classes of packet traffic for predictable protocols | 148 | 1999 | |
|
|
|||
| 5,778,013 Method and apparatus for verifying CRC codes | 53 | 1996 | |
|
|
|||
| 5,212,778 Message-driven processor in a concurrent computer | 104 | 1988 | |
|
|
|||
| 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 | |
|
|
|||
| 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 | |
|
|
|||
| 5,790,804 Computer network interface and network protocol with direct deposit messaging | 118 | 1996 | |
|
|
|||
| 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 | |
|
|
|||
| 5,987,022 Method for transmitting multiple-protocol packetized data | 88 | 1996 | |
|
|
|||
| 4,700,185 Request with response mechanism and method for a local area network controller | 47 | 1984 | |
|
|
|||
| 5,280,477 Network synchronous data distribution system | 78 | 1992 | |
|
|
|||
| 5,742,765 Combination local ATM segmentation and reassembly and physical layer device | 110 | 1996 | |
|
|
|||
| 5,671,355 Reconfigurable network interface apparatus and method | 211 | 1996 | |
|
|
|||
| 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 | |
|
|
|||
| 6,487,654 Virtual shadow registers and virtual register windows | 54 | 2001 | |
|
|
|||
| 5,548,587 Asynchronous transfer mode adapter for desktop applications | 115 | 1994 | |
|
|
|||
| 5,633,780 Electrostatic discharge protection device | 113 | 1996 | |
|
|
|||
| 6,223,242 Linearly expandable self-routing crossbar switch | 31 | 1998 | |
|
|
|||
| 6,047,356 Method of dynamically allocating network node memory's partitions for caching distributed files | 91 | 1994 | |
|
|
|||
| 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 | |
|
|
|||
| 5,970,804 Methods and apparatus for analysis of complex mixtures | 37 | 1997 | |
|
|
|||
| 4,589,063 Data processing system having automatic configuration | 230 | 1983 | |
|
|
|||
| 5,412,782 Programmed I/O ethernet adapter with early interrupts for accelerating data transfer | 144 | 1992 | |
|
|
|||
| 5,058,110 Protocol processor | 156 | 1989 | |
|
|
|||
| 6,061,368 Custom circuitry for adaptive hardware routing engine | 125 | 1997 | |
|
|
|||
| 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
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 |