throbber
IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`In the Inter Partes Review of:
`
`
`
`U.S. Patent No. 8,645,558
`
`Filed: June 15, 2006 (PCT filing date)
`
`Issued: February 4, 2014
`
`Named Inventor(s): Steven Leslie Pope,
`Derek Edward Roberts, David James
`Riddoch, Greg Law, Steve Grantham,
`Matthew Slattery
`
`Recorded Assignee: Solarflare
`Communications, Inc.
`
`Title: Reception According To A Data
`Transfer Protocol Of Data Directed To
`Any Of A Plurality Of Destination
`Entities For Data Extraction
`
`Mail Stop Inter Partes Review
`Commissions for Patents
`P.O. Box 1450
`Alexandria, VA 22313-1450
`
`
`
`
`
`PETITION FOR INTER PARTES REVIEW
`UNDER 35 U.S.C. § 311 AND 37 C.F.R. § 42.100
`
`

`
`Petition for Inter Partes Review of U.S. Patent No. 8,645,558
`
`
`TABLE OF CONTENTS
`
`I.
`
`Introduction .................................................................................................... 1
`
`II. Mandatory Notices......................................................................................... 1
`
`A.
`
`B.
`
`C.
`
`Real Party-in-Interest (37 C.F.R. § 42.8(b)(1)) ..................................... 1
`
`Related Matters (37 C.F.R. § 42.8(b)(2)) .............................................. 1
`
`Designation of Lead and Backup Counsel and Service
`Information (37 C.F.R. §§ 42.8(b)(3)-(4)) ............................................ 1
`
`III. Fee for Inter Partes Review (37 C.F.R. § 42.103) ........................................ 2
`IV. Grounds for Standing (37 C.F.R. § 42.104(a)) ............................................ 2
`
`V.
`
`Identification of Challenge (37 C.F.R. § 42.104(b)) .................................... 2
`
`VI. Relevant Background on the ’558 Patent .................................................... 4
`
`A.
`
`B.
`
`Level of Ordinary Skill ......................................................................... 4
`
`Description of the Alleged Invention of the ’558 Patent ...................... 4
`
`VII. Claim Construction ....................................................................................... 9
`
`A.
`
`“in response to signaling from a thread of the application”
`(Claim 1) ..............................................................................................10
`
`VIII. Reasonable Likelihood that Claims 1–12 are Unpatentable ...................14
`
`A. GROUND 1: Claims 1–5, 7, and 10–12 are anticipated by
`Mansley under § 102 ...........................................................................14
`
`1.
`
`2.
`
`3.
`
`4.
`
`5.
`
`Background of Mansley ............................................................14
`
`Claim 1 is anticipated by Mansley ............................................19
`
`Claim 2 is anticipated by Mansley ............................................30
`
`Claim 3 is anticipated by Mansley ............................................31
`
`Claim 4 is anticipated by Mansley ............................................32
`
`
`
`i
`
`

`
`Petition for Inter Partes Review of U.S. Patent No. 8,645,558
`
`
`6.
`
`7.
`
`8.
`
`9.
`
`Claim 5 is anticipated by Mansley ............................................32
`
`Claim 7 is anticipated by Mansley ............................................33
`
`Claim 10 is anticipated by Mansley ..........................................34
`
`Claim 11 is anticipated by Mansley ..........................................35
`
`10. Claim 12 is anticipated by Mansley ..........................................35
`
`B.
`
`GROUND 2: Claim 6 is obvious in view of the combination of
`Mansley and Riddoch under § 103 ......................................................36
`
`1.
`
`2.
`
`Background on Riddoch ...........................................................36
`
`Claim 6 is rendered obvious .....................................................37
`
`C.
`
`GROUND 3: Claims 8 and 9 are obvious in view of the
`combination of Mansley and the Knowledge of PHOSITA
`under § 103 ..........................................................................................41
`
`1.
`
`2.
`
`Knowledge of PHOSITA ..........................................................41
`
`Claims 8 and 9 are obvious in view of the combination of
`Mansley and the Knowledge of PHOSITA ..............................42
`
`IX. Secondary Considerations Do Not Support The Non-Obviousness
`of the ’558 Patent Claims ............................................................................44
`
`X. Conclusion ....................................................................................................44
`
`
`
`ii
`
`
`
`

`
`Petition for Inter Partes Review of U.S. Patent No. 8,645,558
`
`I.
`
`INTRODUCTION
`Exablaze Pty. Ltd. (“Petitioner”) requests inter partes review of Claim 1–12
`
`of U.S. Patent No. 8,645,558 (“the ’558 Patent”). (Ex. 1002.)
`
`II.
`
`MANDATORY NOTICES
`A. Real Party-in-Interest (37 C.F.R. § 42.8(b)(1))
`Exablaze Pty Ltd. and Zomojo Pty. Ltd. are the real parties-in-interest for
`
`Petitioner.
`
`B. Related Matters (37 C.F.R. § 42.8(b)(2))
`Solarflare Communications, Inc. (“Solarflare”) has asserted the ’558 Patent
`
`against Petitioner in: Solarflare Comms. v. Exablaze Pty. Ltd., Case No. 16-cv-
`
`01891 (D. NJ). The case was filed on April 5, 2016.
`
`This case may affect, or be affected by, decisions in this proceeding.
`
`C. Designation of Lead and Backup Counsel and Service
`Information (37 C.F.R. §§ 42.8(b)(3)-(4))
`
`Lead Counsel
`Russell Levine (Reg. No. 32,153)
`russell.levine@kirkland.com
`Postal and Hand-Delivery Address:
`KIRKLAND & ELLIS LLP
`300 North LaSalle Street
`Chicago, Illinois 60654
`Telephone: (312) 862-2000
`Fax: (312) 862-2200
`
`
`Backup Lead Counsel
`Eugene Goryunov (Reg. No. 61,579)
`egoryunov@kirkland.com
`Postal and Hand-Delivery Address:
`KIRKLAND & ELLIS LLP
`300 North LaSalle Street
`Chicago, Illinois 60654
`Telephone: (312) 862-2000
`Fax: (312) 862-2200
`
`Petitioner concurrently submits a Power of Attorney, 37 C.F.R. § 42.10(b),
`
`and consents to service by email at Exablaze_IPR_Service@kirkland.com.
`
`
`
`1
`
`

`
`Petition for Inter Partes Review of U.S. Patent No. 8,645,558
`
`III.
`
`FEE FOR INTER PARTES REVIEW (37 C.F.R. § 42.103)
`The undersigned authorizes the PTO to charge the fee set forth in 37 C.F.R.
`
`§ 42.15(a) for this Petition to Deposit Account No. 506092. Review of twelve (12)
`
`claims is requested, and thus no excess claim fees are required. The undersigned
`
`further authorizes payment for any additional fees that may be due in connection
`
`with this Petition to be charged to the above-referenced Deposit Account.
`
`IV.
`
`GROUNDS FOR STANDING (37 C.F.R. § 42.104(A))
`
`Petitioner certifies that they have standing to request, and are not barred or
`
`estopped from requesting, an IPR of the ’558 Patent. Petitioner certifies: (1)
`
`Petitioner is not the owner of the ’558 Patent; (2) Petitioner (or any real party-in-
`
`interest) has not filed a civil action challenging the validity of any claim of the
`
`’558 Patent; (3) Petitioner files this Petition within one year of the date it was
`
`served with a complaint asserting infringement of the ’558 Patent; (4) the estoppel
`
`provisions of 35 U.S.C. § 315(e)(1) do not prohibit this IPR; and (5) this Petition is
`
`filed after the ’558 Patent was granted.
`
`V.
`
`IDENTIFICATION OF CHALLENGE (37 C.F.R. § 42.104(B))
`
`Petitioners request institution of an IPR and cancellation of Claims 1–12 of
`
`the ’558 Patent based on the following:
`
`Mansley. “Engineering a User-Level TCP for the CLAN Network” by
`
`Kieran Mansley. (Ex. 1003.) Mansley (1) was published in 2003 in the
`
`Proceedings of
`
`the ACM SIGCOMM 2003 Workshop on Network I/O
`
`
`
`2
`
`

`
`Petition for Inter Partes Review of U.S. Patent No. 8,645,558
`
`Convergence: Experience, Lessons, Implications; (2) is prior art under 35 U.S.C.
`
`§ 102(b);1 and (3) was not submitted to, or considered by, the PTO in prosecution.
`
`Riddoch. “Distributed Computing with the CLAN Network” by David
`
`Riddoch, Kieran Mansley, and Steve Pope. (Ex. 1005.) Riddoch (1) was
`
`published in 2002 in the Proceedings of the 27th Annual IEEE Conference on
`
`Local Computer Networks; (2) is prior art under 35 U.S.C. § 102(b); and (3) was
`
`not submitted to, or considered by, the PTO in prosecution.
`
`The statutory grounds on which Petitioner’s challenge is based are:
`
`Ground 1: Claims 1–5, 7, and 10–12 are anticipated by Mansley under
`
`§ 102(b);
`
`Ground 2: Claim 6 is obvious in view of the combination of Mansley and
`
`Riddoch under § 103(a);
`
`Ground 3: Claims 8–9 are obvious in view of the combination of Mansley
`
`and the Knowledge of Persons Having Ordinary Skill In The Art (“PHOSITA”)
`
`under § 103(a).
`
`Petitioner sets forth the relevant background on the ’558 Patent (Section VI),
`
`how the contested Claims are to be construed (Section VII), and how the construed
`
`Claims are unpatentable under the statutory grounds (Section VIII).
`
`
`1
`Cites to 35 U.S.C. §§ 102 and 103 are to the pre-AIA version.
`
`
`
`3
`
`

`
`Petition for Inter Partes Review of U.S. Patent No. 8,645,558
`
`
`Attached is an Appendix of Exhibits. The relevance of the evidence,
`
`including the specific portions that support the challenge, is set forth in Section
`
`VIII. Petitioner submits a declaration by Dr. Kevin Jeffay in support of this
`
`Petition. 37 C.F.R. § 1.68. (Ex. 1001.)
`
`VI.
`
`RELEVANT BACKGROUND ON THE ’558 PATENT
`A. Level of Ordinary Skill
`PHOSITA would have a B.S. degree, or its equivalent, in Computer Science,
`
`Computer Engineering, Electrical Engineering, or a related field, as well as a
`
`Master of Science degree, or equivalent, in one of those fields or approximately 2–
`
`3 years of academic or industry experience in the design of software for network
`
`protocol processing. More work experience could compensate for a lack of post-
`
`graduate degree. (Ex. 1001, Jeffay Decl., ¶ 26.)
`
`B. Description of the Alleged Invention of the ’558 Patent
`The ’558 Patent purports to describe and claim a data processing system that
`
`processes network traffic. (Ex. 1002, ’558 Patent, at col. 42, ll. 51–52.) In
`
`particular, the claimed data processing system includes a protocol processing entity
`
`that performs protocol processing on data received over the network. (Id. at col.
`
`44, ll. 19–29.) A protocol for communication on a network “conventionally
`
`includes a specification of how traffic data is to be carried, and also how control
`
`functions are to be implemented.” (Id. at col. 43, ll. 15–18; see also id. at col. 43,
`
`ll. 18–21 (stating that control functions typically include “error checking,
`
`
`
`4
`
`

`
`Petition for Inter Partes Review of U.S. Patent No. 8,645,558
`
`retransmission requests and responses, flow control and basic network messages
`
`such as those for identifying whether a host is active or reachable.”).) The
`
`specification discloses several protocol examples: Transmission Control Protocol
`
`(TCP), User Datagram Protocol (UDP), Internet Control Message Protocol
`
`(ICMP), and Real-Time Transport Protocol (RTP). (Id. at col. 3, ll. 26–32.) The
`
`’558 Patent discloses that protocol processing is “the processing of data in
`
`accordance with the protocol for transmission or reception.” (Id. at col. 43, ll. 34–
`
`36.) Protocol processing is performed in order to extract traffic data. (Id. at col.
`
`44, ll. 19–29; cl. 1.) After extracting the traffic data, the system provides it to the
`
`application for which the data was intended, such as a database application. (Id. at
`
`col. 43, ll. 53–56; col. 48, ll. 58–63.)
`
`Although protocol processing is traditionally implemented by the operating
`
`system,
`
`in
`
`the preferred embodiment,
`
`the protocol processing entity
`
`is
`
`implemented at a higher level than the operating system, i.e., at the user-level. (Id.
`
`at col. 44, ll. 30–33.)
`
`The claimed protocol processing entity provides an application
`
`programming interface (API). (Id. at col. 44, ll. 36–37.) An API is a mechanism
`
`through which applications can access a bundle of functions or resources. (Ex.
`
`1001, Jeffay Decl., ¶ 38; see also Ex. 1006, Peterson & Davie, at 5–6 (stating that,
`
`with respect to a network API, “Each protocol provides a certain set of services,
`
`
`
`5
`
`

`
`Petition for Inter Partes Review of U.S. Patent No. 8,645,558
`
`and the API provides the syntax by which those services can be invoked.”).) The
`
`API described in the ’558 Patent is the well-known sockets API. (Ex. 1002, ’558
`
`Patent, at col. 3, ll. 16–21; Ex. 1001, Jeffay Decl., ¶¶ 40, 46.) A socket is a
`
`software abstraction provided by the sockets API that “connects the application to
`
`remote entities by means of a network protocol.” (Ex. 1002, ’558 Patent, col. 2, ll.
`
`14–18; Ex. 1001, Jeffay Decl., ¶ 40.) The sockets API enables an application to,
`
`for example, “send and receive TCP/IP messages by opening a socket and reading
`
`and writing data to and from the socket.” (Ex. 1002, ’558 Patent, at col. 2, ll. 18–
`
`22; see also Ex. 1006, Peterson & Davie, at 5–6 (stating that the sockets API
`
`“defines operations for creating a socket, attaching the socket to the network,
`
`sending/receiving messages through the socket, and closing the socket.”).)
`
`The alleged point of novelty of the ’558 Patent is that the protocol
`
`processing entity performs protocol processing on data received over the network
`
`in response to signaling from an application. (Ex. 1002, ’558 Patent, at col. 44, ll.
`
`46–50; Ex. 1001, Jeffay Decl., ¶¶ 48–49.) In particular, the signaling comes from
`
`a thread of an application that inquires whether data is available for processing.
`
`(Ex. 1002, ’558 Patent, at col. 44, ll. 46–50; col. 44, ll. 55–58.) Signaling,
`
`according to the applicants, distinguished the alleged invention from prior art
`
`systems where protocol processing was driven by the mere receipt of data. (Ex.
`
`1002, ’558 Patent at col. 43, ll. 41–67; Ex. 1001, Jeffay Decl., ¶¶ 43, 49.) The
`
`
`
`6
`
`

`
`Petition for Inter Partes Review of U.S. Patent No. 8,645,558
`
`purported benefit of using signaling to trigger protocol processing, as opposed to
`
`mere data receipt, is a performance improvement derived from the system not
`
`interrupting running processes (or threads) every time data is received over the
`
`network. (Ex. 1002, ’558 Patent at col. 46, l. 50–col. 47, l. 4; Ex. 1001, Jeffay
`
`Decl., ¶ 49.)
`
`The ’558 Patent specifies that an application may issue a “a select() and/or a
`
`poll() call” in order to signal a request for available data. (Id. at col. 44, ll. 49–50;
`
`see also Ex. 1001, Jeffay Decl., ¶ 42 (explanation of select() call known in the
`
`prior art).) These calls are resolved “by means of a static linkage,” or alternatively,
`
`by means of a “dynamic linkage.” (Id. at col. 44, ll. 52–54.) Although the
`
`specification does not further describe “static linkage,” statically linked libraries
`
`are a well known concept in which the applications are combined with the library
`
`functions they use prior to execution of the application. (Ex. 1001, Jeffay Decl.,
`
`¶ 49.) A dynamically linked library, on the other hand, is combined with an
`
`application when the application is executed, at “runtime.” (Ex. 1002, ’558 Patent,
`
`at col. 47, ll. 33–34; Ex. 1001, Jeffay Decl., ¶¶ 39, 50.)
`
`In one embodiment, the ’558 Patent suggests its protocol processing avoids
`
`costly interrupts through use of an “event buffer.” (Ex. 1002, ’558 Patent, at col.
`
`45, ll. 26–28; col. 47, ll. 1–4 (referring to “event queue”).) The event buffer “acts
`
`to provide a queue of events that can be actioned by the library when required.”
`
`
`
`7
`
`

`
`Petition for Inter Partes Review of U.S. Patent No. 8,645,558
`
`(Id. at col. 45, ll. 53–54.) The specification further discloses that the “event buffers
`
`are used by the NIC to signal to the library [(e.g., the protocol processing entity)]
`
`that events such as the receipt of data have occurred.” (Id. at col. 45, ll. 26–28.)
`
`An “event” is described as a “data unit of a predefined format that indicates to the
`
`library that data has been received.” (Id. at col. 45, ll. 48–49.) “The event may
`
`include information such as time when the data was received and the buffer it has
`
`been written to.” (Id. at col. 45, ll. 51–53.)
`
`Claim 1 recites:
`
`[A] A data processing system for receiving data from a
`network, and processing that data in accordance with a
`network protocol to extract traffic data therefrom, the
`data processing system having:
`
`[B] a memory;
`
`[C] a network interface for receiving the data from the
`network and storing the data in the memory;
`
`[D] an operating system for supporting one or more
`applications;
`
`[E] an application supported by the operating system;
`and
`
`[F] a protocol processing entity providing an application
`programming interface (API) configured to process the
`received data in accordance with a network protocol to
`extract traffic data therefrom, the protocol processing
`
`
`
`8
`
`

`
`Petition for Inter Partes Review of U.S. Patent No. 8,645,558
`
`
`entity being arranged to perform protocol processing of
`the received data in the memory in response to signaling
`from a thread of the application to request whether data is
`available for one or more endpoints of the data
`processing system.
`
`(Ex. 1002, ’558 Patent, Claim 1.) (bold element letters added)
`
`Both the alleged problem and the purported solution claimed by the ’558
`
`Patent are disclosed by the prior art.
`
`VII.
`
`CLAIM CONSTRUCTION
`
`Petitioner submits, for purposes of this IPR only, that certain terms of the
`
`’558 Patent should be construed. A claim in IPR is given the broadest reasonable
`
`interpretation (“BRI”) in light of the specification to a PHOSITA. 37 C.F.R.
`
`§ 42.100(b). “In addition, the applicant may act as a lexicographer by setting out a
`
`definition in some manner within the patent disclosure.” In re Scroggie, 442 Fed.
`
`App’x 547, 549 (Fed. Cir. 2011). BRI must take “into account any definitions
`
`presented in the specification.” In re Bass, 314 F.3d 575, 577 (Fed. Cir. 2002).
`
`The prosecution history should also be considered as part of the BRI analysis. See
`
`Microsoft Corp. v. Proxyconn, Inc., 789 F.3d 1292, 1298 (Fed. Cir. 2015) (“The
`
`PTO should also consult the patent’s prosecution history in proceedings in which
`
`the patent has been brought back to the agency for a second review.”).
`
`
`
`9
`
`

`
`Petition for Inter Partes Review of U.S. Patent No. 8,645,558
`
`
`A.
`
`“in response to signaling from a thread of the application”
`(Claim 1)
`
`The BRI of the phrase “in response to signaling from the application” is “in
`
`response to signaling from a process or part of a process of the application, not in
`
`response to receiving the data from the network.”
`
`The applicants made a “clear and unmistakable” disclaimer during
`
`prosecution of the ’558 Patent. Omega Eng’g, Inc, v. Raytek Corp., 334 F.3d
`
`1314, 1325–26 (Fed. Cir. 2003). The applicants repeatedly and unequivocally
`
`contrasted a well-known prior art mechanism of performing protocol processing
`
`“in response to receiving data from the network” with the claim language of
`
`protocol processing “in response to signaling from the thread of the application.”
`
`The applicants first disclaimed processing in response to receiving data from the
`
`network on December 13, 2012, when they attempted to distinguish art cited by the
`
`Examiner in an office action. Specifically, the applicants argued that U.S. Patent
`
`No. 5,951,645 to Goto (“Goto”) did not disclose the claimed invention:
`
`Moreover, in col. 4, lns 37-44, Goto describes that the
`communication control section receives data from the
`network, and performs data processing upon reception of
`data from the network . . . As such, Goto is understood to
`describe a technique that includes a communication
`control section that performs protocol processing of data
`received from the network, in response to receiving the
`
`
`
`10
`
`

`
`Petition for Inter Partes Review of U.S. Patent No. 8,645,558
`
`
`data from the network, and not in response to signaling
`from the application.
`
`(Ex. 1008, 12/13/2012 Response to OA at 35 (emphasis in original).)
`
`The applicants repeated this argument on July 30, 2012, again arguing that
`
`“Goto describes performing data processing upon reception of data from the
`
`network, rather than in response to signaling from a thread of an application.” (Ex.
`
`1010, 7/30/2013 RCE at 31 (emphasis in original).) The applicants’ arguments
`
`leave no room for ambiguity: performing protocol processing in response to
`
`receiving data from the network is not within the scope of the claims.
`
`The specification confirms this conclusion. In particular, the specification
`
`distinguishes performing protocol processing “in response” to signaling from an
`
`application from doing so “in response to receiving data from the network.” For
`
`example, the specification discloses that “protocol processing (typically TCP/IP
`
`and UDP/IP protocol processing) of raw received data… is performed in response
`
`to requests from applications rather than in response to the receipt of data.” (Ex.
`
`1002, ’558 Patent at col. 46, ll. 50–54) (emphasis added). Elsewhere, the
`
`specification discloses:
`
`library does not
`the
`During normal operation
`automatically process received data in response to its
`being written to a buffer or in response to an event being
`added to the event queue. The received data therefore
`
`
`
`11
`
`

`
`Petition for Inter Partes Review of U.S. Patent No. 8,645,558
`
`
`sits in the data buffer without protocol processing being
`performed on it. However, when an application wishes
`to receive data it signals the library … Thus, for received
`data the protocol processing is carried out by the library
`14, at user level, in response to a request or command
`received from an application. It is not driven by the
`receipt of data.
`
`(Id. at col. 45, l. 55–col. 46, l. 8.) (emphasis added)
`
`The specification further describes the various alleged disadvantages to
`
`performing protocol processing “in response to receiving the data from the
`
`network,” further distinguishing that technique from the claimed invention. For
`
`example, the specification discloses:
`
`One significant disadvantage is the need for context
`switching whenever data is received from the NIC.
`When the data is received the processor 5 may be
`executing a program thread. That thread must be
`temporarily suspended and a new thread executed in
`order to allow the operating system to process the
`received data. Then the original thread is resumed. This
`switching of
`threads
`significantly
`reduces
`the
`performance of the data processing system. Another
`issue is that the use of interrupts and system calls for
`signalling [sic] the operating system uses up system
`resources.
`
`
`
`12
`
`

`
`Petition for Inter Partes Review of U.S. Patent No. 8,645,558
`
`(Id. at col. 43, ll. 57–67.) In contrast, the specification discloses several alleged
`
`advantages to instead performing protocol processing in response to requests from
`
`applications:
`
`This can reduce the need for context switching both
`between user and kernel context or between threads in a
`user-level library. Multiple blocks of raw data can be
`received and stored in the data buffers, but protocol
`processing need not be performed after each one arrives.
`Instead, protocol processing can be performed for all
`those blocks together, when initiated by an application's
`request for data. This agglomeration of the protocol
`processing operations also results in a reduction in the
`number of transfers of data between the cache of the
`processor 5 and the data buffers. The system can provide
`these advantages whilst applying the same network
`protocols, packet formats and control plane protocols as
`would be required to communicate with the NIC in a
`prior art system.
`
`(Id. at col. 46, ll. 54–67.)
`
`The applicants consistently distinguished the claimed invention from the
`
`prior art technique of performing protocol processing in response to receiving data
`
`from the network is pervasive. The BRI of the term “in response to signaling from
`
`a thread of the application” accordingly excludes performing protocol processing
`
`“in response to receiving the data from the network.”
`
`
`
`13
`
`

`
`Petition for Inter Partes Review of U.S. Patent No. 8,645,558
`
`VIII.
`
`REASONABLE LIKELIHOOD THAT CLAIMS 1–12 ARE
`UNPATENTABLE
`
`Below is a detailed discussion of why Claims 1–12 are unpatentable.
`
`A. GROUND 1: Claims 1–5, 7, and 10–12 are anticipated by
`Mansley under § 102
`1.
`Mansley discloses a technique for “user-level” protocol processing. (Ex.
`
`Background of Mansley
`
`1003, Mansley, at 8.) The focus of the technique is on the TCP protocol, one of
`
`the protocols expressly addressed by the ’558 Patent. In Mansley, the TCP
`
`protocol is implemented at the application layer, as opposed to the operating
`
`system (or kernel) layer. (Ex. 1001, Jeffay Decl., ¶ 71.) By implementing a TCP
`
`protocol stack at the user-level, Mansley aims to avoid the inefficiencies of
`
`traditional protocol processing, which typically takes place in the operating system.
`
`(Id.) When protocol processing is implemented at the operating system, several
`
`costly mechanisms are required in order to pass the data from the network
`
`interface, to the operating system, and eventually on to the application. (Ex. 1003,
`
`Mansley, at 8.) These include “copying data between buffers, demultiplexing,
`
`interrupts, system calls, and inefficient protocols.” (Id.) The various mechanisms
`
`use up CPU cycles that the system can use for performing work for the
`
`applications. (Id.) “User-level networking has the potential to address many of
`
`these problems.” (Id.) User-level networking enables an application to
`
`
`
`14
`
`

`
`Petition for Inter Partes Review of U.S. Patent No. 8,645,558
`
`communicate the network interface card (“NIC”) directly, bypassing the operating
`
`system, improving efficiency. (Id.; Ex. 1001, Jeffay Decl., ¶ 71.)
`
`Mansley teaches performing two essential operations on each TCP/IP packet
`
`it receives over the network: (1) the packet is “processed by the relevant protocol
`
`stacks”; (2) the data extracted from this processing is “passed to the application”
`
`that it is destined for. (Ex. 1003, Mansley, at 11; Ex. 1001, Jeffay Decl., ¶ 72.) In
`
`order to facilitate interaction between applications and the TCP/IP protocol stack,
`
`Mansley teaches providing an API. (Ex. 1003, Mansley, at 8.) Specifically,
`
`Mansley teaches use of the well-known “sockets” API. (Id. at 10; Ex. 1001, Jeffay
`
`Decl., ¶¶ 40, 73.) This is the same API disclosed as a preferred embodiment in the
`
`’558 Patent. (See Ex. 1002, ’558 Patent at col. 3, ll. 16–21 (“Fig. 2 shows
`
`components implementing a TCP stack for use in accordance with embodiments of
`
`the present invention. Layers of the stack include an application 1 and a socket 2
`
`provided by the socket library. The socket library is an application program
`
`interface (API) for building software applications.”); Ex. 1001, Jeffay Decl., ¶ 46.)
`
`Mansley further teaches that a thread of the application interacts with the
`
`TCP protocol stack (e.g., via sockets API). (Ex. 1003, Mansley, at 10; Ex. 1001,
`
`Jeffay Decl., ¶ 75.) In particular, Mansley teaches that “each application thread
`
`can access the TCP/IP stack directly.” (Ex. 1003, Mansley, at 10.) As a result,
`
`Mansley teaches performing “the majority of [TCP] protocol processing in the
`
`
`
`15
`
`

`
`Petition for Inter Partes Review of U.S. Patent No. 8,645,558
`
`same thread as the application.” (Id.) Mansley explains that “[t]his approach is
`
`becoming popular in other areas of computing where high performance is required.
`
`For example omniORB [33] avoids thread switches on the call path by performing
`
`all work in the calling thread.” (Id. at 10 n1) (emphasis added).
`
`The interaction between the application thread and the TCP stack is
`
`illustrated in Mansley’s Figure 3:
`
`
`(Id. at Figure 3 (depicting data flow from the NIC (Network Interface) through the
`
`TCP/IP stack to a thread of the Application).)
`
`Mansley further teaches performing protocol processing “lazily.” (Id. at 11.)
`
`“Lazy” processing means that protocol processing is done “when the application
`
`asks for it.” (Id.) An advantage of this approach includes “improved cache
`
`performance” because data to be extracted through protocol processing is “touched
`
`by the stack just before the application makes use of it.” (Id.) Petitioner provides
`
`the following graphics to illustrate Mansley’s mechanism.
`
`Step one (Graphic I) - packet is received over the network; protocol
`
`processing has not yet occurred:
`
`
`
`16
`
`

`
`Petition for Inter Partes Review of U.S. Patent No. 8,645,558
`
`
`
`The Network Interface (NIC) stores the packet in a buffer in memory. (See id. at 8
`
`(“[In user-level networking] the NIC is able to deliver received data directly into
`
`the application’s buffer”); 9 (“The buffer for the circular queue physically resides
`
`in the memory of the receiver.”); Ex. 1001, Jeffay Decl., ¶¶ 71, 84.)
`
`Step two (Graphic II) - application thread signals to the TCP stack
`
`requesting available data:
`
`
`
`17
`
`
`
`

`
`Petition for Inter Partes Review of U.S. Patent No. 8,645,558
`
`This is accomplished using the sockets API. (Ex. 1003, Mansley, at 10; Ex. 1001,
`
`Jeffay Decl., ¶¶ 73, 76.) The application signals to the protocol stack using the
`
`select() call. (Ex. 1003, Mansley, at 10.) Specifically, Mansley teaches:
`
`A common criticism of other user level network libraries
`is
`that applications cannot use select() with a
`combination of the user-level socket file descriptors and
`traditional OS file descriptors. In our case this is possible
`due to the way the asynchronous event queues that select
`responses to are implemented . . ., and is invisible to the
`application.
`
`(Id. (emphasis added).) The select() signal is similarly described as a preferred
`
`embodiment in the ’558 Patent. (Ex. 1002, ’558 Patent at col. 44, ll. 49–50.)
`
`Step three (Graphic III) - TCP Stack performs protocol processing (Ex.
`
`1003, Mansley, at 11) in response to the application thread’s signal:
`
`
`
`18
`
`
`
`

`
`Petition for Inter Partes Review of U.S. Patent No. 8,645,558
`
`
`Step four (Graphic IV) - data extracted as a result of the protocol processing
`
`is delivered to the application (Id. at 11):
`
`
`An element-by-element analysis of how Mansley discloses all elements of
`
`Claims 1–5, 7, and 10–12, arranged as claimed, follows.
`
`2.
`
`Claim 1 is anticipated by Mansley
`(a) Preamble: Mansley discloses [A] “[a] data processing
`system for receiving data from a network, and
`processing that data in accordance with a network
`protocol to extract traffic data therefrom”
`
`Mansley discloses “a data processing system” (Mansley’s server) “for
`
`receiving data from a network” (Mansley’s data communicated in a server cluster
`
`network), “and processing that data in accordance with a network protocol to
`
`extract traffic data thereform” (Mansley’s processing received packets in
`
`accordance with the TCP protocol and extracting the data contained in the packet).
`
`
`
`19
`
`

`
`Petition for Inter Partes Review of U.S. Patent No. 8,645,558
`
`
`First, Mansley teaches servers in a server cluster network implementing a
`
`suite of network protocols. (See Ex. 1003, Mansley, at 8, 14 (“We have therefore
`
`created our own testbed to allow direct comparison of different technologies. This
`
`consists of four PCs acting as the server nodes connected via the CLAN switch.”);
`
`Ex. 1001, Jeffay Decl., ¶ 82.)
`
`Second, Mansley teaches that packets received over the network are first
`
`processed by the relevant protocol stack (of the data processing system) in
`
`accordance with a network protocol, such as TCP. (See Ex. 1003, Mansley, at 8,
`
`11 (“For TCP/IP there are essentially two operations that need to be performed on
`
`each packet. * Firstly, it must be processed by the relevant protocol stacks.”); Ex.
`
`1001, Jeffay Decl., ¶ 83.)
`
`Third, as a result of the TCP processing, data (i.e., “traffic data”) is extracted
`
`from the packet and passed to the application. (See Ex. 1003, Mansley, at 11
`
`(“Secondly, if it contains valid data, it must be passed to the application.”), 12 (“
`
`
`
`We also separate the headers from the payloads [of received packets] and
`
`transfer them into two separate queues.”); Ex. 1001, Jeffay Decl., ¶ 83.)
`
`(b) Mansley discloses [B] “a memory”
`Mansley discloses the limitation of “a memory” (Mansley’s “host me

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