throbber
Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`UNITED STATES PATENT AND TRADEMARK OFFICE
`
`BEFORE THE PATENT TRIAL AND APPEAL BOARD
`
`Paper No. 1
`
`MICROSOFT CORPORATION.
`
`Petitioner,
`
`v.
`
`SAINT REGIS MOHAWK TRIBE,
`
`Patent Owner
`
`Patent No. 7,620,800
`
`Issued: November 17, 2009
`
`Filed: April 9, 2007
`
`Inventors: Jon M. Huppenthal, David E. Caliga
`
`Title:
`
`MULTI-ADAPTIVE PROCESSING SYSTEMS AND
`TECHNIQUES FOR ENHANCING PARALLELISM AND
`PERFORMANCE OF COMPUTATIONAL FUNCTIONS
`
`____________________
`
`Inter Partes Review No. IPR2018-01605
`
`PETITION FOR INTER PARTES REVIEW OF U.S. PATENT NO. 7,620,800
`UNDER 35 U.S.C. §§ 311-319 AND 37 C.F.R. § 42.1-.80 & 42.100-.123
`________________________
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`TABLE OF CONTENTS
`
`I.
`
`II.
`
`INTRODUCTION ........................................................................................... 1
`
`COMPLIANCE WITH REQUIREMENTS FOR INTER PARTES
`REVIEW .......................................................................................................... 2
`
`A.
`
`B.
`
`Certification the 800 Patent May Be Contested by Petitioner .............. 2
`
`Fee for Inter Partes Review (§ 42.15(a)) ............................................... 3
`
`C. Mandatory Notices (37 CFR § 42.8(b)) ................................................ 3
`
`D.
`
`Proof of Service (§§ 42.6(e) and 42.105(a)) ......................................... 5
`
`III.
`
`IDENTIFICATION OF CHALLENGED CLAIMS ....................................... 5
`
`IV. RELEVANT INFORMATION CONCERNING THE CONTESTED
`PATENT .......................................................................................................... 6
`
`A.
`
`B.
`
`C.
`
`D.
`
`E.
`
`Effective Filing Date ............................................................................. 6
`
`Level of Ordinary Skill ......................................................................... 6
`
`Overview of 800 Patent ......................................................................... 7
`
`Prosecution History of 800 Patent ......................................................... 9
`
`Claim Construction.............................................................................. 10
`
`1.
`
`2.
`
`3.
`
`4.
`
`5.
`
`6.
`
`“functional unit” ........................................................................ 10
`
`“data driven” ............................................................................. 11
`
`“transforming an algorithm into a data driven calculation” ..... 11
`
`“form” ....................................................................................... 12
`
`“clusters of functional units” .................................................... 14
`
`“data dimension” ....................................................................... 15
`
`i
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`7.
`
`8.
`
`9.
`
`“seamlessly” .............................................................................. 15
`
`“data mining” ............................................................................ 16
`
`“stream communication” .......................................................... 17
`
`V.
`
`OVERVIEW OF SPLASH 2 ......................................................................... 19
`
`A.
`
`General Architecture of Splash 2 .............................................. 19
`
`A.
`
`Systolic Algorithms For Searching Genetic Databases ...................... 21
`
`VI.
`
`PRECISE REASONS FOR REQUESTED RELIEF .................................... 28
`
`A.
`
`Claim 1 is Anticipated by Splash2 ...................................................... 28
`
`1.
`
`Claim 1 is Anticipated .............................................................. 28
`
`B.
`
`Claim 1 is Obvious over Splash2 ........................................................ 46
`
`1.
`
`2.
`
`3.
`
`4.
`
`5.
`
`Considering the Chapters of Splash2 Together ........................ 46
`
`Transforming an Algorithm into a Calculation ........................ 48
`
`Forming ..................................................................................... 50
`
`First Wherein Clause ................................................................. 50
`
`Second Wherein Clause ............................................................ 52
`
`C.
`
`D.
`
`E.
`
`Claim 1 is Obvious over Splash2 in view of Gaudiot ......................... 53
`
`Claims 8 and 9 Are Obvious under Splash2 in view of RaPiD, With or
`Without Gaudiot .................................................................................. 56
`
`Claim 20 is Obvious over Splash2 in view of Jeong, With or Without
`Gaudiot ................................................................................................ 70
`
`VII. CONCLUSION .............................................................................................. 81
`
`ii
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`I.
`
`INTRODUCTION
`
`U.S. Patent No. 7,620,800 (“the 800 Patent”) describes a multiprocessor
`
`computer system for performing systolic, data driven processing on reconfigurable
`
`computing elements, such as FPGAs. The application from which it issued was
`
`filed in 2007.
`
`Systolic data driven processing on multiprocessor systems employing
`
`FPGAs was well known by that time. The principal reference relied on here is a
`
`1996 book describing what is likely the most successful example of such a system,
`
`the Splash 2 computer. See EX1007. Splash 2 was used by numerous scientists
`
`and engineers to carry out various types of processing, including numerous systolic
`
`applications. As demonstrated below, the Splash 2 book discloses details of the
`
`Splash 2 system and of certain processing carried out on that system for the
`
`comparison of genetic sequences that together satisfy each and every element of
`
`numerous claims of the 800 Patent.
`
`One would think that such a seminal prior art reference would have been
`
`provided to the examiner of the 800 Patent, if the applicants had been aware of it.
`
`In fact, they were aware of the book, but provided only a small excerpt to the
`
`examiner. The face of the 800 Patent and its prosecution history demonstrate that
`
`1
`
`
`
`
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`the applicants disclosed only pages 1-11 of the Splash 2 book and a four-page
`
`summary article about Splash 2 and some of its programming, neither of which the
`
`examiner relied on. EX1005, Face; EX1006, 49. Those pages of the book
`
`describe only the background context of custom computing machines and a brief
`
`introduction to Splash 2, EX1007, 1-11, and the article has only a terse few
`
`paragraphs about the programming done on the system, EX1060. A fuller
`
`description of the system architecture and programming of Splash 2 begins on
`
`page 12 of the book, and continues for the next 188 pages, including an entire
`
`chapter – Chapter 8, relied on here – on systolic processing on the Splash 2
`
`computer. EX1007, 12-200.
`
`As demonstrated below, the materials the applicants withheld from the
`
`examiner disclose each and every limitation of numerous claims of the 800 Patent,
`
`and, either alone or in combination with other materials, render all claims
`
`challenged by this Petition unpatentable. Petitioner therefore respectfully requests
`
`the challenged claims be cancelled, for the reasons set forth herein.
`
`II.
`
`COMPLIANCE WITH REQUIREMENTS FOR INTER PARTES
`
`REVIEW
`
`A.
`
`Certification the 800 Patent May Be Contested by Petitioner
`
`2
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`Petitioner certifies it is not barred or estopped from requesting inter partes
`
`review of U.S. Patent No. 7,620,800 (“the 800 Patent”) (EX1005). Neither
`
`Petitioner, nor any party in privity with Petitioner, has filed a civil action
`
`challenging the validity of any claim of the 800 Patent. The 800 Patent has not
`
`been the subject of a prior inter partes review by Petitioner or a privy of Petitioner.
`
`Petitioner also certifies this petition for inter partes review is filed within one year
`
`of the date of service of a complaint alleging infringement of a patent. Petitioner
`
`therefore certifies this patent is available for inter partes review.
`
`B.
`
`Fee for Inter Partes Review (§ 42.15(a))
`
`The Director is authorized to charge the fee specified by 37 CFR § 42.15(a)
`
`to Deposit Account No. 50-1597.
`
`C. Mandatory Notices (37 CFR § 42.8(b))
`
`The real party of interest of this petition is Microsoft Corporation.
`
`(“Microsoft”) located at One Microsoft Way, Redmond, WA 98052. Lead counsel
`
`and backup lead counsel are as follows:
`
`Lead Counsel
`Joseph A. Micallef
`jmicallef@sidley.com
`Reg. No. 39,772
`(202) 736-8492
`
`Backup Lead Counsel
`
`Scott M. Border
`sborder@sidley.com
`(pro hac vice to be requested)
`(202) 736-8188
`
`3
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`Jason Greenhut
`jgreenhut@sidley.com
`Reg. No. 71,657
`(312) 853-2144
`
`Service on Petitioner may be made by e-mail (sidleysrclabsipr@sidley.com),
`
`mail or hand delivery to: Sidley Austin LLP, 1501 K Street, N.W., Washington,
`
`D.C. 20005. The fax number for lead and backup counsel is (202) 736-8711.
`
`The 800 Patent is or has been the subject to, or relates to, the following
`
`proceedings:
`
` SRC Labs, LLC et al v. Microsoft Corporation, WAWD-2-18-cv-
`
`00321
`
` SRC Labs, LLC et al v. Amazon Web Services, Inc et al, WAWD-2-
`
`18-cv-00317
`
` SRC Labs, LLC et al v. Microsoft Corporation, VAED-1-17-cv-01172
`
` SRC Labs, LLC et al v. Amazon Web Services, Inc. et al, VAED-1-17-
`
`cv-01227
`
` SRC Labs, LLC et al v. Amazon Web Services, Inc. et al, VAED-2-17-
`cv-00547
`
` Microsoft Corporation v. Saint Regis Mohawk Tribe, IPR2018-01601
`
` Microsoft Corporation v. Saint Regis Mohawk Tribe, IPR2018-01602
`
` Microsoft Corporation v. Saint Regis Mohawk Tribe, IPR2018-01603
`
`4
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
` Microsoft Corporation v. Saint Regis Mohawk Tribe, IPR2018-01606
`
` Microsoft Corporation v. Saint Regis Mohawk Tribe, IPR2018-01607
`
`D.
`
`Proof of Service (§§ 42.6(e) and 42.105(a))
`
`Proof of service of this petition is provided in Attachment A.
`
`III.
`
`IDENTIFICATION OF CHALLENGED CLAIMS
`
`Claims 1, 8, 9, and 20 of the 800 Patent are unpatentable over the prior art as
`
`follows:
`
`(i)
`
`(ii)
`
`Claim 1 is anticipated by Splash2 (EX1007).
`
`Claim 1 is obvious over Splash2.
`
`(iii) Claim 1 is obvious over Splash2 in view of Gaudiot (EX1010).
`
`(iv) Claims 8 and 9 are obvious over Splash2 in view of RaPiD (EX1009),
`
`with or without Gaudiot.
`
`(v)
`
`Claim 20 is obvious over Splash2 in view of Jeong (EX1061), with or
`
`without Gaudiot.
`
`Petitioner’s proposed construction of the contested claims, the evidence
`
`relied upon, and the precise reasons why the claims are unpatentable are provided
`
`in §§IV-VI, below. The evidence relied upon in this petition is listed in
`
`Attachment B.
`
`5
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`IV. RELEVANT INFORMATION CONCERNING THE CONTESTED
`
`PATENT
`
`A.
`
`Effective Filing Date
`
`Patent Owner has claimed a priority date of October 31, 2002 for the 800
`
`Patent. EX1013, 3. We assume that date in the analysis below.
`
`B.
`
`Level of Ordinary Skill
`
`A person of ordinary skill in the art in the field of the 800 Patent in the 2002
`
`time frame (“a Skilled Artisan”) would have had an advanced degree in electrical
`
`or computer engineering, or computer science with substantial study in computer
`
`architecture, hardware design, and computer algorithms, and at least three years’
`
`experience working in the field. Alternatively, that person would have had a
`
`bachelor’s degree covering those disciplines and at least four years working the
`
`field. Such a person would have been knowledgeable about the programming,
`
`design and operation of computer systems based on reconfigurable components
`
`such as FPGAs (field programmable gate arrays) and CPLDs (complex
`
`programmable logic devices), including computer systems for performing systolic
`
`and data driven calculations. That person would also have been familiar with
`
`hardware description languages such as VHDL that could be used to configure
`
`6
`
`
`
`
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`FPGAs and CPLDs that serve as components of reconfigurable computer systems.
`
`Finally, such a person would also have been familiar with various other areas of
`
`technology that by 2002 had relied on high performance and parallel computing
`
`systems. EX1003¶45.
`
`C. Overview of 800 Patent
`
`The 800 Patent claims a method of using a reconfigurable computing system
`
`to process a “data driven” calculation during which different data dimensions of a
`
`calculation are simultaneously processed by “lines of code” formed as clusters of
`
`functional units. Id., 12:45-13:8; EX1003¶46.
`
`The 800 Patent states that multiprocessor systems using parallel processing
`
`were known, EX1005, 1:44-52, but that “as more and more performance is
`
`required, so is more parallelism, resulting in ever larger systems. Clusters exist
`
`today that have tens of thousands of processors and can occupy football fields of
`
`space. Systems of such a large physical size present many obvious downsides,
`
`including, among other factors, facility requirements, power, heat generation and
`
`reliability.” Id., 1:55-61; EX1003¶47. The patent states that the solution to this
`
`supposed problem is that “a processor technology could be employed that offers
`
`orders of magnitude more parallelism per processor,” EX1005, 1:65-67, and such a
`
`7
`
`
`
`
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`technology exists in the form of “a reconfigurable processor.” Id., 2: 2;
`
`EX1003¶48.
`
`The patent depicts such a technology in Figure 2 (below), showing an
`
`adaptive processor 200 that includes “an adaptive processor chip 202 [that]
`
`incorporates a large number of functional units (‘FU’) 204 interconnected by
`
`reconfigurable routing resources.” EX1005, 5:34-38; EX1003¶49.
`
`
`
`8
`
`
`
`
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`The 800 Patent states that the conventional approach to implementing nested
`
`loops in “a conventional sequential processing operation” is problematic because
`
`“all of the logic that has been instantiated is not being completely utilized.”
`
`EX1005, 5:65-6:10. It states that the solution to this problem “is to have an
`
`application evaluate a problem in a data flow sense. That is, it will ‘pass’ a
`
`subsequent dimension of a given problem through the first loop 412 of logic
`
`concurrently with the previous dimension of data being processed through the
`
`second loop 414.” Id., 6:21-26. The patent further states that “a ‘dimension’ of
`
`data can be: multiple vectors of a problem, multiple planes of a problem, multiple
`
`time steps in a problem and so forth.” Id., 6:25-28; EX1003¶50.
`
`D.
`
`Prosecution History of 800 Patent
`
`The original claims of the 800 Patent application were directed to “a method
`
`for data processing in a reconfigurable computing system” that operates on
`
`different “data dimensions” of a “calculation” using “at least two functional units.”
`
`EX1006, 30. The claims were rejected as obvious over the 324 Patent in view of
`
`Gaudiot. EX1006, 140. The applicant filed a terminal disclaimer in response that
`
`disclaimed any patent term beyond that of the 324 Patent. Id., 150. The claims as
`
`9
`
`
`
`
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`originally filed (with a minor change to claim 30 to correct a rejection for lack of
`
`antecedent basis) were subsequently allowed on June 30, 2009. Id., 165-67.
`
`E.
`
`Claim Construction
`
`Petitioner proposes the constructions of several claim terms set forth below
`
`based on the ordinary meaning to a Skilled Artisan in the context of the patent.
`
`These constructions are within the broadest reasonable interpretation, and are
`
`applied in the analysis below. If Patent Owner contends claim terms should be
`
`read to have a special meaning, those contentions should be disregarded unless
`
`Patent Owner also amends the claims compliant with 35 U.S.C. §112 to make them
`
`expressly correspond to those contentions.
`
`1.
`
`“functional unit”
`
`The phrase “functional unit” should be construed to mean a computational
`
`unit configured to perform a specific task.
`
`The 800 Patent indicates that “functional units” are entities found in both
`
`conventional CPUs and in reconfigurable processors, EX1005, 5:16-28, and
`
`indicates that functional units are dedicated to certain processing tasks, id., 2:2-7;
`
`5:38-50; EX1003¶56. US 6,434,687, incorporated by reference into the 800
`
`Patent, id., 1:14-22, also discloses a processing element (MAP element 112)
`
`10
`
`
`
`
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`characterized as comprising an FPGA used as a “reconfigurable functional unit.”
`
`EX1014, 687 Patent, 5:14-16; EX1003¶57. The phrase “a computational unit
`
`configured to perform a specific task” captures the essence of these disclosures.
`
`EX1003¶58; see also EX1059, 540; EX1003¶59.
`
`2.
`
`“data driven”
`
`In the context of the 800 Patent, the ordinary meaning to a Skilled Artisan of
`
`“data driven” is the scheduling of operations upon the availability of their
`
`operands. See EX1010 at 1220. The specification of the 800 Patent offers no
`
`further explanation of “data driven,” although the term appears in one title among
`
`the citation titles in the front matter of the patent. See EX1034. EX1034 defines
`
`“data driven” to be “that the operation is evaluated when the required operands are
`
`available.” EX1034, 141; EX1003¶60. A Skilled Artisan would understand that
`
`definition to reflect the ordinary meaning of the phrase. Id.
`
`3.
`
`“transforming an algorithm into a data driven calculation”
`
`The phrase “transforming an algorithm into a data driven calculation”
`
`should be construed to mean compiling an algorithm into configuration code
`
`representing computations that process data in a data driven fashion.
`
`11
`
`
`
`
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`The 800 Patent does not use any form of the word “transform” outside the
`
`claims. However, application US 09/755,744, EX1022, incorporated by reference
`
`into the 800 Patent (see EX1005, 1:9-22), relates the process of “transforming an
`
`algorithm” for a reconfigurable computer to a parallelizer that automatically
`
`generates the code to be run on a reconfigurable element. EX1022, 0025. A person
`
`of ordinary skill in the art would have understood that to be a process of compiling
`
`an algorithm into configuration code for a reconfigurable processor. EX1003¶62.
`
`The Skilled Artisan would also have understood the ordinary English
`
`meaning of “a data driven calculation” to be that the transformation produces code
`
`representing computations that process data in a data driven fashion. EX1003¶63.
`
`The Skilled Artisan would therefore have understood “transforming an algorithm
`
`into a data driven calculation” to be “compiling an algorithm into configuration
`
`code representing computations that process data in a data driven fashion.”
`
`EX1017, 84; EX1003¶63-64.
`
`4.
`
`“form”
`
`In the context of the 800 Patent, the ordinary meaning to a Skilled Artisan of
`
`“form” is create, such as by configuring, a particular structure. EX1003, ¶65.
`
`12
`
`
`
`
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`The term “form” is not used in the Specification of the 800 Patent, other than
`
`in the claims. In view of the Specification as a whole, a Skilled Artisan would
`
`have understood the term “form” as used in the claims to be directed to the same
`
`functionality as the term “instantiate” as used in the claims of the 324 Patent, the
`
`parent of the 800 Patent. EX1001, Claims. For example, the 800 Patent discloses
`
`instantiating only those functional units needed to solve a particular problem,
`
`EX1005, 2:2-4, and instantiating at least two functional units, id., 2:52-55.
`
`Similarly, claim 1 of the 800 Patent claims “forming” only those functional units
`
`needed to solve a particular problem, EX1005, 12:55-56, and “forming” at least
`
`two functional units, id., 12:53-54. A Skilled Artisan would reasonably conclude
`
`those disclosures are corresponding to those claimed behaviors. Because both of
`
`these patents are based on the same specification and directed to the same
`
`invention, and that common specification makes no distinction between
`
`“instantiate” and “form,” a Skilled Artisan would reasonably conclude that the two
`
`claim words are intended to be directed to the same functionality. EX1003, ¶66.
`
`Further, the Patent Owner seems to have replaced the word “instantiate” in,
`
`for example, claim 1 of the 324 Patent with the word “form” in claim 1 of the 800
`
`Patent. Compare EX1001, 12:55-13:19; EX1005, 12:45-13:8. Indeed, claim 15 of
`
`13
`
`
`
`
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`the 800 Patent, which depends from claim 1, still includes the word “instantiating,”
`
`even though that verb does not appear in claim 1, which suggests that the Patent
`
`Owner was simply swapping the word “forming” in for the word “instantiating”
`
`and missed claim 15. The prosecution history thus also indicates that “forming” is
`
`directed to the same functionality as the word “instantiating.” EX1003, ¶67.
`
`In response to an Examiner’s request for a definition of “instantiate” during
`
`the processing of the 324 Patent, the patentee responded: “A reconfigurable
`
`processor is essentially a blank processor that must be configured (instantiated) to
`
`conduct a particular task. To instantiate means to create such an instance or
`
`configuration by, for example, defining one particular variation of the processor's
`
`structure.” EX1002, 216; EX1003, ¶68. A Skilled Artisan would therefore have
`
`understood the applicant’s reply to have defined the term “instantiate” to mean
`
`“create, such as by configuring, a particular structure” because it parenthetically
`
`equates “instantiation” with configuration. EX1003¶69.
`
`The construction applied here is consistent with the Patent Owner’s
`
`interpretation of the same term in District Court. EX1069, 31. The Board should
`
`therefore apply this interpretation.
`
`5.
`
`“clusters of functional units”
`
`14
`
`
`
`
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`The term “clusters of functional units” should be construed to mean groups
`
`of functional units.
`
`The 800 Patent specification uses the word “cluster” to refer generically to a
`
`group. EX1005, 1:53-58. One of ordinary skill in the art would also have
`
`understood the ordinary English meaning of “cluster” to be “group.” EX1023;
`
`EX1003¶¶71-72.
`
`6.
`
` “data dimension”
`
`The term “data dimension” should be construed to mean multiple vectors of
`
`a problem, multiple planes of a problem, multiple time steps in a problem and so
`
`forth. The 800 Patent defines this claim term in this manner. EX1005, 6:25-26 (“In
`
`practice, a ‘dimension’ of data can be: multiple vectors of a problem, multiple
`
`planes of a problem, multiple time steps in a problem and so forth.”); EX1003¶74.
`
`7.
`
`“seamlessly”
`
`The term “pass computed data seamlessly between said computational
`
`loops” should be construed to mean to communicate computed data directly
`
`between functional units that are calculating computational loops.
`
`The term “seamlessly” is not used in the Specification of the 800 Patent,
`
`other than in the claims. During prosecution of the parent 324 Patent, the patentees
`
`15
`
`
`
`
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`identified “seamlessly” with the passing of data directly (“passed as input data”)
`
`from one compute loop of a systolic array to a neighboring loop of the array. See
`
`EX1002, 226; EX1003¶76. A Skilled Artisan would have understood the term
`
`“flow seamlessly” as used in the quote from the file history of the 324 Patent to
`
`mean that data is communicated directly between functional units. In view of the
`
`Specification as a whole, a Skilled Artisan would have also understood the term
`
`“flow seamlessly” to mean that data is communicated directly between functional
`
`units in the Claims of the 800 Patent. EX1003¶77.
`
`8.
`
`“data mining”
`
`The term “data mining” should be construed to mean the process of
`
`discovering useful and previously unknown information in large databases.
`
`EX1003¶78.
`
`The specification of the 800 Patent discusses “data mining” in only a single
`
`passage, and does not define it. EX1005, 11:6-18; EX1003¶79. In that passage,
`
`the 800 Patent discloses the use of statistics (correlation) to search through a
`
`database as a characteristic of the data mining applications to which the patent is
`
`directed. EX1003¶80. Obviously, the information sought is unknown, or the
`
`search would not be useful.
`
`16
`
`
`
`
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`This description is consistent with other definitions of the term “data
`
`mining,” including “the process of collecting, searching through, and analyzing a
`
`large amount of data in a database, as to discover patterns or relationships,”
`
`EX1026, and “the practice of searching through large amounts of computerized
`
`data to find useful patterns or trends,” EX1027. See EX1024, 1; EX1025, 132;
`
`EX1026; EX1003¶¶81-83. Each is directed to essentially the same concept. A
`
`Skilled Artisan would therefore have understood “data mining” to mean the
`
`process of discovering useful and previously unknown information in large
`
`databases. EX1003¶84.
`
`9.
`
` “stream communication”
`
`The term “stream communication” is not used in the 800 Patent except in its
`
`claims, nor is it used in the incorporated references. However, the notion of
`
`“stream of operands” is used in the incorporated reference US 6,434,687 to
`
`Huppenthal at 9:12-14 (EX1014). A Skilled Artisan would understand this use of
`
`“stream” to mean “sequence,” and therefore would understand “stream
`
`communication” to mean “communication of a data sequence.” This is consistent
`
`with the use of “stream of operands” in EX1014. It is also consistent with the
`
`17
`
`
`
`
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`discussion of communication of data sequentially in a systolic wall of data with
`
`respect to Fig. 7C, reproduced below.
`
`With reference additionally now to FIG. 7C, the creation of a
`
`systolic wall 712 of computation at Time Set 1 is shown. The
`
`systolic wall 712 has been started for a vertical wall of cells and
`
`
`
`18
`
`
`
`
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`communication of values between adjacent rows 718 through 724
`
`in the vertical wall can occur without storing values to memory.
`
`EX1005, 8:1-6; EX1003¶95.
`
`
`
`V. OVERVIEW OF SPLASH 2
`
`A. General Architecture of Splash 2
`
`The book Buell et al., Splash 2, FPGAs in a Custom Computing Machine
`
`(1996) (“Splash2”) (EX1007) was published in 1996 by the IEEE and describes the
`
`Splash 2 reconfigurable computing system developed at the Supercomputing
`
`Research Center in the early 1990s. EX1007, Preface, 4. It was publicly available
`
`to interested members of the public at least as early as 1996, when it was shelved at
`
`the MIT library, EX1065, ¶¶8-12; EX1066, ¶¶75, 80-82, and at the Library of
`
`Congress, EX1007, 4. Specifically, it was received by MIT on August 8, 1996,
`
`and catalogued by October 3, 1996. EX1065,¶¶8-9; EX1066, ¶¶75, 81. It was also
`
`received by the Library of Congress by late September 1996 and catalogued
`
`thereafter, and registered for copyright at the Copyright Office on May 8, 1997.
`
`EX1007, 6; EX1070. EX1007, the Library of Congress version, is a copy of the
`
`same Splash2 book on the shelves at MIT. EX1066, ¶77. It is thus prior art to the
`
`19
`
`
`
`
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`324 Patent under 35 U.S.C. § 102(a) and (b). See also Power Integrations, Inc., v.
`
`Semiconductor Components Industries, LLC, IPR2018-00377, Paper No. 10, *10
`
`(July 17, 2018) (IPR petitioners permitted to rely on IEEE publication date)
`
`
`
`The book depicts the overall system architecture as including a Sparc host
`
`computer and a number of “array boards.” EX1007, 12-13; EX1003¶96.
`
`Each array board contained 17 Xilinx XC4010 FPGA chips, with X0-X16
`
`
`
`designating the FPGAs.
`
`20
`
`
`
`
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`
`
`Each Xilinx FPGA, moreover, contained a 20x20 array of Configurable Logic
`
`Blocks (“CLBs”). EX1007, 4, 11, 11-13, 16; EX1003¶¶97-101.
`
`Splash 2 array boards were configured for a specific set of operations using
`
`VHDL and modern CAD design tools to create a “behavioral description[] of
`
`algorithms” that eventually would be compiled into “a loadable FPGA object
`
`module,” which object module was then loaded into the FPGAs to form the
`
`necessary registers, logic units etc. EX1007, xiii, 46-78; EX1035, 6-6, 6-8, 6-48,
`
`6-60, 6-62; EX1003¶¶102-103.
`
`A.
`
`Systolic Algorithms For Searching Genetic Databases
`
`Splash2 describes various algorithms that were executed on the Splash 2
`
`system, including algorithms for searching genetic databases, fingerprint matching
`
`and image processing. See EX1007, 77-165; EX1003¶104. Chapter 8 of Splash2
`
`21
`
`
`
`
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`describes “two systolic array architectures for [genetic] sequence comparison and
`
`their implementations on the Splash 2 programmable logic array.” EX1007, 97.
`
`The book explains that in comparing genetic sequences in the context of a
`
`search, “it is useful to quantify their similarity in terms of a distance measure.” Id.,
`
`98. It states that an “edit distance” – defined as “the minimum cost of
`
`transforming one sequence to the other” – can be calculated based on assigning
`
`values to different types of changes (edits) to one sequence in order to make it look
`
`like another sequence. Id. EX1003¶105. Splash2 states that “[t]he edit distance
`
`can be computed with a well-known dynamic programming algorithm” described
`
`in a prior publication by Sankoff and Kruskal (“the Edit Distance Algorithm”).
`
`EX1007, 98, and describes that algorithm in detail, id., 98-100; EX1003¶¶106-108.
`
`Splash2 describes two different systolic architectures, one bidirectional and one
`
`unidirectional, to implement the Edit Distance Algorithm. EX1007, 100-07;
`
`EX1003¶109.
`
`a.
`
`Bidirectional Systolic Array
`
`The first is based on a bidirectional systolic array of multiple processing
`
`elements (rectangular boxes, sometimes referred to as “PEs”), as shown in Figure
`
`8.5:
`
`
`
`
`
`22
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`
`
`EX1007, 101; EX1008, 363-76; EX1003¶110.
`
`For this implementation of the Edit Distance Algorithm, two genetic
`
`sequences (source and target) are shifted in opposite directions through multiple
`
`processing elements of the Splash 2 system. Each processing element calculates an
`
`edit distance for the characters within it at a particular shift and provides the result
`
`as an output to the next processing element on a “distance stream.” EX1007,
`
`100-02, 104; EX1003¶¶111-112.
`
`Splash2 depicts a processing element used in this implementation for the
`
`Edit Distance Algorithm in Figure 8.6, showing characters from the source
`
`sequence being input (“SCin”) and output (“SCout”), the source distance stream
`
`23
`
`
`
`
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`being input (“SDin”) and output (“SDout”), characters from the target sequence
`
`being input (“TCin”) and output (“TCout”) and the target distance stream being
`
`input (“TDin”) and output (“TDout”).
`
`
`
`EX1007, 101; EX1003¶112.
`
`Splash2 also discloses in Figure 8.7 the code executed by each processing
`
`element in this implementation, which includes a loop for computing the edit
`
`distance (i.e., the minimum cost of transforming one sequence to the other)
`
`between characters:
`
`24
`
`
`
`
`
`

`

`Petition for Inter Partes Review of U.S. Patent No. 7,620,800
`
`
`
`EX1007, 101; EX1003¶113.
`
`b.
`
`Unidirectional Systolic Array
`
`Splash2 also describes a unidirectional systolic array for calculating edit
`
`distance. EX1007, 103-04; EX1003¶114. The data flow through the array, and the
`
`operation of a “tag stream” is set forth in Figure 8.9.
`
`25
`
`
`
`
`
`

`

`Petition for Inter Partes Review

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