Yesterday the Oracle v. Google trial reached another milestone. Oracle and Google presented their closing statements to the jury on the patent infringement phase of the trial. While I posted to Twitter some comments as the statements were delivered, I want to present the arguments each side made before sending the jury to deliberate. I will refrain from making my own judgment as I did in the copyright phase because I missed most of Google’s presentations of evidence and witness testimony. I also feel that the case heavily relies on the expert testimonies of Dr. Mitchell for Oracle and Dr. August for Google, so I would want to look at the court record before making a proper determination.
If you found this through Groklaw, thanks for noticing me. I don’t have any professional connection to either party in this trial, and I started the blog to develop my own brand and make new connections that hopefully will lead to an intellectual property related position in the Silicon Valley. Okay, I guess I gave Mr. Jacobs my card when we were the federal building cafeteria, but that’s because I wanted to create some justification for sitting in court instead of hunting for jobs. With that out of the way, let’s compare the closing statements.
Oracle Closing Statement by Mr. Michael Jacobs
Oracle’s position has three key points. First, Google infringes claims 11, 27, 29, 39, 40, and 41 of United States Patent Number RE38,104, Method and Apparatus for Resolving Data References in Generated Code. Second, Google infringes claims 1 and 20 of United States Patent Number 6,061,520, Method and System for Performing Static Initialization. Third, Google’s infringement of the aforementioned patents is willful.
In phase 1 of the trial, Google raised an affirmative defense to the infringement. In the patent phase, Google admits it has no affirmative defense. Patent infringement does not allow for a fair use defense, and arguments about clean room implementation and open source material are irrelevant. Google also admits that it did not obtain any license from Oracle that might protect Google against patent infringement. Other Google arguments like Google having additional material in the product not infringing the patent and the existence of virtual machines (VMs) before Java’s creation are not legal defenses in this trial. The issue is whether Android infringes on the claims, and it does because Android adopted the basic Java architecture.
Google disputes that the instructions in the Dalvik VM contain symbolic references. According to Jury Instruction 11, a symbolic reference “identifies data by a name other than the numeric memory location of the data, and that is resolved dynamically rather than statically.” The reference in this case is an integer index value. Oracle believes that the Davlik source code describes the claim language word for word.
Numbers can be symbolic but not locations. Examples include the number on an athletic uniform, a Social Security Number, an employee ID, and a driver’s license. Oracle argues that Dr. August, Google’s expert witness, agreed with Oracle that a number could be a symbolic reference.
Claim ’104 also requires obtaining data, the actual data to which the reference refers. The claim is about obtaining data from a data object. Oracle presents that, according to Mr. McFadden, the iget instruction does this. Google’s slide about iget shows the intermediate steps in getting the value, but it still needs to get the field value. Other steps are irrelevant to an infringement should all the claim limitations be present in the product. Additionally, Dr. August admits that the iget instruction obtains data from a data object properly shown on the chart Oracle was using to demonstrate the method. The fact that Google left off the data object in its version of the chart, in Oracle’s opinion, should be a tip to who is telling the whole story.
Oracle admits that Dr. Mitchell, Oracle’s expert witness, made mistakes in his initial expert report. Mitchell corrected them after analyzing Dr. August’s expert report. Since Google is so focused on the initial report, Oracle wants the jury to conclude that the revised report is unassailable.
The iget method obtains data from a specified field. The field index in the iget instruction specifies that field from which the data is obtained. Oracle says that Mr. McFadden and Dr. August agree that the instruction does not actually contain the numeric memory data location of the actual data. Oracle also asserts that McFadden agreed with Oracle that, in the case of resolve.c, the method resolves the index contained in the instructions, and the field index contained in the instructions must be converted into a numeric memory location.
The infringement in the case of the dexopt method boils down to dynamic resolution. Mr. Bornstein called the method “static linking.” However, Oracle asserts that it is still resolved dynamically, and Dr. August tried to cover up Mr. Bornstein’s admission along these lines by applying a special definition of dynamic.
Regarding the ’520 patent, Google disputes the DX tool simulating execution. Oracle counters that Android source code says it simulates the effects of executing bytecode, and the jury should trust that. Google also argues that the method needs to manipulate a stack. Even if a stack is mentioned elsewhere in the patent, the stack does not appear in the disputed claim limitations. The Android developers knew what they were doing when they called the main label “simulation.”
The last question on the special verdict form is willfulness. To prove that Google acted recklessly, Oracle must prove two things. First, Google acted despite high likelihood that Google’s actions infringed a patent. Second, Google actually knew or should have known that its actions constituted an unjustifiably high risk of infringement of a patent.
Oracle presents a great amount of evidence that its view meets the heightened clear and convincing standard applied to the willfulness standard, in contrast with the lower burden of preponderance of the evidence (more likely than not) and higher burden of beyond a reasonable doubt. First, Google adopted Java platform components in Android. Oracle’s point is that Google didn’t do something independently that would have a lesser risk of patent infringement.
Next, Google uses Java solutions to overcome performance problems in Android. Mr. Bornstein admitted that Dalvik can run much faster by resolving a symbolic reference, as suggested in the claim language. Oracle’s performance testing, as far as Oracle is concerned, backs up Oracle’s claim that the Dalvik VM needs functionality based on the ’104 and ’520 patents to run more quickly and effectively. The performance gains for the ’520 items are smaller, but Mr. Bornstein thought they were significant enough to present them at a conference. Furthermore, Dr. August didn’t do his own testing to counter Oracle’s test results.
Oracle asserts that Google chose not to know about Sun’s Java patents. Mr. Rubin, the head of the Android project, knew it was dangerous to use stuff without actually knowing what it was. Mr. Lindholm, who was supposed to be an advisor on the Android project, did not investigate about potential intellectual property infringement, and Mr. Rubin didn’t ask Mr. Lindholm about it.
Oracle and Google in the middle of 2010 met to discuss potential infringement. The two companies even considered a licensing agreement. However, Oracle notes that Mr. Rubin did not change the Android project after the meeting happened.
In conclusion, the jury should note five factors in determining willfulness, as stated in Jury Instruction 18. First, did Google act in accordance with the standards of commerce in its industry? Second, did Google intentionally copy an Oracle product (previously a Sun product) that covered the asserted patents? Third, did Google have a reasonable basis to believe that Google did not infringe or had a reasonable defense to infringement? Fourth, did Google in good faith try to avoid infringing the asserted patents like by designed around them? Finally, did Google try to cover up any infringement? Oracle presents that Google’s product, the Dalvik VM for Android, violates the ’104 and ’520 patents and that Google infringed willfully.
Google’s Closing Statement by Mr. Robert Van Nest
This case is not about Java. The requirements are very strict, and every limitation in the claims must be found, as Jury Instruction 14 requires. With that in mind, Google starts with four points. First, the ’104 patent requires symbolic references in instructions. Second, dexopt is a static operation, not running dynamically. Third, Android uses pattern matching in the DX tool, completely different from the ’520 patent including simulating execution of bytecode. Fourth, there is no evidence that, until Oracle brought it up, Google had any knowledge of the Sun patents mentioned in this case and the potential infringment.
Google reiterated the key points mentioned in the opening statement. The first is that Google made fundamentally different design choices for Android. To clarify, Dalvik does not infringe the ’104 tech, and Android’s DX tool does not infringe the ’520 patent. Second, Google claims that it independently developed Android not knowing of Sun’s patents. Third, as far as Google is concerned, Android does not use Sun technology. Jury Instruction 12 means Oracle has the burden of proof with respect to infringement, and the infringement case relies heavily on Dr. Mitchell’s revised report, as Dr. Mitchell’s first report said indexes were numeric.
Both sides can agree that if instructions only contain numeric references, the product does not infringe on the ’104 patent. Dr. Mitchell, Google points out, admits the court’s claim construction distinguishes between using names to represent data and using numeric memory locations. Google never argued that numbers couldn’t be symbolic. Instead, Google argues that an index is a numeric reference, and the instructions use an index. Furthermore, Google says that Dr. Mitchell does not dispute that the instructions use an index of a location in a field table. The index represents the location, not anything else. Google stated out that one of Dr. Mitchell’s graphics showed something pointing to a field, but symbolic references don’t point to anything.
Google’s witnesses also suggested the instructions do not contain symbolic references. Mr. Bornstein, as Google mentioned, said that the dex files contained symbolic references but not in the bytecode instructions themselves. He wanted to have a fixed width index, up to three characters, to determine the input. Furthermore, Mr. McFadden said that if you have an index, you know exactly where you’re going. No resolution is needed because you have the location. Any resolution happens outside the instructions. Finally, Dr. August looked at all of the implementations and did not find symbolic references in the instructions.
Google maintains that if the function is performed statically, it does not infringe the ’104 patent. Google drew attention to the runtime as something Dr. Mitchell brought up. The dexopt prepares a dex file for execution and optimizes an app before an app is installed. The function does not run when the app is executing, so Google argues that the dexopt doesn’t resolve dynamically.
Google then reiterated that the ’520 patent relates to simulating executing without mentioning pattern matching. Google presented that Dr. Mitchell conceded that the dx tool uses pattern matching. Google used Mr. Bornstein’s and Dr. Parr’s testimony to confirm that the source code suggested the dx tool does not simulate execution. Both witnesses conceded that simulation is used, but Google points out the dx tool calls another file when dealing with the array that is not simulating execution. Google offered Dr. Parr’s experiment as proof of pattern matching. When pattern matching fails to find the right pattern, the program fails, and apparently that happened with the dx tool. As for Oracle disregarding the stack, the stack was important to Google because there is no point in simulating execution of a stack machine without a stack intended to be executed.
Finally, Google argues that they are not reckless in disregarding the patents. Oracle claims Google should have known about the patents, but Android was an open source project, so everything was present for the patent owners to analyze if necessary. Google once again brought up the former Sun CEO’s blog post welcoming Google into the Java community for the release of Android. Finally, to contrast with Oracle’s characterization of Mr. Rubin’s behavior, Google posited that Mr. Rubin said that there was no reason for any investigation because virtual machines were not new and that Android was not using Sun technology. Google concludes that the Dalvik VM in Android does not violate the ’104 and ’520 patents and that any infringement was not done willfully.
The jury has not yet reached a verdict on phase 2 of the trial, and it’s easy to see why. On one hand, Oracle believes Google’s employees made key concessions about the nature of the Dalvik VM, and the jury should rely on the source code, Dr. Mitchell’s expert report, and Google internal communications to conclude that Google willfully infringed Java patents. On the other hand, Google believes that the company has not made any concessions and that the jury should rely more on Dr. August’s expert report and the public pre-litigation history to find no patent infringement and, if any, no willfulness in infringing Sun’s or Oracle’s patents. I plan to keep watching the trial so I can find out how much if any Google owes to Oracle for intellectual property infringement. Until the jury comes back, I’ll have plenty of work to keep me busy, like applying for jobs and making my presence on the web more professional than my Twitter feed would suggest.