Monday, August 4, 2008

Software is found to be a machine, again

A recent IEEE article: The claimed invention .... is not a disembodied mathematical concept which may be characterized as an "abstract idea", but rather a specific machine to produce a useful, concrete and tangible result. To some, this is a bit awkward, in that most software, when loaded into a microprocessor, doesn't reconfigure the physical architecture of the microprocessor to make it more "specific". I have mentioned software-machine philosophy in a previous post, and, here it is, picked with a fine tooth comb. The flow of electrons through the microprocessor is made more specific and useful, but the microprocessor architecture itself is no more specific with software loaded. Reflecting decades of engineering, the cover paper in the August 2008 issue of IEEE Computer magazine makes this literally true, in a sense - when you load the software, part of the physical architecture is altered, creating a more specific machine. The paper is titled "Warp processing: dynamic translation of binaries to FPGA circuits" (by the way, anyone who argues 35 USC 101 and software without mentioning FPGAs is a brain-dead idiot). The abstract is: Warp processing dynamically and transparently transforms an executing microprocessor's binary kernels into customized field-programmable gate array circuits, commonly resulting in 2X to 100X speedup over executing on microprocessors. A new architecture and set of dynamic CAD tools demonstrate warp processing's potential. Warp processing is: "In warp processing, a compute platform transparently performs FPGA circuit compilation as a program's binary executes on a microprocessor - that is, dynamically." A computer program - an algorithm - an information processing method has its structure converted to a specific hardware digital circuit as the gate arrays connections are reset - there really is a specific hardware circuit - that is the computer program. If you attached quantum dot lasers to the switching gates of the FPGA as the computer program was loaded, you could physically see the specific machine being created. One sentence from the article: "In contrast, field programmable gate array software bits represent a circuit to be mapped onto an FPGA's configurable logic fabric." which no one in the engineering world will disagree with, a sentence completely compatible with common sense. However, many strive to fabricate explanations in this context of why software is/is-not non-functional descriptive bits (not patentable), a circuit (patentable), mathematical logic (not patentable), and/or a machine/fabric (patentable). They have to lie to make these equivalences into non-equivalences to find something unpatentable. For engineering, no such explanations are needed. But to the strange views of software patent critics (see below) and PTO management, such explanations can only be done by lying about science and engineering. Issued FPGA patents are as much literal examples just like this System level applications of adaptive computing technology: U.S. Patent 7,404,170, Real-time implementation of field programmable gate arrays in hyperspectral imaging U.S. Patent 7,366,326 - Is firmware - hardware, software, or software hardware? The engineering world doesn't care. Only people who don't understand the science and engineering care. One of the biggest obscenities of 35 USC 101 caselaw and written briefs is the near complete absence of citations to any of the science and engineering literature that can resolve this issue once and for all . This legal arrogance to ignore science and engineering in decisions involving science/engineering law is why still now incompetent PTO management is forcing use to argue these issues.

How VeriSign's unpatentable patent squeaked through unsearched

Look at the following totally unpatentable software method as of August 1998, and borrowing from ()biochemical concepts, call it a genus-type patent claim (though utterly not genius): 1. A method in a data processing system with distributed databases, each responsible for maintaining application-specific records for an associated application, comprising: receiving user input containing a query string, a plurality of applications and at least one search criterion corresponding to the plurality of applications; transmitting a request for a search of the query string to each of the distributed databases associated with the plurality of applications; receiving search results from each of the distributed databases associated with the plurality of applications indicating, for each of the specified applications, whether an application-specific record exists for the application in the specified distributed database; and displaying the search results. In short, a method of doing distributed database searches, a technique well established in the 1980s. Now consider the following species restriction: distributed databases = DNS servers application = domain [registration] application-specific records =registration records of domain names query string =domain name and substitute the restricted species terms into the above genus claim, resulting in: 1. A method in a data processing system with DNS servers, each responsible for maintaining registration records of domain names for an associated domain, comprising: receiving user input containing a domain name, a plurality of domains and at least one search criterion corresponding to the plurality of domains; transmitting a request for a search of the domain name to each of the DNS servers associated with the plurality of domains; receiving search results from each of the DNS servers associated with the plurality of domains indicating, for each of the specified domains, whether a domain name record exists for the domain name in the specified domain; and displaying the search results. This type of software technique, as "genus restriction" is completely obvious to one skilled in the art, especially in light of mountains of non-patent prior art for distributed database queries from the late 1980s and early 1990s, especially distributed database queries of Internet information. Nevertheless, here is the patent: Patent 6,560,634 6 May 2003 Method of determining unavailability of an internet domain name VeriSign, Inc., Filed: August 13, 1998 Abstract Methods, systems, and articles of manufacture consistent with the present invention provide an improved query server that overcomes the shortcomings of existing domain name searching techniques by performing a multitude of searches simultaneously, transparent to the user. Specifically, the improved query server searches for existing domain name records in various domains and then displays the results in a formatted manner, thus eliminating the need for a user to perform individual searches. I think nobody bothered to search for prior art. For example, how were the following papers missed, all published ten years on more before the patent was filed: The Clearinghouse: a decentralized agent for locating named objects in a distributed environment ACM Trans. Office Information Systems, July 1983, 230 Designing a global name service 1986 ACM Symposium on Principles of Distributed Computing, 1 A name service for evolving, heterogeneous systems ACM Symposium on Operating Systems Principles 1987, 52 A model of name resolution in distributed systems 6th Int. Conference on Distributed Computing Systems 1986, 523 This is all a contempt of science and engineering. Applicant and PTO searching is still a joke. And I have still not heard one word that convinces me that outsourcing PTO searching will improve anything. Especially in light of patents like this.