throbber

`
`
`
`gmeykelgdcket No:
`“1
`
`‘
`
`,2;
`
`X
`
`X
`
`
`
`
`
`.,Mamas?‘
`
`I“WWIIyas
`
`V
`
`5
`f o[-
`“'11:.
`l :3? =c,
`‘to E.“
`
`
`
`‘1
`1
`i
`:A :w:
`>9
`\‘n,
`‘
`i
`‘(New NonproyisionalApplicatitijjs Under 37
`
`A
`
`A
`
`a
`
`gig,»
`§ l.53(b))
`
`9
`
`TO THE COMMISSIONER FOR PATENTS:
`Transmitted herewith is a patent application identified as follows:
`First—named inventor: Laurence B. Boucher
`-
`-
`Asstgnee: Alacrltech, Inc.
`Filing Date: September 27, 2002
`Title: FAST-PATH APPARATUS FOR RECEIVING DATA CORRESPONDING TO A TCP CONNECTION
`
`“'3 §9fi
`“H E
`3 3
`
`,,
`'
`
`I"
`
`,This applicatlon claims the benefit under 35 USC §120 (prior application not abandoned) of:
`
`_
`,
`,, m,
`.
`_. c, “N:
`,7 Hiwwwww, Imam w__“_d
`l—m—Pflclésflafigni “Ffist-Path Apparatus For R¢991Yiflg Baggagpglaingna ICLQQQLIQCQOIJ”
`’
`'1 Serial No.: 177919272397,
`j
`TFilinEDate: March 6, 2002
`Atty. DoprkgtzégéflOGC
`2%: Zarni Mauiiigj
`
`This application claims the benefit under 35 USC §120 of Application Serial No. 10/092,967, filed March 6,
`2002, which in turn claims the benefit under 35 USC §120 of Application Serial No. 10/023,240, filed December
`15, 2001, which in turn claims the benefit under 35 USC §120 of Application Serial No. 09/464,283, filed
`December 15, 1999, which in turn claims the benefit under 35 USC §l20 of Application Serial No. 09/439,603,
`filed November 12, 1999, which in turn claims the benefit under 35 USC §120 of Application Serial No.
`09/067,544, filed April 27, 1998, which in turn claims the benefit under 35 USC §119 of Provisional Application
`Serial No. 60/061,809, filed October 14, 1997.
`
`This application also claims the benefit under 35 USC §120 of Application Serial No. 09/384,792, filed
`August 27, 1999, which in turn claims the benefit under 35 USC §120 of Application Serial No. 09/141,713, filed
`August 28, 1998, which in turn claims the benefit under 35 USC §119 of Proviswnal Application Serial No.
`60/098,296, filed August 27, 1998.
`
`This application also claims the benefit under 35 USC. §120 of the following:
`U.S. Patent Application Serial No.
`09/416,925 (ALA-005), filed October 13, 1999;
`U.S.
`Patent Application Serial No;
`09/514,425 (ALA-007), filed February 28, 2000;
`U.S.
`Patent Application Serial No.
`09/675,484 (ALA—010A), filed September 29, 2000;
`U.S.
`Patent Application Serial No.
`09/675,700 (ALA—OIOB), filed September 29, 2000;
`U.S.
`Patent Application Serial No.
`09/789,366 (ALA—013), filed February 20, 2001;
`US.
`Patent Application Serial No.
`09/801,488 (ALA-011), filed March 7, 2001;
`U.S.
`Patent Application Serial No.
`09/802,551 (ALA-012), filed March 9, 2001;
`U.S.
`Patent Application Serial No.
`09/802,426 (ALA-014), filed March 9, 2001;
`U.S.
`Patent Application Serial No.
`O9/802,550 (ALA-015), filed March 9, 2001;
`U.S.
`Patent Application Serial No.
`09/855,979 (ALA—016), filed March 14, 2001; and
`U.S.
`Patent Application Serial No.
`09/970,124 (ALA—O20), filed October 2, 2001.
`
`(X) The specification contains a statement claiming priority under 35 USC § 120 and claiming the benefit under
`35 USC. §119.
`
`(X) The entire disclosure of each of the prior applications (10/092,967; 10/023,240; 09/464,283; 09/439,603;
`09/067,544; 09/384,792; 09/141,713; 09/416,925; 09/514,425; 09/675,484; 09/675,700; 09/789,366;
`09/801,488; 09/802,551; O9/802,426; 09/802,550; O9/855,979; 09/970,124) 13 considered as being part of the
`disclosure of the accompanying application and is hereby incorporated by reference therein.
`(X) The entire disclosure of each of the prior provi51ona1 applications (60/061,809; 60/098,296) is considered as
`being part of the disclosure of the accompanylng application and is hereby incorporated by reference therein.
`
`
`
`INTEL Ex.1002.001
`
`

`

`I
`
`15 (u of
`
`Enclosed are:
`
`2
`145
`.
`1
`89
`4
`
`4
`
`N
`
`X
`
`pages Application Transmittal Letter
`pages Specification
`pages Claims
`page Abstract
`pages Drawings
`pages Declaration/Power of Attorney from prior
`application 10/092,967 (signed — copy)
`pages Declaration/Power of Attorney from prior
`application 10/092,967 (signed — copy)
`page CD Appendix Transmittal Letter
`CD Appendix (two copies)
`
`v‘
`
`3‘
`
`a3», 33—: 4‘13" it“;
`I», {a}: "tau
`.
`3...}? 21.4: me: is“: .i='-'
`‘24.?!
`
`.vu
`:vht‘
`..' :;
`e...r2‘ a;
`
`
`
`><><1"‘
`
`page Terminal Disclaimer Over A Prior Patent
`A check for filing fee (55 922.00)
`Return Receipt Postcard
`
`Newly Executed Declaration Not Reguired:
`A newly executed declaration is not filed in this application because, under 37 CFR l.63(d)(l), a newly executed
`declaration is not required because:
`the prior application contained a declaration as prescribed by 37 CFR 1.63; the
`continuation application (this application) is filed by all of the inventors named in the prior application; the specification
`and drawings in the continuation application (this application) contain no matter that would have been new matter in the
`prior application; and a copy of the executed declaration (there were two) in the prior application is being submitted in the
`continuation application (this application).
`
`The filing fee is calculated as follows:
`
` CLAIMS AS FILED
`
`
`N0. EXTRA
`FOR
`No.“an
`
`
`
`Tenancnnns -—
`
`Independent cnnnn .—
`Multiple Dependent Claims (if applicable)
`
`
`
`Assignment Recording Fee
`
`
`Terminal Disclaimer Fee (37 CFR 1.20(d))
`$740.00
`Basic Filing Fee
`
`
`— $922.00
`
` Total Filing Fee
`
`
`
`I hereby certify that this is being deposrted with the US. Postal
`Service “Express Mail Post Office to Addressee” service under
`37 CFR§ 1.10 on the date indicated below and Is addressed to:
`
`Box Patent Application
`Assnstant Commlssioner for Patents
`
`Washington, DC. 20231
`fl,”
`
`By:
`
`Typed Name: Mark Lauer
`
`Express Mail Label No.2 EL928548779US.
`.
`_
`Date Of Deposn'
`02
`
`r
`
`**
`
`Respectfully submitted,
`ByZ @-
`
`Mark Lauer
`Aflome for A “cams
`y
`pp
`Reg. No. 36,578
`MLM
`{J Customer N6724:501~”‘
`V‘Vt—“W F_"M 7777' “w A
`
`Date:
`
`Correspondence Address:
`Mark LaueI Patent Attorney
`7041 K011 Center Parkway, Suite 280
`Pleasanton, California 94566
`Phone:
`(925) 484—9295
`Fax:
`(925) 484-9291
`
`
`
`INTEL Ex.1002.002
`
`

`

`I
`
`~
`-_.r'
`
`r
`
`15‘
`
`H
`u
`I n
`I...“
`
`m :u-w’wgavd fire-3‘43"
`...'i2.. 17...? ‘35...” ’B’q‘fl' lLJ!’
`1
`
`
`{um 4.4+ my“ _,-,,_q.y,u;e
`a. a...» we
`.w rm}? 2L;
`
`TO THE ASSISTANT COMMISSIONER FOR PATENTS:
`
`Inventors:
`
`Laurence B. Boucher, et al.
`
`Atty Docket: ALA—006E
`
`Filing Date:
`
`September 27, 2002
`
`Serial N0.:
`
`Unknown
`
`Title:
`
`FAST-PATH APPARATUS FOR RECEIVING DATA CORRESPONDING TO
`A TCP CONNECTION
`
`
`Compact Disk Transmittal Letter per 37 CFR l.52(§)3(ii))
`
`Sir:
`
`Transmitted herewith are:
`
`Two Labeled Compact Discs — Recordable (CD—R) 7 “Copy 1” and “Copy 2,” each in a
`
`CD ease and contained in a padded envelope.
`
`The content on the two discs is identical
`
`The machine format is: IBM-PC
`
`The operating system is: MS—Windows
`
`The creation date of the CDs is: September 26, 2002
`
`The name, date and size of the files on the CDs are listed below:
`
`There are three folders on each disc: 1) CD Appendix A,
`
`2) CD Appendix B, and
`
`3) CD Appendix C.
`
`Folder Appendix A contains two files:
`
`CD Appendix A Title Pagetxt. Its size is 370 bytes. It was created 9/26/02.
`
`Rev.v. Its size is 84.4KB. It was created 1/7/99.
`
`Folder Appenidix B contains two files:
`
`CD Appendix B Title Pagetxt. Its size is 495 bytes. It was created 9/26/02.
`
`Microcodetxt. Its size is 105 KB. It was created 10/1/99.
`
`
`
`INTEL Ex.1002.003
`
`

`

`— n .. \
`
`.. FIN ,m M mafia:
`5.23“ it-.. my
`3L5 JIM
`
`a... w, M. m. I... a...“
`,r’ {we}? 3:..."
`
`u:
`
`Folder Appendix C contains three files:
`
`CD Appendix C Title Pagetxt. Its size is 416 bytes. It was created 9/26/02.
`
`atcpsource.wrd.txt. Its size is 778 KB. It was created (written to disc) 2/19/02.
`
`simbasource.wrd.txt. Its size is 262 KB. It was created (written to disc) 2/19/02.
`
`CERTIFICATE OF MAILING
`I hereby certify that ll’llS correspondence is being deposited With
`the United States Postal Service as Express Mail Label No.
`EL92836S779US in an envelope addressed to: Box PATENT
`
`APPLICATION, Assistant Commissroner for Patents,
`Washington, DC. 20231, on September 27, 2002.
`
`Respectfully submitted,
`
`2%
`Mark Lauer
`Reg. No. 36,578
`7041 K011 Center
`
`Date: j '2 7 70.2 & Tel:
`Mark Lauer
`Fax:
`
`(925) 484—9295
`(925) 484—9291
`
`Parkway
`Suite 280
`Pleasanton, CA 94566
`
`T‘t 5‘”
`
`It
`
`
`
`INTEL Ex.1002.004
`
`

`

`S:
`
`v r
`Aim—606
`
`TERMINAL DISCLAIMER OVER A PRIOR PATENT
`ta
`10/03/2002 mssnu oooooo
`,
`I
`I.
`In re Application of: Laurence B. Boucher et al.
`03 Ft3W!
`
`‘
`25 10860878
`110.00 DP
`
`Application No.:
`
`Unknown
`
`Filed:
`
`Title:
`
`September 27, 2002
`
`FAST—PATH APPARATUS FOR RECEIVING DATA
`CORRESPONDING TO A TCP CONNECTION
`
`Express Mail No.:
`
`EL928365779US
`
`The owner, Alacritech, Inc., of a one hundred percent interest in the instant
`‘ application hereby disclaims, except as provided below, the terminal part of the statutory
`\ term of any patent granted on the instant application, which would extend beyond the
`expiration date of the full statutory term defined in 35 U.S.C. 154 to 156 and 173, as
`presently shortened by any terminal disclaimer, of prior US. Patent Nos. 6,226,680 and
`6,247,060. The owner hereby agrees that any patent so granted on the instant application
`shall be enforceable only for and during such period that it and the prior patents are
`commonly owned. This agreement runs with any patent granted on the instant application
`and is binding upon the grantee, its successors ‘or assigns.
`
`In making the above disclaimer, the owner does not disclaim the terminal part of
`any patent granted on the instant application that would extend to the expiration date of
`the full statutory term as defined in 35 U.S.C. 154 to 156 and 173 of the prior patents, as
`presently shortened by any terminal disclaimer, in the event that they later: expire for
`failure to pay a maintenance fee, are held unenforceable, are found invalid by a court of
`competent jurisdiction, are statutorily disclaimed in whole or terminally disclaimed under
`37 CFR 1.321, have all claims canceled by a reexamination certificate, are reissued, or
`are in any manner terminated prior to the expiration of its full statutory term as presently
`shortened by any terminal disclaimer.
`
`I hereby declare that all statements made herein of my own knowledge are true
`and that all statements made on information and belief are believed to be true; and further
`that these statements were made with the knowledge that willful false statements and the
`like so made are punishable by fine or imprisonment, or both, under Section 1001 of Title
`18 of the United States Code and that such willful false statements may jeopardize the
`validity of the application or any patent issued thereon.
`
`The undersigned is an attorney or agent of record.
`i ‘2 7'0»:
`
`Date:
`
`_._
`
`Mark Lauer
`
`Registration No. 36,578
`
`The terminal disclaimer fee under 37 CFR 1 .20(d) is included.
`
`/>~._
`
`‘xkd/V“
`
`
`
`INTEL Ex.1002.005
`
`

`

`If' "i
`\‘fif
`
`I s
`23-33;;
`,
`\t
`‘ ALA-006E
`
`5
`
`10
`
`Junk “13):? z: .3" ,x 3,3,3“, run.“
`.
`A:
`1
`.
`v
`.
`‘
`.1
`
`"3:- a.“ .,-:‘ my 1L". r #1 LA
`
`
`
`
`
`FAST-PATH APPARATUS FOR RECEIVING DATA
`
`CORRESPONDING TO A TCP CONNECTION
`
`Laurence B. Boucher
`
`Stephen E. J. Blightman
`
`Peter K. Crafi
`
`David A. Higgen
`
`Clive M. Philbrick
`
`Daryl D. Starr
`
`CROSS—REFERENCE TO RELATED APPLICATIONS
`
`This application claims the benefit under 35 U.S.C. §120 of US. Patent Application Serial
`
`No. 10/092,967, entitled “FAST-PATH APPARATUS FOR RECEIVING DATA
`
`CORRESPONDING TO A TCP CONNECTION,” filed March 6, 2002, by Laurence B.
`
`15'
`
`Boucher et al., which in turn claims the benefit under 35 U.S.C. §120 of US. Patent
`
`Application Serial No. 10/023,240 (Attorney Docket No. ALA—006A), entitled “TRANSMIT
`
`' FAST-PATH PROCESSING ON TCP/1P OFFLOAD NETWORK INTERFACE DEVICE,”
`
`filed December 15, 2001, by Laurence
`
`Boucher et a1., which in turn claims the benefit
`
`under 35 U.S.C. §120 of US. Patent Application Serial No. 09/464,283 (Attorney Docket No.
`
`20
`
`ALA—006), entitled “INTELLIGENT NETWORK INTERFACE DEVICE AND SYSTEM
`
`FOR ACCELERATED COMMUNICATION”, filed December 15, 1.999, by Laurence B.
`
`Boucher et al., which in turn claims the benefit under 35 U.S.C. §120 of US. Patent
`
`Application Serial No. 09/43 9,603 (Attorney Docket No. ALA-009), entitled “INTELLIGENT
`
`NETWORK INTERFACE SYSTEM AND METHOD FOR ACCELERATED PROTOCOL
`
`25
`
`PROCESSING”, filed November 12, 1999, by Laurence B. Boucher et al., which in turn
`
`claims the benefit under 35 U.S.C. §120 0fU.S. Patent Application Serial No. 09/067,544
`
`(Attorney Docket No. ALA-002), entitled “INTELLIGENT NETWORK INTERFACE
`
`SYSTEM AND METHOD FOR ACCELERATED PROTOCOL PROCESSING”, filed April
`
`27, 1998, which in turn claims the benefit under 35 U.S.C. § 119(e)(1) of the Provisional
`
`30
`
`Application filed under 35 U.S.C. §1 1 1(b) entitled “INTELLIGENT NETWORK
`
`
`
`INTEL Ex.1002.006
`
`

`

`ALA—006E
`
`
`
`
`
`INTERFACE CARD AND SYSTEM FOR PROTOCOL PROCESSING,” Serial No.
`
`60/061,809 (Attorney Docket No. ALA—001), filed on October 14, 1997.
`
`This application also claims the benefit under 35 U.S.C. §120 of US. Patent Application
`
`Serial No. 09/3 84,792 (Attorney Docket No. ALA-008), entitled “INTELLIGENT
`
`NETWORK INTERFACE DEVICE AND SYSTEM FOR ACCELERATED
`
`COMMUNICATION,” filed August 27, 1999, which in turn claims the benefit under 35
`
`U.S.C. §120 of US. Patent Application Serial No. 09/141,713 (Attorney Docket No. ALA-
`
`003), entitled “INTELLIGENT NETWORK INTERFACE DEVICE AND SYSTEM FOR
`
`ACCELERATED PROTOCOL PROCESSING”, filed August 28, 1998, which both claim the
`
`10
`
`benefit under 35 U.S.C. § 1 19(e)(1) of the Provisional Application filed under 35 U.S.C.
`
`§11 1(b) entitled “INTELLIGENT NETWORK INTERFACE DEVICE AND SYSTEM FOR
`
`ACCELERATEDCOMMUNICATION,” Serial No. 60/098,296 (Attorney Docket No. ALA-
`
`004), filed August 27, 1998.
`
`This application also claims the benefit under 35 U.S.C. §120 of US. Patent Application
`Serial No. 09/416,925 (Attorney Docket No. ALA-005), entitled “QUEUE SYSTEM FOR
`
`15
`
`v MICROPROCESSORS,” filed October 13, 1999, US. Patent Application Serial No.
`
`09/514,425 (Attorney Docket No. ALA-007), entitled “PROTOCOL PROCESSING STACK
`
`FOR USE WITH INTELLIGENT NETWORK INTERFACE CARD,” filed February 28,
`
`2000, US. Patent Application Serial No. 09/675,484 (Attorney Docket No. ALA—010A),
`
`20
`
`entitled “INTELLIGENT NETWORK STORAGE INTERFACE SYSTEM,” filed September
`
`29, 2000, US. Patent Application Serial No. 09/675,700 (Attorney Docket No. ALA—010B),
`
`entitled “INTELLIGENT NETWORK STORAGE INTERFACE DEVICE,” filed September
`
`29, 2000, US. Patent Application Serial No. 09/789,366 (Attorney Docket No. ALA—013),
`
`entitled “OBTAINING A DESTINATION ADDRESS SO THAT A NETWORK
`
`25
`
`INTERFACE DEVICE CAN WRITE NETWORK DATA WITHOUT HEADERS
`
`DIRECTLY INTO HOST MEMORY,” filed February 20, 2001, US. Patent Application
`
`Serial No. 09/ 801,488 (Attorney Docket No. ALA-011), entitled “PORT AGGREGATION
`
`FOR NETWORK CONNECTIONS THAT ARE OFFLOADED TO NETWORK
`
`INTERFACE DEVICES,” filed March 7, 2001, US. Patent Application Serial No. 09/802,551
`
`30
`
`(Attorney Docket No. ALA—012), entitled “INTELLIGENT NETWORK STORAGE
`
`INTERFACE SYSTEM,” filed March 9, 2001, US. Patent Application Serial No. 09/802,426
`
`(Attorney Docket No. ALA—014), entitled “REDUCING DELAYS ASSOCIATED WITH
`
`2
`
`INTEL Ex.1002.007
`
`

`

`ALA-006E
`
`
`
`INSERTING A CHECKSUM INTO A NETWORK MESSAGE,” filed March 9, 2001, US.
`
`Patent Application Serial No. 09/802,550 (Attorney Docket No. ALA-015), entitled
`
`“INTELLIGENT INTERFACE CARD AND METHOD FOR ACCELERATED PROTOCOL
`
`PROCESSING,” filed March 9, 2001 , US. Patent Application Serial No. 09/855,979
`
`(Attorney Docket No. ALA-016), entitled “NETWORK INTERFACE DEVICE
`
`L EMPLOYING DMA COMMAND QUEUE,” filed March 14, 2001, US. Patent Application
`
`Serial No. 09/970,124 (Attorney Docket No. ALA—020), entitled “NETWORK INTERFACE
`
`DEVICE THAT FAST—PATH PROCESSES SOLICITED SESSION LAYER READ
`
`COMMANDS,” filed October 2, 2001.
`
`The subject matter of all of the above—identified patent applications (including the
`
`subject matter in the Microfiche Appendix of US. Application Serial No. 09/464,283), and of
`
`the two above—identified provisional applications, is incorporated by reference herein.
`
`REFERENCE TO COMPACT DISC APPENDIX
`
`The Compact Disc Appendix (CD Appendix), which is a part of the present disclosure,
`
`includes three folders, designated CD Appendix A, CD Appendix B, and CD Appendix C on
`
`the compact disc. CD Appendix A contains a hardware description language (verilog code)
`
`description of an embodiment of a receive sequencer. CD Appendix B contains microcode
`
`executed by a processor that operates in conjunction with the receive sequencer of CD
`
`Appendix A. CD Appendix C contains a device driver executable on the host as well as ATCP
`
`code executable on the host. A portion of the disclosure of this patent document contains
`
`material (other than any portion of the “free BSD” stack included in CD Appendix C) which is
`
`subject to copyright protection. The copyright owner of that material has no objection to the
`
`facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears
`
`in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright
`
`10
`
`15
`
`20
`
`25
`
`rights.
`
`TECHNICAL FIELD
`
`The present invention relates generally to computer or other networks, and more
`
`particularly to processing of information communicated between hosts such as computers
`
`connected to a network.
`
`
`
`INTEL Ex.1002.008
`
`

`

`-v
`flimvdu—x‘J—“n =3-ta‘ww -m. . n .u .n
`
`
`
`arr“ 9r;« a-‘a $3“.1 v— r ’r- -. r
`
`
`m «an, mm Mu . ., e.
`
`
`
`
`
`“,3. 3”? II"... 1-2.]? MA“ 1!“? ,fi‘
`“LT 1.. EMF 2;? m.-. m 33,713..-.
`
`ALA—006E
`
`BACKGROUND
`
`The advantages of network computing are increasingly evident. The convenience and
`
`efficiency of providing information, communication or computational power to individuals at
`
`- their personal computer or other end user devices has led to rapid growth of such network
`
`5
`
`computing, including intemet as well as intranet devices and applications.
`
`As is well known, most network computer communication is accomplished with the aid of
`
`a layeredysofiware architecture for moving information between host computers connected to
`
`the network. The layers help to segregate information into manageable segments, the general
`
`functions of each layer often based on an international standard called Open Systems
`
`10
`
`Interconnection (081). 081 sets forth seven processing layers through which information may
`
`pass when received by a host in order to be presentable to an end user. Similarly, transmission
`
`of information from a host to the network may pass through those seven processing layers in
`
`reverse order. Each step of processing and service by a layer may include copying the
`
`processed information, Another reference model that is widely implemented, called TCP/IP
`
`15
`
`(TCP stands for transport control protocol, while IP denotes internet protocol) essentially
`
`employs five of the seven layers of OSI.
`
`Networks may include, for instance, a hi gh—speed bus such as an Ethernet connection ‘or an
`
`intemet connection between disparate local area networks (LANs), each of which includes
`
`multiple hosts, or any of a variety of other known means for data transfer between hosts.
`
`-20
`
`According to the 081 standard, physical layers are connected to the network at respective
`r hosts, the physical layers providing transmission and receipt of raw data bits via the network.
`
`A data link layer is serviced by the physical layer of each host, the data link layers providing
`
`‘ frame division and error correction to the data received from the physical layers, as well as
`
`processing acknowledgment frames sent by the receiving host. A network layer of each host is
`serviced by respective data link layers, the network layers primarily controlling size and
`
`25
`
`coordination of subnets of packets of data.
`
`A transport layer is serviced by each network layer and a session layer is serviced by each
`
`transport layer within each host. Transport layers accept data from their respective session
`
`layers and split the data into smaller units for transmission to the other host’s transport layer,
`
`30
`
`which concatenates the data for presentation to respective presentation layers. Session layers
`
`allow for enhanced communication control between the hosts. Presentation layers are serviced
`
`by their respective session layers, the presentation layers translating between data semantics
`
`4
`
`INTEL Ex.1002.009
`
`

`

`ALA—006E
`
`
`
`and syntax which may be peculiar to each host and standardized structures of data
`
`representation. Compression and/or encryption of data may also be accomplished at the
`
`presentation level. Application layers are serviced by respective presentation layers, the
`
`application layers translating between programs particular to individual hosts and standardized
`
`programs for presentation to either an application or an end user. The TCP/IP standard
`
`includes the lower four layers and application layers, but integrates the functions of session
`
`layers and presentation layers into adjacent layers. Generally speaking, application,
`
`presentation and session layers are defined as upper layers, while transport, network and data
`
`link layers are defined as lower layers.
`
`The rules and conventions for each layer are called the protocol of that layer, and since the
`
`protocols and general functions of each layer are roughly equivalent in various hosts, it is
`
`useful to think of communication occurring directly between identical layers of different hosts,
`
`even though these peer layers do not directly communicate without information transferring
`
`sequentially through each layer below. Each lower layer performs a service for the layer
`
`immediately above it to help with processing the communicated information. Each layer saves
`
`‘
`
`the information for processing and service to the next layer. Due to the multiplicity of
`
`hardware and software architectures, devices and programs commonly employed, each layer is
`
`necessary to insure that the data can make it to the intended destination in the appropriate
`form, regardless of variations in hardware and software that may intervene.
`‘
`
`In preparing data for transmission from a first to a second host, some control data is added
`
`at each layer of thefirst host regarding the protocol of that layer, the control data being
`
`indistinguishable from the original (payload) data for all lower layers of that host. Thus an
`
`application layer attaches an application header to the payload data and sends the combined
`
`data to the presentation layer of the sending host, which receives the combined data, operates
`
`on it and adds a presentation header to the data, resulting in another combined data packet.
`
`The data resulting from combination of payload data, application header and presentation
`
`header is then passed to the session layer, which performs required operations including
`
`attaching a session header to the data and presenting the resulting combination of data to the
`
`transport layer. This process continues as the information moves to lower layers, with a
`
`10
`
`15
`
`20
`
`25
`
`30
`
`transport header, network header and data link header and trailer attached to the data at each of
`
`those layers, with each step typically including data moving and copying, before sending the
`
`data as bit packets over the network to the second host.
`5
`
`
`
`INTEL Ex.1002.010
`
`

`

`ALA—006E
`
`
`
`The receiving host generally performs the converse of the above-described process,
`
`beginning with receiving the bits from the network, as headers are removed and data processed
`
`in order from the lowest (physical) layer to the highest (application) layer before transmission
`
`to a destination of the receiving host. Each layer of the receiving host recognizes and
`
`manipulates only the headers associated with that layer, since to that layer the higher layer
`
`control data is included with and indistinguishable from the payload data. Multiple interrupts,
`
`valuable central processing unit (CPU) processing time and repeated data copies may also be
`
`necessary for the receiving host to place the data in an appropriate form at its intended
`destination.
`
`10
`
`15
`
`The above description of layered protocol processing is simplified, as college—level
`
`textbooks devoted primarily to this subject are available, such as Computer Networks, Third
`
`Edition (1996) by Andrew S. Tanenbaum, which is incorporated herein by reference. As
`
`defined in that book, a computer network is an interconnected collection of autonomous
`
`computers, such as internet and intranet devices, including local area networks (LANs), wide
`
`. area networks (WANs), asynchronous transfer mode (ATM), ring or token ring, wired,
`
`wireless, satellite or other means for providing communication capability between separate
`
`processors. A computer is defined herein to include a device having both logic and memory
`
`functions for processing data, while computers or hosts connected to a network are said to be
`
`heterogeneous if they function according to different operating devices or communicate via
`
`20'
`
`different architectures.
`
`As networks grow increasingly popular and the information communicated thereby
`
`becomes increasingly complex and copious, the need for such protocol processing has
`
`increased.
`
`It is estimated that a large fraction of the processing power of a host CPU may be
`
`devoted to controlling protocol processes, diminishing the ability of that CPU to perform other
`
`tasks. Network interface cards have been developed to help with the lowest layers, such as the
`
`physical and data link layers. It is also possible to increase protocol processing speed by
`
`simply adding more processing power or CPUs according to conventional arrangements. This
`
`solution, however, is both awkward and expensive. But the complexities presented by various
`
`networks, protocols, architectures, operating devices and applications generally require
`
`extensive processing to afford communication capability between various network hosts.
`
`25
`
`30
`
`
`
`INTEL Ex.1002.011
`
`

`

`
`
`ALA-006E
`
`SUMMARY OF THE INVENTION
`
`The current invention provides a device for processing network communication that greatly
`increases the speed of that processing and the efficiency of transferring data being
`
`communicated. The invention has been achieved by questioning the long-standing practice of
`performing multilaycred protocol processing on a general-purpose processor. The protocol
`
`processing method and architecture that results effectively collapses the layers of a connection—
`
`based, layered architecture such as TCP/1P into a single wider layer which is able to send
`
`network data more directly to and from a desired location or buffer on a host. This accelerated
`
`processing is provided to a host for both transmitting and receiving data, and so improves
`
`performance whether one or both hosts involved in an exchange of information have such a
`feature.
`
`The accelerated processing includes employing representative control instructions for a
`
`given message that allow data from the message to be processed via a fast—path which accesses
`
`message data directly at its source or delivers it directly to its intended destination. This fast-
`
`path bypasses conventional protocol processing of headers that accompany the data. The fast-
`
`path employs a specialized microprocessor designed for processing network communication,
`avoiding the delays and pitfalls of conventional software layer processing, such as repeated
`copying and interrupts to the CPU.
`In effect, the fast-path replaces the states that are
`traditionally found in several layers of a conventional network stack with a single state
`machine encompassing all those layers, in contrast to conventional rules that require rigorous
`differentiation and separation of protocol layers. The host retains a sequential protocol
`
`processing stack which can be employed for setting up a fast-path connection or processing
`message exceptions. The specialized microprocessor and the host intelligently choose whether
`a given message or portion of a message is processed by the microprocessor or the host stack.
`One embodiment is a method of generating a fast-path response to a packet received onto a
`
`network interface device where the packet is received over a TCP/IP network connection and
`
`where the TCP/IP network connection is identified at least in part by a TCP source port, a TCP
`destination port, an IP source address, and an IP destination address. The method comprises:
`1) Examining the packet and determining from the packet the TCP source port, the TCP
`
`destination port, the IP source address, and the IP destination address; 2) Accessing an
`
`appropriate template header stored on the network interface device. The template header has
`
`10
`
`15
`
`'20
`
`25
`
`30
`
`TCP fields and IP fields; 3) Employing a finite state machine that implements both TCP
`
`7
`
`INTEL Ex.1002.012
`
`

`

`ALA-006E
`
`
`
`protocol processing and IP protocol processing to fill in the TCP fields and IP fields of the
`
`template header; and 4) Transmitting the fast~path response from the network interface device.
`
`The fast—path response includes the filled in template header and a payload. The finite state
`
`machine does not entail a TCP protocol processing layer and a discrete IP protocol processing
`
`layer where the TCP and IP layers are executed one after another in sequence. Rather, the
`
`finite state machine covers both TCP and IP protocol processing layers.
`
`In one embodiment, buffer descriptors that point to packets to be transmitted are pushed
`
`onto a plurality of transmit queues. A transmit sequencer pops the transmit queues and obtains
`
`the buffer descriptors. The buffer descriptors are then used to ,retrieve the packets from buffers
`
`10
`
`15
`
`where the packets are stored. The retrieved packets are then transmitted from the network
`
`interface device. In one embodiment, there are two transmit queues, one having a higher
`
`transmission priority than the other. Packets identified by buffer descriptors on the higher
`
`priority transmit queue are transmitted from the network interface device before packets
`
`identified by the lower priority transmit queue.
`
`Other structures and methods are disclosed in the detailed description below. This
`
`summary does not purport to define the invention. The invention is defined by the claims.
`
`BRIEF DESCRIPTION OF TIIE DRAWINGS
`
`FIG. 1 is a plan view diagram of a device of the present invention, including a host
`
`20'
`
`computer having a communication—processing device for accelerating network
`
`communication.
`
`FIG. 2 is a diagram of information flow for the host of FIG. 1 in processing network
`
`communication, including a fast—path, a slow—path and a transfer of connection context
`
`between the fast and slow—paths.
`
`FIG. 3 is a flow chart of message receiving according to the present invention.
`
`FIG. 4A is a diagram of information flow for the host of FIG. 1 receiving a message packet
`
`processed by the slow-path.
`
`FIG. 4B is a diagram of information flow for the host of FIG. 1 receiving an initial message
`
`packet processed by the fast-path.
`
`FIG. 4C is a diagram of information flow for the host of FIG. 4B receiving a subsequent
`
`message packet processed by the fast—path.
`
`25
`
`30
`
`
`
`INTEL Ex.1002.013
`
`

`

`ALA-006E
`
`
`
`FIG. 4D is a diagram of information flow for the host of FIG. 4C receiving a message
`
`packet having an error that causes processing to revert to the slow—path.
`
`FIG. 5 is a diagram of information flow for the host of FIG. 1 transmitting a message by
`
`either the fast or slow-paths.
`
`FIG. 6 is a diagram of information flow for a first embodiment of an intelligent network
`
`interface card (INIC) associated with a client having a TCP/IP processing stack.
`
`FIG. 7 is a diagram of hardware logic for the INIC embodiment shown in FIG. 6, including
`
`a packet control sequencer and a fly-by sequencer.
`
`FIG. 8 is a diagram of the fly—by sequencer of FIG. 7 for analyzing header bytes as they are
`
`10‘
`
`received by the INIC.
`
`FIG. 9 is a diagram of information flow for a second embodiment of an INIC associated
`
`with a server having a TCP/IP processing stack.
`
`FIG. 10 is a diagram of a command driver installed in the host of FIG. 9 for creating and
`
`controlling a communication control block for the fast—path.
`
`FIG. 11 is a diagram of the TCP/IP stack and command driver of FIG. 10 configured for
`
`NetBios communications.
`
`FIG. 12 is a diagram of a communication exchange between the client of FIG. 6 and the
`
`server of FIG. 9.
`
`FIG. 13 is a diagram of hardware functions included in the INIC of FIG. 9.
`
`FIG. 14 is a diagram of a trio of pipelined microprocessors included in the INIC of FIG. 13,
`including three phases with a processor in each phase.
`I
`
`FIG. 15A is a diagram of a first phase of the pipelin

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket