throbber
PATENT APPLICATION SERIAL NO.
`
`U.S. DEPARTMENT OF COMMERCE.
`PATENT AND TRADEMARK OFFICE
`FEE RECORD SHEET |
`
`PTO-1556
`
`ft a
`
`"
`
`*U:S. Government Printing Office: 2002-:489-267/69033
`
`. 06/27/2087 HMARZI1
`~ 1 FC:1011
`@2.FCsi1i1
`@3 FC:1311
`@4 FC:1881 -
`65FC: 1262
`
`60880043 11821820
`
`-
`
`-
`
`~ 360.88 OP.
`$08.98 OP
`268.68 OP
`750.88 OP
`56.68 OP.
`
`CAVIUM-1002
`Cavium, Inc. v. Alacritech, Inc.
`Page 001
`
`

`

`,
`
`.
`
`:
`
`.
`
`PTO/SB/06 (02-07)
`Approvedfor use through 02/28/2007. OMB 0651-0032
`U.S, Patent and Trademark Office: U.S. DEPARTMENT OF COMMERCE
`.
`.
`ork Reduction Act of 1995. no personsare required lo respond to 8 collection of information uniess it displays a valid OMB control number.
`
`PATENT APPLICATION FEE DETERMINATION RECORD
`
`Substitute for Fonn PTO-875
`
`
`
`
`(37 CFR 1,18(a)) TOTAL ©
`
`
`REMAINING pe NUMBER
`
`
`
`
`
` AMENDMENTA
`
`bay+i=a°
`°°aa
`
`
`.
`
`seers[mes[|
`(37 CFR 1,16(n))
`
`If the’specification and drawings exceed 100
`
`
`APPLICATION SIZE
`
`sheets of paper, the application size fea due
`
`FEE
`ts $250 ($125 for small entity) for each
`
`
`
`. additional 50 sheets or fraction thereof. See
`
`-16(S).
`35 U.S.C. 41(a
`
`1
`
`MULTIPLE DEPENDENTCLAIM PRESENT (37 CFR 1.16()))
`
`:
`
`7
`
`
`
`
`* If the difference in column 1 is less than zero, enter “0° in column 2.
`.
`No:
`
`APPLICATION AS AMENDED- PARTII
`
`(Column 1)
`CLAIMS
`
`
`AFTER’
`
`
`AMENDMENT
`
`{Column 2)
`HIGHEST
`
`
`PREVIOUSLY
`
`PAID FOR
`
`(Column3)
`
`PRESENT
`EXTRA
`
`OR
`
`
`
`AOOI-
`
`TIONAL
`
`
`
`
`{17 CFR 1,160)
`
`(37 CFR 1160)
`
`Application Size Fee (37 CFR 1.16(s))
`
`.
`
`
`
`
`+8
`
`a“ By
`
`
`OTHER THAN
`SMALL ENTITY
`
`
`AOOI-
`
`TIONAL
`
`RATE($)
`
`
`
`u
`
`
`
`
`a
`
`FIRST PRESENTATION OF MULTIPLE DEPENDENT CLAIM§(37 CFR 1.16())) TOTAL
`
`
`
`(Column 1)
`
`(Column 3)
`
`(Column 2)
`‘HIGHEST
`NUMBER
`PRESENT
`co
`PREVIOUSLY
`EXTRA
`KE
`P
`2
`PT
`:
`Sl 7 crr 1.160)
`Ofin| ar aWw
` FIRST PRESENTATION OF MULTIPLE DEPENDENT CLAIM§(37 CFR 1.16(j)
`
`REMAINING
`AFTER
`AMENOMENT
`
`Application Size Fee (37 CFR 1.16(s))
`
`=<
`
`,
`
`AOO'L FEE
`
`
`
`* If the entry in column1is less than the entry in column2, write “0” in column 3.
`
`
`
`** if the “HighestNumber Previously Paid For IN THIS SPACE isless than 20, enter °20”.
`*** If the “Highest Number Previously Paid For’ IN THIS SPACE is tess than 3, enter °3".
`
`
`i
`The “Highest Number Previously Paid For (Totat or independent) is the highest number found in the appropriate box in column 1,
`
`
`This collection of information is required by 37 CFR 1.16. The information is required to obtain or retain a benefit by the public which is to file {and by the
`USPTOto process) an application. Confidentiality is govemed by 35 U.S.C. 122 and 37 CFR 1.14. This collection is estimated to take 12 minutes to complete,
`including gathering, preparing, and submitting the completed application form to the USPTO.Timewill vary depending uponthe individual case. Any comments
`on the amountof time you require to complete this form and/or suggestions for reducing this burden, should be sent to the Chief Information Officer, U.S. Patent
`and Trademark Office, U.S. Department of Commerce, P.O. Box1450, Alexandria, VA 22313-1450. DO NOT SEND FEES OR COMPLETED FORMS TO THIS
`ADDRESS. SEND TO: Commissionerfor Patents, P.O. Box 1450, Alexandria, VA 22313-1450.
`
`ifyou needassistancein completing the form,calt1-800-PTO-9199 and select option 2.
`
`CAVIUM-1002
`Cavium, Inc. v. Alacritech, Inc.
`Page 002
`
`
`
`
`
`OTHER THAN
`SMALL ENTITY
`RATE (8
`BASIC FEE
`:

`Foremusminom|MA|MA
`SEARCH FEE
`(97 CFR 1. 16K), (0), oF (mI)
`EXAMINATION FEE
`(97 CFR 1.16(0). (0). oF (@))
`TOTAL CLAIMS
`
`APPLICATION AS FILED — PART |
`(Column 1)
`(Column 2)
`
`OR
`
`—._
`
`g Pd @Bjzlzlz
`
`on
`
`
`
`

`

`°° 18351
`
`U.S. PTO
`IM
`062507
`UTILITY PATENT APPLICATION TRANSMITTAL
`
`New Nonprovisional Applications Under 37 CFR §
`
`1.
`
`
`
`U.S. PTO
`11/821820
`06/25/2007
`
`Attorney Docket No.
`. ALA-006K
`
`TO THE COMMISSIONER FOR PATENTS:
`
`Transmitted herewith is a patent application identified as follows:
`First-named inventor: Laurence B. Boucher
`Assignee: Alacritech, Inc.
`Filing Date: September 27, 2002
`Title: FAST-PATH APPARATUS FOR TRANSMITTING DATA CORRESPONDING TO A TCP CONNECTION
`
`This application claims the benefit under 35 USC §120of(is a continuation of):
`
`“Fast-Path Apparatus For Receiving Data Corresponding to a TCP Connection”
`Serial No.: 10/260,112
`Filing Date: September 27, 2002
`Atty. Docket: ALA-006G
`Examiner: Jude Jean Gilles
`
`filed
`This application claims the benefit under 35 USC §120 of Application Serial No. 10/260,112,
`September 27, 2002, which in tum 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 §120 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 Provisional Application Serial No.
`60/098, 296,filed August 27, 1998.
`
`US.
`US.
`US.
`US.
`US.
`US.
`US.
`US.
`US.
`US.
`US.
`
`(X)
`(x)
`
`(X)
`
`:
`
`This application also claims the benefit under 35 U.S.C. §120 of the following:
`09/416,925 (ALA-005), filed October 13, 1999;
`Patent Application Serial No.
`09/514,425 (ALA-007), filed February 28, 2000;
`Patent Application Serial No.
`Patent Application Serial No.
`09/675,484 (ALA-010A), filed September 29, 2000;
`09/675,700 (ALA-010B), filed September 29, 2000;
`Patent Application Seria] No.
`Patent Application Serial No.
`09/789,366 (ALA-013), filed February 20, 2001;
`Patent Application Serial No.
`09/801,488 (ALA-011), filed March 7, 2001;
`09/802,551 (ALA-012), filed March 9, 2001;
`Patent Application Serial No.
`09/802,426 (ALA-014), filed March 9, 2001;
`Patent Application Serial No.
`09/802,550 (ALA-015), filed March 9, 2001;
`Patent Application Serial No.
`09/855,979 (ALA-016), filed March 14, 2001; and
`Patent Application Serial No.
`09/970,124 (ALA-020), filed October 2, 2001.
`Patent Application Serial No.
`
`Nes
`
`The specification contains a statementclaiming priority under 35 USC § 120and claiming the benefit under
`35 U.S.C. §119.
`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; 09/802,426; 09/802,550; 09/855,979; 09/970, 124) is considered as being part of the
`disclosure of the accompanying application and is hereby incorporated by reference therein.
`Theentire disclosure of each of the prior provisional applications (60/061 ,809; 60/098,296) is considered as
`being part of the disclosure of the accompanying application and is hereby incorporated by reference therein.
`
`CAVIUM-1002
`Cavium, Inc. v. Alacritech, Inc.
`Page 003
`
`

`

`Enclosedare:
`
`145
`4
`I
`89
`4
`
`4
`
`x>N
`
`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) _
`A checkforfiling fee ($1800.00)
`
`Newly Executed Declaration Not Required:
`A newly executed declaration is not filed in this application because, under 37 CFR 1.63(d)(1), a newly executed
`declaration is not required because: 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 drawingsin 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).
`
`Thefiling fee is calculated as follows:
`
`.
`
`CLAIMSAS FILED
`NO. EXTRA
`NO. FILED
`Total Claims Pe $50.00
`Ps
`Independent Claims
`$200.00
`Multiple Dependent Claims(if applicable
`
`$ 50.00
`$ 0.00
`$0.00
`
`
`
`
`
`
`
`
`
`
`
`
`
`[UtilitySearchFee$500.00|
`
`
`
`
`
`
`
`I herebycertify that this is being deposited with the U.S. Postal
`Service “Express Mail Post Office to Addressee” service under.
`37 CFR § 1,10 on the date indicated below andis addressed to:
`ue Patent Application
`ommissionerfor Patents
`P.O. Box 1450
`.
`Alexandria, VA 22313-1450
`By: EE
`Typed Name: Mark Lauer
`
`Respectfully submitted,
`
`By:
`
`Mark Lauer
`Reg. No. 36,578
`6601 Koll Center Parkway
`Suite 245
`Pleasanton, CA 94566
`Phone:
`(925) 484-9295
`Fax:
`(925) 484-9291
`Date: Buz 5ws 7
`
`Express Mail Label No.: EV 406928085 US
`Correspondence Address:
`
`Date of Deposit:YSFP : CUSTOMER NO.24501
`
`CAVIUM-1002
`Cavium, Inc. v. Alacritech, Inc.
`Page 004
`
`

`

`TO THE ASSISTANT COMMISSIONER FOR PATENTS:
`
`Inventors:
`
`Laurence B. Boucher,etal.
`
`Atty Docket: ALA-006K
`
`Filing Date:
`
`June 25, 2007
`
`Serial No...
`
`Unknown
`
`Title:
`
`FAST-PATH APPARATUS FOR RECEIVING DATA CORRESPONDING TO
`A TCP CONNECTION
`
`Compact Disk Transmittal Letter per 37 CFR _1.52(e)3(i))
`
`Sir:
`
`Transmitted herewith are:
`
`Two Labeled Compact Discs — Recordable (CD-R) — “Copy 1” and “Copy 2,” each in a
`
`CD case 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 CDsis: June 21, 2007
`
`The name, date and size of the files on the CDsare 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 twofiles:
`
`CD Appendix A Title Page.txt. Its size is 370 bytes. It was created 6/21/07.
`
`Rev.v. Its size is 84.4KB. It was created (written to disc) 6/21/07.
`
`Folder Appenidix B contains twofiles:
`
`CD Appendix B Title Page.txt. Its size is 495 bytes. It was created 6/21/07.
`
`Microcode.txt. Its size is 105 KB. It was created (written to disc) 6/21/07.
`
`Express Mail No. EV 406928085 US
`
`/
`
`I
`
`CAVIUM-1002
`Cavium, Inc. v. Alacritech, Inc.
`Page 005
`
`

`

`Folder Appendix C containsthree files:
`
`CD Appendix C Title Page.txt. Its size is 416 bytes. It was created 6/21/07.
`
`atcpsource.wrd.txt. Its size is 778 KB. It was created (written to disc) 6/21/07.
`
`simbasource.wrd.txt. Its size is 262 KB. It was created (written to disc) 6/21/07.
`
`Respectfully submitted,
`
`CERTIFICATE OF MAILING
`I hereby certify that this correspondenceis being deposited with
`Mark Lauer
`the United States Postal Service as Express Mail Label No.
`Reg. No. 36,578
`EV40692808SUSin an envelope addressed to: Box PATENT
`Silicon Edge Law Group LLP
`APPLICATION,Assistant Commissionerfor Patents,
`6601 Koll Center Parkway
`Washington,D.C. 20231, on June 25, 2007.
`Suite 245
`Pleasanton, CA 94566
`
`Date6I? LE Tel: (925) 484-9295
`
`Mark Lauer
`Fax:
`(925) 484-9291
`
`Express Mail No. EV 406928085 US
`
`2
`
`CAVIUM-1002
`Cavium, Inc. v. Alacritech, Inc.
`Page 006
`
`

`

`ALA-006K
`
`Express Mail No. EV 406928085 US
`
`FAST-PATH APPARATUS FOR TRANSMITTING DATA
`
`CORRESPONDING TO A TCP CONNECTION
`
`Laurence B. Boucher
`
`Stephen E. J. Blightman
`
`Peter K. Craft
`
`David A. Higgen
`
`Clive M. Philbrick
`
`_ Daryl D. Starr
`
`10
`
`15
`
`CROSS-REFERENCE TO RELATED APPLICATIONS
`This application claimsthe benefit under 35 U.S.C. §120 of(is a continuation of) U.S.
`Patent Application Serial No. 10/260,112, entitled “FAST-PATH APPARATUS FOR
`RECEIVING DATA CORRESPONDING TO A TCP CONNECTION,”filed September 27,
`2002, by Laurence B. Boucheret al., which in turn claims the benefit under 35 U.S.C. §120 of
`
`(is a continuation of) U.S. Patent Application Serial No. 10/092,967, entitled “FAST-PATH
`
`APPARATUS FOR RECEIVING DATA CORRESPONDINGTO A TCP CONNECTION,”
`
`filed March 6, 2002, by Laurence B. Boucheret al., which in turn claims the benefit under 35
`
`U.S.C. §120 of (is a continuation-in-part of) U.S. Patent Application Serial No. 10/023,240,
`
`20
`
`entitled “TRANSMIT FAST-PATH PROCESSING ON TCP/IP OFFLOAD NETWORK
`
`INTERFACE DEVICE,”filed December 15, 2001, by Laurence B. Boucheretal., which in
`
`turn claims the benefit under 35 U.S.C. §120 of(is a continuation-in-part of) U.S. Patent
`
`Application Serial No. 09/464,283, now U.S. Patent No. 6,427,173, entitled “INTELLIGENT
`
`NETWORK INTERFACE DEVICE AND SYSTEM FOR ACCELERATED
`
`25
`
`COMMUNICATION”, filed December 15, 1999, by Laurence B. Boucheret al., which in tum
`claims the benefit under 35 U.S.C. §120 of (is a continuation-in-part of) U.S. Patent
`Application Serial No. 09/439,603, now U.S. Patent No. 6,247,060, entitled “INTELLIGENT
`
`NETWORK INTERFACE SYSTEM AND METHOD FOR ACCELERATED PROTOCOL
`
`PROCESSING”,filed November 12, 1999, by Laurence B. Boucheret al., which in turn
`
`30
`
`claims the benefit under 35 U.S.C. §120 of(is a continuation-in-part of) U.S. Patent
`
`Application Serial No. 09/067,544, now U.S. Patent No. 6,226,680, entitled “INTELLIGENT
`
`1
`
`CAVIUM-1002
`Cavium, Inc. v. Alacritech, Inc.
`Page 007
`
`

`

`ALA-006K
`
`Express Mail No. EV 406928085 US
`
`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 Application filed under 35 U.S.C. §111(b)entitled
`
`“INTELLIGENT NETWORK INTERFACE CARD AND SYSTEM FOR PROTOCOL
`PROCESSING,”Serial No. 60/061,809,filed on October 14, 1997.
`
`Application No. 10/260,112 also claims the benefit under 35 U.S.C. §120 of(is a
`
`continuation-in-part of) U.S. Patent Application Serial No. 09/384,792, now U.S. Patent No.
`
`10
`
`6,434,620, entitled “TCP OFFLOAD NETWORK INTERFACEDEVICE,”filed August 27,
`1999, which in turn claims the benefit under 35 U.S.C. §120 of (is a continuation-in-part of)
`U.S. Patent Application Serial No. 09/141,713, now U.S, Patent No. 6,389,479, entitled
`“INTELLIGENT NETWORK INTERFACE DEVICE AND SYSTEM FOR
`ACCELERATED PROTOCOL PROCESSING”,filed August 28, 1998, which both claim the
`
`benefit under 35 U.S.C. § 119(e)(1) of the Provisional Application filed under 35 U.S.C.
`
`§111(b) entitled “INTELLIGENT NETWORK INTERFACE DEVICE AND SYSTEM FOR
`
`15
`
`ACCELERATED COMMUNICATION,”Serial No. 60/098,296, filed August 27, 1998.
`
`Application No. 10/260,112 also claims the benefit under 35 U.S.C. §120 of (is a
`continuation-in-part of) U.S. Patent Application Serial No. 09/416,925, now U.S. Patent No.
`6,470,415, entitled “QUEUE SYSTEM FOR MICROPROCESSORS,”filed October 13, 1999,
`
`(is a continuation-in-part of) U.S. Patent Application Serial No. 09/514,425, now U.S. Patent
`No.6,427,171, entitled “PROTOCOL PROCESSING STACK FOR USE WITH
`
`20
`
`INTELLIGENT NETWORK INTERFACE CARD,”filed February 28, 2000,(is a
`
`continuation-in-part of) U.S. Patent Application Serial No. 09/675,484, now U.S. Patent No.
`
`6,807,581, entitled “INTELLIGENT NETWORK STORAGE INTERFACE SYSTEM,”filed
`
`September 29, 2000,(is a continuation-in-part of) U.S. Patent Application Serial No.
`
`25
`
`09/675,700, entitled “INTELLIGENT NETWORK STORAGEINTERFACEDEVICE,”filed
`
`September 29, 2000,(is a continuation-in-part of) U.S. Patent Application Serial No.
`
`09/789,366, now U.S. Patent No. 6,757,746, entitled “OBTAINING A DESTINATION
`
`ADDRESS SO THAT A NETWORK INTERFACE DEVICE CAN WRITE NETWORK
`
`DATA WITHOUT HEADERSDIRECTLY INTO HOST MEMORY,”filed February 20,
`
`30
`
`2001, (is a continuation-in-part of) U.S. Patent Application Serial No. 09/801,488, now U.S.
`
`Patent No. 6,687,758, entitled “PORT AGGREGATION FOR NETWORK CONNECTIONS
`
`THAT ARE OFFLOADED TO NETWORK INTERFACE DEVICES,”filed March 7, 2001,
`2
`
`CAVIUM-1002
`Cavium, Inc. v. Alacritech, Inc.
`Page 008
`
`

`

`ALA-006K
`
`Express Mail No. EV 406928085 US
`
`(is a continuation-in-part of) U.S. Patent Application Serial No. 09/802,551, entitled
`“INTELLIGENT NETWORK STORAGEINTERFACESYSTEM,”filed March 9, 2001, (is a
`
`continuation-in-part of) U.S. Patent Application Serial No. 09/802,426,entitled “REDUCING
`
`DELAYS ASSOCIATED WITH INSERTING A CHECKSUM INTO A NETWORK
`
`MESSAGE,”filed March 9, 2001, (is a continuation-in-part of) U.S. Patent Application Serial
`No. 09/802,550, now U.S.Patent No. 6,658,480, entitled “INTELLIGENT NETWORK
`
`INTERFACE SYSTEM AND METHOD FOR ACCELERATED PROTOCOL
`
`PROCESSING,”filed March 9, 2001, (is a continuation-in-part of) U.S. Patent Application
`
`Serial No. 09/855,979, entitled “NETWORK INTERFACE DEVICE EMPLOYING DMA
`
`COMMAND QUEUE,”filed March 14, 2001, (is a continuation-in-part of) U.S. Patent
`
`Application Serial No. 09/970,124, entitled “NETWORK INTERFACE DEVICE THAT
`
`FAST-PATH PROCESSES SOLICITED SESSION LAYER READ COMMANDS,”filed
`
`October 2, 2001.
`
`15
`
`The subject matterof all of the above-identified patent applications (including the
`subject matter in the Microfiche Appendix of U.S. 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), whichis a part of the present disclosure,
`
`20
`
`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 processorthat operates in conjunction with the receive sequencer of CD
`Appendix A. CD Appendix C contains a device driver executableon the host as well as ATCP
`code executable on the host. A portion of the disclosure of this patent document contains
`
`25
`
`material (other than any portion ofthe “free BSD”stack included in CD Appendix C) whichis
`
`subject to copyright protection. The copyright ownerof that material has no objection to the
`facsimile reproduction by anyone ofthe patent documentor the patent disclosure, as it appears
`in the Patent and Trademark Office patent files or records, but otherwise reservesall copyright
`
`30
`
`rights.
`
`CAVIUM-1002
`Cavium, Inc. v. Alacritech, Inc.
`Page 009
`
`

`

`ALA-006K.
`
`Express Mail No. EV 406928085 US
`
`TECHNICAL FIELD
`
`Thepresent invention relates generally to computeror other networks, and more
`
`particularly to processing of information communicated between hosts such as computers
`
`connected to a network.
`
`BACKGROUND
`
`The advantages of network computing are increasingly evident. The convenience and
`efficiencyof providing information, communication or computational powerto individuals at
`their personal computer or other end user devices has led to rapid growthof such network
`
`computing, including internet as well as intranet devices and applications.
`
`Asis well known, most network computer communication is accomplished with the aid of
`a layered software 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
`Interconnection (OSI). OSI sets forth seven processing layers through whichinformation may
`pass whenreceived bya host in order to be presentable to an end user. Similarly, transmission
`of information from a host to the network maypass 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 modelthat is widely implemented, called TCP/IP
`(TCP stands for transport control protocol, while IP denotes internet protocol) essentially
`employsfive of the seven layers of OSI.
`
`Networks may include, for instance, a high-speed bus such as an Ethernet connection or an
`
`internet connection between disparate local area networks (LANs), each of which includes
`
`multiple hosts, or any of a variety of other known meansfor data transfer between hosts.
`
`According to the OSI standard, physical layers are connected to the network at respective
`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 anderror correction to the data received from the physical layers, as well as
`processing acknowledgment framessent by the receiving host. A network layer of each hostis
`
`15
`
`20
`
`25
`
`30
`
`serviced by respective data link layers, the network layers primarily controlling size and
`
`coordination of subnets of packets ofdata.
`
`CAVIUM-1002
`Cavium, Inc. v. Alacritech, Inc.
`Page 010
`
`

`

`4
`
`ALA-006K.
`
`Express Mail No. EV 406928085.US
`
`A transport layer is serviced by each networklayer 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,
`
`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
`
`and syntax which may bepeculiar to each host and standardizedstructures of data
`
`representation. Compression and/or encryption of data may also be accomplishedat the
`presentation level. Application layers are serviced by respective presentation layers, the
`application layers translating between programsparticular to individual hosts and standardized
`
`10
`
`programsfor 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 upperlayers, while transport, network and data
`
`15
`
`link layers are defined as lowerlayers.
`
`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 equivalentin 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
`
`20
`
`sequentially through each layer below. Each lowerlayer performsa 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. Dueto the multiplicity of
`
`hardware and software architectures, devices and programs commonly employed, each layeris
`
`necessary to insure that the data can makeit to the intended destination in the appropriate
`
`25
`
`form, regardless of variations in hardware and software that mayintervene.
`
`In preparing data for transmission from a first to a second host, some control data is added
`at each layerofthefirst host regarding the protocolofthat 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
`
`30
`
`on it and adds a presentation headerto the data, resulting in another combined data packet.
`
`The data resulting from combination of payload data, application header and presentation
`5
`
`CAVIUM-1002
`Cavium, Inc. v. Alacritech, Inc.
`Page 011
`
`

`

`ALA-006K
`
`a
`
`Express Mail No. EV 406928085 US
`
`headeris then passed to the session layer, which performs required operations including
`
`attaching a session headerto the data and presenting the resulting combination of data to the
`
`transport layer. This process continuesas the information movesto lowerlayers, with a
`transport header, network header and data link headerandtrailer 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.
`
`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
`
`10
`
`to a destination of the receiving host. Each layerof 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 mayalso be
`necessary for the receiving host to place the data in an appropriate form atits intended
`
`destination.
`
`The above description of layered protocol processingis 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
`
`20
`
`computers, such as internet and intranet devices, including local area networks (LANs), wide:
`
`area networks (WANs), asynchronoustransfer mode (ATM),ring or token ring, wired,
`
`wireless, satellite or other means for providing communication capability between separate
`
`processors. A computeris defined herein to include a device having both logic and memory
`
`functions for processing data, while computers or hosts connected to a networkaresaid to be
`heterogeneousif they function accordingto different operating devices or communicate via
`different architectures.
`
`Asnetworks grow increasingly popular and the information communicated thereby
`
`becomesincreasingly complex and copious, the need for such protocol processing has
`increased. It is estimated that a large fraction ofthe processing power of a host CPU may be
`devoted to controlling protocol processes, diminishing the ability of that CPU to perform other
`
`tasks. Networkinterface 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
`6 -
`
`25
`
`30
`
`CAVIUM-1002
`Cavium, Inc. v. Alacritech, Inc.
`Page 012
`
`

`

`ALA-006K
`
`.
`
`Express Mail No. EV 406928085 US
`
`simply adding more processing power or CPUsaccording 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.
`
`SUMMARYOF THE INVENTION
`
`The current invention provides a device for processing network communication that greatly
`
`increases the speed of that processing and the efficiency oftransferring data being
`
`communicated. The invention has been achieved by questioning the long-standing practice of
`
`10
`
`performing multilayered protocol processing on a general-purpose processor. The protocol
`
`processing methodandarchitecture that results effectively collapses the layers of a connection-
`
`based, layered architecture such as TCP/IP into a single wider layer which is able to send
`
`network data moredirectly 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 oneor both hosts involved in.an exchange of information have such a
`
`15
`
`feature.
`
`The accelerated processing includes employing representative controlinstructions for a
`given messagethat 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. Thefast-
`path employs a specialized microprocessor designed for processing network communication,
`
`20
`
`avoiding the delays andpitfalls of conventional software layer processing, such as repeated
`copying andinterrupts to the CPU. In effect, the fast-path replacesthestates that are
`
`traditionally found in several layers of a conventional network stack with a single state
`
`25
`
`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 forsetting up a fast-path connection or processing
`message exceptions. The specialized microprocessor and the hostintelligently choose whether
`a given messageor portion of a messageis processed by the microprocessoror the host stack.
`
`30
`
`One embodimentis 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 connectionis identified at least in part by a TCP source port, a TCP
`~
`7
`a
`
`CAVIUM-1002
`Cavium, Inc. v. Alacritech, Inc.
`Page 013
`
`

`

`ALA-006K
`
`.
`
`Express Mail No. EV 406928085 US
`
`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
`
`TCP fields and IP fields; 3) Employinga finite state machine that implements both TCP
`
`protocol processing and IP protocol processingto fill in the TCP fields and IP fields of the
`
`template header; and 4) Transmitting the fast-path response from the network interface device.
`
`Thefast-path response includesthe filled in template header and a payload. Thefinite state
`
`machine doesnot entail a TCP protocol processing layer and a discrete IP protocol processing
`
`10
`
`layer where the TCP and IP layers are executed oneafter another in sequence. Rather, the
`
`finite state machine covers both TCP andIP protocol processing layers.
`In one embodiment, buffer descriptors that point to packets to be transmitted are pushed
`
`ontoaplurality 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
`
`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 methodsare disclosed in the detailed description below. This
`
`20
`
`summary does not purport to define the invention. The invention is defined bythe claims.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG.1 is a plan view diagram ofa device ofthe present invention, including a host
`
`25
`
`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 anda transfer of connection context
`between the fast and slow-paths.
`
`30
`
`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.
`
`CAVIUM-1002
`Cavium, Inc. v. Alacritech, Inc.
`Page 014
`
`

`

`ALA-006K
`
`Express Mail No. EV 406928085 US
`
`FIG.4Bis a diagram ofinformation flow for the host of FIG. | 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.
`
`FIG. 4D is a diagram of information flow for the host of FIG. 4C receiving a message
`
`packet havingan 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

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