Skip to main content
  1. dIPlex
  2. /
  3. Software Patents
  4. /
  5. What constitutes patentab...

What constitutes patentable software?

Reading Time: 8 mins
A large glowing digital sphere formed by computer code as a symbol for patentable software

The question of what aspects of software are eligible for patent protection has been a source of ongoing debate and legal complexity since the advent of computer technology. Unlike traditional inventions with tangible physical components, software presents a unique challenge to the patent system due to its dual nature: it is both a set of instructions and a functional component that can exist independently of specific hardware. This chapter dives into the difficulties inherent in defining “software” for patent purposes and explores the criteria used to determine its patentability across different jurisdictions.

The nature of software

Software, at its core, comprises a series of instructions that, when executed by a computer, enable it to perform specific tasks. These instructions can be expressed in various forms, from high-level programming languages that are relatively easy for humans to understand, to low-level machine code that is directly executable by the computer’s processor. Beyond this fundamental definition, software also exhibits several other characteristics that complicate its treatment under patent law:

  • Functionality: Software is inherently functional, designed to perform specific operations and achieve particular outcomes. This functionality can range from simple data processing to complex control of industrial processes. Software’s functionality is a key aspect that distinguishes it. It’s not just code; it’s designed to do something. This could involve anything from performing calculations, managing data, controlling hardware, or enabling user interaction. The scope of this functionality is vast and constantly expanding, making it difficult to categorize software neatly within existing patent frameworks.
  • Abstraction: Software can exist at various levels of abstraction. A software program can be described at a high level in terms of its overall purpose and functionality, or at a low level in terms of the specific code and data structures used to implement that functionality. This refers to the way software is designed and understood at different levels of detail. For instance, a programmer might think in terms of objects and functions, while the computer operates on binary code. This multi-layered nature of software, from human-readable code to machine-executable instructions, makes it challenging to define the “invention” with the level of specificity that patent law often requires.
  • Intangibility: While software requires a physical medium (e.g., a hard drive, memory) for storage and execution, the software itself is essentially a set of instructions and data, lacking a fixed physical form. Unlike a physical machine or a chemical compound, software lacks a tangible form. It’s a set of electronic signals and logical relationships. This poses a challenge for patent law, which has traditionally focused on inventions with a clear physical presence. The intangible nature of software makes it difficult to apply traditional concepts like “manufacture” or “composition of matter.”
  • Transformability: Software is easily modified, updated, and adapted to perform new functions or operate in different environments. This malleability makes it challenging to define a software invention with the same precision as a mechanical device. Software’s transformability is a double-edged sword. It’s a key reason for its power and versatility, but it also creates problems for patent law. A software invention can be altered, improved, or repurposed relatively easily, making it difficult to define a fixed “invention” and raising questions about the scope of patent protection.

The problem of defining “Software” for patent law

The absence of a clear, universally accepted definition of “software” poses a significant challenge for patent law. Patent systems traditionally protect tangible inventions, such as machines, devices, and compositions of matter. Applying these concepts to software, which exists in the digital realm, requires careful consideration.

The term “software” can encompass a wide range of creations, including:

  • Operating systems: Fundamental software that manages computer hardware and provides services for other software.
  • Application programs: Software designed for specific tasks, such as word processing, web browsing, or image editing.
  • Algorithms: Step-by-step procedures for solving a problem or performing a computation.
  • Data structures: Methods for organizing and storing data in a computer.
  • Firmware: Software embedded in hardware devices to control their basic operations.

Each of these categories presents different characteristics and raises distinct issues regarding patentability. For instance, is an algorithm merely an abstract idea, or can it be patented if it is implemented in a specific way? Is an improvement to an operating system a patentable invention, or simply a natural evolution of software development?

Distinguishing between patentable software and unpatentable abstract ideas

One of the central challenges in software patent law is distinguishing between patentable software inventions and unpatentable abstract ideas. Abstract ideas, such as mathematical formulas, laws of nature, and fundamental economic principles, are not eligible for patent protection because they are considered the basic building blocks of knowledge and should be freely available to everyone.

However, software often involves the implementation of abstract ideas. The key question is: At what point does the implementation of an abstract idea in software become a patentable invention?

Various legal frameworks and court decisions have attempted to provide criteria for making this distinction, but a clear and consistent test remains elusive. The following factors are often considered:

  • Technical effect: Does the software invention produce a tangible technical effect or solve a technical problem in a non-obvious way? A “technical effect” refers to an effect that goes beyond the normal interactions of a computer and its software. It might involve improving the efficiency or speed of a computer process, enhancing data storage capabilities, or controlling external devices in a new way. This concept is crucial in determining whether a software invention is more than just an abstract idea implemented on a computer.
  • Improvement to computer functionality: Does the software invention improve the way a computer operates or enhance its performance? This criterion focuses on whether the software invention leads to a demonstrable improvement in the functioning of the computer itself. This could include enhancements to processing speed, memory management, data access, or other core computer operations. The improvement must be more than just a trivial or routine optimization.
  • Specific application: Is the abstract idea applied in a specific and practical manner, rather than claimed in its abstract form? This aspect emphasizes the importance of claiming the software invention in the context of a specific application. A general-purpose algorithm, for example, might not be patentable, but a specific implementation of that algorithm to solve a particular technical problem could be. The focus is on the practical application, not the underlying abstract idea.
  • Transformation: Does the software invention transform data or physical matter in a meaningful way? Here, the concept of “transformation” refers to whether the software invention causes a change in the state of data or physical matter. For instance, software that controls a manufacturing process to produce a new product or that transforms raw data into a more useful format might be considered patentable. The transformation must be significant and integral to the invention’s purpose.

The role of hardware in software patentability

The interaction between software and hardware plays a significant role in determining software patentability. While software itself may be considered an abstract concept, its implementation on a computer or other hardware device can provide the necessary link to the physical world to make it eligible for patent protection.

In general, software inventions that are closely tied to specific hardware components or that control or improve the functioning of hardware are more likely to be considered patentable. For example, software that:

  • Controls a specific machine or industrial process.
  • Improves the performance or efficiency of a computer system.
  • Implements a novel algorithm in a specialized hardware configuration.
  • Enables a new interaction between software and hardware.

Specific examples of patentable and non-patentable software inventions

To illustrate the application of these principles, consider the following examples:

Patentable software inventions

  • A software-implemented method for controlling a robotic arm with improved precision and efficiency.
  • A new operating system feature that optimizes memory management and reduces processing time.
  • Software that enhances the security of a computer network by detecting and preventing cyberattacks in a novel way.
  • An AI-powered medical diagnosis system that analyzes medical images with greater accuracy than human doctors.

Non-patentable software inventions

  • A software program that simply automates a traditional business practice, such as processing insurance claims.
  • An algorithm for sorting data in a generic way.
  • A software application that presents information in a new format without providing any technical advantages.
  • A computer program that implements a well-known mathematical formula for calculating financial risk.

These examples highlight the importance of demonstrating a technical contribution or improvement in the software invention to establish its patentability.

The “technical character” requirement

The concept of “technical character” is central to the assessment of software patentability, particularly in Europe. This requirement, which is not explicitly stated in the European Patent Convention (EPC) but has been developed through case law, stipulates that a software invention must have a technical character to be patentable.

In essence, this means that the invention must provide a technical effect or solve a technical problem. A computer program “as such” is excluded from patentability under Article 52(2)(c) EPC. However, if the program, when running on a computer, produces a further technical effect that goes beyond the normal interaction between hardware and software, it may be patentable.

Legal frameworks and guidelines

The patentability of software is governed by a complex interplay of statutes, case law, and examination guidelines, which vary across different jurisdictions.

  • Europe: The European Patent Convention (EPC) provides the legal framework for patenting in Europe. Article 52 EPC excludes computer programs “as such” from patentability. However, the European Patent Office (EPO) has developed a body of case law and guidelines that allow for the patenting of software inventions that provide a technical effect.
  • United States: In the US, software is patentable under 35 U.S.C. § 101, which defines patent-eligible subject matter. However, court decisions, particularly the Supreme Court’s ruling in Alice Corp. v. CLS Bank International, have established limitations on the patentability of software that claims abstract ideas. The United States Patent and Trademark Office (USPTO) has issued guidelines to help examiners determine subject matter eligibility in software cases.
  • China: The China National Intellectual Property Administration (CNIPA) has its own guidelines for examining software patent applications. These guidelines emphasize the importance of the “technical problem, technical means, and technical effect” in determining patentability.

Expert