Dayo Seton & Stephen Hall
A patent is a property right over an invention, designed to prevent others from gaining free access to technology they did not develop. Owning a patent deters infringement but sometimes requires monitoring the marketplace to enforce its patent.
Protecting software-related patents presents its own set of challenges. All software-related inventions use some form of program code executed by a processor in an operating system. This feature makes it challenging to detect infringement.
Fortunately for patent owners, reverse engineering can be used to detect patent infringement. It can also be used to generate new revenue streams and licensing opportunities or to provide support for asserting the patents in litigation.
Machine techniques exist to detect infringement in competing software. These include functional testing, system analysis and disassembly. Each varies in terms of complexity and cost. And applying these techniques may reduce the cost of investigation to detect infringement in competing products.
Further, as with any infringement analysis, the potentially infringing software must be compared to the patent claims. If a claim in the patent identifies six required elements, evidence must be developed for all six.
Functional testing is generally the least expensive because it involves making observations while using competing software. It involves determining how the product operates.
Consider a simple application for balancing a ledger. Functional testing could be as simple as inserting sample numbers into the columns and understanding how the software manipulates the information onscreen, along with studying technical specifications or user manuals available on the software.
Systems analysis technique is used to determine that the other elements were present in the competing software. This technique involves observing the interaction between the software and other system components to figure out how a program works.
Suppose a potentially infringing product works by measuring temperature and comparing it to a threshold, such that a cooler would be activated when the threshold is crossed. System analysis might take a before-after snapshot of the system’s memory to show that the temperature was stored there. Storage of the data point, combined with objective proof that the cooler was activated at an above-threshold temperature, would provide indications of how the program operates and whether it infringes the patent.
The third technique, disassembly, disassembles the object code, using machines to convert it to the form of its original source code. Disassembly is highly technical, requires sophisticated machinery and is very expensive. This technique should be used when infringement is not clearly detected by other techniques or by directing it to limited elements of software.
Dayo Seton is a member of Wyatt, Tarrant & Combs' Litigation & Dispute Resolution Service Team and an adjunct member of the firm’s Intellectual Property and Litigation Services team. Stephen Hall, a registered patent attorney, is a partner with Wyatt, Tarrant & Combs and a member of the firm's Intellectual Property and Litigation Services teams.