Posts Tagged: "software engineering"

A Guide to Patenting Software: Getting Started

Any good patent application that covers a software related invention will need to put forth three specific pieces of information. First, you need to describe the overall computer architecture of the system within which the software will exist. Second, you need to prepare a single flowchart that depicts the overall working of the software. Third, you need to prepare a series of flow charts that show with painstaking detail the various routines and subroutines that together connect to create and deliver the complete functionality of the computer system as enabled by the software.

The Software IP Detective: Infringement Detection in a Nutshell

When copying has occurred, much of the code may have changed by the time it’s examined due to the normal development process or to disguise the copying. For example identifiers may have been renamed, code reordered, instructions replaced with similar instructions, and so forth. However, perhaps one comment remains the same and it’s an unusual comment. Or a small sequence of critical instructions is identical. Correlation is designed to produce a relatively high value based on that comment or that sequence, to direct the detective toward that similarity. If correlation were simply a percentage of copied lines, the number could be small and thus missed entirely among the noise of normal similarities that occur in all programs.

Software Patents and Murphy’s Law: Uncertainty is Where Patentability Resides

When embarking on a software development project it is critical to understand that in order to maximize the chance of obtaining a patent you need to approach the task with an engineering mind set, as well as a healthy familiarity with Murphy’s Law. Anything that can go wrong will go wrong, and once you release the process to end users a human element will complicate what should otherwise be a predictable, linear, machine driven response. Embrace the uncertainty and challenges because the fact that software rarely, if ever, works like it should is what makes a working process patentable.

How to Patent Software in a Post Bilski Era

While it is true that the Federal Circuit has largely made “software” unpatentable, they did not prevent the patenting of a computer that accomplishes a certain defined task. Given that a computer is for all intents and purposes completely useless without software, you can still protect software in an indirect manner by protecting the computer itself, and by protecting a computer implemented process.

Is Software Patentable?

My position is that software must be patentable, or 500 years of patent laws make no sense. The reason that software must be patentable is that software can be an inseparable part of both manufacturing processes and electronic devices. A patent for such items must crucially include the software components of the invention, or the patent would be incomplete.