Passing a communication control block from host to a local device such that a message is processed on the device

Inactive Publication Date: 2001-09-20
ALACRITECH
View PDF0 Cites 196 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Benefits of technology

0039] This fallback capability enables the performance-impacting functions of the host protocols to be handled by the CPD network microprocessor, while the exceptions are dealt with by the host stacks, the exceptions being so rare as to negligibly effect overall performance. The custom designed network microprocessor can have independent processors for transmitting and receiving network information, and further processors for assisting and queuing. A preferred microprocessor embodiment includes a pipelined trio of receive, transmit and utility processors. DMA controllers are integrated into the implementation and work in close concert with the network microprocessor to quickly move data between buffers adjacent the controllers and other locations such as long term storage. Providing buffers logically adjacent to the DMA controllers avoids unnecessary loads on the PCI bus.
0040] FIG. 3 diagrams the general flow of messages received according to the current invention. A large TCP/IP message such as a file transfer may be received by the host from the network in a number of separate, approximately 64 KB transfers, each of which may be split into many, approximately 1.5 KB frames or packets for transmission over a network. Novel NetWare protocol suites running Sequenced Packet Exchange Protocol (SPX) or NetWare Core Protocol (NCP) over Internetwork Packet Exchange (IPX) work in a similar fashion. Another form of data a communication which can be handled by the fast-path is Transaction TCP (hereinafter T/TCP or TTCP), a version of TCP which initiates a connection with an initial transaction request after which a reply containing data may be sent according to the connection, rather than initiating a connection via a several-message initialization dialogue and then transferring data with later messages. In any of the transfers typified by these protocols, each packet conventionally includes a portion of the data being transferred, as well as headers for each of the protocol layers and markers for positioning the packet relative to the rest of the packets of this message.
0041] When a message packet or frame is received 47 from a network by the CPD, it is first validated by a hardware assist. This includes determining the protocol types of the various layers, verifying relevant checksums, and summarizing 57 these findings into a status word or words. Included in these words is an indication whether or not the frame is a candidate for fast-path data flow. Selection 59 of fast-path candidates is based on whether the host may benefit from this message connection being handled by the CPD, which includes determining whether the packet has header bytes denoting particular protocols, such as TCP/IP or SPX/IPX for example. The small percent of frames that are not fast-path candidates are sent 61 to the host protocol stacks for slow-path protocol processing. Subsequent network microprocessor work with each fast-path candidate determines whether a fast-path connection such as a TCP or SPX CCB is already extant for that candidate, or whe

Problems solved by technology

We have achieved most of the goals outlined above, but we are not done yet.
Simply implementing TCP on the INIC does not allow us to achieve our

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Passing a communication control block from host to a local device such that a message is processed on the device
  • Passing a communication control block from host to a local device such that a message is processed on the device
  • Passing a communication control block from host to a local device such that a message is processed on the device

Examples

Experimental program
Comparison scheme
Effect test

Example

[0481] In a first embodiment of the product, the INIC handles only simple-case data transfer operations on a TCP connection. (These of course constitute the large majority of CPU cycles consumed by TCP processing in a conventional driver.)

[0482] There are many other complexities of the TCP protocol which must still be handled by host driver software: connection setup and breakdown, out-of-order data, nonstandard flags, etc.

[0483] The NT OS contains a fully functional TCP / IP driver, and one solution would be to enhance this so that it is able to detect our INIC and take advantage of it by "handing off" data-path processing where appropriate.

[0484] Unfortunately, we do not have access to NT source, let alone permission to modify NT. Thus the solution above, while a goal, cannot be done immediately. We instead provide our own custom driver software on the host for those parts of TCP processing which are not handled by the INIC.

[0485] This presents a challenge. The NT network driver fra...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

No PUM Login to view more

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.

Description

[0001] This application claims the benefit under 35 U.S.C. .sctn. 120 of U.S. patent application Ser. No. 09 / 436,603, filed Nov. 12, 1999, which in turn claims the benefit under 35 U.S.C. .sctn. 120 of U.S. patent application Ser. No. 09 / 067,544, filed Apr. 27, 1998, which in turn claims the benefit under 35 U.S.C. .sctn. 119(e) of the Provisional Application Serial No. 60 / 061,809, filed Oct. 14, 1997. The complete disclosures of: U.S. patent application Ser. No. 09 / 436,603; U.S. patent application Ser. No. 09 / 067,544; and Provisional Application Serial No. 60 / 061,809 are incorporated herein by reference.[0002] The present invention relates generally to computer or other networks, and more particularly to protocol processing for information communicated between hosts such as computers connected to a network.[0003] The advantages of network computing are increasingly evident. The convenience and efficiency of providing information, communication or computational power to individuals ...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Application Information

Patent Timeline
no application Login to view more
IPC IPC(8): G06F5/10H04L12/56H04L45/243H04L49/901H04Q3/00
CPCG06F5/10H04L29/06H04L29/12009H04L29/12018H04L45/00H04L45/245H04L49/90H04L49/901H04L49/9063H04L49/9094H04L61/10H04Q3/0029H04Q2213/13093H04Q2213/13103H04Q2213/13204H04Q2213/13299H04Q2213/1332H04Q2213/13345H04L67/34H04L69/16H04L69/166H04L67/325H04L67/10H04L67/327H04L69/22H04L69/08H04L69/161H04L69/163H04L69/12H04L69/162H04L69/165H04L69/168H04L69/32H04L61/25H04L69/169H04L69/18H04L61/00H04L9/40H04L67/62H04L67/63
Inventor BOUCHER, LAURENCE B.BLIGHTMAN, STEPHEN E.J.CRAFT, PETER K.HIGGEN, DAVID A.PHILBRICK, CLIVE M.STARR, DARYL D.
Owner ALACRITECH
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products