Computer Ethics, Fall 2011

Corboy 423;  7:00-9:30 Th, Nov 10, Class 11

Readings:





History of software patents

For a long time, software was held to be unpatentable, as mathematical algorithms are unpatentable. Any fundamental mathematical or physical laws are unpatentable.

1972: Gottschalk v Benson (wikipedia): You can't patent a mathematical algorithm (in this case a number-format-conversion algorithm). More below.

1973: ATT somehow manages to patent the setuid bit, claiming it's hardware. This patent was dedicated to the public domain in 1979. This patent is certainly a deep idea: if a certain bit is set in the filesystem information node for a file (not in the file itself), then when the file is executed, it runs with the privileges of its owner and not the user. Before then (and after; see what Windows does), there were complex ad-hoc methods for running selected programs with elevated (or alternative) privileges.

1981: Diamond v Diehr: computer + machine IS patentable. For a long time after, software patents always described the software in combination with some hardware device. This patent dealt with the curing of rubber, using a computer to guide the process.

Diamond v Diehr: SCOTUS says that an invention isn't automatically unpatentable just because it contains an algorithm But PTO & lower courts read in the converse: algorithms are patentable

Note that the current business-world baseline thus rests on USPTO policy and lower-court case law, NOT congress or SCOTUS.

Problem of "non-obviousness": the rules state that it's not enough to prove it's obvious today. Uh oh. That becomes an extremely difficult burden.

To be patentable, an invention must be "novel". Novelty is usually challenged by the presentation of "prior art": did someone else discover it first? Often there are arguments about this.

If prior art is published, it can invalidate a patent. However, if it was used privately, those users can continue to use their idea without paying royalties to the owner of the patent, but the patent may still stand. The patent can be challenged on the grounds of not being novel, but this is harder.

Broad patents for fundamental new ideas, narrow patents for improvements

compatibility issues: What if the default, standard implementation is patented? Two cases where there was at least some movement away from a patented format:

    GIF => PNG
    MP3 => ogg vorbis

software patent v copyright

Supreme-court cases limit the word "process" in USC Title 35, Chapter 10, §101:

Inventions Patentable: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.


Gottschalk v Benson

This case continues to be debated. (Gottschalk is the name of the patent commissioner; the one-word name for the case is Benson.) The court stated that "the patent would wholly pre-empt the mathematical formula and in practical effect would be a patent on the algorithm itself". But that is not entirely clear. The algorithm was for converting so-called binary-coded decimal (in which decimal digits are represented in sequence each by four binary digits, so 157 = 0001 0101 0111) to true binary. The patent was for the use of this algorithm on a computer, not universally (though the algorithm makes no sense except on a computer).

In the decision, the court cited an earlier decision: "[w]hile a scientific truth, or the mathematical expression of it, is not a patentable invention, a novel and useful structure created with the aid of knowledge of scientific truth may be", and "an idea of itself is not patentable." The court also said,

Here the "process" claim is so abstract and sweeping as to cover both known and unknown uses of the BCD to pure binary conversion. The end use may (1) vary from the operation of a train to verification of drivers' licenses to researching the law books for precedents and (2) be performed through any existing machinery or future-devised machinery or without any apparatus.

Applications of computer algorithms may indeed be general. In retrospect, should this be an issue? The end-uses above are all for software using the algorithm; and anyone could always use a different algorithm.

One school of thought is that a "process" is not patentable unless there is a physical transformation involved, or unless the new invention is necessary in carrying out the process. The Supreme Court's Benson ruling was narrower than that, however. However, the court did say

transformation and reduction of an article 'to a different state or thing' is the clue to the patentability of a process claim that does not include particular machines. [emphasis by pld]

At one time, I might have put the emphasis differently: the clue. However, the Supreme court backed away from that position in the Bilsky case (below).

The decision closes with an observation that lack of patentability doesn't seem to have hurt the 1972 software industry any, and a call to Congress to figure it out (which may have had its origins in an amicus curiae brief filed by IBM, which was at the time against software patents):
If these programs are to be patentable,  considerable problems are raised which only committees of Congress can manage, for broad powers of investigation are needed, including hearings which canvass the wide variety of views which those operating in this field entertain. The technological problems tendered in the many briefs before us indicate to us that considered action by the Congress is needed.

One possible way to understand Benson is that the patent claim limitation -- the application of the invention for which the patent was claimed -- was overly broad. Benson claimed a patent on any use of the algorithm on a computer.

In the 1980 Supreme Court decision Diamond v Chakrabarty, about the patentability of genetically modified organisms, the following line from a 1952 Congress report on patent law is cited

    anything under the sun that is made by man [is patentable]

How does this square with Benson?

The Benson decision is frequently cited as evidence that the Supreme Court did not intend to allow software patents; the language of the decision -- that the algorithm was a fundamental mathematical fact -- can be read as supporting this. Others use Benson as an example of a case that, with the benefit of hindsight, seems more and more strongly to have been wrongly decided; that in patenting an algorithm on a computer, one is not patenting a mathematical idea. Or, at the very least, Congress should simply heed the Court's call to address this issue directly. It doesn't help any that the court seems to have misunderstood the concept of widely varying applications.


Parker v Flook

In this 1978 case, the Supreme Court dealt with an invention that used a computer to analyze temperature fluctuations within a catalytic converter, apply a smoothing algorithm to discount transient fluctuations, and raise an alarm when the averaged temperature was outside of preset limits (the algorithm apparently also had something to do with updating those limits).

The only novel feature of the method is a mathematical formula. In Gottschalk v. Benson, we held that the discovery of a novel and useful mathematical formula may not be patented. The question in this case is whether the identification of a limited category of useful, though conventional, post-solution applications of such a formula makes respondent's method eligible for patent protection.

The court ruled that the patent had to be judged as if the algorithm at stake were prior art; that is, the algorithm cannot be counted as part of the innovation.

Respondent's process is unpatentable under 101, not because it contains a mathematical algorithm as one component, but because once that algorithm is assumed to be within the prior art, the application, considered as a whole, contains no patentable invention. Even though a phenomenon of nature or mathematical formula may be well known, an inventive application of the principle may be patented. Conversely, the discovery of such a phenomenon cannot support a patent unless there is some other inventive concept in its application. [emphasis added -- pld]

One difference between Flook and Benson was that in the Benson case there was essentially no claim limitation, while in Flook the claim was limited to a specific application of temperature control.

There has been some criticism of Flook because the Supreme Court was vague as to the distinction between §101, on patent eligibility itself, and §103, on restrictions due to prior art and obviousness.

Flook is arguably an important case, but alas often seems overlooked in the real world. Consider, for example, a patent for the application of a standard algorithm to a particular problem:
Both of these patents were granted. Arguably, however, both are trivial applications of standard algorithms. In fact, more often than not patents that use general, well-known algorithms don't seem to be rejected on Flook grounds, even when there is essentially no inventiveness in the application of the algorithm.


Diamond v Diehr

On the face of it, the Supreme Court ruled here that just because an invention incorporates a software component, this does not make the invention ineligible for patent. The Diehr invention used a thermocouple to monitor the temperature in a mold of curing rubber, connected to a computer that read the raw temperature values and did some computation to determine when the rubber was finished. While the majority held that the invention was just patentable, Justice Stevens (of Sony v Universal) wrote in dissent of three problems he had with the Diehr patent [division into paragraphs added]:

First, there is not a word in the patent application that suggests that there is anything unusual about the temperature-reading devices used in this process-or indeed that any particular species of temperature-reading device should be used in it.

Second, since devices for constantly measuring actual temperatures-on a back porch, for example-have been familiar articles for quite some time, I find it difficult to believe that a patent application filed in 1975 was premised on the notion that a process of constantly measuring the actual temperature had just been discovered.

Finally, the [PTO] expressly found that the only difference between the conventional methods of operating a molding press and that claimed in [the] application rests in those steps of the claims which relate to the calculation incident to the solution of the mathematical problem or formula used to control the mold heater and the automatic opening of the press.

In other words, Stevens felt that the Diehr invention should not be patentable, because the only novel feature was the use of the computer, and algorithms should not be patentable.



Reading original patent descriptions

You can look them up online. Follow uspto.gov -> patents -> patft (uspto.gov/patft). Or go directly to the search-by-patent-number page:
      http://patft.uspto.gov/netahtml/PTO/srchnum.htm

Some software patents

Here's an interesting list of some software patents, supposedly "random" though some particularly famous ones are sprinkled in:
    http://bat8.inria.fr/~lang/hotlist/free/licence/patents.html

Another list can be found at: http://www.textfiles.com/law/softpat.txt

XOR cursor, patent 4197590 (more below under Heckel's paper)
Method for dynamically viewing image elements stored in a random access memory array

The use of XOR here (using XOR to draw and also to erase) was mathematically well-known. Is this an innovative application, or a straightforward one?

cpu Stack Pointer register, patent 3794980, to George Cogar, 1971. Supposedly, though I can't find the source, this was purchased by DEC [?] and eventually placed in the public domain. Or not enforced. Or, possibly, it was in fact licensed by Intel/motorola/everyone_else.

ATT setuid-bit patent, # 4135240, invented by Dennis Ritchie, applied for in 1972 and later placed by AT&T in the public domain.

British Telecom patent on the hyperlink, files 1976, granted 1989. Patent number 4,873,662. In 2000 they attempted to sue a large number of websites. The patent itself apparently refers to a system in which multiple remote users can access "blocks" of data on a central computer.

Here, the arguable problem is that BT's claims are much too broad and vague.

Altavista patents on "web searching". Altavista did have several such patents on basic web "crawling". Most were predated by the "archie" archive-searcher for ftp sites, developed by Alan Emtage in 1989. Altavista was purchased by CMGI, which some claim is a patent troll.


RSA encryption: patent 4405829

Choose primes p and q.
Reveal n=pq
Find e and d so xed = x mod n (this is not hard) Common values for e: 3, 5, 17, 257, 65537. Note (xe)d = xed.
(n,e) is the public key, d is the private key

RSA uses standard high-precision arithmetic in its calculations; the underlying number theory has been well-known for centuries. The patent was for the APPLICATION of these standard methods to encryption. That application was certainly novel.

The RSA patents finally expired, after much controversy. Part of that controversy was self-induced; the patent owner at one point appeared to grant a general license for noncommercial use, but then backed away from that.

The RSA idea is not "obvious-in-context". In fact, RSA is, for many people, the classic Good Example for why software patents are needed.

Compton 1989 patent on multimedia, despite Apple Hypercard in ~1987.

Steir patent 5,060,171 on artificially adding hair to a person's image [Garfinkel article; obvious-in-context; Flook standard?]

Eolas v Microsoft: About a way for running "applets" in a browser window. See below.

NTP v RIM: the blackberry patent. See below.

mp3: lots of development went into this. See below.

Lempel-Ziv / LZW compression, patents 4464650 [?], 4558302

This is the compression scheme in GIF file formats. The gif format was developed by CompuServe in 1987. A year later, they noticed that the algorithm was patented, and that the patent was currently held by Unisys. Allegedly, Unisys told Compuserve at that time that they would not need to pay royalties.

In 1999, Unisys demanded that some noncommercial websites pay a $5000 fee for hosting files in the gif format (an interesting strategy, given that the sites were not themselves rendering the images). Some commercial sites were asked for even more. It's not clear whether anyone paid it; most affected sites rapidly switched to .jpeg or .png. Some observers were especially offended by the fact that Unisys allowed the use of the GIF format as a free standard until it became well-established, and then demanded fees.

There's some question as to whether this was the only or even the dominant reason for the shift to PNG format; the latter does offer more features (especially alpha and gamma) than GIF, and is a lossless format unlike JPEG.

Note that LZW compression is not "obvious-in-context"; you can realize you need compression and still work very hard to develop LZW.

Natural-order recalculation in spreadsheets:

Patent 4398249
More below following Heckel's paper

Cell A depends on B if A needs B's value in its formula
Rule: Before calculating A, calculate all cells A depends on.
Duh.
The algorithm is called "topological sort"; published in the CS literature in 1963.

Rene K. Pardo and Remy Landau filed for a patent in 1971: U.S. Patent 4,398,249. This was an important case in allowing software patents (initially their request was denied as an "algorithm")

Spreadsheets were a brilliant idea (Dan Bricklin, VisiCalc?), but not order of recalculation.


MS has patented the FAT disk format. Here is a summary of the events from the Public Patent Foundation, which had challenged that patent:

In April 2004, the Public Patent Foundation filed a formal request with the United States Patent and Trademark Office to revoke Microsoft Corporation's patent on the FAT File System, touted by Microsoft as being "the ubiquitous format used for interchange of media between computers, and, since the advent of inexpensive, removable flash memory, also between digital devices." In its filing, PUBPAT submitted previously unseen prior art showing the patent, which issued in November 1996 and is not otherwise due to expire until 2013, was obvious and, as such, should have never been granted. The PTO granted PUBPAT's request in June 2004 and provisionally rejected the patent in September 2004. In response to the rejection, Microsoft made amendments to the patent's claims. The PTO proceeded to allow the amended form of the patent. PUBPAT had no right to appeal that decision.

The fact that PubPat can't appeal or even respond to the decision is a serious due-process issue. If you are sued by Microsoft for using the FAT format, you will be allowed to respond to Microsoft's post-2004 amendments to the patent claims. But you will probably not.

Microsoft is now actively licensing the format to flash-card manufacturers. Why not switch to the free ext2 filesystem? Because that just is impossible, that's why.

It is unclear which patents Microsoft is most interested in pushing. While there are legitimate reasons for thinking that FAT itself might not be patentable, Microsoft later introduced a strategy for supporting both long filenames and also "8.3" filenames (8 char name, 3 char extension). The patent that covers the dual-name strategyis less vulnerable to "obviousness" or "prior art" challenges.

Microsoft sued the TomTom people (http://arstechnica.com/microsoft/news/2009/02/microsoft-sues-tomtom-over-fat-patents-in-linux-based-device.ars), because TomToms, although they are based on linux, use the FAT filesystem internally. The suit was settled two months later, after TomTom agreed to cut the FAT.

FAT is a good example of an idea that is obvious to anyone presented with the problem of how to create a simple filesystem suitable for small devices. However, there is the added problem of it's being standard (although an unofficial one); you can't just implement a workaround.



Photoshop and patents

It might seem reasonable that such a complex program as Adobe Photoshop has been effectively protected by patents. However, I can find no evidence that this is the case. I did find the following:

Macromedia has sued Adobe for patent infringement over some Photoshop options (http://www.managingip.com/Article/1327272/Macromedia-claims-Photoshop-patent.html)

The leading open-source alternative to Photoshop, gimp, may have had more trouble with Microsoft patents than Adobe's. In general, there are lots of notes out there from gimp developers discussing their patent woes. (I lost my specific reference, though.) Gimp has had to struggle with the LZW patent on the gif format (US expiration 2003, Europe 2004), and the possible jpeg patent.



PTO (Patent & Trademark Office) problems:

ignorance is no defense: "submarine" patents
The entire process is secret: you can be making good-faith effort to be noninfringing and get hit with a huge verdict.

Infringement is considered willful if you had advance notice of infringing. Your belief that the patent was invalid is NOT a defense. Damages automatically triple.

Three groups of stakeholders:

Where do we fit in?

Patent-holding companies are sometimes known as "trolls", as in "the troll under the bridge, demanding tolls". They are often seen as parasitic: they do not, for example, actually produce anything. Is this a fair characterization?

How large corporations manage:

small inventors:

Open source: voip
From the flowroute.com FAQ (flowroute is a reseller of VoIP lines):

Most free or open-source PBXs are not packaged with the G.729 codec due to licensing issues. We recommend that you install it for more efficient bandwidth usage and route availability.

From Wikipedia:

G.729 includes patents from several companies and is licensed by Sipro Lab Telecom. Sipro Lab Telecom is the authorized Intellectual Property Licensing Administrator for G.729 technology and patent pool. In a number of countries, the use of G.729 may require a license fee and/or royalty fee.




Legal advantages of small inventor: somewhat diminished with rise in legal fees & increased ambiguity of patent claims

But small inventors can still sell to patent-holding companies.

Legal situation of large corporations:



Patent infringement suits

Note that we do not generally have much access to the judge's reasoning in these cases. There may be a written opinion, but often not, and in any event we generally don't have ready access to many of the documentsoffered in evidence.

(Some of the documents, though not all, are available from the Law Library.)



Heckel Paper

(In the link above, correct the spelling of "pdf")

Paul Heckel wrote Debunking the Software Patent Myths for the June 1992 Communications of the ACM. Heckel approaches software patents as a small inventor who has sued Apple over Hypercard and is in general very strongly pro-patent. He was actually faced with huge software-development debts and no future market because Apple had reproduced his idea. He makes several claims.

4197590

One is that the XOR patent, 4197590, is really about patenting what Heckel calls "largely the invention of the frame buffer". However, the concept of a frame buffer, or memory-mapped display (in which the video screen is memory-mapped into a location in RAM, so that writing to the screen is as simple as writing to memory) was apparently prior art. The patent application claims that they invent a way for a small (eg 416x312) graphics window to allow viewing of a larger 2048x2048 virtual display, and panning across. That is a significant invention. However, there is a reasonable body of evidence that Cadtrak attempted to enforce the XOR-cursor portion of the patent alone.

From the patent abstract:

A computer graphics display system including random access raster memory for storing data to be displayed, a raster memory control unit for writing data into the raster memory, a video control unit for causing such information to be displayed on a CRT display screen....An XOR feature allows a selective erase that restores lines crossing or concurrent with erased lines. The XOR feature permits part of the drawing to be moved or "dragged" into place without erasing other parts of the drawing.

It seems to me that a major claim of this patent, and the only relevant claim past the 1984 introduction of the Macintosh, is the XOR feature.

It is legitimate to try to enforce just a single claim; if the Patent Office thinks any of your claims are too obvious, they are supposed to say so. However, the XOR claim makes a lot of sense in the context of the original patent as a nonobvious part of the idea; it is more obvious as a standalone operation.

4398249
Another is the natural-order-recalculation patent, 4398249. This was an invention of Rene K. Pardo and Remy Landau in 1970. Heckel claims that what Pardo and Landau really invented was the spreadsheet, although (apparently) in primordial form not recognizeable by later spreadsheet pioneers such as Dan Bricklin (VisiCalc); Bricklin is generally recognized as the inventor of the spreadsheet. Heckel does not name any software product Pardo and Landau produced. There was indeed an important legal case regarding the patentability of the idea; initially their request was denied by the PTO as an "algorithm. It is now considered to be an "early" software patent. Here's the idea:

Cell A depends on B if A needs B's value in its formula
Rule: Before calculating A, calculate all cells A depends on.

The algorithm is called "topological sort"; published in the CS literature in 1963. The actual algorithm is:

Let Known_Cells be the set of all cells we can calculate initially, ie that do not depend on any other cells.
repeat
     search the spreadsheet for cells which depend only on Known_Cells.
     Calculate their value, and add them to Known_Cells
until there are no new Known_Cells

Spreadsheets were a brilliant idea (Dan Bricklin, VisiCalc?), but not order of recalculation.

Pardo and Landau sold the patent to the company Refac, which Heckel characterizes as "a white knight in the fight against the patent pirates". However, note the following line from the appellate court in Refac v Lotus, at http://www.ll.georgetown.edu/Federal/judicial/fed/opinions/95opinions/95-1350.html:

The district court did not abuse its discretion in holding that the '249 patent is unenforceable on the ground of inequitable conduct. [emphasis added]

Apparently Pardo and Landau were told by the USPTO that their patent was not fully disclosed; specifically

[T]he disclosure is not deemed of the level which would enable one with ordinary skill in the art to make and use the invention. The flow diagram which applicants represent in figure 2 is not of the detailed level which a programmer would need in order to write a program from.

They presented three supposedly disinterested witnesses who each submitted an affidavit that, yes, they could implement the desired program from the patent description. However, one of the three, Robert F Bullen, had a previous business relationship with Landau, that neither of them disclosed.

So much for "white knights".

There remains the broader concern that Pardo and Landau did not in fact appear recognize that they had a "spreadsheet", and that Dan Bricklin was the first to grasp that concept, and that what Pardo and Landau did have was just the idea of using topological sort when evaluating a large number of expressions with dependencies.

Here's the abstract of Pardo & Landau's patent, slightly edited, for compiling a set of formulas when some formulas may depend on the values of other formulas:

A process and apparatus (compiler program) carried out on a digital computer for converting a source program into an object program. The source program [consisting of a set of formulas] is entered into a first storage area of a computer. ... The compiler program then examines each formula to determine whether it has been defined [that is, whether it has no dependencies on as-yet-undefined formulas]. If the first formula has been defined, it is removed from the first storage area; placed in a second storage area; and marked as being defined. if the first formula examined has not been defined, it is retained in the first storage area. The compiler program repeats this process for each formula in the first storage area. After the formulas in the first storage area have been examined, the compiler program determines whether any formulas have been added to the second storage area. If so, the compiler program repeats the examination of the individual formulas still retained in the first storage area. The compiler program repeats the process until all formulas have been defined; added to the second storage area; and marked as being defined. The content of the second storage area is an object program which is executable by the computer.

2009 is a little later than 1972, and some of these ideas are now somewhat standardized, but without being familiar with this specific algorithm I was able to come up with it "on my feet" in class once. I see no evidence here of any spreadsheet-like package; the application of the general topological-sort algorithm to solve this particular problem seems to be pretty obvious.



Heckel's own patent was 4736308. It was described as covering the display of two or more strings together on the screen (apparently scrolling with two or more subwindows). The argument was made that if scrolling was prior art, and subwindows were prior art, how could a trivial combination of them be patentable? Heckel's claim is that his patent actually covers a Hypercard-like product (hypertext plus button-activated scripts), though this is not clear from the patent abstract.



Some specific patents and cases:

Eolas v Microsoft

Patent 5838906: Distributed hypermedia method for automatically invoking external application providing interaction and display of embedded objects within a hypermedia document, filed in 1994.

The alleged invention is about a way for running "applets" in a browser window. Is this really an "invention" at all?

Back in 1992, browsers just displayed images and static text. However, it was clear by then that applications could display content in windows created and "owned" by other applications; for example, MS Word could at that time display an Excel subwindow.

What was not foreseen was that browsers would become universal viewers of just about everything.

Microsoft v Eolas (+ Univ of California, as part of UCSF):
MS lost this case in 2004; was ordered to pay $521 million.  They then won the right to a new trial, but settled in 2007 before the beginning of the new trial.

Patent covers

a system allowing a user of a browser program ... to access and execute an embedded program object [or small computer program, often referred to as "applets" or "plug-ins"]

Patent filed 1994, granted 1998, USPTO review 2004, upheld 2005

See http://cse.stanford.edu/class/cs201/projects-99-00/software-patents/hypermedia.html

"Viola" prior art: may or may not be relevant: see http://www.viola.org

The Viola browser project was found by the district court to have been "abandoned", but the circuit court found that Viola version 1.0 was "abandoned" only in the sense that it was replaced with version 2.0.

Part of the technical issue was about the meaning of the term "executable application". The court allegedly gave this broad meaning. Microsoft claimed it only meant "standalone applications".

Eolas started by Michael Doyle, faculty member of UCSF. UC Berkeley is apparently the owner of the patent.

Doyle certainly had some early ideas, that came before Java applets.

Had the Eolas patent been more aggressively enforced, it would have been a huge impediment to the world-wide web.

2007: MS has claim they invented it; this loses in Sept, but Eolas & MS settle in August

October 2009: Eolas has launched a major lawsuit against just about everyone: press release. The list of defendants includes lots of sites that use web-embedded objects: amazon, apple, eBay, and youtube.

View 1: Eolas developed some early web-embedding technology, and got really lucky
View 2: Eolas patented Microsoft's 1990 Object Linking and Embedding idea, and got a 20-year license to fleece us
View 3: Eolas may control a "critical" piece of the web standards.


Consider the actual Eolas patent claim again. They have allegedly patented the idea that an applet could be displayed automatically within a browser window. In a sense, they have patented the idea that browsers can display certain kinds of content.

(Actually, their claim oscillates between the idea of displaying an applet, and the idea of displaying it automatically. This is a tricky issue.)

Who had the idea that browsers could display any content, and thus that that was all you really needed? One version of VMware used a browser plugin to view your virtual machine's console!

Maybe the deepest problem with the Eolas patent is that the whole idea of embedding one window in another is trivial. It might not have been trivial back in 1994, but only because browsers weren't well understood. Normally, if you patent a technique or machine, it will almost always become at least somewhat obvious in retrospect, but here the issue is a little stronger. It's that the idea here was inevitable, once browsers grew to the point that they were used to view all sorts of things. It's as if someone tried to patent a handful of general browser strategies, without developing them, in the hopes that one of them would pan out and they could collect licensing fees. (Eolas did generate a working version of their embedding idea, but they didn't do anything to popularize it as part of the web.)

To try to put it another way, advances in software often lead to radical changes in how we use the software. Consider browsers, or wireless, for example. Radical change in use patterns often leads to demands for obvious new features, that previously were either impractical or simply irrelevant.

Here's the PTO review upholding the Eolas '906 patent in 2005.

One of the things to get out of this document is the sense in which the PTO process favors the inventor; they are legally bound to interpret the inventor's claims in the most favorable light.

See Page 3 (p 7 of the pdf) for a discussion of "obviousness".

See also Page 11 (15) for a discussion of the Toye reference, in particular the discussion on Page 13 of an early X-windows version of Object Linking and Embedding. The NoteMail viewer could display active content: "any application that displays through an X-server can insert its output ... dynamically onto a notebook page through an embedded 'virtual window'". The patent re-examiner then asks whether NoteMail is "equivalent to" a browser.

Further on (Page 17/21) it is stated that

MediaMosaic does enable interactive control and manipulation of objects embedded in what arguably may be construed to be a "browser-controlled window," BUT ONLY AFTER USER INTERVENTION, such as by making a selection with a mouse. [capitals in original -- pld]

In other words, Eolas apparently has a patent on having something happen without having to click the mouse; their patent is for "zero-click" operation (one better than Amazon!). This was an important issue in 2003 as well. It is not a triviality. However, it is difficult to see how the invention of not having to click the mouse can be seen as deep. We're no longer talking about the idea of embedding applets; we're talking about automatically launching them.

Is not clicking the mouse worth half a billion dollars? That's more than the cost of every mouse in the US!