Patent Polishing

 

I have have developed a number of simple tools that may be useful to people working on patents. The tools work with the specification and claims (separately) for a number of common errors and issues. These tools all require a human to evaluate the results and implement fixes.

The above version of the tool is implemented in client-side Javascript. Download the Javascript source here. The Javascript version is licensed under a BSD-style license. If you prefer to use the Javascript version on a white background a sample with no background or headers is available.

The Javascript version has not undergone the level of testing that the older Perl CGI versions have undergone. The older versions remain available for use.

The program is made available in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Reference Numeral Check

  • Usage
    • Copy and paste the specification of a patent into the box and click “Reference Numeral Check”
  • Results
    • Prints a list showing how each # is used, e.g
    • This helps you catch inconsistent use of reference numerals, as in the example where you have fox 110 and box 110.
    • I use this with a print out of the figures at hand and check off numbers as I find them to ensure the figures and specification match.
If you use Visio for your figures and feel comfortable launching the Visual Basic developer mode, the below code will print a list from of all of your strings in the Visual Basic Debugger:
Sub ChgText()
 Dim vsoPage As Visio.Page, vsoShape As Visio.Shape
 Dim vsoStrng As String

 vCR = Chr$(13)
 vLF = Chr$(10)

 For Each vsoPage In ThisDocument.Pages
   For Each vsoShape In vsoPage.Shapes

   vsoString = Replace(vsoShape.Text, vCR, " ")
   vsoString = Replace(vsoString, vLF, " ")

   Debug.Print vsoString
   Next
 Next
End Sub

Pro Tip: You can copy and paste the results into the “Sort Uniq” tool here to filter out any duplication and reduce junk strings.

Claim Structure

  • Usage
    • Copy and paste the claims of a patent into the box and click “Claim Structure”
    • Expectation is that independent claims start with “A” or “An” and dependent claims start with “The [method|system|apparatus|etc.] of claim ###”
  • Results
    • Prints the claim trees showing dependencies between claims (see picture)
    • Catches common errors:
      • Trying to refer to a later claim, e.g. “2. The method of claim 10”
      • Out of order back references, e.g. “4. The method of claim 2 [where 3 is not dependent on 2]”
      • References to non existent claims, e.g. “7. The method of claim 6 [no claim 6 in input.]

Sort Unique

  • Usage<
    • Copy and paste text into the box and click “Sort Uniq”
  • Results
    • Generates a collated list of number of occurrences of a given value as a table
    • Equivalent to the Unix command “sort < infile | uniq -c > outfile”.