Patent4U Limited
P.O. Box 2162
87 Jabotinski St.
Petah Tikva 49120
Israel
ph: +972-3-9226767
fax: +972-3-9192287
info
Software Patents I
***
Function: Presents a clear, concise and precise description of Software
Use: Describe the invention in Software using text; readable by computer;
allows to compare inventions in Software packages or modules
Benefits: Clear, concise and precise description of an invention in Software;
compare Software very fast, in a computer; examination; patent searches.
Patentics: Software inventions
Software-related inventions require a specially adapted version of our Complex
Patenting technology. The new method is based on our experience and knowledge
as computer programmers, in the various aspects of software development.
1. Patenting of software inventions
a. Much has been written about the patentability of software.
The present invention is about applying the standard patentability tests.
In U.S.A. for example, it is compliance with 35 U.S.C. 101, 102, 103 and 112;
and taking into account the special properties of software.
b. Software is a most powerful medium for expressing an inventor's ingenuity
and innovation - there are almost no limitations, very complex methods and
structures can be imagined and precisely implemented. The programmer can
control the precise behavior of an airplane or car engine with a split
microsecond measurement and correction, etc.;
on the other hand, sofware is just as powerful in the hands of a non-inventor
to obfuscate matters, to create the appearance of an invention when actually
there is none... a huge complex program is easily generated, taking hundreds or
thousands of printed pages... and without a single patentable invention there.
c. Due to the complexity of software, more documentation is required to
properly describe it and allow its examination.
This will not impose additional work on the applicant, for the information is
already there - it is generated when the software is being developed.
Just as this info is required by programmers to create the software, so it is
also required by the Examiner so he can examine it.
Since the applicant has this relevant info, it is his duty to disclose it.
d. Software is difficult to understand, even to professional programmers.
A software product may be the work of a group of programmers over a prolonged
time period. Thus, even with all the relevant info available, it may be
difficult to examine software. The examination is facilitated using the
novel Patentics(SM) method.
Thus, a method for achieving a quality software patent includes:
1) Prompting or guiding the applicant to include all the relevant info in the
application, to allow its efficient examination.
2) Organize the info in a machine-readable form, to be processed by computer;
process the info in the computer; all according to the legal patentability
criteria.
2. The methodology of software development
Let us describe the software development method and the generation of info
which is also relevant to the patentability examination. There are several
stages or layers in software development; one or more of them includes
patentable subject matter (otherwise there is no reason for applying for
patent). The method may include:
a. Devising the concept of a new software - what the software should do, how
should it be implemented and what would be the benefits over existing software.
Usually software development is an expensive endeavor, peformed by a group of
(highly paid) professionals in a commercial firm or other organization.
No such activity will begin before a clear concept is devised and the
desirability of the project is evaluated - technical feasibility, what benefits
it will bring and how these benefits will be achieved.
The info to be shared with the examiner may include:
1) how the invention is made and used; what is the invention at the concept
level, if any. (Art. 112)
2) what patentable (not excluded) matter does it include (Art. 101)
3) what are the differences between this concept and prior art? (Art. 102)
4) what are the benefits of this concept over prior art? (Art. 103)
It may be easier to prove non-obviousness using the "secondary considerations".
b. Prepare a complete specification of the software: a definition of the blocks
comprising the software, the interconnections between the blocks, the interface
with the user and with other machines, menus displayed, options available to
each type of user, etc.
Again, info required to understand the software at this stage should be shared
with USPTO. Especially important are changes made to stage (b) and/or (a)
responsive to problems encountered in (b), for solutions to problems not
expected in prior art may themselves be distinguishable from the prior art.
c. Product design
the function of each blok, how the blocks are
interconnected, hardware requirements such as memory required, processing speed
or response time in real-time systems, computation precision/number of bits
used.
The info presented to USPTO may include that as detailed above.
d. Detailed design
e. Coding - writing the actual computer program, which can be translated into
machine language and executed in a computer.
f. Integration and verification - the various modules comprising the software
are operated and tested together.
The process may move sequentially from the first stage to the last, however
it may also move in the other direction or skip steps as necessary.
For example, during a specific stage it may be found that the parameters set by
a previous stage are not practical; that previous stage may be reviewed and
its output possibly updated.
1. Possibly it will implement a new function which was never done before; or it
may execute a known function but achieving superior performance; or maybe it is
a "me too" software, when the competition has that software and would not sell
it to us. In the latter case, the software is not entitled to a patent for it
does nothing.
2. patent-related aspects of software
patentability - the Supreme Court refrained from making a specific decision,
whether software is patentable or not, and rightly so:
There is nothing specific to software which makes it patentable or not, rather
the application of patentability criteria is more difficult for software.
The President's Report on patents 1966 said just so:
The software under examination can be checked using the criteria set in
para. 101, 102 and 103 of the US Patent Law, just like any other invention.
Where required documentation is missing - it can be requested of the
applicant, who is under the obligation to fully disclose his invention.
Indeed, the application of the patentability criteria may be difficult, for
software tends to be large and complex. The problems, however, can be addressed
using a scietific approach to patenting (Patentics(SM)) as disclosed in
the present application and demanding the applicant to file a Quality Patent
Application per the guidelines set forth in this application.
Due to the complexities of software, it is easier to obfuscate matters, but one
should keep in mind that:
a. the same patentability tests can be applied to software, and
b. it is applicant's duty to provide the information required for the
application of the patentability tests.
The information required is just the existing info generated during software
development, see (1) above:
in each stage (1-8 above), there is a definition of a structure (apparatus) and
method of operation (method). these may be novel, or maybe not.
There is also a well-defined benefit or advantage over competition - this may
be an argument for non-obviousness ("secondary considerations").
if patentable matter is found in a stage of the software development, this is a
basis for patent; patentable matter may be found later, when problems are
encountered and new solutions are developed. Working, practical novel solutions
to unexpected problems may be legitimate patentable inventions.
The Figure illustrates typical stages in developing computer software, using
accepted practices in the software industry, and a method for presenting
software inventions created in the process.
Copious documentation is produced during this process, which may be
advantageously used to examine the patent application.
Typical stages in software development may include:
concept definition
writing the spec for the sofware
software product design
detailed design of the software
coding - here the computer program is written, in a mnemonic language,
then translated into machine code executable by a computer
integration, where various modules developed there, possibly by different
programmers or programming teams, are activated and tested together in a
complete, integrated computer program or software.
There is the usual flow of development down the blocks, as illustrated with
the arrow from one block to the next. The results of one stage are used to
implement the next stage.
There is also the reverse flow, for example when there are problems with
implementing a stage, or a better way is found - this requires a review of the
previous (higher in the hierarchy) stage.
It would be mistaken to believe that any software is patentable, just because
it is large and difficult to grasp - maybe this is just an ordinary work
performed by people skilled in the art.
On the other hand, each stage in the software development opens opportunities
to innovation, for example:
When the software concept is devised, a firm's managers review the present
software of own firm and others' and devise a novel approach, a novel
structure or use which will give us an advantage; this may be a patentable
invention.
A Report may indicate the problem or goal contemplated, and the novel
solution devised in response.
A Provisional patent application may be filed for the invention, or an
utility non-provisional application. Preferably, a copyright may be registered
as well.
As a result of the concept definition, an innovative concept may be finally
drafted and passed down to the next stage. This novel concept may be
patentable as well.
During the Spec writing stage, it may be found that no effective spec may
be written for the present concept because of various problems or if an
inferior product may result. Updates to the spec may be suggested,
possibly innovative solutions to the extant concept. These updates may also
form the basis for an innovation in the software.
Please note that, at this stage, there is no computer code at all - the
invention may relate to a method of operation, menu to user, high level
communication protocol, data structure, definitions of hardware, etc.
Thus, a complete description of a software invention may include details as
pertaining to the above process - in what stage of the software development
was the invention devised? What was the problem, what is known in prior art,
what is new in the new approach and what are its benefits?
All the criteria for patentability can be applied to software, once there is
an adequate, complete disclosure allowing an intelligent decision.
The Figure also illustrates a patenting strategy: as soon as an invention is
identified, a provisional patent application can be filed. The applications
accumulated during one year may be integrated in one non-provisional utility
application; if these are different inventions, then separate non-provisional
applications can be filed, as known in the art. A copyright may be registered
after each provisional filing, for the material filed in the provisional.
This is part of our Multi-IP technology.
Patentability criteria:
Software patents - Data structures not claimed as embodied in computer-readable
media are considered descriptive material per se and are not statutory.
See, e.g., Warmerdam, 33 F.3d at 1361, 31 USPQ2d at 1760 (claim to a data
structure per se held nonstatutory).
Software makes extensive use of data structures - all software comprises
algorithms and data structures. The patent application, therefore, should
describe the structural and functional interrelationships between the data
structure and other claimed aspects of the invention which allow the data
structure's functionality to be realized.
Patent4U Limited
P.O. Box 2162
87 Jabotinski St.
Petah Tikva
49120
Israel
ph: +972-3-9226767
fax: +972-3-9192287
info