Recently U.S. Patent No. 8,515,829 (the ‘829 patent) came to my attention. It is a patent issued to Google, titled Tax-free gifting. See Google Patents Tax-Free Gifting. The invention is interesting in its own right, but as I reviewed the patent, Figure 14 really caught my attention.
Figure 14, together with the associated textual discussion, is interesting because it shows rather conclusively that “software” can be described in mechanical terms. That is something that those familiar with software have always known, but it’s a nuance missed by many of the critics and judges who believe software is wholly disassociated from anything in the tangible, mechanical world.
Figure 14 from the ‘829 patent is shown below.
First, the reality is that software is nothing more than a process. Software directs a machine, such as a computer, to accomplish a defined task based on certain identifiable inputs. Furthermore, on a tangible, mechanical level, software merely directs the operation of logic gates and switches (more on that later).
As Figure 14 of the ‘829 patent demonstrates, in order for the computer implemented process to be carried out, there are a great number of tangible components that are needed. Confirm this even with this small sample of the textual description of Figure 14 found in the Detailed Description:
Computing device 1400 includes a processor 1402, memory 1404, a storage device 1406, a high-speed interface 1408 connecting to memory 1404 and high-speed expansion ports 1410, and a low speed interface 1412 connecting to low speed bus 1414 and storage device 1406. Each of the components 1402, 1404, 1406, 1408, 1410, and 1412 are interconnected using various busses…
and
The high speed controller 1408 manages bandwidth-intensive operations for the computing device 1400, while the low speed controller 1412 manages lower bandwidth-intensive operations. Such allocation of functions is exemplary only. In one implementation, the high-speed controller 1408 is coupled to memory 1404, display 1416 (e.g., through a graphics processor or accelerator), and to high-speed expansion ports 1410, which may accept various expansion cards (not shown). In the implementation, low-speed controller 1412 is coupled to storage device 1406 and low-speed expansion port 1414.
and
The memory 1464 stores information within the computing device 1450. The memory 1464 can be implemented as one or more of a computer-readable medium or media, a volatile memory unit or units, or a non-volatile memory unit or units. Expansion memory 1474 may also be provided and connected to device 1450 through expansion interface 1472, which may include, for example, a SIMM (Single In Line Memory Module) card interface.
Indeed, there are an awful lot of tangible components (i.e., “hard”—ware) required in order for the computer implemented process (“soft”—ware) to actually work. Those familiar with the technical reality of software also know that any computer implemented process that can be accomplished using software can also be accomplished using logic gates. Indeed, logic gates are foundation for all digital electronic circuits and microprocessor-based systems. Thus, software can be explained on its core level as a process for manipulating logic gates.
The ‘829 patent goes a long way to demonstrating the level of technological discussion that can and probably should be inserted into software patents, at least if the applicant can afford to go to these lengths. It may also be worthwhile to drill down even further to discuss what is going on with the building blocks of the circuits and microprocessors, which relates to the use and manipulation of logic gates and switches.
For more on the current software patent eligibility debate, please see Patent Turmoil: Navigating the Software Patent Quagmire.
Tags: computer software patents, Patent eligibility, patentable processes, patentable subject matter, Software, software patent, software patentability, software patents
You share in the PLI Practice Center community, so we just ask that you keep things civil. Leave out the personal attacks. Do not use profanity, ethnic or racial slurs, or take shots at anyone's sexual orientation or religion. If you can't be nice, we reserve the right to remove your material and ban users who violate our Terms of Service.