Search This Blog

Wednesday, August 24, 2011

US Patent 6,349,344

The Pigeon Sisters
Link for this patent here on the Google patent site.

This Java patent is assigned to Microsoft.

The first claim from the patent:

"1. A method of preparing one or more class files prior to run time for use by a virtual machine in a manner so that during run time the prepared one or more class files require less memory and require less time for processing during program execution than would otherwise be required for the one or more class files, and which do not require application programs to incorporate the prepared one or more class files prior to run time to be executable by the virtual machine, the method comprising steps for:

    loading the one or more class files and accounting for any differences in byte order at the virtual machine;
    parsing the one or more class files into individually parsed instructions derived from the one or more class files; and
    creating a native executable run time image comprised of pre-loaded and pre-parsed instructions derived from the one or more class files and that are dynamically linkable in a manner so that the prepared one or more class files may be accessed during run time by any of one or more applications that may be developed separately and independently from the preparation of the one or more class files, without a need to incorporate in such applications the pre-loaded and pre-parsed instructions.
"

(Note: I typically focus on the first claim as it tends to be the most basic "concept" related to the patent.)

Now taken literally this patent patents most operations of any computer system.  Since it was filed in 1997 that would mean virtually everything done on computers would somehow be under Microsoft's aegis.

At its most basic level this patent describes taking a set of classes and combining them into an executable file.

But classes are just computer programs or fragments of computer programs.

So let's look at a description of something called the "binder" on Multics (Section 6.4, paper written in 1987, Multics was invented in the 1960's):

"The binder combines separately compiled programs into a single segment, such that linkage between programs in a bound segment is pre-resolved. The input to the binder is an archive file that contains object segments and an optional ASCII text control file called a bindfile. The binder uses relocation bits output by the compiler to relocate instructions, like a traditional linkage editor. The binder's output is a standard object segment with intra-segment linkage prelinked."

The binder is apropo here because classes are merely code.

Sort of like saying I have patented safety razors.

Then saying a red safety razor is unique and new and deserves a patent of its own.

So we have a 1997 patent addressing what was done some thirty years prior.  More than likely everyone involved in this had no idea what Multics was or how much impact it had on computers since.

Multics was old news by the mid-1980's.  I ran across it indirectly when a company I was involved with, Lexeme, was involved with an RFP to convert a large system written in PL/I for Multics to Ada for a defense contractor.  Multics was being phased out and the new system was to run Ada.

The contractor we were a sub to did not take this seriously at first, assigning a pair of women to the project we called the "pigeon sisters."  They were young and had no clue what was going on and their personal interaction reminded you of the "pigeon sisters" from the movie and/or TV series "The Odd Couple."

These two led the project astray for some time (though they did know how to run the mainframe Unix ed program on 3270 terminals which was something we thought quite unusual).

Eventually the higher ups assigned someone who know what they were doing and the project was a success in that the converted PL/I program actual worked.

So again we have a "Java patent" that's just a rehash of thirty year old technology.


No comments:

Post a Comment