decoration decoration

When you want to know more...
For layout only
Site Map
About Groklaw
Legal Research
ApplevSamsung p.2
Cast: Lawyers
Comes v. MS
Gordon v MS
IV v. Google
Legal Docs
MS Litigations
News Picks
Novell v. MS
Novell-MS Deal
OOXML Appeals
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v Novell
Sean Daly
Software Patents
Switch to Linux
Unix Books
Your contributions keep Groklaw going.
To donate to Groklaw 2.0:

Groklaw Gear

Click here to send an email to the editor of this weblog.

Contact PJ

Click here to email PJ. You won't find me on Facebook Donate Paypal

User Functions



Don't have an account yet? Sign up as a New User

No Legal Advice

The information on Groklaw is not intended to constitute legal advice. While Mark is a lawyer and he has asked other lawyers and law students to contribute articles, all of these articles are offered to help educate, not to provide specific legal advice. They are not your lawyers.

Here's Groklaw's comments policy.

What's New

No new stories

COMMENTS last 48 hrs
No new comments


hosted by ibiblio

On servers donated to ibiblio by AMD.

Groklaw's Response to the USPTO's Request for Suggested Topics for Future Discussion & A Supplement ~pj
Friday, March 15 2013 @ 01:33 PM EDT

Here's Groklaw's response to the USPTO's request for suggested topics for discussion in the future by the Software Partnership. We just sent it to the USPTO today.

We are also publishing here on Groklaw a more detailed supplement on those four topics, explaining in depth why we propose them, with references, on the theme, "Using Semiotics to Identify Patent-Eligible Software". The supplement is referenced in the document sent, if they wish to read more in-depth arguments, based on interest level.

To help you find the document you are most interested in, here are links to each:

[Document Sent to the USPTO ]

[Supplement: Using Semiotics to Identify Patent-Eligible Software]

First, here's the document we sent to the USPTO, our list of the four proposed topics for discussion, after which you'll find the more detailed supplement.

Groklaw's Response to the USPTO on Topic 2:
Suggested Additional Topics for Future Discussion by the Software Partnership

In response to the USPTO's request for topics for future discussion by the Software Partnership, the technical community at Groklaw suggests the following four topics, in order of priority:

1: Is computer software properly patentable subject matter?

2: Are software patents helping or hurting innovation and the US economy?

3: How can software developers help the USPTO understand how computers actually work, so issued patents match technical realities, avoiding patents on functions that are obvious to those skilled in the art, as well as avoiding duplication of prior art?

4: What is an abstract idea in software and how do expressions of ideas differ from applications of ideas?

In order to explain why these topics could be fruitful, here are some brief thoughts in explanation. A more detailed explanation, with references, can be found here.

Suggested topic 1:
Is computer software properly patentable subject matter?

If software consists of two elements neither of which is patentable subject matter, can software itself be patentable subject matter?

Software consists of algorithms -- in other words mathematics -- and data, which is being manipulated by the algorithms. Mathematics is not patentable subject matter and neither is data. On what basis, then, is software patentable subject matter?

We would welcome a discussion on this topic, as it is a key issue to the developer community. Note that Groklaw has published a number of articles on this topic, which can all be found at here on Groklaw.

A particular point of interest is how the meaning of data influences the patentable subject matter analysis. Computers manipulate bits, and bits are electronic symbols which are used to convey meaning. In some patents, such as in Diamond v. Diehr's industrial process for curing rubber, what this meaning signifies is actually claimed clearly. In Diehr's case the rubber is cured. But in most pure software patents the meaning is merely referred to. Should this distinction influence whether the claim is patentable? We will return to this question in more detail, under the headings of Suggested topic 3 and Suggested topic 4.

Suggested topic 2:
Are software patents helping or hurting innovation and hence the US economy?

It would be useful to hear from entrepreneurs on a wide scale on the effects software patents are having on their startups or business projects. Microsoft's Bill Gates himself has stated that if software patents had been allowed when he was starting his business, he would have been blocked.1 Is that happening to today's entrepreneurs? If software authors are unable to clear all rights to their own products because there is no practical way to do so, how can such a situation foster progress and innovation? Rather it seems to force developers, or the companies that hire them, to choose either to go ahead and develop innovative products with the certainty that if it is successful there will be infringement lawsuits or stop developing innovative products altogether.

Every firm with an internal IT department writes software. Every firm which maintains its own website writes software. There are roughly 634,000 firms in the United States with 20 or more employees and 1.7 million firms with 5 to 19 employees. A very large fraction of these firms write software. In an ideal world, all firms should verify all patents as they are issued to avoid infringement. This need to verify the relevance of all patents would necessarily be a constant, on-going activity. For one thing, corporate software must frequently be adapted to new needs and any new version may potentially infringe a patent not previously infringed. A study has concluded the task is practically impossible to accomplish.2

Even if a patent lawyer only needed to look at a patent for ten minutes, on average, to determine whether any part of a particular firm's software infringes, it would require roughly 2 million patent attorneys, working full-time, to compare every firm's products with every patent issued in a given year.

This is an impossibility, because there are only roughly 40,000 registered patent attorneys and patent agents in the US.

The above estimation covers just the work of keeping up with newly issued patents every year. Checking already issued patents would require even more attorneys.

Looking at the situation from yet another perspective, let us compare lines of code with sentences in a book. Each English sentence expresses an idea. Each combination of sentences expresses a more complex idea. Then more and more complex ideas are expressed in paragraphs, chapters etc. The total number of ideas from all works of authorship is extremely large. Imagine a hypothetical intellectual property regime where all such ideas are patentable. This would generate a large number of patents, with all authors having to check all the issued patents for potential infringement, with more patents issuing every year.

It is clearly impossible to promote innovation with such a system that is not practically functional, but that is the situation software developers face, one where they have no practical way to verify they own all rights to their own work. Such a system is guaranteed to harm the economy with monopolistic rent-seeking and unneeded litigation, which is what we are currently witnessing.

Suggested topic 3:
How can software developers help the USPTO understand how computers actually work, so issued patents match technical realities, avoiding patents on functions that are obvious to those skilled in the art, as well as avoiding duplication of prior art?

The current interpretation of patent law is riddled with what developers view as fundamentally erroneous conceptions of how computers work. Other than the current USPTO request for input, developers feel shut out of decisions, decisions made without their contributed knowledge and skill, yet considered legally binding precedent despite violating technical reality, and yet the practitioners in the field are the very ones who best understand what software is and how it does what it does.

Textbooks describe in detail what mathematical algorithms are, but case law doesn't seem to understand or to reference these sources. Instead, we see courts using standard dictionary definitions. These definitions are too succinct and incomplete, at best. The result is confusion about what algorithms are.

For an example, courts have made an unrealistic distinction between so-called mathematical algorithms and computer algorithms that purportedly are not mathematical. The field of computer science itself recognizes no such distinction, but the legal environment surrounding software patents ignores what mathematicians and computer scientists say about algorithms. Since the ensuing descent into surrealism directly impacts the controversial question of when a computer-implemented invention is directed to a patent-ineligible abstract idea, a serious problem is caused, which could have been avoided by a deeper, more accurate technical understanding.

Second, it seems some, including some courts, believe the functions of software are performed through the physical properties of electrical circuits, incorrectly treating the computer as a device which operates solely through the laws of physics. This approach is factually and technically incorrect because not everything in software functions through the laws of physics. Indeed, bits in a computer are constructed and manipulated by the use of physical laws. However, bits are also symbols. They have meanings which are assigned by human beings. The meaning of bits is essential to performing the functions of software. The capability of bits to convey meaning is not a physical property of the computer.

Software developers don't write software by working with the physical properties of circuits. Developers define the meaning of data and implement operations of arithmetic and logic that apply to the meaning. They debug software by reading the meaning of the data stored in the computer and verifying whether the correct operations are performed. Again, the aspects of software related to meaning cannot be explained solely in terms of the physical properties of the computer.

This erroneous physical view of the computer is the basis of an oft-stated argument. Some have claimed that software alters the computer it runs on, thus creating a "new machine". (See In re Bernhart, 57 C.C.P.A. 737, 417 F.2d 1395, 1399-1400, 163 USPQ 611, 615-16 (CCPA 1969) --"[I]f a machine is programmed in a certain new and unobvious way, it is physically different from the machine without that program; its memory elements are differently arranged.")

This belief is used to justify the view that software patents are actually a subcategory of hardware patents, making software patentable almost without restriction or restraint, in that all software runs on a computer. To demonstrate what is wrong with that argument at its very foundation, let's compare a printing press with a computer.

It is easy to see that the content of a book is not a machine part. The meaning of a book is not explained by the laws of physics applicable to a printing press. But the comparison of a computer and the printing press shows that there is no material difference in their handling of meaning. Any argument related to meaning which is applicable to a printing press is applicable to a computer and vice-versa.

Imagine a claim on a printing press configured to print a specific book, say Tolkien's The Lord of the Rings. This is a claim on a machine which operates according to the laws of physics. Printing is a physical process for laying ink on paper. It functions without the intervention of a human mind. But still this process involves the meaning of a book. Such a claim could only be infringed if the book has the recited meaning.

One could argue that a configured printing press is physically different from an unconfigured one. The configured printing press can print a specific book while the unconfigured one cannot. Books with different contents are different articles of manufacture. Differently configured printing presses perform different functions, because they make different articles of manufacture. Therefore, as this hypothetical argument goes, a printing press configured to print a specific book has become a specific machine which performs a specific practical and useful task and, lo and behold, the result is a "new machine test" for printing presses. However, the fact that no one in the real world would accept a world in which a printing press becomes a new machine every time it is set up to print a new book is quite sobering. Or ought to be. Because this is the fallacious argument used to justify that a computer configured with software becomes a new machine.

Software patents are often written similarly to this analogy. Like a printing press, the computer operates according to the laws of physics. It functions mostly without the intervention of the human mind, although from time to time human input may be required. But the process of computing needs the meaning of the data to actually solve problems. The claim is infringed only if the data has the recited meaning.

The argument that a programmed computer is different from an unprogrammed one is exactly symmetric to the one we have just made about printing presses. There is a reason for this. The technologies are not that different. Further underscoring the similarity, a computer connected to a printer can be configured to print a book. And modern printing presses may be controlled by embedded computers.

There is no material difference between a configured printing press and a programmed computer in their handling of meaning. Users of a computer read the meaning of outputs. They also enter the inputs based on the meaning. When programming a computer, programmers must define the meaning of data. They implement algorithms which perform operations of arithmetic and logic on the meaning of this data. When debugging, programmers must inspect the internals of the computer to determine whether the correct operations are being performed. This requires reading the contents of computer memory and verifying it has the expected meaning. In other words, the act of making the invention depends on defining and reading the data stored in the computer. Software works only if the data has the correct meaning.

The output of a printing process is a book. Different books are distinguished by their contents. A typographer must define and verify the contents of the information to be printed to configure the printing press correctly. In other words, the act of making the invention depends on defining and reading the data stored in the printing press. A printing press works precisely because it prints the right contents. Printing makes a physical book which can be read and sold. Books with different contents are different books. A wrongly configured printing press prints the wrong book. Therefore the utility of the printing press doesn't depend just on the laws of physics. It also depends on the contents of the book.

Both machines work in part according to the laws of physics and in part through operations of meaning.

The courts have failed to acknowledge the role of meaning in software. Some errors result from the failure to take into consideration the descriptions of what is a mathematical algorithm in mathematical literature. Other errors result from explicitly and incorrectly denying the role of symbols and meaning in computers. And more errors result from the belief that computers operate solely through the physical properties of electrical circuits, in isolation from the meanings assigned by human beings.

Imagine now that every time a printing press prints a new book, you could patent that printing press as a new machine because it printed a new book. That is exactly what patent law does with software, purporting to create a new machine because new software running on the computer supposedly creates a new machine. And yet the computer can run any software at all that you can devise, just as a printing press can print any book you write. The computer can, in fact, run more than one program at the same time. Is it now two new machines? And if you remove one software program, now what is it? And when the computer is done with the job, it is still the same old computer, just as when it is done with its job, the printing press is still the same old printing press.

No one would allow a patent on a previously existing printing press just because it is now configured to print a new novel. Yet that is exactly what is allowed with software.

The consequence is a proliferation of patents on the expressions of ideas, on "doing so-and-so on a computer," and, even worse, on the concept of "doing so-and-so on a computer" when the procedure in question merely incorporates ideas and methods which may date back centuries or even millenia.

Suggested topic 4:
What is an abstract idea in software and how do expressions of ideas differ from applications of ideas?

Abstract is not synonymous with vague or overly broad. A mathematical algorithm is narrowly defined with great precision, but still it is abstract.

Abstract is not the opposite of useful. The ordinary procedure for carrying an addition is a mathematical algorithm. It has a lot of practical uses in accounting, engineering and other disciplines. But still it is abstract. In particular it is designed to handle numbers arbitrarily large no matter whether we have the practical means of writing down all the digits. Besides, there are useful abstract ideas outside of mathematics. For example the contents of a reference manual, such as a dictionary, are both abstract and useful.

Mathematics is abstract in part because it studies infinite structures. For example, the series of natural numbers 0, 1, 2, ... cannot exist in the concrete universe, because it is infinite. Also, symbols in a mathematical sense are abstract entities distinct from the marks on paper or their electronic equivalent. For example, there are infinitely many decimals of pi even though there is no practical way to write them down. Infinity guarantees that mathematics is abstract. Therefore a definition of "abstract ideas" must acknowledge the abstractness of mathematics.

A proper understanding of the role of meaning is key to understanding when a claim is directed to a patent-ineligible abstract idea in software. Software patents don't claim abstract ideas directly. They claim them indirectly through the use of a physical device to represent them by means of bits. It would be easier to recognize claims on patent-ineligible abstract ideas if it were understood they take the form of claims on expressions of ideas as opposed to applications of ideas. The bits are symbols and the computation is a manipulation of the symbols. Expressions of ideas occur through this use of symbols.

This suggests a test similar to the printed matter doctrine. This test is best described using the concepts and vocabulary of a social science called semiotics. This science studies signs, or symbols, used to represent something else. We suggest it can be used to distinguish patent-eligibility in software.

Computers should be recognized to be what semioticians call sign-vehicles, physical devices which are used to represent signs. The sign itself is an abstraction represented by the sign-vehicle. Hence, sign-vehicles and signs are distinct entities.

Semiotics distinguishes between two types of meaning. There is the actual worldly thing denoted by the sign. This is called the referent. And there is the idea of that thing a human being would derive from reading the sign. This is called an interpretant. A sign usually conveys both types of meanings simultaneously. An example might be a painting representing a pipe. The painting itself is a sign-vehicle. People seeing this painting will think of a pipe. This thought is an interpretant. An actual pipe is a referent.

If nothing has been invented but thoughts in the mind of human beings, one should not be able to claim a sign-vehicle expressing these ideas as if it were an application of the ideas. But when the real thing denoted by the expression is claimed, we may have a patentable invention. In other words, one should be able to patent a particular pipe invention, but not the painting of that invented pipe.

These ideas lead to this test: A claim is directed to a patent-ineligible abstract idea when there are no nonobvious advances over the prior art outside of the interpretants. A claim is written to an application of the idea when the referent is claimed instead of merely referenced.

For example a mathematical calculation for curing rubber standing alone is not patentable under this test. It is just numbers letting a human think about how rubber should be cured. But when the actual rubber is cured the referent is recited and the overall process taken as a whole may be patentable.

This test is technology-neutral. It is applicable precisely when the claimed invention is a sign, or when it is a machine or process for making a sign. It applies whether the invention is software, hardware or some yet to be invented technology. This test works without having to define the boundary between what is software and what isn't.

The concepts of semiotics are quite simple and easy to define. They are related to the dichotomy between ideas and the specific expression of ideas in copyright law. Therefore this test for abstract ideas helps clarify the line between what should be protected with copyrights and what belongs to patent law. The expressions of interpretants may be protected by copyrights and the corresponding referents may be protected by patents.

This test will correctly identify abstract mathematical ideas. Mathematics is, among other things, a written language. It has a syntax and a meaning which are defined in textbooks on topics such as mathematical logic. Algorithms are features of this language. They are procedures for manipulating symbols.3 They solve problems because they implement operations of arithmetic and logic on the meaning of the symbols. Algorithms are also procedures which are suitable for machine implementation. Computer programs may solve a problem only if it is amenable to an algorithmic solution. In this sense, all software executes a mathematical algorithm.

Mathematical language refers to abstract mathematical entities such as numbers, geometric shapes, etc. We assimilate this abstract meaning with interpretants. Mathematical language may also be used to describe things in the concrete world, for instance using laws of physics. The corresponding referents are applications of mathematics. Mathematical algorithms and other types of mathematical subject matter are a subcategory of interpretants. And things in the concrete world modeled using mathematical language are a subcategory of referents. Hence the proposed test will properly distinguish between the expression of a mathematical idea from an application of the same idea. Claims of applications are to be accepted, while claims on expressions should be rejected.

1 "Challenges and Strategy" (16 May 1991). Gates exact words were:

"If people had understood how patents would be granted when most of today's ideas were invented, and had taken out patents, the industry would be at a complete standstill today."
Also found at local/Challenges.and.Strategy.

2 See Mulligan, Christina and Lee, Timothy B., Scaling the Patent System (March 6, 2012). NYU Annual Survey of American Law, Forthcoming. Available at SSRN: The quoted paragraph is at pages 16-17.

3 Stoltenberg-Hansen, Viggo, Lindström, Ingrid, Griffor, Edward R. Mathematical Theory of Domains, Cambridge University Press, 1994, page 224; Boolos George S., Burgess, John P., Jeffrey, Richard C., Computability and Logic, Fifth Edition, Cambridge University Press, 2007, page 23.


Here is the supplement. Because it is published locally and referenced in the above document sent, we can continue to perfect it, so if you see anything you'd like to suggest be improved, please do so in your comments. Thank you to everyone who already helped to draft this supplement. We've added a table of contents, with links to the various sections.


Supplement: Using Semiotics to Identify Patent-Eligible Software

The patent system should distinguish between the expression of an abstract idea and an application of an idea. Currently, with respect to software, it does not do so. Patents issue where expressions of ideas are mistaken for applications, due to not properly defining when a claim is directed to patent-ineligible abstract ideas.

As a result, in the field of software, innovation is not being promoted as intended by patent law.

Organization of the Supplement

The purpose of this supplement is to support the suggested topics for future discussion by the Software Partnership sent to the USPTO by Groklaw. The supplement is divided into four sections:

A. Fundamentals of Computers, Software and Mathematics
B. Technical Errors in Legal Arguments about Software and Patents
C. What is an Abstract Idea in Software and How Do Expressions of Ideas Differ From Applications of Ideas.
D. The Negative Effect on Innovation of Patents Granted on the Expressions of Abstract Ideas.
The topics we proposed in our response to the USPTO's request for topics for future discussion, above, correspond to the following sections in this supplement, as follows:

Suggested topic 1: Is computer software properly patentable subject matter?

Topic 1 is supported by all sections of the supplement, but particularly in Sections A, B and C. The goal is to explain the importance of distinguishing between expressions of ideas and their application, which in turn should help determine if a claim involving software should be patentable.

Section A demonstrates that computers are machines for manipulating symbols, symbols which have meanings. It also defines some terms, like the vocabulary and concepts of semiotics, and explains some principles of computer science such as:

(1) what is a mathematical algorithm;
(2) how mathematics and algorithms relate to symbols and meaning;
(3) how computers use algorithms; and
(4) what is the stored program architecture. Collectively these principles explain what the role of expressions and meaning are in computer science.

The main theme underlying section B is that computers don't perform their functions solely through their physical properties. They also depend on semantical properties as is explained in section A. The legal view of software found in case law contradicts these technical realities, and that is causing difficulties.

Suggested topic 2: Are software patents hurting innovation and hence the US economy?

Topic 2 is discussed in section D. We document how patents on the expressions of ideas in software break the assumptions underlying the operation of the patent system in three ways: (1) the patent system does not work effectively as a property system in that there is no way for software authors to clear all rights to their own properties; (2) disclosure isn't working as intended, because it is ineffective for inventors, and patents are legally dangerous for developers to read; (3) the standard cost/benefit analysis motivating patents thus has broken down when it comes to software patents.
Suggested topic 3: How can software developers help the courts and the USPTO understand how computers actually work so judges' decisions will match technical realities?

Topic 3 is discussed throughout, in that this is our attempt to explain the technology so as to help bring patent law and technical reality into sync. Section A explains some principles of computer science while Section B identifies technical errors noted in legal rulings and suggests how the errors can be corrected.

Suggested topic 4: What is an abstract idea in software and how do expressions of ideas differ from applications of ideas?

Topic 4 is discussed in section C. We argue that when the referent of symbols is not claimed, their meaning is just a thought in the human mind. There should be no patents on thoughts in the mind. The meaning of symbols must be given no patentable weight unless the referent itself is claimed.

Table of Contents

A Fundamentals of Computers, Software and Mathematical Principles.

A.1 Semiotics defines the concepts and vocabulary necessary to understand issues of meaning.

A.2 Mathematics is a written language based on logic; algorithms are procedures for manipulating symbols in this language.

A.3 Mathematicians have defined their requirements for a procedure to be accepted as a mathematical algorithm.

A.4 Algorithms are machine-implementable because they rely only on syntax to be executed, but they solve problems because they implement operations of arithmetic and logic on the meaning of the data.

A.5 All computations carried out by a stored program computer are mathematical computations carried out according to a universal mathematical algorithm.

B Some Errors of Facts Found in Arguments About Software and Patents

B.1 The proper understanding of the term "mathematical algorithm" is the one given by mathematicians.

B.2 The vast majority of algorithms can be carried out in practice for smaller inputs and are impractical for larger inputs.

B.3 The printed matter doctrine should be strictly applied to computations.

B.4 The language used in the disclosure and claims in software patents rely on an inversion of the normal semantical relationships between symbols and their meaning.

B.5 In a stored program computer, the functions of software are performed through a combination of defining the meaning of data and giving input to an already implemented algorithm.

1 The naive understanding of computer programming ignores the role of the meaning of data.

2 Main memory is a moving part of a computer. A physical change to a moving part of a machine doesn't make a structurally different machine. It is merely the action of the process by which the machine operates.

3 The mere act of storing data in memory does not implement functionality. This only happens when the data is given as input to an algorithm. This remains true when the data is instructions for a program.

4 All data may be used to implement functionality when given as input to an algorithm. This capability is not limited to instructions.

B.6 The meaning of data distinguishes an algorithm from an application of the physical properties of a machine.

C What Is an Abstract Idea in Software and How Expressions of Ideas Differ From Applications of Ideas.

C.1 Mathematical algorithms are abstract ideas.

C.2 Semiotics is the proper approach to define what is an abstract idea in software.

C.3 This description of abstract ideas is technology neutral and it doesn't require us to determine whether the algorithm is 'mathematical'.

C.4 There is no alternative to this description of abstract ideas.

D The Effect on Innovation of Patent Rights Granted on the Expressions of Abstract Ideas.

D.1 Clearing all patents rights on expressions of ideas is practically impossible.

D.2 Litigation risks are a particular burden to community-based software development.

D.3 In the computer programming art, patents provide low quality disclosure which is legally dangerous for a programmer to read.

D.4 The normal costs/benefits analysis of patents is not applicable to software.

E Conclusion

* * * * * * * * * * *

A. Fundamentals of Computers, Software and Mathematical Principles.

Let's begin by defining some important terms and summarizing some fundamental facts about computers, software, and the underlying mathematical principles.

A.1. Semiotics defines the concepts and vocabulary necessary to understand issues of meaning.

In the social science of semiotics, a thing that stands for something else is called a sign. Books and computers when associated with their meanings are examples of signs. Semiotics defines the concepts and vocabulary we need to properly analyze meaning. We present here the basic concepts which will be used in the rest of this response. It's important to understand semiotics if one wishes to understand how computers and software work.

A sign in the Peircean tradition has three elements. The physical object used to represent the sign is called a sign-vehicle. The entity in the world which is denoted by the sign is called the referent. The idea a human being would form of the meaning of the sign is called an interpretant. This triadic view of a sign is traditionally represented as a triangle.

We may use the famous painting The Treachery of Images as an illustration of these notions. This painting represents a pipe with the legend "Ceci n'est pas une pipe" which means "This is not a pipe" in French. The point is that a painting of a pipe is a representation of a pipe. It is not the pipe itself. In this example, the painting is the sign-vehicle, the actual pipe is the referent, and the idea of a pipe in the human mind is the interpretant.

We have a sign when there is a convention on how to associate the sign-vehicle with its meaning. A sign exists when something stands for something else to somebody who gets what the meaning is from the sign. In the case of the painting this convention is the practice of associating a visual representation of something with what is represented.

Please note the sign-vehicle is only an element of a sign. It is not the whole sign. The three elements must be brought together in order to have a sign. A human interpreter with the knowledge of the convention will mentally assemble the three elements and "make the sign" by associating the sign-vehicle with its meaning. This is a cognitive process of the human mind called semiosis. In particular, books and computers when taken as physical objects independently of their meanings are sign-vehicles. They are not the whole signs because semantical elements are not physical parts of books and computers. These sign-vehicles are turned into signs by semiosis when a human interpreter reads meanings into them.

Peirce explained the concepts in a letter to William James:

The Sign creates something in the Mind of the Interpreter, which something, in that it has been so created by the sign, has been, in a mediate and relative way, also created by the Object of the Sign, although the Object is essentially other than the Sign. And this creature of the sign is called the Interpretant. It is created by the Sign; but not by the Sign quâ member of whichever of the Universes it belongs to; but it has been created by the Sign in its capacity of bearing the determination by the Object. It is created in a Mind (how far this mind must be real we shall see).

All that part of the understanding of the Sign which the Interpreting Mind has needed collateral observation for is outside the Interpretant.

I do not mean by "collateral observation" acquaintance with the system of signs. What is so gathered is not COLLATERAL. It is on the contrary the prerequisite for getting any idea signified by the sign. But by collateral observation, I mean previous acquaintance with what the sign denotes. Thus if the Sign be the sentence 'Hamlet was mad,' to understand what this means one must know that men are sometimes in that strange state; one must have seen madmen or read about them; and it will be all the better if one specifically knows (and need not be driven to presume) what Shakespeare's notion of insanity was. All that is collateral observation and is no part of the Interpretant. But to put together the different subjects as the sign represents them as related - that is the main of the Interpretant-forming.

Take as an example of a Sign a genre painting. There is usually a lot in such a picture which can only be understood by virtue of acquaintance with customs. The style of the dresses for example, is no part of the significance, i.e. the deliverance, of the painting. It only tells what the subject of it is. Subject and Object are the same thing except for trifling distinctions. [---] But that which the writer aimed to point out to you, presuming you to have all the requisite collateral information, that is to say just the quality of the sympathetic element of the situation, generally a very familiar one - a something you probably never did so clearly realize before - that is the Interpretant of the Sign, - its 'significance.'"

A.2. Mathematics is a written language based on logic; algorithms are procedures for manipulating symbols in this language.

Mathematics is a written language. We can find the definition of its syntax and semantics in textbooks on the foundations of mathematics, especially mathematical logic.1 There is more to mathematics than the language. Mathematical entities like numbers and geometrical figures are also mathematics. But for the purpose of this discussion it is the linguistic aspect that matters most.

Concepts such as formulas, equations and algorithms are part of this mathematical language.

A mathematical formula is text written with symbols in this mathematical language. It is the equivalent of a sentence in English. An equation is a special kind of formula which asserts that two mathematical expressions refer to the same value.

The famous equation E=mc2 is an example of such a mathematical formula. The meaning of this formula is a law of nature, actually a law of physics. It is a statement relating the mass of an object at rest with how much energy there is in this object. This shows how mathematical language may be used to describe the real world.

The formula implies a procedure to compute the energy when the mass is known. Here it is:

  1. Multiply the speed of light c by itself to obtain its square c2.

  2. Multiply the mass m by the value of c2 obtained in step 1.

  3. The result of step 2 is the energy E.

This kind of procedure is known in mathematics as an algorithm. The formula is not the algorithm. The procedure is the algorithm. Someone with sufficient skills in mathematics will know the algorithm simply by looking at the formula. This is why it is often sufficient to state a formula when we want to state an algorithm.

The task of carrying out the algorithm is called a computation. When carrying out the algorithm with pencil and paper, we have to write mathematical symbols, mostly digits representing numbers but also other symbols such as the decimal point. These writings too are parts of mathematical language. In the example, the meaning of the writings are numbers representing the speed of light, its square, the mass, and the energy of an object.

A function is not an algorithm.

Mathematicians distinguish between a function and an algorithm. Hartley Rogers explains:2 (emphasis in the original):

It is, of course, important to distinguish between the notion of algorithm, i.e., procedure, and the notion of function computable by algorithm, i.e., mapping yielded by procedure. The same function may have several different algorithms.
A mathematical function is a correspondence between one or more input values and a corresponding output value. For example, the function of doubling a number associates 1 with 2, 2 with 4, 3 with 6 etc. Nonnumerical functions also exist.

A function is not a process. There is no requirement that the function must be computed in a specific manner. All methods of computation which produce the same output from the same input compute the same function.

Despite the similarly sounding words, a software function is not the same thing as a mathematical function. The functions of software are what the program do in terms of the real world applications, like banking, engineering etc. A mathematical function is defined in terms of mathematical entities. Regardless of the difference, the two concepts are closely related. If we look at the underlying principles of mathematics which are at the foundations of computer science, all computations are carried out with mathematical entities like numbers and boolean values. The functions of software are described with mathematical functions.3 The methods used to perform the functions of software are implemented using mathematical algorithms.

The language of mathematics is based on logic

There is a close connection between logic and mathematics. Theorems are proven by means of deductions where the formulas and expressions in mathematical language are organized according to the rules of logic. Most mathematical truths are established in this manner.

The relationship between mathematics and logic is explained by Haskell Curry as follows:4 (emphasis in the original, footnote omitted):

The first sense is that intended when we say that "logic is the analysis and criticism of thought." We observe that we reason, in the sense that we draw conclusions from our data; that sometimes these conclusions are correct, sometimes not; and that sometimes these errors are explained by the fact that some of our data were mistaken, but not always; and gradually we become aware that reasonings conducted according to certain norms can be depended on if the data are correct. The study of these norms, or principles of valid reasoning, has always been regarded as a branch of philosophy. In order to distinguish logic in this sense from other senses introduced later, we shall call it philosophical logic.

In the study of philosophical logic it has been found fruitful to use mathematical methods, i.e., to construct mathematical systems having some connection therewith. What such system is, and the nature of the connection, are question which will concern us later. The systems so created are naturally a proper subject for study in themselves, and it is customary to apply the term 'logic' to such a study. Logic in this sense is a branch of mathematics. To distinguish it from other senses, it will be called mathematical logic.

[A]lthough the distinction between the different senses of 'logic' has been stressed here as a means of clarifying our thinking, it would be a mistake to suppose that philosophical and mathematical logic are completely separate subjects. Actually, there is unity between them. mathematical logic, as has been said, is fruitful as a means of studying philosophical logic. Any sharp line between the two aspects would be arbitrary.

Finally, mathematical logic has a peculiar relation to the rest of mathematics. For mathematics is a deductive science, at least in the sense that a concept of rigorous proof is fundamental to all parts of it. The question of what constitutes a rigorous proof is a logical question in the sense of the preceding discussion. The question therefore falls within the province of logic; since it is relevant to mathematics, it is expedient to consider it in mathematical logic. Thus the task of explaining the nature of mathematical rigor falls to mathematical logic, and indeed may be regarded as its most essential problem. We understand this task as including the explanation of mathematical truth and the nature of mathematics generally. We express this by saying that mathematical logic includes the study of the foundations of mathematics.

Mathematical logic is also part of the mathematical underpinnings of computer science.5

To summarize the main points, mathematics is a written language. It has a syntax and a semantics. It is used to establish theorems by means of logical proofs. Formulas and equations are expressions in this language. Computations and algorithms are elements of this language which are used to solve problems.

A.3. Mathematicians have defined their requirements for a procedure to be accepted as a mathematical algorithm.

If we seek a definition in the sense of a short dictionary-like description of an algorithm, we won't find one which is universally accepted. But if we read textbooks of computation theory and mathematical logic we find full text descriptions of what it takes for a procedure to be a mathematical algorithm. These descriptions vary in their choice of words, and some authors mention aspects others omit. It is best to read a few of them to obtain a complete picture.

Here is a collection of the requirements for a procedure to be an algorithm mentioned by one or another of the authors cited in the footnote.6

Procedures to actually solve a category of problems

An algorithm is a procedure intended to actually solve a category of problems. It takes one of more inputs describing the specific problem and it produces the corresponding solution. This means the procedure is meant to be carried out, at least in principle if not in practice. If it is followed without error it will produce the correct answer. Stoltenberg-Hansen, Lindström and Griffor explain:7 (emphasis in the original):

An algorithm for a class K of problems is a method or procedure which can be described in a finite way (a finite set of instructions) and which can be followed by someone or something to yield a computation solving each problem in K.
Mathematicians sometimes call algorithms "effective procedures" to emphasize their ability to actually find a solution. This concept is broadly defined in intuitive terms because it is intended to be open-ended. Researchers constantly discover new ways of defining and carrying out procedures able to actually solve problems. Their notion of algorithm isn't strictly defined because they don't want to exclude from the concept these future discoveries. When they need mathematical rigor, mathematicians study specific models of computations like Turing machines, recursive functions, or λ-calculus.

Manipulation of symbols

All algorithms are ultimately procedures for manipulating symbols. Stoltenberg-Hansen, Lindström and Griffor explain:8 (emphasis in the original):

It is reasonable to assume, by the intended meaning of an algorithm explained above, that each problem in K should be a concrete or finite object. We say that an object is finite if it can be specified using finitely many symbols in some formal language.
For a mathematician the two concepts of arithmetic and symbolic computations are equivalent.

Boolos, Burgess and Jeffrey explain one aspect of this equivalence by pointing out that ultimately numbers must be represented by means of symbols when doing arithmetic calculations:9 (emphasis in the original, link added):

When we are given as argument a number n or pair of numbers (m, n), what we in fact are directly given is a numeral for n or an ordered pair of numerals for m and n. Likewise, if the value of the function we are trying to compute is a number, what our computations in fact end with is a numeral for that number. Now in the course of human history a great many systems of numeration have been developed, from the primitive monadic or tally notation, in which the number n is represented by a sequence of n strokes, through systems like Roman numerals, in which bunches of five, ten, fifty, one-hundred, and so forth strokes are abbreviated by special symbols, to the Hindu-Arabic or decimal notation in common use today.
Conversely, the same authors explain that symbols may be represented as numbers. Then symbolic computations may be defined in terms of arithmetical calculations:10 (emphasis in the original, link added):
A necessary preliminary to applying our work on computability, which pertained to functions on natural numbers, to logic, where the object of study are expressions of a formal language, is to code expressions by numbers. Such a coding of expressions is called a Gödel numbering. One can then go on to code finite sequences of expressions and still more complicated objects.
This may sound like a chicken and egg problem. Which is defined first? The manipulation of symbols or the manipulation of numbers? Actually it is impossible to manipulate numbers directly without first representing them as symbols of some sort. Even when a computation is defined as an operation of arithmetic it is ultimately a manipulation of symbols.

Finite description

An algorithm must be described with a finite number of symbols.11 It is not possible to learn and execute a procedure whose description is infinite. This requirement may seem obvious, but much of mathematics is about infinite structures, like the set of natural numbers or the decimal expansion of pi.

Precise definition

The steps must be defined precisely so we know exactly how to execute them. Boolos, Burgess and Jeffrey describe this requirement as follows:12:

The instruction must be completely definite and explicit. They should tell you at each step what to do, not tell you to go ask someone else what to do, or to figure out for yourself what to do: the instructions should require no external source of information, and should require no ingenuity to execute, so that one might hope to automate the process of applying the rules, and have it performed by some mechanical device.
Actual execution

A procedure doesn't solve a problem unless and until it is actually executed. The requirements of finite description and precise definition are meant to instruct exactly how the procedure should be executed.13

This requirement of actual execution has a consequence. An algorithm imposes a burden on the computing agent that executes it. The steps must be actually carried out, and the symbols must be actually written. This burden is called computational complexity. It is measured by the number of steps which must be executed and by the amount of writing space required to write the symbols. This burden typically vary according to the size of the inputs. When the number of symbols in the inputs is larger, the number of steps and the storage space required to read and process the inputs will also increase.

Independence from physical limitations

Mathematicians assume the agent executing the algorithm has unlimited time to carry out the computation and unlimited space to write symbols while computing. The goal is to separate the mathematical properties of the algorithm from the physical resources available to compute. Boolos, Burgess and Jeffrey describe this requirement as follows14 (emphasis in the original)"

There remains the fact that for all but a finite number of values of n, it will be infeasible in practice for any human being, or any mechanical device, actually to carry out the computation: in principle it could be completed in a finite amount of time if we stayed in good health so long, or the machine stayed in working order so long; but in practice we will die, or the machine will collapse, long before the process is complete. (There is also a worry about finding enough space to store the intermediate results of the computation, and even a worry about finding enough matter to use in writing down these results: there is only a finite amount of paper in the world, so you'd have to writer [sic] smaller and smaller without limit; to get an infinite number of symbols down on paper, eventually you'd be trying to write on molecules, on atoms, on electrons.) But our present study will ignore these practical limitations, and work with an idealized notion of computability that goes beyond what actual people or actual machines can be sure of doing. Our eventual goal will be to prove that certain functions are not computable, even if practical limitations on time, speed and amount of material could somehow be overcome, and for this purpose the essential requirement is that our notion of computability not be too narrow.
It is understood that an algorithm will be carried out in practice by a computing agent with finite amount of time and writing space, therefore the computation can only be done for a "finite number of values of n" as Boolos et al. put it. This doesn't mean the calculation isn't done according to the algorithm. It means that the algorithm is carried out only to the extent that sufficient resources are available. When the resources are exhausted, the calculation stops prematurely, and the answer is not reached.

For example consider the ordinary pencil and paper procedure of arithmetic for adding numbers. It is designed to produce the correct answer no matter how many digits are required to write the numbers. If the numbers have one trillion digits it may not be realistic to expect a live human to complete the task. Mathematicians still regard this procedure as a mathematically correct algorithm for addition. They consider that finding a computer powerful enough to carry out the task until completion is a separate issue from finding a mathematically correct procedure.

The purpose of this abstraction is to study the mathematical properties of the computation in itself, independently from the limitations of the computing agent. For example mathematicians want to know when a function cannot be computed at all regardless of the physical resources available. And they want to be confident that the algorithm produces the correct solution to the problem for all inputs. This procedure gives us a mathematical guarantee that an increase of the capabilities of the hardware will increase the range of computations which are practical without introducing errors because the algorithm is not limited to the capabilities of the current hardware.


This requirement is controversial.15 In some flavors of 'algorithm' it is omitted.

People who expect the algorithm to actually produce the answer demand that there is a point in time where the answer is available. This means there must be a finite number of steps after which the procedure is completed and the answer is available. But there are useful computational procedures which cannot meet this requirement. Stoltenberg-Hansen, Lindström and Griffor explain16 (emphasis in the original):

The requirement that an algorithm should solve each problem in a class K is actually a requirement on the class K (to be algorithmically decidable) rather than on the concept of an algorithm. Indeed the notion of an algorithm is partial by its very nature. Regarding an algorithm as a finite set of instructions, there is certainly no a priori reason to expect the computation, obtained from applying the algorithm to a particular problem, to terminate.
An example is a procedure for computing the decimals of pi. This calculation can never be carried out to the end, because there are infinitely many decimals. On the other hand it can compute the decimals of pi to an arbitrary degree of precision, if we have the patience to carry it out long enough.

The main mathematical models of computation17 have the ability to define both algorithms which terminate and computational procedures which don't terminate.

Deterministic execution

This requirement is controversial.18 In some flavors of 'algorithm' it is omitted.

Some people expect the requirement of precise definition to imply that every step be deterministic, with no random element. But there are useful computational procedures that involve probabilistic steps, that is some steps have an outcome randomly selected from a predefined set of possibilities. This is called a randomized algorithm.

It is well-known that a randomized algorithm can be transformed into a deterministic algorithm when a source of random numbers is available as an input. Then the random element is moved out of the calculation to the source of input. The calculation itself is deterministic relative to the input. Alternatively, pseudo-random number generators may be used to simulate nondeterminism by deterministic means.

A.4. Algorithms are machine-implementable because they rely only on syntax to be executed, but they solve problems because they implement operations of arithmetic and logic on the meaning of the data.
The requirement of precise definition permits the machine execution of algorithms. See the preceding quote of Boolos et al. An alternative statement of this requirement is given by Stephen Kleene as follows:19
In performing the steps we have only to follow the instructions mechanically, like robots; no insight or ingenuity or intervention is required of us.

If the meanings of the symbols are ambiguous it is impossible to execute the algorithm in this manner. Resolving the ambiguity is an intervention that requires insight or ingenuity. This requirement would not be met. On the other hand if the symbols are unambiguous, for purposes of executing an algorithm mechanically, like robots, their meanings are superfluous. For example, when evaluating a single bit there is no need for the step of noticing the symbol means the boolean value true when we already know the symbol is the numeral 1 because this numeral always means true in boolean context.

For the sake of comparison, here is an example of a procedure which is not an algorithm: Interim Examination Instructions For Evaluating Subject Matter Eligibility Under 35 U.S.C. § 101 (PDF). Legal procedures such as this one require the human to consider the meaning of the information and then inject additional information based on his experience, knowledge, and convictions to reach a decision. They require insight and ingenuity to be executed, and for this reason they are not mathematical algorithms.

A consequence of this requirement is that the algorithm operates only on the syntax of the mathematical language. It doesn't operate on the meaning. This point has been noticed by Richard Epstein and Walter Carnielli20, where they describe a series of models of computations used to define classes of algorithms:21

What all of these formalizations have in common is that they are all purely syntactical despite the often anthropomorphic descriptions. They are methods for pushing symbols around.
Human beings may be taught procedures to process data based on their meanings. Computers can't. They must be programmed to execute algorithms. This is a prerequisite for writing a machine-executable program. If the procedure is not an algorithm, it is not possible to program a computer for it.

But then what is the role of meaning? It defines the problem and its solution. There is a whole body of computation theory which analyzes computation from the point of view of syntactic manipulations of symbols. But this literature is limited in the study of which problems are solved by these algorithms. For that we need the meaning.

The art of the programmer is to find an algorithm which corresponds to operations of arithmetic and logic that solve the problem. As a first step the programmer must define how the data elements will be representing symbolically, with bits.22 This task is referred to with phrases such as: defining a data model, defining data structures and defining data formats. This task amounts to defining how to represent the problem and its solution in a suitable language of symbols. Then, as a second step, the programmer must find an algorithm operating on this data that will produce the correct outputs. This means the programmer must find a way to manipulate the symbols without referring to their meanings and still reach the correct answer. If the programmer fails to find such a procedure he cannot write a machine-executable program.

The connection between logic and data is key. Well-chosen logical inferences can solve practical problems. They can be turned into algorithms using data types. Consider the following series of statements.

  1. "Abraham Lincoln" is a character string.
  2. "Abraham Lincoln" is the name of a human being.
  3. "Abraham Lincoln" is the name of a politician.
  4. "Abraham Lincoln" is the name of a president of the United States of America.

Each line is attaching a data type to the character string "Abraham Lincoln". Most computer languages are only concerned with the data type in line 1. This is all they need to generate executable code. But logicians have been interested in more elaborate forms of data typing. Each of the statements mentions a valid data type in this logical sense.

Logicians have noticed that data types correspond to what they call "predicates" which are templates to form propositions that are either true or false. For example "is the name of a president of the USA" is a predicate. If you apply it to "Abraham Lincoln" you are stating the (true) proposition that "Abraham Lincoln" is the name of a president of the USA. And if you attach the same predicate to "Albert Einstein" you get a similar but false proposition.

When writing a program, programmers must first define their data. They don't just define the syntactic representation in terms of bits. They also define what the data will mean. A logician would say they define the logical data types, the predicates which are associated with the data. These predicates are documented in the specifications of the software, in comments included in the source code or in the names they give to the program variables. This knowledge is essential in understanding a program.

However these predicates are not used for generating machine-executable instructions. The predicates are not used by the computer for the manipulation of the symbols. During execution the predicates are implicit. They are defined by a convention the reader must know in order to be able to read the symbols correctly. They are for human understanding and verification that the program indeed does what it is intended to do.23 And they are also for the user of the program as he needs to understand the meanings of the inputs and outputs in order to use the program properly.

Data types in this extended logical sense relate to algorithms in the following way. If you expect the data to be of some type, then the data is implicitly stating a proposition. You can tell which proposition by applying the predicate to the data. If you expect a quantity of hammers in your inventory and the data you get is 6, then you implicitly have a statement that you currently have 6 hammers in stock. All data is implicitly the statement of a proposition corresponding to its logical type.

When the algorithm processes the data, it implicitly carries out logical inferences on the corresponding propositions, because a correctly working program must always produce data of the correct type. For example if you ask a program for the birth date of Theodore Roosevelt, and the program returns October 27, 1858, it implicitly states that this is the birth date of Theodore Roosevelt -- because this is the proposition corresponding to the expected data type. The definition of correctness for a program is that it produces a logically correct answer. Programmers are well aware of this correspondence between predicates, data and correctness. They use it to design, understand and verify their programs.

There is a whole body of theory on how algorithms correspond to logic based on logical data types. The Curry-Howard correspondence is part of this theory. It works like a translation, similar to translating between Russian and Chinese, except that the translation is between two mathematical languages. If the algorithm is expressed in the language of λ-calculus, then the Curry-Howard correspondence translates the algorithm into a proof of mathematical logic expressed in the language of predicate calculus. The translation works also in the other direction. Proofs of mathematical logic may likewise be translated into algorithms. In this sense, an algorithm is really another expression for rules of logic. The difference is a matter of form and not substance.

As an alternative, when the algorithm is written in an imperative language instead of λ-calculus, it may be assigned a logical semantics using Hoare logic. Poernomo, Crossley and Wirsing argue that Hoare logic is what the Curry-Howard correspondence becomes when it is adapted to imperative programs.24

To summarize the main points, algorithms are machine-executable because their execution depends only on syntax with no need for a human to interpret their meaning. But they solve problems because the symbols have meanings.

A.5. All computations carried out by a stored program computer are mathematical computations carried out according to a universal mathematical algorithm.

Mathematicians have discovered that some algorithms have a universal property. They can compute all possible computable functions provided they are given some corresponding input called a program. Universal algorithms make it possible to build general purpose computers. When we have a machine able to compute a universal algorithm, we can make it compute any function of our choosing by supplying it with the corresponding data. This is the difference between making a machine dedicated to carrying out a single algorithm and software.

When a general purpose computer is built in this manner, every program ends up being executed by the universal algorithm. Therefore every computation is a mathematical computation according to a mathematical algorithm. This phenomenon is often referred to by the slogan "software is mathematics". This has been discussed in numerous articles on Groklaw, if you wish to delve into the subject in more detail.

Several universal algorithms are known. Here is a selection of the main ones.

There is SLD resolution which is used in the logic programming paradigm and languages such as Prolog. SLD resolution is a universal algorithm which applies rules of logic to the data.25

In functional programming various implementations of normal order β-reduction are used.26 These universal algorithms are used in languages derived from λ-calculus like LISP.

Instruction cycles are the preferred universal algorithms for imperative programming which is the most widely used programming paradigm. Instruction cycles have both hardware and software implementations. A hardware implementation results in the stored program computer architecture which is the dominant way of making general purpose programmable computers. Software implementations often take the form of virtual machines or bytecode interpreters.

The universal Turing machine plays an important role in the theoretical foundations of computer science. It played a role in the birth of computation theory. It has also been the inspiration behind the invention of the stored program computer. Unlike the previously mentioned universal algorithm, it is not used for actual computer programming.

When a universal algorithm is implemented in software, the computer needs to be programmed twice. The first program uses the native instructions of the computer to implement the universal algorithm in software. The second program is the data given to the software universal algorithm.

The instruction cycle works as follows, assuming a hardware implementation in a stored program computer.27

  1. The CPU reads an instruction from main memory.
  2. The CPU decodes the bits of the instruction.
  3. The CPU executes the operation corresponding to the bits of the instruction.
  4. If required, the CPU writes the result of the instruction in main memory.
  5. The CPU finds out the location in main memory where the next instruction is located.
  6. The CPU goes back to step 1 for the next iteration of the cycle.

As you can see, the instruction cycle executes the instructions one after another in a sequential manner. In substance the instruction cycle is a recipe to "read the instructions and do as they say". This instruction doesn't execute anything. It is data read and acted upon by the CPU.28

Not all universal algorithms use instructions as their input as the instruction cycle does. It is incorrect to assume every computer program is made of instructions, because some programming languages target universal algorithms that don't use instructions as their input.

B. Some Errors of Facts Found in Arguments About Software and Patents

This section enumerates a few errors of facts that have poisoned the discussion of software and patents. These errors have had a cumulative effect. They solidify the erroneous notion that the functions of software are performed solely through the physical properties of electrical circuits. Each error either disregards or denies the role of symbols and their meaning in computer programming. Then, the cumulative effect is that the expression of an abstract idea is conflated with the application of an idea. As a result, patents on the expressions of abstract ideas have been granted improperly, because they have been mistaken for the applications of these ideas.

B.1. The proper understanding of the term "mathematical algorithm" is the one given by mathematicians.

Historically the courts have had problem understanding the term "mathematical algorithm". For example the Federal Circuit stated in AT&T Corporation vs Excel Communications:
Courts have used the terms "mathematical algorithm," "mathematical formula," and "mathematical equation," to describe types of nonstatutory mathematical subject matter without explaining whether the terms are interchangeable or different. Even assuming the words connote the same concept, there is considerable question as to exactly what the concept encompasses.
Also see in re Warmerdam:
The difficulty is that there is no clear agreement as to what is a "mathematical algorithm", which makes rather dicey the determination of whether the claim as a whole is no more than that.
The courts' difficulties lie in the definitions used. Referring to the correct textbooks of mathematics would clear up their confusion. Let's look at some of their attempts to define algorithms using such sources as ordinary dictionaries.

In Gottschalk v. Benson the Supreme Court described the term algorithm like this:

A procedure for solving a given type of mathematical problem is known as an "algorithm."
This is not an altogether wrong one-sentence summary, but it is too concise to be a complete definition. The details of the mathematically correct notion cannot be known if this sentence alone is used as the sole source of information.

In Typhoon Touch Technologies, Inc. v. Dell, Inc. the Federal Circuit explained their understanding:

The usage "algorithm" in computer systems has broad meaning, for it encompasses "in essence a series of instructions for the computer to follow," In re Waldbaum, 59 CCPA 940, 457 F.2d 997, 998 (1972), whether in mathematical formula, or a word description of the procedure to be implemented by a suitably programmed computer. The definition in Webster's New Collegiate Dictionary (1976) is quoted in In re Freeman, 573 F.2d 1237, 1245 (CCPA 1978): "a step-by-step procedure for solving a problem or accomplishing some end." In Freeman the court referred to "the term `algorithm' as a term of art in its broad sense, i.e., to identify a step-by-step procedure for accomplishing a given result." The court observed that "[t]he preferred definition of `algorithm' in the computer art is: `A fixed step-by-step procedure for accomplishing a given result; usually a simplified procedure for solving a complex problem, also a full statement of a finite number of steps.' C. Sippl & C. Sippl, Computer Dictionary and Handbook (1972)." Id. at 1246.
In particular the court in In re Freeman decided that these definitions of this term are more or less synonymous with process. Consequently the courts have tried to narrow down the understanding of mathematical algorithm to a subcategory of algorithms that the courts would deem "mathematical".
Because every process may be characterized as "a step-by-step procedure * * * for accomplishing some end," a refusal to recognize that Benson was concerned only with mathematical algorithms leads to the absurd view that the Court was reading the word "process" out of the statute.
This is exactly where the problem occurs. The definitions the courts have used provide no insight into what makes an algorithm mathematical. As a result, the courts don't have the information they need to distinguish a mathematical algorithm from a process in the patent-law sense.

Mathematicians have told us what a mathematical algorithm is. The courts should use this information. Then they would know what an algorithm is in the mathematical sense of the term.

An algorithm is a procedure for manipulating symbols which meet the additional requirements we have given above.29 We can ensure an algorithm is "mathematical" by verifying it meets the requirements of mathematics. It happens that the computations carried out by a computer always meet these requirements. Saying "software is mathematics" is to refer to this correct conclusion. We may reach that conclusion in several ways. For the purposes of this response, it suffices to mention three of them.

First, we may just compare the manipulation of bits in a computer with the requirements of mathematics to see that there is a match. An algorithm is a procedure that solves a problem through the mechanical execution of a manipulation of symbols. A programmer must find a way to solve the problem exclusively by syntactic means, without having the machine refer to the semantic. This obligation is what ensures the algorithm always meets the requirements of mathematicians for an algorithm to be a mathematical algorithm.

Second, observe that software is always data given as input to a universal algorithm. Given that the universal algorithm is mathematical, then the computation must be the execution of a mathematical algorithm

Third, use a programming language approach. We may ask whether the claimed method is implementable in the Concurrent ML extension of the programming language Standard ML. The official definition of the language specifies in mathematical terms which algorithms must be executed when a program is executed. Concurrent ML extends this specification to input/output routines and various concurrent programming constructs. A program written in this language is guaranteed to correspond to a mathematical algorithm given by the definition of the language.30

The patent eligibility of a computer-implemented invention hinges on whether the claim is directed at an application of the mathematical algorithm as opposed to the algorithm itself. A logical conclusion of "software is mathematics" in the sense above is that any threshold test of whether a mathematical algorithm is present in the invention is always passed when software is used. Attempts to distinguish computer algorithms that are 'mathematical' from those which are not run contrary to the principles of computer science. Then the section 101 analysis must proceed to whether the claim is directed to a patent-eligible application of the algorithm as opposed to the patent-ineligible abstract idea. A proposal for doing this will be presented in section C below.

B.2. The vast majority of algorithms can be carried out in practice for smaller inputs and are impractical for larger inputs.

Mathematicians know that algorithms must be executed in practice in order to actually solve problems. A procedure which can't be actually carried out won't solve anything. But still they have made a conscious decision to ignore the practical limitations of the computing agent in their criteria for accepting a procedure as an algorithm.31 This is in direct conflict with a frequently stated legal argument. Some people argue that whether or not the computation can be implemented in practice is one of the distinguishing factors between abstract mathematics and an application of mathematics.32 In one version of this argument it is argued that if the algorithm is hard to implement in practice then this is evidence that it is not an abstract idea.

The problem with this argument is that the burden of carrying out the steps of an algorithm increases with the quantity of data present in the input. There are few exceptions, but typical algorithms require at least to read their inputs. Then logically, if the size of the inputs increases, more work is required to read them. Then the input must be processed, and again the amount of work increases with the quantity of data to be processed. All typical algorithms are practical to use for a small enough size of inputs. And all typical algorithms are impractical when the size of the data grows over a certain limit. Therefore all typical algorithms will both pass and fail the "can be implemented in practice" test depending on the size of the input. That makes such a "test" useless.

In particular all ordinary arithmetic calculations may be either practical or impractical depending on how many decimals are required to write the numbers. Doubling the number pi with a precision of one trillion decimals is not something a human doing pencil and paper calculations can achieve in his lifetime. A computer can do it, but there is no limit to infinity. If we increase the number of decimals to a high enough value, the calculation is impractical on the fastest computers. This statement will remain true no matter how powerful our computer may be, because their capacity will always be finite.

This is the point of the abstraction mathematicians have made. By ignoring the practical limitations, they separate the mathematical properties of the algorithm from the capabilities of the computing agent. A test of whether the method may be carried out in practice is not a test for what a mathematical algorithm actually is.

We may compare algorithms with legal arguments. Courts enforce limits on the number of pages a brief may have and on the duration of oral arguments. Lawyers must find concise arguments that fall within these limits. This is not inventing a smaller stack of paper covered with ink or a faster process for emitting sounds in a courtroom. The argument remains an abstract idea even though concision makes it fit within physical limits.

Computations are mathematical, written utterances because they are procedures for writing symbols. When a better algorithm is found, the utterances are more concise. This is still a mathematical algorithm. The comparison with a legal argument is applicable because according to the Curry-Howard correspondence, an algorithm is an expression of logic.33 An algorithm solves problems precisely because it uses sound principles of logic and arithmetic to derive the solution.

B.3. The printed matter doctrine should be strictly applied to computations.
What happens when the only new and nonobvious advances over the prior art are in the meaning of the symbols? There is the printed matter doctrine. That is explained in this article by Kevin Emerson Collins, Semiotics 101: Taking the Printed Matter Doctrine Seriously (footnotes removed):
The contemporary printed matter doctrine restricts the products of human ingenuity that can be patented under section 101 of the Patent Act. Roughly stated, it dictates that "information recorded in [a] substrate or medium" is not eligible for patent protection--regardless of how nonobvious and useful it is--if the advance over the prior art resides in the "content of the information." For example, the printed matter doctrine prevents an inventor from claiming a diagram or text explaining how to perform a technological procedure. A technical diagram is an artifact of human ingenuity that satisfies the major statutory requirements for patent protection. Among its attributes, it can be both useful--it helps a technologist to perform the procedure more quickly, reliably, and precisely--and nonobvious--a person having ordinary skill in the art may not have been motivated to make the diagram before the inventor's discovery. However, the printed matter doctrine prevents a patent claiming this type of diagram from issuing. Similarly, the printed matter doctrine prevents an inventor from claiming an old machine with new labels, regardless of the nonobviousness of what the labels mean and the utility of the relabeled machine to society. The advance over the prior art is understood to reside not in the mechanics of the machine, but rather in the content of the information conveyed by the labels.
It is well-understood that stories of hobbits traveling in faraway countries are not physical elements of books or printing processes. The contents of the book cannot be used to distinguish the invention over the prior art.

On the other hand, there seems to be no one applying the printed matter doctrine to computations carried out by computers at all, let alone strictly in other contexts. This is a problem. The meaning of data is not a computer part. A patent should not issue when only the meaning of data distinguishes the invention from a prior art machine or process.

Let me illustrate why. Please take a pocket calculator. Now use it to compute 12+26. The result should be 38. Now give some non-mathematical meanings to the numbers. For example, say they are apples. Use the calculator to compute 12 apples + 26 apples. The result should be 38 apples. Do you see a difference in the calculator circuit? Here is the riddle. What kind of non-mathematical meanings must be given to the numbers to make a patent-eligible difference in the calculator circuit? Answer: no non-mathematical meaning can do this.

This example carries over to programming. There is no difference in the computer structure between an instruction to add 12+26 and an instruction to add 12 apples + 26 apples. There is no difference in a computer structure between doing a calculation for the sake of knowing the numerical answer and doing a calculation because the numbers mean something in the real world.

There are two issues there. First, if meaning doesn't make a difference in the computer structure, then we can't argue a new specific machine is made on that basis alone. Second, the difference between a pure mathematical calculation and an application of mathematics is the meaning given to numbers and other mathematical entities in the real world.

When the innovation lies strictly in the meaning, with no physical difference in the machine, then there is no patentable invention. At the very least the invention cannot be a machine or the operating process of a machine. We need a way to recognize these situations.

Here is another way to make the same point. Consider if there were such a claim as this:

A [computer / printing press] comprising a printing device and a microprocessor configured to use the printing device to print the story of hobbits traveling in faraway countries to destroy an evil anvil.
The words in brackets indicate a choice. This hypothetical claim is written for a computer or a printing press. A computer may be connected to a printer. A printing press may have an embedded microprocessor to control it. Even if we assume that destroying an anvil instead of a ring is a new and nonobvious improvement over Tolkien's The Lord of the Rings, such a claim should still be invalid whether we are discussing a printing press or a computer.

We may argue that a configured printing press is different from an unconfigured printing press. Different books are different articles of manufacture. The marks of ink on paper will not be arranged in the same manner. Therefore printing presses configured for different books will perform different functions because they don't manufacture the same article. This means a printing press configured to print a book is a different machine than a printing press without the configuration. One may print the stated book while the other can't. Also, the configured printing press is physically different from the unconfigured one because some of its elements are differently arranged.

This argument repeats the typical justifications of the doctrine that programming a computer makes a machine different from the unprogrammed computer. The correspondence is complete when we consider that a printing press may be controlled by an embedded programmed microprocessor and a computer may be connected to a printer. There are no factual difference that justify patenting a configured computer on the basis of the "new machine" doctrine and not a configured printing press. The relationship with hardware configuration is the same.

Let's compare the printing process with computing. Printing is a physical process which is performed through the physical properties of ink and paper. This process functions automatically without the intervention of a human mind. The specific book being printed is determined by data previously given as input to the printing press.

In a stored program computer, the computation is carried out by executing the instruction cycle. This instruction cycle is a physical process which is performed through the physical properties of an electrical circuit. This process functions automatically without the intervention of a human mind. The specific calculation is determined by data given as input to the instruction cycle.

There is no factual difference which would justify applying the printed matter doctrine to a printing process but not to the instruction cycle. The relationship between the meaning of symbols and the machine is exactly the same in both cases.

The Federal Circuit guidance given in In re Lowry is unhelpful:

The printed matter cases "dealt with claims defining as the invention certain novel arrangements of printed lines or characters, useful and intelligible only to the human mind." In re Bernhart, 417 F.2d 1395, 1399, 163 USPQ 611, 615 (CCPA 1969). The printed matter cases have no factual relevance where "the invention as defined by the claims requires that the information be processed not by the mind but by a machine, the computer." Id. (emphasis in original).

It is hard to see how this guidance can work. Technically, it makes no sense. Take the printing press. A claim on a configured printing press requires that the information be processed not by a human mind but by a machine, the printing press. The issue of meaning arises whether or not the human mind is an element of the process.

Software is much more likely to require the use of a human mind than a printing press. Many computer programs are interacting with their users, providing outputs, and requiring inputs. In these circumstances part of the data processing is done by a human mind, because human decisions are involved. On the other hand a printing press replicates the printed matter in an entirely automatic manner.

This is not the only flaw in Lowry. Authors write books using word processors. Books exist in electronic form and printing devices are controlled by computers. Printed characters are machine-readable through optical character recognition (OCR) technology. The Perl programming language has been designed for the express purpose of processing text, and it can process the result of an OCR scan.

The preceding paragraph assumes that "intelligible to a machine" means the ability to recognize the characters and process their syntax. If "intelligible" means the faculty to relate the syntax with meaning, computers absolutely don't do that.34 This is precisely why programmers must use algorithms to solve problems.35

The Lowry test for the applicability of the printed matter doctrine is arbitrary and illogical. It is not consistent with technological reality.

B.4. The language used in the disclosure and claims in software patents rely on an inversion of the normal semantical relationships between symbols and their meaning.
The error discussed in this section occurs when this inversion of the normal semantical relationship is not acknowledged. This leads to a contradictory reading of Supreme Court precedent on Section 101 subject matter patentability. But if the inversion is taken into account, it is easy to see that Supreme Court precedent is consistent.

Let's use ink and paper as an analogy. The marks of ink represent letters, and the letters form words which have meanings. So the normal semantical relationship goes from the physical substrate, the ink, to the symbol, the letter. And then it goes from the letters to the words, from the words to the sentences, and ultimately to the meaning of the sentences.

This observation is applicable to the mathematical foundations of computing. Mathematics is a written language. The semantical relationships follow the normal progression, from ink to the symbols, from the symbols to the syntax of mathematical language, and then to the mathematical entities like numbers which are denoted by the symbols. Then there is an additional relationship between math and whatever in the universe is described by means of math.

This applies to algorithms too. An algorithm is a mathematical procedure to solve problems, like the ordinary pencil and paper arithmetical calculations we learned in school. When computing, the computer writes symbols that have the same semantical relationships. An algorithm is a procedure for writing and rewriting the symbols until we arrive at a solution of the problem.

We find in computers the same semantical progression, except that the symbols are not written on paper. Computers use electrical, magnetic, and optical phenomena to represent bits. The bits are symbols representing boolean values and numbers. Finally the numbers means whatever in the universe is described by the numbers. The computations are manipulations of the bits according to some algorithm. This is part of the mathematical foundations of computer science.

Sometimes we may invert this semantical relationship. For example we may enter a bookstore and ask for the book where hobbits travel in faraway countries where live elves and orcs trying to destroy an evil ring. The store keeper will likely bring a copy of Tolkien's The Lord of the Rings. We described the physical book by referring to its contents. Instead of using the book to tell the novel, we used an outline of the novel to refer to the book.

This inversion of the semantical relationship occurs in software patents. The functions of the software are disclosed and claimed. This language is written in terms of the meaning of the data. If the patent is on a payroll system, the functions of the software will be described in terms of employees, wages and deductions, for example. The expectation is that a skilled programmer will be able to write the software from this disclosure. Also, the claim is presumed to describe a new machine, which is the programmed computer. The claimed invention is either this machine or some machine process such as transistors turning on and off while carrying out the functions of the software. This is describing the physical device in terms of its meaning, exactly like the physical book may be described by an outline of the novel.

This point is related to the distinction between the expression of an abstract idea and an application of an idea. A mathematical idea is written using symbols. This is an expression of the idea in a sense close to copyright law. But mathematics may be used to describe something else, like a rocket in flight or the finances of a corporation. This is the application of mathematics. We can see these concepts are related to mathematical language. In semiotics terms, the expression of the idea is a sign-vehicle and the application is a referent.

A mathematical calculation involving pure numbers like 12+36=48 is not distinguishable from an applied calculation like 12 apples + 36 apples = 48 apples unless we consider the meaning of the numbers. In this example, the meaning is counts of apples. Therefore the difference between pure abstract mathematics and applied mathematics is in the meaning.

The same mathematical expression may or may not have a meaning outside of mathematics depending on context. It can be both pure mathematics or applied mathematics depending on what the meaning is. The same is true of algorithms. The same algorithm can be used for both pure mathematics and applied mathematics, depending on the intent of its user. This supports the notion that an expression of a mathematical idea is a sign-vehicle, and its application is a referent.

We may represent the inversion of semantical relationships in a picture:

This inversion is not a problem, as long as everyone understands and acknowledges this is what is going on. The translation between the two views is straightforward, and everybody will understand each other.

Problems occur when people are oblivious to the normal semantical relationships and only consider the legal view. Then they argue the computer is described by mathematics in a manner analogous to a description of the physical universe according to the laws of physics. Then they will treat the programmed computer as an application instead of an expression of mathematics. This conflation is indicated in the diagram above.

This argument is found explicitly in In re Bernhart:

[A]ll machines function according to laws of physics which can be mathematically set forth if known. We cannot deny patents on machines merely because their novelty may be explained in terms of such laws if we are to obey the mandate of Congress that a machine is subject matter for a patent.
A device described according to the laws of physics is the meaning of the mathematical language. It is not the language itself. But the computation as carried out by the computer is the actual manipulation of symbols representing numbers. They are the digital counterpart of pencil and paper calculations. This is illustrated in the picture below.

This picture shows that the laws of physics follow normal semantical relationships: from symbols to math and from math to the described device. But a patent goes the other way around, because the programmed computer is where the symbols are stored and manipulated. The Bernhart law of physics argument is valid when applied to a device described according to the laws of physics. But when it is applied to a software patent claim, this difference must be taken into account and the argument should not apply.

Let's use a payroll system as an example. The algorithm is described in terms of calculations about hours worked, hourly rates and deductions. None of that is machine parts. A payroll algorithm is not a mathematical description of the computer. It is a description of the calculations which are applicable to payrolls. We can use this as a description of the programmed computer only when we invert the semantical relationship and use the functions of the software as a description of what the computer must do with the bits. This is not like the laws of physics.

If we took the laws-of-physics argument seriously, there is no arithmetic calculation which is abstract mathematics. The logic goes like this. All mathematical formulas may be used as a mathematical description of a programmed computer for doing the corresponding calculations. To paraphrase the court in Bernhart, we cannot deny patents on machines merely because their novelty may be explained in terms of such formulas if we are to obey the mandate of Congress that a machine is subject matter for a patent.

When we disregard the inversion of the semantical relationship, an application of mathematics is incorrectly conflated with a written expression in the language of mathematics. Or in the terms of of semiotics, the sign-vehicle is conflated with the referent. This leads to a contradictory reading to the Supreme Court precedent in Gottschalk v. Benson, Parker v. Flook and Diamond v. Diehr. The factual difference between Diehr and the other two cases is that in Diehr the referent is claimed, but it is not claimed in the other two cases. The only basis we have to find that there is an application of mathematics in Diehr but not in Benson and Flook is that the referent is claimed. This is consistent with the view that an application of mathematics is a referent, while an expression of a mathematical idea is a sign-vehicle. But if we don't distinguish the expression from the application, we cannot distinguish Benson and Flook from Diehr , and the three cases are contradictory.

A contradictory reading of these cases cannot be correct. Therefore the proper interpretation of these cases should be that an application of a mathematical algorithm is a referent and not a sign-vehicle. This is also the conclusion which is reached when the proper semantical relationships are taken into consideration when we analyze how algorithms perform their functions.

B.5. In a stored program computer, the functions of software are performed through a combination of defining the meaning of data and giving input to an already implemented algorithm.
The error highlighted in this section is a common misunderstanding of the operating principles of a computer. The courts have ruled that programming a computer is the act configuring a general purpose computer into a specific machine for performing the functions of the software. This is the legal doctrine that programming a computer makes a machine different from the unprogrammed computer. This view is technically incorrect, because the functions of software are not implemented in this manner. The consequence of this error is that patents are granted on machines, when no machine has been invented.

There are two main arguments supporting this doctrine: the new-function argument and the change-to-the-machine-structure argument.

According to the new-function argument, the configured circuit can perform a function that the circuit without the configuration is not capable of performing. Therefore the configured circuit is a different circuit from the one without the configuration.

The change to the machine structure argument has been stated in In re Bernhart : "[I]f a machine is programmed in a certain new and unobvious way, it is physically different from the machine without that program; its memory elements are differently arranged."36

These two arguments follow from a naive and technically incorrect understanding of computer programming. In this understanding, the functions of software are implemented by storing the instructions of the program in main memory. Then, according to this understanding, the structure of the general purpose computer is changed and it becomes a specific machine able to perform the functions of software. This view is incorrect, because the functions of software are not related to the machine structure in this manner.

Some old general-purpose computers like the ancient ENIAC were programmed by physically rewiring the computer using a plug board. This kind of programming makes a particular circuit for each program. This is an obsolete design. Most modern general-purpose computers are built according to the stored program computer architecture. They are not programmed with plug boards or equivalent devices. These computers are programmed through a combination of two techniques: (a) defining the meaning of data, and (b) giving some input to an already implemented algorithm which could be either the instruction cycle or some other algorithm implemented in software. It is the second technique which distinguishes modern computer programming from programming an ENIAC. These two techniques, taken alone or in combination, do not configure the computer to make a new, specific machine. They leave the structure of the machine unchanged.

The naive understanding of programing departs from the technically correct view in four ways.

  1. The naive understanding of computer programming ignores the role of the meaning of data.
  2. Main memory is a moving part of a computer. A physical change to a moving part of a machine doesn't make a structurally different machine. It is merely the action of the process by which the machine operates.
  3. The mere act of storing data in memory does not implement functionality. This only happens when the data is given as input to an algorithm. This remains true when the data is instructions for a program.
  4. All data may be used to implement functionality when given as input to an algorithm. This capability is not limited to instructions.

We illustrate these issues using a multiplication algorithm as an example. We assume the algorithm is implemented as a dedicated digital circuit for the sake of making clear what is the relationship between functionality and the underlying hardware. Then the explanation will also apply to the hypothetical specific machine which is created when a computer is programmed.

Our hypothetical circuit performs a series of multiplications. It takes as input a series of number, like 2, 5, 7, 12, 43, and multiplies them by some predefined number. The circuit is configured by recording this predefined number in a hardware register.37 If the number in the register is 2, then the circuit will double the sample series above to produce the result 4, 10, 14, 24, 86.

Let's call this circuit a multiplying circuit. Then we may write a series of claims:

  1. A multiplying circuit comprising an arithmetic unit and a register configured to double a plurality of numbers.
  2. A multiplying circuit comprising an arithmetic unit and a register configured to triple a plurality of numbers.
  3. The multiplying circuit of claim 1 where the numbers are counts of apples.
  4. The multiplying circuit of claim 2 where the numbers are counts of oranges.
  5. A multiplying circuit comprising an arithmetic unit and a register configured to quadruple a plurality of counts of peppercorns.

The claims are directed to a hardware implementation of the algorithm. However the details of the hardware are purposefully left out of the claims. As they are written, they may as well read on the specific machine that results, according to patent law, from the programming of a general purpose computer. This ambiguity is intended for educational purposes. It builds an easy to understand correspondence between the operation of the hardware and the action of the algorithm. Any argument about the hardware circuit obviously transposes to the equivalent software implementation.

Claims 1 and 2 illustrate the meaning of the phrase "configured to" when it is applied to a circuit for executing an algorithm. In claim 1 the function is doubling. In claim 2 the function is tripling.38 These functions are implemented by storing a number in the circuit register. For claim 1 this number is 2. The number is 3 for claim 2. Configuring circuits for performing some functions is the act of storing one or more numbers in a memory element. In the case of the multiplying circuit only one number is needed and the memory element is a register. In the case of a stored program computer we store long series of numbers in the computer main memory. Often the numbers represent instructions to be executed by the instruction cycle, but this is not always the case. Often other numbers are used as inputs to other algorithms. For example, this would occur in a software implementation of claims 1 and 2.

1. The naive understanding of computer programming ignores the role of the meaning of data.

Claims 3 and 4 show how the meaning of data relates to functionality. Claim 3 doubles counts of apples instead of doubling plain numbers as in claim 1. And claim 4 triples counts of oranges instead of tripling counts of plain numbers as in claim 2. The difference is strictly in the meaning of numbers. The physical configuration of the machine is unchanged when compared to claims 1 and 2. This method of implementing functionality is a pure operation of meaning.

There is no way to argue that defining the meaning of data makes a circuit different from the circuit without the meaning. We cannot argue there is a change to the machine structure, because no change at all is made to the machine. Arguing the circuit must be different because it performs a new function is nonsensical.

This point alone suffices to refute the doctrine that programing a computer makes a different machine. The reason is that the meaning of the numbers is not a machine part. The sole operation of giving some non-mathematical meaning to numbers can never make a machine different from the one where the numbers don't have this meaning.

In claim 5 the two programming techniques are used in combination. A number is configured in the register as input to the multiplying algorithm, and simultaneously we define the numbers to be counts of peppercorns. Programs for general-purpose computers use this same combination of techniques. The meaning of data is defined, and numbers are stored in main memory and given as input to algorithms.

The contribution of the count of peppercorns to the circuit structure is nil. This is defining the meaning of the numbers like in claims 3 and 4. This claim doesn't recite a circuit different from a circuit configured to quadruple plain numbers. This same point is applicable to a stored-program computer. Reciting the meaning of the data does not direct a claim to a computer different from one that manipulates plain numbers, because meaning is not a machine part.

If someone were to insist on salvaging the doctrine from this argument, he might try to remove the meaning of data from the definition of the functionality and claim a specific machine for performing whatever remains of the function. This attempt would fail for two reasons. First, for all practical purposes it would eviscerate the doctrine. Software is useless unless the data has meaning, and utility is a requirement for patentability. Second, once the meaning is removed, the resulting function is a manipulation of plain numbers. Then the claim should be invalid because the mathematical algorithm exception applies.

A patentable application of mathematics must actually use the referent. Merely referring to it is not sufficient, because then there is no contribution of the referent to the invention structure when compared to an identical manipulation of pure numbers.

2. Main memory is a moving part of a computer. A physical change to a moving part of a machine doesn't make a structurally different machine. It is merely the action of the process by which the machine operates.

Do the changes to the memory elements resulting from programming the computer suffice to make machine different from the unprogrammed computer? The answer is that no such machine is made, because memory elements are moving parts of the circuit. They can be changed billions of times per second.39 Clearly a different machine isn't made every time one of these changes occur. To rule otherwise yields the absurd result that no machine can perform a computation until the end because it always become a different machine every time a memory element is altered.

Storing information in memory never makes a structural change to the computer. This action is always part of the execution of the electrical process by which the computer operates.40 Regardless of how a computer is programmed this electrical process is always the execution of the instruction cycle.

3. The mere act of storing data in memory does not implement functionality. This only happens when the data is given as input to an algorithm. This remains true when the data is instructions for a program.

If someone were to insist that programming a computer makes a different machine from the unprogrammed computer, he has to argue that he can somehow distinguish some memory changes that make a different machine from other changes that don't.41 This argument is not defensible because the technology doesn't work in this manner.

Looking at claims 1 and 2 again, there is no physical difference between a number used to configure a multiplying circuit and a number used for another purpose. The bits representing the number are identical in both cases. The difference is in what is done with the number after it has been stored. If we transpose this logic to a stored-program computer, there is no physical difference between numbers in memory which are instructions to the microprocessor and numbers which are used for another purpose. Again the bits representing numbers are identical. The difference is in what is done with the numbers afterwards.

There are programs which use instructions as ordinary numeric data without executing them. Examples are programs which compute checksums or hash functions to verify that the file containing the instructions has not been tampered with. When instructions are stored in memory for this purpose the functionality is not imparted to the computer. The instructions will result into functionality only when they are given as input to the instruction cycle.

The changes in the memory elements do not impart functionality to a computer. The act of giving the data as input to an already implemented algorithm imparts the functionality. This is why we can't distinguish memory changes that make a structurally different machine from those that don't. The difference is in how the data is used and not in which data is used or what happens to the memory.

4. All data may be used to implement functionality when given as input to an algorithm. This capability is not limited to instructions.

The naive view of computers asserts that because the instructions have a special meaning to the hardware, they impart functionality while other data without such special meaning will not. This is not how its works. Instructions are series of numbers given as input to an algorithm implemented in hardware which is the instruction cycle.42 But this is only one of several algorithms programmers may use for this purpose.43 Programmers can and do implement functionality with data which is not instructions recognizable by the hardware.

As a general rule every algorithm that accepts multiple parameters can be used to produce more functions by partially specifying one of its parameters in the manner illustrated by claims 1 and 2. Any type of data can be used as an input as long as the chosen algorithm can process it.

The range of functions which can be so specified will vary depending on the capabilities of the algorithm. Some algorithms are especially prone to be used in this manner. The extreme case is the various universal algorithms mentioned in section A.5 supra. Each of these algorithms can compute all functions which are computable. But non-universal algorithms can also be used, although they are more limited in the range of what they can compute. For example algorithms for pattern matching using regular expressions can be used for a wide range of text processing functions. And algorithms for reading and writing data in a database can be used for a wide range of storage and retrieval functions. Please note how some of these algorithms accept as input data which is not instructions to the hardware.


The main memory of the computer is always a moving part of the device regardless of which type of information is stored and how it is used afterwards.44 Changing the contents of main memory never makes a structurally different machine. In addition defining the meaning of data makes no changes whatsoever to the computer. The doctrine that programming a computer makes a machine different from the unprogrammmed computer corresponds to a naive and incorrect view of how functionality relates to the underlying hardware. The effect of this doctrine is to incorrectly extend the patentability of machines to claims where the actual invention is clearly not a machine.

B.6. The meaning of data distinguishes an algorithm from an application of the physical properties of a machine.
The Court of Customs and Patents Appeals once said (in In re Noll ):
There is nothing abstract about the claimed invention. It comprises physical structure, including storage devices and electrical components uniquely configured to perform specified functions through the physical properties of electrical circuits to achieve controlled results.

The functions of software are not always performed through the physical properties of an electrical circuit. Software relies on the meaning of data, and this is not a machine part. And most importantly, when data has no meaning, an algorithm doesn't solve its problem.

It is possible to view the computer as a machine that functions according to the laws of physics. It may be argued that the computer will function without a human mind watching the meaning of the bits inside the computer. The same may be said of a printing press. In most software patents, what is claimed is not the sole operation of the machine according to the laws of physics. Semantical elements are claimed. They are needed to infringe. This distinguishes the invention from a claim on a machine operating according to the laws of physics.

In sections B.1 through B.5, five independent errors of fact have been identified. All five errors can be argued separately, and they should all be corrected.

To make matters worse, the role of meaning is not acknowledged. This sixth error seems to be a recurring theme underlying several of the previous five errors. This is a major problem because meaning is the very thing that makes computers useful. As a result, the subject matter of the invention is often mistaken for something physical, when nothing physical has actually been invented.

The effect of the errors is cumulative. They prevent the patent system from understanding the difference between an abstract mathematical idea and the application of this idea.

C. What Is an Abstract Idea in Software and How Do Expressions of Ideas Differ From Applications of Ideas?

This section argues that semiotics is the proper approach to defining what an abstract idea is in computer programming. Some alternative approaches are examined and rejected. This section also includes an examination of why mathematical subject matter is abstract and why the semiotics approach will correctly identify this type of abstract idea.

C.1. Mathematical algorithms are abstract ideas.
It is understood in case law that mathematical algorithms are a subcategory of abstract ideas. We explain in this section how the principles of mathematics justify this view.

An algorithm is often abstract because it is designed to handle a potentially infinite range of inputs. This is the case of all arithmetic operations because there is no limit to how many digits a number may have. This is also the case of many nonnumerical algorithms, such as searching text, which are designed to work on arbitrarily large text. Planet Earth is not vast enough to make concrete implementations of "infinite". Data of arbitrarily large size are abstractions.

An algorithm is abstract because it is a procedure defined in terms that ignore the limitations of time and space of its practical implementation. It is designed to produce the correct answer for all size of inputs whether or not the resources to handle this input are available.45

An algorithm is a procedure for manipulating symbols. We note that a symbol is an abstract entity that is different from a mark of ink on paper or an electric charge in a capacitor.46 The same algorithm may be implemented with a diversity of technologies where the same symbol has different physical representations. The algorithm is abstract, because it is a manipulation of the abstract symbol. It is not a physical process for manipulating the physical representations.

An algorithm is abstract because its utility depends on meaning. The meaning of symbols is not a machine part. It is not a physical element of the machine.

Algorithms are analogous to novels, legal briefs and other forms of text. They have to be represented physically, and yet they are abstract. Software patents often contain claims directed to the physical representations as long as they convey the recited meaning. These claims are charades. They are attempts to preempt the underlying abstract ideas by claiming the physical means that are used to express them on the basis of their meanings.

C.2. Semiotics is the proper approach to define what is an abstract idea in software.
The question arises of how do we distinguish a claim on an abstract idea such as a mathematical calculation from a claim on an application of the idea. We argue that the proper way to answer this question is to use the concepts and vocabulary of semiotics,47 as in the picture below.

We rely on the notion that mathematics is a language and a computation is a written expression of this language. The symbols must be written somehow, often with pencil and paper, but also by electronic means in a computer. The computation itself is a manipulation of symbols in this language. The symbols represent various mathematical entities like numbers and boolean values. If mathematics is used for a practical application, these abstract mathematical entities model something in the physical reality.

In semiotics terms, the computer is a sign-vehicle, a physical device used to represent the sign. Whatever physical reality is referred to by the data is a referent. In between the abstract mathematical ideas are interpretants. They are thoughts in the mind of the programmer, or in the mind of the user of the computer.

There is room to argue whether a number is a thought in the mind of humans, or something that exists in an abstract mathematical universe. This is a controversial topic in the philosophy of mathematics. A similar question may be raised with such concepts as commodity hedging. The law shouldn't be concerned with this debate. Either way the mathematical entities are abstract and not patentable. Regardless of the outcome of such debate it should be acceptable to treat such abstract entities as interpretants for legal purposes because they do not exist as physical objects in the real world.

Semiotics makes two important distinctions. First the physical devices such as computers are sign-vehicles. They are not signs. The meaning is a part of the sign but it is not part of the sign-vehicle. The meaning of data is not part of the computer. This distiction reflects the point previously made that meaning is not a physical property of electrical circuits.

The other distinction is that there are different types of meanings. Interpretants are thought in the human mind. They are abstract ideas. Referents are concrete entities in the real world. They are not abstract and they may be patentable inventions. Suppose we have a claim involving a sign, like a programmed computer associated with the meaning of the data. Which type of meaning is recited is helpful information when trying to find out whether this claim is directed to a patnent-ineligible abstract idea.

The Supreme Court in Diamond v. Diehr said (footnote omitted, bold added):

We recognize, of course, that when a claim recites a mathematical formula (or scientific principle or phenomenon of nature), an inquiry must be made into whether the claim is seeking patent protection for that formula in the abstract. A mathematical formula as such is not accorded the protection of our patent laws, Gottschalk v. Benson, 409 U. S. 63 (1972), and this principle cannot be circumvented by attempting to limit the use of the formula to a particular technological environment. Parker v. Flook, 437 U. S. 584 (1978). Similarly, insignificant postsolution activity will not transform an unpatentable principle into a patentable process. Ibid. To hold otherwise would allow a competent draftsman to evade the recognized limitations on the type of subject matter eligible for patent protection. On the other hand, when a claim containing a mathematical formula implements or applies that formula in a structure or process which, when considered as a whole, is performing a function which the patent laws were designed to protect (e. g., transforming or reducing an article to a different state or thing), then the claim satisfies the requirements of § 101.
Please refer to the part in bold. We argue that this kind of structure or process must be a referent. It cannot be a sign-vehicle such as a programmed computer because it is a representation of the mathematical language itself. A sign-vehicle is not an application of the language. To hold otherwise would allow one to claim mathematical subject matter, because an expression in the language must always have some form of physical structure. Whenever the claim is directed to a sign-vehicle an inquiry must be made into whether the only nonobvious advances over the prior art are interpretants. If this is the case the claim is directed to the abstract meaning of the mathematical language.
C.3. This description of abstract ideas is technology neutral and it doesn't require us to determine whether the algorithm is 'mathematical'.
Mathematics is mentioned in this discussion in part because algorithms are the only type of procedures computers are capable of executing48 and in part because a mathematical algorithm exception has been created by Supreme Court precedent. But the semiotics approach is applicable to all manipulations of symbols, whether or not they are mathematical. Therefore, if this approach is adopted, the issue of whether or not a mathematical algorithm is involved can be eschewed.

This semiotics approach is not limited to software. It is applicable in all circumstances where a sign is involved. It doesn't matter if the sign is a stored program computer or some other technology like a dedicated circuit. The issue of meaning is handled in the same manner.

These circumstances are advantageous. There is no need to design some special test on what is 'mathematical' or what is 'software'. Also the notions of semiotics are not that hard to understand, and they require no deep knowledge of mathematics or computer science. This leads to a test for abstract ideas which is workable for judges and juries with little or no mathematical and technology background. This test is also consistent with the established printed matter case law.49 It helps draw a logical boundary between copyright and patent law because it distinguishes the expression of an idea from the application of the idea.

C.4. There is no alternative to this description of abstract ideas.
Previous attempts to test for "abstract ideas" in software have failed. All these attempts have disregarded the issue of meaning. No test will succeed until the role of meaning is taken into consideration. The problem is that every expression of an idea must have a physical representation. Then it is easy to give a claim preempting an abstract idea a façade of concreteness by directing it to a sign-vehicle defined by its meaning. It is impossible to analyze the subject matter of this type of claims unless it is recognized that they are sign-vehicles and they have meanings.

Abstract is not synonymous with "vague or overly broad". Mathematical subject matter such as algorithms is abstract, but it is narrowly and precisely defined.50

Abstract is not the opposite of "useful". The contents of a reference manual or a dictionary is useful, but it is an interpretant which is an abstract idea. Also the ordinary pencil and paper procedures for arithmetic calculations are abstract mathematical algorithms, and they have practical uses in accounting, engineering and many other disciplines.

Tests based on whether the invention is practically difficult to implement don't work, because most mathematical algorithms are practical to implement when the size of the input is small enough and practically impossible to implement when the size of the input is large enough.51

The Federal Circuit has tried for years to find a definition of what makes an idea abstract. They report that they have failed.

From MySpace, Inc. v. GraphOn Corp.:

When it comes to explaining what is to be understood by "abstract ideas" in terms that are something less than abstract, courts have been less successful. The effort has become particularly problematic in recent times when applied to that class of claimed inventions loosely described as business method patents. If indeterminacy of the law governing patents was a problem in the past, it surely is becoming an even greater problem now, as the current cases attest.

In an attempt to explain what an abstract idea is (or is not) we tried the "machine or transformation" formula--the Supreme Court was not impressed. Bilski, 130 S.Ct. at 3226-27. We have since acknowledged that the concept lacks of a concrete definition: "this court also will not presume to define `abstract' beyond the recognition that this disqualifying characteristic should exhibit itself so manifestly as to override the broad statutory categories of eligible subject matter… ." Research Corp. Techs., Inc. v. Microsoft Corp., 627 F.3d 859, 868 (Fed.Cir.2010).

Our opinions spend page after page revisiting our cases and those of the Supreme Court, and still we continue to disagree vigorously over what is or is not patentable subject matter. See, e.g., Dealertrack, Inc. v. Huber, ___ F.3d ___ (Fed. Cir.2012) (Plager, J., dissenting-in-part); Classen Immunotherapies, Inc. v. Biogen IDEC, 659 F.3d 1057 (Fed.Cir.2011) (Moore, J., dissenting); Ass'n for Molecular Pathology, 653 F.3d 1329 (Fed.Cir. 2011) (concurring opinion by Moore, J., dissenting opinion by Bryson, J.); see also In re Ferguson, 558 F.3d 1359 (Fed.Cir. 2009) (Newman, J., concurring).

This effort to descriptively cabin § 101 jurisprudence is reminiscent of the oenologists trying to describe a new wine. They have an abundance of adjectives--earthy, fruity, grassy, nutty, tart, woody, to name just a few--but picking and choosing in a given circumstance which ones apply and in what combination depends less on the assumed content of the words than on the taste of the tongue pronouncing them.

From CLS Bank International v. Alice Corporation PTY. LTD.:
The abstractness of the "abstract ideas" test to patent eligibility has become a serious problem, leading to great uncertainty and to the devaluing of inventions of practical utility and economic potential. See Donald S. Chisum, Weeds and Seeds in the Supreme Court's Business Method Patent Decision: New Directions for Regulating Patent Scope, 15 Lewis & Clark L. Rev. 11, 14 (2011) ("Because of the vagueness of the concepts of an `idea' and `abstract,'… the Section 101 abstract idea preemption inquiry can lead to subjectively-derived, arbitrary and unpredictable results. This uncertainty does substantial harm to the effective operation of the patent system."). In Bilski, the Supreme Court offered some guidance by observing that "[a] principle, in the abstract, is a fundamental truth; an original cause; a motive; these cannot be patented, as no one can claim in either of them an exclusive right." Bilski II, 130 S. Ct. at 3230 (quoting Le Roy v. Tatham, 55 U.S. (14 How.) 156, 175 (1852). This court has also attempted to define "abstract ideas," explaining that "abstract ideas constitute disembodied concepts or truths which are not `useful' from a practical standpoint standing alone, i.e., they are not `useful' until reduced to some practical application." Alappat, 33 F.3d at 1542 n.18 (Fed. Cir. 1994). More recently, this court explained that the "disqualifying characteristic" of abstractness must exhibit itself "manifestly" "to override the broad statutory categories of patent eligible subject matter." Research Corp., 627 F.3d at 868. Notwithstanding these well-intentioned efforts and the great volume of pages in the Federal Reporters treating the abstract ideas exception, the dividing line between inventions that are directed to patent ineligible abstract ideas and those that are not remains elusive. "Put simply, the problem is that no one understands what makes an idea `abstract.'" Mark A. Lemley et al., Life After Bilski, 63 Stan. L. Rev. 1315, 1316 (2011).

In section B, supra, we have identified that the source of these problems is the refusal to acknowledge the role of symbols and their meaning in computer programming. There is a failure to consider what an algorithm is in mathematics.52 Had this notion been considered, the role of symbols and meaning would have been apparent. Then there is a failure to recognize the similarities between the computer instruction cycle and a printing process.53 This recognition too would have made apparent the role of symbols and their meaning. There is also the failure to acknowledge that the language of a typical software patent inverts the normal semantical relationships between a sign-vehicle and the referent. This failure yields an inconsistent reading of the Supreme Court precedents of Benson, Flook and Diehr.54 It also leads to the incorrect conclusion that the functions of software are performed exclusively through the physical properties of electrical circuits.55 This conclusion is cemented by the doctrine that programming a computer makes a machine structurally different from the unprogrammed computer.

The cure is to acknowledge the linguistic aspects of mathematics and take into account that a computer is a sign-vehicle. It is a device for manipulating bits, and bits are symbols with meanings. Then the proper definition of abstract ideas becomes apparent.

D. The Effect on Innovation of Patent Rights Granted on the Expressions of Abstract Ideas.

Software patents don't promote innovation because they can't. The burden imposed on job-creating software authors is large. They cannot possibly clear all rights to their own products. The consequences are deleterious. Not only can software authors not be secure in their own property, but they can't use the disclosure from patents for fear of being liable for treble damages. In addition, the normal costs/benefits analysis of patents is not applicable to software development. None of the factors that normally allow patents to promote innovation function according to theory in the computer programming art. Therefore there is no reason to believe software patents promote innovation.

D.1. Clearing all patents rights on expressions of ideas is practically impossible.
Let's imagine a regime where proprietary rights may be granted to each particular idea. In this imaginary regime, the author of a book, any book, would be required to secure the rights to each idea he is using. Each sentence expresses an idea which may be owned by someone. Each combination of sentences makes a more complex idea. The author is expected to check each of these ideas, determine whether it is in the public domain or if it is owned by someone, and in the latter case secure the rights to the idea or remove it from his work.

It is not realistic to expect authors to comply with this requirement because it is overly burdensome. The rights cannot be cleared, because the number of ideas in a book is just too great to check them all. Authors would have to choose between not writing or risking a lawsuit. This regime would hinder the creation of new works of authorship, because it would put all the authors who choose to keep writing at perpetual risk of infringement.

This is exactly the kind of regime patent law imposes on computer programmers. Case law doesn't recognize that a computation is the expression of an idea, exactly like English sentences in a book. This is technically wrong. Programs are useful because data has meaning. They solve problems because the computation implements operations of logic through a syntactic manipulation of symbols.56

Software is written in the form of lines of code. The source code is a copyrightable expression, and it is not patented. But source code corresponds to a computation. Because the computation is a manipulation of symbols it is also an expression of an idea. Patents rights are granted to this expression, and this is where the problem lies.

Each line of code is roughly similar to a sentence in English in that each expresses an idea. Like sentences, lines of code are grouped to make more complex ideas. But under the current case law every single one of these ideas is specifying a physical process which is performed through the physical properties of an electrical circuit. Each of these processes may be the subject matter of a patent. Typical software has between thousands and millions of lines of code. The number of ideas which may potentially infringe on someone's patent is enormous.

Mark Lemley quantifies the numbers of patents which may be applicable to a software product57:

Because computer products tend to involve complex, multi-component technology, any given product is potentially subject to a large number of patents. A few examples: 3G wireless technology was subject to more than 7000 claimed "essential" patents as of 2004; the number is doubtless much higher now.72 WiFi is subject to hundreds and probably thousands of claimed essential patents.73 And the problem is even worse than these numbers suggest, since both 3G wireless technology and WiFi are not themselves products but merely components that must be integrated into a final product. Some industry experts have estimated that 250,000 patents go into a modern smartphone.74 Even nominally open-source technologies may turn out to be subject to hundreds or thousands of patents.75 The result is what Carl Shapiro has called a "patent thicket"-- a complex of overlapping patent rights that simply involves too many rights to cut through.76




[72] For discussion and sources, see Mark A. Lemley & Carl Shapiro, Patent Holdup and Royalty Stacking, 85 Tex. L. Rev. 1991 (2007). Information on patents essential to 3G wireless technology is collected at, though that includes only patent disclosed to that group.

[73] Ed Sutherland, WiMax, 802.11n Renew Patent Debate (Apr. 7, 2005),

[74] See (statement of David Drummond, Chief Legal Officer at Google).

[75] Id. (discussing patents that threaten the open-source Android operating system). Microsoft, Nokia, Apple and others have all filed suit against makers of Android phones, part of a crazy tangle of litigation. See floorsixtyfour/5061246255/.

[76] Carl Shapiro, Navigating the Patent Thicket: Cross Licenses, Patent Pools, and Standard-Setting, in 1 Innovation Policy and the Economy 119 (Adam Jaffe et al. eds., 2000). See also Michael Heller & Rebecca S. Eisenberg, Can Patents Deter Innovation? The Anticommons in Biomedical Research, 280 Sci. 698 (1998).

Christina Mulligan and Timothy B. Lee have observed58 the burden of compliance with patents depends primarily on two numbers: the number of patents which may be potentially infringed and the numbers of firms which write software. Both numbers are large. Over 40,000 software patents are granted every year in the US. Also every firm having an internal IT department develops software. It is common even for small enterprises to own a web site. Each of these firms may potentially infringe on some software patent, and in an ideal world each of them must check all applicable patents for possible infringement. The size of the task is staggering:59

Even if a patent lawyer only needed to look at a patent for 10 minutes, on average, to determine whether any part of a particular firm's software infringed it, it would require roughly 2 million patent attorneys, working full-time, to compare every firm's products with every patent issued in a given year.
This calculation covers just the work of keeping up with the newly issued patents every year. Checking already issued patents is not included.

This result is justified by simple arithmetic. The assumptions are 40,000 patents issued per year, 600,000 firms that actively write software, and each attorney is capable of working approximately 2000 billable hours per year. Then the math is straightforward: 40,000 patents*600,000 firms*(10 minutes per patent-firm pair)/(2000*60 minutes per attorney)=2 million attorneys.

These assumptions are admittedly speculative. It doesn't matter. There are only roughly 40,000 registered patent attorneys and patent agents in the US. Even if we alter the assumptions by a large margin the patent bar clearly doesn't have enough members to perform the task.

Even if we consider only the work required within a single organization, this is still an overly burdensome task. Mulligan and Lee examine a simple hypothetical scenario where 30,000 firms making widgets own one patent each for a total of 30,000 patents. Then they inquire how much work it is for each participant to evaluate whether they infringe on the remaining 29,999 patents:60

Each of the 30,000 firms would need to hire a patent attorney to examine 29,999 other patents, which takes 1 hour per patent, so attorneys would spend a total of 30,000 * 29,999 * 1 hour = 899,970,000 hours. Assuming a typical attorney bills 2000 hours of work per year, each firm would need just shy of 15 attorneys to examine 29,999 patents.
This analysis assumes each firm wants to complete the work in exactly a year. It also assumes that lawyers can determine whether a given patent is infringed. This is not always the case. It is notorious that this kind of analysis is not dependable.61

The analysis also assumes software firms can wait until the analysis is done before releasing their products in the marketplace. This is usually not the case. There is a strong first-mover advantage in the software industry. Delays may jeopardize the commercial success of the product. Releasing the software before the patent search is completed may lead to a finding of willful infringement and treble damages. A company may be better off not to search for patents at all than release a product before the search is completed.

Also, patent compliance is not a one-time event. Software is constantly being modified. Products are constantly being upgraded. It is commonplace to release so-called "beta-tests", that is unfinished versions of the product for the purpose of testing. After one or more such testing releases an official version is produced. Then various bug fixes are released. Some of them are security fixes and must imperatively be released immediately because any delay leaves the customers at risk. Eventually upgrades to new versions are developed. Each release may potentially introduce a patent-infringing change. In an ideal world, legal analysis must be constantly done to keep the software non-infringing on a timely basis.

The cumulative effect of all these constraints ensures that clearing all rights to one's own product is a practically impossible task. This is not a problem that can be solved with faster, better search engines for patents and prior art. Even with perfect information on all the applicable patents and all relevant prior art, the sheer number of patents and the frequency with which they must be verified are too great. The burden is mostly a function of arithmetic.

If software authors wish to be active participants in the marketplace, they have no choice but to ignore patents and operate at the risk of infringing. The only alternative is to stop writing software. Mark Lemley describes this situation thus62 (footnotes omitted):

This is a particular problem for semiconductor, telecommunications, and software companies, which must aggregate hundreds or thousands of different components to make an integrated product. Each of those components may be patented, some by many different people. The threat that any one of those patent owners can obtain an injunction shutting down the entire integrated product allows them to extort settlements well in excess of the value of their patent. The patent damages rules similarly permit excessive recoveries, such as the recent $1.5 billion jury verdict against Microsoft for infringing one of many patents covering just one of many features of an add-on to the Microsoft Windows product. Patent law permits these product manufacturers to be found to be "willful" infringers liable for treble damages and attorneys' fees, even if they were unaware of the patent or even the patent owner at the time they began selling the product. And even if the manufacturer can avoid any of these risks by invalidating or proving noninfringement of each of these patents, doing so will cost millions of dollars per case in legal fees. Given these problems, it's a wonder companies make products in patent-intensive industries at all.

And yet make products they do. Both my own experience and what limited empirical evidence there is suggest that companies do not seem much deterred from making products by the threat of all this patent litigation. Intel continues to make microprocessors, Cisco routers, and Microsoft operating system software, even though they collectively face nearly 100 patent-infringement lawsuits at a time and receive hundreds more threats of suit each year. Companies continue to do research on gene therapy, and even make "gene chips" that incorporate thousands of patented genes, despite the fact that a significant fraction of those genes are patented. Universities and academic researchers continue to engage in experimentation with patented inventions despite the now clear rule that they are not immune from liability for doing so. John Walsh's study suggests that threats of patent infringement are not in fact responsible for deterring much, if any, research.

What's going on here? The answer, I think, is straightforward, if surprising: both researchers and companies in component industries simply ignore patents. Virtually everyone does it.


To get a perspective on how strange this might seem to an outsider to the patent system--or even to an outsider to the component industries in which this behavior is common--compare it to the world of real property. If I want to build a house, I'd better be darn sure that I own the land on which the house is built. In fact, it would be foolhardy to begin construction before I owned the rights to the land, in the hopes that I would be able to obtain the rights later. Nor would a prospective homebuilder put up with significant uncertainty about the boundaries of the land on which she was building. People don't often build houses that might or might not be on their land, hoping that they would ultimately win any property dispute. And even if a few people were so reckless as to want to do one of these things, banks won't fund construction without certainty in the form of a title insurance search report indicating that the builder unambiguously owns all the rights she needs.

Mulligan and Lee further explain63 (footnotes omitted):
The tendency to implicitly assume that economic actors are omniscient is a common pitfall of theoretical social science. By definition, the theorist knows everything there is to be known about the stylized model he has invented. Theorists often implicitly assume that economic actors automatically have the information they need to make decisions. Indeed, this may be essential to building a tractable model of the world. But the failure to ponder the feasibility of acquiring and using information can lead to flawed conclusions.

The contemporary patent debate suffers from just this blind spot. Each patent is a demand that the world refrain from practicing a claimed art without the patent holder's permission. Potential infringers can only comply with this demand if they are aware of the patent's existence. On a blackboard or in the pages of a law review article, it's easy to implicitly assume that everyone knows about every patent.

But the real world isn't so simple. To avoid infringement, a firm must expend resources to learn about potentially relevant patents. Typically this means hiring patent lawyers to conduct patent searches, which may or may not be affordable or effective. In this paper, we'll call the costs of such information-gathering activities the patent system's "discovery costs." One criterion for a well- functioning patent system-- or any system of property-like rights-- is that discovery costs should be low enough that it's economically feasible for firms to obtain the information they need to comply with the law.

Thinking explicitly about discovery costs is a powerful tool for understanding the dysfunctions of the patent system. As we will see, discovery costs are relatively low in pharmaceuticals and other chemical industries. As a consequence, the patent system serves these industries relatively well. In contrast, discovery costs in the software industry are so high that most firms don't even try to avoid infringement. Unsurprisingly, software is a major contributor to the recent spike in patent litigation.

This situation is not fostering innovation. It imposes an unreasonable burden on job-creating businesses that sell actual products. The only businesses who can be sure of owning all software patent rights to their products are those which don't make actual software and prefer to sell and license patents. This situation promotes monopolistic licensing rents and litigation.
2. Litigation risks are a particular burden to community-based software development.
Sharing ideas among a group of people is a very effective way to develop software. Several models of organizations have been invented for this purpose.

One possible model is the free and open source model.64 People agree on a copyright license and share source code.65 Everyone can download, run, debug and improve the programs. The improvements are contributed back to the community. Very innovative and commercially important software is developed in this manner.66

Another model is the definition of communication protocols by the IETF. The formal definition of the process is centered around specification documents called RFCs (Request for Comments).67 But in practice the source code for reference implementation is also frequently shared.68 All the core protocols of the Internet have been invented and standardized in this manner.

The problem of patents for these groups is the same as for anyone else. They can't verify they don't infringe someone else's patents. These groups can agree among themselves on whatever agreement they need to share the rights and function as a group. But they can verify they won't infringe on the rights of outside parties. They must take the risk and find out the hard way if someone will sue. Either that or they don't write the software.

This problem may be more acute for these groups than it is for proprietary vendors, because these development models don't permit pinpointing any specific date when the code is released. Every contribution from every member must be shared publicly the very moment it is made, if the group is to function as a group. Since members may contribute something any time they please, new code is constantly being published. Public repositories such as github are used for this purpose. Hence, there is no publication event before which it could make sense to perform a legal review of the code.

This situation is hindering innovation. These collaborative groups have invented very influential technologies. The working methods of these groups are themselves innovative. The legal risks imposed on these groups by software patents are real. On the other hand the benefits are non-existent. Their goal is to develop software, disclose their inventions and share them with the world. They do this without the incentive of exclusive rights, and they don't hide anything as trade secrets. And they can't opt-out of the patent system, because they can't opt-out of inadvertently infringing on someone else's patent and being sued.

3. In the computer programming art, patents provide low quality disclosure which is legally dangerous for a programmer to read.
For a programmer, reading patents is legally dangerous. He risks becoming liable for treble damages for willful infringement. There is no hope to mitigate this risk by clearing all the patent rights to the software for the reasons explained above. The only effective mitigation strategy is not to read patents. But then disclosure is ineffective because it is intended precisely to be read by the developers. Patent law cannot promote innovation according to its theory unless the disclosure is read by the practitioners of the art.

Many Groklaw members report that their employers forbid their developers from reading patents because the legal risks are high and there are no benefits. This phenomenon has been reported by Mark Lemley as well69 (footnotes omitted):

[B]oth researchers and companies in component industries simply ignore patents. Virtually everyone does it. They do it at all stages of endeavor. Companies and lawyers tell engineers not to read patents in starting their research, lest their knowledge of the patent disadvantage the company by making it a willful infringer. Walsh et al., similarly find that much of the reason university researchers are not deterred by patents is that they never learn of the patent in the first place. When their research leads to an invention, their patent lawyers commonly don't conduct a search for prior patents before seeking their own protection in the Patent and Trademark Office (PTO). Nor do they conduct a search before launching their own product. Rather, they wait and see if any patent owner claims that the new product infringes their patent.
Software patents are not only ignored as a property system. They are also ignored as a source of knowledge.

For programmer the preferred form of disclosure is the source code of a well written working program. If the license allows the programmer to modify the program and distribute the modifications it is even better. Communities of developers in FOSS projects do this on a routine basis.

Software patents do not require the disclosure of source code. Please see Fonar Corporation v. General Electric Corporation:

As a general rule, where software constitutes part of a best mode of carrying out an invention, description of such a best mode is satisfied by a disclosure of the functions of the software. This is because, normally, writing code for such software is within the skill of the art, not requiring undue experimentation, once its functions have been disclosed. It is well established that what is within the skill of the art need not be disclosed to satisfy the best mode requirement as long as that mode is described. Stating the functions of the best mode software satisfies that description test. We have so held previously and we so hold today. Thus, flow charts or source code listings are not a requirement for adequately disclosing the functions of software.
See also Northern Telecom v. Datapoint Corporation:
The computer language is not a conjuration of some black art, it is simply a highly structured language … . The conversion of a complete thought (as expressed in English and mathematics, i.e. the known input, the desired output, the mathematical expressions needed and the methods of using those expressions) into a language a machine understands is necessarily a mere clerical function to a skilled programmer.
From the perspective of a programmer, these cases eviscerate the usefulness of disclosure. The functions of most software inventions can be defined after a few brainstorming sessions. Turning these functions into a working implementation is still a lot of hard work. When only the functions are known, the programmer is still required to do the bulk of this work. But this obligation does not follow from the disclosure, which is commonly available from FOSS projects.

The functions of existing software can usually be seen just by watching the program in action. Developers may watch over the shoulder of a user, or they may inspect the computer internals with debugging tools. Disclosing the functions of software without source doesn't disclose any trade secret.

The ineffectiveness of disclosure has been noted by some patent scholars. For example Benjamin Roin states70 (footnotes omitted):

If the Supreme Court is correct that "the ultimate goal" of patent law is to facilitate the disclosure of information that would otherwise be kept secret, then our patent system appears to be in trouble. A number of empirical studies suggest that patent disclosures play an insignificant role in promoting R&D spillovers. This is partially a reflection of the basic economics of patenting, where companies typically patent only those inventions that are disclosed to the public through other channels. It also reflects the numerous alternative sources of information available to inventors. Both of these issues are largely inherent in the patent system.

Many of the other problems discussed in this Note are more amenable to repair, assuming the courts and policymakers genuinely wish to improve the disclosure value of patents. The Federal Circuit's willful infringement rules, for example, encourage innovators to protect themselves from treble damages by remaining "willfully ignorant" of the patents in their field. Many commentators have recommended abolishing the willfulness rules entirely, although the Federal Circuit appears wedded to the doctrine. Similarly, commentators have suggested that Congress remove the remaining loopholes in the publication rules for patent applications, which currently allow some of the most time-sensitive innovations to be both patented and withheld from the public. In industries where patent applications are thought to disclose too little knowledge, courts might require more detailed information about how to enable the claimed invention. In the software industry, for example, there might be a strong case for requiring patent applicants to disclose the source code of their program.

Until these issues are fixed, there is no point for a programmer to read patents. He takes a huge legal risk, and most of the time he doesn't learn anything that wouldn't otherwise be known to him without much effort.
4. The normal costs/benefits analysis of patents is not applicable to software.
The usual costs/benefits analysis is based on the patent quid pro quo. The inventor is granted exclusive rights for a limited period of time in exchange of the disclosure of his invention. Then, according to theory, society benefits from the invention when the exclusive rights expire. But during this time period, the patentee may recoup his investment. This incentive to innovate is viewed as more advantageous for society than forcing the inventor to protect his invention with trade secrets.

The table below summarizes this analysis of the costs and benefits of patents.

Benefits to Society

Costs to Society

Promotes progress of useful arts by rewarding inventors

Grant of exclusive rights to the invention for limited time

Supports the economy by encouraging innovation

Administrative costs (we need a patent office)

Disclosure of what would otherwise be trade secrets

Legal costs such as liability for infringement and patent defense strategies

But in the case of software this analysis is not applicable. There are strong incentives to innovate other than patents. Software is protected by copyrights. Software authors have a strong first-mover advantage.71 Community-based development like FOSS amounts to free R&D to organizations who know how to keep a good relationship with a community. Also community-based development inherently provides superior disclosure.

The table below shows how the costs and benefits of patents are applicable to software. This table is very different from the previous one.

Benefits to Society

Costs to Society

Promotes progress of software by rewarding inventors above and beyond the rewards already provided by copyrights, first mover advantage and community contribution to FOSS projects

Grant of exclusive rights to the invention for limited time

Supports the economy by encouraging innovation above and beyond the rewards already provided by copyrights, first mover advantage and community contribution to FOSS projects

Administrative costs (we need a patent office)

Disclosure of what would otherwise be trade secrets above and beyond disclosure inherent to the release of source code by FOSS projects, but only to the extent readers don't fear being liable to treble damages for willful infringement

Legal costs such as liability for infringement and patent defense strategies

Software authors are unable to clear the rights to their own programs, because it is not practically feasible to do so.

Harm to collaborative development such as FOSS limiting its positive contribution to progress, the economy, and to disclosure of source code

Exclusive rights granted to the expressions of abstract ideas impinge on individual free speech rights

We cannot presume software patents are promoting innovation according to the normal costs/benefits analysis, because this analysis is seen therefor not applicable to software. There is no reason to believe an analysis which takes all relevant factors into consideration will show a positive contribution to society. In particular the inability of software authors to clear the rights to their own products strongly suggests that the costs far outweigh the benefits.


The fundamental problem of the patentability of software is that the Federal Circuit (and the CCPA before them) believes that the functions of software are performed through the physical properties of electrical circuits.72 This belief leads to the natural conclusion that software is an electrical process and software patents are not different from hardware patents. But programmers are not configuring circuits to take advantage of their physical properties. They are defining the meaning of organizations of data. They implement operations of arithmetic and logic which are applicable to this data based on its meaning.73 The legal view of software is based on a faulty understanding of computer programming.

The functions of software are performed through a combination of defining the meaning of data and giving input to an already implemented algorithm. Meaning is not a physical property of a circuit.74 Giving input to an algorithm is not configuring a machine structure.75 The consequence of the beliefs of the Federal Circuit is to treat as hardware patents what is actually patents on a certain category of expressions of ideas.

This treatment of software patents does not promote innovation because it cannot. Software patents do not actually practice any of the the principles of patent law that theoretically lead to innovation. The patent system cannot function as a property system for software because it is impossible for authors of software to be secure in their own property. Patent disclosure is not being read in practice because there is no reason for software authors to do so and plenty of reasons not to. In addition, the usual costs/benefits analysis of patents is not applicable. The incentive of patents to innovators overlaps with copyrights, FOSS, and first-mover advantage, but their full costs and risks still accrue to the developers and to society as a whole.

Software patents harm innovation because they encourage monopolistic rents and litigation.

The cure is simple -- the courts should just admit the facts are as they are and apply the law accordingly. They should recognize that computations are expressions of ideas and stop conflating them with applications of ideas.

Not applying this cure will allow the problem to persist. This problem cannot be solved by improving the quality of prior art discovery and analysis. It cannot be solved by curtailing vague or overly broad claims. These improvements are welcome, but they don't go to the point of solving the actual problem. We need to stop allowing patents on the meaning of symbols when they are dressed up as patents on hardware.

An approach based on semiotics would be a better interpretation of the law.76 This approach has the advantage of being neutral relative to technology. It is applicable whenever the claim recites a sign. Anything can be a sign if it is used as a sign. Therefore this approach is not limited to software. It is applicable (and limited) to whenever there is an issue of whether the subject matter of a claim is related to the meaning of a sign.

The semiotics approach avoids terms like "abstract idea" which are hard to define. It doesn't depend on whether the subject matter is mathematical or related to software. It relies on the well understood distinction between an expression and its meaning. It relies on the well understood notion that thoughts in the human mind are abstract ideas. It builds on established principles of law. It relies on the linguistic aspects of mathematics to define a clear boundary between abstract mathematical ideas and their applications which is consistent with Supreme Court precedents.77

There is no need to ask Congress to change the law. It is sufficient for the courts to acknowledge facts and interpret existing law accordingly.

Under this approach claims reciting software will be patentable when they claim a referent which is a patent-eligible invention. An industrial process for curing rubber such as the one in Diehr is patent-eligible. Inventions like remote surgery systems and anti-lock brake systems are patent-eligible when the referent is actually claimed and not merely referenced. Only claims directed to the expression of abstract ideas will be rejected. This is conforming with the theory that innovation is promoted by patents on the application of ideas but not by patents on the ideas themselves.


1 Examples of such textbooks are:

Curry, Haskell B., Foundations of Mathematical Logic, Dover Publications, 1977, Revised and corrected reprint from McGraw Hill Book Company, Inc. 1963

Delong, Howard. A Profile of Mathematical Logic. Addison-Wesley Publishing Company. 1970. I use the September 1971 second printing. Reprints of this book are available from Dover Publications.

Epstein, Richard L., Carnielli, Walter A., Computability Computable Functions, Logic and the Foundations of Mathematics, Wadsworth & Brooks/Cole, 1989, pages 63-71.

Kleene, Stephen Cole, Introduction to Metamathematics, D. Van Nostrand Company, 1952. I use the 2009 reprint by Ishi Press International 2009.

Kleene, Stephen Cole, Mathematical Logic, John Wiley & Sons, Inc. New York, 1967, reprint from Dover Publications 2002. pages 223-231.

2 See Rogers, Hartley Jr, Theory of Recursive Functions and Effective Computability, The MIT Press, 1987 pp. 1-2

3 See for instance textbooks on denotational semantics for one method of writing such descriptions. An example of such textbook is Stoy, Joseph E., Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory, MIT Press, First Paperback Edition

4 See Curry supra, pages 1-3

5 See Ben-Ari, Mordechai, Mathematical Logic for Computer Science, Second Edition, Springer-Verlag, 2001, for a textbook on mathematical logic as it is applied to computer science.

6 Here are a few places where such descriptions may be found:

Boolos George S., Burgess, John P., Jeffrey, Richard C., Computability and Logic, Fifth Edition, Cambridge University Press, 2007, page 23-25.

Epstein, Richard L., Carnielli, Walter A., Computability Computable Functions, Logic and the Foundations of Mathematics, Wadsworth & Brooks/Cole, 1989, pages 63-71.

Kleene, Stephen Cole, Mathematical Logic, John Wiley & Sons, Inc. New York, 1967, reprint from Dover Publications 2002. pages 223-231.

Kluge, Werner, Abstract Computing Machines, A Lambda Calculus Perspective , Springer-Verlag Berlin Heidelberg 2005, pages 11-14.

Minsky, Marvin L., Computation, Finite and Infinite Machines , Prentice-Hall, 1967, pages 103-111

Stoltenberg-Hansen, Viggo, Lindström, Ingrid, Griffor, Edward R., Mathematical Theory of Domains, Cambridge University Press, 1994, pages 224-225.

7 See Stoltenberg-Hansen et al., supra, page 224.

8 See Stoltenberg-Hansen et al., supra, page 224.

9 See Boolos et al., supra, page 23.

10 See Boolos et al., supra, page 187.

11 See Epstein et al., supra, pages 65-66, quoting from Hermes, Enumerability, Decidability, Computability. 2nd ed., Springer Verlag 1969. "[W]e must be able to express the instructions for the execution of the process in a finitely long text." See also Stoltenberg-Hansen, Lindström and Griffor, supra, page 224. "[An algorithm] is a method or procedure which can be described in a finite way (a finite set of instructions)"

12 See Boolos et al., supra, pages 23.

13 See Stoltenberg-Hansen, Lindström and Griffor, supra, page 224. "[An algorithm] can be followed by someone or something to yield a computation solving each problem in [a class of problems]."

14 See Boolos et al., supra, pages 23-24.

15 See Kluge, supra, page 12.

16 See Stoltenberg-Hansen et al., supra, page 225.

17 This is Turing machines, general recursive functions and λ-calculus.

18 See Kluge, supra, page 12

19 See Kleene, supra, page 223.

20 See Epstein et al., supra, page 70.

21 A model of computation is a class of syntactic manipulations of symbols defined in terms of the permissible operations. Examples of models of computations are Turing-machines, λ-calculus and general recursive functions.

22 For a discussion of how problems are represented syntactically using symbols, see Greenlaw, Raymond, Hoover, H. James, Fundamentals of the Theory of Computation, Principles and Practice, Morgan Kaufmann Publishers, 1998, Chapter 2.

23 This is used during debugging. Programmers verify programs work as intended by reading the data stored in the computer memory. They interpret this information according to its logical data type to determine if the program implements the operations of arithmetic and logic that solves the problem.

24 See Poernomo, Iman Hafiz, Crossley, John Newsome, Wirsing, Martin, Adapting Proofs-as-Program, The Curry-Howard Protocol, Springer 2005. This thesis is presented in chapters 4, 5 and 6.

25 See Ben-Ari, supra, chapter 7 and 8 for a discussion of SLD-resolution.

26 See Kluge, supra, for a book dedicated to several implementations of normal order β -reduction. It should be noted that normal order β -reduction is a universal algorithm which modifies its program as the computation progresses. It cannot be assumed the program is always unchanged by the computation as is usually (but not always) the norm in imperative programming.

27 This is a simplified explanation for readability. Here is how Hamacher, V. Carl, Vranesic, Zvonko G., Zaky. Safwat G., describes the hardware implementation of an instruction cycle. See Computer organization, Fifth Edition, McGraw-Hill Inc. 2002 p. 43 (emphasis in the original)

Let us consider how this program is executed. The processor contains a register called the program counter (PC) which holds the address of the instruction to be executed next. To begin executing a program, the address of its first instruction (i in our example) must be placed into the PC. Then, the processor control circuits use the information in the PC to fetch and execute instructions, one at a time, in the order of increasing addresses. This is called straight-line sequencing. During the execution of each instruction, the PC is incremented by 4 to point to the next instruction. Thus, after the Move instruction at location i + 8 is executed the PC contains the value i + 12 which is the address of the first instruction of the next program segment.

Executing a given instruction is a two-phase procedure. In the first phase, called instruction fetch, the instruction is fetched from the memory location whose address is in the PC. This instruction is placed in the instruction register (IR) of the processor. At the start of the second phase, called instruction execute, the instruction in IR is examined to determine which operation to be performed. The specified operation is then performed by the processor. This often involve fetching operands from the memory or from processor registers, performing an arithmetic or logic operation, and storing the result in the destination location. At some point during this two-phase procedure, the contents of the PC are advanced to point at the next instruction. When the execute phase of an instruction is completed, the PC contains the address of the next instruction, and a new instruction fetch phase can begin.

28 A suitable analogy may be travel directions. These instructions don't drive the car. They are input given to the driver.

29 See section A.3, supra. Section A.2 explains the relationship between algorithms, formulas and equations. These two sections explain the mathematical meaning of all terms which have troubled the Federal Circuit in AT&T Corporation.

30 See Milner, Robin, Tofte, Mads, Harper, Robert, MacQueen, David, The Definition of Standard ML (Revised) , The MIT Press, 1997, for the official definition of the Standard ML language. See also Reppy, John H., Concurrent Programming in ML, Cambridge University Press, First published 1999, Digitally printed version (with corrections) 2007, appendix B, for the official definition of the Concurrent ML extensions.

31 See section A.3 supra.

32 Cybersource Corporation vs Retail Decisions, Inc. sounds like a possible example of this argument. They write "That purely mental processes can be unpatentable, even when performed by a computer, was precisely the holding of the Supreme Court in Gottschalk v. Benson." And then they continue writing, "This is entirely unlike cases where, as a practical matter, the use of a computer is required to perform the claimed method." Benson is the case which established the mathematical algorithm exception. To the extent that ordinary logic is applicable here, one may conclude the Federal Circuit in Cybersource said the mathematical algorithm exception is not applicable when the use of a computer is required as a practical matter to perform the claimed method. Mathematicians have deliberately decided to ignore this kind of distinction when they defined their notion of algorithm.

33 See section A.4 supra.

34 This is unless we count artificial intelligence programs such as IBM's Watson as being able to relate the syntax of human language with its meaning. No matter how we look at this issue, there is no factual difference between a printing press and a computer instruction cycle. If we consider computers as unable to understand meaning they are no better than printing presses. But if they are able to understand meaning printed information is not intelligible only by a human being. Either way the guidance offered by Lowry doesn't apply to the facts.

35 See section A.4 supra

36 An alternative version of the change to the machine structure argument has been stated in WMS Gaming vs International Game technology:

The instructions of the software program that carry out the algorithm electrically change the general purpose computer by creating electrical paths within the device. These electrical paths create a special purpose machine for carrying out the particular algorithm.[3]


[Footnote 3]: A microprocessor contains a myriad of interconnected transistors that operate as electronic switches. See Neil Randall, Dissecting the Heart of Your Computer, PC Magazine, June 9, 1998, at 254-55. The instructions of the software program cause the switches to either open or close. See id. The opening and closing of the interconnected switches creates electrical paths in the microprocessor that cause it to perform the desired function of the instructions that carry out the algorithm. See id.

This alternative explanation is immediately refuted because it is manifestly false. A stored program computer is programmed by storing the instructions in main memory. This action doesn't create electrical paths, because main memory doesn't work in this manner. Main memory is a component that merely records information. On modern DRAM technology this information is electric charges stored in capacitors. No transistors are opened and closed to create electric paths in the microprocessor when these electric charges are stored.

Programs are not stored in the microprocessor mentioned in the footnote because this component is not main memory. The activity of the transistors turning on and off in the microprocessor is the execution of the program. Programming a computer and executing a program are two separate actions. It is an error to conflate them as the court do in WMS Gaming.

The instructions that could be executed by a microprocessor are very elementary. A complete algorithm typically requires a large number of these rudimentary instructions. Complete programs require thousands or even millions of instructions. On the other hand a microprocessor typically executes the instructions one by one. In some microprocessors gains of speed are achieved by executing a very small quantity of instructions in parallel when it is feasible to do so. Microprocessors execute large number of instructions by executing on them in successive cycles, one (or a few) instruction(s) per cycle. The transistors turning on and off are the execution of this small number of instructions and different electrical paths are created in each cycle. No electric paths for carrying out a particular algorithm is created because the number of instructions which are executed in a single cycle is too small.

See section A.5 supra for a discussion of theinstruction cycle.

37 In mathematics this partial application of the parameters of a mathematical function is called currying.

38 These function are not special cases of multiplication. We can double a number by adding it with itself. This shows that doubling is a concept independent from multiplication because we can implement it without multiplying. Similarly we can triple a number by adding it with itself twice. Adding the number with itself three times quadruple the number.

39 In some cases the configuration can be made permanent by storing it in memory types such as ROM that can't be overwritten. However typical software patents are not limited to this type of memory. They will read on implementations using the more commonly used writable memory.

40 Remember that it is not possible to define this process in terms of the meaning of the data.

41 Without such an argument his position would immediately be refuted by the observation that main memory changes up to billions of times per second.

42 Let's consider, for example, what happens when we store instructions for a x86 CPU on a SPARC workstation. The SPARC uses a different instruction set than the x86. A program for a x86 computer does not normally run on a SPARC workstation. But a SPARC can execute the Bochs program which is a software version of the x86 instruction cycle. If this program is used the x86 program will run on a SPARC. This shows that instructions by themselves are just a series of numbers in memory. They don't impart functionality unless and until they are given as input to an algorithm which is the instruction cycle.

43 Please remember that several programing languages use a software universal algorithm. They don't directly use the computer native instruction cycle. See section A.5 supra.

44 The extreme case occurs with self-modifying programs. In a stored-program computer, all data in memory may be modified as the program is executed. Programmers may arrange their programs so that they are modified in memory as they are executed. Then the alleged "machine configuration" doesn't stay in place long enough to perform all the steps that are necessary to infringe on the patent claim. A simple way to achieve this result is to use a programming language with relies on a variant of normal order β-reduction as its universal algorithm. (See section A.5 supra.) This particular category of universal algorithms constantly modifies its program as it executes. This is done automatically by the language run-time system without any action of the part of the programmer other than his decision to program in this language.

45 But remember that an algorithm is also meant to be executed in practice. Practical implementations functions only to the extent there are sufficient resources and are therefore limited to sufficiently small sizes of inputs. See section B.2 supra.

46 An example of a symbol is a letter in the common Latin alphabet. A letter may be a mark of in on paper, a carving in stone, the shape of a neon sign, an arrangement of pixels on the screen. A letter come in different shapes depending on typefaces. These are different physical objects separate from the abstraction called a letter. This concept of 'symbol' as an abstraction separate from its representation is explicitly acknowledged in mathematical logic and computation theory. See for instance Curry, supra, pages 15-16:

In the theory presented here, one may conceive such assumptions as entering in certain abstractions. The first of these is involved in the use of such terms as 'symbol' and 'expression'; these denote, not individual marks on paper or the blackboard--which are called inscriptions--but classes of such inscriptions which are "equiform." Thus the same expressions may have several "occurrences."
47 See section A.1. The approach suggested here has been proposed in Collins, Kevin Emerson, Semiotics 101: Taking the Printed Matter Doctrine Seriously (February 28, 2009). Indiana Law Journal, Vol. 85, p. 1379, 2010. Available at SSRN: We don't agree with everything Collins says, because he did not recognize the errors we have mentioned in section B. We believe that once these errors are corrected his approach is correct.

48 See section A.4 supra.

49 This is the thesis of Kevin Emerson Collins in his article quoted supra.

50 See the criteria of "precise definition" for the mathematical notion of algorithm in section A.3 supra.

51 See section B.2 supra.

52 See section B.1 and B.2, supra.

53 See section B.3 supra.

54 See section B.4, supra.

55 See section B.5 and B.6, supra.

56 See section A.4, supra.

57 See Lemley, Mark A., Software Patents and the Return of Functional Claiming (July 25, 2012). Stanford Public Law Working Paper No. 2117302. Available at SSRN: or pages 24-25.

58 See Mulligan, Christina and Lee, Timothy B., Scaling the Patent System (March 6, 2012). NYU Annual Survey of American Law, Forthcoming. Available at SSRN:

59 See Mulligan and Lee, supra, pp. 16-17

60 See Mulligan and Lee, supra, p. 7.

61 See Mulligan and Lee, supra, p. 6.

In the real world, lawyers frequently cannot state for certain whether a given activity actually infringes a particular patent. In this paper, we will largely set this issue to the side and assume counterfactually that lawyers can always determine whether a particular activity infringes a particular patent in a reasonable amount of time. For further reading on the challenges of claim construction and determining the scope of patents, see Jeanne Fromer, Claiming Intellectual Property, 76 U. CHI. L. REV. 719 (2009), Michael Risch, The Failure of Public Notice in Patent Prosecution, 21 HARV. J. L. & TECH. 179 (2007); Christopher A. Cotropia, Patent Claim Interpretation Methodologies and their Claim Scope Paradigms, 47 WM. & MARY L. REV 49 (2005); Christopher A. Cotropia, Patent Claim Interpretation and Information Costs, 9 LEWIS & CLARK L. REV. 57 (2005).
62 See Lemley, Mark A., Ignoring Patents (July 3, 2007). Stanford Public Law Working Paper No. 999961; Michigan State Law Review, Vol. 2008, No. 19, 2008. Available at SSRN: or pages 19-21.

63 See Mulligan and Lee, supra, pp 2-4.

64 A description of what is free software is maintained by the Free Software Foundation. The Open Source Initiative maintains the definition of open source software.

65 The Free Software Foundation maintains a list of licenses which are accepted for free software development. The Open Source Initiative also maintains their list of licenses for open source software.

66 The most famous example is the Linux operating system kernel. It is at the core of several operating systems such as GNU/Linux and Android. We may also mention the Perl and Python programming languages, the Coq proof assistant, web browsers such as Firefox and Chrome and also the Apache web server. This list far from exhaustive.

67 See RFC 2026 for the current version of the RFC development process. RFC 2555 is an historic account describing how the RFC process has been used to invent and disclose the core Internet protocols.

68 An example of a reference implementation is found in RFC 1321 Appendix A. Reference implementations may also be incorporated by reference. For example RFC 5905 includes the reference "This document includes material from [ref9], which contains flow charts and equations unsuited for RFC format. There is much additional information in [ref7], including an extensive technical analysis and performance assessment of the protocol and algorithms in this document. The reference implementation is available at" This same RFC 5905 also includes a skeleton program with code segments in appendix A.

69 See Lemley, Mark A., Ignoring Patents (July 3, 2007). Stanford Public Law Working Paper No. 999961; Michigan State Law Review, Vol. 2008, No. 19, 2008. pages 21-22.

Available at SSRN: or

70 Benjamin Roin, Note, The Disclosure Function of the Patent System (Or Lack Thereof), 118 HARV. L. REV. 2007 (2005) (noting that the patent system doesn't achieve this disclosure goal). Available at:

71 Eric Goldman explains this first mover advantage in term of the soft life-cycle of software. (See Goldman, Eric, Fixing Software Patents (January 1, 2013). Forbes Tertium Quid Blog, November 28, December 11 and December 12, 2012; Santa Clara Univ. Legal Studies Research Paper No. 01-13, available at SSRN at page 2):

Software innovators can recoup some of their R&D investments from the de facto marketplace exclusivity associated with being the first mover. An example: assume that a particular software innovation has a two-year commercial lifecycle and it takes competitors 6 months to bring a matching product to market. In a situation like this, the first mover gets 1/4 of the maximum useful exclusivity period simply by being first to market. In some situations, the exclusivity period provided by the first mover advantage is more than enough to motivate software R&D without any patent protection.

72 See section B generally, especially the quote from In re Noll in section B.6, supra..

73 See section A.2 and A.4, supra.

74 See section B generally, especially sections B.3, B.4, B.5 and B.6, supra.

75 See section B.5, supra.

76 This is the approach we have described in section C.2, supra.

77 See section B.4, supra.


Groklaw's Response to the USPTO's Request for Suggested Topics for Future Discussion & A Supplement ~pj | 179 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
My only concern: Software IS Abstract
Authored by: Anonymous on Friday, March 15 2013 @ 01:53 PM EDT

It speaks of Abstract concepts in software.

But not to the fact that software itself is abstract... or at least, at a quick perusal it doesn't seem to touch on that point.

I have a concern that without stating that fact - we are, in effect, allowing the concept that software is somehow physical to be perpetuated. Thereby allowing the illusion of something tangible to continue to exist.

Yet - I'm torn on that because I wonder if introducing the concept that Software itself is nothing but abstract might be too much.

If it were the Supremes, I'd definitely have said to introduce that.

But with it being the USPTO*.... I haven't quite formed the opinion that discussion with the USPTO is about as useful as discussion with Gene Quinn. But I'm certainly leaning in that direction.

* Specifically the management and appeal board at the USPTO. Not necessarily the patent examiners themselves.


[ Reply to This | # ]

corrections thread
Authored by: designerfx on Friday, March 15 2013 @ 02:06 PM EDT
post corrections here

starting with the "it it" in the title.

[ Reply to This | # ]

off topic thread
Authored by: designerfx on Friday, March 15 2013 @ 02:07 PM EDT
post off topic comments here, starting with happy friday, etc.

[ Reply to This | # ]

newspicks thread
Authored by: designerfx on Friday, March 15 2013 @ 02:08 PM EDT
newspicks discussion here.

[ Reply to This | # ]

Groklaw's Response to the USPTO's Request for Suggested Topics for Future Discussion & A Supplement ~pj
Authored by: Anonymous on Friday, March 15 2013 @ 02:23 PM EDT
Wow. While recently having been (re)reading Peirce (Philosophical Writings of
Peirce, ISBN 0-486-20217-8), it had struck me how much of his writings on
Semiotics would pertain to discussing and analyzing patents and their

I'm still reading in detail Groklaw's Response to the USPTO.

Two issues currently:

- The inclusion of Peirce's Semiotics in Groklaw's response has prompted me to
create an account on Groklaw, only to discover that new accounts can't be
created, requiring me to post the anonymously.
- Nowhere in Groklaw's response is Peirce spelled correctly. Groklaw's response
uses Pierce where the spelling should be Peirce. As an aside, the pronunciation
of his name is akin to the word 'purse', not 'pierce'. If your spell checker is
marking Peirce as a misspelling, then add Peirce to your dictionary.

[ Reply to This | # ]

Well Done!
Authored by: OpenSourceFTW on Friday, March 15 2013 @ 02:38 PM EDT
I was able to understand pretty much all of it.

Short, to the point, and makes good points. Hopefully it will make the USPTO
reconsider some things.

I now feel like I understand the basics of semiotics, and it now makes sense why
this is so important for determining whether a patent covers merely abstract

Let me see if I understand:

The sign-vehicle (the computer) is performing an operation and produces output
(the referant). The former is patentable (in parts and as a whole), and the
latter is possibly copyrightable but not patentable (it is symbolic output).
Given this situation, if one merely changes the interpretant (i.e. this output
describes the shape of a golf club), this makes for an unpatentable concept.
That is to say, no matter what I do with the interpretant, the operation does
not suddenly become patentable.

I can either patent the computer hardware itself or use this concept in a
patentable invention (i.e. a new golf club casting machine that uses said
software). However, that still does not make the interpretant patentable as a
stand-alone concept.

Am I understanding the concept?

[ Reply to This | # ]

Something that may help
Authored by: Imaginos1892 on Friday, March 15 2013 @ 06:03 PM EDT
In exploring the nature of computers and programming we've bounced
some analogies around here, such as a movie projector, but have not
explicitly taken them to their logical conclusion:

Just as a movie projector is a machine for playing movies, and a
record player is a machine for playing records, a computer is a
machine for playing computer programs. Each of these actions will
produce certain effects, depending on the specific movie, record
or program; but none of them alter the machine, or its ability to
play other media or repeat the same one.

This concept should be simple enough for even those completely
ignorant about computers to grasp.
I could be arguing in my spare time.

[ Reply to This | # ]

You mean to say that software patents are bogus?
Authored by: Gringo_ on Friday, March 15 2013 @ 06:27 PM EDT
Don't answer that. That question was rhetorical hyperbole. Of course
software patents are bogus, and make me very angry as a software

The proper question is, when is the EFF going to take up the challenge?

I am well aware the EFF does much to help software developers and
fight software patents, but they have never challenged the fundamental
issues as stated here on Groklaw.

I would like to see this taken to the Supreme Court, with testimony from
the foremost computer scientists. At the same time, we need to start a

Sent from my phone, which interacts badly with Groklaws forms.

[ Reply to This | # ]

Groklaw's Response to the USPTO's Request for Suggested Topics for Future Discussion & A Supplement ~pj
Authored by: macliam on Friday, March 15 2013 @ 07:33 PM EDT

Maybe it is too late to encorporate examples. There is a lot of theory. But, to bring home the point to patent lawyers, maybe a few examples of patent claims that confuse hardware with semantics might be useful.

Consider, for example, the following patent claim.

26. A data processing system to enable the exchange of an obligation between parties, the system comprising:

    a communications controller,

    a first party device, coupled to said communications controller,

    a data storage unit having stored therein

        (a) information about a first account for a first party, independent from a second account maintained by a first exchange institution, and

        (b) information about a third account for a second party, independent from a fourth account maintained by a second exchange institution; and

    a computer, coupled to said data storage unit and said communications controller, that is configured to

        (a) receive a transaction from said first party device via said communications controller;

        (b) electronically adjust said first account and said third account in order to effect an exchange obligation arising from said transaction between said first party and said second party after ensuring that said first party and/or said second party have adequate value in said first account and/or said third account, respectively; and

        (c) generate an instruction to said first exchange institution and/or said second exchange institution to adjust said second account and/or said fourth account in accordance with the adjustment of said first account and/or said third account, wherein said instruction being an irrevocable, time invariant obligation placed on said first exchange institution and/or said second exchange institution.

This claim is a claim to a machine. There can be no doubt about that. It has a "data storage unit" that is capable of "electronically adjusting" various "accounts" (whatever they are). The machine operates in the physical world. The claim should clearly determine which machines infringe, and which don't. But this is a machine that capable not only of manufacturing "instructions" but indeed is specifically distinguished from other machines by its remarkable and indeed miraculous capacity to generate "instructions" that are irrevocable time-invariant obligations and to somehow "place" such obligations on financial institutions.

Those of us used to working with more mundane apparatus might suppose that properties of being time-invariant or irrevocable might be properties adhering to "instructions" by virtue of accounting, regulatory or legal conventions, and have reference to the meaning of the instruction.

Maybe this patent claim is rather close to the bone? It is taken from Alice Corporation's 7,725,375 patent. Judge Moore referred to this specific claim at the start of the CLS Bank v. Alice en banc Oral Argument before the Federal Circuit:

"Actually no, we know that's not right because we have the specifications of the patent.. which aaa if you look at columns 7 and 8 span 2 full columns of exasperative detail about how for example .. 'the processing unit 20 comprises 3 interlinked data processers, such as the sun 670mp manufactured by Sun Microsystems, each processing unit runs operational systems software such as sun microsystems os 4.1.2 as well as applications software. The applications software is shown in the flow charts accompanying this patent ie figures 8 through 16 and figures 18 through 40 which contain detailed flow charts that would certainly satisfy anybody's predilections regarding an algorithm disclosure for sofware purposes .... Perry "your honor" .. this is so far from just a computer doing an abstract idea .. I can't even imagine how you can characterize it as such."

[ Reply to This | # ]

Logging some related thoughts:
Authored by: macliam on Friday, March 15 2013 @ 08:11 PM EDT

I thought I might add here some paragraphs that I put together last Monday. When I saw that Groklaw was putting together a submission to the PTO, I wrote out some of my thoughts, then looked at the Groklaw article, and the comments, but then thought that these might not fit in. Certainly some here might think that they would not go far enough in categorically excluding software patents, but I based the first part of it on the basis of Justice Breyer's Supreme Court opinion in Mayo v. Prometheus. The second part contains some ideas that have been revolving around my mind regarding the nature of software that, so far as I can tell, correspond fairly closely with the analysis using semiotics. (After all, whatever analytical framework you use, the basic underlying ideas must surely be well-understood by the Groklaw community.)

So, for the record, this is what I drafted last Monday

Patent-Eligibility: The Flook-Mayo Framework

Where a claimed invention substantially implicates judicially-excepted subject matter, which includes laws of nature, natural phenomena and abstract ideas, it should be analyzed for patent-eligibility under Section 101 of Title 35 of the United States Code in accordance with the holdings of the Supreme Court that relate to patent-eligibility of subject matter under Section 101 of the Statute. Of particular relevance are the holdings of the Supreme Court in O'Reilly v. Morse, Gottschalk v. Benson, Parker v. Flook, Diamond v. Diehr, Bilski v. Kappos and Mayo Collaborative Services v. Prometheus Laboratories Inc.. In particular, the unanimous per curiam opinion in Mayo sets out the principles that should be followed when assessing claimed inventions for patent-eligibility under Section 101 of Title 35 of the United States Code. Given that the analysis of Mayo explains and develops basic principles set out in Flook, it seems appropriate to refer to the resultant analytical framework as the Flook-Mayo framework for analysis of claimed inventions for patent-eligibility under Section 101, where such claimed inventions substantially implicate laws of nature, natural phenomena, abstract ideas and the like.

  • Laws of nature, natural phenomena and abstract ideas are not in themselves patent-eligible subject matter
  • Nevertheless, useful applications of laws of nature, natural phenomena and abstract ideas may be patent-eligible under Section 101 of Title 35 of the United States Code, provided that such an application also contains an inventive concept that is sufficient to ensure that the claimed subject matter is indeed a new and useful invention within the meaning of the statute.
  • A claim is unlikely to be patent-eligible under Section 101 if it effectively preempts most if not all useful applications of a law of nature, natural phenomenon or abstract idea, either generally or within a particular field of application (e.g., catalytic conversion of hydrocarbons, medical diagnosis and treatment, financial information systems, communication over computer networks, online commerce). In such cases, the claim would in effect be drawn to the judicially-excluded subject matter itself.
  • Where a claim substantially implicates judicially-excepted subject matter, comprising laws of nature, natural phenomena or abstract ideas, the remaining elements of the claim should involve more than just well-understood, routine, conventional activity within the appropriate art. Inventions that would be obvious to the skilled artisan (or person having ordinary skill in the art) informed of the judicially-excepted subject matter would be unlikely to achieve the threshold for invention required to justify the award of monopolies with "metes and bounds" determined in accordance with Sections 102 and 103 of Title 35 of the United States Code. Examples of such routine conventional activity would include routine data-gathering steps, "insignificant post-solution activity", prescription of approved medications by medical professionals, routine blood tests, use of standard statistical methods for analysis of time-series data, and conventional computer-implementation of well-understood business methods such as hedging, escrow, and financial book-keeping. Moreover the teaching that results from a bare statement or description of a law of nature, natural phenomenon, abstract idea, mathematical formula or algorithm may well be sufficient in itself to suggest to the skilled artisan useful applications involving no more than such conventional and routine activity (e.g., surveying techniques suggested by theorems in geometry and trigonometry, automated conversions between data representations, computer-automation of methods for structuring financial transactions, indications to adjust dosage of prescribed medications in accordance with the results of blood tests).

On the Nature of Computer-Implemented Processes

A process operating on a computing device to manipulate data and information proceeds in general at three distinct levels: the physical, logical and semantic levels.

Such a process operates at the physical level in accordance with the laws of physics, and typically involves the transmission of electrical and/or optical signals in electical circuits and other media.

At the logical level the data is represented either in numerical form, or else by means of words (or strings) of letters or characters taken from some alphabet. The alphabet is a finite set whose elements are signs that inherently carry no specific meaning. The appropriate alphabet might be represented by the ASCII or EBCDIC codings, or the Unicode standard, or specific encodings of Unicode, such as UTF-8 and UTF-16, that represent unicode characters in terms of single bytes or short sequences of bytes. The "letters" of the chosen alphabet might be words in some ancient indecipherable language. In some areas of application, the appropriate alphabet might be chosen for the purpose of representing elements of some logical or mathematical structure (e.g., the vertices and edges of a graph). There are standard data structures, well-known in the arts of computer programming and data processing, which include linear arrays, multidimensional arrays and associative arrays. There are also standard methods for serializing data in multidimensional and associative arrays that can represent such data in terms of character strings: one such is the JSON standard, implemented in many computer languages. A computer-implemented process for manipulating information will typically transform such strings that in themselves carry no inherent meaning. Such data structures and processes are the subject matter of the information sciences, which include the disciplines of formal logic, complexity theory, information theory (which includes the study of algorithmic entropy and data compression), coding theory (which includes the study of error-correcting codes), cryptology, graph theory and mathematical linguistics. In addition, mathematical fields such as Fourier analysis and wavelet theory have relevance for computer-implemented processes involving video, graphical and audio data in numerical form. It should be noted that these disciplines within the information sciences are recognized disciplines within mathematics and theoretical computer science.

The operation of the computer-implemented process at the semantic level will in general be determined by the nature and significance of the information to be processed.

In some processes, such as the processing of graphical images and visual and audio data, there may be a close correlation between the unfoldings of the process at all three levels.

Semantically, a data idem might for example represent the brightness of a specific pixel on a visual display at a given time, and it may be stored within a data structure in computer memory that maps in a straightforward fashion to the relevant pixel. Innovation with regard to such processes, implemented by microprocessors and similar devices, would be expected to result, for example, in technological advances in the design of digital cameras and mobile communication devices.

However, in the case of other computer-implemented processes, the nature of the ingredients of the process may not correlate between the various levels. A machine can no more create and modify irrevocable time-invariant obligations or collateralized credit default swaps than it can manufacture injunctions, justice or committee procedure. In particular, in the case of financial information systems, the significance of the ingredients of the process is determined by how they are regarded and interpreted by individuals, creditors, debtors, banks, courts, statutes, regulatory bodies, international treaties, and the like, and may well depend on choice of jurisdiction. In such instances, there is unlikely to be any genuine correlation between the physical process that unfolds at the physical level on the computing device and the business method that unfolds at the semantic within the relevant business or financial institution.

Implications for Claim Construction

According to Section 101 of the Statute, a patent-eligible invention must be a "new and useful process, machine, manufacture, or composition of matter" or "any new and useful improvement thereof". It would surely follow from this that a claim to a computer-implemented invention should place the claimed invention within one of the statutory categories, and, moreover, the claim limitations should be appropriate to the relevant category. A machine is characterized through its construction as a physical device and its operation in the physical world. It surely follows that, where a computer-implemented "system" is claimed as a machine, then claim limitations ought to be limitations on the nature of the machine, considered as a physical machine.

Now, limitations that concern the enfolding, at the logical level of processes running within a machine may be relevant to the physical design and operation of the machine, considered purely as a machine. Improvements in software may result in faster and more energy-efficient algorithms, better file and signal compression, sharper images, better sound and video, improved searching capabilities, etc. However the same could not always be said of claim limitations that restrict the enfolding of processes running on the machine at the semantic level, especially in cases where the purported machine is a programmed computer implementing a business method. Does the fact that a particular value stored in a storage unit and manipulated by a computer is required to be a irrevocable time-invariant obligation truly limit the operation of the machine, considered purely as a physical device operating within the physical world? Such limitations surely limit only the manner in which the machine is used, and surely ought either to be rejected on the grounds of being indefinite, or else should be ignored as vacuous for the purposes of construing a machine claim.

Processes and machines of the sort that were traditionally regarded as patent eligible may incorporate computers or microprocessors for the purposes of information processing. Moreover the use of computers to automate tasks involving the maintenance of financial information, recording inventories, keeping personal records etc. is commonplace in the 21st century. The programming necessary for computer-automation of routine book-keeping and data maintenance using standard software tools would surely represent well-understood, routine, conventional activity within the art of computer programming and automation of business processes. This would in particular be the case where the program implements a logic flow that corresponds to a flow of financial information depicted in flow diagrames such as are to be found in patent applications drawn to systems for doing business. Where such a process can be specified at the semantic level, through the description of of sequences of routine financial transactions, or by means of flow charts indicating the basic steps of a business process, the computer-implementation of such a process should neither add to nor detract from the patent-eligibility of the process in question.

If the claims are to be considered to be definite, and capable of reading on a statutory invention, one would surely expect that a claim to a computer-implemented "system" would either be drawn to a machine or apparatus, with claim limitations representing specific limitations on the physical construction or operation of the machine or apparatus, or else would be drawn to a computer-implemented process, with claim limitations appropriate for processes.

Beauregard Claims

A Beauregard claim is a claim to a computer-readable medium storing computer code which, when run on a computer, will cause the computer to execute some process. It would not normally be possible to insert the medium into a computer without the intervention of an operating system and appropriate software, unless the computer can be booted directly from the computer-readable medium in question. If the medium contains software written for a PC running under some version of Microsoft Windows, it may not cause an Apple computer or a computer running Linux or Solaris to execute the stored computer code. Where programs a written to run on .NET Framework, they would not run on earlier Windows operating system that do not provide a .NET framework. A program implementing a graphical user interface built using Qt widgets may not run computer with a desktop environment built around GTK widgets. It is the interaction between of the computer program product on the computer-readable medium and the programs running on the general-purpose computer that convert the computer into a device for carrying out the process specified in the patent. Claiming the computer-readable medium alone using a Beauregard claim is akin to claiming a key for opening a door, where the corresponding lock is not specified or determined. It is the combination of the key and the lock which opens the door.

A Pragmatic Consideration

Suppose that alleged patent infringement of some allegedly innovative application of monads in the functional programming language Haskell were to give rise to a lawsuit. Or suppose that the alleged infringement concerned subtle issues centering on the implementation of iterators, coroutines, closures or reflection in a modern computer language. Is it reasonable to expect that the lawyers and judges would be able to master the briefs, construe the patent claims, present the arguments and instruct a jury, so that the jury is in a position to deliver a fair verdict as to whether or not infringement occurred?

[ Reply to This | # ]

Are Patents a USS Montana?
Authored by: IMANAL_TOO on Saturday, March 16 2013 @ 04:45 AM EDT
Are Patents a USS Montana, heading but not heeding? 91HAlo

Your call.



[ Reply to This | # ]

  • good one. - Authored by: jesse on Saturday, March 16 2013 @ 01:40 PM EDT
Perhaps a final comment on Diehr (EP 1534494 A1)
Authored by: albert on Saturday, March 16 2013 @ 04:11 PM EDT
I reviewed the background on the rubber curing process which helped me
understand the patent a little better.

The patent application lists the inventors. They are employed by Signature
Control Systems, Inc. Denver,CO.

Signature Control Systems, Inc. manufactures a product called SmartTrac, which
is rubber vulcanizing machine controller. You install it on your machine, along
with the required sensors. See

There's no question that the process parameters are the subject of prior art,
it's cited in the application. Also cited are various algorithms included in
the software.

I listed the claims, then eliminated the computer and software ones. What's
left is a general explanation of the process, and some very specific details of
the impedance sensor. (I assumed the impedance sensor is patented separately).

Here are my conclusions(limited by lack of research time):

1. Curing rubber using impedance (dielectric) sensors is not unique.
2. The process control system uses standard algorithms. Statistical process
control methods, feedback loops, and evaluation of historical process data are
not new.
3. The system is probably an improvement over existing ones, but is that
4. Removing software from the claims results in one sensor which may be

I believe the patent examiner had it right in rejecting the application, but for
the wrong reason. This is a software patent for a process that is simply an
improvement over existing ones. (We used to call this 'competition') The flow
charts could be applied to many processes, by changing only the names of the
parameters. It may be a fantastic improvement, maybe only marginal. Does it

Should we allow s/w patents? This patent hardly affects anyone, in the larger
scheme of things. How much better would the world be if we had slightly
cheaper, more consistent rubber products? Not much better.

Now we can get patents on all software that controls all machines and processes
that make all products. EP 1534494 A1 lays out exactly what needs to be done.

[ Reply to This | # ]

'In Re Bergy/Chakrabarty', Judge Rich's account of the 'Three Doors'
Authored by: macliam on Sunday, March 17 2013 @ 08:56 AM EDT

Quoted below is a substantial extract from the opinion of Judge Rich in the case In Re Bergy/Chakrabarty at the Court of Customs and Patent Appeals (CCPA). That court was one of those that came together to form the Federal Circuit. Judge Rich's opinion sets out the Doctrine of the Three Doors that guides the statutory interpretation of sections 101, 102 and 103 of the Patent Statute (Title 35 of the USC) by the Federal Circuit to the present day. The Doctrine of the Three Doors set out by Giles Sutherland Rich (who together with Pasquale Federico drafted the 1952 Patent Act) is alive and kicking today, and is the basis on which certain Federal Circuit Judges including Rader, Newman and Linn affirm the patent-eligibility of 'inventions' represented by troll patents on delivery of advertisements over the internet, on computer-assisted business methods, and on diagnostic procedures etc. This doctrine has been repudiated, to a significant extent, by the Supreme Court in Mayo v. Prometheus, but it remains to be seen whether or not the Federal Circuit will come to grips with the implications of Mayo in the case CLS v. Alice currently being considered en banc by the Federal Circuit. I suggest that the Three Doors framework underlies Judge Moore's interjections at the oral arguments in CLS v. Alice, and represent the basis on which she finds the display of hardware and the flow charts to be persuasive evidence of patent-eligibility.

The opinion is difficult to find on the Web. Google do not yet seem to have made it available. I found the excerpt below here in a collection of cases and materials for a university course, Computer Law 484, delivered by Professor Richard H. Stern at the George Washington University Law School. I have added HTML markup.


Rich, Judge.


These appeals are from decisions of the Board of Appeals (board) of the PTO by dissatisfied applicants for patents. We reverse.

These two cases come before us for the second time under the circumstances hereinafter detailed. Since our first decisions, they have been to the United States Supreme Court and back without any decision by that Court. The question before us is a limited one of statutory construction, not whether appellants have made and disclosed patentable inventions. The real question before us is whether appellants are to be allowed to define their inventions in a certain way in claims pursuant to 35 U.S.C. § 112. This question, which is the same in each case, involves the construction and application of 35 U.S.C. § 101, more particularly the meaning to be given to the word “manufacture” in that section. The sole issue, as the PTO chooses to view it, is whether an invention [of bacteria], otherwise patentable under the statute, is excluded from the categories of subject matter which may be patented, set forth in § 101, because it is “alive.” First, however, we review the history of this litigation to show the posture of the cases as they are now before us again.

Procedural Background

In re Bergy, 563 F.2d 1031 (CCPA 1977), vacated sub nom. Parker v. Bergy, 438 U.S. 932 (1978), was decided by us Oct. 6, 1977. We reversed a decision of the board, which affirmed the final rejection by the PTO examiner of claim 5 of Bergy's application for patent. A petition for a writ of certiorari in Bergy was filed in the Supreme Court by the Solicitor General on behalf of the Acting Commissioner of Patents and Trademarks. The Court granted the petition June 26, 1978, and on the same day issued the following order:

It is ordered and adjudged by this Court that the judgment of the CCPA in this cause is vacated; and that this cause is remanded to the CCPA for further consideration in light of Parker v. Flook, 437 U.S. 584 (1978).

Flook was a case from this court involving a computerized method of updating alarm limits by application of a mathematical formula. It was decided by the Supreme Court, four days before the date of the foregoing order in Bergy. The Court gave no intimation of what bearing it thought Flook has on the single issue in these appeals, except as it may be gleaned from the Flook opinion.

Clearly, our assigned task is first to determine the bearing of Flook, if any, on these two appeals. This requires, as we see it, consideration not only of what was decided in Flook but examination of everything that was said in the opinion. Preliminary to that consideration, however, and laying the groundwork therefor, we will examine the Constitutional basis for the patent system and the anatomy of the statutes Congress has enacted insofar as they are relevant to the problem before us.

The Constitution

The grant of power to Congress to establish a patent system is in these familiar words of Art. I, § 8, cl. 8 and cl. 18:

The Congress shall have Power… [8] To promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries;… And [18] To make all Laws which shall be necessary and proper for carrying into Execution the foregoing Powers….

Scholars who have studied this provision, its origins, and its subsequent history, have, from time to time, pointed out that it [cl. 8] is really two grants of power rolled into one; first, to establish a copyright system and, second, to establish a patent system. Their conclusions have been that the constitutionally stated purpose of granting patent rights to inventors for their discoveries is the promotion of progress in the “useful Arts,” rather than in “Science.” In enacting the 1952 Patent Act, both houses of Congress adopted in their reports this construction of the Constitution in identical words, as follows:

The background, the balanced construction, and the usage current then and later, indicate that the constitutional provision is really two provisions merged into one. The purpose of the first provision is to promote the progress of science by securing for limited times to authors the exclusive right to their writings, the word “science” in this connection hav ing the meaning of knowledge in general, which is one of its meanings today. The other provision is that Congress has the power to promote the progress of useful arts by securing for limited times to inventors the exclusive right to their discoveries. The first patent law and all patent laws up to a much later period were entitled “Acts to promote the progress of useful arts.”

It is to be observed that the Constitutional clause under consideration neither gave to nor preserved in inventors (or authors) any rights and set no standards for the patentability of individual inventions; it merely empowered Congress, if it elected to do so, to secure to inventors an “exclusive right” for an unstated “limited” time for the stated purpose of promoting useful arts. We have previously pointed out that the present day equivalent of the term “useful arts” employed by the Founding Fathers is “technological arts.” The only restraints placed on Congress pertained to the means by which it could promote useful arts, namely, through the device of securing “exclusive rights” which were required to be limited in time, a device known to governments for centuries. The conditions to be imposed on the granting of such rights, which have varied through the years, were left to Congress to devise.

Confusion persisted, however. We turn now to a consideration of how Congress has implemented the power delegated to it.

Anatomy of the Patent Statute

The reason for our consideration of the statutory scheme in relation to its Constitutional purpose is that we have been directed to review our prior decisions in the light of Flook and we find in Flook an unfortunate and apparently unconscious, though clear, commingling of distinct statutory provisions which are conceptually unrelated, namely, those pertaining to the categories of inventions in § 101 which may be patentable and to the conditions for patentability demanded by the statute for inventions within the statutory categories, particularly the nonobviousness condition of § 103. The confusion creeps in through such phrases as “eligible for patent protection,” “patentable process,” “new and useful,” “inventive application,” “inventive concept,” and “patentable invention.” The last mentioned term is perhaps one of the most difficult to deal with unless it is used exclusively with reference to an invention which complies with every condition of the patent statutes so that a valid patent may be issued on it.

The problem of accurate, unambiguous expression is exacerbated by the fact that prior to the Patent Act of 1952 the words “invention,” “inventive,” and “invent” had distinct legal implications related to the concept of patentability which they have not had for the past quarter century. Prior to 1952, and for sometime thereafter, they were used by courts as imputing patentability. Statements in the older cases must be handled with care lest the terms used in their reasoning clash with the reformed terminology of the present statute; lack of meticulous care may lead to distorted legal conclusions.

The transition made in 1952 was with respect to the old term “invention,” imputing patentability, which term was replaced by a new statutory provision, § 103, requiring nonobviousness, as is well explained and approved in Graham v. John Deere Co. Graham states that there are three explicit conditions, novelty, utility, and nonobviousness, which is true, but there is a fourth requirement, which, alone, is involved here. This was also the sole requirement involved in Flook.

The Revised Statutes of 1874, which contained the primary patent statutes revised and codified in 1952, lumped most of the conditions for patentability in a single section, § 4886, as did all of the prior statutes back to the first one of 1790. The 1952 Act divided that statute up into its logical components and added the nonobviousness requirement, which until then had been imposed only by court decisions. This attempt at a clear-cut statement to replace what had been a hodgepodge of separate enactments resulted in a new and official Title 35 in the United States Code with three main divisions. Part II, here involved, covers patentability of inventions and the grant of patents.

These cases involve only § 101, as did Flook. Achieving the ultimate goal of a patent under those statutory provisions involves, to use an analogy, having the separate keys to open in succession the three doors of sections 101, 102, and 103, the last two guarding the public interest by assuring that patents are not granted which would take from the public that which it already enjoys (matters already within its knowledge whether in actual use or not) or potentially enjoys by reason of obviousness from knowledge which it already has.

Inventors of patentable inventions, as a class, are those who bridge the chasm between the known and the obvious on the one side and that which promotes progress in useful arts or technology on the other.

The first door which must be opened on the difficult path to patentability is § 101 (augmented by the § 100 definitions). The person approaching that door is an inventor, whether his invention is patentable or not. There is always an inventor; being an inventor might be regarded as a preliminary legal requirement, for if he has not invented something, if he comes with something he knows was invented by someone else, he has no right even to approach the door. Thus, section 101 begins with the words “Whoever invents or discovers,” and since 1790 the patent statutes have always said substantially that. Being an inventor or having an invention, however, is no guarantee of opening even the first door. What kind of an invention or discovery is it? In dealing with the question of kind, as distinguished from the qualitative conditions which make the invention patentable, § 101 is broad and general; its language is: “any… process, machine, manufacture, or composition of matter, or any… improvement thereof.” Section 100(b) further expands “process” to include “art or method, and… a new use of a known process, machine, manufacture, composition of matter, or material.” If the invention, as the inventor defines it in his claims (pursuant to § 112, second paragraph), falls into any one of the named categories, he is allowed to pass through to the second door, which is § 102; “novelty and loss of right to patent” is the sign on it. Notwithstanding the words “new and useful” in § 101, the invention is not examined under that statute for novelty because that is not the statutory scheme of things or the long-established administrative practice.

Section 101 states three requirements: novelty, utility, and statutory subject matter. The understanding that these three requirements are separate and distinct is long-standing and has been universally accepted. The text writers are all in accord and treat these requirements under separate chapters and headings. Thus, the questions of whether a particular invention is novel or useful are questions wholly apart from whether the invention falls into a category of statutory subject matter. Of the three requirements stated in § 101, only two, utility and statutory subject matter, are applied under § 101. As we shall show, in 1952 Congress voiced its intent to consider the novelty of an invention under § 102 where it is first made clear what the statute means by “new”, notwithstanding the fact that this requirement is first named in § 101.

The PTO, in administering the patent laws, has, for the most part, consistently applied § 102 in making rejections for lack of novelty. To provide the option of making such a rejection under either § 101 or § 102 is confusing and therefore bad law. Our research has disclosed only two instances in which rejections for lack of novelty were made by the PTO under § 101, In re Bergstrom, 427 F.2d 1394 (CCPA 1970); In re Seaborg, 328 F.2d 996 (CCPA 1964). In In re Bergstrom we in effect treated the rejection as if it had been made under § 102, observing in the process that “the word 'new' in § 101 is to be construed in accordance with the provisions of § 102.”

The second door then, as we have already seen, is § 102 pursuant to which the inventor's claims are examined for novelty, requiring, for the first time in the examination process, comparison with the prior art which, up to this point, has therefore been irrelevant.

An invention may be in a statutory category and not patentable for want of novelty, or it may be novel and still not be patentable because it must meet yet another condition existing in the law since 1850 when Hotchkiss v. Greenwood, 11 How. 248, was decided. This condition developed in the ensuing century into the “requirement for invention.” See Graham v. John Deere Co. The third door, under the 1952 Act, is § 103 which was enacted to take the place of the requirement for “invention.” We need not examine this requirement in detail for it is not involved in the present appeals, and was not involved in Flook.

If the inventor holds the three different keys to the three doors, his invention (here assumed to be “useful”) qualifies for a patent, otherwise ot; but he, as inventor, must meet still other statutory requirements in the preparation and prosecution of his patent application. We need not here consider the latter because appellants have not been faulted by the PTO in their paperwork or behavior. The point not to be forgotten is that being an inventor and having made an invention is not changed by the fact that one or more or all of the conditions for patentability cannot be met. Year in and year out this court turns away the majority of the inventors who appeal here because their inventions do not qualify for patents. They remain inventions nevertheless. It is time to settle the point that the terms invent, inventor, inventive, and the like are unrelated to deciding whether the statutory requirements for patentability under the 1952 Act have been met. There is always an invention; the issue is its patentability. Terms like “inventive application” and “inventive concept” no longer have any useful place in deciding questions under the 1952 Act, notwithstanding their universal use in cases from the last century and the first half of this one. As Mr. Justice Holmes said in Towne v. Eisner, 245 U.S. 418, 425 (1918), “A word… may vary greatly in color and content according to the circumstances and the time in which it is used.” And Mr. Justice Frankfurter said in Shapiro v. United States, 335 U.S. 1, 56 (1948), “It is the part of wisdom, particularly for judges, not to be victimized by words.”

We have observed with regret that the briefs filed by the Solicitor General for Acting Commissioner Parker in Parker v. Flook, a case which, as the Court noted, “turns entirely on the proper construction of § 101,” badly, and with a seeming sense of purpose, confuse the statutory-categories requirement of § 101 with a requirement for the existence of “invention.” This they do by basing argument on the opening words of § 101, “Whoever invents or discovers,” thereby importing into the discussion of compliance with § 101 a requirement for “invention” in a patentability sense. But there has not been a requirement for “invention” in the patentability sense in the laws since 1952 the requirement was replaced by the § 103 requirement for nonobviousness. Graham v. John Deere Co.

Furthermore, when one has only compliance with § 101 to consider, the sole question, aside from utility, is whether the invention falls into a named category, not whether it is patentable. Falling into a category does not involve considerations of novelty or nonobviousness and only those two considerations involve comparison with prior art or inquiry as to whether all or any part of the invention is or is not in, or assumed to be in, the prior art or the public domain. Prior art is irrelevant to the determination of statutory subject matter under § 101. An invention can be statutory subject matter and be 100% old, devoid of any utility, or entirely obvious. This is our understanding of the statute and the basis on which we proceed to the further consideration of these appeals.

The error of the line of argument pursued in the Solicitor General's briefs in Flook is sufficiently illustrated by quoting from the summation of that argument in the opening paragraphs of the Reply Brief for the Petitioner:

1. Respondent errs in asserting that our argument confuses the standard of nonobviousness prescribed in 35 U.S.C. § 103 and the requirement of statutory subject matter under 35 U.S.C. § 101. As respondent recognizes, the patent examiner's sole ground for rejection of the claims at issue was that they did not cover statutory subject matter under 35 U.S.C. § 101. We do not contend that respondent's particular algorithm for computing updated alarm-limits is not novel or is obvious within the meaning of 35 U.S.C. §§ 102 or 103. We simply contend that the subject matter he seeks to patent is unpatentable under 35 U.S.C. § 101, because it is not an “[invention] or [discovery]” within the meaning of that Section.

The plain language of § 101 requires that the application of a mathematical algorithm involve invention or discovery for it to be patentable. It states that patents may issue only to one who “invents or discovers any… process, machine, manufacture, or composition of matter” (emphasis supplied). This language dates from the original Patent Act of 1790. In none of the subsequent amendments to the patent statute has Congress altered this basic requirement.

Yet respondent would have the courts ignore this explicit language and adopt a new rule that would allow patents to issue to anyone who “[applies for a patent on] any… process, machine, manufacture, or composition of matter,… subject to the conditions and requirements of this title.” Congress could have changed the language of § 101 to broaden the statutory standards of patentability, but it did not; indeed, respondent agrees that in the 1952 Patent Act revision, Congress intended to codify the existing judicial precedents regarding the standard of patentability.

It is transparently clear that the above argument makes the opening words of § 101, “Whoever invents or discovers,” into a requirement for compliance with § 103, the 1952 replacement for the old requirement for “invention”; one must get through the third door in order to get past the first one! That is not the statutory scheme.

The statement that respondent Flook was asking for a rule under which “anyone who [applies for a patent on] any… ”of the § 101 named categories should have a patent “issue” to him is subversive nonsense. There is no issuance without examination for novelty and nonobviousness.

The statement that “Congress could have changed the language of § 101 to broaden the statutory standards of patentability, but it did not” is wholly beside the point because §101 was never intended to be a “standard of patentability”; the standards, or conditions as the statute calls them, are in § 102 and § 103. The naming of the categories of inventions that may be patented, in whatever statute appearing, has never supplied a standard. The question here, as it always has been, is: are the inventions claimed of a kind contemplated by Congress as possibly patentable if they turn out to be new, useful, and unobvious within the meaning of those terms as used in the statute.

Before explaining the Bergy and Chakrabarty inventions, we shall state our understanding of the views expressed by the Supreme Court in the Flook opinion and the light shed thereby on the problems before us. We are redeciding these appeals, as directed, “in light of Parker v. Flook.” The parties were given the opportunity in briefs and oral argument to tell us what bearing Flook has on these appeals. As might have been foreseen, the results are not helpful.

The PTO says the fact of remand should mandate affirmance and be “taken to buttress the positions taken by the dissenting judges.” The only specific thing seized upon, as a launching pad for argument, is a rhetorical passage quoted from Deepsouth Packing Co. v. Laitram Corp., 406 U.S. 512 (1972), about looking for a signal from Congress before changing well-established law, a situation in no way involved here as will be discussed later. As everyone has conceded, we are dealing with appeals raising an issue of first impression in the courts, the effect on compliance with § 101 of the fact of being “alive.”

The only thing we see in common in these appeals and in Flook is that they all involve § 101. Flook was a review of one of the many appeals we have heard involving the general theme of the patentability of computer programs. The only way to claim a program is as a programmed “machine” or as a “process” or “method.” The Flook invention was claimed as a “process” under § 101. That was the second case of its kind from this court reviewed by the Supreme Court, the first being Gottschalk v. Benson, 409 U.S. 63 (1972), which involved two method claims. Method and process claims are equivalents. Flook appears to have been decided on the authority of Benson. No method or process claim is here involved. In fact, the PTO has allowed (all three doors, §§ 101-102-103, passed) Bergy's method claims 1 through 4 and Chakrabarty's process claims 27 through 29, thereby holding that the process aspects of their inventions are not only subject matter within § 101 but also new and unobvious under § 102 and § 103, therefore patentable. Flook was concerned only with the question of what is a “process” under § 101, in the context of computer program protection. No such issue is presented in either of these appeals.

There is no better authority on what the Supreme Court has decided in a case than the Court itself and we are fortunate to have its own summary of what it decided in Flook. It appears at the end of footnote 18, 437 U.S. at 595, as follows: “Very simply, our holding today is that a claim for an improved method of calculation, even when tied to a specific end use, is unpatentable subject matter under § 101.”

We do not venture to elaborate. The appeals here involve no method of calculation, and the Flook holding appears to have no bearing.

As indicated earlier, we deem it our duty to seek whatever additional light there may be in the Court's opinion on the meaning of § 101, without restricting ourselves to the holding. It is stated to be well established in patent law that the following are not within the statutory categories of subject matter enumerated in § 101 and its predecessor statutes as interpreted through the years: principles, laws of nature, mental processes, intellectual concepts, ideas, natural phenomena, mathematical formulae, methods of calculation, fundamental truths, original causes, motives, the Pythagorean theorem, and the computer-implementable method claims of Benson. The present appeals do not involve an attempt to patent any of these things and the Court's review of this hornbook law is, therefore, inapplicable to the issue before us, which involves only the construction of the terms “manufacture, or composition of matter.”

Another principle stated in Flook is that a “mathematical algorithm” or formula is like a law of nature in that it is one of the “basic tools of scientific and technological work” and as such must be deemed to be “a familiar part of the prior art,” even when it was not familiar, was not prior, was discovered by the applicant for patent, was novel at the time he discovered it, and was useful. This gives to the term “prior art,” which is a very important term of art in patent law, particularly in the application of § 103, an entirely new dimension with consequences of unforeseeable magnitude.

Insofar as the present appeals are concerned, the foregoing novel principle has no applicability whatever since, as we have said, no formula, algorithm, or law of nature is involved, and there has been no rejection on prior art of any kind in either application. In each, both the examiner and the Board of Appeals expressly stated that no references evidencing prior art have been relied on or applied.

Insofar as the general patent law is concerned, however, the above-stated novel Flook doctrine may have an unintended impact in putting an untimely and unjustifiable end to the long-standing proposition of law that patentability may be predicated on discovering the cause of a problem even though, once that cause is known, the solution is brought about by obvious means. Such causes may often be classed as laws of nature or their effects. For example, see Eibel Process Co. v. Minnesota " Ontario Paper Co., 261U.S. 45, 67-69 (1922). The potential for great harm to the incentives of the patent system is apparent.

It is one thing to say that a principle, natural cause, or formula, per se, is not within the categories of § 101, but quite another to say it is “prior art” in determining the nonobviousness of an invention predicated on it even though the inventor discovered it.

One final matter with respect to Flook remains. In the PTO supplemental brief on remand, the solicitor places great emphasis on part of a passage which Flook quoted from the opinion of Mr. Justice White for the majority in Deepsouth Packing Co. v. Laitram Corp.:

We would require a clear and certain signal from Congress before approving the position of a litigant who, as respondent here, argues that the beachhead of privilege is wider, and the area of public use narrower, than the courts had previously thought. No such signal legitimizes respondent's position in this litigation.

While the PTO solicitor believes that the entire opinion in Flook is relevant to the issue here, he says “the above quotation from Deepsouth reaches the heart of the matter.” We disagree. We cannot find in this passage any clear direction signal unless we wrench it out of the context in which it belongs and use it in a manner unwarranted by the situaion which spawned it.

When we examine the portion of the paragraph in Deepsouth (also quoted in Flook) just preceding the solicitor-quoted passage, its meaning becomes clear. The Court stated: “It follows that we should not expand patent rights by overruling or modifying our prior cases construing the patent statutes, unless the argument for expansion of privilege is based on more than mere inference from ambiguous statutory language.” The issue in Deepsouth was whether petitioner infringed by selling the unassembled parts of machines embodying patented combinations to foreign buyers who assembled and used them abroad. The relevant statutory provision, 35 U.S.C. § 271, defines infringement by defining the infringer as anyone who “without authority makes, uses or sells any patented invention, within the United States during the term of the patent therefor.” In deciding the case, the Court pointed out that a long line of judicial authority had established the meaning of the term “makes” contrary to the meaning urged by the respondent, with the result that the petitioner's sales of the parts to foreign buyers were not sales of “any patented invention” which was “made” in the United States, and, thus, were not acts of infringement.

It is in this context that the Court made the quoted statement. The respondent in Deepsouth was asking the Court to expand established patent rights territorially, or to treat making parts of a machine as making the machine, by modifying prior cases construing the patent statutes. The Court refused, producing the quoted passage in the process.

We do not find the quoted passage to have any bearing on our problem. We are not faced with a litigant urging upon us a construction of § 101 which is at odds with established precedent. Rather, we deal with a case of first impression. Not having been asked to make a change in existing law or to overrule or modify any case or to expand any right given by Congress, we need in this case no signal from that body.

To conclude on the light Flook sheds on these cases, very simply, for the reasons we have stated, we find none.

[The opinion continues to affirm the patent-eligibility of the bacteria of Bergy and Chakrabarty. The case of Bergy became moot, and therefore the Supreme Court did not rule on that case. The Supreme Court did consider Chakrabarty's bacteria in Diamond v. Chakrabarty. The judgement of the Supreme Court affirms the decision of the CCPA with regard to Chakrabarty, but also reaffirms Flook and distinuishes Chakrabarty from Flook.]

[ Reply to This | # ]

I claim a printing press...
Authored by: macliam on Monday, March 18 2013 @ 05:18 AM EDT

I claim:

  1. a printing press configured to print a text wherein at least 8 of the strings 'Minas Tirith', 'Frodo', 'Elrond', 'Moria', 'Lothlorien', 'Galadriel', 'Samwise', 'Meriadoc', 'Theoden', 'Dunharrow', 'Bombadil' and 'Elessar' occur as substrings within said text;
  2. 2. the printing press of claim 1 further configured to print a text wherein the strings 'Boromir', 'Faramir' and 'Denethor' occur as substrings in said text;
  3. a method of printing texts wherein a text containing at least 20,000 characters is printed on paper or rendered on an electronic display device and at least 8 of the strings 'Minas Tirith', 'Frodo', 'Elrond', 'Moria', 'Lothlorien', 'Galadriel', 'Samwise', 'Meriadoc', 'Theoden', 'Dunharrow', 'Bombadil' and 'Elessar' occur as substrings within said text;
  4. the method of claim 3 wherein the strings 'Boromir', 'Faramir' and 'Denethor' occur as substrings in said text.

If you can convince the PTO that this machine is useful, novel (in accordance with the requirements of Section 102) and non-obvious (in accordance with sections 103), you are surely entitled to a patent on this machine. The patent will cover all printing presses configured to print a text satisfying the claim limitations, as and when they are configured to do so. If the device is deemed to be useful then the requirements of section 101 are satisfied because the printing press is a machine. And in order to verify whether the conditions of sections 102 and 103 are satisfied, it will be necessary to conduct a prior art search of previous patent applications and publications.

Of course the claims are not only to printing presses configured to print specifically The Lord of the Rings. The scope of the claims will also cover a printing press configured to print a text containing sufficiently many of the words listed in the claim. But the patent owner is not going to object to the entitlement to collect royalties from the printing of such derivative works.

There might be issues nevertheless with novelty. But if you were on the point of publishing a book that you believed would be a bestseller, an analogous patent might be worth the cost of obtaining it.

[ Reply to This | # ]

The Three Doors - Ultramercial v. Hulu (Federal Circuit 2011: Rader, Lourie, O'Malley)
Authored by: macliam on Monday, March 18 2013 @ 09:22 AM EDT

The patent at issue is 7,346,545. As the issued patent states:

The present invention is directed to a method and system for disrtributing or obtaining products covered by intellectual property over a telecommunications network whereby a consumer may, rather paying for the products, choose to receive such products after viewing and/or interacting with an interposed sponsor's or advertiser's message, wherein the interposed sponsor or advertiser may pay the owner or assignee of the underlying intellectual property associated with the product through an intermediary such as a facilitator.

There are two independent claims. The first, claim 8, is to a method for distribution of products, involving steps of receiving, selecting, providing, restricting, offering, facilitating, allowing, presenting, recording and updating and receiving payment. The other independent claim, claim 8, has similar steps. All claims are method claims, and superficial examination of them would suggest the steps of a business process, with no technical details.

Litigation initiated by Ultramercial against Hulu, YouTube and Wildtangent in the district court resulted in dismissal “for failure to claim statutory subject matter”. The Federal Circuit reversed, in 2011, in the case Ultramercial v. Hulu. Randall R. Rader, Chief Judge of the Federal Circuit wrote the per curiam opinion, which was unanimous. The other circuit judges on the panel were Alan D. Lourie and Kathleen M. O'Malley.

The opinion demonstrates the lengths that Rader and his colleagues will go to avoid finding a patent claim ineligible under Section 101 for failure to claim statutory subject matter.

First, some remarks about the patent specification. There are four diagrams. The first shows four computers (typical PCs), with people standing on top of each computer, plus icons representing folders, files, floppy disks and dollar bills, and various arrows connecting them. The second figure is a flow chart of a business method, with descriptions of the steps in plain English (with nothing whatsoever resembling any sort of computer code): ‘Consumer enters Facilitator's URL’, ‘Consumer requests…’, ‘Facilitator responds…’ etc.. Figures 3 and 4 are of a similar nature. The standard parts of a patent specification follow. The detailed description of the preferred embodiment follows, rresponding to Figures 2, 3 and 4, and describing the steps performed by customers, facilitators, sponsors, etc., with no disclosure of any sort of computer code. There is a modicum of technical disclosure at the beginning of the description of the preferred embodiment: “All of the principals preferably communicate over a telecommunications network, such as the Internet, using their respective computers.”. Then follow the claims.

“Nice work if you can get it! And you can get it—if you try.”

So now let us see how Rader and his colleagues address this meritorious advance over the prior art.

First they comment on (lack of) claim construction:

The district court dismissed Ultramercial's claims for failure to claim statutory subject matter without formally construing the claims.… In this case, the subject matter at stake and its eligibility does not require claim construction.

Thus Rader and his colleagues have no issue with the fact that the district court failed to construe the claims before dismissing the suit.

Then some remarks on legislative intent.

In Bilski, the Supreme Court explained that "[i]n choosing such expansive terms modified by the comprehensive `any,' Congress plainly contemplated that the patent laws would be given wide scope." 130 S.Ct. at 3225 (quoting Diamond v. Chakrabarty, 447 U.S. 303, 308, 100 S.Ct. 2204, 65 L.Ed.2d 144 (1980)). After all, the purpose of the Patent Act is to encourage innovation, and the use of broadly inclusive categories of statutory subject matter ensures that "ingenuity . . . receive[s] a liberal encouragement." Chakrabarty, 447 U.S. at 308, 100 S.Ct. 2204.

At least we are spared the usual “everything under the sun” cite bite!

It is now time to move on to the Three Doors:

More importantly, as § 101 itself expresses, subject matter eligibility is merely a threshold check; claim patentability ultimately depends on "the conditions and requirements of this title," such as novelty, nonobviousness, and adequate disclosure. 35 U.S.C. § 101; see Classen Immunotherapies, Inc. v. Biogen IDEC, ___ F.3d ___, ___ (Fed.Cir.2011) (pointing out the difference between "the threshold inquiry of patent-eligibility, and the substantive conditions of patentability"). By directing attention to these substantive criteria for patentability, the language of § 101 makes clear that the categories of patent-eligible subject matter are no more than a "coarse eligibility filter." Research Corp., 627 F.3d at 869. In other words, the expansive categories—process, machine, article of manufacture, and composition of matter—are certainly not substitutes for the substantive patentability requirements set forth in § 102, § 103, and § 112 and invoked expressly by § 101 itself. Moreover, title 35 does not list a single ineligible category, suggesting that any new, nonobvious, and fully disclosed technical advance is eligible for protection, subject to the following limited judicially created exceptions.

Of course sections 102, 103 and 112 of the statute have nothing whatsoever to say about laws of nature, natural phenomena and abstract ideas. So our task today is to pilot the ship past the treacherous shoals represented by those pesky “judicially-created exceptions”. Indeed the “novelty” section (section 102) is concerned with filing dates of patent applications, printed publications and the like. This suits our friends in the Intellectual Property community, who go up the wall at any suggestion that plants and bacteria found in the wild, human DNA, computer assisted business methods and the like might fail the demands of a more rigorous Section 101 jurisprudence.

Clearly the claims are not drawn to laws of nature, nor to natural phenomena. So we have to finess the abstract idea exception. Hmm!

Aha! The Supreme Court did not categorically exclude business methods.

In line with the broadly permissive nature of § 101's subject matter eligibility principles, judicial case law has created only three categories of subject matter outside the eligibility bounds of § 101— laws of nature, physical phenomena, and abstract ideas. Bilski, 130 S.Ct. at 3225. Indeed, laws of nature and physical phenomena cannot be invented. Abstractness, however, has presented a different set of interpretive problems, particularly for the § 101 “process” category. Actually, the term “process” has a statutory definition that, again, admits of no express subject matter limitation: a title 35 “process” is a “process, art or method, and includes a new use of a known process, machine, manufacture, composition of matter, or material.” 35 U.S.C. § 100(b). Indeed, the Supreme Court recently examined this definition and found that the ordinary, contemporary, common meaning of “method” may include even methods of doing business. See Bilski, 130 S.Ct. at 3228. Accordingly, the Court refused to deem business methods ineligible for patent potection and cautioned against “read[ing] into the patent laws limitations and conditions which the legislature has not expressed.” Id. at 3226 (quoting Diamond v. Diehr, 450 U.S. 175, 182, 101 S.Ct. 1048, 67 L.Ed.2d 155 (1981)). And this court detects no limitations or conditions on subject matter eligibility expressed in statutory language. See, e.g., Ass'n for Molecular Pathology v. U.S. Patent & Trademark Office, 653 F.3d 1329, 1348 (Fed.Cir.2011) (patent-ineligible categories of subject matter are “judicially created exceptions”); Prometheus Labs., Inc. v. Mayo Collaborative Servs., 628 F.3d 1347, 1353 (Fed.Cir.2010), cert. granted, ___ U.S. ___, 130 S.Ct. 3543, 177 L.Ed.2d 1120 (2010) (patent-ineligible categories are “not compelled by the statutory text”); see also Bilski, 130 S.Ct. at 3225 (Supreme Court acknowledging that judge-created “exceptions are not required by the statutory text”).

We will ignore the fact that, in Bilski, four justices favoured the categorical exclusion of business methods, and that a fifth, Justice Scalia, joined Justice Breyer in a concurrence that damned State Street and opined that not many business methods would merit the protection of the patent laws. And maybe, if we keep hammering on about it, the Supreme Court will finally get the message and drop all that stupid nonsense concerning laws of nature, natural phenomena, abstract ideas and the like.

The trouble is, this stuff does all look rather abstract, and we cannot really point to much in the way of technical detail. The best we can do is to sound off generally about the difficulty of defining precisely what is meant by an “abstract idea”, proffer dicta on the inapplicability of tests formulated during the “Industrial Age” to the inventions of the “Information Age”. Then we can cite Research Corp:

With this in mind, this court does “not presume to define `abstract' beyond the recognition that this disqualifying characteristic should exhibit itself so manifestly as to override the broad statutory categories of eligible subject matter and the statutory context that directs primary attention on the patentability criteria of the rest of the Patent Act.” Research Corp., 627 F.3d at 868.

Such generalities are all very well, but what about the ‘invention’ before us?

Turning to the '545 patent, the claimed invention is a method for monetizing and distributing copyrighted products over the Internet. As a method, it satisfies § 100's definition of “process” and thus falls within a § 101 category of patent-eligible subject matter. Thus, this court focuses its inquiry on the abstractness of the subject matter claimed by the '545 patent.

“[I]nventions with specific applications or improvements to technologies in the marketplace are not likely to be so abstract that they override the statutory language and framework of the Patent Act.” Research Corp., 627 F.3d at 869. The '545 patent seeks to remedy problems with prior art banner advertising, such as declining clickthrough rates, by introducing a method of product distribution that forces consumers to view and possibly even interact with advertisements before permitting access to the desired media product. '545 patent col.2 11.14-18. By its terms, the claimed invention purports to improve existing technology in the marketplace. By its terms, the claimed invention invokes computers and applications of computer technology. Of course, the patentability of the '545 patent, though acknowledged by the U.S. Patent Office, would still need to withstand challenges that the claimed invention does not advance technology (novelty), does not advance technology sufficiently to warrant patent protection (obviousness), or does not sufficiently enable, describe, and disclose the limits of the invention (adequate disclosure).

Returning to the subject matter of the '545 patent, the mere idea that advertising can be used as a form of currency is abstract, just as the vague, unapplied concept of hedging proved patent-ineligible in Bilski. However, the '545 patent does not simply claim the age-old idea that advertising can serve as currency. Instead the '545 patent discloses a practical application of this idea. The '545 patent claims a particular method for monetizing copyrighted products, consisting of the following steps: (1) receiving media products from a copyright holder, (2) selecting an advertisement to be associated with each media product, (3) providing said media products for sale on an Internet website, (4) restricting general public access to the media products, (5) offering free access to said media products on the condition that the consumer view the advertising, (6) receiving a request from a consumer to view the advertising, (7) facilitating the display of advertising and any required interaction with the advertising, (8) allowing the consumer access to the associated media product after such display and interaction, if any, (9) recording this transaction in an activity log, and (10) receiving payment from the advertiser. '545 patent col.8 11.5-48. Many of these steps are likely to require intricate and complex computer programming. In addition, certain of these steps clearly require specific application to the Internet and a cyber-market environment. One clear example is the third step, “providing said media products for sale on an Internet website.” Id. col.8 11.20-21. And, of course, if the products are offered for sale on the Internet, they must be “restricted”—step four—by complex computer programming as well. Viewing the subject matter as a whole, the invention involves an extensive computer interface. This court does not define the level of programming complexity required before a computer-implemented method can be patent-eligible. Nor does this court hold that use of an Internet website to practice such a method is either necessary or sufficient in every case to satisfy § 101. This court simply find the claims here to be patent-eligible, in part because of these factors.

“Many of these steps are likely to require intricate and complex computer programming.” Indeed!

And, just in case you did not get the message, we will repeat it!

Finally, the '545 patent does not claim a mathematical algorithm, a series of purely mental steps, or any similarly abstract concept. It claims a particular method for collecting revenue from the distribution of media products over the Internet. In a recent case, this court discerned that an invention claimed an “unpatentable mental process.” CyberSource Corp. v. Retail Decisions, Inc., 654 F.3d 1366, 1370 (Fed.Cir. 2011). The eligibility exclusion for purely mental steps is particularly narrow. See Prometheus Labs., 628 F.3d at 1358 (noting that claims must be considered as a whole and that “the presence of mental steps [in a claim] does not detract from the patentability of [other] steps”). Unlike the claims in CyberSource, the claims here require, among other things, controlled interaction with a consumer via an Internet website, something far removed from purely mental steps.

In sum, as a practical application of the general concept of advertising as currency and an improvement to prior art technology, the claimed invention is not “so manifestly abstract as to override the statutory language of section 101.” Research Corp., 627 F.3d at 869. Accordingly, this court reverses the district court's dismissal of Ultramercial's patent claims for lack of subject matter eligibility and remands for further proceedings. This decision does not opine at all on the patentability of the claimed invention under the substantive criteria set forth in § 102, § 103, and § 112.


The remaining defendant in suit, Wildtangent, appealed to the Supreme Court who GVR'ed (‘grant, vacate, remand’) for reconsideration in the light of the Supreme Court judgement in Mayo


Will the Federal Circuit manage to find some pretext to avoid affirming the district court, given the precedent and dicta set out in Mayo? The idea of monetizing advertising over the internet must surely be, in itself, an abstract idea. If the minimal disclosure in the patent specification suffices to prove enablement, then surely the showing of enablement must surely rest on the observation that the computer-implementation is routine, conventional activity long practised by those skilled in the art. Thus any veneer of computer-implementation surely cannot supply patent-eligibility to an otherwise patent-ineligible abstract idea

[ Reply to This | # ]

Groklaw's Response to the USPTO's Request for Suggested Topics for Future Discussion & A Supplement ~pj
Authored by: Anonymous on Tuesday, March 19 2013 @ 03:49 AM EDT
Every firm with an internal IT department writes software. Every firm which maintains its own website writes software. There are roughly 634,000 firms in the United States with 20 or more employees and 1.7 million firms with 5 to 19 employees. A very large fraction of these firms write software. In an ideal world, all firms should verify all patents as they are issued to avoid infringement. This need to verify the relevance of all patents would necessarily be a constant, on-going activity. For one thing, corporate software must frequently be adapted to new needs and any new version may potentially infringe a patent not previously infringed. A study has concluded the task is practically impossible to accomplish.
While this argument might meet less opposition from skeptics it is not quite accurate. You don't need an IT department to be a potential infringer. Anyone who recorded a macro in a wordprocessor or wrote a formula in a spreadsheet is a potential infringer.

[ Reply to This | # ]

Planet Technology
Authored by: macliam on Tuesday, March 19 2013 @ 08:26 PM EDT

Geographical and Biological Description of Planet Technology

Planet Technology contains two large landmasses surrounded by ocean. One landmass is regarded as a single continent, called Processland. The indigeneous lifeforms of Processland are called Statutory Processes (though some might also be referred to as Methods or as Arts). The other landmass is (like Eurasia/Africa) regarded as consisting of three continents, Machineland, Manufactureland and Compositionland, whose indigeneous lifeforms are referred to as Machines, Manufactures and Compositions respectively. The Compositions (more formally known as Compositions of Matter) resemble plants in that each is rooted to a single spot. One can therefore usually identify a composition by specifying its location. Many manufactures (e.g., plates and lawnmowers) resemble sloths, in that they move around their places of habitation very slowly as they age and die. Machines tend to be more active. Indeed some machines, though they may move regularly around their home areas, tend to stay put within those areas. However the indigenous lifeforms known as computers and cellphones seem to be constantly on the move around the adjacent regions of Computerland and Cellphoneland. Indeed the computers are probably the most active lifeforms on the planet. But printing presses, word processors, player pianos, Jacquard looms and some other ancient lifeforms are also fairly active. The printing presses and Jacquard looms are migratory, spending periods of time at particular locations, then suddenly moving on to other locations some distance away. A machine configuration identifies a location within Machineland. The lifecycle of a machine (from manufacture to the dismantling and possible recycling of its constituent parts) is representable as a trajectory through Machineland.

Some of the lifeforms can participate in long-distance symbiotic relationships that induce the spontaneous creation of entities that one might describe as composite machines which, for legal purposes, are treated as machines on the same basis as their constituent parts. In particular, the computer lifeforms can enter into long-distance symbiotic relationships with one another and with optical media, network cables, modems, dongles, wireless antennae, landlines, telephones and cellphones to form composite machines such as computer networks and client/server systems that are miraculously conjured into existence as living entities in parts of Machineland far removed from the habitations of the symbiotes.

The shores of the landmasses are washed by three oceans, the Ocean of Abstract Ideas, the Ocean of Laws of Nature, and the Ocean of Natural Phenomena (also known as the Ocean of Physical Phenomena). The Ocean of Natural Phenomena separates the two landmasses, and includes the Sea of Products of Nature washing the shores of Compositionland. The Ocean of Abstract Ideas includes the Sea of Mathematical Ideas, and the Sea of Business Strategies.

The Ocean of Abstract Ideas is inhabited by lifeforms belonging to the order of abstract ideas. Most of the members of this order dwell in the open ocean far from land, but some dwell in the coastal seas, and some may indeed swim up rivers discharging into the ocean. Now the shoreline of Processland is not well-charted, and geographers, surveyors and navigators regularly engage in acrimonious disputes concerning the size and general shape of this continent. Indeed the coastline of Processland is a bewildering maze of marshes, swamps, creeks, lagoons, small islands, shoals and sandbanks, to the extent that nobody can agree on any well-defined frontier between the sea and the dry land. There is an extensive area of wetland between the firm ground of Processland and the Ocean of Abstract Ideas, which is populated by lifeforms known as business methods. Some people argue that these wetlands should be regarded as part of the territory of Processland. Others consider that these areas should more properly be regarded as part of the surrounding ocean. Moreover zoologists have been unable to establish the taxonomic status of the business methods. Some argue that these lifeforms are abstract ideas. Others dispute this, claiming that the business methods should be classified with the statutory processes. Others claim that the business method lifeforms in fact belong to a plurality of species, arguing that most appear to be abstract ideas, though some may in fact be statutory processes. A similar dispute concerns another area of wetland inhabited by lifeforms known as software processes. Ichthyologists have observed numerous species belonging to the genus of mathematical algorithms. Many members of these species are to be found swimming far out in the open ocean. But some are to be found swimming in the coastal seas, creeks, lagoons and river estuaries that form the coastline of Processland. Some people argue passionately that the software processes all belong to the genus of mathematical algorithms. Others argue that there are indeed mathematical algorithms dwelling amongst the software processes, but that most species of software process are homologous to the land-dwelling statutory processes.

Some believe, or at least suspect, that the entirety of the flora and fauna of Planet Technology can all be classified so that every lifeform falls either within one of the land-dwelling orders of statutory process, machine, manufacture and composition, or else within one of the ocean-dwelling orders of laws of nature, natural phenomena, and abstract ideas. But there is no general agreement as to the appropriate classification for the business methods and the software processes.

Colonization, Commercial Exploitation and the Patent System

The Human Race has been colonizing and exploiting Planet Technology and, a few centuries ago, set up a land lease system, called the Patent System, to promote the objectives of colonizing the landmass and exploiting the indigenous lifeforms.

The landmasses contain settled areas and wilderness areas. Any colonist who builds a homestead out in the wilderness and starts cultivating or domesticating the native lifeforms is entitled to stake a claim to a tract of wilderness land surrounding the homestead, and apply for a twenty-year lease granting a monopoly over the exploitation of indigenous lifeforms over that tract of land. There are rules governing the allowable claims. The tract of land claimed must be contained in the wilderness area and must not encroach on settled areas. Moreover no homestead or exploited terrain belonging to another colonist should lie within the meets and bounds determined by the claims at the time that the claim is made. Moreover the homestead must lie within the claimed tract. Failure to respect these rules results in invalidation of the claim and the resultant monopoly. Those homestead owners with issued claims are known as inventors, and the title deeds that specify both the location of the homestead and the meets and bounds of the claim are known as patents. A portion of the patent known as the specification must specify the location of the homestead with sufficient precision to enable strangers to locate the homestead from the written description (enablement). Moreover the boundaries of the claim must be specified, in relation to local landmarks, using a numbered sequence of patent claims so that the boundaries of the claimed territory can be determined as accurately as could reasonably be expected, given the nature of the terrain.

There is however an oddity in the property law that results from these rules. The terrain newly claimed must avoid areas already settled and exploited, but overlap with the wilderness areas of earlier claims. When this happens, some tracts of land may fall within the meets and bounds of a number of distinct and independent domains leased by distinct and independent inventors. Each of these inventors has an independent right to demand tolls (royalties or license fees) or to seek to eject trespassers. It follows that the exploitation of such tracts requires the active cooperation or indifference of all the tenants who are leasing the tract.

Now this patent system seems to have worked in accordance with the intentions of the founders of the system in certain large areas of the landmasses. In particular, the continent of Compositionland contains regions known as Chemicalland and Alloyland that in their pristine state were stony ground difficult to clear. However, once cleared, much of this land proved fertile ground for the cultivation of the plant-like lifeforms such as chemicals (including pharmaceuticals) and alloys. There is a long history or settlement, and the terrain is well-mapped, but, in the more remote areas, there remain areas of virgin territory available for exploitation. The situation in much of Manufactureland is similar: the patent system encourages the effective exploitation of lawnmowers, windscreen wipers, dog collars and mousetraps.

However the situation in some regions of Machineland is very different. The regions of Computerland and Cellphoneland are vast featureless prairies. There are numerous homesteads, and some are well-established. But many so-called homesteads are dilapidated shacks that were only thrown together to provide a pretext for staking a claim. Some shacks have already collapsed to the point of being invisible beneath the surrounding undergrowth. Now each homestead has its associated tract of leased land. But the terrain is so featureless and lacking in landmarks that the meets and bounds of the domains are difficult to determine. Some of the domains have visible boundary fences, but many do not.

Now the indigenous lifeforms, namely the computers and cellphones, are unruly beasts that wander continually all over the prairie. Some may group together in herds, but others break free and wander here, there and everywhere. In their journeys, these beasts trespass on domains leased to thousands of inventors. Indeed it has been claimed that some regularly wander over a quarter of a million distinct leased domains in a single day. In theory, whenever one of these beasts trespasses on a leased domain, the owner of the beast is expected to pay a toll to the tenant (or patent owner) to compensate for the trespass. But, if it were desirable to create a system to compensate tenants for trespass with appropriate license fees, it would be impractical to come up with a fair system, given the enormous number of overlapping patents issued, and the difficulties of determining the scope of the claims.

Moreover some of the apparent uninhabited dilapidated shacks are in fact inhabited by sinister humanoid creatures known as trolls. These trolls are capable of assuming the form of human beings, and will pose as inventors to obtain leases on ill-mapped domains within the prairie, on the pretence of having established homesteads there. They then kidnap large numbers of computers and cellphones that stray near their shacks, and demand hefty ransoms from the owners of the impounded livestock, on the pretext that the beasts have trespassed on their domains. But, because the boundaries of their domain are often vague and ill-defined, expensive legal proceedings are required to determine where the boundaries actually run, and whether or not the livestock has actually trespassed on the domain. Thus those seeking to make a living in Computerland or Cellphoneland live under constant threat.

Recent Developments

A case decided a couple of years ago by the Supreme Court of Planet Technology appears to have established the principle that the beaches and clifftops around the landmasses do in fact lie within the public domain. Indeed the Supreme Court established that an area claimed as private land in the district of Diagnostictestshire in Medicalprocedureland, on the continent of Processland, was in fact a public beach. Future decisions of the Supreme Court should help establish the scope of the legal principles underlying the recent decision. Does the principle apply to beaches around all continents, or only to those around Processland? A forthcoming court case should determine which if any parts of a soggy region known as Nucleicacidland on the coastline of Compositionland are legally to be considered part of the Ocean of Products of Nature. The results of such cases are eagerly awaited. Indeed the recent decision seems to suggest that parts of the disputed swamps where the software processes and business methods congregate might in fact be public land that cannot be included in any patent claim.

[ Reply to This | # ]

Groklaw © Copyright 2003-2013 Pamela Jones.
All trademarks and copyrights on this page are owned by their respective owners.
Comments are owned by the individual posters.

PJ's articles are licensed under a Creative Commons License. ( Details )