throbber
PATENT APPLICATION SERIALNO.‘
`
`.
`
`I}.S. DEPARTMENT OF COMMERCE
`PATENT AND TRADEMARK OFFICE
`FEE RECORD SHEET -
`
`'
`
`g awamammazu 13mm: 11821828
`' a1rc:1au
`'
`BE:FC:1111
`ea rc:1311‘
`a4 rcuw ~
`65' “231202
`
`-
`
`,
`
`; mm 09.
`599.99 09
`man up
`750.91 on
`53.01 09-
`
`PTO-1556
`630
`
`h.
`1
`-~_hfifiw"1*. "r"
`. «J
`
`'
`
`.
`
`'
`
`-u.'s. Government Priming Office: 2092-;489-267'169033
`
`INTEL Ex.1002.oo1
`INTEL Ex.1002.001
`
`

`

`
`
`APPLICATION AS FILED - PART I
`~
`(Column 1)
`(Column 2)
`
`0“
`
`.
`
`1
`
`NUMBER FILED
`
`'
`
`NUMBER EXTRA
`
`BASIC FEE
`37CFR1.1 o. b.or c
`SEARCH FEE
`(37 CFR 1.16(It)‘(I).or(m))
`EXAMINATION FEE
`(37 CFR 1.16(0). ID). 0' 111))
`TOTAL CLAIMS
`(37 CFR 1.111(1))
`INDEPENDENT CLAIMS
`fl"
`(37 CFR 1.1601”
`
`
`
`II the specification and drawings exceed 100
` APPLICATION SIZE
`sheets of paper. the application size lee due
`
`
`FEE
`
`
`Is 5250 ($12510rsmali entity) for each
`(37 CFR 1.16(a))
`~ additional 50 sheets or fraction thereof. See
`
`35 U.S.C.-11 a 1 G and 37 CFR 1.16 s
`
`
`
`
`
`
`
`
`
`
`PTOISB/OG (02-07)
`Approved for use through 02/28/2007. OMB 0651-0032
`U.S. Patent and Trademarti Office; U.S. DEPARTMENT OF COMMERCE
`.
`‘
`~ to a coflection of information unless itdia a I a valid OMB cannot number.
`Under the Pa.
`r11 Reduction Act of 1995. no non: are r uired to res -
`
`
`
`PATENT APPLICATION FEE DETERMINATION RECORD
`
`
`Substitute for Form PTO-875
`
`
`
`
`
`
`OTHERTHAN
`SMALL ENTITY
`RATE 8
`
`
`
`x fl3» n
`
`I
`
`A O
`
`Ble
`
`II
`
`4E
`
`TOTAL '
`
`El
`
`
`Ifififilé
`
`ADD'L FEE
`
`
`MULTIPLE DEPENDENT CLAIM PRESENT (37 CFR 1.180))
`
`
`
`' II the difierenca in column 1 is less than zero. enter '0' in column 2.. x -
`
`
`
`
`
`APPLICATION AS AMENDED — PART ll
`
`
`
`:- I AFTER'
`
`(Column 1)
`CLAIMS
`
`REMAINING
`
`
`
`
`
`AMENDMENT
`
`
`
`'
`(Column 2)
`HIGHEST
`NUMBER
`
`PAID FOR
`
`PREVIOUSLY
`
`
`
`
`
`
`
`
`(Column 3)
`PRESENT
`EXTRA
`
`=
`
`.
`
`2
`Total
`.
`(u
`2 mcrauson
`x $50 =
`2 "TCFRIJSMH
`D -W_- ‘ m-
`[U
`
`5 Application Size Fee (37 CFR 1.16(a))
`,
`4:
`FIRST PRESENTATION OF MULTIPLE DEPENDENT CLAIM (37 CFR 1.166))
`
`ADDI-
`
`TIONAL
`
`‘
`
`OTHER THAN
`SMALL ENTITY
`'
`TIONAL
`
`
`RATE (5)
`ADDI-
`
`FEE
`
`
`
`+3“: ‘ -
`
`(Column 1)
`CLAIMS
`
`REMAINING
`
`
`AFTER
`AMENDMENT
`
`
`
`
`(Column 2)
`HIGHEST
`NUMBER
`PREVIOUSLY
`PAID FOR
`
`(Column 3)
`
`PRESENT
`EXTRA
`
`- Total
`(37 cm 1.166))
`Independent
`
`(:7 cm l.|8(h)) AMENDMENTB
`
`Application Size Fee (37 CFR 1.1G(s))
`
`
`
`
`
`ADDI-
`
`TIONAL
`
`
`
`
`'
`I
`FIRST PRESENTATION OF MULTIPLE DEPENDENT CLAIM (37 CFR 1.160))
`
`TOTAL
`
`
`ADD'L FEE
`AD D'L FE E
`
`
`
`‘
`If the entry in column 1 is less than the entry in column 2. write '0' in column 3.
`
`
`“ If the 'Highest'Number Previously Paid For" IN THIS SPACE is less than 20. enter '20'.
`
`“' If the 'Highest Number Previously Paid For" IN THIS SPACE is less than 3. enter '3'.
`
`
`i
`The ‘Hihest Number Previousi Paid For” Total or Inde endent is the hi nest number found in the a - ro n‘ate 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 tile (and by the
`USPTO to process) an application. Confidentiality is governed 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. Time will vary depending upon the individual case. Any comments
`on the amount of 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. PO. Box 1450, Alexandria. VA 22313-1450. DO NOT SEND FEES OR COMPLETED FORMS TO THIS
`ADDRESS. SEND TO: Commissioner for Patents, P.'O.'Box 1450, Alexandria, VA 22313-1450.
`
`
`
`I! you need assistance in completing the‘for'iiiccalli116QD-PTO-9199 and select option 2.
`
`INTEL Ex.1002.002
`INTEL Ex.1002.002
`
`

`

`.3"
`
`5," 18351 US. PTO
`
`llllllllllllllllllllllllllllllllllll
`062507
`
`U-S- PTO
`11/821820
`06,25,200,
`
` - UTILITY PATENT APPLICATION TRANSMITTAL
`
`Attorney Docket No.
`. ALA-006K
`
`rovisional A lications Under 37 CFR
`
`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 §120 of (is a continuation of):
`
`“Fast-Path Apparatus For Receiving Data Corresponding to a TCP Connection”
`Serial No.: 10/260,1 12
`Filing Date: September 27, 2002
`Atty. Docket: ALA-006G
`Examiner: Jude Jean Gilles
`
`This application claims the benefit under 35 USC §120 of Application Serial No. 10/260,112, filed
`September 27, 2002, which in turn 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 §1 19 of Provisional
`Application Serial No. 60/061,809, filed October 14, 1997.
`I
`
`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 oprplication 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)
`
`F
`
`This application also claims the benefit under 35 USC. §120 ofthe 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.
`09/675,484 (ALA-010A), filed September 29, 2000;
`Patent Application Serial No.
`Patent Application Serial No.
`09/675,700 (ALA-010B), filed September 29, 2000;
`O9/789,366 (ALA-013), filed February 20, 2001;
`Patent Application Serial No.
`09/801,488 (ALA-011), filed March 7, 2001;
`Patent Application Serial No.
`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.
`O9/970,124 (ALA-020), filed October 2, 2001.
`Patent Application Serial No.
`
`g.)
`
`The specification contains a statement claiming priority under 35 USC § 120 and claiming the benefit under
`35 USC. §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; 0_9/l41,7l3; 09/416,925; 09/514,425; 09/675,484; 09/675,700; O9/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.
`The entire disclosure of each of the prior provisional applications (60/061,809; 60/098,296) is considered as
`being part ofthe disclosure of the accompanying application and is hereby incorporated by reference therein.
`
`INTEL Ex.1002.003
`INTEL Ex.1002.003
`
`

`

`.15,
`
`Enclosed are:
`
`145
`4
`1
`89
`.4
`
`4
`
`2
`X
`X
`
`pages Specification
`pages Claims
`page Abstract
`pages Drawings
`pages Declaration/Power of Attorney from prior
`application 10/092,967 (signed 7 copy)
`pages Declaration/Power of Attorney from prior
`application 10/092,967 (signed - copy)
`page CD Appendix Transmittal Letter
`CD Appendix (two copies) .
`A check for filing 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 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:
`
`’
`
`FOR
`
`NO. FILED
`
`CLAIMS AS FILED
`NO. EXTRA
`
`RATE
`
`FEE
`
`
`
`
`
`$ 50.00
`$ 0.00
`$0.00
`$300.00
`$750.00
`$500.00
`$200.00
`$1800.00
`
`
`
`Total Claims
`21 -_ $50.00
`lnde endent Claims
`3
`$200.00
`‘
`
`‘
`
`
`
`
`
`
`
`I hereby certify that this is being deposited 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:
`
`Respectfully submitted,
`
`
`
`MS Patent Application
`Commissioner for Patents
`PO. Box 1450
`
`Alexandria, VA 22313-1450
`
`By: %
`
`Typed Name: Mark Lauer
`
`'
`
`.
`
`Date:
`
`Mark Lauer
`
`Reg. No. 36,578
`6601 Koll Center Parkway
`suite 245
`Pleasanton, CA 94566
`Phone:
`(925) 484-9295
`
`(925)484-9291
`Fax:
`é-é— ;_-é 2
`
`Express Mail Label No.: EV 406928085 US
`
`Correspondence Address:
`
`Date of Deposit:
`
`é’é’.
`
`fl 2
`
`.
`
`CUSTOMER NO. 24501
`
`INTEL Ex.1002.004
`INTEL Ex.1002.004
`
`

`

`TO THE ASSISTANT COMMISSIONER FOR PATENTS:
`
`Inventors:
`
`Laurence B. Boucher, et al.
`
`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.5216)3(iin
`
`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
`
`v The creation date of the CDs is: June 21, 2007
`
`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 Page.txt. Its size is 370 bytes. It was created 6/21/07.
`
`Rcv.v. Its size is 84.4KB. It was created (written to disc) 6/21/07.
`
`Folder Appenidix B contains two files:
`
`CD Appendix B Title Page.txt. Its size is 495 bytes. It was created 6/21/07.
`
`Microcodetxt. Its size is 105 KB.
`
`It was created (written to disc) 6/21/07.
`
`Express Mail No. EV 406928085 US
`
`'
`
`1
`
`INTEL Ex.1002.005
`INTEL Ex.1002.005
`
`

`

`Folder Appendix C contains three files:
`
`CD Appendix C Title Pagetxt. 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,
`
`k M
`
`ark Lauer
`
`Reg. No. 36,578
`Silicon Edge Law Group LLP
`6601 Koll Center Parkway
`Suite 245
`
`Pleasanton, CA 94566
`Tel:
`(925) 484-9295
`Fax:
`(925) 484-9291
`
`CERTIFICATE OF MAILING
`
`I hereby certify that this correspondence is being deposited with
`
`the United States Postal Service as Express Mail Label No.
`EV406928085US in an envelope addressed to: Box PATENT
`APPLICATION, Assistant Commissioner for Patents,
`
`Washington, DC. 20231, on June 25, 2007.
`
`Date:M b
`Mark Lauer
`
`Express Mail N0. EV 406928085 US
`
`INTEL Ex.1002.006
`INTEL Ex.1002.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
`Higgen
`
`Clive M. Philbrick
`
`I Daryl D. Starr
`
`10
`
`15
`
`CROSS-REFERENCE TO RELATED APPLICATIONS
`
`This application claims the benefit under 35 U.S.C. §120 of (is a continuation of) US.
`
`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. Boucher et al., which in turn claims the benefit under 35 U.S.C. §120 of
`
`(is a continuation 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. Boucher et al., which in turn claims the benefit under 35
`
`U.S.C. §120 of (is a continuation-in—part of) US. Patent Application Serial No. 10/023,240,
`
`20
`
`entitled “TRANSMIT FAST-PATH PROCESSING ON TCP/1P OFFLOAD NETWORK
`
`INTERFACE DEVICE,” filed December 15, 2001 , by Laurence B. Boucher et al., which in
`
`turn claims the benefit under 35 U.S.C. §120 of (is a continuation-in-part of) US. Patent
`
`Application Serial No. 09/464,283, now US. Patent No. 6,427,173, entitled “INTELLIGENT
`
`NETWORK INTERFACE DEVICE AND SYSTEM FOR ACCELERATED
`
`25
`
`30
`
`COMMUNICATIO ”, filed December 15, 1999, by Laurence B. Boucher et al., which in turn
`claims the benefit under 35 U.S.C. §120 of (is a continuation-in-part of) US. Patent
`
`Application Serial No. 09/439,603, now US. Patent No. 6,247,060, entitled “INTELLIGENT
`
`NETWORK INTERFACE SYSTEM AND METHOD FOR ACCELERATED PROTOCOL
`
`PROCESSING”, filed November 12, 1999, by Laurence B. Boucher et al., which in turn
`
`claims the benefit under 35 U.S.C. §120 of (is a continuation-in-part of) US. Patent
`
`Application Serial No. 09/067,544, now US. Patent No. 6,226,680, entitled “INTELLIGENT
`
`1
`
`INTEL Ex.1002.007
`INTEL Ex.1002.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(c)(1) of the Provisional Application filed under 35 U.S.C. §111(b) entitled
`
`I
`
`“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) US. Patent Application Serial No. 09/3 84,792, now US. Patent No.
`
`6,434,620, entitled “TCP OFFLOAD NETWORK INTERFACE DEVICE,” filed August 27,
`
`1999, which in turn claims the benefit under 35 U.S.C. §120 of (is. a continuation-in-part of)
`
`US. Patent Application Serial No. 09/141,713, now US. 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(c)(1) of the Provisional Application filed under 35 U.S.C.
`
`§111(b) entitled “INTELLIGENT NETWORK INTERFACE DEVICE AND SYSTEM FOR
`
`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) US. Patent Application Serial No. 09/416,925, now U.S.Patent No.
`
`6,470,415, entitled “QUEUE SYSTEM FOR MICROPROCESSORS,” filed October 13, 1999,
`
`10
`
`15
`
`(is a continuation-in-part of) US. Patent Application Serial No. 09/514,425, now US. Patent
`
`20
`
`No. 6,427,171, entitled “PROTOCOL PROCESSING STACK FOR USE WITH
`
`INTELLIGENT NETWORK INTERFACE CARD,” filed February 28, 2000, (is a
`
`continuation-in-part of) US. Patent Application Serial No.. 09/675,484, now US. Patent No.
`
`6,807,581, entitled “INTELLIGENT NETWORK STORAGE INTERFACE SYSTEM,” filed
`
`September 29, 2000, (is a continuation-in—part of) US. Patent Application Serial No.
`
`09/675,700, entitled “INTELLIGENT NETWORK STORAGE INTERFACE DEVICE,” filed
`
`September 29, 2000, (is a continuation-in-part of) US. Patent Application Serial No.
`
`09/789,366, now US. Patent No. 6,757,746, entitled “OBTAINING A DESTINATION
`
`ADDRESS SO THAT NETWORK INTERFACE DEVICE CAN WRITE NETWORK
`
`DATA WITHOUT HEADERS DIRECTLY INTO HOST MEMORY,” filed February 20,
`
`2001 , (is a continuation—in-part of). U.S.vPatent Application Serial No. 09/801,488, now US.
`
`Patent No. 6,687,758, entitled “PORT AGGREGATION FOR NETWORK CONNECTIONS
`
`THAT ARE OFFLOADED TO NETWORK INTERFACE DEVICES,” filed March 7, 2001,
`2
`
`25
`
`30
`
`INTEL Ex.1002.008
`INTEL Ex.1002.008
`
`

`

`ALA—006K
`
`Express Mail No. EV 406928085 US
`
`(is a continuation-in-part of) US. Patent Application Serial No. 09/802,551, entitled
`
`“INTELLIGENT NETWORK STORAGE INTERFACE SYSTEM,” filed March 9, '2001, (is a
`
`continuation-in-part of) US. 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) US. Patent Application Serial
`No. 09/802,550, now US. 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) US. Patent Application
`
`Serial No. 09/855,979, entitled “NETWORK INTERFACE DEVICE EMPLOYING DMA
`
`10
`
`COMMAND QUEUE,” filed March 14, 2001, (is a continuation-in-part of) US. Patent
`
`Application Serial No. 09/970,124, 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
`
`15
`
`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
`
`20
`
`25
`
`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
`
`'30
`
`rights.
`
`INTEL Ex.1002.009
`INTEL Ex.1002.009
`
`

`

`ALA-006K
`
`Express Mail No. EV 406928085 US
`
`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.
`
`BACKGROUND
`
`10
`
`15
`
`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
`
`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 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). 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
`
`20
`
`(TCP stands for transport control protocol, while IP denotes intemet protocol) essentially
`
`employs five of the seven layers of 081.
`
`Networks may include, for instance, a high—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.
`
`According to the 081 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 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
`
`30
`
`coordination of subnets of packets of data.
`
`INTEL Ex.1002.010
`INTEL Ex.1002.010
`
`

`

`L
`
`ALA-006K
`
`Express Mail No, EV 406928085.US
`
`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,
`
`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 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
`
`10
`
`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,
`
`presentatidn and session layers are defined as upper layers, while transport, network and data
`
`15
`
`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 sofiware 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 the first 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
`5
`
`20
`
`25
`
`30
`
`INTEL Ex.1002.011
`INTEL Ex.1002.011
`
`

`

`ALA-006K
`
`Express Mail No. EV 406928085 US
`
`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
`
`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.
`
`I
`
`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 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
`
`15
`
`destination.
`
`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 intemet 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
`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
`6 ,
`
`20
`
`25
`
`30
`
`INTEL Ex.1002.012
`INTEL Ex.1002.012
`
`

`

`ALA-006K
`
`Express Mail N0. EV 406928085 US
`
`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.
`
`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
`
`10
`
`performing multilayered 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
`
`15
`
`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-
`
`20
`
`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
`7
`.
`gt.
`
`25
`
`30
`
`INTEL Ex.1002.013
`INTEL Ex.1002.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
`
`5
`
`TCP fields and IP fields; 3) Employing a finite state machine that implements both TCP
`
`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
`
`10
`
`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
`
`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
`
`20
`
`summary does not purport to define the invention. The invention is defined by the claims.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a plan view diagram of a device of the 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 and a 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.
`
`INTEL Ex.1002.014
`INTEL Ex.1002.014
`
`

`

`ALA-006K
`
`Express Mail No. EV 406928085 US
`
`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.
`
`FIG. 4D is a diagram of information flow for the host of FI

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