I often have cases transferred to me that are going nowhere in examination. Most are for clever, valuable innovations. However the applications almost always share a problem. They are claimed as though written to describe the invention to a coder who will implement the invention instead of focusing or the novelty of the innovation. As a result, the applications languish in examination, running up big bills without moving toward allowance.
A patent application must include a description of how to practice the invention. However, too often implementation descriptions come to obscure the core concepts of the innovation. Even worse, a description of an invention targeted to a coder may make the invention appear obvious when in reality it is a novel solution to a difficult problem.
There is a big difference between a description for a coder and a description that shows the novelty of the invention. A description that shows the novelty of the invention focuses on the interaction of elemental operations and data structures. These elements solve a problem in a new way. For example, a description of the elemental operations and data structures may show unique organizations of data and novel operations that efficiently generate a desired result.
However when the solution of the invention is then communicated to a coder, it is often described in terms of higher level, generic operations and data structures. This higher-level description is just what the coder needs to implement the invention. However, if the higher-level description is used as the basis of patent claims, those claims will appear obvious because they describe combinations of commonly used and referenced constructs.
Inventive elements must be distinguished at a level other than the general implementation level. For example, the inventive element may include an organization of data that is communicated to other devices as a notification with specific functional characteristics. If the organization of the data and the functional characteristics of the notification are unique and novel, the invention should be patentable.
This same invention may be described as being implemented by communicating data with a JMX notification object. Such a description is useful to a coder as it clarifies one way the invention can be implemented. However it is less effective as a software patent claim. The inventive organization of the data and functional characteristics are hidden by the higher-level implementation-oriented description.
Novel software inventions can be protected if they are reduced down to their core operations and data structures and then claimed in terms of those more basic elements. Care should be taken to avoid language that is generic and implementation-oriented in the claims. Instead implementation-oriented language is best employed to describe the embodiments of the invention in the written description.