throbber
Case 1:03-cv-00440-WY-DLM Document 443 Filed 01/11/11 Page 1 of 59 PageID #: 8798
`
`JAN 11 7":')
`
`UNILOC USA, INC. AND UNILOC SINGAPORE
`PRIVATE LIMITED,
`Plaintiffs-Appellants,
`v.
`MICROSOFT CORPORATION,
`Defendant-Cross Appellant.
`
`2010-1035, -1055
`
`Appeal from the United States District Court for the
`District of Rhode Island in Case No. 03-CV-0440, Judge
`William E. Smith.
`
`Decided: January 4,2011
`
`DONALD R. DUNNER, Finnegan, Henderson, Farabow,
`Garrett and Dunner, LLP, of Washington, DC, argued for
`plaintiff-appellant. With him on the brief were DON O.
`BURLEY; ERIK R. PUKNYS and AARON J. CAPRON, of Palo
`Alto, California. Of counsel on the brief were PAUL J.
`HAYES and DEAN G. BOSTOCK, Mintz, Levin, Cohn, Ferris,
`Glovsky & Popeo PC, of Boston, Massachusetts
`
`Petitioners Ex. 1010 Page 1
`
`

`
`Case 1:03-cv-00440-WY-DLM Document 443 Filed 01/11/11 Page 2 of 59 PageID #: 8799
`
`UNILOC USA v. MICROSOFT
`
`2
`
`FRANK E. SCHERKENBACH, Fish and Richardson p.e.,
`of Boston, Massachusetts, argued for defendant-cross
`appellant. With him on the brief were KURT L.
`GLITZENSTEIN;
`JOHN W. THORNBURGH, of San Diego,
`California and LAURA R. BRADEN, of Washington, DC.
`
`Before RADER, Chief Judge, LINN and MOORE, Circuit
`Judges.
`
`LINN, Circuit Judge.
`Uniloc USA, Inc. and Uniloc Singapore Private Lim(cid:173)
`ited (collectively, "Uniloc") appeal from the decision of the
`United States District Court for the District of Rhode
`Island granting Microsoft Corporation's
`(''Microsoft'')
`motion for judgment as a matter of law ("JMOL") of non(cid:173)
`infringement of asserted
`infringement and no willful
`claims of Uniloc's U.S. Patent No. 5,490,216 ('''216 pat(cid:173)
`in the alternative, granting a new trial on
`ent"), and,
`infringement and willfulness. Uniloc USA, Inc. v. Micro(cid:173)
`soft Corp., 640 F. Supp. 2d 150 (D.R.I. Sept. 29, 2009)
`("Uniloc Ir'). Uniloc also appeals the district court's
`alternative grant of a new trial on damages. Microsoft
`cross-appeals the district court's denial of its motion for
`JMOL ofinvalidity of the '216 patent. Id. at 179-83.
`Because the jury's verdict on infringement was sup(cid:173)
`this court reverses the
`ported by substantial evidence,
`district court's grant of JMOL of non-infringement; this
`court also reverses the district court's alternative grant of
`a new trial on infringement as an abuse of discretion.
`Because the jury's verdict on willfulness was not sup(cid:173)
`this court affirms the
`ported by substantial evidence,
`district court's grant of JMOL of no willfulness; the dis(cid:173)
`trict court's alternative grant of a new trial for willfulness
`
`Petitioners Ex. 1010 Page 2
`
`

`
`Case 1:03-cv-00440-WY-DLM Document 443 Filed 01/11/11 Page 3 of 59 PageID #: 8800
`
`3
`
`UNILOC USA v. MICROSOFT
`
`is thus rendered moot. Because the jury's damages award
`was fundamentally tainted by the use of a legally inade(cid:173)
`quate methodology, this court affirms the grant of a new
`trial on damages. Finally, because the district court did
`not abuse its discretion in determining that the jury
`verdict of no invalidity of the '216 patent was supported
`by substantial evidence, we affirm the district court's
`denial of Microsoft's motion for JMOL of invalidity.
`
`1. BACKGROUND
`
`Commercial software manufacturers like Microsoft
`lose significant sales as a result of the "casual copying" of
`software, where users install copies of a software program
`on multiple computers in violation of applicable software
`license conditions. Uniloc's '216 patent was an early
`attempt to combat such software piracy. There is no
`dispute as to the actual functioning of Uniloc's patented
`invention and Microsoft's accused products. The following
`background information is taken from the district court's
`opinion. Uniloc II, 640 F. Supp. 2d 150.
`A. The '216 Patent
`
`Uniloc's '216 patent is directed to a software registra(cid:173)
`tion system to deter copying of software. The system
`allows the software to run without restrictions (in "use
`mode") only if the system determines that the software
`installation is legitimate. A representative embodiment
`functions as follows. First, a user intending to use the
`software in "use mode" enters certain user information
`when prompted, which may include a software serial
`number and/or name and address information. An algo(cid:173)
`rithm on the user's computer (a "local licensee unique ID
`generating means") combines the inputted information
`into "a registration number unique to an intending licen(cid:173)
`see" (a "local licensee unique ID").
`'216 patent, Abstract.
`The user information is also sent to the vendor's system,
`
`Petitioners Ex. 1010 Page 3
`
`

`
`Case 1:03-cv-00440-WY-DLM Document 443 Filed 01/11/11 Page 4 of 59 PageID #: 8801
`
`UNILOC USA v. MICROSOFT
`
`4
`
`,
`I
`,
`
`totAL UCOISEE LOC:ATIDJI
`,
`I
`ImJlIW. .'
`...... ~ c.RI'
`
`which performs the identical algorithm (a "remote licen(cid:173)
`see unique ID generating means") to create a "remote
`licensee unique ID" for the user. When the application
`boots again, a "mode switching means" compares the local
`If they match, the pro(cid:173)
`and remote licensee unique IDs.
`If they do not match, the
`gram enters into "use mode."
`program enters into "demo mode," wherein certain fea(cid:173)
`tures are disabled. Figure 8 from the '216 patent shows
`the fifth preferred embodiment:
`r-------------,
`i·1 &;J·.mJ Ii
`. ,
`,
`I
`I
`
`.
`
`-,
`
`I
`
`,
`~
`
`I
`
`,II,I
`
`_
`
`,I,,IL
`
`.,
`
`fI
`
`II
`
`'216 patent, Fig. 8.
`Uniloc asserts only independent claim 19:
`19. A remote registration station incorpo(cid:173)
`rating remote licensee unique ID generat-
`
`Petitioners Ex. 1010 Page 4
`
`

`
`Case 1:03-cv-00440-WY-DLM Document 443 Filed 01/11/11 Page 5 of 59 PageID #: 8802
`
`5
`
`UNILOC USA v. MICROSOFT
`
`ing means, said station forming part of a
`registration system for licensing execution
`of digital data in a use mode, said digital
`data executable on a platform, said system
`including local licensee unique ID generat(cid:173)
`ing means, said system further including
`mode switching means operable on said
`platform which permits use of said digital
`data in said use mode on said platform
`only if a licensee unique ID generated by
`said local liceI:lsee unique ill generating
`means has matched a licensee unique ID
`generated by said remote licensee unique
`ID generating means; and wherein said
`ID generating
`licensee unique
`remote
`means comprises software executed on a
`the algorithm
`platform which includes
`utilized by said local licensee unique ID
`generating means to produce said licensee
`unique ID.
`'216 patent, col. 15 1.21 - col. 161.9 (emphasis added).
`B. The Accused Product
`The accused product is Microsoft's Product Activation
`feature that acts as a gatekeeper to Microsoft's Word XP,
`Word 2003, and Windows XP software programs. Upon
`the user
`receipt of Microsoft's retail software program,
`must enter a 25-character alphanumeric product key
`retail
`contained within the packaging of Microsoft's
`products. If the Key is valid, the user is asked to agree to
`the End User License Agreement (UEULA"), by which the
`licensor-licensee relationship is initiated.
`At about this time, the software creates a Product ID
`(UPID") and a Hardware ID (UHWID") on the user's com(cid:173)
`puter. The PID is formed from the combination of the
`
`Petitioners Ex. 1010 Page 5
`
`

`
`Case 1:03-cv-00440-WY-DLM Document 443 Filed 01/11/11 Page 6 of 59 PageID #: 8803
`
`UNILOC USA v. MICROSOFT
`
`6
`
`information from the software CD, and a
`Product Key,
`random number from the user's computer. The HWID is
`generated from information about the user's computer.
`The user may use the software without initiating Product
`Activation, but such use is temporally limited (50 start(cid:173)
`ups of Office and 30 days use of Windows until basic
`functions like saving and printing are deactivated) and
`functionally limited (no updates can be downloaded and
`installed). If the user elects to initiate Product Activation,
`the software sends a digital license request to Microsoft
`over the internet, wh!ch includes: the PID,
`the HWID,
`and additional activation information. At Microsoft's
`remote location,
`this information is entered into one of
`two software algorithms: the MD5 message digest algo(cid:173)
`rithm (''MD5'') for Office products and the SHA-1 secure
`hash algorithm ("SHA-l") for Windows products. 1
`The functionality of the MD5 and SHA-1 algorithms is
`at the heart of this case. As the district court noted,
`Microsoft's expert, Dr. Wallach, provided a demonstrative
`animation, which gives a clear, detailed, an<;l uncontested
`explanation of the functionality of these algorithms. The
`animation and the explanation of it given by Dr. Wallach
`at the trial (Trial Tr. 157:21-166:3, Mar. 31, 2009) may be
`downloaded at http://oralarguments.cafc.uscourts.gov/ani
`mationIUniloc.2010-1035.Animation.pdf. The first frame
`is explained below.
`
`1 As discussed in the animation referred to, in(cid:173)
`fra, the only differences between MD5 and SHA-1 are the
`added logical operation group and shifting step in SHA-l.
`Throughout this litigation, the two algorithms have been
`treated as functionally identical for infringement pur(cid:173)
`poses. For ease of presentation, this opinion discusses
`only the MD5 algorithm, but it is uncontested that the
`same analysis applies to both.
`
`Petitioners Ex. 1010 Page 6
`
`

`
`Case 1:03-cv-00440-WY-DLM Document 443 Filed 01/11/11 Page 7 of 59 PageID #: 8804
`
`7
`
`UNILOC USA v. MICROSOFT
`
`First, A, B, C, and Dare 32-bit numbers and F, G, H,
`and I are logical operations into which the numbers B, C,
`and
`D
`are
`entered.
`For
`example,
`F(x, y, z) = (x AND y) OR «NOT x) AND z). Thus, if B, C,
`and Dare 0, 1, 1, respectively, F(O, 1, 1) = 1. The result is
`that three 32-bit numbers are compressed into a single
`32-bit number.
`Second,
`the resulting number is added to A using
`modular addition. Modular addition is a way of adding
`that resets the count of a sum after a certain threshold
`number is reached. The most familiar example is the
`American A.M.lP.M. clock system. If a three hour movie
`begins at 11:00 A.M., it will end at 2:00 P.M. This is an
`example of mod12 addition: one first adds 11+3=14 then
`subtracts 12 to get 2. Modular addition, or modulo(cid:173)
`addition, is used throughout the MD5 algorithm.
`
`Petitioners Ex. 1010 Page 7
`
`

`
`Case 1:03-cv-00440-WY-DLM Document 443 Filed 01/11/11 Page 8 of 59 PageID #: 8805
`
`UNILOCUSA v. MICROSOFT
`
`8
`
`Third, M1, the first component of the source message
`being hashed, is modulo-added to the result from step 2.
`Fourth, additive constant Ki is modulo-added to the
`result from step 3.
`Fifth, the resulting number is "circular shifted" (ac(cid:173)
`cording to Microsoft) or "left shifted" (according to Dniloc);
`the shift is depicted by the green box with the three
`arrows in th~ diagram. Because the actual functionality
`is not disputed, we will refer to it as "circular shifting" for
`the purposes of this opprion. Inserting into the shifter the
`binary number 0100 1011 2 (which is the binary equiva(cid:173)
`lent of 75), and shifting it by 1 place would yield 1001
`0110 (which is the binary equivalent of 150). The result
`of this operation is a multiplication by two for each single
`If the number is again shifted (or if the origi(cid:173)
`unit shift.
`nal shift was by 2 places), the output becomes 0010 1101
`(which is the binary equivalent of 45). Because a single 8(cid:173)
`bit string cannot represent numbers larger than 255
`(1111 1111), such numbers are represented in mod255;
`thus the 300 expected from multiplying 150 by 2, becomes
`45 in mod255 (300-255).
`Sixth, the resulting number is then modulo-added to
`initial value B, which final number becomes the new
`value B'.
`Initial value C becomes new value D', D be(cid:173)
`comes A', and A becomes B'. The hashing algorithm is
`then run again using these new values (A', B', C', D') in
`place of the old (A, B, C, D) and the second component of
`the message (M2) in place of the first (M1). After sixteen
`rounds of this, a different logical function, G(x, y, z) is
`used, and the same message string is input in a different
`
`For demonstration purposes, we use an 8-bit
`2
`number, though the MD5 algorithm uses a 32-bit number.
`Four of the characters are italicized to demonstrate the
`effect of the circular shifter.
`
`Petitioners Ex. 1010 Page 8
`
`

`
`Case 1:03-cv-00440-WY-DLM Document 443 Filed 01/11/11 Page 9 of 59 PageID #: 8806
`
`9
`
`UNILOC USA v. MICROSOFT
`
`order. The function G is used for sixteen rounds, followed
`by sixteen rounds of function H and sixteen rounds of
`function I. The end result is a "license digest," i.e. "a
`shortened fixed·bit output," Uniloc II, 640 F. Supp. 2d at
`157, derived from the original message.
`Microsoft encrypts this digest, and sends it along with
`the original data back to the user's computer. The soft(cid:173)
`ware on the user's computer decrypts the message and
`It then inputs the original
`recovers the "license digest."
`the PID, HWID, and additional activation in(cid:173)
`data (i.e.
`formation) and enters it into the same MD5 or SHA-1
`algorithm used by Microsoft's computers, resulting in a
`local "license digest." Microsoft's Product Activation
`software compares the local license digest and the remote
`is
`the software product
`if they match,
`license digest;
`the software returns to pre(cid:173)
`If they do not,
`activated.
`Product Activation mode.
`C. Procedural History
`In the first iteration of this case, the district court is(cid:173)
`sued a claim construction ruling, construing several terms
`that are relevant to the instant appeal. Uniloc USA, Inc.
`v. Microsoft Corp., 447 F. Supp. 2d 177 (D.R.I. 2006)
`("Uniloc I Claim Construction"). These appear below.
`
`Petitioners Ex. 1010 Page 9
`
`

`
`Case 1:03-cv-00440-WY-DLM Document 443 Filed 01/11/11 Page 10 of 59 PageID #: 8807
`
`UNIWC USA v. MICROSOFT
`
`10
`
`"Licensee unique
`ID"
`"Local licensee
`unique ID generat-
`ing means" and
`"Remote licensee
`unique ID generat-
`ing means"
`"Use mode"
`
`''Mode switching
`means"
`
`"Registration
`system"
`
`"A unique identifier associated with
`a licensee." Id. at 183.
`Means plus function. "Function: to
`generate a local or remote licensee
`unique ID" and "Structure: a sum-
`mation algorithm or a summer and
`equivalents thereof." Id. at 190.
`
`"A mode that allows full use of the
`digital data or software in accor-
`dance with the license." Id. at 196.
`Means plus function. "Function: to
`permit the digital data or software
`to run in a use mode if the locally
`generated licensee unique ID
`matches with the remotely gener-
`ated licensee unique ID." and
`"Structure: program code which
`performs a comparison of two
`numbers or a comparator and
`equivalents thereof." Id. at 198
`(synonyms in the claim construction
`not relevant to the claim at issue
`are removed for simplicity).
`"A system that allows digital data
`or software to run in a use mode on
`a platform if and only if an appro-
`priate licensing procedure has been
`followed." Id. at 202.
`
`The district court granted summary judgment of non(cid:173)
`infringement, Uniloc USA, Inc. v. Microsoft Corp., No. 03(cid:173)
`440 (D.R.I. Oct. 19, 2007), concluding that the algorithm
`used at Microsoft's remote station to generate a licensee
`
`Petitioners Ex. 1010 Page 10
`
`

`
`Case 1:03-cv-00440-WY-DLM Document 443 Filed 01/11/11 Page 11 of 59 PageID #: 8808
`
`11
`
`UNILOC USA v. MICROSOFT
`
`unique ID was not identical to the algorithm used on the
`user's local station as required by the last limitation in
`the claim. Id. at 24.
`.
`On appeal, this court reversed and remanded the find(cid:173)
`ing of non-infringement, holding that Uniloc had put forth
`"extensive and by no means conclusory" evidence that
`Microsoft's Product Activation used the same algorithm at
`the local and remote sites (respectively, the "local licensee
`unique ID generating means" and "remote licensee unique
`ID generating means"), and that the issue of whether the
`accused products met this limitation should have gone to
`the jury. Uniloc USA, Inc. v. Microsoft Corp., 290 Fed.
`App'x 337, 343 (Fed. Cir.
`2008)
`(non-precedential)
`(" Uniloc I').
`In that appeal, Microsoft presented several
`alternative grounds for affirmance,
`including several
`arguments centered around the lack of any information in
`that is "uniquely associated with the person" that results
`in a "licensee unique ID." Br. of Microsoft Corp. at 37-53,
`Uniloc I (Mar. 19, 2008). This court held that "the licen(cid:173)
`see unique ID does not require personal
`information
`about the user," so long as it is "unique," and not "based
`solely on platform-related user information." Uniloc I,
`290 Fed. App'x at 342-43. We explicitly noted that the
`specification of the '216 patent "leave[s] open the possibil(cid:173)
`ity that vendor-provided information,
`like Microsoft's
`Product Key, could be the basis for a 'licensee unique ID.'"
`Id. at 344. Microsoft also argued that Product Activation
`lacked a "licensee unique ID generating means." This
`court summarily rejected that argument, noting that "[w]e
`have considered these arguments
`[for affirmance on
`alternative grounds] and conclude they are without
`merit." Id. at 342.
`On remand, the district court first rejected several in
`limine motions, including a motion by Microsoft to exclude
`any testimony by Uniloc's damages expert, Dr. Gemini,
`
`Petitioners Ex. 1010 Page 11
`
`

`
`Case 1:03-cv-00440-WY-DLM Document 443 Filed 01/11/11 Page 12 of 59 PageID #: 8809
`
`UNILOC USA v. MICROSOFT
`
`12
`
`under Daubert v. Merrell Dow Pharmaceuticals, Inc., 509
`U.S. 589 (1993) and Federal Rule of Evidence 702, for his
`use of an allegedly arbitrary baseline rate of $10-per(cid:173)
`activation, and the use of a 25 percent rule of thumb.
`Uniloc USA, Inc. v. Microsoft Corp., 632 F. Supp. 2d 147,
`150-51 (D.R.I. Mar. 16, 2009) ("In Limine"). After a full
`trial, the jury returned a verdict of infringement and no
`invalidity of claim 19 of the '216 patent, and found Micro(cid:173)
`soft's infringement to be willful. The jury awarded Uniloc
`$388 million in damages. In post trial motions, Microsoft
`asked for: (1) JMOL of invalidity due to anticipation and
`obviousness; (2) JMOL of non-infringement of the "licen(cid:173)
`see unique ID generating means" and "registration sys(cid:173)
`tem"l"mode switching means" limitations; (3) JMOL of
`non-infringement because Microsoft could not have di(cid:173)
`rectly infringed the system because claim 19 requires acts
`to be taken on the user's local computer over which Micro(cid:173)
`soft has no control; (4) JMOL of no willfulness; (5) a new
`trial on damages for the improper use of the 25% rule of
`thumb and the entire market value rule; and (6) in the
`alternative, a new trial on infringement and· willfulness.
`in a comprehensive and well(cid:173)
`The district court,
`reasoned opinion, denied JMOL of invalidity, granted
`JMOL of non-infringement on the basis of both contested
`claim limitations, granted JMOL of no willfulness,
`granted a new trial on damages on the improper use of
`the entire market value rule, rejected Microsoft's argu(cid:173)
`ments regarding the 25 percent rule of thumb as having
`been previously decided, Uniloc II, 640 F. Supp. 2d at 184
`and n.42, and granted in the alternative a new trial on
`infringement and willfulness.
`The district court also
`considered and rejected Microsoft's contentions that it
`could not directly infringe the asserted claims.
`The
`details of the district court's opinion are discussed more
`fully below.
`
`Petitioners Ex. 1010 Page 12
`
`

`
`Case 1:03-cv-00440-WY-DLM Document 443 Filed 01/11/11 Page 13 of 59 PageID #: 8810
`
`13
`
`UNILOC USA v. MICROSOFT
`
`Uniloc appeals all but the denial of JMOL of invalid(cid:173)
`ity, which Microsoft cross-appeals. We have jurisdiction
`under 28 U.S.C. § 1295(a)(1).
`II. DISCUSSION
`
`A. Infringement
`
`To prove infringement, the plaintiff bears the burden
`of proof to show the presence of every element or its
`equivalent in the accused device. Lemelson v. United
`States, 752 F.2d 1538, 1551 (Fed. Cir. 1985). The under(cid:173)
`lying infringement issue is a question of fact reviewed for
`substantial evidence. Finisar Corp. v. DirecTV Group,
`Inc., 523 F.3d 1323, 1332 (Fed. Cir. 2008).
`This court's review of a district court's grant of JMOL
`Union Carbide
`is governed by regional circuit
`law.
`Chems. & Plastics Tech. Corp. v. Shell Oil Co., 425 F.3d
`1366, 1372 (Fed. Cir. 2005). The First Circuit reviews a
`district court's denial of JMOL after a jury verdict de
`novo, asking whether "the evidence points so strongly and
`overwhelmingly in favor of the moving party that no
`reasonable jury could have returned a verdict adverse to
`that party." Keisling v. Ser-Jobs for Progress, Inc., 19
`F.3d 755, 759-60 (1st Cir. 1994). This court may not
`evaluate "the credibility of witnesses, resolve conflicts in
`testimony, or evaluate the weight of the evidence," but
`must view the evidence in the light most favorable to
`Uniloc. Gibson v. City of Cranston, 37 F.3d 731, 735 (1st
`Cir. 1994).
`Microsoft argues that because there is no dispute
`about how the accused products work,
`infringement
`should be reviewed de novo. Br. of Microsoft Corp. at 18,
`22-23 (citing Athletic Alts., Inc. v. Prince Mfg., Inc., 73
`F.3d 1573, 1578 (Fed. Cir. 1996) ("Where, as here, the
`parties do not dispute any relevant facts regarding the
`
`Petitioners Ex. 1010 Page 13
`
`

`
`Case 1:03-cv-00440-WY-DLM Document 443 Filed 01/11/11 Page 14 of 59 PageID #: 8811
`
`UNILOC USA v. MICROSOFT
`
`14
`
`accused product but disagree over which of two possible
`meanings of Claim 1 is the proper one, the question of
`literal infringement collapses to one of claim construction,
`and should thus be reviewed de novo.") and General Mills,
`Inc. v. Hunt-Wesson, Inc., 103 F.3d 978, 983 (Fed. Cir.
`It is well-settled that infringement is a
`1997) (similar)).
`reviewed for substantial evidence. E.g.
`factual
`issue,
`Finjan, Inc. v. Secure Computing, Corp., 2010 U.S. App.
`LEXIS 23216 (Fed. Cir. Nov. 4, 2010); Connell v. Sears,
`Roebuck & Co., 722 F.2d 1542, 1546 (Fed. Cir. 1983). The
`cases cited by Microsoft involve a procedural posture not
`present in this case. As this court noted in International
`Rectifier Corp. v. IXYS Corp., 361 F.3d 1363, 1374 (Fed.
`the infringement issue in General Mills col(cid:173)
`Cir. 2004),
`lapsed into claim construction because "the parties agreed
`with each other and the district court about how each of
`two competing claim constructions would apply to the
`undisputed structure of the accused invention." In other
`words,
`the parties conceded that under one claim con(cid:173)
`struction there was infringement and under the other
`there was none, and were arguing only over which claim
`construction was appropriate. The infringement issue in
`Althetic Alternatives also came to this court with the same
`posture. See 73 F.3d at 1581 ("We conclude that Claim 1
`of the '097 patent includes the limitation that the splay(cid:173)
`creating string end offset distance take on at least three
`i.e., a minimum, a maximum, and at least one
`values,
`intermediate value. We thus affirm the district court's
`conclusion that Claim 1 does not literally read on the
`Vortex racket."). As discussed below, this case presents
`the opposite procedural posture;
`the claim construction
`itself is not contested, but the application of that claim
`construction to the accused device is. Thus, this court
`applies the traditional rule for review of jury verdicts of
`factual issues discussed above.
`
`Petitioners Ex. 1010 Page 14
`
`

`
`Case 1:03-cv-00440-WY-DLM Document 443 Filed 01/11/11 Page 15 of 59 PageID #: 8812
`
`15
`
`UNILOC USA v. MICROSOFT
`
`This case presents three primary infringement issues:
`1) whether the accused products contain "licensee unique
`ID generating means"; 2) whether the accused products
`contain a "registration system" with a "mode switching
`means" that precludes full use of the software unless the
`outputs of the local and remote algorithms match; and 3)
`whether Microsoft can be liable for direct infringement
`when it has no control over the user's computer.
`1. "Licensee Unique ID Generating Means"
`
`The '216 patent specification describes the licensee
`unique ID generating means as an algorithm that func(cid:173)
`tions by "combin[ing] by addition the serial number 50
`with the software product name 64 and customer infor(cid:173)
`mation 65 and previous user identification 22 to provide
`registration number 66." Id. col. llil. 53-56. The district
`court's construction of "licensee unique ID generating
`means" is undisputed on appeal: it is a means plus func(cid:173)
`tion claim, with the function being "to generate a local or
`remote licensee unique ID" and the structure being "a
`summation algorithm or a summer and equivalents
`thereof." Uniloc I Claim Construction, 447 F. Supp. 2d at
`190.
`The district court determined that no reasonable jury
`could find that the accused products were summation
`algorithms, and granted JMOL of non-infringement. The
`district court gave seven reasons for its decision: (1) the
`"circular shifting and mixing functions fundamentally
`create a more secure result compared to an algorithm
`based in summation as the specification discloses," Uniloc
`II, 640 F. Supp. 2d at 170; (2) summation is reversible and
`id.
`MD5 is irreversible and much more complicated,
`(citing Business Objects, S.A. u. Microstrategy, Inc., 393
`F.3d 1366, 1370 (Fed. Cir. 2005»; (3) "MD5 achieves its
`function in a wayan algorithm based in summation could
`
`Petitioners Ex. 1010 Page 15
`
`

`
`Case 1:03-cv-00440-WY-DLM Document 443 Filed 01/11/11 Page 16 of 59 PageID #: 8813
`
`UNILOC USA v. MICROSOFT
`
`16
`
`not," id.;
`(4) the '216 patent contained only a narrow
`structural disclosure that is not entitled to a broad scope,
`id. at 171; (5) the documentary evidence presented by
`Uniloc did not show what "the complex hashes in this case
`actually do, and whether that is equivalent to the 'by
`addition' structure Uniloc disclosed," id. at 172; (6) Uniloc
`did not put forth expert opinion interpreting the docu(cid:173)
`ments, except
`for Klausner's presentation of "factual
`information under the guise of opinion," id. at 172 and
`n.25 (citing Centricut, LLC v. Esab Grp., Inc., 390 F.3d
`1361, 1369-70 (Fed. Cir. 2004), but noting that that case
`is "not a perfect fit"); and (7) "[t]he jury 'lacked a grasp of
`the issues before it,'" id. at 173 (citing Tex. Instruments
`Inc. v. Cypress Semiconductor Corp., 90 F.3d 1558, 1570
`(Fed. Cir. 1996» because it "ignored Dr. Wallach's admit(cid:173)
`tedly complex explanation and embraced Mr. Klausner's"
`"incomplete, oversimplified and frankly inappropriate
`explanation," id. at 170 n.21.
`Uniloc argues that a reasonable jury could have con(cid:173)
`cluded that MD5 and SHA1 were summation algorithms
`within the meaning of the '216 patent, and that
`the
`district
`court
`erred
`in
`granting
`JMOL of
`non(cid:173)
`infringement. The jury heard two sets of evidence in
`favor of Uniloc's contention that MD5 and SHA1 were
`summation algorithms.
`First, Dr. Klausner, Uniloc's
`expert, testified that MD5 makes a digest of the message
`it receives
`by doing addition and multiplication in a
`It
`series of rounds over and over again.
`takes a piece of the input, adds and shifts
`it, takes another piece of the input, adds
`It does a number of other
`and shifts it.
`operations, what are called logical opera(cid:173)
`tions in mathematics. But the essence is
`it eventually adds each of the results of
`
`Petitioners Ex. 1010 Page 16
`
`

`
`Case 1:03-cv-00440-WY-DLM Document 443 Filed 01/11/11 Page 17 of 59 PageID #: 8814
`
`17
`
`UNILOC USA v. MICROSOFT
`
`these piece-wise operations into a bucket
`or a hash, and that hash becomes the out(cid:173)
`put of the algorithm.
`He also testified that MD5 uses "two primary kinds of
`operations to do its work. One is addition, summing; and
`the other is what we call left shifting
`[which is] actu-
`[which] is noth-
`ally nothing more than multiplication
`ing more than addition done over and over again."
`Klausner then identified the source code that was the
`basis of his understanding that MD5 performed addition,
`noting that "I'm not saying that that's all that MD5 does,
`but that's a significant portion of the MD5 algorithm."
`the jury saw documentary evidence identifying
`Second,
`MD5 as, or equating it to, a summation algorithm. For
`example, in Microsoft's Windows Protocols Master Glos(cid:173)
`sary, one entry reads "checksum: A value that is the
`summation of a byte stream. By comparing the check(cid:173)
`sums computed from a data item at two different times,
`one can quickly assess whether the data items are identi(cid:173)
`caL" That same document equates "hashes" and "check(cid:173)
`sums," and notes that "[w]ell-known hash algorithms for
`computer hashes include MD4, MD5, and SHAl." Other
`Microsoft documents also refer to the outcome of the MD5
`algorithm as a "checksum."
`See Kenneth Pfeil, Data
`Security and Data Availability in the Administrative
`Microsoft
`TechNet,
`Authority,
`available
`at
`http://technet.microsoft.comlen-usllibrary/cc722918.aspx
`("Hashing. Hashing is also referred to as MD5 check(cid:173)
`sum.").
`See also Windows Driver Kit: Network Devices
`and Protocols: NDIS_TASKJPSEC, MSDN, updated
`http://msdn.microsoft.comlen(cid:173)
`document
`available
`at
`usllibrary/ff558990.aspx ("MD5 Set by a miniport driver
`to indicate that its NIe can use the keyed MD5 algorithm
`for computing and/or validating a cryptographic checksum
`for an AH payload and/or ESP payload.").
`In addition,
`
`Petitioners Ex. 1010 Page 17
`
`

`
`Case 1:03-cv-00440-WY-DLM Document 443 Filed 01/11/11 Page 18 of 59 PageID #: 8815
`
`UNILOC USA v. MICROSOFT
`
`18
`
`Uniloc relied on U.S. Patent No. 6,263,432 ("'432 patent"),
`which, in describing the procedure for generating a secure
`e-ticket, includes the following step:
`In this example, each of the four fields in
`the 'eticket' framework 302 and user ex(cid:173)
`tension 304 include data represented by
`the number'!' in step S1. The message
`DigestJHash is represented by a summa(cid:173)
`tion (E) algorithm (equated to, or exem(cid:173)
`plary of,
`the MD5 protocol or other
`hashing algorithm). Hence,
`to calculate
`the Message DigestlHash, a summation
`algorithm is implemented using all eight
`fields of data in step 2.
`'432 patent col: 9ll.50-57.
`Uniloc also argues that the district court improperly
`narrowed the claim construction on JMOL from "summa(cid:173)
`tion algorithm" to a "simple combination of inputs by
`addition," Uniloc, 640 F. Supp. 2d at 17.0, which was
`improper under Hewlett-Packard Co. v. Mustek 8ys., Inc.,
`340 F.3d 1314, 1320 (Fed. Cir. 2003).
`Microsoft counters with three arguments.
`First,
`Uniloc's interpretation of "summation algorithm" would
`be so broad as to cover any algorithm with a plus sign,
`and would be akin to adopting the rejected claim con(cid:173)
`struction of licensee unique ID generating means as
`simply "an algorithm." Microsoft argues that such a
`broad reading is inconsistent with the patent, which
`disclosed only the specific structure where "the algorithm,
`in this embodiment, combines by addition," '216 patent,
`col. 11 11.53-56. Second, Microsoft notes that its expert,
`Dr. Wallach, established that the algorithms as a whole
`are not "summation algorithm[s]" because neither circular
`shifting nor the logical operations of MD5 and SRAI are
`
`Petitioners Ex. 1010 Page 18
`
`

`
`Case 1:03-cv-00440-WY-DLM Document 443 Filed 01/11/11 Page 19 of 59 PageID #: 8816
`
`19
`
`UNILOC USA v. MICROSOFT
`
`addition-based, and that his testimony was unrebutted,
`because the district court prevented Uniloc's expert, Dr.
`Klausner, from opining that MD5 and SHA1 were sum(cid:173)
`mation algorithms within the scope of claim 19 of the '216
`patent. Finally, Microsoft contrasts the purpose of MD5
`and SHA1-to irreversibly scramble the data so that the
`inputs cannot be derived-with the purpose of the sum(cid:173)
`mation algorithms in the '216 patent, to put data together
`by addition.
`As this court held in Uniloc l, 290 Fed. App'x at 342,
`there was substantial evidence for a jury to conclude that
`the output of the MD5 and SHA1 algorithms was a licen(cid:173)
`see unique ID. Thus, both MD5 and the summation
`algorithm in the '216 patent perform the same function of
`It is also undisputed
`generating a licensee unique ID.
`that MD5 and SHA1 use some addition to perform this
`function. Uniloc II, 640 F. Supp. 2d at 168. Thus, the
`issue is whether the additional structural components of
`MD5 and SHAI preclude a reasonable jury from finding
`that
`they are "summation algorithm[s]."
`This court
`agrees with Uniloc that they do not.
`First, the breadth of claim 19 is not as narrow as Mi(cid:173)
`crosoft argues and the district court concluded. "The
`literal scope of a properly construed means-plus-function
`limitation does not extend to all means for performing a
`certain function. Rather,
`the scope of such claim lan(cid:173)
`guage is sharply limi

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