Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Oracle and Google go to Court

Oracle and Google go to Court

This item in japanese

Oracle bought Sun Microsystems to get control over the Java language, and more importantly its patents. One of the big companies it had in its sights was Google, whose Java-like programming language for Android (and its Dalvik VM) led to accusations of violated patents and copyright disputes, not helped when test code from Oracle's test suites was found in Google's repository.

The dispute has been ongoing for some time, with the initial focus of 132 claims being reduced to 3 and then later reduced further to just two patents, one of which expires in December 2012.

Last month, Judge Paul Grewal ordered the companies to attempt to negotiate a settlement. Google offered a $2.8 million settlement on condition that Oracle can prove patent infringement. However, Oracle rejected that offer as too low.

The figure was arrived from a calculation of 0.5% of Android revenues until the end of 2012 (when RE38104 expires) and 0.015% until April 2018 (when patent 6061520 expires). It's also worth noting that RE38104 has already been invalidated by the USPTO, although Oracle is expected to appeal.

The final patent in the case – 6061520 – has been deemed valid by the USPTO. Since the companies were not able to reach a settlement, the case will come in which Oracle aims to show that Android violates that patent, and if proven, ask the court to determine damages. The patent covers a system for improving performance on initialisation of static arrays:

The disclosed system represents an improvement over conventional systems for initializing static arrays by reducing the amount of code executed by the virtual machine to statically initialize an array. To realize this reduction, when consolidating class files, the preloader identifies all methods and play executes these methods to determine the static initialization performed by them. The preloader then creates an expression indicating the static initialization performed by the method and stores this expression in the .mclass file, replacing the method. As such, the code of the method, containing many instructions, is replaced by a single expression instructing the virtual machine to perform static initialization, thus saving a significant amount of memory. The virtual machine is modified to recognize this expression and perform the appropriate static initialization of an array.

One interesting side-effect of these court filings is that it exposes Google's claim that it has earned $550 million in revenue from Android between 2008 and 2011. This implies that the 200m Android devices activated until the end of 2011 have earned Google a little over $10 per Android handset per year. However, in October last year Google's conference call suggested that their mobile platform offerings, including Google Maps for iOS, was worth $2.5 billion. If the Android figure is taken away, that leaves just under $2 billion which comes from other sources, such as licensing the Maps data to Apple for the iOS platform.

The case begins on the 16th April and expected to last 8 weeks.

Rate this Article