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
Your contributions keep Groklaw going.
To donate to Groklaw 2.0:

Groklaw Gear

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


To read comments to this article, go here
Oracle v. Google - Oracle Motion for JMOL on Patent Infringement Denied ~mw
Wednesday, May 30 2012 @ 05:20 PM EDT

The Court has denied Oracle's motion for judgment as a matter or law with respect to the issue of patent infringement. ( [PDF; Oracle v. Google - JMOL Briefs on Patent Infringement"]) In issuing it order denying Oracle's motion (1201 [PDF; Text]) the Court found Oracle's arguments non-persuasive.

Oracle had argued that no reasonable jury could conclude anything but that Google had infringed the patents. Judge Alsup begged to differ. In his analysis supporting the decision Judge Alsup pointed out that Oracle never raised an objection until trial about the Court's interpretation of the phrase "symbolic reference," an objection Oracle could have raised for more than a year.

Significantly, Oracle's own expert undermined Oracle's position:

Furthermore, the testimony at trial of Oracle’s own expert, Dr. John Mitchell, supports this mutually exclusive characterization of a reference as either a numeric or symbolic reference. In his opening expert report, Dr. Mitchell labeled the indexes in the Dalvik bytecode instructions as “numeric references.” Realizing that this could be problematic to Oracle’s infringement contentions, in his trial testimony, Dr. Mitchell testified that his report was mistaken and that those indexes were instead symbolic references (see, e.g., Tr. 3490). This 180-degree change of opinion proves the mutually exclusive characterization of a reference (within the meaning of the patent claims): if a reference could be both a numeric and a symbolic reference, then Dr. Mitchell would not have needed to repudiate his expert report at trial and instead could have supplemented his report by testifying that the indexes were both numeric and symbolic references.
At the other end of the spectrum, Google's expert, Dr. August, presented credible testimony supporting Google's position that a reference could not be both numeric and symbolic. That pretty much torched Oracle with respect to the '104 patent.

On the '520 patent the issue centered on the meaning of "simulating execution." Once again, Google's expert testimony, this time from Dr. Parr, was persuasive in establishing that Android does not simulate execution; rather, it relies upon pattern matching. Again, this pretty much shot holes in Oracle's arguments. As a result, the Court denied the motion with respect to the '520 patent, as well.

The Court took one final shot at Dr. Mitchell in its conclusion:

The foregoing is sufficient but it is worth adding that Oracle’s infringement case was presented through Dr. Mitchell. A reasonable jury could have found his many “mistakes” in his report merely to be convenient alterations to fix truthful admissions earlier made before he realized the import of his admissions. For this reason, a reasonable jury could have rejected every word of his testimony.
Enough said.


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

Docket

05/30/2012 - 1201 - ORDER DENYING ORACLE MOTION FOR JUDGMENT AS A MATTER OF LAW RE PATENT INFRINGEMENT by Hon. William Alsup denying 1168 Motion for Judgment as a Matter of Law.(whalc1, COURT STAFF) (Filed on 5/30/2012) (Entered: 05/30/2012)

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

Document

1201

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 ORACLE’S
MOTION FOR JUDGMENT
AS A MATTER OF LAW RE
PATENT INFRINGEMENT

INTRODUCTION

In this patent and copyright infringement action, Oracle moves for judgment as a matter of law that Google infringed Patent Nos. RE38,104 and 6,061,520. For the reasons stated below, the motion is DENIED.

STATEMENT

The procedural and technological background of this action has already been discussed (Dkt. Nos. 137, 433). This action began in 2010 with seven asserted patents. In May 2011, a claim construction order was issued (Dkt. No. 137). Neither party filed a motion for reconsideration of that order. In January 2012, at the request of the parties, a supplemental claim construction order for additional terms was issued (Dkt. No. 704).

By the time of trial in April 2012, Oracle had reduced the number of asserted patents and claims to two patents and eight claims. This was done as an incentive to receive an earlier trial date and because the withdrawn patents had received “final rejections” in PTO reexaminations.


The issue of infringement was tried to a jury and Google dropped all affirmative defenses, including invalidity. The parties stipulated that indirect infringement (inducement and contributory infringement) would automatically follow from a finding of direct infringement (Dkt. No. 1139). Because Oracle had not disclosed an infringement theory under the doctrine of equivalents, the only issue for the jury to decide was whether Android literally infringed the asserted claims in the ’104 and ’520 patents.

The parties also narrowed down the claim limitations in disputed (TX 1106). For the ’104 patent, the dispute was whether Android met the limitation of having “instructions containing one or more symbolic references.” Claim 11 is a representative example of the claim language:

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 1106) (for illustration, the disputed limitations are underlined). All asserted claims for the ’104 patent contained the limitation that the “symbolic reference” must be in the instructions. Google stipulated that Android contained the non-underlined limitations in the asserted claims. For the ’520 patent, the dispute between the parties was whether Android satisfied the limitation of “simulating execution . . . to identify the static initialization of the array.” Claim 1 is a representative example of the claim language:

A method in a data processing system for statically initializing an array, comprising the steps of:

compiling source code containing the array with static values to generate a class file with a clinit method containing byte codes to statically initialize the array to the static values;

2


receiving the class file into a preloader;
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 by the preloader;

storing into an output file an instruction requesting the static initialization of the array; and

interpreting the instruction by a virtual machine to perform the static initialization of the array.

(col. 9). All asserted claims for the ’520 patent contained the “simulating execution” limitation.

After a week-long trial, followed by another week of jury deliberation, the jury rendered a verdict of non-infringement for all asserted claims. Oracle moves to set aside the jury verdict as a matter of law under Rule 50.

ANALYSIS

Judgment as a matter of law may be granted against a party if it “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.” Rule 50(a). “Judgment as a matter of law may be granted only where, so viewed, the evidence permits only one reasonable conclusion, and that conclusion is contrary to the jury’s verdict.” Wallace v. City of San Diego, 479 F.3d 616, 624 (9th Cir. 2007).

The final charge to the jury was and remains the complete statement of the law governing the trial issues unless a timely and proper objection to the instructions was made and the Court now agrees that the objection has merit. The post-trial motions under Rule 50 must be evaluated, therefore, in light of that statement of the law and not in light of new citations, new legal theories and/or legal variations. Rule 50 is not an occasion for yet another round of summary judgment based on new slants on the case law. Of course, an appellate court might later find that an objection to an instruction was preserved, well-taken and not harmless and so require a new trial. But until then, this Court is satisfied that the jury instructions were proper and both sides are bound by the jury instructions as the exclusive statement of the governing law for the instant action.

3


Where a party does not object to the court’s jury instruction regarding the construction of claim term, the verdict must be tested by the charge actually given under the ordinary meaning of the language of the jury instruction. Cordis Corp. v. Boston Scientific Corp., 658 F.3d 1347, 1355–56 (Fed. Cir. 2011).

[P]arties cannot reserve issues of claim construction for the stage of post-trial motions. When issues of claim construction have not been properly raised in connection with the jury instructions, it is improper for the district court to adopt a new or more detailed claim construction in connection with the JMOL motion. On JMOL, the issue here should have been limited to the question of whether substantial evidence supported the verdict under the agreed instruction. In other words, where the parties and the district court elect to provide the jury only with the claim language itself, and do not provide an interpretation of the language in the light of the specification and the prosecution history, it is too late at the JMOL stage to argue for or adopt a new and more detailed interpretation of the claim language and test the jury verdict by that new and more detailed interpretation. The verdict must be tested by the charge actually given and by giving the ordinary meaning of the language of the jury instruction.
Hewlett-Packard Co. v. Mustek Systems, Inc., 340 F.3d 1314, 1320–21 (Fed. Cir. 2003) (citations omitted).

1. THE ’104 PATENT.

As discussed, the dispute with respect to infringement of the ’104 patent was whether Android’s Dalvik bytecode instructions contained “symbolic references.” More specifically, the question for the jury was whether the field indices and operands in the Dalvik bytecode instruction stream were “symbolic references.”

A. Meaning of “Symbolic Reference.”
The jury instructions contained the Court’s May 2011 construction of the term “symbolic reference,” which was defined 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” (Dkt. No. 137 at 22; Dkt. No. 1153 at 5). In formulating this definition, the order did not adopt either parties’ proposed definition. During the May 2011 Markman proceeding, Oracle had

4


argued that the term “symbolic reference” did not need construction and that the plain meaning meant “a reference by name.”

Importantly, Oracle did not object to the use of the term “data” in the Court’s construction or request additional clarification before the claim construction’s definition went into the final jury instructions. During the charging conference, the Court specifically asked whether Oracle wanted to construe the term “data.” Oracle declined.

COURT: No one has asked for any other claim constructions. If you want me to put in a sentence that would say as to anything else it has its plain meaning as used in the patent, I can do that. But I don’t — you can’t sandbag me at the last minute and say, Judge, please give us a ruling on what “data” means. That would take me some time to sort out. So if — you know, this was the time to ask me for it. I guess you could — for good cause you could ask for it later. But, it would have to be really good cause to say at the last minute you want me to go research a legal point and do a claim construction. But I hear you saying you’re happy with the plain language.

ORACLE’S COUNSEL: We’re happy with the plain language of the claim and the claim constructions.

(Tr. 3710–11). Oracle’s answer was an unequivocal “no.” Therefore, the ordinary meaning of the term “data” in the jury instructions controls. See Cordis Corp., 658 F.3d at 1355–56.

Additionally, the jury asked a question regarding the meaning of symbolic reference during their deliberations. The jury asked whether a reference can be both a numeric reference and a symbolic reference. Over Oracle’s objections, the Court answered:

You look at whatever is in that little box and you say, does that identify data by a name other than the numeric memory location of the data? If the answer to that is that it identifies a numeric memory location of the data, then it is not a symbolic reference; it's a numeric reference. And it doesn't get transmogrified into a something else on account of what happens downstream.

But you do have to consider what happens downstream to find — to at least figure out whether or not the item that is in that box is referring to the numeric memory location of the data. You’ve got to look at least that far downstream in order to see what it’s referring to. But, once you do that — and if you decide it’s a symbolic reference, great. If you

5


decide it’s a numeric reference, that’s great, too. But it doesn’t then change because the computer marches on to one instruction after the other, and so forth.
(Tr. 4325–26). To sum up, the Court answered that a reference cannot be a “symbolic reference” for one datum and a “numeric reference” for another datum within the meaning of the claim language.

This answer was appropriate and already inherent in the claim construction. Cordis Corp., 658 F.3d at 1356. Based the patent specifications, a reference cannot be both a “symbolic reference” and a “numeric reference” within the meaning of the claims. The patent expressly stated that a reference was either a “symbolic reference or a numeric reference” (col. 2). The patent described two different subroutines that were invoked, depending on whether the reference was numeric or symbolic. There was nothing in the patent describing how to first determine whether a reference was numeric or symbolic with regard to any particular datum. The only reasonable understanding of the patent was that a reference would be recognized by an interpreter as either numeric or symbolic but not both. This understanding was inherent in the Court’s claim construction order, which stated that “[t]he ’104 patent teaches two different types of data references: numeric references and symbolic references” (Dkt. No. 137 at 20).

Furthermore, the testimony at trial of Oracle’s own expert, Dr. John Mitchell, supports this mutually exclusive characterization of a reference as either a numeric or symbolic reference. In his opening expert report, Dr. Mitchell labeled the indexes in the Dalvik bytecode instructions as “numeric references.” Realizing that this could be problematic to Oracle’s infringement contentions, in his trial testimony, Dr. Mitchell testified that his report was mistaken and that those indexes were instead symbolic references (see, e.g., Tr. 3490). This 180-degree change of opinion proves the mutually exclusive characterization of a reference (within the meaning of the patent claims): if a reference could be both a numeric and a symbolic reference, then Dr. Mitchell would not have needed to repudiate his expert report at trial and instead could have supplemented his report by testifying that the indexes were both numeric and symbolic references.

6


B. Sufficient Evidence to Support Jury’s Verdict.
There was sufficient evidence at trial to support the jury’s finding of non-infringement. At trial, the Dalvik bytecode instruction was the focus of both parties’ arguments. In particular, the parties focused on the IGET instruction. The IGET instruction retrieved a piece of data out of an instance field object (Tr. 3221). The IGET instruction contained an operand — field@CCCC — also known as the field index (Tr. 3221). Android resolved class, method, and string indices in the same way as the field indices and both parties agreed that the field index example was dispositive for all indices.

Oracle’s theory of infringement presented to the jury was that the field indices — operands in Davlik instructions — were symbolic references. In defense, Google argued that the same field indices were not symbolic references but were instead, numeric references, because they were pointers to table entries from the Field ID tables (a table in the constant pool of Android dex files). The jury sided with Google’s argument.

There was ample evidence to support the jury’s verdict of non-infringement. Google’s expert Dr. August testified that the term, “data” from the Court’s claim construction of “symbolic references” would have been understood to include data from Field ID tables in the dex files. Dr. August illustrated with an example of Android’s IGET instruction “52 01”, which instructed the computer to go to entry 01 in the Field ID table. Dr. August explained that the operand (“01”) for the IGET instruction qualified as a numeric reference because it referred to data by a numeric memory location: entry 01 in the Field IDs table. That is, the operand “01” identified data (the value at entry 01 in the Field ID table) in the constant pool by the numeric memory location, entry 01.

Q:
The premise being that the certain of said instructions containing one or more symbolic references.

And you’re saying that — well, what is “01”? Is that, in your view, a symbolic reference?

Dr. August:
No. “01” is a numeric reference because it gives you an actual numeric memory location. Right

7


here (indicating). This is the location, 01.

There’s no resolution, no search. Nothing – nothing expensive about figuring out what that instruction is referring to when it goes to the field ID table.

(Tr. 3865). His testimony took Android’s operand “01” out of the plain meaning of the Court’s “symbolic reference” definition, and thus, the claim limitations of the ’104 patent. The jury was reasonable in crediting Dr. Parr’s testimony.

Oracle’s argued (and continues to argue) that “data” in the claim construction and claims themselves referred narrowly to “the ultimate data to be obtained or used after symbolic reference resolution is performed” (Dkt. No. 1189 at 1). This argument was reasonable rejected by the jury. The values in the Field ID table in the Android dex file were “data” in the ordinary sense of the word. The jury was reasonable to adopt this understanding of the term “data” and reject Oracle’s expert Dr. Mitchell’s opinion that “data” was restricted to “ultimate data” in Android. Google’s Dr. August persuasively explained that there was no limitation regarding the type of data being referenced in the plain meaning of the Court’s claim construction. He explained on cross-examination (Tr. 3955):

Q:
Now, just to clean up a few other things. You labeled this ‘data,’ but this is actually the constant pool; true, sir?
Dr. August.
Constant pool is data.
Even adopting Oracle’s belated effort to construe “data” to mean “the ultimate data to be obtained or used after symbolic reference resolution is performed,” a reasonable jury could still find that Android did not infringe. Dr. August testified that the field data in the instance object referenced by the operand (Oracle’s definition of a “data” in Android) may itself be a reference to other data. For example, that data may reference another string in the string data table.

Q.
What can be in this instance object by way of data?
Dr. August.
Well, it could be a symbolic reference. It could be a numeric

8


* * *
Q.
Let’s talk about in Dalvik. Is the data at these entries always nonreference data, as we talked about in your technical tutorial?
Dr. August.
No, it’s not.
Q.
How do you know that?
Dr. August:
Because I write programs. And you can write programs that contain references in instances of objects.
(Tr. 4002–03). Thus, the jury was reasonable to believe that the operand “01” in Android’s instruction stream did not identify the “ultimate” data within the meaning of the claim language.

Oracle also argues Android’s operand “01” must be a symbolic reference because it was resolved and only symbolic references had to be resolved. Even if this construction were adopted, the jury was still reasonable to find that Android did not infringe. There was testimony that Android’s field indices were not resolved. As Mr. Andy McFadden explained:

Q.
And are indexes in this process being resolved?
Dr. August.
No.
Q.
Why do you say no?
Dr. August.
Well, resolution implies something is unknown, something is ambiguous. If you have an index, you know exactly where you’re going. You have the location. For symbols, you don’t know where you're going and you won’t know until you have resolved the ambiguity. So it doesn’t really make sense to say that you “resolve an index.”
(Tr. 3650–51).

Therefore, Oracle’s motion for judgment of infringement of the ’104 patent is DENIED.

2. ’520 PATENT.

Oracle argues that Android SDK’s dx tool infringes claims 1 and 20 of the ’520 patent as a matter of law. At trial, the only dispute with respect to infringement of the ’520 patent was

9


whether Android’s pattern-matching technique in its dx tool was encompassed in ’520 patent “simulating execution” process limitation. There was no dispute that the dx tool used a technique called “pattern matching” that looked for a repeating sequence of instructions used to initialize static arrays (Tr. 3800–01). The jury was reasonable to credit the testimony of Google’s expert, Professor Terence Parr, who testified that Android’s pattern-matching technique was not simulating execution because it did not go through the steps required to produce output showing what the static array would look like if the Java byte code instructions were performed.

A. Meaning of “Simulating Execution.”
Neither party requested construction of the term “simulating execution.” Neither party sought to clarify the term in the jury instructions. Therefore, the verdict must be tested under the ordinary meaning of “simulating execution.” Cordis Corp., 658 F.3d at 1355–56.

The purpose of the ’520 patent was to efficiently create an instruction for static initialization of an array for the Java virtual machine, a stack-based machine. The specification discussed static initialization only through simulating actual Java virtual machine operations: manipulation of a stack by pushing, popping, and replacing values from the top of an operand stack. Thus, the ordinary meaning of “simulating execution” is the simulation of actual Java virtual machine operations. Google’s expert, Dr. Parr, also testified that this was the plain meaning that would have been understood by those skilled in the art (Tr. 3794).

B. Sufficient Evidence to Support Jury’s Verdict.
It was undisputed that Android did not manipulate a stack to identify the initialization of an array. At trial, Professor Parr confirmed this by looking at the source code and also performing multiple experiments. As an experiment, he inserted an extra piece of bytecode that put a zero into the zeroth entry in an array — where a zero already existed at the inception of the array. Such an extraneous piece of code, when run through a program that simulated execution of byte code instructions, would create an efficient instruction with no problem because the useless instruction would end up having no effect on the eventual result (Tr. 3810). However, in his experiment, the dx tool failed to create a proper instruction when it was fed that extraneous

10


code because it failed to find a particular sequence of instructions through pattern matching (Tr. 3809–10). The jury was reasonable to find that the dx tool code did not simulate execution of the byte code within the meaning of the claim limitation.

In its Rule 50 motion, Oracle argues that the limitation of “simulating execution” must, as a matter of law, encompass Android’s dx tool because the dx tool “examines the bytecode without executing them.” This belated construction of “simulating execution” is rejected. The jury was free to reject Oracle’s evidence that Android’s pattern matching was within the plain meaning of “simulating execution.” The plain meaning of “simulating execution” does not encompass pattern matching, and there was no mention of pattern matching in the ’520 patent itself (Tr. 3521; TX 4011).

Therefore, Oracle’s motion for judgment of infringement of the ’520 patent is DENIED.

CONCLUSION

The foregoing is sufficient but it is worth adding that Oracle’s infringement case was presented through Dr. Mitchell. A reasonable jury could have found his many “mistakes” in his report merely to be convenient alterations to fix truthful admissions earlier made before he realized the import of his admissions. For this reason, a reasonable jury could have rejected every word of his testimony.

For the reasons stated, Oracle’s motion for judgment as a matter of law of infringement is DENIED.

IT IS SO ORDERED.

Dated: May 30, 2012.

/s/ William Alsup
WILLIAM ALSUP
UNITED STATES DISTRICT JUDGE

11



  View Printable Version


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 )