About This Blog
Automating Invention is Robert Plotkin's blog on the impact of computer-automated inventing on the law (primarily patent law). The blog also explores the implications of computer-automated inventing for creativity, ethics, and high-tech industry.
Categories
Links
Blogs
- 271 Patent Blog
- BLOG@IP::JUR
- Boalt IP Blawg
- Epistasis Blog
- Evolutionary Computation
- Genetic Argonaut
- IlliGAL Blog
- Invent Blog
- The Long Tail
- IP Newsflash
- The Open Road
- Patent Pending
- Peer to Patent
- The Singularity Institute
- Promote the Progress Blawg
Technology & Policy
- Berkman Center for Internet and Society
- Computer Professionals for Social Responsibility
- Electronic Frontier Foundation
- MIT STS Program
- Samuelson Law, Technology, and Public Policy Clinic
- Stanford Law School Center for Internet and Society
- U.S. Public Policy Committee of the Association for Computing Machinery
Resources (Law)
- Bitlaw
- European Patent Office
- Software Patent Institute
- Software Patents vs. Parliamentary Democracy
- United States Patent and Trademark Office
- World Intellectual Property Organization
Resources (Technology)
- Genetic-Programming.org (John Koza)
- Introduction to Genetic Algorithms
- Genetic Algorithms Archive
- Genetic Algorithms and Artificial Life Resources
- Genetic Programming FAQ
- Genetic Programming Bibliography
- Generative Programming
- HDL Page
- NASA Evolvable Systems Group
- Evolvable Hardware (Los Alamos National Laboratory)
- Evolvable Hardware (University of Oslo)
Commercial Applications
- Affinnova, Inc.
- Icosystem Corporation
- Imagination Engines, Inc.
- Matrix Advanced Solutions Ltd.
- Natural Selection, Inc.
- NuTech Solutions
- Quantum Leap Innovations
- Red Cedar Technology
- TenFold Corporation
People
- Sion Balass
- Peter J. Bentley
- Hans-Georg Beyer
- Eric Bonabeau
- Ralph Clifford
- David Davis
- David Fogel
- James Foster
- David Goldberg
- Erik Goodman
- J. Storrs Hall
- Andrew Hodges’ Alan Turing Site
- John Holland
- Gregory Hornby
- Lorenz Huelsbergen
- John Koza
- Ray Kurzweil
- Hod Lipson
- Jason Lohn
- Julian Miller
- James Moor
- Daniel H. Pink
- Jordan Pollack
- Joe Rothermich
- Karl Sims
- Daniel H. Pink
- Lee Spector
- Stephen Thaler
- Adrian Thompson
- Marcel Thuerk
- Christof Teuscher
- Andy Tyrell
- Tina Yu
Philosophy
Search
Recent Entries
- Patents vs. Prizes
- Your Genome for $399
- Outsourcing Manufacturing Isn't Just for Large Companies Anymore
- My Book on Invention Automation to be Published by Stanford in Spring 2009
- Gamers Solve Problems in Science and Computing
- Software Improvises Musical Accompaniments
- Computer Simulation Uncovers Evidence of Biological Evolution
- Has Microsoft Really Patented Page Up and Page Down?
- Breaking the Software Development Speed Limit with Agile Programming
- Complexity: Computers Come to the Rescue
- Calculator Dates Back Two Millenia
- Does Google Make Us Dumber or Smarter?
Archives
« First File Sharing, Then People Sharing | Main | Human-competitive software meets resistance from human competitors »
June 28, 2005
Patent Law and Layers of Abstraction
In his talk yesterday (see my previous posting), Drew Endy talked about how some of his work is shifing towards designing biological systems at higher layers of abstraction. The idea of "layers" (or "levels") of abstraction is deeply engrained in the way engineers, and computer scientists in particular, think about systems. I've argued elsewhere that some of the problems with software patents could be fixed if patent law recognized the distinction between different layers of abstraction and focused its attention on the layer(s) where innovation is actually occurring in a particular field.
If you're not familiar with the concept of "layers of abstraction," imagine that you're designing a toaster. You might design the toaster as follows:
- Start with the very high-level (i.e., very abstract) goal of designing a machine to toast bread.
- Then you might identify the functions that the toaster needs to be able to perform, such as holding bread, heating bread, detecting when the bread has been toasted to the desired darkness, and ejecting the bread. Identifying these functions is called "functional design."
- Then you might design the physical components for performing the functions described above, such as heating elements for heating the bread and springs for ejecting the bread. Designing these components is called "physical design" and is often what we think of as "inventing."
Once you've designed and built your toaster, there is of course only a single physical toaster. But you can still think about and describe the toaster in terms of its "physical layer" (its physical components) and its "functional layer" (the functions it performs). Machines and other systems are often designed and described in terms of many such layers in addition to the physical and functional.
It is possible to innovate in any of these layers. Mechanical engineers traditionally have innovated in the physical layer by designing new physical components or new combinations of existing physical components. Computer programmers traditionally have innovated in the functional layer by writing programs consisting of new functions or new combinations of existing functions.
But physical innovation holds a special place in patent law, as the result of assumptions that are no longer valid. One example of patent law's attachment to the physical layer is section 112, paragraph 6 of the U.S. patent statute, which says that patent claims written using functional language are to be limited in scope to the specific physical structure of the invention as described elsewhere in the patent. This section hard-wires the physical layer as the upper limit on the layer of abstraction at which an invention may be claimed.
This legal distinction between the physical and functional layers made sense when the focus of most innovation was the physical layer, and when there were no computers or other means available to automatically produce physical implementations of innovations described at higher levels of abstraction. But these assumptions are no longer valid, and patent law needs to become more flexible in response by focusing protection on the layer(s) of abstraction at which innovation is actually occurring in the real world. In future postings on this site I will explore ways in which patent law could be reformed to achieve this goal. I will also consider potential problems with such reforms.
Posted by Robert at June 28, 2005 9:31 AM
category:
Philosophy of Computing
| Software Patents
Comments
Post a comment
Thanks for signing in, . Now you can comment. (sign out)
(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

