From: srctran@world.std.com (Gregory Aharonian)
Newsgroups: comp.patents
Subject: [INFO] My letter to editors on software patents
Date: 14 Oct 92 14:14:29 GMT
Organization: Basser Dept of Computer Science, University of Sydney, Australia

[ What follows is a letter I have been sending to editors of various computer ]
[ publications, in the hopes of bringing actual demographics of software      ]
[ patents to public attention. Feel free to pass these to other editors.      ]

      Here are some comments on software patents that complement the articles
that have appeared in your publication and other technical journals in recent
months.  I think your readers would be interested in some of these facts and
figures. Feel free to include all or part of it in an upcoming issue of
your publication.  If you have any questions, please email me or call me.

Greg Aharonian
Source Translation & Optimization
P.O. Box 404
Belmont, MA 02178
617-489-3727
==============================================================================


     Over the past few months, many computer publications have published a
a series of articles and letters dealing with software patents, an issue of
growing importance in the computer industry.  One thing that has struck me
about most of these texts is that most authors have little idea on what the
Patent Office is actually allowing to be patented in the field of software.
As I am in the process of preparing to publish a book actually listing all
of the software patents ever issued, I thought I would contribute to these
discussions by giving a brief report on the demographics of software patents.
I am software engineer by experience, not a patent lawyer.  In general, I
support the awarding of software patents for novel software ideas, but think
that trade secret protection and marketing prowess are the best way to exploit
software ideas.
     First, there are a tremendous number of software patents, which based
on my surveys number over 9000 from the period of the late-sixties to the
end of 1992.  In 1992 alone, about 1300 software patents will be issued.
About twenty to thirty software specific or mostly software patents are
issued each week (many software patents include some piece of hardware to
satisfy Judicial Court precedents, i.e., "A process for drawing pictures,
including a CPU, memory, a keyboard..." followed by a lengthy description of
the software concept to be patented).  Interestingly, one eighth of all
software patents are owned by IBM, and no other companies come close (the
importance being that Microsoft just paid $20,000,000 to license IBM's
software patents).  Other American companies with many software patents
include ATT and the Bell Laboratories, Xerox and DEC, while Hitachi has the
most patents by a Japanese company, along with Toshiba, Fujitsi, Fanuc, Sharp
and Mitsubishi.  I see the number of software patents continuing to grow even
faster, despite public comments and any current congressional activities.
Historically, software patents first appeared in the 1960's - for example,
patent number 3443075, titled "Man-machine communication system".
     Second, the Patent Office pretty much is awarding software patents on
any software idea, many of which are marginal in novelty, and most of which
can be successfully challenged based on prior art considerations.  Some of
the more popular categories include graphics, image processing, databases,
networking and software engineering tools.  In terms of what is patentable and
novel, based on what the Patent Office is allowing now, the threshold is quite
low.  Last year the Patent Office awarded a patent to the Air Force for
nothing more than the difference in the source code between two versions of
an atmospheric propagation code that has been in the public domain for over
fifteen years.  Many other patents are for techniques that are only marginally
different from algorithms long known and used in the computer world, like
polygon clipping in graphics.
     Third, the Patent Office, as well as most people in general, have only
a basic knowledge of software prior art.  I currently publish a directory
that has information on over 15,000 computer programs developed by government
and university facilities over the past twenty years, and have databases with
information on additional programs.  As no one in the government has such
records, the Patent Office has no where to turn (or the time) to find out
about software prior art.  The references I see in published software patents
reflect only modest efforts to report on all prior art.  One problem is that
only recently (1991) has the Patent Office had a distinct classification for
software.  Previously, software was classified across many categories, making
prior patent searches difficult.
     Fourth, software patents are failing in one area where patents are 
supposed to help.  Many software patents listed the source code to the
algorithms or programs being patented.  For example, one patent in my files
lists 100 pages of C source code for rotationally invariant optical character
recognition.  Unfortunately, with the terse information that the Patent Office
provides on awarded patents, it is difficult for other inventors and
programmers to discover and examine these listings.
     Finally, many article cite court decisions (like the Benson case) which
supposedly restrict how patents on information manipulation and algorithms
can be patented.  Obviously, few people in the Patent Office or software
community are paying attention, because there are not 1200 novel software
ideas each year.  By including enough irrelevant hardware (in view of the
software concepts being patented), most patent applications can work around
these court decisions.  You can see this when a mostly software specific
patent has a titled that starts "Apparatus and method for" when the apparatus
aspect is irrelevant.
     Despite all of the software patents issued, there is little legal
activity in terms of patent infringement, which is the best measure of the
impact of software patents.  While electronic patents infringement cases can
involve fines up to hundreds of millions of dollars, I have yet to see much
happening on the software side (mostly likely due to weak software patents).
I expect this change in the future, but for now software patents are for the
most part used defensively, if it all.
     What follows is a list of some of the software patents issued in 1992.
In most cases the simplicity of the titles reflect the simplicity (and
non-novelty of the patents).  Each entry has the patent number, the assignee
and the title (a few of which have been shortened for display here).

5146551		IBM
System for generating a circular or elliptic arc on a digital display

5146405		ATT Bell Laboratories
Methods for part-of-speech determination and usage

5146211		NCR
Bit mapped color cursor

5142681		IBM
APL-to-Fortran translator

5142680		Sun Microsystems
Method for loading an operating system through a network

5142619		IBM
Method and apparatus for visually comparing files in a data processing system

5140678		IBM
Computer user interface with window title bar icons

5140677		IBM
Computer user interface with window title bar mini-icons

5140530		Honeywell
Genetic algorithm synthesis of neural networks

5140521		IBM
Method for deleting a marked portion of a structured document

5140236		Fanuc
Spline interpolation method

5138712		Sun Microsystems
Apparatus and method for licensing software on a network of computers

5136713		IBM
Decreasing the memory requirements for BIOS in a personal computer system

5136660		IBM
Apparatus and method for computing the Radon transform of digital images

5133065		Personal Computer Peripherals
Backup computer program for networks

5131089		GRiD
Solid state disk drive emulation

5129056		IBM
Cursor control of scrolling movements on certain computer workstations

5129051		Hewlett Packard
Decomposition of arbitrary polygons into trapezoids

5129039		Sony
Recurrent neural network with variable size intermediate layer

5126962		M.I.T.
Discrete cosine transform processing system

5125074		Thomson-CSF
Eliminating hidden faces for synthesis of a three dimensional wire image

5123098		Hewlett Packard
Method for executing programs within expanded memory of a computer system
using MS or PC DOS

5121499		IBM
Method for controlling the order of editing cells in a spreadsheet by
evaluating entered next cell attribute of current cell

5121498		M.I.T.
Translator for translating source code for selective unrolling of loops in
the source code

5121477		IBM
System for interactively creating action bar pull-down windows of a user
interface for use at program run time

5117496		Hewlett Packard
Method for recording and replaying mouse commands by recording the commands
and the identities of elements affected by the commands

5111532		Fanuc
Method of setting drawing parameters for an XY plotter

5111397		Wang Laboratories
Managing lengthy footnotes in a word processing environment

5111395		Rodney Smith, Paul Janigian
Automated fund collection system including means to eliminate duplicate
entries from a mailing list

5111392		Steelcase
Design system for creating furniture layouts

5111192		Xerox
Method to rotate a bitmap image 90 degrees

5109433		Microsoft
Compressing and decompressing text files

5107436		Northern Research and Engineering
Method for generating a tool course for a cutting tool

5105353		IBM
Compressed LR parsing table and method of compressing LR parsing tables

5101484		Intel
Method and apparatus for implementing an iterative program loop by comparing
the loop decrement with the loop value

5099425		Matsushita Electric Industrial
Method and process for analyzing the semantics and syntax for a sentence
or a phrase

5097408		Wang Laboratories
Apparatus for specifying a result relation in a relational database system
by selection of rows

5089985		IBM
System and method for preforming a sort operation in a relational database
manager to pass results directly to a user without writing to disk

5084815		ATT Bell Laboratories
Sorting and merging of files in a microprocessor

5083262		IBM
Language bindings for graphics functions to enable one application program to
be used in different processing environments

     These forty patents, less than four percent of all software patents that
will be issued in 1992, illustrate why the software patenting process needs
improvement.  Software techniques such as language bindings, simple image
manipulation, windowing and user interfaces, and anything to do with personal
computers should not be eligible for patenting.  There is too much prior art
and too little novelty to allow patent protection.  It is said that many of
these patents are used defensively to ward off patent attacks by other
companies (a defensive tactic often insisted upon by investors).  If so,
the country should come up with a better way for small companies to protect
themselves without having to flood the Patent Office with these patents.

     In general, most discussions on software patents should start considering
the actual activities of the Patent Office in their awarding process.  For one,
the specifics on the number of software patents and the claims of software
patents should be made more widely known. Also it would help if the government
showed more interest in knowing the whereabouts and uses of the billions of
dollars of software it funds each year.  The lack of coordination between
government agencies cripples the Patent Office in their efforts to know what
is already in the public domain.

Gregory Aharonian
Source Translation & Optimization
P.O. Box 404
Belmont, MA 02178
617-489-3727
srctran@world.std.com


==============================================================================

The following two lists present some other statistics on software patents.



                           SOFTWARE CATEGORIES FOR WHICH
                             PATENTS ARE BEING AWARDED


                     (Statistics from 1700 software patents)


                     Image Analysis & Vision             100
                     Operating Systems                    95
                     Graphics                             73
                     Networks & Communication             69
                     Data Bases                           52
                     Process and Numerical Control        51
                     Word Processing                      40
                     Artificial Intelligence              31
                     Financial & Management               30
                     Multiprocessing                      30
                     Software Engineering                 28
                     Signal Processing                    28
                     Computer Aided Design                25
                     Numerical Analysis                   24
                     User Interfaces                      22
                     Neural Network                       22
                     Medicince & Genetics                 22
                     Pattern Recognition                  21
                     Natural Language                     20
                     Security & Encryption                18
                     Compression                          15
                     Character Recognition                15
                     Geophysical                          15
                     Speech Recognition                   14
                     Computer Aided Engineering           13
                     Parallel Processing                  10
                     Simulation                           10
                     Object Oriented                       9
                     Automobile                            8
                     Algorithms & Data Structures          7
                     Engineering                           6
                     Robotics                              5
                     Fuzzy                                 5
                     Chemistry                             3
                     Office Automation                     2
                     Spreadsheet                           2
                     Physics                               2



                           COMPANIES WHO ARE RECEIVING
                                SOFTWARE PATENTS


                          (Statistics from 1780 patents)
			   Minimum count of 4 needed to
                             be included in this list


                        216        IBM
                        101        Hitachi
                         52        ATT Bell Laboratories
                         47        Digital Equipment Corporation
                         40        Xerox

                         32        Hewlett Packard
                         30        Kabushiki Kaisha Toshiba
                         28        Fanuc
                         26        Sharp Kabushiki Kaisha
                         26        Ricoh
                         23        General Electric
                         22        Eastman Kodak
                         20        Westinghouse Electric
                         20        Canon Kabushiki Kaisha
                         18        Sun Microsystems
                         17        Mitsubishi Denki Kabushiki Kaisha
                         17        Honeywell
                         17        Bell Communications Research
                         16        Matsushita Electric Industrial
                         15        Texas Instruments
                         15        Motorola
                         13        Hughes Aircraft
                         12        Fuji Photo Film
                         12        E. I. du Pont de Nemours
                         11        Unisys
                         10        Wang Laboratories
                          9        Tektronix
                          9        Sony
                          9        Brother Kogyo Kabushiki Kaisha
                          8        Siemens Aktiengesellscheft
                          8        Schlumberger Technology
                          8        Honda Giken Kogyo Kabushiki Kaisha
                          8        Harris
                          8        Fujitsu
                          7        NEC
                          7        M.I.T
                          7        Intel
                          6        U.S. Philips
                          6        U.S. Navy
                          6        Pitney Bowes
                          6        GTE Government Systems
                          6        General Motors
                          6        Conoco
                          6        Bull HN Information Systems
                          5        Olympus Optical
                          5        OCE Nederland B.V
                          5        Northern Telecom
                          5        NCR
                          5        Kabushiki Kaisha Okuma Tekkosho
                          5        Grumman Aerospace
                          5        Dainippon Screen Manufacturing
                          4        Western Atlas International
                          4        VLSI Technology
                          4        United Technologies
                          4        Nissan Motor
                          4        Fuji Xerox
                          4        Compaq Computer
                          4        Chevron Research
                          4        Boeing
                          4        Atlantic Richfield
                          4        Apple Computer
                          4        Allied-Signal
                          4        Allen-Bradley