decoration decoration
Stories

GROKLAW
When you want to know more...
decoration
For layout only
Home
Archives
Site Map
Search
About Groklaw
Awards
Legal Research
Timelines
ApplevSamsung
ApplevSamsung p.2
ArchiveExplorer
Autozone
Bilski
Cases
Cast: Lawyers
Comes v. MS
Contracts/Documents
Courts
DRM
Gordon v MS
GPL
Grokdoc
HTML How To
IPI v RH
IV v. Google
Legal Docs
Lodsys
MS Litigations
MSvB&N
News Picks
Novell v. MS
Novell-MS Deal
ODF/OOXML
OOXML Appeals
OraclevGoogle
Patents
ProjectMonterey
Psystar
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v IBM
SCO v Novell
SCO:Soup2Nuts
SCOsource
Sean Daly
Software Patents
Switch to Linux
Transcripts
Unix Books

Gear

Groklaw Gear

Click here to send an email to the editor of this weblog.


You won't find me on Facebook


Donate

Donate Paypal


No Legal Advice

The information on Groklaw is not intended to constitute legal advice. While Mark is a lawyer and he has asked other lawyers and law students to contribute articles, all of these articles are offered to help educate, not to provide specific legal advice. They are not your lawyers.

Here's Groklaw's comments policy.


What's New

STORIES
No new stories

COMMENTS last 48 hrs
No new comments


Sponsors

Hosting:
hosted by ibiblio

On servers donated to ibiblio by AMD.

Webmaster
Oracle v. Google - JMOL Briefs on Patent Infringement ~mw
Thursday, May 17 2012 @ 07:50 PM EDT

Not surprisingly, the Court has kicked out Google's JMOL on ownership and registration of the copyrights by Oracle. (1165 [PDF; Text]) This was always a bit of a stretch, more because of timing than the actual issues raised. Had Google challenged the registration much earlier in the proceedings or challenged the actual registration with the U.S. Copyright Office, they may have had a chance here, but this motion came far too late.

Both parties have filed their briefs in support of their JMOL's on patent infringement. The Google brief (1166 [PDF; Text]) focuses on their primary arguments for non-infringement. Much of their non-infringement defense on the '104 patent hinges on the definition of "symbolic reference." The definition adopted by the Court clearly favors Google. The non-infringement defense on the'520 patent focuses on the dx tool and Google's assertion that it does not simulate execution.

The most interesting argument Google sets forth is on the issue of what constitutes infringing activity. According to the patent act it is selling, offering for sale, using, making, or importing. Notably, that list of activities says nothing about distributing for free, and Google is arguing that their distribution for free of Android is not an infringing activity under the Patent Act.

Of course, if I were Oracle I would argue that Google doesn't distribute with no anticipation of compensation, it's just that the compensation is not in the form of a license fee. I can't imagine this argument is going to go anywhere with the Court, but it is certainly an interesting argument. Can you imagine the reaction in the FOSS community if the Court would agree? Such a decision would virtually immunize FOSS from patent claims.

Given the length of the Oracle brief (1168 [PDF; Text]) one would think they are trying to put on their entire case in chief in the document. Oracle is clearly not happy with the definition of "symbolic reference" as adopted by the Court and as reflected in the jury instructions. But as with Google's motion on the copyright ownership and registration issues, it's a bit late for Oracle to be making this argument. This definitional issue was settled long ago.


*************

Docket

05/16/2012 - 1160 - Transcript of Proceedings held on May 7, 2012, before Judge William H. Alsup. Court Reporter/Transcriber Katherine Powell Sullivan and Debra L. Pas, Official Reporters, Telephone number 415-794-6659/ Katherine_Sullivan@cand.uscourts.gov. Per General Order No. 59 and Judicial Conference policy, this transcript may be viewed only at the Clerks Office public terminal or may be purchased through the Court Reporter/Transcriber until the deadline for the Release of Transcript Restriction.After that date it may be obtained through PACER. Any Notice of Intent to Request Redaction, if required, is due no later than 5 business days from date of this filing. Redaction Request due 6/6/2012. Redacted Transcript Deadline set for 6/18/2012. Release of Transcript Restriction set for 8/14/2012. (Sullivan, Katherine) (Filed on 5/16/2012) (Entered: 05/16/2012)

05/16/2012 - 1161 - Transcript of Proceedings held on May 8, 2012, before Judge William H. Alsup. Court Reporter/Transcriber Katherine Powell Sullivan and Debra L. Pas, Official Reporters, Telephone number 415-794-6659/ Katherine_Sullivan@cand.uscourts.gov. Per General Order No. 59 and Judicial Conference policy, this transcript may be viewed only at the Clerks Office public terminal or may be purchased through the Court Reporter/Transcriber until the deadline for the Release of Transcript Restriction.After that date it may be obtained through PACER. Any Notice of Intent to Request Redaction, if required, is due no later than 5 business days from date of this filing. Redaction Request due 6/6/2012. Redacted Transcript Deadline set for 6/18/2012. Release of Transcript Restriction set for 8/14/2012. (Sullivan, Katherine) (Filed on 5/16/2012) (Entered: 05/16/2012)

05/16/2012 - 1162 - Transcript of Proceedings held on May 9, 2012, before Judge William H. Alsup. Court Reporter/Transcriber Katherine Powell Sullivan and Debra L. Pas, Official Reporters, Telephone number 415-794-6659/ Katherine_Sullivan@cand.uscourts.gov. Per General Order No. 59 and Judicial Conference policy, this transcript may be viewed only at the Clerks Office public terminal or may be purchased through the Court Reporter/Transcriber until the deadline for the Release of Transcript Restriction.After that date it may be obtained through PACER. Any Notice of Intent to Request Redaction, if required, is due no later than 5 business days from date of this filing. Redaction Request due 6/6/2012. Redacted Transcript Deadline set for 6/18/2012. Release of Transcript Restriction set for 8/14/2012. (Sullivan, Katherine) (Filed on 5/16/2012) (Entered: 05/16/2012)

05/16/2012 - 1163 - Transcript of Proceedings held on May 10, 2012, before Judge William H. Alsup. Court Reporter/Transcriber Katherine Powell Sullivan and Debra L. Pas, Official Reporters, Telephone number 415-794-6659/ Katherine_Sullivan@cand.uscourts.gov. Per General Order No. 59 and Judicial Conference policy, this transcript may be viewed only at the Clerks Office public terminal or may be purchased through the Court Reporter/Transcriber until the deadline for the Release of Transcript Restriction.After that date it may be obtained through PACER. Any Notice of Intent to Request Redaction, if required, is due no later than 5 business days from date of this filing. Redaction Request due 6/6/2012. Redacted Transcript Deadline set for 6/18/2012. Release of Transcript Restriction set for 8/14/2012. (Sullivan, Katherine) (Filed on 5/16/2012) (Entered: 05/16/2012)

05/16/2012 - 1164 - Transcript of Proceedings held on May 11, 2012, before Judge William H. Alsup. Court Reporter/Transcriber Katherine Powell Sullivan and Debra L. Pas, Official Reporters, Telephone number 415-794-6659/ Katherine_Sullivan@cand.uscourts.gov. Per General Order No. 59 and Judicial Conference policy, this transcript may be viewed only at the Clerks Office public terminal or may be purchased through the Court Reporter/Transcriber until the deadline for the Release of Transcript Restriction.After that date it may be obtained through PACER. Any Notice of Intent to Request Redaction, if required, is due no later than 5 business days from date of this filing. Redaction Request due 6/6/2012. Redacted Transcript Deadline set for 6/18/2012. Release of Transcript Restriction set for 8/14/2012. (Sullivan, Katherine) (Filed on 5/16/2012) (Entered: 05/16/2012)

05/16/2012 - 1165 - ORDER DENYING MOTION FOR JUDGMENT AS A MATTER OF LAW REGARDING REGISTRATION AND OWNERSHIP. Signed by Judge Alsup on May 16, 2012. (whalc1, COURT STAFF) (Filed on 5/16/2012) (Entered: 05/16/2012)

05/16/2012 - 1166 - Brief re 1151 MOTION for Judgment as a Matter of Law on Counts V and VII of Oracle's Amended Complaint filed byGoogle Inc.. (Related document(s) 1151 ) (Baber, Bruce) (Filed on 5/16/2012) (Entered: 05/16/2012)

05/16/2012 - 1167 - MOTION for Judgment as a Matter of Law ORACLE AMERICA, INC.S RULE 50(A) MOTION AT THE CLOSE OF ALL EVIDENCE FOR PHASE II (PATENT PHASE) filed by Oracle America, Inc.. Responses due by 5/17/2012. (Jacobs, Michael) (Filed on 5/16/2012) (Entered: 05/16/2012)

05/16/2012 - 1168 - Amended MOTION for Judgment as a Matter of Law ORACLE AMERICA, INC.S RULE 50(A) MOTION AT THE CLOSE OF ALL EVIDENCE FOR PHASE II (PATENT PHASE)--REPLACES [DKT 1167] filed by Oracle America, Inc.. Responses due by 5/17/2012. (Jacobs, Michael) (Filed on 5/16/2012) (Entered: 05/16/2012)

*************

Documents

1165

IN THE UNITED STATES DISTRICT COURT
FOR THE NORTHERN DISTRICT OF CALIFORNIA

ORACLE AMERICA, INC.,
Plaintiff,
v.
GOOGLE INC.,
Defendant.

No. C 10-03561 WHA

ORDER DENYING GOOGLE’S
MOTION FOR JUDGMENT AS A
MATTER OF LAW REGARDING
REGISTRATION AND OWNERSHIP

Google seeks Rule 50 judgment as a matter of law regarding Oracle’s copyright registration and ownership of the asserted works. For the reasons stated below, the motion is DENIED.

At trial, Oracle presented evidence that it was the owner and copyright holder of the asserted 37 API packages and eleven code files. Oracle produced the copyright registration certificates for “Java 2 Standard Edition, Version 1.4” (TX 464) and “Java 2 Standard Edition, Version 5.0” (TX 475). These works were registered as derivative works (or compilations) of “[p]rior works by claimant and licensed-in components” with the addition of “[n]ew and revised computer code and accompanying documentation and manuals” (Dkt. No. 36 Exh. 8 at Section 6). The asserted 37 API packages and eleven code files are parts of the J2SE 5.0 platform.


At trial, Oracle’s Chief Java Engineer, Mark Reinhold, testified that he had reviewed the J2SE 5.0 source code in 2006, long before the start of this litigation, to determine whether the Java API packages in J2SE 5.0 were owned by Sun or third parties (Tr. at 2231). This was done to determine if Sun had the right to open source the code for the API packages. His review found that “Sun had a copyright notice in every single one of the API class source files” for the asserted 37 API packages in this action (Tr. 2231–32). He also testified that nobody has ever asserted that Sun did not own all right, title and interest to these 37 API packages (Tr. 2254–55).

Google argues that Oracle failed to register J2SE 5.0 properly because Oracle did not submit the entire source code for the platform to the Copyright Office. This argument is unpersuasive. Oracle was not required to submit entire source code files to register the platform. COPYRIGHT OFFICE CIRCULAR 61.

Google also argues that Oracle failed to prove ownership of the asserted works (the 37 API packages and eleven code files) that are part of the registered J2SE 5.0 platform. Google is incorrect about the burden of proof. Because Oracle properly registered the J2SE 5.0 platform, Google had the burden to overcome the presumption of ownership. 17 U.S.C. 410(c) (certificate of registration “shall constitute prima facie evidence of the validity of the copyright and of the facts stated in the certificate”). This presumption of ownership is true even for individual works that are broadly registered as part of a compilation or derivative work. United Fabrics Int’l, Inc. v. C&J Wear, Inc., 630 F.3d 1255, 1257–59 (9th Cir. 2011). The issue of whether Sun, now Oracle, owned the asserted works was a question of fact for the jury, not a question of law. Del Madera Props. v. Rhodes and Gardner, Inc., 820 F.2d 973, 979 (9th Cir. 1987). Google could have argued to the jury that Oracle did not own the asserted works; but Google expressly waived that contention in the final jury instructions (Tr. 2392–96).

Finally, Google argues that what Oracle registered as J2SE 5.0 with the Copyright Office was not the same version that was shown to the jury as Exhibit 623. This argument is unpersuasive. There was sufficient testimony that Exhibit 623 did accurately represent the J2SE 5.0 work registered with the Copyright Office (Tr. at 2236–38). Google has failed to rebut this testimony.

2


For the reason stated above, Google’s Rule 50 motion on ownership and registration is DENIED.

IT IS SO ORDERED.

Dated: May 16, 2012.

/s/William Alsup
WILLIAM ALSUP
UNITED STATES DISTRICT JUDGE

3



1166

KEKER & VAN NEST LLP
ROBERT A. VAN NEST - # 84065
[email]
CHRISTA M. ANDERSON - # 184325
[email]
DANIEL PURCELL - # 191424
[email address telephone fax]

KING & SPALDING LLP
SCOTT T. WEINGAERTNER (Pro Hac Vice)
[email]
ROBERT F. PERRY
[email]
BRUCE W. BABER (Pro Hac Vice)
[address telephone fax]

KING & SPALDING LLP
DONALD F. ZIMMER, JR. - #112279
[email]
CHERYL A. SABNIS - #224323
[email address telephone fax]

IAN C. BALLON - #141819
[email]
HEATHER MEEKER - #172148
[email]
GREENBERG TRAURIG, LLP
[address telephone fax]

Attorneys for Defendant
GOOGLE INC.

UNITED STATES DISTRICT COURT
NORTHERN DISTRICT OF CALIFORNIA
SAN FRANCISCO DIVISION

ORACLE AMERICA, INC.,
Plaintiff,
v.
GOOGLE INC.,
Defendant.

Case No. 3:10-cv-03561 WHA

BRIEF IN SUPPORT OF GOOGLE’S
MOTION FOR JUDGMENT AS A MATTER
OF LAW ON COUNTS V AND VII OF
ORACLE’S AMENDED COMPLAINT

Dept.: Courtroom 8, 19th Floor
Judge: Hon. William Alsup


I. INTRODUCTION

In accordance with Rule 50 of the Federal Rules of Civil Procedure, as previously set forth in open court on May 10, 2012 (RT 3707-3709), and as outlined on May 15, 2012 (Dkt. 1151) Google hereby files this brief in support of Google’s motion for judgment as a matter of law on Counts V and VII of Oracle’s Amended Complaint.

II. LEGAL STANDARDS

Judgment as a matter of law is proper when “a party has been fully heard on an issue and there is no legally sufficient evidentiary basis for a reasonable jury to find for that party on that issue.” Fed. R. Civ. P. 50(a)(1). Rule 50 “allows the trial court to remove . . . issues from the jury’s consideration when the facts are sufficiently clear that the law requires a particular result.” Weisgram v. Marley Co., 528 U.S. 440, 448 (2000) (internal quotations omitted). The standard for granting judgment as a matter of law, in practice, mirrors the standard for granting summary judgment, and “the inquiry under each is the same.” Anderson v. Liberty Lobby, Inc., 477 U.S. 242, 250-51 (1986).

III. AS TO COUNT V OF ORACLE’S AMENDED COMPLAINT: GOOGLE IS
ENTITLED TO JUDGMENT AS A MATTER OF LAW

To prove patent infringement, Oracle must show that Android devices meet “each and every” element of the asserted claims. Star Scientific, Inc. v. R.J. Reynolds Tobacco Co., 655 F.3d 1364, 1378 (Fed. Cir. 2011). Oracle presented two theories of infringement based on (1) the Resolve.c code in the Dalvik virtual machine and (2) the dexopt tool. Oracle has not carried its burden to show that either of these Android features meets each and every element of any of the asserted claims. Google is therefore entitled to judgment as a matter of law that it has not infringed the ‘104 patent.

A. Because Dalvik bytecode instructions do not contain symbolic references,
Google is entitled to judgment as a matter of law that it does not infringe any
of the asserted claims of the ’104 patent.
There is no evidence that either Resolve.c or the dexopt tool operate on “instructions containing one or more symbolic references,” as required by asserted Claims 11, 27, 29, 39, 40,

1


and 41 of the ‘104 patent. The Court has construed the term “symbolic reference” to mean

a reference that identifies data by a name other than the numeric memory location of the data, and that is resolved dynamically rather than statically
[Dkt. No. 137 at 22.] As Dr. Mitchell conceded, this construction makes a distinction between using names to represent data (i.e., symbolic references) and using numeric memory locations. [RT 3480:12-15 (Mitchell).] There is no limitation regarding the type of data being referenced.

It is undisputed, that each of the asserted claims of the ’104 patent requires that there be a symbolic reference in the instructions themselves. Even Dr. Mitchell, Oracle’s expert admits this. [RT 3477:6-12 (“Q. Because every claim that you’ve analyzed requires that the symbolic reference be in the instructions, right? A. The wording varies across the claims. Q. But, essentially, either contained in or in each one of the limitations requires that there be a symbolic reference in the instructions themselves, right? A. Yes.”); RT 3487:13-16 (“But you would agree with me that whether you’re talking about Resolve.c or dexopt, you’ve got to find a symbolic reference in the instructions? A. Yes.”).] The requirement is also clear from the plain language of the claims. See TX 4015 at col. 13 (claim 11 reciting “instructions containing one or more symbolic references”), at col. 14 (claims 27 and 29 reciting “symbolic data references in the set of original instructions”), at col. 15 (claims 39-41 reciting “instruction contains a symbolic field reference.”). Thus, to prove infringement, Oracle bore the burden of showing that Resolve.c and the dexopt tool operate on instructions that contain “a reference that identifies data by a name other than the numeric memory location of the data.”

Because Dalvik bytecode instructions—the instructions evaluated by both Resolve.c and the dexopt tool—contain references to numeric memory locations of data, they cannot satisfy all of the limitations of the asserted claims. Dalvik bytecode instructions consist of an opcode and operand. [TX 737 (“Each instruction starts with the named opcode and is optionally followed by one or more arguments.”); RT 3590:23-3591:25 (Bornstein); RT 3844:14-3855:12, 3925:4-18 (August).] In Android, the accused operands are indexes that take the form “field@CCCC” and reference locations in tables. [See TX 46.106; TX 735 (“There are separately enumerated and indexed constant pools for references to strings, types, fields, and methods.”); TX 737; RT

2


3732:15-19, 3736:16-23, 3755:8-9, 3765:9-12 (McFadden); 3858:5-12, 3858:21-359:11, 3918:13-23, 3923:20-24, 3925:19-3926-9 (August).] Dr. Mitchell agrees. [RT 3488:6-8, 3488:19-23, 3489:10-12 (Dr. Mitchell) (the “classIdx” index in Dalvik instructions provides information “to a location in another table”); RT 3496:12-3497:6 (Dr. Mitchell) (the “field Idx” in Dalvik instructions is “an index to a specific location in the field table”).] Applying the Court’s claim construction, these indexes do not qualify as symbolic references.

As Dr. Mitchell confirmed via testimony, his report refers to indexes as numeric rather than symbolic references. [RT 3490:7-10, 3528:9-22, 3529:1-10, 4037:9-4038:3, 4038:10-4039:11, 4039:14-4040:9 (Mitchell).] This is not surprising in light of the fact that indexes point to locations in tables. To try to circumvent his prior statements, Dr. Mitchell has conjured up a re-interpretation of the term “symbolic reference” that does not conform with the Court’s construction. Specifically, Dr. Mitchell bases his opinion on a meta claim construction argument about what “data” means in the context of the Court’s construction:

As far as I can tell, the only contested issue here is whether the field indexes and instructions are symbolic references or not. And that in the end just seems to turn on what we mean by data, according to the last bit of testimony from Professor August.
[RT 4019:3-7 (Mitchell) (emphasis added).] Dr. Mitchell explains that his opinion is based on the theory that “data” in the Court’s construction is something much more restrictive than what the ordinary meaning of the word “data” implies. According to Dr. Mitchell, the “data” must be the actual field data in the instance object, as opposed to any data in the .dex file, including the data in the constant pool tables. [RT 4025:6-21 (Mitchell) (“So in order for that to happen, we have to find where that actual data is in the object using this symbolic reference. . . .”).] In other words, to turn an index, which is a numeric reference to a location in a table, into a symbolic reference, Dr. Mitchell has re-defined “symbolic reference” to mean “a reference that identifies the actual field data in the instance object by a name other than the numeric memory location of the actual field data in the instance object” (emphasis indicating Dr. Mitchell’s apparent changes to Court’s construction).

Oracle’s overly-restrictive, re-definition of the term “data” was again highlighted in

3


closing arguments when Mr. Jacobs argued:

Now, there was another potential source of confusion which we clarified also through Dr. August and through Professor Mitchell. What’s the data that this claim is talking about? Is it talking about what Google wanted to focus on, which is the constant pool information (indicating), or is it talking about the data in the data object, the actual field value, the actual data?

. . .

So the whole goal of this exercise is to obtain meaningful data, the actual data. . . .

. . .

Now, Mr. Van Nest agreed that the distinction between this is at least the distinction between meaningful data and unmeaningful data. We’re relying on meaningful data. Google is relying on unmeaningful data.

[RT 4111:5-11, 4200:7-10 (Jacobs).] This simply does not conform to the Court’s ruling on claim construction, which simply distinguishes between a reference to data—any data—by a name rather than location. See Claim Construction Order (Dkt. No. 137) at 20-22.

Oracle never requested clarification of the meaning of the term “data” during the Markman process. It also declined the Court’s offer to seek additional claim constructions in December 2011, months after Dr. Mitchell changed his opinion in response to Dr. August’s report. [Dkt. Nos. 603, 637.] Most relevant to this motion, neither Dr. Mitchell nor any other evidence offered by Oracle suggested that “data” is a term of art that is understood by those skilled in the art to correspond to or encompass only “actual field data in the instance object.” In fact, there is no such suggestion anywhere in the record. Accordingly, no reasonable jury could conclude, based on the evidence and expert testimony, that there is a basis for such a meaning.

As is clear on its face, the Court’s construction of “symbolic reference” does not incorporate the restrictive meaning of “data” advanced by Oracle and Dr. Mitchell. See Claim Construction Order (Dkt. No. 137) at 20-22. As such, Dr. Mitchell’s testimony cannot be credited. [RT 4206:18-21 (Court) (“If a witness has based his view on meanings of the terms contrary to my stated definitions, you should discount that part of his testimony accordingly.”).]

Without Dr. Mitchell’s testimony, Oracle cannot prove that Dalvik bytecode instructions

4


contain symbolic references, which each of the asserted claims requires. To the contrary, the wealth of evidence presented at trial confirms that Dalvik bytecode instructions contain only numeric references in the form of indexes to locations in memory where constant pool data is stored in the dex files. [See TX 46.106; TX 735 (“There are separately enumerated and indexed constant pools for references to strings, types, fields, and methods.”); TX 737; RT 3732:15-19, 3736:16-23, 3755:8-9, 3765:9-12 (McFadden); 3858:5-12, 3858:21-359:11, 3918:13-23, 3923:20-24, 3925:19-3926-9 (August).] Thus, no reasonable jury could conclude that either the Resolve.c code or the dexopt tool in Android infringe the asserted claims of the ‘104 patent.

B. Google is also entitled to judgment as a matter of law that the dexopt
functionality does not infringe Claims 27 and 29 of the ’104 patent because
dexopt resolves symbolic references statically rather than dynamically.
Android’s dexopt functionality performs static—not dynamic—optimizations.1 The Court’s claim construction requires that symbolic references be “resolved dynamically rather than statically.” In light of that requirement, there is no dispute that if dexopt performs functions statically, then dexopt doesn’t infringe. [RT 3509:16-18 (Mitchell).] Dr. Mitchell’s infringement opinion at trial was that dexopt is a dynamic process because it relies on information about the runtime environment and that is available at runtime. [RT 4028:14-25 (Mitchell).] But Dr. Mitchell’s conclusory statements do not provide an adequate basis for a reasonable jury to reach a verdict of literal patent infringement. Indeed, there is no evidence to support Dr. Mitchell’s opinion that an optimization (e.g., resolution) based on information about a runtime environment is “dynamic” and not “static.” To the contrary, there is a wealth of documentary evidence, fact testimony, and expert testimony that directly contradicts Dr. Mitchell’s opinion. [RT 3730:16-22 (McFadden); RT 3940:17-20 (August); RT 3595:21-24 (Bornstein); TX 32 at 35, TX 816 at 24:05; TX 735 (defining opcodes that “are reasonable candidates for static linking”); TX 737 (defining “statically linked” instruction formats); TX 739 (dexopt performs optimizations that “can be inferred statically”).] Accordingly, no reasonable jury could conclude that the dexopt tool infringes claims 27 and 29 of the ‘104 patent.

_______________________

1 Only claims 27 and 29 are asserted against dexopt.

5


C. There is no legal basis for the jury to conclude that Android infringes the ’104
patent where Oracle only presented a literal infringement theory.
To the extent Oracle now contends that certain claim elements are effectively present in Android under the doctrine of equivalents, Google is entitled to a judgment as a matter of law. First, having failed to disclose such a theory in its Rule 3-1 Patent Disclosures under the Patent Local Rules, Oracle may not now assert an infringement theory under the doctrine of equivalents. Second, even if Oracle were not barred from asserting such a theory, Dr. Mitchell’s testimony would not support a conclusion of infringement under the doctrine of equivalents. The record contains no evidence that the accused Dalvik bytecode instructions, which contain symbolic references not in the instructions themselves but in a shared constant pool reached (directly or indirectly) via various tables, are substantially similar to instructions that literally contain symbolic references. See TIP Sys., LLC v. Phillips & Brooks/Gladwin, Inc., 529 F.3d 1364, 1376-77 (Fed. Cir. 2008) (infringement under doctrine of equivalents may only be found where the accused device contains an “insubstantial” change from the claimed invention or where the accused device functions in substantially the same way as the claimed invention) (citing Graver Tank & Mfg. Co. v. Linde Air Prods. Co., 339 U.S. 605, 610 (1950)). Here, Dr. Mitchell has testified that strings are stored in the string data table of the dex file. [RT 3290:2-3291:18 (Mitchell).] These strings, which are the names of the fields, classes, methods, and strings used in a program, are not stored in the Dalvik bytecode instructions themselves. The Resolve.c code and the dexopt tool use a series of numeric references (indexes) to eventually obtain a symbolic reference (name) from the string data table, and then resolve that name to find a numeric reference corresponding to that symbolic reference. In contrast, the asserted claims of the ‘104 patent require resolving a symbolic reference contained in the instruction; they do not have to follow a series of numeric references to obtain the symbolic reference (name). The way in which symbolic resolution is performed in Resolve.c and dexopt is advantageous compared to the process disclosed in the ‘104 patent in that it allows the Dalvik VM to operate with fixed-width instructions, which make processing virtual machine instructions easier. [RT 3592:4-3593:4 (Bornstein), 3263:7-3264:8 (McFadden), 3878:3-3879:9 (August).]

6


III. AS TO COUNT VII OF ORACLE’S AMENDED COMPLAINT: GOOGLE IS
ENTITLED TO JUDGMENT OF NON-INFRINGEMENT OF THE ‘520 PATENT
AS A MATTER OF LAW

To prove patent infringement, Oracle must show that the accused functionality meets “each and every” element of an asserted claim. Star Scientific, 655 F.3d at 1378. Oracle has not carried that burden for either of the asserted claims of the ‘520 patent. In particular, Oracle has not shown that the code it accuses of infringement ever simulates execution to identify the static initialization of arrays because, as the undisputed evidence at trial showed, that is not how the dx tool works. The requirement that identification of the initialization of static arrays be performed through “simulating execution” is found in both asserted claims, Claim 1 and Claim 20. TX 4011.

The dx tool does not simulate execution in order to identify the static initialization of an array. Instead of going through the steps required to produce output showing what the static array would look like if the Java byte code instructions were performed, the dx tool uses a pattern-matching algorithm to determine what the static array would look like when initialized. The pattern matcher (a method known as parseNewarray found in class bytecodeArray) looks for a repeating sequence of instructions used to initialize static arrays. [RT 3800:2-3801:3 (Parr).] Although the pattern matcher code is called by code in the class file Simulator.java, the pattern matcher itself does not simulate execution of the bytecode, e.g., by manipulating a stack. [RT 3802:25-3804:1 (Parr).] Instead, it returns the operands associated with the appropriate instructions in the pattern. [RT 3343:3-16 (Mitchell).] Moreover, the pattern matcher code will not work properly when a useless instruction is injected into the Java bytecode. As would be expected, the dx tool, when confronted with revised code that breaks the pattern, returns the Dalvik byte code equivalents of the Java byte code that performs the steps required to statically initialize the array rather than an efficient instruction that initializes a static array. [RT 3808:18-3809:6; 3809:20-3810-3 (Parr).] A process using simulated execution would simulate the execution of each instruction, including the useless instruction, and the useless instruction would end up having no effect on the eventual result. [RT 3810:4-13 (Parr).]

To prevail on literal infringement of the ‘520 patent, Oracle needed to prove that the

7


pattern matching code used in Android literally simulates execution, as required by the asserted claims. Dr. Mitchell’s infringement opinion at trial was that the “simulation” (not “simulating execution”) carried out by the parseNewarray method fell within the claims. [RT 4032:7-22 (Mitchell).] But a conclusory statement equating pattern matching to simulation (and not even “simulating execution”) does not provide an adequate basis for a reasonable jury to reach a verdict of literal patent infringement.

The dx tool source code confirms the absence of any literal correspondence between the “simulating execution” claim limitation and the pattern matching code. Dr. Mitchell testified that the identification of the static initialization of the array was performed by the parseNewarray code, and agreed that code was distinct from the Simulator.java class. [RT 3343:3-16; 4061:21-4062:3 (Mitchell).] Both Mr. Bornstein and Dr. Parr testified that the dx tool includes code that actually performs simulated execution by manipulating a stack; however, the simulated execution is not used for identifying the initialization of arrays. [RT 3589:11-17; 3589:25-3590:6; 3611:22-3612:10 (Bornstein); RT 3798:2-8; 3798:22-3799:3 (Parr); TX 46.16, 46.17.] The presence of the word “simulates” in code comments thus do not show that the dx tool simulates execution for purposes of identifying the static initialization of an array; instead, simulated execution in the dx tool is used only for reasons other than identifying the initialization of static arrays. [RT 3611:22-3612:10 (Bornstein); 3798:3-8 (Parr).] And it is undisputed that the ‘520 patent does not include any mention of simulating execution through the use of pattern matching. [TX 4011; RT 3521:10-19 (Mitchell).]

Oracle never requested a construction of the phrase “simulating execution” during the Markman process, taking the position that it should be construed in accordance with its “plain meaning.” [See Dkt. No. 91 (parties’ joint claim construction and prehearing statement).] Oracle did not suggest that simulating execution is a term of art that is understood by those skilled in the art to correspond to or encompass pattern matching. No reasonable jury could conclude, based on the evidence and expert testimony, that there is a basis for such a construction of simulating execution, nor that there is an understanding in the field of computer science as to either of these terms that supports an assertion that pattern matching is literally simulating execution. Such a

8


construction was never sought by Oracle, even after the Court permitted the parties to seek additional claim constructions earlier this year. [Dkt. Nos. 603, 637.] Because of Oracle’s failure of proof and its inability to construe its claims to cover pattern matching, there is no basis for a finding of literal infringement of the ‘520 patent by the Android dx tool. The fact that the Android code actually does perform simulated execution for some functions is irrelevant—the key issue, as proven by the record, is that the dx tool does not simulate execution for the purpose of identifying the initialization of static arrays.

Oracle’s position, as articulated by Dr. Mitchell, depends on an implied theory of equivalent infringement, that “pattern matching” achieves a result similar to that of simulated execution—i.e., identifying the initialization of a static array without actual execution of the byte code. [RT 4032:11-22 (Mitchell)] But even assuming, without conceding, that the two different processes provide similar results, that is not a basis for a finding of infringement. To begin with, Oracle may not assert an infringement theory under the doctrine of equivalents, having failed to disclose such a theory in its Rule 3-1 Patent Disclosures under the Patent Local Rules. But even if Oracle were not barred from asserting a belated theory of infringement under the doctrine of equivalents, Dr. Mitchell’s testimony would not support a conclusion of infringement under the doctrine of equivalents because the recited claim limitation of “simulating execution” does not work in a way substantially similar to the accused pattern matching mechanism. See TIP Sys., LLC v. Phillips & Brooks/Gladwin, Inc., 529 F.3d 1364, 1376-77 (Fed. Cir. 2008) (infringement under doctrine of equivalents may only be found where the accused device contains an “insubstantial” change from the claimed invention or where the accused device functions in substantially the same way as the claimed invention) (citing Graver Tank & Mfg. Co. v. Linde Air Prods. Co., 339 U.S. 605, 610 (1950)). An argument based on a theory of infringement under the doctrine of equivalents, not disclosed at the proper time, is also ripe for judgment as a matter of law.

In order to support its literal infringement claims, Oracle needed to link up the accused code with the claimed functionality and, if it could, with the other language it considered helpful. Oracle could not do so. Unable to prove actual simulated execution, Oracle has tried to

9


reconstrue “simulating execution” to cover pattern matching with no legal basis to do so. Therefore, no reasonable jury could find that the dx tool infringes the ‘520 Patent.

IV. THE PATENT ACT DOES NOT DEFINE INFRINGEMENT TO INCLUDE
MAKING A PRODUCT AVAILABLE FOR FREE.

The evidence shows that Google does not charge a fee for Android source code. [RT 3079:6-13 (Poore).] As such, Google cannot, as a legal matter, infringe under the applicable statutory language.

The Patent Act defines patent infringement to include only certain discrete acts: “Except as otherwise provided in this title, whoever without authority makes, uses, offers to sell, or sells any patented invention, within the United States, or imports into the United States any patented invention during the term of the patent therefore, infringes the patent.” 35 U.S.C. § 271(a) (emphases added). These terms take their well-known, ordinary meanings. See NTP, Inc. v. Research in Motion, Ltd., 418 F.3d 1282, 1319 (Fed. Cir. 2005); see also Med. Sol’ns, Inc. v. C Change Surgical LLC, 541 F.3d 1136, 1141 (Fed. Cir. 2008); Rotec Indus., Inc. v. Mitsubishi Corp., 215 F.3d 1246, 1255 (Fed. Cir. 2000). None of the categories covers the free distribution of source code via the Internet.

Labeling free distribution of a product as a “sale” would turn that term on its head. As the Federal Circuit has held, “[t]he definition of ‘sale’ is: ‘1. The transfer of property or title for a price.’” NTP, 418 F.3d at 1319 (quoting Black’s Law Dictionary 1337 (7th ed. 1999)) (emphasis added). And one of the “four elements” of a sale is “‘a price in money paid or promised.’” NTP, 418 F.3d at 1319 (quoting Black’s Law Dictionary 1337 (7th Cir. 1999)) (emphasis added). “Plainly, the common, or usual meaning of the term sale includes those situations in which a contract has been made between two parties who agree to transfer title and possession of specific property for a price.” Enercon GmbH v. ITC, 151 F.3d 1376, 1382 (Fed. Cir. 1998) (emphasis added).

By definition, distribution of a product for free does not constitute a transfer for a price. Thus, in a case involving patents for collecting and using newborn umbilical cord blood, the Federal Circuit found no “sale” where “[t]he defendants simply transferred the cord blood units to

10


designated transplanters upon direction from the families. Such a transaction does not constitute a ‘sale’ to a transplanter under any definition of the term ‘sale.’” PharmaStem Therapeutics, Inc. v. Viacell, Inc., 491 F.3d 1342, 1359 (Fed. Cir. 2007). Similarly, district courts have concluded that distributing free samples does not qualify as a sale within the meaning of section 271(a). See Cabot Corp. v. WGM Safety Corp., 562 F. Supp. 891, 892 (D. Mass. 1983).

If free distribution is not a sale, then offering to distribute something for free cannot be an offer for sale. See Rotec, 215 F.3d at 1255; HollyAnne Corp. v. TFT, Inc., 199 F.3d 1304, 1309-10 (Fed. Cir. 1999). “If, as in this case, the offer included none of the hallmarks of a potential commercial transaction (i.e., a quotation of a price and a product description, or a communication that the item was available for purchase by the intended donee), it cannot be considered an offer for sale.” HollyAnne, 199 F.3d at 1310. Applied to the facts of this case, Google does not “offer” Android for sale. Rather, it places the Android source code on a website from which others can download it free of charge.

Oracle has also argued that Google “uses” Android within the meaning of the statute when it makes Android available for free download. That requires a strained reading of the term. “The ordinary meaning of ‘use’ is ‘to put into action or service.’” Med. Sol’ns, Inc. v. C Change Surgical LLC, 541 F.3d 1136, 1141 (Fed. Cir. 2008) (quoting NTP, 418 F.3d at 1317). The Federal Circuit has held that displaying a product and distributing brochures were not “uses” because neither act put the product into service. See Med. Sol’ns, 541 F.3d at 1141 (“Much more would be needed to qualify as an infringing use, including that the device was used to heat medical items at the show.”). And other courts have held that “using a device means using it to perform its actual function or service, not using it as a demonstrative display.” Id. at 1141 n.4 (citing Union Asbestos & Rubber Co. v. Evans Prods. Co., 328 F.2d 949, 951 (7th Cir. 1964); Advanced Semiconductor Materials Am., Inc. v. Applied Materials, Inc., No. 93-20853, 1995 WL 419747, at *6 (N.D. Cal. July 10, 1995)) (emphasis added). Simply making source code available on a website—whether for a price or for free—does not, under that definition, put the product into service. While stored on a network server and available via a website, the Android source code does not “perform its actual function or service.” Id. To do that, it must first be downloaded and

11


compiled by a developer. To adopt Oracle’s contrary position would make the term “use” so broad that it would render the other statutory terms superfluous.

In short, there is no evidence that Google performs any infringing acts. Judgment as a matter of law is therefore appropriate.

V. THE ’104 PATENT IS INVALID FOR LATE BROADENING OF REISSUE
CLAIMS UNDER 35 U.S.C. § 251.

The ’104 patent is invalid for failure to comply with 35 U.S.C. § 251, which requires broadening reissue applications to be filed within two years of the date the original patent issued. There is no dispute that the claims of the ’104 patent are broader than the claims of the patent from which it reissued, U.S. Patent No. 5,367,685 (“the ’685 patent”). See TX 4015 (reflecting that reissued claims 11-41 are not limited to a hybrid-compiler-interpreter, unlike original claims 1-10, which require a compiler). Nor is there any dispute that the ’104 patent resulted from a continuing application that was filed more than two years after the ’685 patent issued. See id. at [22], [64] (reflecting Mar. 3, 1999 as filing date of ’104 patent application, and Nov. 22, 1994 as issue date of ’685 patent). The patent statute requires that broadening reissue applications be filed within two years of issuance of the original patent. 35 U.S.C. § 251. Although the U.S. Court of Appeals for the Federal Circuit has recently concluded that broadening claims filed more than two years after the issue date of the original patent may be valid if the reissue matures out of a continuation of a timely-filed broadening application, In re Staats, 671 F.3d 1350, 1356 (Fed. Cir. 2012), the Court essentially invited a petition for rehearing en banc. Id. at 1356. Google believes that the case will be reheard and the decision will be reversed, requiring the invalidation of the claims of the ’104 patent under the plain terms of the statute. Google therefore moves for judgment as a matter of law to preserve this issue for appeal.

Notably, while the claims of the ’104 patent are narrower than those of the ’685 patent because they all include the limitation that symbolic references be contained in the instructions, the claims of the ’104 patent are also broader in that they eliminate the requirement of generating executable code and compilation means. See TX 4015. Thus, though narrower in one respect, the claims of the ’104 patent have nevertheless been broadened for purposes of 35 U.S.C. § 251.

12


A claim of a reissue application is broader in scope than the original claims if it contains within its scope any conceivable apparatus or process which would not have infringed the original patent. A reissue claim that is broader in any respect is considered to be broader than the original claims even though it may be narrower in other respects.
See Tillotson, Ltd. v. Walbro Corp., 831 F.2d 1033, 1037 n.2 (Fed. Cir. 1987) (emphasis added).

For these reasons, Google is entitled to judgment as a matter of law that the claims of the ’104 patent are invalid.

VI. AS TO COUNTS V AND VII, GOOGLE IS ENTITLED TO JUDGMENT AS A
MATTER OF LAW OF NO WILLFUL INFRINGEMENT

It is undisputed that Google did not receive actual notice of the ‘104 patent or the ’520 patent—a prerequisite for a finding of willful infringement—until July 20, 2010, only twenty-three days before this lawsuit was filed on August 12, 2010. RT 3100:10-3101:2. See In re Seagate Technology, LLC, 497 F.3d 1360, 1371 (Fed. Cir. 2007); see also Gustafson, Inc. v. Intersystems Industrial Prods., Inc., 897 F.2d 508, 511 (Fed. Cir. 1990) (“[A] party cannot be found to have ‘willfully’ infringed a patent of which the party had no knowledge.”).

To establish willful infringement, Oracle must first show by clear and convincing evidence that Google acted “despite an objectively high likelihood that its actions constituted infringement of a valid patent.” Seagate, 497 F.3d at 1371. Three weeks of total pre-suit exposure to and awareness of each of the original seven patents-in-suit is per se insufficient to support a finding of objective recklessness as required under Seagate. See Finisar Corp. v. DirecTV Group, Inc., 523 F.3d 1323, 1339 (Fed. Cir. 2008) (finding no willful infringement even where accused infringer did not obtain opinion of counsel until over one year after it received a notice letter from patentee); see also Gustafson, 897 F.2d at 511 (“Nor is there a universal rule that to avoid willfulness one must cease manufacture of a product immediately upon learning of a patent, or upon receipt of a patentee’s charge of infringement, or upon the filing of suit.”). Objective recklessness cannot be established by any action taken by, or inaction by, Google during the three weeks following notice of seven complex patents.2 Following actual notice of

______________________

2 As ordered by the Court on May 14, 2012, Oracle may not rely on any post-filing activity to prove willful patent infringement by Google:

Here is the answer. This is going to be a mess if we get into post complaint. So no post complaint. Period. We’re going to go with the ordinary rule under Seagate and we will craft a sentence in the jury instruction that tells them not to speculate about events that occurred after the filing of the complaint and that the period for proving willfulness is up to the date of the complaint. . . . So the ruling is going to be, we measure things up to the date of the filing of the complaint.
[RT 3902:15-3903:17 (Court).]

13


the patents-in-suit, Google promptly studied the patents, investigated the merits of Oracle’s patent infringement allegations and developed sound legal defenses to those allegations. See, e.g., Answer to Plaintiff’s Complaint (Dkt. No. 32); see also Gustafson, 897 F.2d at 511 (“Exercising due care, a party may continue to manufacture and may present what in good faith it believes to be a legitimate defense without risk of being found on that basis alone a willful infringer. That such a defense proves unsuccessful does not establish that infringement was willful.”) (citation omitted).

No evidence at trial suggested that Google received actual notice of the ‘104 patent or the ’520 patent at any point in time prior to July 20, 2010. [See, e.g., RT 3771:20-:25 (Gupta Dep. Tr. (July 26, 2011) 133:2-:15, 239:9-:20) (explaining that Java-related patents never came up during the partnership negotiations between Google and Sun).] Oracle attempts to base Google’s actual notice on a book co-authored by Tim Lindholm in 1997, which refers to U.S. Patent No. 5,367,685 (“the ’685 patent”), the original patent that eventually reissued as the ’104 patent. TX 25, TX 4015. This book alone is insufficient to establish that Google had actual notice of the ’104 patent prior to July 20, 2010. First, the reference to the ’685 patent in the book predates Mr. Lindholm’s arrival at Google in 2005 by eight years [RT 3033:5-6] and his August 6, 2010 email to Andy Rubin and Ben Lee regarding a Java license by thirteen years. [TX 10.] Since joining Google, he has had no technical involvement with Android or Java. [RT 3033:5-3035:1.] Second, Mr. Lindholm testified that he was personally unfamiliar with the ’685 patent and did not recall who included it in the book. [RT 3022:17-3023:13.] Indeed, in the second version of the book, published in 1999, the entire chapter referring to the ’685 patent was removed. [TX 987.] Third, even if Mr. Lindholm had actual notice of the ’685 patent, such notice is insufficient

14


grounds to infer that he also had actual notice of a subsequent reissue patent. See Anascape, Ltd. V. Microsoft Corp., Civil Action No. 9:06-CV-158, 2008 WL 7182476, *2-3 (E.D. Tex. Apr. 25, 2008) (finding pre-suit notice of parent patents to the patent-in-suit insufficient to establish actual notice of the patent-in-suit and therefore insufficient as a matter of law to establish willful infringement). Finally, as described in section V above, the claims of the ’104 patent are very different from the claims of the ’685 patent—being both broader and narrower in scope.

Furthermore, even assuming Google had some general awareness that Sun had a patent portfolio, general knowledge of a patent portfolio is insufficient to support a finding of that Google acted in an objectively reckless manner specifically with respect to the patents-in-suit in the years leading up to this lawsuit. This is particularly true in light of the fact that Oracle, and its predecessor Sun Microsystems, actively encouraged and promoted Google’s development and release of the Android platform. [See, e.g., TX 2352 (Sun CEO Jonathan Schwartz’s official corporate blog post, dated Nov. 5, 2007, stating, “I just want to add my voice to the chorus of others from Sun in offering my heartfelt congratulations to Google on the announcement of their new Java/Linux phone platform, Android. Congratulations! . . . Google and the Open Handset Alliance just strapped another set of rockets to the community’s momentum . . . . With friends like Google and Red Hat, it sure seems like the momentum behind Java’s on the rise…”);3 TX 2939 (Larry Ellison’s public statement at JavaOne 2009, “We’re flattered by Android. We’re flattered. Android is very exciting. Everyone should be flattered. I think we can see lots of Java devices. Some coming from our friends at Google.”); TX 3103 (Eric Klein’s public demonstration of Java FX running on Android at JavaOne 2008).] In light of these public statements, it is unsurprising—and entirely reasonable—for Google to have believed that it had no reason to investigate the thousands of patents in Sun’s portfolio.4 [See, e.g., RT 1538:24-1539:15 (Schmidt) (“Sun management was comfortable that we had done -- that what we had

______________________

3 The record demonstrates that Mr. Schwartz’s blog reflected the official corporate opinions of Sun Microsystems rather than merely his own personal views. See TX 971 (referring to “CEO blogs” as a source of Sun’s “notifications” of its “material news” in its 2008 Form 10-K annual report to the SEC).

4 Oracle’s Chief Corporate Architect, Edward Screven, testified that Sun had thousands of patents related to Java. RT 549:12-:14 (Screven).

15


done was free and clear of any intellectual property of Sun’s.”); TX 1128 (Rubin Dep. Tr. (July 27, 2011) 14:10-:12, 14:14-15:07, 15:09-:13) (explaining that it was “not feasible to look at all the patents out there in the patent system”).] In the face of such overwhelming evidence of public support by Oracle and Sun—and the lack of any evidence of actual notice of the specific patents at issue prior to July 20, 2010—no reasonable jury could find that Google acted in an objectively reckless manner.

Moreover, following the July 20, 2010 notice of the patents-in-suit and the filing of Oracle complaint, Google developed a series of legitimate defenses to Oracle’s patent infringement allegations following its analysis of the patents-in-suit. [See, e.g., Answer to Plaintiff’s Complaint Dkt. No. 32 (asserting legal defenses of non-infringement, invalidity, unenforceability, etc.).] Nothing in the record suggests that Google’s defenses were made frivolously or in bad faith. Google’s good faith assertion of legitimate defenses to Oracle’s allegations of patent infringement cannot by itself serve as a basis for finding Google a willful infringer. Gustafson, 897 F.2d at 511; see also Advanced Fiber Technologies (AFT) Trust v. J&L Fiber Services, Inc., 674 F.3d 1365, 1377 (Fed. Cir. 2012) (affirming summary judgment of no willful infringement based in part on defendant’s presentation of “compelling non-infringement and invalidity arguments”); Spine Solutions, Inc. v. Medtronic Sofamor Danek USA, Inc., 620 F.3d 1305, 1319 (Fed. Cir. 2010) (The objective prong “tends not to be met where an accused infringer relies on a reasonable defense to a charge of infringement.”).

Finally, where the threshold objective prong of Seagate is met, “the patentee must also demonstrate that this objectively-defined risk (determined by the record developed in the infringement proceeding) was either known or so obvious that it should have been known to the accused infringer.” Seagate, 497 F.3d at 1371. Because Oracle failed to carry its burden of proof by clear and convincing evidence that the objective prong has been met based on the record, there can be no finding of willfulness and the Court need not consider the subjective prong. See Accentra Inc. v. Staples, Inc., Case No. CV 07-5862 ABC (RZx), 2011 WL 7563039, *23 (C.D. Cal. Dec. 19, 2011) (citing Uniloc USA, Inc. v. Microsoft Corp., 632 F.3d 1292, 1311 (Fed. Cir. 2011); DePuy Spine, Inc. v. Medtronic Sofamor Danek, Inc., 567 F.3d 1314, 1337 (Fed. Cir.

16


2009)). In any event, even if Oracle had been able to meet the clear and convincing standard required by the first, objective prong, Oracle failed to introduce any evidence sufficient to meet the requirements of the second, subjective prong.

For the foregoing reasons, Google is entitled to judgment as a matter of law that Oracle has not proven that Google willfully infringed the ’104 Patent or the ‘520 Patent.

* * *

Google’s Rule 50 motion is based on Google’s Motion (Dkt. 1151), Google’s May 10, 2012 oral motion for judgment as a matter of law [RT 3707-09], this brief in support and the evidence and authorities cited therein, the entire trial record, and such argument as the Court allows on this Motion.

Dated: May 16, 2012

KEKER & VAN NEST LLP

/s/ Robert A. Van Nest
By: ROBERT A. VAN NEST

Attorneys for Defendant
GOOGLE INC.

17


ATTESTATION I, Bruce W. Baber, am the ECF User whose ID and password are being used to file this Google’s Brief In Support Of Motion For Judgment As A Matter Of Law On Counts V And VII of Oracle’s Amended Complaint. In compliance with General Order 45, X.B., I hereby attest that Robert A. Van Nest has concurred in this filing. Date: May 16, 2012 /s/ Bruce W. Baber BRUCE W. BABER

18



1168

MORRISON & FOERSTER LLP
MICHAEL A. JACOBS (Bar No. 111664)
[email]
KENNETH A. KUWAYTI (Bar No. 145384)
[email]
MARC DAVID PETERS (Bar No. 211725)
[email]
DANIEL P. MUINO (Bar No. 209624)
[email address telephone fax]

BOIES, SCHILLER & FLEXNER LLP
DAVID BOIES (Admitted Pro Hac Vice)
[email address telephone fax]
STEVEN C. HOLTZMAN (Bar No. 144177)
[email address telephone fax]

ORACLE CORPORATION
DORIAN DALEY (Bar No. 129049)
[email]
DEBORAH K. MILLER (Bar No. 95527)
[email]
MATTHEW M. SARBORARIA (Bar No. 211600)
[email address telephone fax]

Attorneys for Plaintiff
ORACLE AMERICA, INC.

UNITED STATES DISTRICT COURT
NORTHERN DISTRICT OF CALIFORNIA
SAN FRANCISCO DIVISION

ORACLE AMERICA, INC.
Plaintiff,
v.
GOOGLE INC.
Defendant.

Case No. CV 10-03561 WHA

ORACLE AMERICA, INC.’S
RULE 50(A) MOTION AT THE
CLOSE OF ALL EVIDENCE FOR
PHASE II (PATENT PHASE)

Dept.: Courtroom 8, 19th Floor
Judge: Honorable William H. Alsup


TABLE OF CONTENTS

Page
I.INTRODUCTION1
II.LEGAL STANDARD FOR JUDGMENT AS A MATTER OF LAW1
III.NO REASONABLE JURY COULD FIND THAT GOOGLE DID NOT
INFRINGE THE ASSERTED CLAIMS OF THE ’104 PATENT
2
A.Android’s Resolve.c infringes claims 11, 39, 40, and 41 of the ’104 patent
because Dalvik bytecode instructions contain symbolic references
2
1.A field index is a symbolic reference that is contained in a Dalvik
bytecode instruction
2
2.The data that is obtained is the “data” that determines whether a
reference is symbolic or numeric, not the constant pool information
used to perform symbolic reference resolution
5
3.Conversion of instruction stream indices to numeric memory
locations confirms that the indices are symbolic reference—
numeric references are not resolved
7
B.Android dexopt infringes claims 27 and 29 of the ’104 patent8
C.Under the correct claim construction, dexopt resolves symbolic references
“dynamically rather than statically”
9
IV.NO REASONABLE JURY COULD FIND THAT GOOGLE DID NOT
INFRINGE THE ASSERTED CLAIMS OF THE ’520 PATENT
12
A.’520 Patent Background12
B.Android’s dx Tool Simulates Execution Of Bytecodes To Identify The
Static Initialization Of Arrays
13
1.Dr. Mitchell’s Analysis13
2.Dr. Parr Sought To Read Additional Limitations Into The Claim
Language
15
V.GOOGLE’S EQUITABLE DEFENSES FAIL16
A.Additional Facts Relevant to Google’s Equitable Defenses16
B.Google Has Not Shown that Equitable Estoppel Bars Oracle’s Patent
Infringement Claims
20
C.Google Has Not Shown that the Doctrine of Laches Applies to Oracle’s
Patent Infringement Claims
21
D.Google Has Not Shown that Oracle or Sun Waived Its Right to Assert
Patent Infringement Claims
22

i


TABLE OF CONTENTS

(continued)

Page
E.Google Has Not Shown that Oracle or Sun Gave It an Implied License to
Use Oracle’s Patents
23
VI. ALTERNATIVE GOOGLE DEFENSES THAT GOOGLE PLED BUT DID NOT
PRESENT TO THE JURY FAIL
24
A.Google Has Not Shown Patent Misuse, Use by the United States, or
Unclean Hands
24
B.Google Has Not Shown that Oracle or Sun Gave It an Express License to
Use Oracle’s Patents
24
VII.CONCLUSION24

ii


TABLE OF AUTHORITIES

Page(s)
CASES
A.C. Aukerman Co. v. R.L. Chaides Const. Co.,
960 F.2d 1020 (Fed. Cir. 1992) (en banc)
21, 22
Adidas-Am., Inc. v. Payless Shoesource, Inc.,
546 F. Supp. 2d 1029 (D. Or. 2008)
22
Carborundum Co. v. Molten Metal Equip. Innovations,
72 F.3d 872 (Fed. Cir. 1995)
24
Carpet Seaming Tape Licensing Corp. v. Best Seam, Inc.,
694 F.2d 570 (9th Cir. 1982)
21
Dream Games of Ariz., Inc. v. PC Onsite,
561 F.3d 983 (9th Cir. 2009)
24
Forrett v. Richardson,
112 F.3d 416 (9th Cir. 1997)
1
Gasser Chair Co. v. Infanti Chair Mfg. Corp.,
60 F.3d 770 (Fed. Cir. 1995)
20
Geo M. Martin Co. v. Alliance Mach. Sys. Int’l LLC,
618 F.3d 1294 (Fed. Cir. 2010)
2
In re Katz Interactive Call Processing Patent Litig.,
712 F. Supp. 2d 1080 (C.D. Cal. 2010)
22
Jacobs v. Nintendo of Am., Inc.,
370 F.3d 1097 (Fed. Cir. 2004)
23
Lucent Techs., Inc. v. Gateway, Inc.,
580 F. Supp. 2d 1016 (S.D. Cal. 2008)
22
Qualcomm Inc. v. Broadcom Corp.,
548 F.3d 1004 (Fed. Cir. 2008)
22, 23
U.S. v. Amwest Surety Ins. Co.,
54 F.3d 601 (9th Cir.1995)
23
Wang Labs., Inc. v. Mitsubishi Elecs. Am., Inc.,
103 F.3d 1571 (Fed. Cir. 1997)
23
White v. Ford Motor Co.,
312 F.3d 998 (9th Cir. 2002)
1, 2

iii


Winn v. Opryland Music Group, Inc.,
22 Fed. Appx. 728 (9th Cir. 2001)
2
Zenith Elecs. Corp. v. PDI Commc’ns Sys.,
522 F.3d 1348 (Fed. Cir. 2008)
23
STATUTES
Fed. R. Civ. P. 50(a)(1)1

iv


I. INTRODUCTION

Google infringes Claims 11, 27, 29, 39, 40, and 41 of United States Patent No. RE38,104 (“the ’104 patent”) and Claims 1 and 20 of United States Patent No. 6,061,520 (“the ’520 patent”). Google infringes the ’104 patent in two ways: the Resolve.c resolution functions that are part of the Dalvik Virtual Machine infringe Claims 11, 39, 40, and 41 and the dexopt tool that is also part of the Dalvik VM infringes Claims 27 and 29. Google infringes the ’520 through the operation of the dx tool, which is part of the Android SDK used by developers. Given the evidence in the record, Google’s patent infringement can be determined as a matter of law, as no reasonable jury could find for Google.1

Google’s indirect infringement can be determined as a matter of law along with direct infringement. The parties stipulated that indirect infringement (induced and contributory infringement) shall follow from a finding of direct infringement and need not be submitted to the jury. ECF No. 1139. In finding direct infringement as a matter of law, the Court by extension should also find indirect infringement by Google.

Google failed to meet its burden of proving its equitable defenses and either failed to preserve or present evidence on other affirmative defenses.

For these reasons, Oracle is entitled to judgment as a matter of law.

II. LEGAL STANDARD FOR JUDGMENT AS A MATTER OF LAW

Judgment as a matter of law is appropriate when “a party has been fully heard on an issue during a jury trial and the court finds that a reasonable jury would not have a legally sufficient evidentiary basis to find for the party on that issue.” Fed. R. Civ. P. 50(a)(1). In the Ninth Circuit, “[t]he test is whether ‘the evidence, construed in the light most favorable to the nonmoving party, permits only one reasonable conclusion, and that conclusion is contrary to that of the jury.’” White v. Ford Motor Co., 312 F.3d 998, 1010 (9th Cir. 2002) (quoting Forrett v. Richardson, 112 F.3d 416, 419 (9th Cir. 1997)). The Federal Circuit applies the law of the

_____________________

1 Depending on the type of claim, Google directly infringes by installing code on devices, running the devices, or developing applications. Because these elements of the claims were not disputed, Oracle does not address this aspect of direct infringement.

1


regional circuit when reviewing a district court’s grant of judgment as a matter of law in patent actions. Geo M. Martin Co. v. Alliance Mach. Sys. Int’l LLC, 618 F.3d 1294, 1300 (Fed. Cir. 2010) (citing White).

III. NO REASONABLE JURY COULD FIND THAT GOOGLE DID NOT INFRINGE
THE ASSERTED CLAIMS OF THE ’104 PATENT

The record evidence proves as a matter of law that (1) Android’s Resolve.c infringes claims 11, 39, 40, and 41 of the ’104 patent and that (2) Android dexopt infringes claims 27 and 29 of the ’104 patent. No reasonable jury could find otherwise.

A. Android’s Resolve.c infringes claims 11, 39, 40, and 41 of the ’104 patent
because Dalvik bytecode instructions contain symbolic references
The only dispute with respect to infringement by Android’s Resolve.c is whether Dalvik bytecode instructions contain “symbolic references.” RT 4106:21-22 (Jacobs); 4154:6-11 (Van Nest). Android source code and documentation, as well as the experts’ and Google engineers’ testimony, confirm that Dalvik bytecode instructions indeed contain symbolic references: the field indices and other indices that are operands in Dalvik instructions. For resolve.c, the question of “dynamic” in the Court’s construction was not presented, as resolve.c indisputably resolves references dynamically. Whether or not the references are also pointers to table entries, as Google argues, is legally irrelevant.

1. A field index is a symbolic reference that is contained in a Dalvik
bytecode instruction
A field index in a Dalvik bytecode instruction meets the Court’s definition of “symbolic reference.” The Court construed the term “symbolic reference” as “a reference that identifies data by a name other than the numeric memory location of the data, and that is resolved dynamically rather than statically.” ECF No. 137 at 22.

A field index—also called field@CCCC generally or “01” in specific examples of field indices in the trial testimony—is a reference to data to be obtained in accordance with a corresponding numerical reference, and identifies that data by a name other than the numeric memory location of the data. RT 3228:14-3229:25 (McFadden); RT 3303:2-3304:20 (Mitchell). In order to obtain data from the data object containing the value of the field, the Dalvik VM uses

2


the resolver functions of Resolve.c to resolve the field index to a numeric memory location that is then used to obtain the value. RT 3646:24-3647:25 (McFadden); RT 3308:18-3309:24 (Mitchell). The Dalvik VM resolves type indices,2 method indices, and string indices in much the same way as field indices, and they are symbolic references for the same reason. See RT 3239:17-21 (McFadden); 3310:4-3311:1 (Mitchell).

The Dalvik bytecode instruction that was the focus of both parties’ evidence and argument is the IGET instruction, which corresponds to the “LOAD ‘y’” instruction in the ’104 patent. RT 3297:10-3302:2 (Mitchell); RT 3956:2-3961:6 (August). The IGET instruction (together with the IPUT instruction) “performs the identified object instance field operation with the identified field, loading or storing into the value register.” TX 735 at 6, emphasis added. The IGET instruction contains three operands—vA, vB, and field@CCCC—where the third operand field@CCCC is the field index. TX 735 at 6; RT 3221:8-10 (McFadden). The field index in the IGET instruction identifies the field—that is, it specifies the field from which the data is to be obtained by IGET. Google’s Mr. McFadden testified:

Q. Can you explain what the iget instruction is?

A. That is the instance field get instruction. What that means is there is an object somewhere and you need to get a piece of data out of it. The data is stored in fields. So what this instruction does is it finds the instance of the object and retrieves the data from the specified field.

RT 3221:2-7 (McFadden), see also RT 3968:10-15 (August). Dr. Mitchell confirmed that the resolve instance field function call takes the field index as an argument and returns the resolved field, which is stored and then used by Dalvik to obtain the actual field data. RT 3311:23- 3312:19 (Mitchell); 3318:4-3319:13 (Mitchell).

For the field index in the IGET instruction to be a symbolic reference, it is enough that it identifies—“specifies,” in Mr. McFadden’s words—some data to be obtained, by something other than the data’s location. This satisfies the Court’s construction of “symbolic reference.”

____________________

2 A class index is a kind of type index. TX 736 at 2.

3


Android engineers McFadden and Bornstein testified that the field index contained in the instructions is not the numeric memory location of the value of the field. RT 3614:22-3615:16 (Bornstein); 3761:19-3762:6 (McFadden). In fact, “the Dalvik IGET instruction never contains the numerical memory location of the actual field data that it is supposed to get.” Id. 3761:14-18 (McFadden) (emphasis added). Dr. August also testified that the field index was not the numerical memory location of the actual field data in an object. RT 3970:20-3971:3 (August). Dr. Mitchell confirmed that the field indices and other indices, which are contained in the Dalvik bytecode instructions, “are names that are used when there is data as the program runs to find the location of data, but they, themselves, are not the location of the program data in any sense.” RT 3533:21-25 (Mitchell). This testimony proved that the field index in the IGET instruction is a symbolic reference to the field, because the field index is not and cannot be the numeric memory location of the value of the field.

That indexes such as the “01” in “52 01” (the bytecode for IGET field@0001) may also indicate the location of information in the dex file’s constant pool is not relevant. The claims do not require that a reference exclusively identify data symbolically to qualify as a symbolic reference. Moreover, there is no requirement in the ’104 patent or the Court’s claim construction that the reference to data in a symbolic reference be direct. Indeed, by definition, a symbolic reference is not the numeric memory location of the data it refers to, so it is necessarily indirect.

Because the indexes in question at least identify data by names other than numeric memory locations, they qualify as symbolic references. This reasoning is confirmed by the Court’s construction of the terms “resolve” and “resolving” to mean “at least determing the numerical memory-location reference that corresponds to the symbolic reference.” (emphasis added). The process of resolution may also include intermediate steps that refer to the constant pool, but so long as the symbolic reference “at least” used to determine the corresponding numerical memory-location, the Court’s construction of both “symbolic reference” and “resolve” is met. This provides an independent basis on which JMOL of infringement should be granted.

4


2. The data that is obtained is the “data” that determines whether a
reference is symbolic or numeric, not the constant pool information
used to perform symbolic reference resolution
An additional basis on which JMOL of infringement should be granted is that the “data” in the Court’s construction of symbolic reference (“a reference that identifies data by a name other than the numeric memory location of the data”) is the actual field data “obtained” by Dalvik—the value of a field in an “instance object”—rather than the constant pool information in the Android dex file that is the focus of Google’s arguments.

That data from an instance object is the “data” that the claimed symbolic reference refers to follows from the claim language of the’104 patent. For this issue, Claim 11 is representative:

11. An apparatus comprising:

a memory containing intermediate form object code constituted by a set of instructions, certain of said instructions containing one or more symbolic references; and

a processor configured to execute said instructions containing one or more symbolic references by determining a numerical reference corresponding to said symbolic reference, storing said numerical references, and obtaining data in accordance to said numerical references.

TX 4015, 7:5-14. Applying the Court’s construction of “symbolic reference,” the instructions contain references to data that identify the data by a name other than the numeric memory location of the data; the references are resolved to numeric memory locations, which are then stored and used to “obtain” the data.

FIG. 1B of the ’104 patent (below) shows that a symbolic reference refers to the data that is “obtained.” The figure illustrates the execution of the instruction “LOAD ‘y.’” In this instruction, the symbolic reference “y” refers to the data in the data object. RT 3298:20-21 (Mitchell). “[A]n instruction that accesses or fetches y, such as the Load instruction 14’ illustrated in FIG. 1, references the variable y by the symbolic name ‘y’.” TX 4015, 1:37-39. The symbolic reference is to the data obtained, not some other information. The experts agree that the purpose of the LOAD instruction described in the patent is to obtain the value from the data object. RT 3298:20-24 (Mitchell), 3960:25-3961:6 (August).

5


A field index in a Dalvik IGET instruction is a symbolic reference because it identifies data in the instance object by a name (the index) other than the numeric memory location. McFadden, Bornstein, August, and Mitchell all testified that the field index is not the numeric memory location of the actual field data in an object. RT 3614:22-3615:16 (Bornstein), 3761:14-3762:6 (McFadden), 3790:20-3971:3 (August), 3533:21-25 (Mitchell).

The Field ID table and the other parts of the dex file constant pool information are not “data” within the meaning of the claims. Referring to the description of the dex file format (TX 736), Mr. McFadden testified that the Field ID table is not stored in the data area of a dex file:

Q. So what this description of the overall file layout of a dex file shows is that the Field ID table is not stored in the Data area of a dex file; true, sir?

A. It’s not stored in the section that’s labeled “Data.”

Q. Not stored in the section labeled “Data” by TX 736, Google’s official definition of the dex file format; true, sir?

A. True.

RT 3754:13-19 (McFadden). The constant pool information is not the data that the instructions refer to or obtain. Mr. McFadden testified that, while the IGET instruction obtains actual field data from an object and stores it in a Dalvik register, it does not obtain the field index, string ID index, or the strings “fun” or “byte” and store any of them in a Dalvik register. RT 3759:10- 3760:23 (McFadden). Thus, even if a field index were a numeric memory location in the Field ID table, it would still nevertheless be a symbolic reference, because it also identifies the value of a field in an instance object—the only data that is relevant to the claims—by a name other than its location.

6


3. Conversion of instruction stream indices to numeric memory locations
confirms that the indices are symbolic reference—numeric references
are not resolved
The fact that the field indices are resolved to numeric references further confirms that they are symbolic references. If they were numeric references and not symbolic references, there would be no need to convert them to numeric references. But because Dalvik does convert field indices (and other instruction stream indices) to pointers (numerical references), no reasonable jury could conclude that the indices are not symbolic references.

Google’s Mr. McFadden testified:

Q. The Dalvik VM stores pointers that result from resolving the indexes?

A. Yes.

Q. And the Dalvik VM then pulls them out of storage on subsequent Dalvik bytecode executions?

A. Yes.

RT 3236:6-11 (McFadden). Mr. McFadden’s source code comments explain that the Dalvik resolving functions convert an index contained in the instruction stream into a pointer:

When a class, method, field, or string constant is referred to from Dalvik bytecode, the reference takes the form of an integer index value. This value indexes into an array of type_id_item, method_id_item, field_id_item, or string_id_item in the DEX file. The first three themselves contain (directly or indirectly) indexes to strings that the resolver uses to convert the instruction stream index into a pointer to the appropriate object or struct.
TX 46.14 at 1 (emphases added). Mr. McFadden confirmed that this was an accurate description of Dalvik. RT 3236:12-19 (McFadden). He also testified that if the instruction stream index were the numeric memory location, it would already be a pointer and there would be no reason to convert it to a pointer. RT 3234:22-3235:13 (McFadden).

That Dalvik resolves a field index to a numeric memory location means that a reasonable jury could come to only one conclusion: a field index is a symbolic reference. Under Google’s view, Dalvik resolves a numeric reference into a numeric reference. As its own witnesses testified, there would be no reason to do that. (Id.) The Court should grant judgment of infringement as a matter of law in Oracle’s favor.

7


B. Android dexopt infringes claims 27 and 29 of the ’104 patent
Oracle is also entitled to judgment as a matter of law on infringement of ’104 patent claims 27 and 29 by dexopt. Google’s engineers testified that dexopt resolves symbolic references into numerical references. See, e.g., RT 3769:8-12 (McFadden). There were only two disputed issues regarding infringement: whether Dalvik dexopt bytecode instructions contain symbolic references and whether dexopt resolves symbolic references dynamically rather than statically. See, e.g., RT 3841:2-19 (August). The first issue is the same as that with respect to Android’s Resolve.c and should be resolved in Oracle’s favor as discussed above. With respect to the second issue, the evidence at trial showed that dexopt resolves symbolic references dynamically rather than statically. No reasonable jury could find otherwise.

The Android source code documentation and admissions by Google engineers establish that dexopt resolves references dynamically. Mr. McFadden admitted that the resolution process depends on the conditions actually existing on the handset; dexopt needs to rerun when those conditions change by way of a system update. RT 3769:13-17 (McFadden). See id. at RT 3255:20-25 (admitting need to run dexopt when performing system update because memory layout could change). Dr. Mitchell agreed. RT 3330:24-3331:21 (discussing McFadden testimony). That is sufficient under the ordinary meaning of “dynamic.”

Dexopt is performed with a running Dalvik virtual machine. That dexopt runs at “runtime” is another sufficient, although not necessary, basis on which to show dynamic reference resolution. Dexopt must process dex files while the Dalvik Virtual Machine is running because it needs information only available at runtime. Android engineer Dan Bornstein admitted that dexopt processes dex files while the Dalvik Virtual Machine is running. RT 3580:21-23 (Bornstein). Similarly, when asked whether “dexopt processes the dex files when the Dalvik Virtual machine is running,” Google expert David August responded, “Sometimes.” RT 3988:14- 3989:23 (August).

Google’s internal documentation confirms that dexopt optimizations require information only available at runtime. TX 105, part of the Android documentation for dexopt, explains that dexopt is “really just a back door into the VM. It performs an abbreviated VM initialization,

8


loads zero or more DEX files from the bootstrap class path, and then sets about verifying and optimizing whatever it can from the target DEX.” TX 105 at 2. It states, in reference to the optimizations performed by the Dalvik optimizer, that “Some of these require information only available at runtime, others can be inferred statically when certain assumptions are made.” Id. at 3. As Dr. Mitchell explains, TX 105 shows “the sense in which [dexopt] is dynamic and it’s part of the runtime environment of the Android platform.” RT 3321:22-3332:16, 3989:21-23. Similarly, in TX 1094, HTC developer Kant Kang asks why dexopt has to execute during runtime instead of compile time, noting that it causes “extra cpu usage.” TX 1094. The response from Android engineers is: “What you are seeing is normal behavior” and for an explanation as to “why some of these optimizations can only be performed at runtime,” they quote from TX 105. Id. When showed this document, Google’s paid fact witness, Dan Bornstein, tried to dispute the obvious, claiming the Android engineer who responded to this customer query “must have just been confused.” RT 3580:24-3584:8.

Notwithstanding these admissions from its own engineers and documents, Google maintains that dexopt is “static” because Google documents sometimes refer to the dexopt symbolic reference resolution process as “static linking.” But calling an apple a “banana” does not change the fact that it is an apple. Likewise, calling a dynamic process “static,” as in TX 816, does not change the fact that it is dynamic.

The ordinary meaning of “dynamic” does not require “at runtime.” Mr. McFadden admitted that dexopt is dynamic if “dynamic” means “depending on conditions on the handset which can change from time to time.” See, e.g., RT 3769:23-3770:1 (McFadden). The Court should grant JMOL in Oracle’s favor.

C. Under the correct claim construction, dexopt resolves symbolic references
“dynamically rather than statically”
As set forth in Oracle’s objection to Jury Instruction 11 (ECF 1128), the Court’s construction of “symbolic reference” should be adjusted to accurately reflect the meaning of the terms “dynamic” and “static” as used in the ’104 patent and the Court’s May 9, 2011 Claim

9


Construction Order. Under the proper construction, Google’s non-infringement argument based on dynamic vs. static resolution disappears.

The ’104 patent is unambiguous as to what “static” and “dynamic” mean in connection with numeric and symbolic references. The patent uses the terms “static” and “dynamic” as adjectives to characterize numeric and symbolic references, respectively: “[T]he main interpretation routine determines if the data reference is static, i.e., numeric, or dynamic, i.e., symbolic . . . .” TX 4015, 5:11-13 (emphasis added). A numeric reference is “static” because it does not change – it directly references the memory location of data. Id. at 5:24-31 (describing “static field reference routine” used to handle numeric references). A symbolic reference is “dynamic” because it changes – it must be resolved to identify the memory location of data. Id. at 5:13-23 (describing “dynamic field reference routine” used to handle symbolic references).

The Court’s Claim Construction Order explained this very clearly – numeric references are “static” because they identify a memory location directly, while symbolic references are “dynamic” because they require resolution to a memory location:

A numeric data reference was one that identified data directly by its memorylocation address. For example, the command “load the data stored in memory slot 2” contains a numeric reference to the data stored in slot 2 (col. 1:26–41). The claimed invention would use a static subroutine to interpret this numeric data reference — all it would have to do is go get whatever data is stored in slot 2 . . . .

A symbolic data reference, on the other hand, did not identify data directly by its memory-location address. Instead, a symbolic reference identified data by a “symbolic name” (col. 1:64–67). For example, the command “load the data called y” contains a symbolic reference to the data called y. The claimed invention would use a dynamic subroutine to interpret this symbolic reference — it would have to figure out that “y” means “17” or that “y” means “the data stored in memory slot 2,” and then get the data called y (col. 5:13–19).

ECF 137 at 20-21, emphasis added.

Despite the clarity of the patent and the Court’s Claim Construction Order, the actual claim construction of “symbolic reference” is ambiguous as to the meaning of “dynamic” and “static.” As submitted to the jury, “symbolic reference” is construed to mean “a reference that identifies data by a name other than the numeric memory location of the data, and that is resolved dynamically rather than statically.” ECF 1141 at 5, emphasis added. Oracle originally objected

10


to the inclusion of the last phrase (in italics), noting that confusion might arise over the meaning of “dynamic.” ECF 132 at 2. The Court declined to remove that phrase, but explained:

Because this word [“dynamic”] comes directly from the ’104 patent, its use therein will further inform the construction of ‘symbolic reference.’ The word ‘dynamic’ is not being imported from a vacuum.
ECF 137 at 22. The Court should now apply the correct meaning of “dynamic” to dispose of Google’s non-infringement arguments.

Google exploited the ambiguity in the construction of “symbolic reference” to argue that “dynamic” refers to the timing of symbolic reference resolution, rather than the nature of the symbolic references. In its closing argument and through its witnesses, Google sought to establish that “dynamic” is sometimes understood in the industry to mean resolution “at runtime,” while “static” may be understood to mean resolution at “install time.” See RT 3762:23-3763:19 (McFadden). Irrespective of how those terms may otherwise be used, that is not how they are used in the ’104 patent. Instead, “dynamic” refers to the changeable nature of symbolic references – they must be resolved to identify the memory location of the underlying data based on memory conditions that exist at whatever time the resolution occurs. TX 4015 at 5:10-31; ECF 137 at 20-21. This is the meaning of “dynamic” that must be applied to resolve Google’s non-infringement argument.

Applying the correct meaning of “dynamic,” there is no question that Android’s dexopt dynamically resolves symbolic into numerical references. Google’s Andy McFadden confirmed that the index number contained in the IGET instruction is converted into a pointer, which he admitted was a numerical reference. RT 3234:4-18 (McFadden). While Mr. McFadden and Google deny that the index number is a symbolic reference (as previously addressed), there is no dispute that dexopt replaces it with a numerical reference. RT 3739:13-3741:16 (McFadden). That is the meaning of “dynamic” as used in the ’104 patent. Mr. McFadden further acknowledged that the resolution of index numbers into pointers is also “dynamic” in that it depends on conditions existent on the handset at the time of resolution. RT 3769:8-3770:1 (McFadden). Under the correct interpretation of “dynamic,” Google cannot dispute that dexopt resolves references dynamically.

11


IV. NO REASONABLE JURY COULD FIND THAT GOOGLE DID NOT INFRINGE
THE ASSERTED CLAIMS OF THE ’520 PATENT

Oracle proved that Google’s dx tool infringes Claims 1 and 20 of the ’520 patent. Google concedes that all steps of Claims 1 and 20 are performed except the “simulating execution” step. But the indisputable evidence is that “simulating execution” is performed by the dx tool code; indeed, it is expressly described in the code comments. Google’s defense rests solely on reading non-existent limitations into the claims. Absent that legal impropriety, no reasonable jury could find against Oracle.

Oracle’s expert, Dr. Mitchell, testified that the dx tool simulates the execution of bytecodes to determine the static initialization of arrays. The purpose of the method is to reduce the number of bytecodes needed to initialize arrays. To that end, the dx tool examines the bytecodes without executing them to determine the static initialization that they perform. The comments in the dx tool code confirm this. TX 46.16 at line 37 (“Class which knows how to simulate the effects of executing bytecode”). That is the very definition of “simulating execution” recited in the patent claims.

Google’s two counter-arguments rely on reading non-existent limitations into the claim language: (1) The dx tool does not infringe because it does not manipulate a data stack in determining static initialization of arrays; and (2) the dx tool does not infringe because it uses pattern matching to determine static initialization. Neither is a defense. The asserted claims do not require stack manipulation, so its absence from the dx tool is not exculpatory. And the asserted claims do not exclude pattern matching, so even if that forms part of the dx tool process, it still qualifies as “simulating execution” of bytecodes.

A. ’520 Patent Background
The invention of the ’520 patent addresses a problem with static array initialization by the Java virtual machine. TX 4011 (’520 patent), 1:57-2:58; RT 3334:16-3335:19 (Mitchell). Static arrays are lists of data items (such as numbers) that are used by Java programs. RT 3334:20-25 (Mitchell). For static arrays to work, they need to be initialized in the Java virtual machine. TX

12


4011, 1:57-2:52. Initialization occurs via a method (“” or “class initialization”) that uses a series of Java bytecodes to initialize the static array. Id.

As an example, the patent shows a static array written in Java source code. Id. at 1:65. When this source code is compiled, the Java compiler produces a long list of Java bytecode instructions to initialize the array. Id., 2:26-57; RT 3335:10-19 (Mitchell). This set of bytecode instructions is larger than the array itself and takes up more memory space. Id.

To reduce the bytecodes needed for initialization, the invention simulates execution of the bytecode instructions to determine the static initialization they perform. Id., 2:64-3:7. The long list of instructions is then replaced with a shorter instruction indicating the static initialization of the array. Id., 3:66-4:17. In this way, the invention saves memory space.

B. Android’s dx Tool Simulates Execution Of Bytecodes To Identify The Static
Initialization Of Arrays
Claims 1 and 20 of the ’520 patent are infringed by Android’s dx tool. As indicated in the patent claim handouts, Google admits that all steps of Claims 1 and 20 are performed by the dx tool except for the following steps:

From Claim 1

simulating execution of the byte codes of the clinit method against a memory without executing the byte codes to identify the static initialization of the array

From Claim 20

simulating execution of the code to identify the static initialization of the array. TX 1106 at 7-8. Google’s code demonstrates that the dx tool does, in fact, perform these “simulating execution” steps.

1. Dr. Mitchell’s Analysis
The dx tool is part of the Android SDK, a platform developers use to write and compile Android applications. RT 3549:25-3550:2 (Bornstein), 3253:23-3254:2 (McFadden). The first version of the dx tool was written at Google by former engineer Dan Bornstein. RT 3547:20-21 (Bornstein). Android applications written in the Java programming language are first compiled to Java bytecode using a Java compiler. RT 3547:5-10 (Bornstein). The Android dx tool is then

13


used to transform the Java bytecode files into Android dex code files. RT 3547:14-19 (Bornstein).

Because the dx tool processes Java bytecode compiled by a Java compiler, it faces the same problem described in the ’520 patent – namely, that files containing static arrays will have long lists of bytecode instructions for array initialization. RT 3338:15-3339:1 (Mitchell). The dx tool solves this problem using the patented technique; it simulates execution of the instructions and replaces them with a single instruction to initiate the array. RT 3338:19-3339:1 (Mitchell).

A code file called “Simulator.java” within the dx tool simulates execution of the initialization bytecodes to figure out what they do. TX 46.16 (Simulator.java); RT 3340:5- 3341:16 (Mitchell). The engineer comments in the code clearly state that Simulator.java is a class designed to “simulate the effects of executing bytecode”:

TX 46.16 at lines 37-43, 86-105. The file calls upon the parseInstruction and parseNewarray methods to assist with understanding the instructions. TX 46.16 at line 99; TX 46.17 at lines 211, 887; RT 3341:17-3344:7 (Mitchell). As a result of Simulator.java and the methods it invokes, the bytecode instructions are examined without being executed, their static initialization is determined, and a shorter “fast instruction” is generated to replace the long list of bytecode instructions. Id. This precisely matches the “simulating execution” step of the asserted claims.

To confirm the infringing functionality of the dx tool, Dr. Mitchell performed an experiment. RT 3344:8-3346:1 (Mitchell). He created a file containing a static array of ten elements and compiled the file to Java bytecode using a Java compiler. Id. The resulting bytecode contained roughly 50 instructions to initialize the array. Id. He then ran the bytecode through the dx tool. Id. The resulting dex file had a single, succinct instruction to initialize the array, rather than the list of 50 instructions. Id. This confirmed that the dx tool, using

14


Simulator.java, had simulated execution of the instructions, determined their static initialization, and replaced them with a shorter instruction, just as recited in the asserted claims. Id.

2. Dr. Parr Sought To Read Additional Limitations Into The Claim
Language
Google’s expert, Dr. Parr, conceded that the dx tool does “identify the static initialization of the array” by examining the “byte codes of the clinit method against a memory” and “without executing the byte codes.” RT 3793:2-5, 3807:10-14, 3820:12-22, 3821:16-23, 3822:17-3823:13. With those concessions, Dr. Parr acknowledged that the sole remaining issue was whether the dx tool process for identifying static initializations could be characterized as “simulating execution.”

On this issue, Dr. Parr offered two arguments, both dependent on importing additional limitations into the asserted claims. First, Dr. Parr said that the dx tool cannot be simulating execution of bytecodes because it does not manipulate a stack to determine static initializations of arrays. RT 3794:15-3795:21, 3801:19-21. In support, he pointed to an exemplary embodiment in the patent specification involving stack manipulation. Id. However, as Dr. Parr himself conceded, the asserted claims make no mention of stack manipulation. TX 4011, 9:47-62, 12:3-7; RT 3794:20-23. Nor has the term “simulating execution” been construed to require stack manipulation. Indeed, dependent Claim 3 includes “stack manipulation” as an express limitation, establishing that the limitation is not part of independent Claim 1. The absence of stack manipulation in the dx tool is irrelevant to infringement, as the asserted claims do not require that feature.

Second, Dr. Parr argued that the dx tool identifies static initializations through pattern matching, which he contends is distinguishable from “simulating execution” of bytecodes. RT 3798:22-3799:3. While Dr. Parr admitted that the process of creating and initializing arrays begins in the Simulator.java file, he argued that the identification of static initializations occurs in another file and involves pattern matching. RT 3800:2-3801:18, 3830:12-19, 3834:8-16, 3834:25-3835:5. Again, this argument relies on limiting the meaning of “simulating execution,” this time to exclude any pattern matching. The term has not been construed that way. There is nothing in the claim language to suggest that “simulating execution” cannot be achieved through

15


pattern matching. The meaning of “simulating execution” is apparent from the claim language itself:

simulating execution of the byte codes of the clinit method against a memory without executing the byte codes to identify the static initialization of the array
TX 4011, Claim 1 (emphasis added). In the context of the surrounding language, “simulating execution” is performed on “byte codes of the clinit method,” “without executing the byte codes,” “to identify the static initialization of the array.” Dr. Parr has admitted that those elements are performed by the dx tool. Whether or not this occurs through pattern matching, it is still “simulating execution” – i.e., identifying static initialization of bytecodes without actually executing them.

V. GOOGLE’S EQUITABLE DEFENSES FAIL

Google’s equitable defenses to Oracle’s copyright infringement claim overlap with its equitable defenses to Oracle’s patent infringement claims. Oracle’s proposed findings of fact and conclusions of law submitted after Phase I reflect the state of the record at the end of that phase and are hereby incorporated by reference. See ECF Nos. 1048 at 11-26, 30-35; ECF 1081 at 16- 37, 55-70.

In addition, Oracle identifies below further evidence introduced in Phase II of the trial relating to the equitable defenses, and highlights other evidence particularly relevant to those defenses in the context of Oracle’s patent claims. Google did not submit new evidence in Phase II that is material to its equitable defenses. Under the law that applies to Google’s equitable defenses in the patent context, judgment should be entered in Oracle’s favor.

A. Additional Facts Relevant to Google’s Equitable Defenses
During Phase I, Oracle introduced extensive evidence of the negotiations between Oracle and Google beginning in 2005 and of Google’s internal recognition of the need to take a license from Sun. See, e.g., ECF 1048 at ¶¶ 64-65, 85-86, 98-99. One of Google’s primary goals in these negotiations was to obtain a license to Sun’s patents. See, e.g., TX 2714 at 1 (Feb. 6, 2006 Rubin email) (“If you and I can define the open source license and include patent protection, then Eric will be 100% supportive”); TX 22 at 8 (Apr. 24, 2006 presentation entitled “Android/Sun

16


final approval” and describing proposed license as “includes patent grants”); TX 618 §§ 1.17, 1.22, 1.32, 3.1(d) (draft licensing agreement including license to Sun patents).

The key Google participants in the negotiations were already familiar with Sun’s patents. Andy Rubin had negotiated a license with Sun at his prior company, Danger, which included license rights to Sun patents. TX 1026 § 2.1(Sun-Danger license); TX 565 (Aug. 2, 2007 Gupta email) (“Andy cannot say he is not aware of the licensing requirements- as he had to go thru this at Danger- and we discussed this during Project Android Phase, and then during the Sun/Google collaboration attempt as well”). Mr. Rubin was specifically aware that Sun had patents relating to the virtual machine. After initially resisting on cross-examination, Mr. Rubin finally admitted that he “had discussions with Sun about patents relating to the virtual machine.” RT 3204:6- 3205:3 (Rubin). Mr. Rubin also authored several emails that showed he was aware of the need to take a license to Sun’s patents. In March 2006, for example, Mr. Rubin wrote, “I don’t see how you can open java without sun, since they own the brand and ip.” TX 18 at 1. Mr. Rubin acknowledged at trial that by “IP” he meant “Patents, copyrights and the like.” RT 1355:1-4 (Rubin). Six months later, in November 2006, in response to Sun’s announcement that it was open sourcing the Java platform, Mr. Rubin cautioned: “They still have patents and trademarks.” TX 155 at 1. Mr. Rubin explained what he meant by this remark:

Look, like I said before, I assume they're running a business, they're inventing intellectual property, they’re protecting it through the patent system. Through GPL, I didn't know what they were, but I knew that it was dangerous to use the stuff without knowing exactly what it was.
TX 1128 at Rubin Dep. Tr. 16:4-16 (emphasis added).

Tim Lindholm was another key Google representative in the negotiations. He assisted Rubin by “helping negotiate with my old team at Sun for a critical license.” TX 17 at 1. Before joining Google, Mr. Lindholm worked at Sun, specifically with the Java Virtual Machine, and was a named inventor on more than 10 Sun patents, many or all of which relate to Java virtual machines. RT 2993:5-24. He was aware of the ’104 patent in particular. Mr. Lindholm coauthored the book, The Java Virtual Machine Specification, with Frank Yellin. TX 25. Mr. Yellin also now works for Google. RT 2997:14-2998:15. Chapter 9 of that book states, “The

17


technique documented in this chapter is covered by U.S. Patent 5,367,685.” TX 25 at 389. The ’685 patent is the predecessor to the ’104. See TX 4015 at 1. Google’s argument that all claims of the ’104 patent are broader than the claims of the ’685 patent (ECF 311) means that the ’104 would cover the technology described in the chapter as well.

Despite his concern that it was “dangerous” to proceed without knowing what Sun’s intellectual property covered (TC 1128 at Rubin Dep. Tr. 16:4-16), Mr. Rubin never asked Mr. Lindholm—or anyone else on his team—to review any Sun patents or investigate whether Android technology might infringe one of Sun’s patents. RT 3140:17-3141:1 (Rubin), 3027:11- 3028:4 (Lindholm).

To counter this evidence, in its closing statement, Google trotted out the Jonathan Schwartz November 2007 blog post yet again, claiming it showed Sun had no concerns about Google’s patent infringement. RT 4193:2-13 (Google closing). But Android’s source code was not publicly released until October 21, 2008—almost a full year later. RT 1719:10-18 (Rubin). Google had not even finished developing the Android source code in November 2007, let alone publicly released it. See RT 1507:20-1508:18 (Schmidt). Mr. Schmidt’s alleged conversations with Mr. Schwartz similarly took place in late 2007 and early 2008 (id. at 1537:3-18)—again, well before Google’s source code was released and Sun could have known of Google’s infringement.

When the source code was released, Sun was in discussions with Google over a license to Java. See, e.g., TX 1058 (Oct. 7, 2008 Gupta email to Rubin) (“Many thanks for taking time to kick the discussion off yesterday”). These discussions continued. On November 24, 2008, Mr. Rubin wrote that Sun had asked him “to certify Android through the Java process and become licensees of Java.” TX 1002. In February 2009, Brett Slatkin proposed to Eric Schmidt that Google buy the rights to Java and “solve all these lawsuits we’re facing.” TX 406 at 1. Schmidt wrote back “Certainly a clever idea. I’ll ask our team to pursue.” TX 406 at 1. The proposal was also forwarded to Tim Lindholm and Bob Lee, the lead Android core libraries developer. TX 326.

18


There is a particularly revealing set of emails relating to a meeting that took place between the parties on April 29, 2009. In an email written immediately after the meeting, which was admitted in Phase II, Oracle’s account manager for Java technology and source code licensing, Leo Cizek writes that he confronted Google’s Martin Buccholz about the need for Google to take a license for Android:

Vineet,

Tom and I spoke with Martin Buccholz today. I delivered the message that they have only two options: OpenJDK or Commercial Use, which would require compatibility. I also explained that using Java in the context of customer-facing applications is considered by Sun to be commercial use. I also explained that if they choose the commercial use/compatibility option, it would have ramifications throughout Google, and I gave Android as an example.

Martin replied: “The Android group did not use any Java code in developing Dalvik; they only used the Java specifications.” Unfortunately I did not have a tape recorder running at the time!

I replied that Sun’s position is that the spec license agrmts require that any s/w created from them which is for commercial use be compatible.

TX 531.

Mr. Buccholz sent a parallel email internally at Google that same afternoon:

As expected, this does not look promising. Leo says Sun has an inflexible licensing model where Open JDK never gets any support of any kind, and the commercial version of the code does (and mostly Sun is thinking of support for binaries). Also, Sun would want any discussions with Google to involve other inter-company issues, in particular Android, which I’m sure we would want to keep separate. Android seems to be a big deal at Sun. Leo suggested that his boss, Vineet Gupta, CTO for OEM Software Systems Engineering, should have a chat with Tim Lindholm (Tim knows both of these guys) and I agreed that would be a good idea.
TX 1029 (emphasis added).

Tim Lindholm’s initial response, after stating, “I guess this isn’t surprising,” was to agree to meet with Mr. Gupta. Id. But then he thought better of it:

Actually, having said that I wonder whether this is too close to dangerous territory, and with too little chance of anything positive coming of it for us to be messing around? We really don’t want to inadvertently stir anything up for Android, and Leo has said pretty clearly that they don’t have anything for us as regards security patches. I suspect we should step away, and only respond further if Sun chases after us.

19


Id. (emphasis added). Mr. Bornstein responded (“No surprise that I think this is exactly what we should do.”). Id.

Google stepped away, but it could not hide for long. Oracle’s acquisition of Sun closed on January 27, 2010. ECF 525 at 8 Stipulated Fact No. 3. One of Mr. Ellison’s first acts was to meet personally with Mr. Schmidt about Android in March 2010 to persuade Google to become compatible with Java. RT 312:18-20 (Ellison). Several meetings took place between the two companies over the next few months, including a meeting between Mr. Ellison and Mr. Page, meetings with Andy Rubin and his boss, Alan Eustace, and a meeting on July 20, 2010 where Google admits the ’104 and ’520 patent were specifically discussed. RT 391:15-395:2 (Kurian), 2309:22-2314:12 (Catz). The lawsuit was filed on August 12, 2010.

B. Google Has Not Shown that Equitable Estoppel Bars Oracle’s Patent
Infringement Claims
To prevail on its estoppel defense, Google must prove that (1) Sun/Oracle, “through misleading conduct, led” Google “to reasonably infer that” Sun/Oracle “did not intend to enforce its patent against” Google; (2) Google “relied on this conduct;” and (3) “due to the reliance,” Google “will be materially prejudiced if” Oracle “is allowed to proceed on its claim.” Gasser Chair Co. v. Infanti Chair Mfg. Corp., 60 F.3d 770, 776 (Fed. Cir. 1995).

Google failed to prove any of these elements. The test for patent estoppel is similar to the one for copyright estoppel, so Oracle refers the Court to its analysis on that subject. See ECF 1049 at 29-31; ECF 1081 at 60-63. In particular, Google has no credible claim that it relied on Sun/Oracle’s conduct to its detriment or that its reliance was reasonable. The jury so advised in its Phase I ruling. ECF 1089 ¶ 4.B. While this advisory verdict was specifically in the context of the SSO of the copyrighted code, Google did not introduce any new material evidence in phase II that provides support for this claim, so the verdict applies equally here.

The evidence shows that negotiations between the parties over Java licensing continued throughout the relevant time period and beyond. See, e.g., RT at 492:18-22 (Page) (“I’m not sure they’ve ever broken off. Continue to have discussions to this day”); TX 531, 1002, 1029, 1058, ECF 1049 ¶¶ 85, 99-100, 133. Overwhelming evidence at trial showed Google was aware that

20


Sun had patents that covered the virtual machine technology and that it faced potential legal action by Sun in connection with Android. See, e.g., RT 3204:6-3205:3 (Rubin); RT 2993:4-24 (Lindholm); TX 18, TX 25 at 389, TX 1029, ECF 1049 ¶¶ 62-65, 130, 132, ECF 1081 ¶ 66. Google’s argument is one made up by the lawyers in hindsight. In all of its discussions with Sun and Oracle, Google never claimed that it had been led by Sun to believe that it didn’t need a license or had relied on any such belief. ECF 134, RT at 2316:1-9 (Catz). Google decided on its Android development path and implemented the infringing technology regardless of any Sun or Oracle statements, actions, or inactions, and Google has never proven otherwise. TX 1029, ECF 1049 ¶¶ 62-65, 96, 98, 114, 117. Google knew the risks of operating without a license but decided to proceed anyway.

C. Google Has Not Shown that the Doctrine of Laches Applies to Oracle’s Patent
Infringement Claims
Google has not produced evidence to raise a colorable laches defense. In patent, as in copyright, laches requires proof of the following elements: (1) “the plaintiff delayed filing suit for an unreasonable and inexcusable length of time from the time the plaintiff knew or reasonably should have known of its claim against the defendant,” and (2) “the delay operated to prejudice or injury of the defendant.” A.C. Aukerman Co. v. R.L. Chaides Const. Co., 960 F.2d 1020, 1032 (Fed. Cir. 1992) (en banc). “A district court must weigh all pertinent facts and equities in making a decision on the laches defense.” Id. at 1034 (“the length of delay, the seriousness of prejudice, the reasonableness of excuses, and the defendant’s conduct or culpability must be weighed”).

Here, Oracle filed suit on August 12, 2010, less than two years from the first time that Google made the code in Android available to the public, on October 21, 2008. RT 1719:10-18 (Rubin). Because Oracle brought suit within less than six years of learning of the infringement, there is no presumption of laches, and “the burden is upon the defendant to show that the delay was unexcused and that the defendant suffered injury as a result of the delay.” Carpet Seaming Tape Licensing Corp. v. Best Seam, Inc., 694 F.2d 570, 580 (9th Cir. 1982); A.C. Aukerman, 960 F.2d at 1038.

21


While Oracle did not delay unreasonably, negotiations with the accused infringer would justify delay in filing suit in any case. See A.C. Aukerman Co., 960 F.2d at 1033. Courts have found delay reasonable or excusable where evidence shows that for several years leading up to the start of litigation, plaintiff engaged in efforts or negotiations to license the defendant. In re Katz Interactive Call Processing Patent Litig., 712 F. Supp. 2d 1080, 1110-11 (C.D. Cal 2010). Lucent Techs., Inc. v. Gateway, Inc., 580 F. Supp. 2d 1016, 1053 (S.D. Cal. 2008) (granting plaintiff’s JMOL of advisory verdict—and holding defendant “did not prove the laches factors by a preponderance of the evidence, and even if it had, the Court would exercise its discretion and decline to apply laches in light of all the circumstances of this case.”), vacated-in-part on other grounds by 525 F.3d 1200 (Fed. Cir. 2008).

Google also failed to demonstrate material prejudice by showing that it took actions or suffered consequences that it would not have had Sun/Oracle brought suit earlier. “The courts must look for a change in the economic position of the alleged infringers during the period of delay.” A.C. Aukerman, 960 F.2d at 1033. Google’s policy was to push forward and develop Android even if it risked “making enemies along the way,” and it did not change its position in reliance on Oracle’s inaction. See Oracle’s Proposed Findings of Fact, ECF 1049, at 19-24.

Finally, “laches is not available in a case of willful infringement.” Cf. A.C. Aukerman, 960 F.2d at 1033 (conscious copying may constitute “particularly egregious conduct which would change the equities significantly in the plaintiff’s favor.”); Winn v. Opryland Music Group, Inc., 22 Fed. Appx. 728, 729 (9th Cir. 2001). As the evidence shows willful infringement here, Google may not assert the defense of laches. See Oracle’s Proposed Findings of Fact, ECF 1049, at 19-24.

D. Google Has Not Shown that Oracle or Sun Waived Its Right to Assert Patent
Infringement Claims
To prevail on its claim for waiver, Google must prove by clear and convincing evidence that Oracle or Sun, with full knowledge of the material facts, intentionally relinquished rights to enforce the ’104 or the ’520 patents. Qualcomm Inc. v. Broadcom Corp., 548 F.3d 1004, 1019- 1020 (Fed. Cir. 2008). “An implied waiver of rights will be found where there is ‘clear, decisive

22


and unequivocal’ conduct which indicates a purpose to waive the legal rights involved.” Adidas- Am., Inc. v. Payless Shoesource, Inc., 546 F. Supp. 2d 1029, 1074 (D. Or. 2008) (quoting U.S. v. Amwest Surety Ins. Co., 54 F.3d 601, 602–03 (9th Cir.1995)).

Google has presented no credible evidence that Sun/Oracle intentionally relinquished rights. Neither Sun nor Oracle ever relinquished anything. Instead both made numerous attempts to negotiate a license with Google. See section V.A. above and ECF 1081 at 68-70. Moreover, neither the November 2007 blog post from Mr. Schwartz nor the alleged meetings between Mr. Schwartz and Mr. Schmidt in late 2007 and early 2008 can support Google’s waiver defense because both took place before Google released its source in October 2008. RT 1719:10-18 (Rubin). Sun therefore could not have had “full knowledge” of the relevant facts at the time of Schwartz’s blog post. Qualcomm, 548 F.3d at 1019-20.

E. Google Has Not Shown that Oracle or Sun Gave It an Implied License to Use
Oracle’s Patents
The doctrine of implied license has no application here. In the patent infringement context, “[t]he implied license defense is typically presented ‘when a patentee or its licensee sells an article and the question is whether the sale carries with it a license to engage in conduct that would infringe the patent owner's rights.’” Zenith Elecs. Corp. v. PDI Commc’ns Sys., 522 F.3d 1348, 1360 (Fed. Cir. 2008) (granting JMOL against implied license defense, holding that “an implied license arising from sale of a component to be used in a patented combination extends only for the life of the component whose sale and purchase created the license.”); Jacobs v. Nintendo of Am., Inc., 370 F.3d 1097, 1100 (Fed. Cir. 2004) (implied license was derived from express license between Jacobs and purchaser that specifically authorized purchaser to sell accelerometers for infringing uses). Relatedly, for there to be an implied license, the plaintiff must have made an “affirmative grant of consent or permission” to the accused infringer to use the patented inventions. Wang Labs., Inc. v. Mitsubishi Elecs. Am., Inc., 103 F.3d 1571, 1581 (Fed. Cir. 1997).

23


This case could hardly be more different from the ones cited above. There was no “sale” by Oracle to Google, and no affirmative grant of permission. The record shows the reverse. See e.g., ECF 1049 at 15-19.

VI. ALTERNATIVE GOOGLE DEFENSES THAT GOOGLE PLED BUT DID NOT
PRESENT TO THE JURY FAIL

A. Google Has Not Shown Patent Misuse, Use by the United States, or Unclean
Hands
In its answer, Google asserted the defenses of patent misuse (Sixth Defense, Google Inc.’s Answer To Plaintiff’s Amended Complaint For Patent And Copyright Infringement And Amended Counterclaims (“Google Answer”) (ECF 51) at 10), use by the United States (Eighth Defense, Google’s Answer at 10), and unclean hands (Nineteenth Defense, Google’s Answer at 12). Google did not identify these defenses as remaining to be decided in the parties’ October 13, 2011 Joint Proposed Pretrial Order. (ECF 525 at 1-6.) The Court ruled that only those claims or defenses set forth in the Joint Proposed Pretrial Order remained in the case. (1/4/2012 Final Pretrial Order (ECF 675) at 1.) See Dream Games of Ariz., Inc. v. PC Onsite, 561 F.3d 983, 996 (9th Cir. 2009) (“[P]arties are typically considered bound by the statements of claims made in their pretrial order.”). Accordingly, these defenses must fail.

B. Google Has Not Shown that Oracle or Sun Gave It an Express License to Use
Oracle’s Patents
The Court should grant judgment as a matter of law to Oracle on Google’s express license defense. An express license is a defense to patent infringement. See Carborundum Co. v. Molten Metal Equip. Innovations, 72 F.3d 872, 878 (Fed. Cir. 1995). Google presented no evidence that any user of Android (including Google itself) held an express license from Oracle or Sun to the ’104 or ’520 patents. Nor did Google argue that defense to the jury. Accordingly, Oracle should be granted judgment as a matter of law on this defense.

VII. CONCLUSION

For the foregoing reasons, Oracle is entitled to judgment in its favor on its patent infringement claims and against Google on Google’s defenses.

24


Dated: May 16, 2012

MORRISON & FOERSTER LLP

By: /s/ Michael A. Jacobs
Michael A. Jacobs
Attorneys for Plaintiff
ORACLE AMERICA, INC.

25



  


Oracle v. Google - JMOL Briefs on Patent Infringement ~mw | 132 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Corrections
Authored by: ankylosaurus on Thursday, May 17 2012 @ 08:03 PM EDT
It can be helpful to use 'wrong --> right' in the title so the mistake can be
seen by others.


---
The Dinosaur with a Club at the End of its Tail

[ Reply to This | # ]

anticipation of compensation
Authored by: Anonymous on Thursday, May 17 2012 @ 08:06 PM EDT
Google does not have an "anticipation of compensation" based on
supplying Android, nor even for OEMs or end users using Android. Its revenue for
advertising derives from the use of Google services: search, app store, mapping,
music, etc; and Android devices need not use any of those.

That is to say that any phone maker can take Android and configure it to use
non-Google services. Other makers can use different OSes and use Google services
(maybe not all of them).

[ Reply to This | # ]

Tweets from the courtroom
Authored by: feldegast on Thursday, May 17 2012 @ 08:07 PM EDT
https://twitter. com/#!/Feldegast/oracal-vs- google-trial
Feldegast tweets - https://twitter.com/#!/Feldegast

- --
IANAL
My posts are ©2004-2012 and released under the Creative Commons License Attribution-Noncommercial 2.0
P.J. has permission for commercial use.

[ Reply to This | # ]

Off-topic Discussions
Authored by: ankylosaurus on Thursday, May 17 2012 @ 08:07 PM EDT
Anything not related to the main article.

---
The Dinosaur with a Club at the End of its Tail

[ Reply to This | # ]

News picks
Authored by: feldegast on Thursday, May 17 2012 @ 08:07 PM EDT
Please make links clickable

---
IANAL
My posts are ©2004-2012 and released under the Creative Commons License
Attribution-Noncommercial 2.0
P.J. has permission for commercial use.

[ Reply to This | # ]

    Oracle v. Google - JMOL Briefs on Patent Infringement
    Authored by: Anonymous on Thursday, May 17 2012 @ 08:21 PM EDT
    Oracle doesn't get to redefine symbolic reference to define their needs? Aw...
    that's just too bad.

    My heart fails to bleed.

    MSS2

    [ Reply to This | # ]

    What if no anticipation of compensation?
    Authored by: PolR on Thursday, May 17 2012 @ 08:51 PM EDT
    Mark says:
    The most interesting argument Google sets forth is on the issue of what constitutes infringing activity. According to the patent act it is selling, offering for sale, using, making, or importing. Notably, that list of activities says nothing about distributing for free, and Google is arguing that their distribution for free of Android is not an infringing activity under the Patent Act.

    Of course, if I were Oracle I would argue that Google doesn't distribute with no anticipation of compensation, it's just that the compensation is not in the form of a license fee. I can't imagine this argument is going to go anywhere with the Court, but it is certainly an interesting argument. Can you imagine the reaction in the FOSS community if the Court would agree? Such a decision would virtually immunize FOSS from patent claims.

    How about distribution for free with no anticipation of compensation? What if the court determines that it is the anticipation of compensation that makes distribution an infringing activity? There will be repercussion on the liabilities of individual programmers and not for profit FOSS projects. The impact of patents may end up contained to for profit corporations.

    IANAL. I am just thinking loud about possibilities here.

    [ Reply to This | # ]

    Oracle v. Google - JMOL Briefs on Patent Infringement
    Authored by: Anonymous on Thursday, May 17 2012 @ 09:25 PM EDT
    Google says the law says "Except as otherwise provided in this title,
    whoever without authority makes, uses, offers to sell, or sells any patented
    invention, within the United States, or imports into the United States any
    patented invention".

    I would think Google would infringe via the "make" and "use"
    parts even if what they did doesn't count as "sell[ing]". Additionally
    if they do any of the development of the patented portions of Android outside
    the US they might violate the "import" prohibition. IANAL, but their
    argument about selling seems ridiculous and doomed unless some technicality
    prevents Oracle from asserting claims based on making or using at this point in
    the trial.

    [ Reply to This | # ]

    these JMOLs are great
    Authored by: Anonymous on Thursday, May 17 2012 @ 09:37 PM EDT
    Having each presented their patent cases before the jury, which is now
    deliberating, Google and Oracle now make the exact same arguments directly to
    the judge. :)

    I happen to agree with Google's JMOL arguments that Oracle failed to prove
    infringement of each patent (I don't know enough to have an opinion about the
    other arguments).

    I bet Judge Alsup will wait until after the jury verdict, and only grant one of
    these JMOLs if he believes the jury verdict is somehow clearly unreasonable.

    [ Reply to This | # ]

    Giving away software protects you from patent infringement?
    Authored by: Anonymous on Thursday, May 17 2012 @ 09:44 PM EDT
    "Such a decision would virtually immunize FOSS from patent
    claims." - Unless you're a Red Hat :-)

    Somehow I can't see that happening. The ramifications are
    equally as bad as that of, say, declaring API to be
    copyrightable.

    [ Reply to This | # ]

    Extremely poor immunity
    Authored by: shachar on Thursday, May 17 2012 @ 10:47 PM EDT
    Such decision, if left to stand, would immunize <b>FOSS authors</b>
    from patent infringement. Since patent law does cover use, FOSS users would
    still be at risk.

    Living in a country where software isn't patentable myself, I can totally see
    myself writing software and freeing it for anyone who can to use. In theory, I
    can do it now as well, as any supposedly infringing acts took place out of the
    jurisdiction of the patent, but we all know that this is not something to rely
    on (What's this? You distribute your software through sourceforge? That creates
    a US nexus!).

    I've heard rumors from many years ago of MS sales people hinting at Samba
    violating patents in order to curtail adoption. Such things will not be
    prevented.

    If this position is accepted, while it would be great, it will not solve the
    fundamental problem behind software patents.

    Shachar

    [ Reply to This | # ]

    Numeric memory location
    Authored by: Anonymous on Thursday, May 17 2012 @ 10:55 PM EDT
    It seems to me that the Court's claim construction of "symbolic
    reference" is incomplete because it refers to the undefined (as far as I
    know) term "numeric memory location". Oracle seems to interpret a
    numeric memory location to be what a pointer points to (a memory address),
    whereas Google interprets a numeric memory location to be an index into any
    array in memory, including both the giant array of bytes/words that is all of
    main memory (i.e. Oracle's construction) as well as other arrays of objects
    created by the programmer. As an over-educated computer scientist both
    constructions seem reasonable to me. Ironically I just Googled for "numeric
    memory location" (without the quotes) and the first hit was for
    http://en.wikipedia.org/wiki/Memory_address ; this fact is (slightly) suggestive
    that Oracle's construction is correct. I can see the jury being confused when
    faced with the impossible task of determining the meaning of a technical term
    that the judge apparently invented for this trial but never defined!

    Does anyone know why the Court didn't resolve this ambiguity when it did claim
    construction?

    [ Reply to This | # ]

    Infringing activity
    Authored by: Anonymous on Thursday, May 17 2012 @ 11:25 PM EDT
    If the patent act includes "making" and "using" as
    infringing activity, it pretty much covers the users as well as the programmers,
    unless I'm missing something. It would not protect FOSS at all.

    [ Reply to This | # ]

    immunize FOSS from patent claims?
    Authored by: Anonymous on Friday, May 18 2012 @ 05:20 AM EDT
    "Can you imagine the reaction in the FOSS community if the Court would
    agree? Such a decision would virtually immunize FOSS from patent claims."

    Although it looks like progression, I think this would practically eliminate
    paid development of software which is to be released as free software upon
    delivery, which seems to me an important business model to make money from free
    software.

    [ Reply to This | # ]

    Oracle v. Google - JMOL Briefs on Patent Infringement
    Authored by: Ian Al on Friday, May 18 2012 @ 07:10 AM EDT
    Judge: This came from the copyright registrations?

    Google: Both of them.

    Oracle: First time we've heard of this. Well into the case to learn that they are going to claim that we don't have ownership [!]. Nothing that we registered takes away from our ownership.

    Judge: The argument is that the registrations themselves used the phrase "licensed in", which means that some of the work was done [authored] by somebody else, which means that you cannot stop someone from using parts of it, but you can stop them from using the work as a whole.

    Oracle: On the 37 packages, we are not claiming that.

    Judge: [talking off the top of my head ] Rule 50 motion… are you [Google] ready to file your Rule 50 motion today? Would prevent Oracle from having to re-open. I can't just let this lie in the weeds, that just wouldn't be fair.

    Google: [Van Nest] We will file Rule 50 motion by midnight. This Monday, they said that it was a compilation.

    Judge: So the first time that this came into your mind was this Monday?

    Google: No, they brought this up on Monday.
    The judge went on to say that Oracle must present testimony to the court of what was on the original presented CDs. Oracle failed to present a representative of the law firm who could have testified. Once that point was past, there was no way of showing the asserted individual files (rangeCheck and the eight decompiled files) were marked as Sun copyright because those markings would have to be on the file extracts on the CD.

    Google had little chance of a JMOL until this point in the trial had been reached. IIRC, they had to wait until after the closing presentations on Phase 1 before legally putting the motion to the court.

    I don't see why what Google did was in any way untimely.

    ---
    Regards
    Ian Al
    Software Patents: It's the disclosed functions in the patent, stupid!

    [ Reply to This | # ]

    Infringing software machines and processes
    Authored by: Ian Al on Friday, May 18 2012 @ 07:36 AM EDT
    In Microsoft v. AT&T the Supreme Court said that an infringing software
    machine was only created when the code was installed from the final installation
    media on to a computer.

    Judge Alsup also used this judgement to rule that only devices imported or made
    in the US were in the case. All the accused devices were made outside of the US
    in the same way that the US patent-infringing Microsoft Media Player machines in
    question (spit) were made in Europe and not in the US. The State Department made
    it clear to the court that this was a matter controlled by international
    treaty.

    Google do not supply the installation media. The Supremes consider the code that
    Google make available is the equivalent of a blueprint and is not an infringing
    component of the infringing machine.

    Patented processes are only infringed by folk carrying out the whole patented
    process. Writing down the process on a piece of paper is not an infringement.
    Only people actually found to be running dx or dexopt in the USA can be
    infringing on the patented software processes. No evidence was presented to show
    such direct infringement by either Google or by third parties.

    There is the matter of incited infringement. I did not see Oracle get that into
    the jury instructions. The jury questions were all about direct infringement on
    the machine and processes by Google and no evidence was provided for incitement
    of infringement.

    It does not seem unusual to me to use the arguments made by the Supreme Court in
    a question of international software patent infringement.

    ---
    Regards
    Ian Al
    Software Patents: It's the disclosed functions in the patent, stupid!

    [ Reply to This | # ]

    A "symbolic reference" could be a squirrel
    Authored by: Gringo_ on Friday, May 18 2012 @ 11:05 AM EDT

    For Oarcle's JMOL, much of the discussion on the first patent boils down to the question, what is a "symbolic reference"?

    The Court construed the term “symbolic reference” as "a reference that identifies data by a name other than the numeric memory location of the data."

    A "symbolic reference" is "a name other than the numeric memory location of the data".

    For Oracle, as long as it is not "the numeric memory location of the data", it could be anything. In fact, for Oracle, it could be an method - just as long as it is not a numeric memory location. For Oracle, a "symbolic reference" could be a class. That meets their definition of not being a "numeric memory location". For Oracle, it could maybe be a index. That also meets their definition of not being a "numeric memory location that identifies data".

    Finally, a "symbolic reference" could be a squirrel. That also meets their definition of not being a "numeric memory location that identifies data".

    The biggest problem they have is that they keep jumping over the first part of the definition. A "symbolic reference" is no only identified by what it is not, it is also identified by what it is - a name. And no matter how you look at it, a name is not a method, a name is not a class, a name is not an index, and a name is not a squirrel. (Though a squirrel could have a name, like for example, "Fred", and squirrels eat nuts, like for example, peanuts, but that is all beside the point.)

    Oracle's JMOL contains absolutely the most absurd argument I can imagine. It is just as absurd to call a symbolic reference an index as it is to call it a squirrel. In conclusion, I think Oracle's lawyers have been eating too many nuts.

    [ Reply to This | # ]

    There's a new kid in town!
    Authored by: BJ on Friday, May 18 2012 @ 01:53 PM EDT
    And his name is Van Nest!
    That sounds Dutch enough for me to feel a bit of pride! ;-)

    OraGoogle-1166.pdf is impressively masterful!!

    disclaimer: IANAL.

    bjd



    [ Reply to This | # ]

    Oracle v. Google - JMOL Briefs on Patent Infringement
    Authored by: drewbenn on Friday, May 18 2012 @ 02:26 PM EDT
    What are the long-term legal ramifications if giving away FOSS is different from
    selling software? That seems like a *very* bad precedent to set, and I'm
    worried it would really work against FOSS in the long run.

    Does it affect the re-seller issue (the question PJ has been following with
    regards to importing products: if you get some FOSS software from someone under
    a copyleft license, can you resell it without having to perpetuate the license)?
    For good or bad?

    And for those of you who are interested in widespread adoption of FOSS: would
    that affect whether or not large organizations with rules/regulations on
    obtaining software will be able to use FOSS? The US Department of Defense
    argues that it's okay to use FOSS *because* it's "commercial software"
    (if it wasn't commercial software, government employees & departments might
    not be legally allowed to use it).
    http://dodcio.defense.gov/OpenSourceSoftwareFAQ.aspx#Q:_Is_open_source_software_
    commercial_software.3F_Is_it_COTS.3F

    [ Reply to This | # ]

    Groklaw © Copyright 2003-2013 Pamela Jones.
    All trademarks and copyrights on this page are owned by their respective owners.
    Comments are owned by the individual posters.

    PJ's articles are licensed under a Creative Commons License. ( Details )