Oracle America, Inc. v. Google Inc.

Filing 497

Declaration of DANIEL PURCELL in Support of #496 MOTION in Limine No. 5, #494 MOTION in Limine No. 3, #492 MOTION in Limine No. 1, #493 MOTION in Limine NO. 2, #495 MOTION in Limine No. 4 filed byGoogle Inc.. (Attachments: #1 Exhibit 1, #2 Exhibit 2, #3 Exhibit 3, #4 Exhibit 4, #5 Exhibit 5, #6 Exhibit 6, #7 Exhibit 7, #8 Exhibit 8, #9 Exhibit 9, #10 Exhibit 10, #11 Exhibit 11, #12 Exhibit 12, #13 Exhibit 13, #14 Exhibit 14, #15 Exhibit 15, #16 Exhibit 16, #17 Exhibit 17, #18 Exhibit 18, #19 Exhibit 19, #20 Exhibit 20, #21 Exhibit 21, #22 Exhibit 22, #23 Exhibit 23, #24 Exhibit 24, #25 Exhibit 25, #26 Exhibit 26, #27 Exhibit 27, #28 Exhibit 28, #29 Exhibit 29, #30 Exhibit 30, #31 Exhibit 31, #32 Exhibit 32, #33 Exhibit 33, #34 Exhibit 34, #35 Exhibit 35, #36 Exhibit 36, #37 Exhibit 37, #38 Exhibit 38, #39 Exhibit 39, #40 Exhibit 40)(Related document(s) #496 , #494 , #492 , #493 , #495 ) (Kamber, Matthias) (Filed on 10/7/2011)

Download PDF
EXHIBIT 9 UNITED STATES DISTRICT COURT NORTHERN DISTRICT OF CALIFORNIA SAN FRANCISCO DIVISION ORACLE AMERICA, INC. Case No. CV 10-03561 WHA Plaintiff, v. GOOGLE INC. Defendant. SUMMARY AND REPORT OF EREZ LANDAU SUBMITTED ON BEHALF OF PLAINTIFF ORACLE AMERICA, INC. IV. PERFORMANCE BENCHMARK AND TESTING ANALYSIS OF U.S. PATENT NO. 7,426,720 A. Overview 25. The baseline for these experiments was the Froyo release of Android, pulled from the Google git repository with the Google repo commands $ repo init -u git://android.git.kernel.org/platform/manifest.git -b froyo $ repo sync to initialize and sync from the Google repository. I made two copies of the repository that contained the Android system: (1) an unmodified copy to serve as a baseline for comparison and (2) a version with the zygote functionality that Oracle accuses of infringing the ’720 patent disabled. 26. I disabled the use of the accused functionality in Android as discussed in Appendix A. 27. The modification for experiments were restricted to two files: a. frameworks/base/core/java/com/android/internal/os/RuntimeInit.java and b. frameworks/base/core/jni/AndroidRuntime.cpp. In summary, the zygote process which is the initial (master) virtual machine which manages the virtual machine cloning (and thus sharing) was modified to call the new ‘exec’ method for the new created process (clone), so it re-initializes the process as a fresh new virtual machine (over running whatever was inherited from the master virtual machine) thus disabling the ’720 patent. The modifications are detailed and shown in Appendix A. 28. All workspaces were compiled and loaded to the device following the directions described at Google’s http://source.android.com/source/initializing.html. 29. The benchmarks used to test the performance of the workspaces were all Google standard applications available in the repository, as listed above. 30. I tested the performance of the repositories by running them on the HTC Nexus One with the two workspaces installed on two separate phones: (1) one phone to test the 6 unmodified Android source code (where the functionality that Oracle accuses of infringing the ’720 patent is practiced and not disabled – labeled “Original (copy-on-write)” in Exhibit A) and (2) another phone to test the modified Android source code (disabling the functionality that Oracle accuses of infringing the ’720 patent – labeled “No VM Sharing” in Exhibit A). 31. I ran all benchmark applications on both phones. 32. The accompanying charts attached as Exhibit A records the results of runs of a standard phone startup which launch all the default applications. B. Mtask ClassLoading Test 33. I combined HelloWorld and MtaskClassLoading tests in a single application with Google HelloActivity which says “hello” and does the class loading. That is to say, the MtaskClassLoading test says “hello” and does class loading of a given class list. The test is actually a modified version of android HelloActivity sample available under folder ‘development/samples/HelloActivity’ adding a call to MtaskClassLoading.main() method to do the class loading. 34. The class list is made of Android relevant preloaded classes. That is, the list of classes to load was taken from the Android preloaded class list. 35. 36. V. Test code is attached as Exhibit B. Logcat dumps are attached as Exhibits C and D. CONCLUSION 37. The performance benchmark testing shows as much as 40% memory savings (Android uses 51MB instead of 86MB) and also saves .10 second per application launch time. In other words, disabling the functionality that Oracle accuses of infringing the ’720 patent increases the memory consumption by 70% (because 86 is 1.7 times 51). 38. Memory savings were 2MB per each running application. This becomes more significant when executing many small widgets with a small amount of required unique memory consumption. Moreover, the results demonstrate that for applications that need more of the 7

Disclaimer: Justia Dockets & Filings provides public litigation records from the federal appellate and district courts. These filings and docket sheets should not be considered findings of fact or liability, nor do they necessarily reflect the view of Justia.


Why Is My Information Online?