So after writing about Motorola and Google a few posts ago I spent some time scanning through the various other patents and patent citations related to Java and Sun Microsystems.
My my...
The patent system surely is broken.
For example, James Graham of Sun patents "Methods and apparatus for facilitating the sharing of computer graphics" (US Patent 6,760,019). The first claim says:
"generating a lookup table having a plurality of software algorithm implementation descriptions,
wherein each description comprises at least one attribute; and generating a chain of a plurality of objects,
wherein the objects correspond to at least one of the attributes of the software algorithm implementation description,
wherein at least one of the objects has a supertype that corresponds to another object in the chain, and
wherein at least one of the objects has a subtype that corresponds to another object in the chain,
wherein the subtype is connected to the supertype by the chain,
wherein the supertype is a more general description of a composition algorithm,
wherein the subtype is a more specific description of a composition algorithm, and
wherein the chain is defined by the plurality of objects accessible by the supertype,
wherein the lookup table and the chain of the plurality of objects are generated dynamically,
wherein the lookup table is searched for a rendering operation implementation that best matches a specified criteria."
This is not even an algorithm or process - its just a description of something (though its not clear what - probably some sort of in memory class structure of Java objects I guess). Like patenting the description of a red car with a pink floozinator, a green radio and purple hub caps.
Then there is this gem: US Patent 7,197,750 "Java Bytecode instruction for determining hashcode values" which has the first claim of:
"A computer readable medium for storing a Java Bytecode instruction for determining a hashcode value for a Java object,
wherein said hashcode value uniquely identifies said Java object among all other Java objects in said Java computing environment, and said Java Bytecode instruction is suitable for execution by a Java virtual machine in a Java computing environment,
wherein said Java Bytecode instruction when interpreted at runtime by said virtual machine operates to determine and store, a hashcode value for said Java object on an execution stack used by said virtual machine to interpret said Java Bytecode instruction,
by accessing a field of said Java object which stores said hashcode value for said Java object,
thereby allowing said virtual machine to determine said hashcode value for said java object without invoking a Java method;
wherein said Java Bytecode instruction when executed further operates to:
pop a reference to said Java object from the top of an execution stack when said Bytecode instruction is executed;
determine a hashcode for said Java object by accessing the field of said Java object after said reference has been popped; and
push said hashcode on top of said execution stack after said hashcode has been calculated."
The claim here appears to be that I have a Java object that, among other things, has a slot in it that holds its own unique hash code. At run time my Java machine can grab that value out of the object without doing more than a lookup.
More ideas lifted from the old Smalltalk world and rehashed as "Java".
In my view this patent is rubbish - its totally obvious and it unclear why this would even warrant a patent in the first place. These are generic computer science ideas re-branded with "Java" to make "Java bytecode" and "Java this" and "Java that" somehow magically unique in order to claim a patent.
And finally for today, US Patent 6,339,841: "Class Loading Model" which claims:
"A method of processing a class file on a computer system, said computer system having a server and a runtime domain, said method comprising the steps of:
identifying independent class metadata from a class and independent methods within the class;
creating separate components for each of the class metadata and methods;
storing the class metadata component and the method components in the server, so that each component of the class is individually identifiable and accessible;
sending the class metadata component without the method components from the server to the runtime domain upon receiving a request to load a class from the runtime domain; and
sending a specific method component without the class metadata component and without any other method component from the server to the runtime domain upon receiving a request to load a specific method component from the runtime domain."
The idea here seems to be that we have a Java class stored on a "server" and some client that needs to access the class. So the client downloads the "class metadata", i.e., a list of methods when the class is used. Later, when a method is invoked the actual class method code is transferred to the client.
But this is no more than the old Multics "demand" memory model for things rehashed for Java. Classes are just routines - just code - they are not somehow special in the world of computer science. Code being brought into memory when its needed. Wow, what a unique, new and novel concept - from the 1960's.
The problem is that no lawyer has a clue what any of this means. The only way they have to work with this is to hire expensive "experts" to try and help them (I know this from personal experience). The battle lines are drawn up by one side (say the side claiming the patent is nonsense) assembling a list of "prior art". Prior art is some publication or paper or something that shows the patented process being commercially sold prior to the earliest filing date on the patent. The other side (the patent owner) then has to "disprove" the prior art claim - usually by showing how the patent is somehow "not obvious" related to the claimed "prior art".
These lawyers and experts cost around $500 an hour. And filing claims and motions in this type of federal case burns through ten or twenty thousand dollars in the blink of an eye.
Do you really think anyone has a clue what, for example, US Patent 6,760,019, is really about?
Do you think a jury in a patent trial would understand it?
Do you think a jury could make a rational decision about what might or might not be infringing or prior art relative to its first claim?
Patents were invented for things like "safety razors" - where a completely new and novel device is invented form scratch (and initially the patent office required an actual device to be submitted with the application).
Today software patents rule the patent roost - with their vague and useless descriptions of what is more than likely obvious prior art - dolled up to make them seem novel and non-obvious.
The patents themselves are merely pawns in the posturing of big companies. No one understands them (if they even have valid meaning at all) and no one could possible use them effectively in court.
No comments:
Post a Comment