I recently came across MasterMine Software, Inc. v. Microsoft Corp., (summarized here and here) and thought to myself “Did we really need another Fed. Cir. Opinion telling examiners to stop with the nonsense ‘indefinite for claiming both an apparatus and a method’ rejections?” Normally, such an inner monologue would conclude by chalking it up to an inept USPTO. But this time, I decided to dig a little deeper. I did a quick search on BigPatentData.com for rejections citing IPXL to see if I was being unfair to the Examining Corps.
Did we really need another Fed. Cir. Opinion telling examiners to stop with the nonsense ‘indefinite for claiming both an apparatus and a method’ rejections!?
Searching among just a small sample of ~20000 office actions from 2015 and 2016 in our beta dataset, I still found at least 20 instances of such a rejection. Upon reviewing the rejections, I found that, contrary to my prediction, they were not all nonsense. In fact, although there were a few time-wasting turds in the punch bowl, most of the rejections were at least arguably — and some certainly — valid.
As for the fecal rejections, I think a lot of the blame falls on MPEP 2173.05(P)(II), which serves as the guidance for these rejections. One problem with this section is that it only cites cases where the claims were found to be indefinite. There are no counterbalancing citations to cases finding the claims not indefinite. Adding citations to cases such as HTC Corp. v. IPCom, 667 F. 3d 1270, Ultimate Pointer v. Nintendo, 73 F.Supp.3d 1305, and now MasterMine should help Examiners better understand the nuances in this area of law. (Note: I have left out Microprocessor Enhancement Corporation v. Texas Instruments, 520 F.3d 1367 because the court’s finding that the claim at issue there was “clearly limited to a pipelined processor possessing the recited structure and was capable of performing the recited functions, and was thus not indefinite” is, IMHO, a stretch to say the least).
As the for the arguably and definitely indefinite rejections among the dataset, it seems patent practitioners would be well advised to review the cases in this area of law and chose words carefully when drafting claims. To aid the endeavor, I have included at the bottom of this post: (1) example office actions and responses found on bigpatentdata.com; and (2) the language of the claims analyzed by the Fed. Cir under IPXL. Some general principals that seem to be working include:
- avoid gerunds (‘ing’ verbs) in apparatus claims;
- in apparatus claims, phrase functional limitations in terms of the apparatus being “configured/adapted/etc. to” perform the function.
- For method claims, lay out the structure in a preamble and/or in introductory clauses to make it clear that infringement occurs when a device having the requisite structure performs the claimed method steps.
To find real world examples of IPXL rejections and responses, just head over to BigPatentData PAIR/PTAB search, use the search term “indefinite”, and then filter by citations to IPXL (430 F.3d 1377) and/or Katz (639 F.3d 1303).
Appendix – Claims Assessed under IPXL by the Fed. Cir.
IPXL, 430 F.3d 1377 (2005) — indefinite
25. The system of claim 2 [including an input means] wherein the predicted transaction information comprises both a transaction type and transaction parameters associated with that transaction type, and the user uses the input means to either change the predicted transaction information or accept the displayed transaction type and transaction parameters.
Katz, 639 F.3d 1331 (2011) — indefinite
12. An analysis system for use with a communication facility including remote terminal apparatus for individual callers, wherein said remote terminal apparatus may comprise a conventional telephone instrument including voice communication means, and digital input means in the form of an array of alphabetic numeric buttons for providing caller data including answer data, said analysis system comprising:
interface means selectively coupled to said communication facility to interface said remote terminal apparatus for voice and digital communication and including means to provide signals values from data developed by said remote terminal apparatus;
voice generator means selectively coupled through said interface means to said remote terminal apparatus for providing vocal operating instructions to said individual callers;
designation means selectively coupled to said interface means for assigning individual designations to said individual callers; and
processing means for processing at least certain of said answer data, and storage means for registering said answer data, said processing means for isolating a subset of said individual callers based on repeated comparisons of said answer data that is registered against said answer data being provided by said individual callers including data associated with said individual callers.
17. An analysis control system according to claim 16, wherein said operator enters at least certain of said answer data for said certain of said individual callers.
Rembrant, 641 F.3d 1331 (2011) — indefinite
3. A data transmitting device for transmitting signals corresponding to an incoming stream of bits, comprising:
first buffer means for partitioning said stream in-to frames of unequal number of bits and for separating the bits of each frame into a first group and a second group of bits;
fractional encoding means for receiving the first group of bits of each frame and performing fractional encoding to generate a group of fractionally encoded bits;
second buffer means for combining said second group of bits with said group of fractionally encoded bits to form frames of equal number of bits;
trellis encoding means for trellis encoding the frames from said second buffer means; and
transmitting the trellis encoded frames.
HTC, 667 F.3d 1270 (2012) — NOT indefinite
1. A mobile station for use with a network including a first base station and a second base station that achieves a handover from the first base station to the second base station by:
storing link data for a link in a first base station,
holding in reserve for the link resources of the first base station, and
when the link is to be handed over to the second base station:
initially maintaining a storage of the link data in the first base station,
initially causing the resources of the first base station to remain held in reserve, and
at a later timepoint determined by a fixed period of time predefined at a beginning of the handover, deleting the link data from the first base station and freeing up the resources of the first base station, the mobile station comprising:
an arrangement for reactivating the link with the first base station if the handover is unsuccessful.
MicroProcessor Enhancement Corp, 520 F.3d 1367 — NOT indefinite
7. A pipelined processor for executing instructions comprising:
a conditional execution decision logic pipeline stage . . . ;
. . . .
the conditional execution decision logic pipeline stage performing a boolean algebraic evaluation of the condition code and said conditional execution specifier and producing an enable-write with at least two states, true and false;
said enable-write when true enabling and when false disabling the writing of instruction results at said write pipeline stage;
. . . .
the conditional execution decision logic pipeline stage, when specified by the conditional execution specifier, determining the enable-write using the boolean algebraic evaluation;
. . . .
MasterMine, Case No. 16-2465 (Fed. Cir., Oct. 30, 2017) — NOT indefinite
1. A method comprising:
executing a customer relationship management (CRM) software application on a computer, wherein the CRM software application includes customized settings and local field names, and further wherein the CRM software application includes a CRM database that stores CRM data;
receiving a report generation request within the CRM software application;
in response to the request, examining, with a reporting module installed within the CRM software application, a schema and data structures of the CRM database and customized settings including local field names within the CRM application, wherein the reporting module installed within the CRM software application includes one or more report toolkits;
displaying a list of report templates with the reporting module installed within the CRM software application that are pre-defined by the one or more report toolkits of the reporting module installed within the CRM software application; receiving a selection of one of the report templates with the reporting module installed within the CRM software application;
presenting a set of user-selectable database fields with the reporting module installed within the CRM software application as a function of the selected report template;
receiving, from the user with the reporting module installed within the CRM software application, a selection of one or more of the user-selectable database fields;
generating, with the reporting module installed within the CRM software application, a database query as a function of the user-selectable database fields that were selected by the user;
invoking a spreadsheet application from the reporting module installed within the CRM software application using an application programming interface (API) of the spreadsheet application to automatically generate an electronic worksheet viewable by the spreadsheet software application, wherein the automatically generating the electronic worksheet comprises directing the spreadsheet application with the reporting module installed within the CRM software application to create a new workbook having the electronic worksheet;
further invoking the spreadsheet application from the reporting module installed within the CRM software application using the API to automatically generate a pivot table within the electronic worksheet according to the database query, wherein the pivot table contains the CRM data from the CRM database, and wherein invoking the spreadsheet application includes communicating report parameters from the reporting module installed within the CRM software application to the spreadsheet software application based on the schema and data structures of the CRM database and the customized settings including the local field names within the CRM software application;
presenting the pivot table to a user with the spreadsheet application in accordance with the report parameters received from the reporting module installed within the CRM software application;
receiving within the spreadsheet application a selection from the user of the selected CRM data contained within the pivot table; and
in response to the selection, automatically creating a second worksheet that displays the CRM data as a number of rows in columnar format according to fields within the CRM database, wherein each row represents a single CRM record stored within the CRM database.