This is part 3 in a series of articles on how to determine whether your software is patentable. If you are an inventor, an executive at a tech company, or a patent lawyer outside the U.S., this will help you to at least make a first pass determination of whether your software is worth considering for patent protection. In each article in this series, we cover one criterion that you can use to evaluable whether your software is likely to be patentable.
In today’s installment, I will explain the next criterion: whether your software solves a problem that is necessarily rooted in computer technology or which solves that problem using a solution that is necessarily rooted in computer technology. Why do I use this criterion? It comes from a court decision of the U.S. Court of Appeals for the Federal Circuit (CAFC) in 2014 called DDR Holdings vs Hotels.com (hereinafter “DDR Holdings”). This was a case in which there was some software that was patented and then the defendant in the lawsuit claimed that the patent was invalid because it covered what is called an “abstract idea” under U.S. patent law. The court rejected that argument and held that the patent was valid because the invention involved serving web pages over the Internet, and that the invention was necessarily rooted in computer technology in order to overcome a problem specifically arising in the realm of computer networks. When I file a software patent application, if it is rejected by the Patent Office for being directed to an abstract idea, I often find DDR Holdings to be very helpful in responding to and overcoming such rejections. You can only rely on DDR Holdings if the invention that you are trying to patent solves a problem that is necessarily rooted in computer technology or if it solves a problem in a way that is necessarily rooted in computer technology. This is the case, however, more often than you might think.
Here is an example of something that would probably not necessarily be rooted in computer technology, even if it uses computer technology. In the last installment, I talked about software that would help employers find employees to fill job postings. If you have software that solves that problem, you are going to have a hard time arguing that the problem solved by the software is necessarily rooted in computer technology. This is because the problem of finding people to fill jobs has been around for a long time, long before computers. That problem is not necessarily rooted in computer technology because it can be solved and long before computers, it was solved without using any computer technology. You can post a piece of paper on a physical bulletin board or you can talk to people to find someone to fill a job, so, that problem is not necessarily rooted in computer technology, even if you happen to come up with a software-based solution to that problem.
One way to determine whether some new piece of software solves a problem that is necessarily rooted in computer technology is to determine whether it solves what we sometimes call a technical problem. An example of what would be considered a solution to a technical problem is software that solves the problem of how to transmit data over the internet using a particular networking protocol. That is a problem that is necessarily rooted in computer network technology even though the broader problem of transmitting messages is something that you could say is not necessarily rooted in computers because people send paper letters by postal mail. As you might guess from this, there is room for judgment and creativity in how you define the problem, and that is another reason that I strongly recommend that you work with a patent attorney who specializes in software patents when trying to evaluate these criteria. You might look at a piece of software that sends messages over a network and say that the problem is “how to send messages over a network more efficiently” and conclude that this problem is not necessarily rooted in computer technology. If, however, you define the problem more narrowly as the problem “how to send messages over the internet using networking protocol X,” then you might conclude that the same software is solving a problem that is necessarily rooted in computer and networking technology just by defining the problem differently.
One other way to demonstrate that your software is not an abstract idea, and therefore is eligible for patent protection, is to show that the way in which the software solves the problem is necessarily rooted in computer technology, even if the problem in general is not necessarily rooted in computer technology. Proving this requires both a solid technical understanding of the invention and a nuanced understanding of the law.
I hope you’ve found this criterion for determining whether your software is patentable to be useful. Join us next time for the fourth, and final, installment on how to determine whether your software is patentable.