Software Patent of the Week: Abstraction and Subclassing Are Not Inventions

by on September 8, 2006 · 6 comments

Every week, I look at a software patent that’s been in the news. You can see previous installments in the series here. One of the amazing thing about the software patent issue is just how pervasive software patent litigation is. When I started this project, I was afraid I’d have to scramble to find a new controversy to write about each week. Boy was I wrong. Most weeks, like this one, all I’ve had to do is run a Google News search for “software patent” and there’s new lawsuit on the first page of results. This week’s dispute is between i2 and SAP over seven patents related to project management software. Here is the oldest of the seven patents.

This patent is akin to the Guatemalan database patent and the Friendster patent I covered in previous weeks: it seems to simply describe a software product in great detail, as if a list of mundane features constitutes an invention.


In addition, the patent seems to put a lot of stress on the fact that their project management software is generalizable and extensible:

The modeling needs of these varied activities can be very different. To support those variations, the operation model can be extended via a `process` extension. Different extensions each can add different fields to the operation model. A simple process extension may add a single field such as a fixed amount of time that the operation runs. A more complex process extension may add a fixed time and a per-unit time that is computed proportional to the number of units that operation performed. A much more complex process extension may add a field that is a list of other operations which are performed in sequence in order to perform this operation.

Thus, unlike traditional manufacturing software that separate routings and operations, the present invention allows a routing to be modeled as simply a particular kind of operation–an operation that consists of other operations that are run in sequence. The relationships between those sub-operations can be different depending upon the chosen extension. So, an operation can model a simple routing (a sequence of operations allowed to spread), a flow routing (a sequence of operations which must flow into one another), a set of operations that can be run at the same time, alternates (a set of alternate operations), and other combinations.

This may sound impressive to non-programmers, but this is precisely the sort of design skill that is taught in entry-level computer science classes. Indeed, abstraction (replacing several special-purpose functions or objects with a single, more general function or object) and subclassing (extending a general-purpose function or object by adding case-specific functionality) are two of the most fundamental tools in the programmer’s toolkit. It’s a quintessential example of a technique that’s obvious to those of ordinary skill in the art of computer programming.

The rest of the patent continues in the same vein. It describes the various functions of the software in gory detail. The vast majority of it describes the sort of data models that a CS undergrad would build in an entry-level database class. This patent clearly should have failed the obviousness test.

  • http://www.codemonkeyramblings.com MikeT

    Next thing you know, they’ll be trying to patent something like this: “The program is designed to use several contracts that allow a piece of functionality to be implemented differently, but provide an expected set of access points that can be leveraged in a uniform and consistent manner without knowing the details of the specific implementation.” (Aka interface types).

  • http://www.codemonkeyramblings.com MikeT

    Next thing you know, they’ll be trying to patent something like this: “The program is designed to use several contracts that allow a piece of functionality to be implemented differently, but provide an expected set of access points that can be leveraged in a uniform and consistent manner without knowing the details of the specific implementation.” (Aka interface types).

  • http://www@pff.com Noel Le

    When they do MikeT they better cite you as prior art. Or yot can file that patent and become a troll. In any case Tim, you should look at the CAFC and its rulings on the enablement and best mode patent doctrines. Basically the Court has specifically ruled that software patent apps can simply give high level functional descriptions of the invention, which has resulted in the issuance of numerous broad patents and many ridiculous patents. This has resulted in vague property lines that require expensive litigation to settle (of course in a common law system this is expected to some extent- bright lines only exists in civil codes- the current rapid fire litigations are not the fault of the system though but of broad patents). Does it mean there are no benefits from software patents or that we should eliminate them. Only if you leap to drastic conclusions. I recommend some light reading on Lemley, Chisum, Mowery, perhaps even Dam.

  • Noel Le

    When they do MikeT they better cite you as prior art. Or yot can file that patent and become a troll. In any case Tim, you should look at the CAFC and its rulings on the enablement and best mode patent doctrines. Basically the Court has specifically ruled that software patent apps can simply give high level functional descriptions of the invention, which has resulted in the issuance of numerous broad patents and many ridiculous patents. This has resulted in vague property lines that require expensive litigation to settle (of course in a common law system this is expected to some extent- bright lines only exists in civil codes- the current rapid fire litigations are not the fault of the system though but of broad patents). Does it mean there are no benefits from software patents or that we should eliminate them. Only if you leap to drastic conclusions. I recommend some light reading on Lemley, Chisum, Mowery, perhaps even Dam.

  • Steve R.

    I was idly following up links when I ran across the website “Moving to Freedom” http://www.movingtofreedom.org/.

    Scott Carpenter has a post on Ben Franklin “Ben Franklin on Patents; in which he provides a Selfless model for Sharing and Cooperation; Inspires us with his Generosity; and Lends Moral Authority to the Principles of Free Culture…” http://www.movingtofreedom.org/2006/08/31/ben-franklin-on-patents/

    He quotes Ben as saying: “as we enjoy great advantages from the inventions of others, we should be glad of an opportunity to serve others by any invention of ours; and this we should do freely and generously.”

    Ben Franklin autobiography:
    http://www.gutenberg.org/dirs/etext94/bfaut11.txt

  • Steve R.

    I was idly following up links when I ran across the website “Moving to Freedom” http://www.movingtofreedom.org/.
    <br>
    Scott Carpenter has a post on Ben Franklin “Ben Franklin on Patents; in which he provides a Selfless model for Sharing and Cooperation; Inspires us with his Generosity; and Lends Moral Authority to the Principles of Free Culture…” http://www.movingtofreedom.org/2006/08/31/ben-f…>
    He quotes Ben as saying: “as we enjoy great advantages from the inventions of others, we should be glad of an opportunity to serve others by any invention of ours; and this we should do freely and generously.”

    Ben Franklin autobiography:
    http://www.gutenberg.org/dirs/etext94/bfaut11.txt

Previous post:

Next post: