Thursday, November 29, 2012

Nokia suing Android device makers over patent on sorting text messages (SMS) by conversation

A few hours after Nokia's arbitration victory over BlackBerry maker Research In Motion and the ensuing enforcement actions became publicly known, the Munich I Regional Court held a first hearing (the second one will be a trial) on one of Nokia's various infringement actions against Android device maker ViewSonic. The patent-in-suit, EP0982959 on a "mobile telephone user interface for short messages", is also among the 32 patents Nokia is asserting against HTC. Due to scheduling conflicts, the first hearing in the HTC litigation will take place in January, with the trials in both cases being scheduled for the same day (May 29, 2013). What's at issue here is the Android messaging app, and potentially also any custom or third-party apps that device makers may ship with their Android devices.

Apart from some of Apple's multi-touch gesture patents, the utility patents-in-suit in the major wireless disputes tend to be difficult to explain in non-technical terms. But this one is unusually straightforward. It's about sorting text messages (SMS) by the other person so they can be displayed anytime in the form of a conversation thread. The patent doesn't prevent others from implementing a threaded view of SMS conversations, but it covers the most efficient solution strategy, which is to attach a thread ID to every new message and keep all messages in a given thread together in one folder.

In his introductory remarks, Judge Andreas Mueller ("M├╝ller" in German), the judge presiding over some of Nokia's Munich actions including the ones over this patent and the three cases discussed at last week's series of first hearings, highlighted that the claimed invention sets itself apart from the prior art because it stores the relevant messages in multiple folders as opposed to a single place. This characteristic also came up in the court's preliminary infringement analysis, which was stated based on what ViewSonic's answer to Nokia's complaint represented and, as Judge Mueller stressed, subject to verification of ViewSonic's technical representations in the further process. The outcome-determinative issue is going to be that the accused messaging app stores all text messages in an SQLite database as opposed to multiple folders in a directory structure on a storage medium. While ViewSonic would be cleared of infringement if the court agreed with its related theories, Nokia's lead counsel in this litigation, Klaus Haft of Reimann Osterrieth Koehler Haft, insisted that the accused devices implement the patented invention, with the internal index of an SQLite database grouping text messages by thread in technically the same way that file systems keep track of all the files stored in a given directory.

In order to explain this, Mr. Haft made use of a flip chart in the courtroom to visualize the parallels. ViewSonic's lead counsel, Dr. Matthias Sonntag of Gleiss Lutz, initially stated that he didn't want to dignify these "suggestive little graphics" with a detailed response, but at the end of the one-hour hearing he nevertheless asked for permission to photograph the content of the flip chart.

ViewSonic's argument is centered around the fact that an SQLite database is, from the perspective of the operating system, a single file as opposed to a group of folders. But this argument is, at best, specious. The patent does not take the perspective of the file system part of the operating system. It focuses on how a messaging application stores (and accordingly retrieves) data. What appears to be one file to the operating system can actually contain multiple folders inside. A simple example would be a ZIP archive. Databases differ in how they store data in files. For example, MySQL's default storage handler, MyISAM, creates separate files for its tables, while the more powerful InnoDB storage engine creates one or more large files on a storage medium with the help of the operating system and then manages the content in such a way that it typically stores a multiplicity of databases and tablets in one or a few large files.

A fundamental flaw in ViewSonic's theory was exposed when it likened an indexed SQLite database to a "glass case containing stuffed animals, with a robot arm picking one of them randomly when a customer makes a purchase". An unsorted heap of items is a different animal than a pre-sorted database.

The file systems of operating systems are, as a matter of fact, simple databases. Some of the newer ones are not necessarily simple (for example, they can come with sophisticated full-text search functionality), but in any case, those file systems are, fundamentally, databases. There's no question that relational SQL databases, even SQLite (which is the most rudimentary one among the popular ones), come with a lot of functionality that file systems don't have, but those differences don't matter for the purposes of the asserted patent, which is only about grouping, at the time of storage, an incoming or outgoing text message. Just like an operating system stores files wherever it finds space on a storage medium (typically fragmenting files by storing different parts of their content on different parts of the medium), a database simply adds new items to the end of a table or inserts them where space has been freed up by earlier deletions. And just like a file system keeps groups of files together by means of folder IDs, a database uses one or more index fields, in this case including a thread ID. It's the index information (or directory information in the case of a file system) that organizes items as groups -- regardless of the physical storage location.

Mr. Haft explained that a storage medium has a capacity limit but there is no such thing as a folder-specific capacity limit. Folders exist because of a logical grouping. The same grouping is achieved by a database index that provides access to all items sharing a given thread ID. By contrast, a physical folder is full even if space would be available in other folders.

The functional parallels between file system folders and indexed databases are a reality in everyday computing. For example, I have a huge archive of court filings in patent cases on my hard disk. There's a folder for each lawsuit. This is a document database. I use Explorer for retrieval, and if I had stored all those documents as large binary objects in an SQL database, I would perform a SELECT command. Either way, what keeps all of the files in a given folder together just happens at the logical level with the help of a unique identifier and an index that allows efficient access, as opposed to physical storage in a drawer or a file.

Judge Mueller tends to interpret claims rather literally and, as a result, narrowly. But Nokia's arguments against ViewSonic's "one file" claim are compelling, and Nokia may very well make headway between now and the HTC hearing in January and, especially, in the build-up to the May 2013 trials. In the meantime, there will be a number of other court hearings in Munich and, starting in mid-December, some infringement trials in Mannheim (the first one of which involves the Google Play store).

If you'd like to be updated on the smartphone patent disputes and other intellectual property matters I cover, please subscribe to my RSS feed (in the right-hand column) and/or follow me on Twitter @FOSSpatents and Google+.

Share with other professionals via LinkedIn: