Patenting Computer Software


When is software patentable?  Can you obtain a computer software patent?  It is generally understood that it is difficult to obtain patent protection for computer software.  This is a subtopic of the question of when it is possible to patent a method of doing business.

There are some guidelines.  This includes guidance for determining or evaluating whether your software is patentable.  The USPTO has published approximately 42 examples with explanatory text in an effort to clarify the topic of business method patentability.  The USPTO guidelines are not binding on the courts (final arbiters of what is patentable) but are intended to enlighten and guide the USPTO examiners.  These guidelines may be found at and



In evaluating whether computer software is patentable, the question typically focuses upon whether the software merely computerizes a generally understood business practice.  If you can show that the software is improving computer functionality (versus merely using the computer as a tool) then it is patentable.  If your software improves computer speed, efficiency or enables the computer to do a new function then it is patentable.  If the software solves a technical problem of computer operation, then it is patentable.

To put the guidance in “Judge Speak”:

“‘In cases involving software innovations, this inquiry often turns on whether the claims focus on specific asserted improvements in computer capabilities or instead on process or system that qualifies an abstract idea for which computers are invoked merely as a tool.’  Software can make patent-eligible improvements to computer technology, and related claims are eligible so long as they are directed to non-abstract improvements to the functionality of a computer or network platform itself.’  We have found claims directed to such eligible matter in a number of cases where we have made two inquires of significance here: (i) whether the focus of the claimed advance is on a solution to ‘a problem specifically arising in the realm of computer networks’ or computers, and (ii) whether the claim is properly characterized as identifying a ‘specific’ improvement in the computer capabilities or network functionality, rather than only claiming a desirable result or function.” (Emphasis supplied)

See TecSec, Inc. v. Adobe Inc., 978 F.3d 1278 (Fed. Cir. 2020).

Note the reference to “claims”.  Recall that patent claims define the boundary line of the patent’s scope upon intellectual property.

To use a example (using on the examples of the USPTO guidelines to examiners), a patentable software method for organizing and transforming patient medical data comprised:

  1. storing information in a standardized format about a patient’s condition in a plurality of network-based non-transitory storage devices having a collection of medical records stored thereon;
  2. providing remote access to users over a network so any one of the users can update the information about the patient’s condition in the collection of medical records in real time through a graphical user interface, wherein the one of the users provides the updated information in a non-standardized format dependent on the hardware and software platform used by the one of the users;
  3. converting, by a content server, the non-standardized updated information into the standardized format;
  4. storing the standardized updated information about the patient’s condition in collection of medical records in the standardized format;
  5. automatically generating a message containing the updated information about the patient’s condition by the content server whenever updated information has been stored; and
  6. transmitting the message to all of the users over the computer network in real time, so that each user has immediate access to up-to-date patient information.

In contrast, the USPTO guidelines determined the following claim NOT to be patentable:

A method comprising:

  1. a) storing information about a patient’s condition in a plurality of network-based non-transitory storage devices having a collection of medical records stored thereon;
  2. b) providing access, by a content server, to users so that any one of the users can update the information about the patient’s condition in the collection of medical records, and;
  3. c) storing the updated information about the patient’s condition in the collection of medical records in the plurality of network-based non-transitory storage devices.

The difference between the claims may be subtle.

The explanatory text of the USPTO states the first example is patentable because “the claim recites a combination of additional elements including storing information, providing remote access over a network, converting updated information that was input by a user in a non-standardized form to a standardized format, automatically generating a message whenever updated information is stored, and transmitting the message to all of the users.  The claim as a whole integrates the method of organizing human activity (an abstract idea) into a practical application.  Specifically, the additional elements recite a specific improvement over prior art systems by allowing remote users to share information in real time in a standardized format regardless of the format in which the information was input by the user.  Thus, the claim is eligible because it is not directed to the recited judicial exception (abstract idea).”

The explanatory text of the USPTO states the second example is not patentable because “the claim as a whole merely describes how to generally “apply” the concept of storing and updating patient information in a computer environment.  The claimed computer components are recited at a high level of generality and are merely invoked as tools to perform an existing medical records update process.  Simply implementing the abstract idea on a generic computer is not a practical application of the abstract idea.”

As stated, the differences are subtle.  You need a qualified patent attorney to assist you.

Other real world examples of computer software methods or systems that have been determined to be patentable are:

In Enfish, LLC v. Microsoft Corp., 822 F. 3d 1253 (Fed. Cir. 2016), the claims for a computer database were patentable because they were directed to a self-referential table (new database structure) that improved a computer’s functionality by improving the way the computer stored and retrieved data in memory.

In Core Wireless Licensing S.A.R.L. v. LG Electronics, Inc. 880 F. 3d 1356, 1359–63 (Fed. Cir. 2018), a patent was issued to a software controlled computer device that pertained to a user interface that provided a main menu that enables rapid access to stored data (access to a computer database).  The device improved “the efficiency of using the electronic device” and accessing “stored data” from a main menu.

Data Engine Technologies LLC v. Google LLC (2018) that creation of an electronically tabbed series of spreadsheets that allowed computers to instantly access all parts of a complex “three-dimensional electronic spreadsheets” to be patent eligible and not to comprise an abstract idea.  Again, the spreadsheets comprised databases.

Fingan, Inc. v. Blue Coat Systems, Inc., 879 F.3d 1299 at 1303 (Fed. Cir. 2018) stated computer virus screening was well known and constituted an abstract idea.  However, a new software that performed “behavior-based” scanning was found to be an improvement of computer functionality since it allowed computers to perform a task that was previously unachievable in traditional virus scanning.  Therefore the software improved computer capability and was therefore patent eligible.

Packet Intelligence LLC v Netscout Sys., Inc., 965 F.3d 1299 (Fed. Cir. 2020) pertaining to a computer system of identifying packets of data within a data flow wherein the invention was used to parse the packets to extract information that can be used to associate packets with a single conversational flow.  The “parser subsystem” parses the packet and determines the protocol types and associated headers for each protocol layer, extracts characteristic portions (signature information) from the packet, and builds a unique flow signature (also called a “key”) based upon the packet.  Note prior art monitors could not identify disjointed connection flows as belonging to the same conversational flow.

Uniloc USA, Inc. v. LG Electronics USA, Inc., 957 F.3d 1303, at 1306-07 (Fed. Cir. 2020) determined that claims directed to a method step of adding a data field, wherein the data field resulted in reduced delay of conventional systems, improved the efficiency and functioning of computers.  This improvement was deemed to be patent eligible.

TecSec, Inc. v. Adobe Inc., 978 F.3d 1278 (Fed. Cir. 2020) found improvement in computer capabilities or network functionality to be patent eligible.  The software in question employed a adding a secure labelling technique in addition to encryption to ensure only people having the correct key but working at different terminals would be able to receive and have access to the encrypted communication.  The court concluded that the claim language and specification were directed to improving the basic function of computer data-distribution network, and therefore was patent eligible.



The topic is murky.  However, if you can show that the software improves computer capability or capacity, then your software should be patentable.  Note that “high level” descriptions of the software function may not be sufficient.  You should describe what the software achieves with particularly.  Also emphasize how it is improving computer function versus merely achieving a goal that the computer provides.  Show your software allows a computer to perform a new function or solve a technical limitation of existing/conventional computers.

Admittedly this is a nuanced description but unfortunately, that is all we have.  Hopefully the above provides some direction to your thought process in evaluating seeking patent protection (versus, for example, trade secret protection).

Copyright David McEwing, 2021