throbber

`
`UNITED STATES PATENT AND TRADEMARK OFFICE
`______________________
`
`BEFORE THE PATENT TRIAL AND APPEAL BOARD
`______________________
`
`
`DELL INC.
`Petitioner
`
`v.
`
`ALACRITECH, INC.
`Patent Owner
`
`________________________
`
`
`Case IPR. No. IPR2018-01306
`U.S. Patent No. 7,124,205
`Title: NETWORK INTERFACE DEVICE THAT FAST-PATH PROCESSES
`SOLICITED SESSION LAYER READ COMMANDS
`
`________________________
`
`DECLARATION OF BILL LIN IN SUPPORT OF PETITION
`FOR INTER PARTES REVIEW OF
`U.S. PATENT NO. 7,124,205
`UNDER 37 C.F.R. § 1.68
`
`
`
`
`Mail Stop “PATENT BOARD”
`Patent Trial and Appeal Board
`U.S. Patent and Trademark Office
`P.O. Box 1450
`Alexandria, VA 22313-1450
`
`DELL Ex.1003.001
`
`

`

`Petition for Inter Partes Review of 7,124,205
`Ex. 1003 (“Lin Decl.”)
`
`TABLE OF CONTENTS
`
`
`
`Page
`
`INTRODUCTION AND QUALIFICATIONS ............................................... 1
`
`
`
`I.
`
`II. MATERIALS RELIED ON IN FORMING MY OPINION........................... 3
`
`III. UNDERSTANDING OF THE GOVERNING LAW ..................................... 3
`
`A. Anticipation ........................................................................................... 3
`
`B.
`
`Invalidity by Obviousness ..................................................................... 4
`
`IV. LEVEL OF ORDINARY SKILL IN THE ART ............................................. 6
`
`V. OVERVIEW OF THE TECHNOLOGY ......................................................... 7
`
`A.
`
`B.
`
`Layered Network Protocols ................................................................... 8
`
`Offloading Protocol Processing ..........................................................11
`
`1.
`
`2.
`
`3.
`
`4.
`
`5.
`
`Offloaded Protocols ..................................................................14
`
`Portions of the Protocol Offloaded ...........................................14
`
`Partial Offload and Fast Paths...................................................15
`
`Offload Implementation ............................................................17
`
`Protocol Offload Summary .......................................................19
`
`C.
`
`Additional Background Technologies for Protocol
`Offloading ...........................................................................................19
`
`1.
`
`2.
`
`DMA .........................................................................................20
`
`Interrupts ...................................................................................21
`
`Block-Level Storage Area Networks ..................................................22
`
`File-Level Network-Attached Storage ................................................22
`
`1.
`
`SMB and NetBIOS ...................................................................23
`
`D.
`
`E.
`
`VI. OVERVIEW OF THE 205 PATENT ............................................................23
`
`VII. 205 PATENT PROSECUTION HISTORY ..................................................28
`
`VIII. CLAIM CONSTRUCTIONS ........................................................................29
`
`A.
`
`Legal Standard .....................................................................................29
`
`IX. THE PRIOR ART ..........................................................................................30
`
`A.
`
`Thia ......................................................................................................30
`ii
`
`
`
`DELL Ex.1003.002
`
`

`

`Petition for Inter Partes Review of 7,124,205
`Ex. 1003 (“Lin Decl.”)
`
`SMB .....................................................................................................35
`
`Carmichael ...........................................................................................40
`
`B.
`
`C.
`
`X. OBVIOUSNESS COMBINATIONS – MOTIVATIONS TO
`COMBINE .....................................................................................................40
`
`A.
`
`B.
`
`Thia in Combination with SMB ..........................................................40
`
`Thia in Combination with SMB and Carmichael ................................43
`
`XI. GROUNDS OF INVALIDITY .....................................................................46
`
`
`
`
`
`
`
`ii
`
`DELL Ex.1003.003
`
`

`

`
`
`
`
`
`I, Bill Lin, hereby declare as follows:
`
`I.
`
`INTRODUCTION AND QUALIFICATIONS
`
`1. My name is Bill Lin. I have been retained on behalf of Petitioner Dell
`
`Inc. (“Dell”) to provide this Declaration concerning technical subject matter
`
`relevant to the petition for inter partes review (“Petition”) concerning U.S. Patent
`
`No. 7,124,205 (Ex.1001, “the 205 Patent”). I previously offered a substantially
`
`identical declaration in connection with Case Nos. IPR2018-00226 (by Intel
`
`Corporation) and IPR2018-00400 (by Cavium, Inc.). I reserve the right to
`
`supplement this Declaration in response to additional evidence that may come to
`
`light.
`
`2.
`
`I am over 18 years of age. I have personal knowledge of the facts
`
`stated in this Declaration and could testify competently to them if asked to do so.
`
`3. My compensation is not based on the resolution of this matter. My
`
`findings are based on my education, experience, and background in the fields
`
`discussed below.
`
`4.
`
`I am a Professor of Electrical and Computer Engineering and an
`
`Adjunct Professor of Computer Science and Engineering at the University of
`
`California, San Diego (UCSD). I have over 25 years of experience in research
`
`and development in the areas of computer networking and computer design. I
`
`
`
`
`
`DELL Ex.1003.004
`
`

`

`Petition for Inter Partes Review of 7,124,205
`Ex.1003 (“Lin Decl.”)
`
`
`
`
`have also testified as an expert witness and consultant in patent and intellectual
`
`property litigations as well as inter partes reviews.
`
`5.
`
`I received a Bachelor of Science in Electrical Engineering and
`
`Computer Sciences from University of California, Berkeley in May 1985; a
`
`Master’s of Science in Electrical Engineering and Computer Sciences from the
`
`University of California, Berkeley in May 1988; and a Ph.D. in Electrical
`
`Engineering and Computer Sciences from the University of California, Berkeley
`
`in May 1991.
`
`6.
`
`I am a named inventor on five patents in the fields of computer
`
`networking and computer design, and I have published over 170 journal articles
`
`and conference papers in top-tier venues and publications.
`
`7.
`
`I have also served or am currently serving as Associate Editor or
`
`Guest Editor for 3 ACM or IEEE journals, as General Chair on 4 ACM or IEEE
`
`conferences, on the Organizing or Steering Committees for 6 ACM or IEEE
`
`conferences, and on the Technical Program Committees of over 44 ACM or
`
`IEEE conferences.
`
`8. My Curriculum Vitae, which is filed as a separate Exhibit (Ex.1004),
`
`contains further details on my education, experience, publications, and other
`
`qualifications to render this opinion as expert.
`
`
`
`2
`
`DELL Ex.1003.005
`
`

`

`Petition for Inter Partes Review of 7,124,205
`Ex.1003 (“Lin Decl.”)
`
`
`
`II. MATERIALS RELIED ON IN FORMING MY OPINION
`
`9.
`
`In addition to reviewing U.S. Patent No. 7,124,205, I also reviewed
`
`and considered the prosecution history of the 205 Patent (Ex.1002). I reviewed all
`
`of the references forming the grounds of both Petitions regarding the 205 Patent.
`
`Specifically, for the 205 Patent, Thia (Ex.1015), SMB (Ex.1055), SatranI
`
`(Ex.1056), SatranII (Ex.1057), and Carmichael (Ex.1053). I also considered the
`
`background materials cited herein.
`
`III. UNDERSTANDING OF THE GOVERNING LAW
`
`10.
`
`I understand that a patent claim is invalid if it is anticipated or obvious
`
`in view of the prior art. I further understand that invalidity of a claim requires that
`
`the claim be anticipated or obvious from the perspective of a person of ordinary
`
`skill in the relevant art at the time the invention was made.
`
`A. Anticipation
`
`11.
`
`I have been informed that a patent claim is invalid as anticipated
`
`under 35 U.S.C. § 102 if each and every element of a claim, as properly construed,
`
`is found either explicitly or inherently in a single prior art reference.
`
`12.
`
`I have been informed that a claim is invalid under 35 U.S.C. § 102(a)
`
`if the claimed invention was known or used by others in the U.S., or was patented
`
`or published anywhere, before the applicant’s invention. I further have been
`
`informed that a claim is invalid under 35 U.S.C. § 102(b) if the invention was
`3
`
`
`
`DELL Ex.1003.006
`
`

`

`Petition for Inter Partes Review of 7,124,205
`Ex.1003 (“Lin Decl.”)
`
`
`
`patented or published anywhere, or was in public use, on sale, or offered for sale in
`
`this country, more than one year prior to the filing date of the patent application
`
`(critical date). I further have been informed that a claim is invalid under 35 U.S.C.
`
`§ 102(e) if an invention described by that claim was disclosed in a U.S. patent
`
`granted on an application for a patent by another that was filed in the U.S. before
`
`the date of invention for such a claim.
`
`B.
`
`Invalidity by Obviousness
`
`13.
`
`I have been informed that a patent claim is invalid as “obvious” under
`
`35 U.S.C. § 103 if it would have been obvious to one of ordinary skill in the art,
`
`taking into account (1) the scope and content of the prior art, (2) the differences
`
`between the prior art and the claims, (3) the level of ordinary skill in the art, and
`
`(4) any so called “secondary considerations” of non-obviousness, which include:
`
`(i) “long felt need” for the claimed invention, (ii) commercial success attributable
`
`to the claimed invention, (iii) unexpected results of the claimed invention, and (iv)
`
`“copying” of the claimed invention by others. I further understand that it is
`
`improper to rely on hindsight in making the obviousness determination. My
`
`analysis of the prior art is made as of the time the invention was made.
`
`
`
`4
`
`DELL Ex.1003.007
`
`

`

`Petition for Inter Partes Review of 7,124,205
`Ex.1003 (“Lin Decl.”)
`
`
`
`
`14.
`
`I have been informed that a claim can be obvious in light of a single
`
`prior art reference or multiple prior art references. I further understand that
`
`exemplary rationales that may support a conclusion of obviousness include:
`
`(A) Combining prior art elements according to known methods to yield
`
`predictable results;
`
`(B) Simple substitution of one known element for another to obtain
`
`predictable results;
`
`(C) Use of known technique to improve similar devices (methods, or
`
`products) in the same way;
`
`(D) Applying a known technique to a known device (method, or product)
`
`ready for improvement to yield predictable results;
`
`(E) “Obvious to try” – choosing from a finite number of identified,
`
`predictable solutions, with a reasonable expectation of success;
`
`(F) Known work in one field of endeavor may prompt variations of it for use
`
`in either the same field or a different one based on design incentives or other
`
`market forces if the variations are predictable to one of ordinary skill in the art;
`
`(G) Some teaching, suggestion, or motivation in the prior art that would
`
`have led one of ordinary skill to modify the prior art reference or to combine prior
`
`art reference teachings to arrive at the claimed invention.
`
`
`
`5
`
`DELL Ex.1003.008
`
`

`

`Petition for Inter Partes Review of 7,124,205
`Ex.1003 (“Lin Decl.”)
`
`
`
`IV. LEVEL OF ORDINARY SKILL IN THE ART
`
`15.
`
`I have been informed that factors that may be considered in
`
`determining the level of ordinary skill in the art may include: (A) “type of
`
`problems encountered in the art;” (B) “prior art solutions to those problems;” (C)
`
`“rapidity with which
`
`innovations are made;” (D) “sophistication of
`
`the
`
`technology;” and (E) “educational level of active workers in the field.” I also
`
`understand that, every factor may not be present for a given case, and one or more
`
`factors may predominate. Here, the 205 Patent is directed to an apparatus and
`
`methods for network protocol offload. In my experience, systems such as those
`
`capable of protocol offload are not designed by a single person but instead require
`
`a design team with wide ranging skills and experience including computer
`
`architecture, network design, software development and hardware development.
`
`Moreover, the design team typically would have comprised individuals with
`
`advanced degrees and some industry experience, or significant industry experience.
`
`16.
`
`In my opinion, a person of ordinary skill in the art at the time of the
`
`claimed inventions would be a person with at least the equivalent of a B.S. degree
`
`in computer science, computer engineering or electrical engineering with at least
`
`five years of industry experience, including experience in computer architecture,
`
`network design, network protocols, software development, and hardware
`
`
`
`6
`
`DELL Ex.1003.009
`
`

`

`Petition for Inter Partes Review of 7,124,205
`Ex.1003 (“Lin Decl.”)
`
`
`
`development. An individual with an advanced degree in a relevant field, such as
`
`computer or electrical engineering, would require less experience in the
`
`development and use of memory devices and systems.
`
`17.
`
`I reserve the right to amend or supplement this declaration if the
`
`Board adopts a definition of a person of ordinary skill other than that described
`
`above, which may change my conclusion or analysis. But should the Board adopt
`
`a higher standard, it would not change my opinion that the claims are invalid.
`
`18. My opinion below explains how a person of ordinary skill in the art
`
`would have understood the technology described in the references I have identified
`
`herein around the 1997 time period, which is the approximate date when the
`
`application to which the 205 Patent claims priority was filed. I was a person of at
`
`least ordinary skill in the art in 1997.
`
`V. OVERVIEW OF THE TECHNOLOGY
`
`19. Along with the 205 Patent, Petitioner has also filed for Inter Partes
`
`Review of U.S. Patent Nos. 7,673,072, 7,237,036, 7,337,241, and 8,805,948
`
`(“Related Patents”). These patents belong to the same family as the 205 Patent
`
`and are directed to substantially the same technology. Dr. Horst has provided
`
`declarations in support of the petitions for IPR for the Related Patents, and, as
`
`part of those declarations, Dr. Horst prepared an overview of the technology. I
`
`
`
`7
`
`DELL Ex.1003.010
`
`

`

`Petition for Inter Partes Review of 7,124,205
`Ex.1003 (“Lin Decl.”)
`
`
`
`
`have reviewed this overview and I have adopted and incorporated (with his
`
`permission) language from his overview into my declaration.1
`
`A. Layered Network Protocols
`
`20. Computer networks based on layered protocol architectures have been
`
`well-known since at least the 1980s. As explained in Dr. Horst’s Declaration (see
`
`¶ 22), the primary goal of computer networking is to provide fast, reliable data
`
`communications between computer systems.
`
`
`
`Interoperability has been
`
`accomplished through adherence to standards, and performance has steadily
`
`increased through new technology and optimizations of hardware and software.
`
`21. As explained in Dr. Horst’s Declaration (see ¶¶ 23-24), the two most
`
`dominant models of protocol layers are the OSI model and the TCP/IP model.2
`
`
`1 Note that I did not review any other sections of Dr. Horst’s declaration. Nor did I
`
`assist Dr. Horst with his declaration (and vice versa).
`
`2 References on TCP/IP use different terminology to describe the layer under IP.
`
`The data link layer is also called the “host-to-network layer” in Tanenebaum96 and
`
`the “interface layer” in Stevens2. Some Alacritech patents use “data link layer,”
`
`“link layer” and “MAC layer.” Prior art references use many of these terms and
`
`also sometimes use the name of a specific implementation (e.g., Ethernet, ATM).
`
`
`
`8
`
`DELL Ex.1003.011
`
`

`

`Petition for Inter Partes Review of 7,124,205
`Ex.1003 (“Lin Decl.”)
`
`
`
`The OSI model defines a seven-layer protocol stack whereas the TCP/IP model
`
`defines a simpler four-layer protocol stack. The OSI model includes physical, data
`
`link, network, transport, session, presentation and application layers. The figure
`
`below shows the relationship between the OSI layering and the TCP/IP layering.
`
`
`
`Available at http://mitigationlog.com/how-tcpip-and-reference-osi-model-works/.
`
`22. As explained in Dr. Horst’s Declaration (see ¶ 25), at a conceptual
`
`level, each layer is responsible for only for its respective functions. This enables,
`
`for example, hiding the complexity of the physical data connection (that is,
`
`actually transmitting the data onto the physical wires) from layers above the
`
`physical, data link, and network layers above. Likewise, the lower layers must
`
`transmit the data on the physical wires, but need not worry about what application
`
`
`
`9
`
`DELL Ex.1003.012
`
`

`

`Petition for Inter Partes Review of 7,124,205
`Ex.1003 (“Lin Decl.”)
`
`
`
`the data belongs to or how the user data has been partitioned into individual
`
`packets.
`
`23.
`
`In the figure above, the bottom “host-to-network” layer of the TCP/IP
`
`model has roughly the same functions as the “data link” and “physical” layers of
`
`the OSI reference model. The next two layers up, the “transport” and “Internet”
`
`layers have roughly the same functions as their similarly named counterparts in the
`
`OSI model (namely, the “transport” and “network” layers).
`
`24.
`
`In the TCP/IP model, the “network” (Internet) layer is called the
`
`“Internet Protocol” (IP) layer, which provides for Internet addressing and routing
`
`functions. The “transport” layer is concerned with conveying a message from one
`
`application to another over a network. The two most widely used transport
`
`protocols are TCP and UDP, either of which can be used to transport application-
`
`layer messages. Whereas TCP provides a connection-oriented service to its
`
`applications that includes guaranteed delivery and congestion control, UDP
`
`provides a simpler connectionless service that does not provide for reliability or
`
`flow control.
`
`25. Above the “transport” and “network” layers, the OSI reference model
`
`has two additional layers, the session and presentation layers. The session layer
`
`controls the connections between computers, and the presentation layer establishes
`
`
`
`10
`
`DELL Ex.1003.013
`
`

`

`Petition for Inter Partes Review of 7,124,205
`Ex.1003 (“Lin Decl.”)
`
`
`
`context between application-layer entities. These two layers are not present in the
`
`TCP/IP model.
`
`B. Offloading Protocol Processing
`
`26. The idea of offloading protocol processing from the host in order to
`
`increase performance was known at least as early as 1974, as shown by RFC 647
`
`(Ex.1019) and RFC 929 (Ex.1009). In RFC 647, front-end protocol offload was
`
`considered for standardization. RFC 647 also discusses rigid and flexible front-
`
`end (FE) alternatives.
`
` “FRONT-ENDING”
`
`In what might be thought of as the greater network community, the
`consensus is so broad that the front-ending is desirable that the topic needs
`almost no discussion here. Basically, a small machine (a PDP-11 is widely
`held to be most suitable) is interposed between the IMP and the host in order
`to shield the host from the complexities of the NCP.
`
`Ex.1019, RFC 647 at .002.
`
`27. Similarly, RFC 929 dealt with a possible standard for interfacing
`
`between an Outboard Processing Environment (OPE) and a host.
`
`There are two fundamental motivations for doing outboard processing. One
`is to conserve the Hosts' resources (CPU cycles and memory) in a resource
`sharing intercomputer network, by offloading as much of the required
`networking software from the Hosts to Outboard Processing Environments
`(or "Network Front-Ends") as possible. The other is to facilitate procurement
`of implementations of the various intercomputer networking protocols for
`the several types of Host in play in a typical heterogeneous intercomputer
`network, by employing common implementations in the OPE.
`
`
`
`11
`
`DELL Ex.1003.014
`
`

`

`Petition for Inter Partes Review of 7,124,205
`Ex.1003 (“Lin Decl.”)
`
`
`
`
`Ex.1009, RFC 929 at .002.
`
`The interaction between the Host and the OPE must be capable of providing
`a suitable interface between processes (or protocol interpreters) in the Host
`and the off-loaded protocol interpreters in the OPE. This interaction must
`not, however, burden the Host more heavily than would have resulted from
`supporting the protocols inboard, lest the advantage of using an OPE be
`overridden.
`
`Id. at .003.
`
`28. The 1984 proposal to standardize offload implementations in RFC
`
`929 is evidence that there was already much activity in offload implementations at
`
`that time.
`
`The mediation level parameter is an indication of the role the Host wishes
`the OPE to play in the operation of the protocol. The extreme ranges of this
`mediation would be the case where the Host wished to remain completely
`uninvolved, and the case where the Host wished to make every possible
`decision. The specific interpretation of this parameter is dependent upon the
`particular off-loaded protocol.
`
`The concept of mediation level can best be clarified by means of example.
`A full inboard implementation of the Telnet protocol places several
`responsibilities on the Host. These responsibilities include negotiation and
`provision of protocol options, translation between local and network
`character codes and formats, and monitoring the well-known socket for
`incoming connection requests. The mediation level indicates whether these
`responsibilities are assigned to the Host or to the OPE when the Telnet
`implementation is outboard. If no OPE mediation is selected, the Host is
`involved with all negotiation of the Telnet options, and all format
`conversions.
`
`With full OPE mediation, all option negotiation and all format conversions
`are performed by the OPE. An intermediate level of mediation might have
`ordinary option negotiation, format conversion, and socket monitoring done
`in the OPE, while options not known to the OPE are handled by the Host.
`12
`
`
`
`DELL Ex.1003.015
`
`

`

`Petition for Inter Partes Review of 7,124,205
`Ex.1003 (“Lin Decl.”)
`
`
`
`
`
`The parameter is represented with a single ASCII digit. The value 9
`represents full OPE mediation, and the value 0 represents no OPE mediation.
`Other values may be defined for some protocols (e.g., the intermediate
`mediation level discussed above for Telnet). The default value for this
`parameter is 9.
`
`Ex.1009, RFC 929 at .015-.016.
`
`29. More than a decade passed between the publication of RFC 929 and
`
`the priority date of the earliest Alacritech provisional application, and during that
`
`time, protocol offload was the subject of many papers and systems of the typed
`
`anticipated by RFC 929. As explained in Dr. Horst’s declaration (see ¶ 54) the
`
`implementations can be separated into three general categories: The set of
`
`protocols to be offloaded (e.g., TCP/IP, VMTP, OSI), 2) the portions of the
`
`protocol that are offloaded (e.g. full offload, partial offload, fast path offload, no
`
`offload), 3) the offload implementation (e.g., parallel processor, custom processor,
`
`standard microprocessor). The references discussed below include many different
`
`combinations of these three factors. However, all of the combinations discussed
`
`were the result of design choices from a small number of options. It would have
`
`been obvious to modify one of the three factors of the particular implementation
`
`and produce predictable results. Or to put it differently, those of skill in the art
`
`would have recognized that the extent of offloading could be changed for a given
`
`implementation.
`
`
`
`13
`
`DELL Ex.1003.016
`
`

`

`Petition for Inter Partes Review of 7,124,205
`Ex.1003 (“Lin Decl.”)
`
`
`
`
`1. Offloaded Protocols
`
`30. As explained in Dr. Horst’s Declaration (see ¶¶ 55-60), protocol
`
`offload implementations for different protocol stacks were known by the mid-
`
`1990s. These included OSI protocol offload (for example, Thia (Ex.1015) and
`
`Woodside (Ex.1038)), TCP/IP protocol offload (for example, Bach (Ex.1020),
`
`Erickson (Ex.1005), Morris (Ex.1021), Cooper (Ex.1022), Kung (Ex.1023),
`
`Rütsche (Ex.1017) and Chesson (Ex.1024)), VMTP and XTP Protocol Offload (for
`
`example, Kanakia (Ex.1025), Chesson (Ex.1024)), and multi-protocol offload (for
`
`example, Erickson (Ex.1005) and Kung (Ex.1023) and Cooper (Ex.1026)).
`
`2.
`
`Portions of the Protocol Offloaded
`
`31. As explained in Dr. Horst’s Declaration (see ¶ 61), the portion of the
`
`protocol offloaded can be between full and partial offload.
`
`32. As explained in Dr. Horst’s Declaration (see ¶¶ 62-63), one type of
`
`offload is checksum offload.
`
`33. A checksum offload is described, for example, in Dalton Afterburner.
`
`To support the use of the on-card memory as clusters, we have written a
`small number of functions. The most important is a special copy routine,
`functionally equivalent to the BSD function bcopy. It is optimized for
`moving data over the I/O bus, and also optionally uses the card’s built-in
`unit to calculate the IP checksum of the data it moves. Another function
`converts a single-copy cluster into a chain of normal clusters and mbufs; it
`also calculates the checksum.
`
`Ex.1027, Dalton at .011 (emphasis added).
`14
`
`
`
`DELL Ex.1003.017
`
`

`

`Petition for Inter Partes Review of 7,124,205
`Ex.1003 (“Lin Decl.”)
`
`
`
`
`34. As explained in Dr. Horst’s Declaration (see ¶¶ 64-65), other types of
`
`offloads included full offload (for example, Murphy (Ex.1028), Bach (Ex.1020),
`
`MacLean (Ex.1029), Cooper (Ex.1022), Rütsche92 (Ex.1017), Rütsche93
`
`(Ex.1018) and multi-level offload (for example, Chesson (Ex.1024)).
`
`3.
`
`Partial Offload and Fast Paths
`
`35. The performance of TCP/IP, or for that matter most communication
`
`protocols, can be improved by adapting the header prediction algorithm that was
`
`proposed in 1988 by Van Jacobson, which led to many different types of partial
`
`offloads, including a TCP/IP implementation (i.e., BSD 4.3 Reno) in which the
`
`code is partitioned into one module for the commonly executed path (the fast path)
`
`and another module to handle the more complex cases and exception handling (the
`
`slow path).
`
`36. For example the BSD 4.4-Lite distribution included code for
`
`implementing the header prediction algorithm.
`
`Most IP packets carry no options. Of the 20-byte header, 14 of the bytes will
`be the same for all IP packets sent by a particular TCP connection. The IP
`length, ID, and checksum fields (6 bytes total) will probably be different for
`each packet. Also, if a packet carries any options, all packets for that TCP
`connection will be likely to carry the same options.
`
`The Berkeley implementation of UNIX makes some use of this observation,
`associating with each connection a template of the IP and TCP headers with
`a few of the fixed fields filled in. To get better performance, we designed an
`IP layer that created a template with all the constant fields filled in. When
`
`
`
`15
`
`DELL Ex.1003.018
`
`

`

`
`
`Petition for Inter Partes Review of 7,124,205
`Ex.1003 (“Lin Decl.”)
`
`
`TCP wished to send a packet on that connection, it would call IP and pass it
`the template and the length of the packet. Then IP would block-copy the
`template into the space for the IP header, fill in the length field, fill in the
`unique ID field, and calculate the IP header checksum.
`
`This idea can also be used with TCP, as was demonstrated in an earlier, very
`simple TCP implemented by some of us at MIT [6]. In that TCP, which was
`designed to support remote login, the entire state of the output side,
`including the unsent data, was stored as a preformatted output packet. This
`reduced the cost of sending a packet to a few lines of code.
`
`A more sophisticated example of header prediction involves applying the
`idea to the input side. In the most recent version of TCP for Berkeley UNIX,
`one of us (Jacobson) and Mike Karels have added code to precompute what
`values should be found in the next incoming packet header for the
`connection. If the packets arrive in order, a few simple comparisons suffice
`to complete header processing.
`
`Ex.1030, Clark at .003.
`
`37. As explained in Dr. Horst’s Declaration (see ¶¶ 68-69), the 1995 book
`
`by Stevens (Stevens2) walks through the Jacobson BSD header prediction code
`
`including the conditions for selecting the fast or slow path.
`
`38. Stevens2 identifies six conditions for using the fast path:
`
`1. The connection must be established.
`2. The following four control flags must not be on: SYN, FIN, RST, or
`URG. The ACK flag must be on.
`3.-6. [Conditions to assure that the received segments are in-order]
`
`Ex.1013, Stevens2 at .962-.963.
`
`39. Many other works built on the Jacobson BSD header prediction code,
`
`such as Biersack (Ex.1016), which describes a TCP protocol offload with fast and
`
`
`
`16
`
`DELL Ex.1003.019
`
`

`

`Petition for Inter Partes Review of 7,124,205
`Ex.1003 (“Lin Decl.”)
`
`
`
`slow paths, as well as Thia (Ex.1015), which built on Jacobson BSD header
`
`prediction algorithm by implementing a fast path using an OSI protocol offload.
`
`40. As explained in Dr. Horst’s Declaration (see ¶¶ 70-71), the Jacobson
`
`header prediction code forms the basis of what Alacritech offloads to its intelligent
`
`network interface card according to its 1997 provisional application. See also
`
`Ex.1031, Alacritech 1997 Provisional Application at .057.
`
`4. Offload Implementation
`
`41. As explained in Dr. Horst’s Declaration (see ¶¶ 72-73), offload
`
`implementations include dedicating one or more processors to protocol processing.
`
`For example, Tanenbaum96 discussed offloading to an interface card.
`
`The hardware and/or software within the transport layer that does the work
`is called the transport entity. The transport entity can be in the operating
`system kernel, in a separate user process, in a library package bound into
`network applications, or on the network interface card.
`
`Ex.1006, Tanenbaum96 at .498 (emphasis added).
`
`42. As explained in Dr. Horst’s Declaration (see ¶¶ 74-81), several groups
`
`proposed offload implementations based on multiprocessor configurations or
`
`dedicated microprocessor implementations, including the Nectar system, the
`
`parallel protocol system, and a Gb/s Multimedia Protocol Adapter, as well as
`
`offload adapters based on microprocessors, as discussed in Kanakia (Ex.1025),
`
`MacLean (Ex.1029), and Rütsche92 (Ex.1017).
`
`
`
`17
`
`DELL Ex.1003.020
`
`

`

`Petition for Inter Partes Review of 7,124,205
`Ex.1003 (“Lin Decl.”)
`
`
`The Nectar communication processor together with its host can be viewed as
`a (heterogeneous) shared-memory multiprocessor. Dedicating one processor
`of a multiprocessor host to communication tasks can achieve some of the
`benefits of the Nectar approach, but this constrains the choice of host
`operating system and hardware. In contrast, the Nectar communication
`processor has been used with a variety of hosts and host operating systems.
`
`Ex.1022, Cooper at .006.
`
`In this paper our goal is to demonstrate that a careful implementation of a
`standard transport protocol stack on a general purpose multiprocessor
`architecture allows efficient use of the bandwidth available in today's high-
`speed networks. As an example, we chose to implement the TCP/IP
`protocol suite on our 4-processor prototype of the PPE.
`
`Ex.1017, Rütsche92 at .009.
`
`In this paper we present a new multiprocessor communication subsystem
`architecture, the Multimedia Protocol Adapter (MPA), which is based on the
`experience with the Parallel Protocol Engine (PPE) [Kaiserswerth 92] and is
`designed to connect to a 622 Mb/s ATM network. The MPA architecture
`exploits the inherent parallelism between the transmitter and receiver parts
`of a protocol and provides support for the handling of new multimedia
`protocols.
`
`Ex.1018, Rütsche93 at .001.
`
`The prototype Network Adapter Board (NAB) has been designed using
`Motorola's MC68020 as the on-board processor, running at 16 Mhz clock
`rate; it uses about 200 hundred standard MSI and LSI components. The
`current version is designed for connecting two VMP multiprocessor systems
`with a 100 megabit/sec point-to-point connection.
`
`Ex.1025, Kanakia at .010.
`
`The internal functions and data flows of the protocol accelerator shown in
`Figure 2. We use a dual CPU approach to protocol processing, with one
`CPU subsystem dedicated to the transmission, and the other to the reception.
`The transmit and receive CPUs are both 68020 (25 MHz) based, each with
`its own private resources: ROM, parallel I/O, interrupt circuitry and 128

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