Sunday, October 3, 2010

Android caught in a crossfire of patents

I have previously commented on the latest complaints (brought by Microsoft against Motorola) and explained the role of the US International Trade Commission as a patent enforcement agency with a particular view to Android.

While I've been following patent disputes in our industry for some time, I can't remember that any software platform has ever been under pressure from such a diversity of patents -- held by several powerful competitors -- as Android. This is a uniquely precarious situation for Google and its partners (the vendors of Android-based smartphones and the group I mostly care about: application developers).

Under the rule of law, the defendants can seek the invalidation or narrowing of the patent claims asserted (except that some of those have already been court-validated and survived reexamination). They can furthermore argue that their products don't actually infringe.

But the defendants could also lose on all counts, which would really be dreadful for the entire Android ecosystem. It's not an exaggeration that the injunctions and import bans that have been requested would strip Android of so much functionality that the thing would be reduced to uselessness in the end.

Given the well-known strength of the patent portfolios of Apple, Oracle and Microsoft, and considering those companies' vast resources and expertise, the latter scenario (all patents valid, all of them infringed) is certainly a possibility. Even a fraction of that could already have meteoric impact.

By contrast, it would be an utterly unrealistic assumption -- wishful thinking of a dangerous kind -- that there's no fire behind all of this smoke. Those patent holders don't have a track record of instigating litigation without merit. For instance, all four patent infringement suits previously brought by Microsoft resulted in the defendants recognizing their obligation to pay.

Possible further escalation

While the current situation already appears like patent mayhem to many people, there could be even much more activity in the future.

Sooner or later we might see additional patent holders assert their rights. After Apple, no one thought of Oracle following suit five months later; after Oracle, it took only about six weeks for Microsoft to take action. No one knows who might be next and when.

The three companies who have already entered the fray could also step up their enforcement action. Besides pursuing additional targets (for example, Oracle could lodge complaints against vendors with the USITC), they could bring additional patents into play; their portfolios are certainly large enough they can find more, possibly so much more that the patents currently asserted are not even the tip of the iceberg.

So far, those Android cases relate exclusively to US patents. But those right holders own relevant patents all around the globe. In this blog posting I discussed the international equivalents of certain patents used by Apple and Oracle against Android. Apple is currently involved in a patent battle with Nokia (started by the latter) and just extended its action to the UK, another strategically important market. I could see similar extensions happening to some Android lawsuits as well. The patents are certainly in place for that, and the economic and strategic importance of these disputes is beyond doubt.

While the proposed EU directive on computer-implemented inventions was rejected by the European Parliament in 2005 (a decision for which I campaigned), those kinds of patents are enforceable in the major European markets. For instance, two of the patents asserted by Microsoft against Motorola have a European equivalent that was validated in April by the Federal Court of Germany, the highest German court in such matters (I reported).

So theoretically, an even greater number of patent holders could sue a multitude of Android-related companies in a large number of jurisdictions on several continents over hundreds of patents in total (as opposed to a few dozen). It's not all going to happen, but I have a hunch that some further escalation is more likely than not to occur unless Google alters course.

Categories of functionality at stake

I said before that if all those complaints succeed (even just the ones that have already been filed), Android would be reduced to uselessness. That's because the patents asserted cover an impressive diversity of technologies that define the user experience -- and, therefore, customer expectations -- in today's smartphone market.

To show the breadth of the patent arsenal Android faces at this point, I've grouped the different patents by field of use:

Virtual machine (application programming platform) patents

Oracle asserts seven patents obtained by Sun and relating to virtual machines (which according to Oracle read on Dalvik, the virtual machine for Android). These patents have the numbers 6,125,447; 6,192,476; 5,966,702; 7,426,720; RE38,104; 6,910,205; and 6,061,520.

Contrary to what some claim, Google couldn't have avoided the problem (and couldn't solve the problem now) by developing Dalvik as a fork of IcedTea or other GPL-based Java software. To be safe, Google would either have to use the original Java code made available by Oracle (which might not meet Google's and the Android ecosystem's requirements in terms of functionality and performance) or switch to an alternative, legally safe platform such as .NET/C#.

Should Oracle obtain the injunction it seeks, application developers would suffer. They might have to port their applications to a new development system, and depending on which one it would be, they might then miss some functionality.

User interface patents

Most of the patents asserted by Apple against HTC are UI patents. Some of them are general graphical UI (GUI) patents not even specific to smartphones, such as patent #7,362,331, patent #5,455,599, and patent #6,424,354.

Others are specific to portable devices and, especially, touchscreens, covering among other things Apple's multitouch UI: patent #7,479,949 (general multitouch patent), patent #7,657,849 (unlocking by gesture), patent #7,469,381 (scroll back and bounce), and patent #7,633,076 (can be used, among other things, to shut off the touchscreen when the phone is held to the user's ear).

Microsoft also holds numerous GUI patents and asserts one of them against Motorola: patent #5,664,133 relates to context menus.

Power and connection quality management

Stationary computers typically have a constant (if not uninterruptible) power supply and a stable network connection via a land line. By contrast, smartphones have to respond to an impending exhaustion of battery power, must be particularly economical about the use of power, and also have to adjust to fluctuations in radio signal quality.

Apple asserts the following patents relevant in this context: patent #5,920,726 (managing power conditions within a digital camera device), patent #5,848,105 (GMSK signal processors for improved communications capacity and quality), and patent #7,383,453 (saving power by reducing voltage for a temporarily idle element of a processor).

Microsoft's patent #7,644,376 covers a flexible architecture for notifying applications of state changes. I could imagine some interesting applications beyond the field of smartphones. In connection with mobile devices, this is an efficient technology for informing applications of a battery running empty or of variations in radio signal quality, enabling each application to adjust and respond to those situations in ways that greatly enhance the user experience (preventing loss of data etc.).

Flash memory management

With the random access memory (RAM) in a stationary computer, or even with storage media such as conventional hard discs, one usually writes data just as needed without worrying about whether the same block of RAM or same sector on the storage medium gets overwritten too often. Nothing lasts forever, but those conventional components don't "wear out" too easily.

By contrast, flash memory is strongly affected by the extent to which it's utilized. For a block of memory to be rewritten, it firstly has to be erased. After a number of erasure operations, a block of flash memory becomes unusable. That number depends on a device but is always somewhat limited.

Microsoft's patent #6,621,746 optimizes the management of flash memory so as to minimize the number of erasure operations performed, thereby extending the life of the memory.

General operating system (including file system, network and communications) patents

While Apple's multitouch patents received more attention, it also asserts several patents covering general operating system functionality: patent #5,481,721 (passing objects -- of object-oriented programming languages -- between processes via a proxy object), patent #5,519,867 (object-oriented multitasking), patent #6,275,983 (object-oriented operating system), patent #5,566,337 (distributing events in an operating system), patent #5,929,852 (accessing resources on connected devices/servers in an efficient way that processes different data types), patent #5,969,705 (an event handler for keeping a foreground application responsive, delegating task to background application), patent #6,343,263 (real-time signal processing system for serially transmitted data), and patent #RE39,486 (extensible, replaceable network component system).

Not surprisingly, Microsoft holds a huge number of operating system patents and asserts a few of them against Motorola.
Patent #5,579,517 and patent #5,758,352 relate to the File Allocation Table (FAT) file system and the way it stores long file names in addition to short ones. These patents have been asserted by Microsoft in previous court cases and have survived different invalidations attempts on both sides of the Atlantic. From a legal point of view, they are therefore extremely strong.

Patent #6,826,762 can be used for different purposes of API abstraction. In the smartphone context, it particularly serves to make applications independent from the Radio Interface Layer (RIL) and, therefore, from different cellular systems and radios, requiring that only a hardware-specific driver layer be replaced when switching between different types of networks.

Synchronization (email, contact data, etc.)

This is an important category with a view to the user experience, considering the extent to which smartphones are nowadays used for email and personal information (contact data) management.

Microsoft asserts three related patents against Motorola: patent #6,909,910 (updating a contact or adding a new contact from call logs in a mobile communications device), patent #6,578,054 (optimizes online/offline synchronization by eliminating redundant data transmission and allowing multiple copies of data to be synchronized via incremental changes), and patent #6,370,566 (generating meetings requests and group scheduling from a mobile device, as opposed to using the mobile device only to view such requests/events).

One of the patents asserted by Apple isn't specifically related to synchronization but can also be seen as part of this broader category: patent #5,946,647 covers a "data parser" that can identify and evaluate phone numbers or other information.

This concludes the categorized overview of the patents asserted against Android. To make a long story short: even though those patent holders have so far only asserted a tiny number of patents as compared to the breadth and depth of their portfolios, it's hard to see how Android can be competitive unless these infringement claims are resolved.

If you'd like to be updated on patent issues affecting free software and open source, please subscribe to my RSS feed (in the right-hand column) and/or follow me on Twitter @FOSSpatents.