Say your company has valuable software that it wants to protect from competitors and license to clients. How can you accomplish your goal? There are several possibilities, including copyright and trade secret protection. Both forms of protection have their benefits, but neither prevents a competitor from creating their own software that has the same functionality as your company's software. Patent protection can help fill this gap. A patent prevents anyone that is not licensed from using or selling an invention, effectively granting the patent owner a monopoly on the invention claimed in the patent. A strong patent can therefore prevent competitors from using the valuable and innovative features of your software.

Legal Requirements for Patenting Software

Patenting software can be tricky. For software to be patentable, it must implement some new or novel functionality that improves on existing software. For example, software that provides an ordinary user interface for a publicly-available API probably is not patentable because it is not an improvement over existing software. However, if there were something new about the user interface that improved on existing software, that new feature might qualify for patent protection. Similarly, an ordinary database is not by itself patentable because there is nothing new or novel about a database. However, if software provides a relational database with a new way to manipulate the data in a manner that is useful to users, that new idea may be patentable.

In determining whether software patents meet this threshold, U.S. courts and the Patent Office apply a test laid out in the Supreme Court's Alice Corp. v. CLS Bank International (573 U.S. 208 (2014)) decision. Under Alice, patent protection may be available if (1) the invention is not directed toward an abstract idea (such as an algorithm, method of computation, law of nature or general scientific principal) or (2) if the invention is directed toward an abstract idea, but adds "something extra" to the abstract idea that embodies an "inventive concept." Fig. 1 below describes this test:

Fig. 1: Alice Flowchart

Practical Advice for Patenting Software

In practice, the Alice test has been criticized for being ambiguous and resulting in allegedly inconsistent results in some cases. Because of this inconsistency, there are few bright line rules about when software is patentable.

However, there are a few general guidelines that can help in obtaining enforceable software patents. First, ideas that are directed to improving the functionality of the software itself are the most likely to be patented. So, for example, software that improves the way existing computers store and retrieves data in memory may qualify for patent protection because the invention is not an abstract idea but is instead a concrete improvement on the functionality of computer memory itself.

Second, avoid claims that implement well-known functionality using a computer. Using software to automate tasks that were previously performed manually will typically be unpatentable as lacking an inventive concept. For example, using software to copy and archive images is simply automating a well-known process of archiving and would likely be unpatentable. Similarly, patent claims that implement well-known natural laws (e.g., laws of physics) without explaining how the application of those laws improves the software's functionality in a way that was not previously understood are likely unpatentable.

Third, you should proactively frame your patent in a manner that satisfies the Alice test. The patent should specifically discuss the problems with existing technology and how your software improves on these existing problems. Then, the claims of the patent should claim the specific process or manner of improvement. Claims that are directed generically towards fixing the existing problems are more likely to be held unpatentable. Similarly, claims that claim the results of the improvement (e.g., software that improves search functionality) rather than claiming how the software improves functionality are likely to be held unpatentable.

There are many other strategies that have had some success. For example, tying the software to physical devices (e.g., software that runs the display on a smartphone) may help if the claim is directed to a previously-unknown improvement to the device's functionality. Similarly, software claims that solve existing problems in an unconventional or new ways may be patentable. In each case, the patent claims should be carefully considered based on the current law and the scope of invention sought.


There can be significant uncertainty under current U.S. law as to whether many software inventions are patentable. With proper attention and preparation, however, it is still possible to obtain strong software patents. If you are considering a software patent, you must analyze the current law and carefully consider what might be patentable and how to frame your invention in the claims.

Originally published by The Voice of Technology, February edition.

The content of this article is intended to provide a general guide to the subject matter. Specialist advice should be sought about your specific circumstances.