Interesting People mailing list archives
IBM awarded patent on finite state machines! [ You got to be kidding!!!! -- rest of long message ava
From: David Farber <>
Date: Thu, 30 Jun 1994 14:07:34 -0400
Date: Wed, 29 Jun 1994 13:29:57 -0400 From: Wendell Craig Baker <wbaker () splat baker com> Subject: The Finite State Machine has been patented Every week, Gregory Aharonian (patents () world std com) mails out a list of newly-minted patents. Every week I gaze over it and there is always some few distinguished ones that just stand out and beg for a wider audience. This is but one this week. And as with football, you make the call. Patent 05317757, on its face, covers any use of a finite state machine. Although the word ``software'' is not actually used in the patent, the words ``code'' and ``process'' and the general tone of the patent imply that a software implementation is what is intended. Claim number one focuses on any use of a finite state machine whatsoever, making no mention of the intended use of such a structure. Claim 2 focuses on finite state machines with two actions in the next-state computation. Later claims add a third action. The early part of the patent reads suspiciously like someone was trying to patent the finite state machines used in a network protocol stack. As examples one can think of of TCP/IP, DECnet or SNA. Interestingly it is just this year that the term ``protocol stack'' has gained currency, especially in the PC community where many PC owners are attempting to get access to the Internet which is TCP/IP-based. ``Which protocol stack are you using? Is it a an open or closed one (general or proprietary)?'' was heard much on the exhibits floor of Internet World. If one can buy them at the corner store with a range of choices, then finite state machines in software and networking code in particular are definitely not a new invention. Later on in the patent text we find explicit mention of IBM's Advanced Peer-to-peer Network (APPN) protocol. This is a general patent on finite state machines originating from the software design of IBM's APPN networking product. The intended goals of the patent, or ``objects'' as they are called in patentese, are quite general. The ``objects'' of the patent are not the ``claims'' but rather a listing of but why the patent is a useful or non-trivial invention. They are a sort of description of how it is intended to be used. They are as follows: 1. to efficiently perform finite state machine processing in a system that is servicing multiple types of resources. 2. to perform finite state machine processing in a system having multiple resources running under different concurrent processes. 3. to perform finite state machine processing in a system, implemented in a minimum code space. 4. to perform finite state machine processing in a system, that provides for ease of maintenance 5. to provide finite state processing in a system, so that the implementations are tailored for each resource. 6. to perform finite state machine processing in a system, while maintaining modularity of the design. So, if you have a system that needs functionalities one through six, then you had better examine this patent with special attention to claim 1. Number: 05317757 Title: System and method for finite state machine processing using action vectors Issue Date: May 31, 1994 Filing Date: Feb 6, 1992 Inventors: John A. Medicke; Paul Posharow; Assignee: International Business Machines Corporation Here's the abstract so you won't have to dig through the whole thing. Abstract A common set of building block action modules perform specific tasks in the finite state machine and are strongly modular in structure. The set of building block action modules can be made up of modules for tasks generic to resource type and modules that are resource type independent. A finite state machine is created for each resource type to govern the steps of activation and deactivation of the resource. Each finite state machine, uniquely defines the new state and action processing for each resource type. To tie the building block action modules to each finite state machine, action vectors are created for each resource type. The action vector correlates a particular action selection by the finite state machine to the dispatching of one or more building block action modules. An action vector can contain a plurality of elements. Each of these elements identifies an action module to which control is passed and a function request pointer. The function pointer identifies the specific function to be performed by the designated action module. The building block action modules are invoked in the order of occurrence of the elements in the action vector. I wonder what this means for TCP/IP. Hey, does your stack violate this patent?
Current thread:
- IBM awarded patent on finite state machines! [ You got to be kidding!!!! -- rest of long message ava David Farber (Jun 30)