US20070036159A1 - Checking data integrity - Google Patents

Checking data integrity Download PDF

Info

Publication number
US20070036159A1
US20070036159A1 US11/584,263 US58426306A US2007036159A1 US 20070036159 A1 US20070036159 A1 US 20070036159A1 US 58426306 A US58426306 A US 58426306A US 2007036159 A1 US2007036159 A1 US 2007036159A1
Authority
US
United States
Prior art keywords
data
network interface
interface device
protocol
network
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
US11/584,263
Other languages
English (en)
Inventor
Steve Pope
Derek Roberts
David Riddoch
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.)
Xilinx Inc
Original Assignee
Solarflare Communications Inc
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
Assigned to SOLARFLARE COMMUNICATIONS, INC. reassignment SOLARFLARE COMMUNICATIONS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: POPE, STEVE LESLIE, RIDDOCH, DAVID JAMES, ROBERTS, DEREK EDWARDS
Application filed by Solarflare Communications Inc filed Critical Solarflare Communications Inc
Publication of US20070036159A1 publication Critical patent/US20070036159A1/en
Assigned to SOLARFLARE COMMUNICATIONS, INC. reassignment SOLARFLARE COMMUNICATIONS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LEVEL 5 NETWORKS, INC.
Assigned to SOLARFLARE COMMUNICATIONS, INC. reassignment SOLARFLARE COMMUNICATIONS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LEVEL 5 NETWORKS, INC.
Priority to US13/204,135 priority Critical patent/US8737431B2/en
Assigned to COMERICA BANK, AS AGENT, A TEXAS BANKING ASSOCIATION reassignment COMERICA BANK, AS AGENT, A TEXAS BANKING ASSOCIATION SECURITY AGREEMENT Assignors: SOLARFLARE COMMUNICATIONS, INC., A DELAWARE CORPORATION
Assigned to SOLARFLARE COMMUNICATIONS, INC. reassignment SOLARFLARE COMMUNICATIONS, INC. RELEASE OF SECURITY INTEREST Assignors: COMERICA BANK
Assigned to SOLARFLARE COMMUNICATIONS, INC. reassignment SOLARFLARE COMMUNICATIONS, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: COMERICA BANK
Assigned to PACIFIC WESTERN BANK reassignment PACIFIC WESTERN BANK SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SOLARFLARE COMMUNICATIONS, INC.
Assigned to SOLARFLARE COMMUNICATIONS, INC. reassignment SOLARFLARE COMMUNICATIONS, INC. RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: PACIFIC WESTERN BANK
Assigned to XILINX, INC. reassignment XILINX, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SOLARFLARE COMMUNICATIONS, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Definitions

  • This invention relates to a network interface, for example an interface device for linking a computer to a network.
  • a network interface device configured to connect to a data processing device and to a data network to provide an interface between the data processing device and the network for supporting the network of packets of a transport protocol.
  • the network interface device is configured to identify, within the payloads of such packets, data of a further protocol.
  • the data of the further protocol comprises payload data of the further protocol and framing data of the further protocol, and the framing data including verification data for permitting the integrity of the payload data to be verified.
  • the device processes at least the payload data for determining the integrity thereof and transmits, to the data processing device, at least some of the framing data and an indication of the result of the said processing.
  • the network interface device is configured to process the payload data by applying a predetermined function to the payload data to form a verification result. It is also contemplated that the verification result may be the indication of the result. Moreover, the network interface device may be configured to transmit, to the data processing device, the payload data together with at least some of the framing data. The network interface device may be further configured to process the payload data by comparing the verification result with the verification data and the result of that comparison is the indication of the result. In addition, the network interface device may be configured to, if the result of that comparison is that the verification result matches the verification data, transmit to the data processing device the payload data together with at least some of the framing data.
  • the network interface device may be configured to, if the result of that comparison is that the verification result does not match the verification data, not transmit, to the data processing device, the payload data.
  • the predetermined function is a cyclic redundancy check function or an authentication function.
  • the predetermined function is a function that involves byte-by-byte processing of the payload data.
  • the packets of the transport protocol comprise packet headers of that protocol and the network interface device is configured to, on identifying data of the further protocol, transmit to the data processing device at least some of the header(s) of the packet(s) of the transport protocol that carried that the payload data together with the payload data.
  • the network interface device may be configured to perform the transmission to the data processing device by transmitting data to a transport library supported by the data processing device.
  • the transport protocol may comprise the TCP (transmission control protocol) protocol.
  • the further protocol is a protocol for remote direct memory access or the RDMA (remote direct memory access) or ISCSI (internet small computer serial interface) protocol.
  • the further protocol may supports memory write instructions such that the framing data includes information indicative of a memory address of the data processing device to which at least some of the payload data is to be written.
  • the network interface device is configured to, upon identifying at least some forms of data of the further protocol, raise an interrupt on the data processing apparatus.
  • the forms of data may include memory read instructions or memory write instructions.
  • the read write instructions include information indicative of a memory address at which the read/write is to be performed.
  • a data processing system comprising a data processing device and a network interface device for connection to the data processing device and to a data network.
  • This configuration provides an interface between the data processing device and the network for supporting the network of packets of a transport protocol such that the network interface device is configured to identify within the payloads of such packets data of a further protocol.
  • the data of the further protocol may comprise payload data of the further protocol and framing data of the further protocol, and the framing data may include verification data for permitting the integrity of the payload data to be verified.
  • this system may process at least the payload data for determining the integrity thereof and then transmit to the data processing device at least some of the framing data with an indication of the result of the processing.
  • Also disclosed herein is a method for processing data by means of a network interface device which also connects to a data processing device and to a data network so as to provide an interface between the data processing device and the network.
  • This method supports the network of packets of a transport protocol.
  • the method comprising performing the following steps by means of the network interface device by identifying, within the payloads of such packets, data of a further protocol.
  • the data of the further protocol may comprise payload data of the further protocol and framing data of the further protocol such that the framing data includes verification data for permitting the integrity of the payload data to be verified.
  • This method also, upon so identifying data of the further protocol, processes at least the payload data to determine the integrity thereof and then transmits to the data processing device at least some of the framing data and an indication of the result of the processing.
  • FIG. 1 is a schematic diagram of a network interface device in use
  • FIG. 2 illustrates an implementation of a transport library architecture
  • FIG. 3 shows an architecture employing a standard kernel TCP transport with a user level TCP transport
  • FIG. 4 illustrates an architecture in which a standard kernel stack is implemented at user-level
  • FIG. 5 shows an example of a TCP transport architecture.
  • FIG. 1 is a schematic diagram showing a network interface device such as a network interface card (NIC) and the general architecture of the system in which it may be used.
  • the network interface device 10 is connected via a data link 5 to a processing device such as computer 1 , and via a data link 14 to a data network 20 .
  • Further network interface devices such as processing device 30 are also connected to the network, providing interfaces between the network and further processing devices such as processing device 40 .
  • the computer 1 may, for example, be a personal computer, a server or a dedicated processing device such as a data logger or controller.
  • it comprises a processor 2 , a program store 4 and a memory 3 .
  • the program store stores instructions defining an operating system and applications that can run on that operating system.
  • the operating system provides means such as drivers and interface libraries by means of which applications can access peripheral hardware devices connected to the computer.
  • the network interface device prefferably capable of supporting standard transport protocols such as TCP, RDMA and ISCSI at user level: i.e. in such a way that they can be made accessible to an application program running on computer 1 .
  • standard transport protocols are implemented within transport libraries accessible to the operating system of the computer 1 .
  • FIG. 2 illustrates one implementation of this.
  • TCP and other protocols are implemented twice: as denoted TCP 1 and TCP 2 in FIG. 2 .
  • TCP 2 will be the standard implementation of the TCP protocol that is built into the operating system of the computer.
  • an application running on the computer may issue API (application programming interface) calls.
  • Some API calls may be handled by the transport libraries that have been provided to support the network interface device. API calls which cannot be serviced by the transport libraries that are available directly to the application can typically be passed on through the interface between the application and the operating system to be handled by the libraries that are available to the operating system.
  • the transport libraries For implementation with many operating systems it is convenient for the transport libraries to use existing Ethernet/IP based control-plane structures: e.g. SNMP and ARP protocols via the OS interface.
  • FIG. 3 shows an architecture employing a standard kernel TCP transport (TCPk).
  • the NIC On packet reception from the network interface hardware (e.g. a network interface card (NIC)), the NIC transfers data into pre-allocated data buffer (a) and invokes the OS interrupt handler by means of the interrupt line.
  • the interrupt handler manages the hardware interface e.g. posts new receive buffers and passes the received (in this case Ethernet) packet looking for protocol information. If a packet is identified as destined for a valid protocol e.g. TCP/IP it is passed (not copied) to the appropriate receive protocol processing block. (Step ii).
  • TCP receive-side processing takes place and the destination part is identified from the packet. If the packet contains valid data for the port then the packet is engaged on the port's data queue (step iii) and that port marked (which may involve the scheduler and the awakening of blocked process) as holding valid data.
  • the TCP receive processing may require other packets to be transmitted (step iv), for example in the cases that previously transmitted data should be retransmitted or that previously enqueued data (perhaps because the TCP window has opened) can now be transmitted. In this case packets are enqueued with the OS “NDIS” driver for transmission.
  • step v In order for an application to retrieve a data buffer it must invoke the OS API (step v), for example by means of a call such as recv( ), select( ) or poll( ). This has the effect of informing the application that data has been received and (in the case of a recv( ) call) copying the data from the kernel buffer to the application's buffer.
  • the copy enables the kernel (OS) to reuse its network buffers, which have special attributes such as being DMA accessible and means that the application does not necessarily have to handle data in units provided by the network, or that the application needs to know a priori the final destination of the data, or that the application must pre-allocate buffers which can then be used for data reception.
  • the send process behaves similarly except that there is usually one path of execution.
  • the application calls the operating system API (e.g. using a send ( ) call) with data to be transmitted (Step vi).
  • This call copies data into a kernel data buffer and invokes TCP send processing.
  • protocol is applied and fully formed TCP/IP packets are enqueued with the interface driver for transmission.
  • the system call returns with an indication of the data scheduled (by the hardware) for transmission.
  • the transport protocol may queue pending acknowledgements or window updates, and the device driver may queue in software pending data transmission requests to the hardware.
  • a third flow of control through the system is generated by actions which must be performed on the passing of time.
  • One example is the triggering of retransmission algorithms.
  • the operating system provides all OS modules with time and scheduling services (driven by the hardware clock interrupt), which enable the TCP stack to implement timers on a per-connection basis.
  • the structure might be generally as shown in FIG. 4 .
  • the application is linked with the transport library, rather than directly with the OS interface.
  • the structure is very similar to the kernel stack implementation with services such as timer support provided by user level packages, and the device driver interface replaced with user-level virtual interface module.
  • services such as timer support provided by user level packages, and the device driver interface replaced with user-level virtual interface module.
  • the transport library in order to provide the model of a asynchronous processing required by the TCP implementation there must be a number of active threads of execution within the transport library:
  • the user level timer code generally operates by using operating system provided timer/time support. Large overheads caused by system calls from the timer module result in the system failing to satisfy the aim of preventing interaction between the operating system and the data path.
  • NIC There may be a number of independent applications each of which manages a sub-set of the network connection; some via their own transport libraries and some by existing kernel stack transport libraries.
  • the NIC must be able to efficiently parse packets and deliver them to the appropriate virtual interface (or the OS) based on protocol information such as IP port and host address bits.
  • RDMA remote direct memory access
  • ISCSI Internet small computer system interface
  • the protocols involve embedding in conventional network packets strings of data that define the operations to be performed according to the protocol. For example, to perform an RDMA operation to write data to the memory of a remote computer a TCP packet may be sent to that computer with a payload containing string made up of: a marker marking the start of RDMA data, a tag indicating where in the memory the data is to be written to, the data itself, and a CRC block to allow the integrity of the data to be verified on receipt.
  • a single TCP packet may contain multiple such strings. When the TCP packet is received the data in its payload can be identified as RDMA data and processed accordingly to perform the desired write operation.
  • the processing of the packet to extract, verify and interpret the RDMA data can be performed by a processor of the target device itself or by a network interface device of the target device. However, it is conventional for the processing to be performed by the network interface device because this allows the passing of the data to and from the memory of the target to be performed efficiently. If the processing were performed by a processor of the target device then two memory write operations would be required since the RDMA data string would first have to be passed to a buffer area of the device's memory for processing, and then—when the destination address of the data had been determined—it would be copied to that address.
  • the RDMA processing is performed on the network interface device then the destination address can be determined there and the data can be written directly to that address, saving the copy operation that would otherwise be required. For this reason the approach of processing RDMA or ISCSI data on the network interface device is preferred.
  • it has the disadvantage that it requires the network interface device to have considerable processing power. This increases expense, especially since embedded processing power on devices such as network interface devices is typically more expensive than main processor power.
  • a network interface device for connection to a data processing device and to a data network so as to provide an interface between the data processing device and the network for supporting the network of packets of a transport protocol, the network interface device being configured to identify within the payloads of such packets data of a further protocol, the data of the further protocol comprising payload data of the further protocol and framing data of the further protocol, and the framing data including verification data for permitting the integrity of the payload data to be verified; on so identifying data of the further protocol, process at least the payload data for determining the integrity thereof and transmit to the data processing device at least some of the framing data and an indication of the result of the said processing.
  • FIG. 5 shows an example of a TCP transport architecture suitable for providing an interface between a network interface device such as device 10 of FIG. 1 and a computer such as computer 1 of FIG. 1 .
  • the architecture is not limited to this implementation.
  • TCP code which performs protocol processing on behalf of a network connection is located both in the transport library, and in the OS kernel. The fact that this code performs protocol processing is especially significant.
  • Connection state and data buffers are held in kernel memory and memory mapped into the transport library's address space.
  • Both kernel and transport library code may access the virtual hardware interface for and on behalf of a particular network connection.
  • Timers may be managed through the virtual hardware interface, (these correspond to real timers on the network interface device) without requiring system calls to set and clear them.
  • the NIC generates timer events which are received by the network interface device driver and passed up to the TCP support code for the device.
  • TCP support code for the network interface device is in addition to the generic OS TCP implementation. This is suitably able to co-exist with the stack of the network interface device.
  • TCP code can either be executed in the transport library as a result of a system API call (e.g. recv( ) (see step i of FIG. 5 ) or by the kernel as a result of a timer event (see step ii of FIG. 5 ).
  • system API call e.g. recv( ) (see step i of FIG. 5 ) or by the kernel as a result of a timer event (see step ii of FIG. 5 ).
  • the VI virtual interface
  • both code paths may access connection state or data buffers, whose protection and mutual exclusion may be managed by shared memory locks.
  • this feature can prevent the requirement for applications to change their thread and signal-handling assumptions: for example in some situations it can be unacceptable to require a single threaded application to link with a multi-threaded library.
  • the network interface device can implement a number of timers which may be allocated to particular virtual interface instances: for example there may be one timer per active TCP transport library. These timers can be made programmable (see step iii of FIG. 5 ) through a memory mapped VI and result in events (see step iv of FIG. 5 ) being issued. Because timers can be set and cleared without a system call the overhead for timer management is greatly reduced.
  • the network interface device can contain or have access to content addressable memory, which can match bits taken from the headers of incoming packets as a parallel hardware match operation. The results of the match can be taken to indicate the destination virtual interface which must be used for delivery, and the hardware can proceed to deliver the packet onto buffers which have been pushed on the VI.
  • content addressable memory can match bits taken from the headers of incoming packets as a parallel hardware match operation. The results of the match can be taken to indicate the destination virtual interface which must be used for delivery, and the hardware can proceed to deliver the packet onto buffers which have been pushed on the VI.
  • One alternative to using a CAM for this purpose is to use a hash algorithm that allows data from the packets' headers to be processed to determine the virtual interface to be used.
  • a network connection When a network connection is handed over the same system-wide resource handle can be passed between the applications.
  • the architecture of the network interface device can attach all state associated with the network connection with that (e.g.) file descriptor and require the transport library to memory map on to this state.
  • the new application (whether as an application, thread or process)—even if it is executing within a different address space—is able to memory-map and continue to use the state.
  • any number of applications are able to share use of a network connection with the same semantics as specified by standard system APIs.
  • connection state and protocol code can remain kernel resident.
  • the OS kernel code can be informed of the change of state of an application in the same manner as the generic TCP (TCPk) protocol stack. An application which is stopped will then not provide a thread to advance protocol execution, but the protocol will continue via timer events, for example as is known for prior art kernel stack protocols.
  • Protocols such as RDMA involve the embedding of framing information and cyclic redundancy check (CRC) data within the TCP stream. While framing information is trivial to calculate within protocol libraries, CRC's (in contrast to checksums) are computationally intensive and best done by hardware. To accommodate this, when a TCP stream is carrying an RDMA or similar encapsulation, an option in the virtual interface can be enabled, for example by means of a flag. On detecting this option, the NIC will parse each packet on transmission, recover the RDMA frame, apply the RDMA CRC algorithm and insert the CRC on the fly during transmission. Analogous procedures can beneficially be used in relation to other protocols, such as iSCSI, that require computationally relatively intensive calculation of error check data.
  • CRC cyclic redundancy check
  • the network interface device can also verify CRCs on received packets using similar logic. This may, for example, be performed in a manner akin to the standard TCP checksum off-load technique.
  • the steps performed are preferably as follows.
  • the NIC analyses the payload of each received TCP packet to identify whether it comprises RDMA data. This may be done by checking whether the RDMA framing data (i.e. the RDMA header and footer) and particularly the RDMA header marker is present in the payload. If it is not present then the packet is processed as normal. If it is present then the payload of the packet is processed by the NIC according to the RDMA CRC algorithm in order to calculate the RDMA CRC for the received data. Once that has been calculated then one of two routes can be employed. In a first route the RDMA data together with the calculated CRC is passed to the host computer.
  • the host computer can then compare the calculated CRC with the CRC as received in the RDMA data to establish whether the data has been correctly received.
  • that comparison can be performed at the NIC and the RDMA data together with an indication of the result of that comparison (e.g. in a one-bit flag) is passed to the host computer.
  • the host computer can then process the RDMA data accordingly.
  • the result of the CRC check indicates that data has been correctly received it can execute the RDMA command represented by the data (typically a read or write command). Otherwise it does not execute the command, and in that case it may automatically perform an error recovery action such as initiating a request for retransmission of the data.
  • the NIC performs the checking of the CRC in addition to its calculation then if it determines that the data has not been validly received it need not transmit the payload of the corresponding RDMA data to the host computer. It need only transmit sufficient information from the header of the transport protocol packet (typically a TCP header) and from the RDMA framing information to allow the host computer to request retransmission. It may transmit the whole of that header and framing information or it could transmit just some of that header and framing information. It will be appreciated that this operation is performed on a per-RDMA-data-unit basis.
  • a TCP packet contains a single RDMA data unit it is the framing data of that same data unit and the header of that same packet (or part thereof) that are passed to the host computer. If a TCP packet contains multiple RDMA data units then if any RDMA data unit is determined to be bad then its framing data and the header of the entire packet (or part thereof) are transmitted to the host PC.
  • Protocols such as Rt)MA also mandate additional operations such as RDMA READ which in conventional implementations require additional intelligence on the network interface device.
  • RDMA/TCP should best be implemented by means of a co-processor network interface device.
  • specific hardware filters can be encoded to trap such upper level protocol requests for a particular network connection.
  • the NIC can generate an event akin to the timer event in order to request action by software running on the attached computer, as well a delivery data message. By triggering an event in such a way the NIC can achieve the result that either the transport library, or the kernel helper will act on the request immediately. This can avoid the potential problem of kernel extensions not executing until the transport library is scheduled and can be applied to other upper protocols if required.
  • the calculation of the CRC is preferably performed by dedicated hardware of the NIC, since this provides a particularly efficient way of carrying out such bit-by-bit operations.
  • the above method could be applied to calculations other than CRC calculations—which may for example include authentication, encryption and decryption operations.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
US11/584,263 2004-04-21 2006-10-19 Checking data integrity Abandoned US20070036159A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/204,135 US8737431B2 (en) 2004-04-21 2011-08-05 Checking data integrity

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
WOPCT/GB05/01376 2004-04-21
GBGB0408868.8A GB0408868D0 (en) 2004-04-21 2004-04-21 Checking data integrity
PCT/GB2005/001376 WO2005104479A1 (en) 2004-04-21 2005-04-08 Checking data integrity

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/204,135 Continuation US8737431B2 (en) 2004-04-21 2011-08-05 Checking data integrity

Publications (1)

Publication Number Publication Date
US20070036159A1 true US20070036159A1 (en) 2007-02-15

Family

ID=32344130

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/584,263 Abandoned US20070036159A1 (en) 2004-04-21 2006-10-19 Checking data integrity
US13/204,135 Active 2026-11-09 US8737431B2 (en) 2004-04-21 2011-08-05 Checking data integrity

Family Applications After (1)

Application Number Title Priority Date Filing Date
US13/204,135 Active 2026-11-09 US8737431B2 (en) 2004-04-21 2011-08-05 Checking data integrity

Country Status (5)

Country Link
US (2) US20070036159A1 (zh)
EP (1) EP1738552B1 (zh)
CN (1) CN1961559A (zh)
GB (1) GB0408868D0 (zh)
WO (1) WO2005104479A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110238640A1 (en) * 2010-03-29 2011-09-29 Welch Allyn, Inc. Small Footprint Medical Information Transfer Protocol Stack

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7571377B2 (en) * 2005-12-22 2009-08-04 International Business Machines Corporation Method and apparatus for transmitting data in an integrated circuit
CN103023613B (zh) 2012-12-14 2018-06-01 中兴通讯股份有限公司 一种对数据帧长度进行校验的方法及装置
CN108304214B (zh) * 2017-12-13 2022-05-13 超聚变数字技术有限公司 一种立即数的完整性的校验方法及装置

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452455A (en) * 1992-06-15 1995-09-19 International Business Machines Corporation Asynchronous command support for shared channels for a computer complex having multiple operating systems
US5671442A (en) * 1993-02-12 1997-09-23 International Business Machines Corporation System having device driver operates in first mode for allowing concurrent access to adapter by applications and second mode for limiting access to one application
US20020001302A1 (en) * 1998-04-03 2002-01-03 Pickett Scott K. Systems and methods for multiple mode voice and data communications using intelligently bridged TDM and packet buses and methods for performing telephony and data functions using the same
US20020032806A1 (en) * 1998-06-12 2002-03-14 Richard C. Machin Method, system, and computer program product for representing and connecting an underlying connection-oriented device in a known format
US20030169738A1 (en) * 2002-03-07 2003-09-11 Mcdaniel Scott S. System and method for protecting header information using dedicated CRC
US6675200B1 (en) * 2000-05-10 2004-01-06 Cisco Technology, Inc. Protocol-independent support of remote DMA
US20040010612A1 (en) * 2002-06-11 2004-01-15 Pandya Ashish A. High performance IP processor using RDMA
US6707219B2 (en) * 2001-10-04 2004-03-16 Mabuchi Motor Co., Ltd. Small-sized motor and manufacturing method thereof
US20040054813A1 (en) * 1997-10-14 2004-03-18 Alacritech, Inc. TCP offload network interface device
US20040158793A1 (en) * 2003-02-12 2004-08-12 Alacritech, Inc. Network interface device for error detection using partical CRCS of variable length message portions
US20040205441A1 (en) * 2003-01-14 2004-10-14 Sliliquent Technologies Inc. Data integrity in protocol offloading
US20050102682A1 (en) * 2003-11-12 2005-05-12 Intel Corporation Method, system, and program for interfacing with a network adaptor supporting a plurality of devices
US7082563B2 (en) * 2003-01-31 2006-07-25 Italtel S.P.A. Automated method for generating the cyclic redundancy check for transmission of multi-protocol packets
US7236740B2 (en) * 2000-07-05 2007-06-26 Samsung Electronics Co., Ltd. Data retransmission apparatus and method in a mobile communication system employing HARQ technique
US20100174831A9 (en) * 2002-03-08 2010-07-08 Uri Elzur System and method for handling transport protocol segments

Family Cites Families (189)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4574350A (en) 1982-05-19 1986-03-04 At&T Bell Laboratories Shared resource locking apparatus
US5226161A (en) 1987-08-21 1993-07-06 Wang Laboratories, Inc. Integration of data between typed data structures by mutual direct invocation between data managers corresponding to data types
EP0404505B1 (en) 1989-06-19 1997-08-20 Digital Equipment Corporation Arrangement for integrating application in a digital processing system
US5325532A (en) 1992-09-25 1994-06-28 Compaq Computer Corporation Automatic development of operating system boot image
DE4238942C1 (de) 1992-11-19 1994-01-05 Luwa Fahrzeugklimatech Gmbh Schnellschlußventil zur Anordnung an Ansaug- und Ausblasöffnungen von Belüftungsanlagen
US5272599A (en) 1993-03-19 1993-12-21 Compaq Computer Corporation Microprocessor heat dissipation apparatus for a printed circuit board
JP3270216B2 (ja) 1993-10-08 2002-04-02 富士通株式会社 ファイル名検出方式
US5606668A (en) 1993-12-15 1997-02-25 Checkpoint Software Technologies Ltd. System for securing inbound and outbound data packet flow in a computer network
US5550816A (en) 1994-12-29 1996-08-27 Storage Technology Corporation Method and apparatus for virtual switching
US5535216A (en) 1995-01-17 1996-07-09 Digital Equipment Corporation Multiplexed gapped constant bit rate data transmission
US5680586A (en) 1995-04-18 1997-10-21 International Business Machines Corporation Method and system for storing and accessing user-defined attributes within a data processing system
US5802320A (en) 1995-05-18 1998-09-01 Sun Microsystems, Inc. System for packet filtering of data packets at a computer network interface
US6098112A (en) 1995-10-19 2000-08-01 Hewlett-Packard Company Streams function registering
US6170018B1 (en) 1995-11-27 2001-01-02 Sun Microsystems, Inc. Remote procedure calling using an existing descriptor mechanism
US5742817A (en) 1995-12-08 1998-04-21 Emc Corporation Method and apparatus for file server addressing
US6145088A (en) 1996-06-18 2000-11-07 Ontrack Data International, Inc. Apparatus and method for remote data recovery
US6070219A (en) 1996-10-09 2000-05-30 Intel Corporation Hierarchical interrupt structure for event notification on multi-virtual circuit network interface controller
US6687762B1 (en) 1996-10-10 2004-02-03 Hewlett-Packard Development Company, L.P. Network operating system adapted for simultaneous use by different operating systems
US6085217A (en) 1997-03-28 2000-07-04 International Business Machines Corporation Method and apparatus for controlling the assignment of units of work to a workload enclave in a client/server system
US5886872A (en) 1997-04-23 1999-03-23 Compaq Computer Corporation Pivotable support and heat sink apparatus removably connectable without tools to a computer processor
US6021446A (en) 1997-07-11 2000-02-01 Sun Microsystems, Inc. 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
US6785888B1 (en) 1997-08-29 2004-08-31 International Business Machines Corporation Memory allocator for a multiprocessor computer system
SE511098C2 (sv) 1997-12-08 1999-08-02 Ericsson Telefon Ab L M Kommunikationssystem och förfarande för att sända meddelanden i ett kommunikationssystem
US6160554A (en) 1998-03-19 2000-12-12 Hewlett Packard Company Computer file content preview window
US6002804A (en) 1998-03-26 1999-12-14 Hewlett-Packard Company Tone dependent variable halftoning with adjustable algorithm selection
US6260127B1 (en) 1998-07-13 2001-07-10 Compaq Computer Corporation Method and apparatus for supporting heterogeneous memory in computer systems
US6768996B1 (en) 1998-10-08 2004-07-27 Hewlett-Packard Development Company, L.P. System and method for retrieving an abstracted portion of a file without regard to the operating system of the current host computer
US6424621B1 (en) 1998-11-17 2002-07-23 Sun Microsystems, Inc. Software interface between switching module and operating system of a data packet switching and load balancing system
US6539027B1 (en) 1999-01-19 2003-03-25 Coastcom Reconfigurable, intelligent signal multiplexer and network design and maintenance system therefor
US6360241B1 (en) 1999-02-01 2002-03-19 Compaq Information Technologies Goup, L.P. Computer method and apparatus for division and square root operations using signed digit
WO2000052869A2 (en) * 1999-03-01 2000-09-08 Sun Microsystems, Inc. Method and apparatus for identifying and classifying network traffic in a high performance network interface
US6356951B1 (en) 1999-03-01 2002-03-12 Sun Microsystems, Inc. System for parsing a packet for conformity with a predetermined protocol using mask and comparison values included in a parsing instruction
US6466952B2 (en) 1999-04-08 2002-10-15 Hewlett-Packard Company Method for transferring and indexing data from old media to new media
US6502203B2 (en) 1999-04-16 2002-12-31 Compaq Information Technologies Group, L.P. Method and apparatus for cluster system operation
US6304945B1 (en) 1999-05-13 2001-10-16 Compaq Computer Corporation Method and apparatus for maintaining cache coherency in a computer system having multiple processor buses
US6768992B1 (en) 1999-05-17 2004-07-27 Lynne G. Jolitz Term addressable memory of an accelerator system and method
US7318102B1 (en) 1999-05-24 2008-01-08 Hewlett-Packard Development Company, L.P. Reliable datagram
WO2001018988A1 (en) 1999-09-08 2001-03-15 Mellanox Technologies Ltd. Bridge between parallel buses over a packet-switched network
US6751701B1 (en) 2000-06-14 2004-06-15 Netlogic Microsystems, Inc. Method and apparatus for detecting a multiple match in an intra-row configurable CAM system
US6484224B1 (en) 1999-11-29 2002-11-19 Cisco Technology Inc. Multi-interface symmetric multiprocessor
US6560613B1 (en) 2000-02-08 2003-05-06 Ensim Corporation Disambiguating file descriptors
US7103626B1 (en) 2000-05-24 2006-09-05 Hewlett-Packard Development, L.P. Partitioning in distributed computer system
US7216225B2 (en) 2000-05-24 2007-05-08 Voltaire Ltd. Filtered application-to-application communication
WO2001093046A1 (en) 2000-06-02 2001-12-06 Mellanox Technologies Ltd. Dma doorbell
US6690757B1 (en) 2000-06-20 2004-02-10 Hewlett-Packard Development Company, L.P. High-speed interconnection adapter having automated lane de-skew
US6687849B1 (en) 2000-06-30 2004-02-03 Cisco Technology, Inc. Method and apparatus for implementing fault-tolerant processing without duplicating working process
JP2004526218A (ja) 2000-08-24 2004-08-26 ボルテール アドバンスト データ セキュリティ リミテッド 相互接続されたファブリックにおける高度にスケーラブルで高速のコンテンツ・ベース・フィルタリング及び負荷均衡化システム及び方法
US6765922B1 (en) 2000-09-08 2004-07-20 Hewlett-Packard Development Company, L.P. Speculative transmit for system area network latency reduction
US20020059052A1 (en) 2000-09-12 2002-05-16 Mellanox Technologies Ltd. Co-simulation of network components
US6732211B1 (en) 2000-09-18 2004-05-04 Ensim Corporation Intercepting I/O multiplexing operations involving cross-domain file descriptor sets
US6349035B1 (en) 2000-09-29 2002-02-19 Compaq Information Technologies Group, L.P. Method and apparatus for tooless mating of liquid cooled cold plate with tapered interposer heat sink
US6718392B1 (en) 2000-10-24 2004-04-06 Hewlett-Packard Development Company, L.P. Queue pair partitioning in distributed computer system
JP3601445B2 (ja) 2000-12-06 2004-12-15 日本電気株式会社 パケット転送装置及びそれに用いる転送情報管理方法並びにその転送情報検索方法
US6728743B2 (en) 2001-01-04 2004-04-27 Mellanox Technologies Ltd. Modulo remainder generator
US6976174B2 (en) 2001-01-04 2005-12-13 Troika Networks, Inc. Secure multiprotocol interface
US7254237B1 (en) 2001-01-12 2007-08-07 Slt Logic, Llc System and method for establishing a secure connection
US6950961B2 (en) 2001-02-13 2005-09-27 Hewlett-Packard Development Company, L.P. Highly available, monotonic increasing sequence number generation
US20020129293A1 (en) 2001-03-07 2002-09-12 Hutton John F. Scan based multiple ring oscillator structure for on-chip speed measurement
US20020140985A1 (en) 2001-04-02 2002-10-03 Hudson Kevin R. Color calibration for clustered printing
US7543290B2 (en) 2001-04-11 2009-06-02 Mellanox Technologies Ltd. Multiple queue pair access with single doorbell
US7185013B2 (en) 2001-04-12 2007-02-27 International Business Machines Corporation Method for constructing and caching a chain of file identifiers and enabling inheritance of resource properties in file systems
US6904057B2 (en) 2001-05-04 2005-06-07 Slt Logic Llc Method and apparatus for providing multi-protocol, multi-stage, real-time frame classification
US7042848B2 (en) 2001-05-04 2006-05-09 Slt Logic Llc System and method for hierarchical policing of flows and subflows of a data stream
US6944168B2 (en) 2001-05-04 2005-09-13 Slt Logic Llc System and method for providing transformation of multi-protocol packets in a data stream
US6901052B2 (en) 2001-05-04 2005-05-31 Slt Logic Llc System and method for policing multiple data flows and multi-protocol data flows
US6438130B1 (en) 2001-06-28 2002-08-20 Mellanox Technologies Ltd. Forwarding database cache
US7441017B2 (en) 2001-06-29 2008-10-21 Thomas Lee Watson System and method for router virtual networking
US6980328B2 (en) 2001-07-05 2005-12-27 Hewlett-Packard Development Company, L.P. Direction-dependent color conversion in bidirectional printing
US7136397B2 (en) 2001-08-20 2006-11-14 Slt Logic Llc Network architecture and system for delivering bi-directional xDSL based services
US6744652B2 (en) 2001-08-22 2004-06-01 Netlogic Microsystems, Inc. Concurrent searching of different tables within a content addressable memory
US7151744B2 (en) 2001-09-21 2006-12-19 Slt Logic Llc Multi-service queuing method and apparatus that provides exhaustive arbitration, load balancing, and support for rapid port failover
US7099275B2 (en) 2001-09-21 2006-08-29 Slt Logic Llc Programmable multi-service queue scheduler
US7161719B2 (en) 2001-09-26 2007-01-09 Hewlett-Packard Development Company, L.P. Generalized color calibration architecture and method
US6904534B2 (en) 2001-09-29 2005-06-07 Hewlett-Packard Development Company, L.P. Progressive CPU sleep state duty cycle to limit peak power of multiple computers on shared power distribution unit
US7023584B2 (en) 2001-10-02 2006-04-04 Hewlett-Packard Development Company, L.P. Color calibration method and apparatus
US20030065856A1 (en) 2001-10-03 2003-04-03 Mellanox Technologies Ltd. Network adapter with multiple event queues
US7054035B2 (en) 2001-10-29 2006-05-30 Hewlett-Packard Development Company, L.P. Method and system for management of color through conversion between color spaces
US7240350B1 (en) 2002-01-07 2007-07-03 Slt Logic, Llc System and method for providing communications to processes
US7908441B2 (en) 2002-01-11 2011-03-15 Oracle America, Inc. Value recycling facility for multithreaded computations
US7719980B2 (en) 2002-02-19 2010-05-18 Broadcom Corporation Method and apparatus for flexible frame processing and classification engine
US7093158B2 (en) 2002-03-11 2006-08-15 Hewlett-Packard Development Company, L.P. Data redundancy in a hot pluggable, large symmetric multi-processor system
US7245627B2 (en) 2002-04-23 2007-07-17 Mellanox Technologies Ltd. Sharing a network interface card among multiple hosts
US6705703B2 (en) 2002-04-24 2004-03-16 Hewlett-Packard Development Company, L.P. Determination of control points for construction of first color space-to-second color space look-up table
US6667918B2 (en) 2002-05-01 2003-12-23 Mellanox Technologies Ltd. Self-repair of embedded memory arrays
US7149227B2 (en) 2002-05-31 2006-12-12 Mellanox Technologies Ltd. Round-robin arbiter with low jitter
US7171439B2 (en) 2002-06-14 2007-01-30 Integrated Device Technology, Inc. Use of hashed content addressable memory (CAM) to accelerate content-aware searches
US7263103B2 (en) 2002-07-23 2007-08-28 Mellanox Technologies Ltd. Receive queue descriptor pool
US7143412B2 (en) 2002-07-25 2006-11-28 Hewlett-Packard Development Company, L.P. Method and apparatus for optimizing performance in a multi-processing system
US7313667B1 (en) 2002-08-05 2007-12-25 Cisco Technology, Inc. Methods and apparatus for mapping fields of entries into new values and combining these mapped values into mapped entries for use in lookup operations such as for packet processing
US7631106B2 (en) 2002-08-15 2009-12-08 Mellanox Technologies Ltd. Prefetching of receive queue descriptors
US8700724B2 (en) * 2002-08-19 2014-04-15 Broadcom Corporation System and method for transferring data over a remote direct memory access (RDMA) network
US7299266B2 (en) 2002-09-05 2007-11-20 International Business Machines Corporation Memory management offload for RDMA enabled network adapters
US7316017B1 (en) 2003-01-06 2008-01-01 Slt Logic, Llc System and method for allocatiing communications to processors and rescheduling processes in a multiprocessor system
US7386619B1 (en) 2003-01-06 2008-06-10 Slt Logic, Llc System and method for allocating communications to processors in a multiprocessor system
US7190827B2 (en) 2003-01-22 2007-03-13 Hewlett-Packard Development Company, L.P. Color space conversion using interpolation
GB2398134A (en) 2003-01-27 2004-08-11 Hewlett Packard Co Applying a data handing policy to predetermined system calls
US7502826B2 (en) 2003-03-27 2009-03-10 Hewlett-Packard Development Company, L.P. Atomic operations
US7103744B2 (en) 2003-03-27 2006-09-05 Hewlett-Packard Development Company, L.P. Binding a memory window to a queue pair
US8023520B2 (en) 2003-03-27 2011-09-20 Hewlett-Packard Development Company, L.P. Signaling packet
US7554993B2 (en) 2003-03-27 2009-06-30 Hewlett-Packard Development Company, L.P. Method and apparatus for performing connection management with multiple stacks
US20040210754A1 (en) 2003-04-16 2004-10-21 Barron Dwight L. Shared security transform device, system and methods
US20040223462A1 (en) 2003-05-09 2004-11-11 International Business Machines Corporation Auto negotiate extension for ethernet infrastructure
US20050021558A1 (en) 2003-06-11 2005-01-27 Beverly Harlan T. Network protocol off-load engine memory management
US20040252685A1 (en) 2003-06-13 2004-12-16 Mellanox Technologies Ltd. Channel adapter with integrated switch
US7356818B2 (en) 2003-06-24 2008-04-08 International Business Machines Corporation Virtual machine communicating to external device without going through other virtual machines by using a list of IP addresses managed only by a single virtual machine monitor
US7251736B2 (en) 2003-06-25 2007-07-31 International Business Machines Corporation Remote power control in a multi-node, partitioned data processing system via network interface cards
US7388840B2 (en) 2003-06-30 2008-06-17 Intel Corporation Methods and apparatuses for route management on a networking control plane
US7352893B2 (en) 2003-07-09 2008-04-01 Hewlett-Packard Development Company, L.P. Representing extended color gamut information
US7446901B2 (en) 2003-07-21 2008-11-04 Hewlett-Packard Development Company Conforming output intensities of pens
EP1653676B1 (en) 2003-08-08 2017-12-27 Sony Corporation Communication system, communication method and program
US7484209B2 (en) 2003-08-12 2009-01-27 Hewlett-Packard Development Company, L.P. Instrumenting java code by modifying bytecodes
US20050039171A1 (en) 2003-08-12 2005-02-17 Avakian Arra E. Using interceptors and out-of-band data to monitor the performance of Java 2 enterprise edition (J2EE) applications
US7496903B2 (en) 2003-08-12 2009-02-24 Hewlett-Packard Development Company, L.P. Synthesizing application response measurement (ARM) instrumentation
US7757232B2 (en) 2003-08-14 2010-07-13 Hewlett-Packard Development Company, L.P. Method and apparatus for implementing work request lists
US7617376B2 (en) 2003-08-14 2009-11-10 Hewlett-Packard Development Company, L.P. Method and apparatus for accessing a memory
US7139894B1 (en) 2003-09-12 2006-11-21 Microsoft Corporation System and methods for sharing configuration information with multiple processes via shared memory
US7404190B2 (en) 2003-09-18 2008-07-22 Hewlett-Packard Development Company, L.P. Method and apparatus for providing notification via multiple completion queue handlers
US7739684B2 (en) 2003-11-25 2010-06-15 Intel Corporation Virtual direct memory access crossover
US20050172181A1 (en) 2004-01-16 2005-08-04 Mellanox Technologies Ltd. System and method for production testing of high speed communications receivers
US7168784B2 (en) 2004-03-30 2007-01-30 Hewlett-Packard Development Company, L.P. Formation of images
US20050219278A1 (en) 2004-03-30 2005-10-06 Hudson Kevin R Image formation with a flexible number of passes
US7929161B2 (en) 2004-04-15 2011-04-19 Hewlett-Packard Development Company, L.P. Image processing system and method
US7656870B2 (en) 2004-06-29 2010-02-02 Damaka, Inc. System and method for peer-to-peer hybrid communications
US7447861B2 (en) 2004-07-14 2008-11-04 International Business Machines Corporation Integrated multi-function object locks
US7650386B2 (en) 2004-07-29 2010-01-19 Hewlett-Packard Development Company, L.P. Communication among partitioned devices
US20060045098A1 (en) 2004-08-31 2006-03-02 Krause Michael R System for port mapping in a network
US7835380B1 (en) 2004-10-19 2010-11-16 Broadcom Corporation Multi-port network interface device with shared processing resources
US7403535B2 (en) 2004-12-14 2008-07-22 Hewlett-Packard Development Company, L.P. Aggregation of network resources providing offloaded connections between applications over a network
US7551614B2 (en) 2004-12-14 2009-06-23 Hewlett-Packard Development Company, L.P. Aggregation over multiple processing nodes of network resources each providing offloaded connections between applications over a network
US7886076B2 (en) 2005-01-12 2011-02-08 International Business Machines Corporation Bypassing routing stacks using mobile internet protocol
US20060193318A1 (en) 2005-02-28 2006-08-31 Sriram Narasimhan Method and apparatus for processing inbound and outbound quanta of data
US7674564B2 (en) 2005-04-11 2010-03-09 Hewlett-Packard Development Company, L.P. Color filter
US7580415B2 (en) 2005-04-27 2009-08-25 Hewlett-Packard Development Company, L.P. Aggregation of hybrid network resources operable to support both offloaded and non-offloaded connections
US7580495B2 (en) 2005-06-30 2009-08-25 Slt Logic Llc Mixer-based phase control
US7573967B2 (en) 2005-07-01 2009-08-11 Slt Logic Llc Input threshold adjustment in a synchronous data sampling circuit
JP4544072B2 (ja) 2005-07-20 2010-09-15 ブラザー工業株式会社 ノード装置、コンピュータプログラム、情報配信システム、及びネットワーク参加方法
US8645964B2 (en) 2005-08-23 2014-02-04 Mellanox Technologies Ltd. System and method for accelerating input/output access operation on a virtual machine
US7285996B2 (en) 2005-09-30 2007-10-23 Slt Logic, Llc Delay-locked loop
US7813460B2 (en) 2005-09-30 2010-10-12 Slt Logic, Llc High-speed data sampler with input threshold adjustment
US20070110034A1 (en) 2005-11-14 2007-05-17 Broadcom Corporation, A California Corporation Pathways analysis and control in packet and circuit switched communication networks
US20070124545A1 (en) 2005-11-29 2007-05-31 Anton Blanchard Automatic yielding on lock contention for multi-threaded processors
US9104894B2 (en) 2005-12-16 2015-08-11 Hewlett-Packard Development Company, L.P. Hardware enablement using an interface
US7827442B2 (en) 2006-01-23 2010-11-02 Slt Logic Llc Shelf management controller with hardware/software implemented dual redundant configuration
US7518164B2 (en) 2006-03-29 2009-04-14 Mellanox Technologies Ltd. Current-triggered low turn-on voltage SCR
US9111602B2 (en) 2006-04-07 2015-08-18 Mellanox Technologies, Ltd. Accurate global reference voltage distribution system with local reference voltages referred to local ground and locally supplied voltage
US7514978B2 (en) 2006-05-08 2009-04-07 Mellanox Technologies Ltd. Terminated input buffer with offset cancellation circuit
US7567267B2 (en) 2006-07-31 2009-07-28 Hewlett-Packard Development Company, L.P. System and method for calibrating a beam array of a printer
US7822594B2 (en) 2006-08-07 2010-10-26 Voltaire Ltd. Service-oriented infrastructure management
US7801027B2 (en) 2006-08-30 2010-09-21 Mellanox Technologies Ltd. Auto-negotiation by nodes on an infiniband fabric
US8948199B2 (en) 2006-08-30 2015-02-03 Mellanox Technologies Ltd. Fibre channel processing by a host channel adapter
US8296849B2 (en) 2006-10-31 2012-10-23 Hewlett-Packard Development Company, L.P. Method and apparatus for removing homogeneity from execution environment of computing system
US20080115217A1 (en) 2006-10-31 2008-05-15 Hewlett-Packard Development Company, L.P. Method and apparatus for protection of a computer system from malicious code attacks
US8522042B2 (en) 2006-10-31 2013-08-27 Hewlett-Packard Development Company, L.P. Method and apparatus for enforcement of software licence protection
US8233380B2 (en) 2006-11-06 2012-07-31 Hewlett-Packard Development Company, L.P. RDMA QP simplex switchless connection
US8244825B2 (en) 2006-11-06 2012-08-14 Hewlett-Packard Development Company, L.P. Remote direct memory access (RDMA) completion
US7562075B2 (en) 2006-12-07 2009-07-14 International Business Machines Corporation Change approvals for computing systems
US20080135774A1 (en) 2006-12-08 2008-06-12 Asml Netherlands B.V. Scatterometer, a lithographic apparatus and a focus analysis method
US8909742B2 (en) 2006-12-18 2014-12-09 Hewlett-Packard Development Company, L.P. Distributed configuration of network interface cards
US7864787B2 (en) 2007-03-26 2011-01-04 Voltaire Ltd. Device, system and method of multicast communication
US7848322B2 (en) 2007-03-26 2010-12-07 Voltaire Ltd. Device, system and method of UDP communication
US7856488B2 (en) 2007-03-30 2010-12-21 Hewlett-Packard Development Company, L.P. Electronic device profile migration
US20090097200A1 (en) 2007-04-11 2009-04-16 Viswa Sharma Modular blade for providing scalable mechanical, electrical and environmental functionality in the enterprise using advancedtca boards
US8817817B2 (en) 2007-06-06 2014-08-26 Hewlett-Packard Development Company, L.P. Method for ethernet power savings on link aggregated groups
US7802071B2 (en) 2007-07-16 2010-09-21 Voltaire Ltd. Device, system, and method of publishing information to multiple subscribers
US20090165003A1 (en) 2007-12-21 2009-06-25 Van Jacobson System and method for allocating communications to processors and rescheduling processes in a multiprocessor system
US8903989B2 (en) 2008-04-28 2014-12-02 Hewlett-Packard Development Company, L.P. Adjustable server-transmission rates over fixed-speed backplane connections within a multi-server enclosure
US8248930B2 (en) 2008-04-29 2012-08-21 Google Inc. Method and apparatus for a network queuing engine and congestion management gateway
WO2009136933A1 (en) 2008-05-08 2009-11-12 Hewlett-Packard Development Company, L.P. A method for interfacing a fibre channel network with an ethernet based network
US8108538B2 (en) 2008-08-21 2012-01-31 Voltaire Ltd. Device, system, and method of distributing messages
US20100088437A1 (en) 2008-10-06 2010-04-08 Mellanox Technologies Ltd Infiniband adaptive congestion control adaptive marking rate
US7921178B2 (en) 2008-12-04 2011-04-05 Voltaire Ltd. Device, system, and method of accessing storage
US8201168B2 (en) 2008-12-25 2012-06-12 Voltaire Ltd. Virtual input-output connections for machine virtualization
US8370675B2 (en) 2009-01-28 2013-02-05 Mellanox Technologies Ltd. Precise clock synchronization
CN102369697B (zh) 2009-01-29 2016-03-16 惠普开发有限公司 基于不同的操作模式把一个或多个电子装置的端口连接到网络的不同子集
US8000336B2 (en) 2009-04-21 2011-08-16 Voltaire Ltd. Spanning tree root selection in a hierarchical network
US8255475B2 (en) 2009-04-28 2012-08-28 Mellanox Technologies Ltd. Network interface device with memory management capabilities
US8407478B2 (en) 2009-07-07 2013-03-26 Mellanox Technologies Ltd. Control message signature for device control
US8365057B2 (en) 2009-07-30 2013-01-29 Mellanox Technologies Ltd Processing of data integrity field
US8644140B2 (en) 2009-09-09 2014-02-04 Mellanox Technologies Ltd. Data switch with shared port buffers
US8225182B2 (en) 2009-10-04 2012-07-17 Mellanox Technologies Ltd. Processing of block and transaction signatures
US7934959B2 (en) 2009-10-06 2011-05-03 Mellanox Technologies Ltd. Adapter for pluggable module
WO2011043768A1 (en) 2009-10-07 2011-04-14 Ziebel, As Combination injection string and distributed sensing string
US8576715B2 (en) 2009-10-26 2013-11-05 Mellanox Technologies Ltd. High-performance adaptive routing
US20120039036A1 (en) 2009-10-30 2012-02-16 Krause Michael R Thermal bus bar for a blade enclosure
WO2011053330A1 (en) 2009-11-02 2011-05-05 Hewlett-Packard Development Company, L.P. Multiprocessing computing with distributed embedded switching
US9110860B2 (en) 2009-11-11 2015-08-18 Mellanox Technologies Tlv Ltd. Topology-aware fabric-based offloading of collective functions
US8811417B2 (en) 2009-11-15 2014-08-19 Mellanox Technologies Ltd. Cross-channel network operation offloading for collective operations
US8213315B2 (en) 2009-11-19 2012-07-03 Mellanox Technologies Ltd. Dynamically-connected transport service
US20110173352A1 (en) 2010-01-13 2011-07-14 Mellanox Technologies Ltd Power Reduction on Idle Communication Lanes

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5452455A (en) * 1992-06-15 1995-09-19 International Business Machines Corporation Asynchronous command support for shared channels for a computer complex having multiple operating systems
US5671442A (en) * 1993-02-12 1997-09-23 International Business Machines Corporation System having device driver operates in first mode for allowing concurrent access to adapter by applications and second mode for limiting access to one application
US20040054813A1 (en) * 1997-10-14 2004-03-18 Alacritech, Inc. TCP offload network interface device
US20020001302A1 (en) * 1998-04-03 2002-01-03 Pickett Scott K. Systems and methods for multiple mode voice and data communications using intelligently bridged TDM and packet buses and methods for performing telephony and data functions using the same
US20020032806A1 (en) * 1998-06-12 2002-03-14 Richard C. Machin Method, system, and computer program product for representing and connecting an underlying connection-oriented device in a known format
US6675200B1 (en) * 2000-05-10 2004-01-06 Cisco Technology, Inc. Protocol-independent support of remote DMA
US7236740B2 (en) * 2000-07-05 2007-06-26 Samsung Electronics Co., Ltd. Data retransmission apparatus and method in a mobile communication system employing HARQ technique
US6707219B2 (en) * 2001-10-04 2004-03-16 Mabuchi Motor Co., Ltd. Small-sized motor and manufacturing method thereof
US20030169738A1 (en) * 2002-03-07 2003-09-11 Mcdaniel Scott S. System and method for protecting header information using dedicated CRC
US20100174831A9 (en) * 2002-03-08 2010-07-08 Uri Elzur System and method for handling transport protocol segments
US20040037299A1 (en) * 2002-06-11 2004-02-26 Pandya Ashish A. Data processing system using internet protocols
US20040010612A1 (en) * 2002-06-11 2004-01-15 Pandya Ashish A. High performance IP processor using RDMA
US20040205441A1 (en) * 2003-01-14 2004-10-14 Sliliquent Technologies Inc. Data integrity in protocol offloading
US7082563B2 (en) * 2003-01-31 2006-07-25 Italtel S.P.A. Automated method for generating the cyclic redundancy check for transmission of multi-protocol packets
US20040158793A1 (en) * 2003-02-12 2004-08-12 Alacritech, Inc. Network interface device for error detection using partical CRCS of variable length message portions
US20050102682A1 (en) * 2003-11-12 2005-05-12 Intel Corporation Method, system, and program for interfacing with a network adaptor supporting a plurality of devices

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110238640A1 (en) * 2010-03-29 2011-09-29 Welch Allyn, Inc. Small Footprint Medical Information Transfer Protocol Stack
US8458149B2 (en) 2010-03-29 2013-06-04 Welch Allyn, Inc. Small footprint medical information transfer protocol stack

Also Published As

Publication number Publication date
EP1738552A1 (en) 2007-01-03
CN1961559A (zh) 2007-05-09
US8737431B2 (en) 2014-05-27
GB0408868D0 (en) 2004-05-26
EP1738552B1 (en) 2017-06-14
US20110296535A1 (en) 2011-12-01
WO2005104479A1 (en) 2005-11-03

Similar Documents

Publication Publication Date Title
US11210148B2 (en) Reception according to a data transfer protocol of data directed to any of a plurality of destination entities
US8612536B2 (en) User-level stack
EP2632109B1 (en) Data processing system and method therefor
US11178259B2 (en) Methods and apparatus for regulating networking traffic in bursty system conditions
US6449656B1 (en) Storing a frame header
JP4743894B2 (ja) データ・パケットを伝送しながらセキュリティを改良するための方法及び装置
US6427169B1 (en) Parsing a packet header
US20070061439A1 (en) Signalling data reception
US8737431B2 (en) Checking data integrity
US20070076712A1 (en) Processing packet headers

Legal Events

Date Code Title Description
AS Assignment

Owner name: SOLARFLARE COMMUNICATIONS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:POPE, STEVE LESLIE;ROBERTS, DEREK EDWARDS;RIDDOCH, DAVID JAMES;REEL/FRAME:018455/0347

Effective date: 20061019

AS Assignment

Owner name: SOLARFLARE COMMUNICATIONS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LEVEL 5 NETWORKS, INC.;REEL/FRAME:022568/0921

Effective date: 20080926

AS Assignment

Owner name: SOLARFLARE COMMUNICATIONS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LEVEL 5 NETWORKS, INC.;REEL/FRAME:022752/0318

Effective date: 20080926

AS Assignment

Owner name: COMERICA BANK, AS AGENT, A TEXAS BANKING ASSOCIATI

Free format text: SECURITY AGREEMENT;ASSIGNOR:SOLARFLARE COMMUNICATIONS, INC., A DELAWARE CORPORATION;REEL/FRAME:027487/0097

Effective date: 20111229

STCB Information on status: application discontinuation

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

AS Assignment

Owner name: SOLARFLARE COMMUNICATIONS, INC., CALIFORNIA

Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:COMERICA BANK;REEL/FRAME:033716/0073

Effective date: 20140910

AS Assignment

Owner name: SOLARFLARE COMMUNICATIONS, INC., CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:COMERICA BANK;REEL/FRAME:034255/0140

Effective date: 20141105

AS Assignment

Owner name: PACIFIC WESTERN BANK, NORTH CAROLINA

Free format text: SECURITY INTEREST;ASSIGNOR:SOLARFLARE COMMUNICATIONS, INC.;REEL/FRAME:038363/0589

Effective date: 20160331

AS Assignment

Owner name: SOLARFLARE COMMUNICATIONS, INC., CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:PACIFIC WESTERN BANK;REEL/FRAME:042820/0890

Effective date: 20170615

AS Assignment

Owner name: XILINX, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SOLARFLARE COMMUNICATIONS, INC.;REEL/FRAME:051108/0209

Effective date: 20191113