PageBox
Web pagebox.net
 Java PageBox 
 New PageBox 
 Other products 
 Miscellaneous 
 Patents 
  

Patent re-examination - Eolas

Eolas re-examination

The re-examination of 5,838,906 takes place with an application number 90/006,831.

Claims

5,838,906 has ten claims. Claim 1 and 6 are independent. Claim 1 reads:

"A method for running an application program in a computer network environment, comprising:

  • providing at least one client workstation and one network server coupled to said network environment, wherein said network environment is a distributed hypermedia environment;

  • executing, at said client workstation, a browser application, that parses a first distributed hypermedia document to identify text formats included in said distributed hypermedia document and for responding to predetermined text formats to initiate processing specified by said text formats; utilizing said browser to display, on said client workstation, at least a portion of a first hypermedia document received over said network from said server, wherein the portion of said first hypermedia document is displayed within a first browser-controlled window on said client workstation, wherein said first distributed hypermedia document includes an embed text format, located at a first location in said first distributed hypermedia document, that specifies the location of at least a portion of an object external to the first distributed hypermedia document, wherein said object has type information associated with it utilized by said browser to identify and locate an executable application external to the first distributed hypermedia document, and wherein said embed text format is parsed by said browser to automatically invoke said executable application to execute on said client workstation in order to display said object and enable interactive processing of said object within a display area created at said first location within the portion of said first distributed hypermedia document being displayed in said first browser-controlled window."

Claim 6 reads:

"A computer program product for use in a system having at least one client workstation and one network server coupled to said network environment, wherein said network environment is a distributed hypermedia environment, the computer program product comprising:

  • a computer usable medium having computer readable program code physically embodied therein, said computer program product further comprising:

  • computer readable program code for causing said client workstation to execute a browser application to parse a first distributed hypermedia document to identify text formats included in said distributed hypermedia document and to respond to predetermined text formats to initiate processes specified by said text formats;

  • computer readable program code for causing said client workstation to utilize said browser to display, on said client workstation, at least a portion of a first hypermedia document received over said network from said server, wherein the portion of said first hypermedia document is displayed within a first browser-controlled window on said client workstation, wherein said first distributed hypermedia document includes an embed text format, located at a first location in said first distributed hypermedia document, that specifies the location of at least a portion of an object external to the first distributed hypermedia document, wherein said object has type information associated with it utilized by said browser to identify and locate an executable application external to the first distributed hypermedia document, and wherein said embed text format is parsed by said browser to automatically invoke said executable application to execute on said client workstation in order to display said object and enable interactive processing of said object within a display area created at said first location within the portion of said first distributed hypermedia document being displayed in said first browser-controlled window."

Both claims describe ActiveX and Java applets. This snippet shows the HTML code used to call a Macromedia player to play a Flash file in Internet Explorer:

<object id="myflash" classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" width="400" height="300">

<param name="movie" value="myflash.swf" />

</object>

Here the external executable application is the program whose CLSID is D27CDB6E-AE6D-11CF-96B8-444553540000, the Macromedia player. A browser component parses the document to find the name of the remote file to play, myflash.swf, and calls the external application with this "movie" parameter. The external application utilizes the browser to interactively play the myflash.swf file in the browser window.

This is not very different from the way to display an image:

<img src="myimage.ext" width="400" height="300">

Browsers supported at the time of the invention plug-ins, which are external applications able to display a file identified with its extension. The novelty of 5,838,906 consists in two parts:

  1. Allowing the page author to specify the browser application and parameters in a way more flexible than an extension. We may observe that extensions are a legacy of early Windows versions. On 1984 Mac Intosh a file already had a program and a data part. Given the difficulty to manage new file formats it was logical to specify in the page the application name and parameters along with the object to show, play or use.

  2. Allowing in-place activation and interaction of the browser application. The in-place activation and interaction of special applications called controls (VBX and OLE for instance) in graphical applications (developed for instance in Visual Basic) was known at the time of the invention.

Trial

The re-examination documents include data about the trial that I present first. These data include:

  1. a Markman order;

  2. an order ruling against summary judgement on issues of inequitable conduct and non-infringement;

  3. an order ruling on inequitable conduct, not analyzed here because it discuss the ViolaWWW browser like 2;

  4. a jury verdict;

  5. a judgment order;

  6. a order consolidated rulings on post-trial motions.

Eolas and the University of California were the plaintiff and Microsoft the defendant.

Markman order

See the business method page for an explanation of Markman hearings.

The judge found that claims 1 and 6 use the same terms and focused on claim 6. The parties disputed the meaning of "said object has type information associated with it utilized by said browser to identify and locate an executable application external to the first distributed hypermedia document."

Eolas defined "executable application" as "program code for causing the display of the object and enabling interactive processing of that object" whereas Microsoft proposed that executable application refers to standalone program. The judge followed Eolas and concluded that an "executable application is any computer program code, that is not the operating system or a utility that is launched to enable an end user to directly interact with data." His reasoning is quite interesting.

He first observed that "executable application" did not have a plain and ordinary meaning to someone skilled in the art of computer science. He read application as a "computer program that is not the Operating System or a utility, that is designed to help an end-user to perform some specific task." He found that, though the preferred embodiment did not use DLLs or components as the executable application, the inventors repeatedly said that the preferred embodiment was but one possibility of the invention in practice. He further found that the patent claims and specification are focused on function, not jargon. For instance the claims and specification were not concerned with memory allocation. Then he considered the prosecution history.

The patent examiner rejected the patent three times for obviousness:

  1. He found that it would have been obvious to combine the prior art made of HTTP, HTML, clients, servers and browsing software with the teaching of Hansen’s "Enhancing documents with embedded programs: How Ness extends insets in the Andrew toolkit." However, in rejecting the patent, the examiner agreed with the inventors that the disclosed prior art by itself "does not have embedded controllable application [executable/ interpretable/ 'launchable'/ program instructions/codes] in the hypermedia document." Therefore the judge read the file history to begin with a broad definition of executable application, inclusive of componentization.

  2. The examiner found that the invention was an obvious combination of Mosaic and 5,206,951 from Wang. 5,206,951, entitled "Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types", describes a "system including an extensible set of object types and a corresponding set of object managers wherein each object manager is a program for operating with the data stored in a corresponding type of object. 5,206,951 further says that "a mechanism is provided for linking data from one object into another object. An object catalog includes both information about objects and about links between objects. Data interchange services are provided for communicating data between objects of different types, using a set of standard data interchange formats." With a priority date of Aug. 21, 1987, 5,206,951 describes functions of the later Object Linking and Embedding (OLE) and foundation framework, COM and therefore an Operating System feature. In my view it does not make obvious "said object has type information associated with it utilized by said browser to identify and locate an executable application external to the first distributed hypermedia document" because it describes an operating system and not a browser feature. We know that inventors persuaded the examiner that their invention was not an obvious combination of Mosaic and 5,206,951 but unfortunately we do not how.

  3. The examiner found that the invention was an obvious combination of the prior art made of HTTP, HTML, World Wide Web with 5,581,686 from Microsoft. 5,581,686, entitled "Method and system for in-place interaction with contained objects", describes a "method and system for interacting with a containee object contained within a container object." With a priority date of Dec. 1, 1992, 5,581,686 describes OLE. It relates to relationships between the inner and the outer application in an environment, the graphical componentized user interfaces, which was more demanding than browsers. The inventors responded to the rejection with two arguments (1) 5,581,686 did not teach the automatic invocation of an external function; (2) 5,581,686 did not allow for the editing of data that 5,838,906 specifically sought to accomplish. They use excerpts from "Inside OLE" [the reference book about OLE written by Kraig Brockschmidt] in their reasoning to persuade the examiner. [I used to be a COM programmer. Though I have never been an OLE expert, I also read "Inside OLE". I think that (1) OLE/ COM can do anything and everything (2) OLE was not portable because of its complexity and bias toward Windows, Office products and Visual Basic whereas 5,838,906 is portable.]

The judge found that the file history did not limit the term "executable application" to standalone applications [though he implicitly acknowledged that OLE allowed the automatic invocation of external functions and the editing of data.]

I think that the judge decision was correct. In 1994 browsers were used as much on Unix workstations as on Windows. Microsoft DLLs were of common use in Windows environments in 1994. On Unix their equivalent, shared libraries, were much less used. Reasons were that, on Unix, the creation of processes was inexpensive and that inter-process communication was fast and easy to implement. So Unix programmers preferred to use separate processes, notably for robustness. An error in a DLL breaks the process whereas an error in a child process does not break the parent process. Mosaic had a Mosaic External Application Program Interface (MEAPI) to communicate with an external application much in the same way as the NCSA HTTP server had a CGI interface. These were very logical choices in 1994. I further think that:

  • Assimilating executable to .EXE versus .DLL is terribly Microsoft centric. Microsoft further said that a component (a routine, a library or a module) could not be the executable application. This is true but not in the way pointed by Microsoft. Unix users called routine or module a piece of source code or an object and library an archive and used "shared library" to unequivocally name a binary unit that could be loaded by an executable.

  • In a discussion about the standalone nature of "executable application" we do not have to consider if the executable application can be launched but whether this execution can give useful results. A CGI can run standalone but, because it may read its standard input and necessarily writes into its standard output, it can give useful results only when called from an HTTP server.

According to Microsoft "type information" meant data type or extension. The claims of 5,838,906 say nothing about the type nature and the specification contains examples like "application/x-vis" or "video/mpeg", suggesting that inventors had in mind type = MIME type [MIME stands for Multipurpose Internet Mail Extension]. So the judge rejected the Microsoft construction.

Microsoft found that "utilized by said browser to identify and locate" means that the browser and not the Operating System is utilizing, identifying and locating the type. This is almost necessarily the case for any portable embodiment, Operating Systems not necessarily implementing the needed function. This is not the case for Internet Explorer that delegates the tasks of identifying and locating the type to the COM API. However to practice the invention a person of the art needs to store somewhere (type, path of the executable application) pairs. If the browser parses these pairs from a text file everyone will probably agree that this is the browser that identifies and locates the type. But the browser may use a database (even a simple embedded database like Berkeley DB) that provides the same function as the Windows registry. I think that most people will find that this is still the browser that identifies and locates the type. The issue is not only a technical matter. This is also a matter of abstraction layer. Internet Explorer may ignore the type meaning because it forwards the request to COM. If a browser uses a database it must instantiates the application but it can ignore parsing issues; to know how to instantiate the application it just has to make select path from table where type=?.

For this reason I would disagree with Microsoft without the prosecution history. In attempting to overcome the 5,581,686 rejection inventors said that, in 5,581,686, "the actual linking mechanism between the container document and the containee server application is coordinated by the operating system’s registry database." Because of that I think that the judge rightfully construed "utilized by said browser to identify and locate" as utilized by said browser and not by the Operating System as in 5,581,686 to identify and locate.

Summary judgment

Inequitable conduct

Microsoft alleged that the main inventor of 5,838,906, Dr Doyle

  1. intentionally withheld from the USPTO information regarding a Web browser, ViolaWWW created by Pei-Yuan Wei that had the capability to display interactive objects embedded in a Web page;

  2. knowingly made false representation to the USPTO that he had demonstrated his invention to the Netscape founders and to Sun engineers.

The judge reminded that "all patent applicants owe a duty of candor and good faith to the USPTO and this duty exists throughout the entire prosecution of the patent. Breaching this duty may constitute inequitable conduct, which includes affirmative misrepresentation of a material fact, failure to disclose material information, or submission of false material information, coupled with an intention to deceive."

"In determining whether a failure to disclose information to the USPTO rises to the level of inequitable conduct, there is a three step analysis in which the court must determine:

  1. whether the withheld information or misrepresentation meets a threshold level of materiality;

  2. whether a threshold level of intent has been shown by the evidence;

  3. if these [both] thresholds are satisfied, whether the equities warrants the conclusion that inequitable conduct occurred."

"Thus, for a failure to disclose to constitute inequitable conduct, there must be clear and convincing proof of:

  1. prior art or information that is material;

  2. knowledge chargeable to the applicant of this prior art or information and of its materiality;

  3. failure of the applicant to disclose the art or information resulting from an intent to mislead the USPTO."

Materiality is defined by Rule 56 of the USPTO, which states the following:

"Information is material to patentability when it is not cumulative to information already of record in the application, and

  1. it establishes by itself or in combination with other information, a prima facie case of unpatentability of a claim; or

  2. it refutes or is inconsistent with a position the applicant takes in I. Opposing an argument of unpatentability relied on by the office, or II. Asserting an argument of patentability."

"The test of materiality is whether a reasonable examiner would have considered this information important, not whether the information would conclusively decide the issue of patentability."

So to answer to the materiality question the judge focused his inquiry on whether the information possessed by Dr Doyle was something the examiner should have been told.

On August 24, 1994 Dr Doyle posted an announcement on a mailing list which stated that "researchers of the University of California have created software for embedding interactive program objects within hypermedia documents." Dr Wei replied the same day: "I don’t think this is the first case of program objects being embedded in docs and transported over the WWW. ViolaWWW has had this capability for months and months now." Dr Doyle asked: "How many months and months? We demonstrated our technology in 1993." Dr Wei said: "Definitely by May 8, 1993 we had demonstrated a plotting demo to visitors of a certain computer manufacturer." And so forth. Dr Doyle and Dr Wei never agreed about who was the first.

Microsoft rightfully observed that if Dr Wei was right two things are possible:

  1. Dr Doyle demonstrated the 5,838,906 invention before May 8, 1993. Then 5,838,906 was novel but could not be patented because it was made public more than one year (grace period) before the date at which 5,838,906 was filed (October 17, 1994).

  2. Dr Doyle demonstrated the 5,838,906 invention after May 8, 1993. Then 5,838,906 could not be patented because it was not novel.

However it seems reasonable that the invention of a system embedding interactive program objects within hypermedia documents was not made in one day. We can imagine that in a first step the apparatus to invoke an external program and display an embedded image was defined and that in a second step the way to embed an interactive program object was progressively developed. We may think that Dr Doyle was reluctant to analyze ViolaWWW because he thought that he had a better technology and did not want to expose to copy accusations. The solution of Dr Doyle (compiled program objects) and the solution of Dr Wei (interpreted program objects) were different. Dr Doyle disclosed Java and could feel that a ViolaWWW disclosure would have been cumulative (redundant). Dr Doyle was the respected expert in the e-mail discussion. Dr Wei, with his inferior English skills (pitilessly reproduced by the judge) was looking for an agreement and maybe even for a kind of recognition. The discussion sounded like the debate between Andrew Tanenbaum and Linus Torvalds, in which Linus Torvalds desperately tried to defend his Operating System, Linux.

Though "applicants are not conscripted to serve as an investigative arm of the USPTO", "one should not be able to cultivate ignorance, or disregard numerous warnings that material information or prior art may exist, merely to avoid actual knowledge of that information or prior art." This case was close and the judge logically found that the materiality of the ViolaWWW disclosure had to be decided at trial and that a summary judgment on the issue of intent was inappropriate at this time.

Microsoft also alleged Dr. Doyle sworn declaration to the USPTO that the "the applicant initially demonstrated the first Web plug-in and applet technology to founders of Netscape and engineers employed by Sun Microsystems" was not only false, but that Dr. Doyle knew that this statement was false when he made it. The patentee clarified later. The statement was based upon a phone conversation with Joseph Hardin (not involved in founding Netscape) during which Dr. Doyle believed Mark Andressen, the famous Netscape founder, was listening in. "Founders of Netscape" rather meant "members of the Mosaic development team in NCSA." Said that way, this is quite possible. When Netscape was founded there was no power distance between Dr. Doyle and Netscape founders. In the same way Dr. Doyle never said that he presented his invention to Sun’s top executives. The judge found that he could not decide whether Dr Doyle statement was untrue, a deliberate misrepresentation or a reasonable mistake and thus denied summary judgment. He made the following comments:

  • "The filing of a false declaration is sufficient to state a claim of inequitable conduct, since the Federal Circuit has held 'affidavits are inherently material, even if only cumulative. The affirmative act of submitting an affidavit must be construed as being intended to be relied upon.'"

  • "To find inequitable conduct on this ground, 'a holding of unenforceability based on the filing of a false oath requires that the oath is false, and made with knowledge of the falsity.'"

  • "Summary judgement for inequitable conduct is generally rare because, as in the present case, the motive and intent are central to the claim, and there is rarely direct evidence of deceitful conduct."

Note

I found an old document co-authored by Dr Doyle that strongly suggests that he worked with Sun.

Early bench trial

Microsoft requested that a separate bench trial on its inequitable conduct claim be held before a jury trial on the issues of infringement and invalidity. Because this relates to American law I need to provide some background data.

The defense of inequitable conduct is equitable in nature and is therefore an issue for a court (judge) and not for a jury. Note that in the past such cases were decided by a special court, called a court of equity. See the business method page for an explanation of the difference between equity, fact and common law. A bench trial is a trial in front of a judge instead of a jury. The US Constitution also has a Seventh Amendment that says: "In Suits at common law, where the value in controversy shall exceed twenty dollars, the right of trial by jury shall be preserved, and no fact tried by a jury, shall be otherwise re-examined in any Court of the United States, than according to the rules of the common law." Some equity issues are necessarily ruled before the trial (preliminary injunction) but most of them are ruled after the trial (permanent injunction, inequitable conduct...) The Supreme Court has held that "only under the most imperative circumstances... can the right to a jury trial of legal issue be lost through a prior examination of equitable claims."

What the judge had to decide was "whether a prior trial on the issue of whether the patent is unenforceable for inequitable conduct would resolve factual issues common with factual issues reserved to the jury." The judge found that the question of materiality and the question of prior art were intertwined and therefore that there was commonality of factual issues in the case. So he denied the motion for an early bench trial.

Microsoft motions for Summary judgment

Microsoft filed motions for summary judgment of non infringement:

  • with respect to support of applets,

  • with respect to support for ActiveX controls,

  • with respect to the object display function,

  • for invalidity.

The judge decision is particularly interesting because:

  1. the judge discussed prosecution history estoppel and doctrine of equivalents,

  2. the Supreme Court vacated the Festo decision after the parties had filed their brief and before the judge decided this issue. The Supreme Court notably held that the reach of prosecution history estoppel "requires an examination of the subject matter surrendered by the narrowing amendments." The judge read that it implied that "if the amendment does not narrow the scope of a particular subject matter [...] prosecution history estoppel does not bar a claim under the doctrine of equivalents with respect of this particular subject matter."

Microsoft argued that

  1. "the applicants’ narrowing amendments to the claims... and

  2. the applicants’ arguments distinguishing prior art OLE systems to secure allowance of their claims prevent application of the doctrine of equivalents to cover the distinguished operations of OLE"

give rise to prosecution history estoppel according to Festo. Plaintiffs answered that "the doctrine of equivalents is unnecessary given that Microsoft’s products literally perform the claim element of having the browser identify and locate an executable application," and that much of Microsoft’s argument "relies upon Microsoft’s faulty premise that the inventors disclaimed any use of the operating system in performing the claimed elements."

This is essentially the same discussion as in the Markman hearing. An amendment of 5,838,906 specified that it was the browser that utilized type information to identify and locate an executable application. The applicants also distinguished their invention from systems in which the operating system linked an object identifier and an executable application.

The judge first considered the motion for summary judgment of non infringement with respect to support of applets. Applets are written in Java, so in a language whose compiler generates a code that must be interpreted by a Java Virtual Machine (JVM). The Microsoft JVM is an ActiveX control called msjava.dll. When Internet Explorer encounters the APPLET tag in a Web page it uses COM to identify load and call msjava.dll. To find the location of msjava.dll COM uses the Windows registry. The JVM interprets the Java program pointed by applet tags. Consider the following example:

<applet archive="myarchive.zip" code="myclass.class" width="500" height="500">

</applet>

Here Internet Explorer downloads myarchive.zip from the page site. The JVM runs myclass.class that presumably calls other classes contained in myarchive.zip. A first question is whether the executable application is msjava.dll or the archive (myarchive.zip here).

We may note that for Internet Explorer the applet tag is just a short name for <object classid="...">. Internet Explorer can run other ActiveX controls to interpret other sorts of intermediate code. In the example below Internet Explorer calls a Macromedia control to run a Flash file.

<object id="myflash" classid="clsid:D27CDB6E-AE6D-11CF-96B8-444553540000" width="400" height="300">

<param name="movie" value="myflash.swf" />

</object>

In his Markman order the judge defined an executable application as "any computer program code, that is not the operating system or a utility, that is launched to enable an end-user to directly interact with data." Microsoft contended that a JVM does not allow an end-user to directly interact with data. This was a tough question:

  • Intermediate code interpreters can be implemented in hardware and microcode. A computer could include a Java processor and/or a Flash processor even if the cost of developing and producing processors make such processors impractical today. So an intermediate code interpreter like a JVM is a special program like an operating system or a utility.

  • Without an appropriate interpreter the intermediate code cannot produce a useful effect. So an interpreter enables an intermediate code to produce a useful effect. The JVM enables Java code to provide a means allowing an end-user to directly interact with data.

  • Claim 6 discloses an "embed text format, located at a first location in a first distributed hypermedia document, that specifies the location of at least a portion of an object external to the first distributed hypermedia document, wherein said object has type information associated with it utilized by said browser to identify and locate an executable application external to the first distributed hypermedia document, and wherein said embed text format is parsed by said browser to automatically invoke said executable application to execute on said client workstation in order to display said object and enable interactive processing of said object ." So the object and the executable application are two different things. The object can be the instantiation of a Java class performed by a JVM, which is the executable application. Then it is correct to say that the JVM enable interactive processing of this object and harder to say that the JVM displays this object. [Note that the judge could not decide at this point if the end product, namely the image projected on a web page was the only thing that can be considered as an object or if the object can encompass the image’s coding.]

The judge experts avoided to answer to this question and repeated that an executable application could be a DLL. The judge wrote: "If I construe all reasonable inferences in favor of the plaintiffs, which I must for the purpose of this motion, then I accept that a JVM is an executable application, and consequently, it becomes just another ActiveX control."

The judge considered the motion for summary judgment of non infringement with respect to support of ActiveX controls. The question to answer was "is it the browser or the operating system that identifies and locates executable applications?" In his Markman order the judge found that the browser, not the operating system, does the "heavy lifting" of identifying and locating, reading the claim language "to mean that the browser identifies and locates the executable application and that is able to perform these functions because it is armed with the knowledge of type information." Microsoft said that Internet Explorer merely determines type information and passes it on to the operating system, which then utilizes this type information to identify and locate the executable application. Plaintiffs said that Internet Explorer "utilizes type information in the text of the web page that it parses to identify and locate the executable application." The judge found that whether Microsoft or plaintiffs are correct was a question for a jury to decide after seeing the detailed evidence. Therefore the judge denied Microsoft’s motion and, because he earlier found that a JVM is another ActiveX control, he also denied the applet motion.

The judge considered the motion for summary judgment of non infringement with respect to the object display function. The question to answer was "what displays the object, the browser or the executable application?" The key sentence is "is parsed by said browser to automatically invoke said executable application to execute on said client workstation in order to display said object and enable interactive processing of said object." Plaintiffs believed that 5,838,906 allows for both possibilities. Microsoft thought that "the language of the claims is indefinite in that it is unclear whether the browser or an executable application displays [...] on the screen, and the only saving construction of the claims is that the browser displays the object, which is fundamentally different from Internet Explorer, in which the executable application does the displaying."

The judge found that:

  1. the purpose of an executable application was to enable a user to interact directly with data;

  2. it did not make sense that "to enable a user to interact directly with data has nothing to do with displaying that data."

Regarding indefiniteness a case law says "the test of definiteness is whether one skilled in the art would understand the bounds of the claim when read in light of the specification." The judge found that allowing both the browser and the executable application to display the object does not expend the number of programs displaying an object to the point of indefiniteness. The judge denied Microsoft motions for non infringement with respect to the object display function and for invalidity because of indefiniteness. Note that the consequence of the judge decision is not the same for the invalidity motion and for the other motions. Invalidity is a matter of law. So the judge ruled the invalidity motion. For the other motions he just found that they related to matters of fact to be decided by the jury.

Discovery and pleading motions

Plaintiffs filed a motion relating to discovery to find evidence of wilful infringement of 5,838,906. The judge broke down this motion in two separate issues:

  1. production of Microsoft patent applications;

  2. discovery relating to Windows server products.

Microsoft said that it "had no pre-complaint knowledge of 5,838,906 or the patent application that resulted in the 5,838,906 patent." The plaintiff disagreed and requested in the first part of the motion that Microsoft produce all of its patent applications that cite 5,838,906, which Microsoft opposed.

I found that 5,838,906 was cited by 115 patents on October 31, 2004. 16 of these patents were filed by Microsoft, which is a lot, but barely more than the number of patents filed by IBM (15). Note that 115 qualifies 5,838,906 as a very good patent. The Microsoft patents are:

Patent #

Title

Priority date / Issue date

First inventor

6,049,671

Method for identifying and obtaining computer software from a network computer

April 18, 1996 / April 11, 2000

Slivka

6,073,214

Method and system for identifying and obtaining computer software from a remote computer

Nov. 27, 1995* / June 6, 2000

Fawcett

6,101,510

Web browser control for incorporating web browser functionality into application programs

Jan. 29, 1997 / August 8, 2000

Stone

6,148,304

Navigating multimedia content using a graphical user interface with multiple display regions

March 19, 1997 / Nov. 14, 2000

De Vries

6,188,401

Script-based user interface implementation defining components using a text markup language

March 25, 1998 / Feb. 13, 2001

Peyer

6,256,668

Method for identifying and obtaining computer software from a network computer using a tag

April 18, 1996 # / July 3, 2001

Slivka

6,327,617

Method and system for identifying and obtaining computer software from a remote computer

Nov. 27, 1995 / Dec. 4, 2001

Fawcett

6,347,398

Automatic software downloading from a computer network

Dec. 12, 1996 / Feb. 12, 2002

Parthasarathy

6,363,404

Three-dimensional models with markup documents as texture

June 26, 1998 / March 26, 2002

Dalal

6,381,742

Software package management

June 19, 1998 / April 30, 2002

Forbes

6,401,099

Asynchronous binding of named objects

Dec. 6, 1996 / June 4, 2002

Koppolu

6,415,326

Timeline correlation between multiple timeline-altered media streams

Sept. 15, 1998 / July 2, 2002

Gupta

6,460,058

Object-oriented framework for hyperlink navigation

Dec. 6, 1996 / Oct. 1, 2002

Koppolu

6,545,691

Client-side control of controls loaded by a browser

June 12, 1998 / April 8, 2003

Vallejo

6,622,171

Multimedia timeline modification in networked client/server systems

Sept. 15, 1998 / Sept. 16, 2003

Gupta

6,802,061

Automatic software downloading from a computer network

Dec. 12, 1996 $ / Oct. 5, 2004

Parthasarathy

* continuation of 08/562,929 that was issued as 5,845,077 and that does not refer to 5,838,906.

# divisional of 08/634,390 that was issued as 6,049,671 (first patent in the list).

continuation of 09/149,993, issued as 6,073,214 (second patent in the list), which is a continuation of 08/562,929 filed Nov. 27, 1995, issued as 5,845,077.

continuation of 08/764,040, filed Dec. 12, 1996 now abandoned.

$ continuation of 09/436,185 filed Nov. 8, 1999 (presumably issued as 6,347,398, eighth patent in the list), which is a continuation of 08/764,040 filed Dec. 12, 1996 now abandoned.

For each patent we give two dates:

  1. the date at which the patent application or its parent was filed;

  2. the date at which the patent was issued (granted).

The list includes all patent applications that were granted but not applications that are not yet granted or which were abandoned. Between these two dates Microsoft provided an Information Disclosure Statement including 5,838,906, possibly because the examiner informed Microsoft that they had to include 5,838,906.

5,838,906 was filed on October 17, 1994 and granted on November 17, 1998. Shortly after, Eolas and the University of California notified Microsoft that they were infringing 5,838,906. As you can see Microsoft may have known about "5,838,906 or the patent application that resulted in the 5,838,906 patent" in

  • the prosecution of any of these patents

  • the prosecution of 5,845,077 or 08/764,040

  • the prosecution of other patents I have not identified

  • a patent watch (an analysis of published patents in areas of interest for Microsoft).

I do not know what search means were between 1994 and 1998. I started to use the USPTO site only in December 1999. In my opinion it would be hard to believe that, in 2000 or later, a patent or patent application on a given subject matter could be unnoticed by all people in a corporation having a dozen of ongoing patent applications on the same subject matter. This is also reasonable to think that in term of patent watch and business intelligence related to computing Microsoft is the second best company in the world, the first one being IBM and that Microsoft had the way to effectively monitor patent applications in 1994. Therefore someone in Microsoft probably read 5,838,906 soon after it was made public. However the knowledge of a company is not the sum of what all people working for this company have heard about:

  1. Patent analysis requires knowing both the patent system and the domain to which the invention pertains. This job requires experience. The analyst misses many things if he was not working in the patent domain when the patent was filed.

  2. For an organization that publishes many complex products, there are many patents that cannot be safely eliminated without an analysis.

  3. Patent analysis takes time, three hours to report a first impression, one week to check if a process or method may infringe the patent. An opinion of counsel (the opinion of a third party attorney) may cost $15,000 and more.

  4. So companies do not have the resources to analyze all patents and patent applications of interest. They actually concentrate their effort on competitors’ patents for two reasons: (1) The risk is higher in case of infringement of a competitor patent; a competitor can more easily demonstrate that it suffers non-monetary damage harm and be granted an injunction or even a preliminary injunction. (2) The analysis of competitors’ patents returns business intelligence data. This analysis gives useful results in any case.

The judge denied a first plaintiffs’ request for discovery explaining that he saw it "as a useless endeavor." He added that "given the practice of citation before the Patent Office, particularly in Interference proceedings, I am unlikely to attach a great deal of weight to the fact that somebody has actually cited a patent." The judge observed that "in the application that resulted in US Patent No. 6,049,671, the [US]PTO sent Microsoft a rejection of its application, one of its grounds being a citation to the 5,838,906 patent as prior art. What this document shows is that the examiner found some prior art not relied upon in the application that was 'considered pertinent to the applicant’s disclosure', and it included a citation of 5,838,906 patent as disclosing 'that self-extracting data objects are known in the art.'"

The judge denied the part of the plaintiffs’ motion relating to the production of Microsoft patent applications because it would "exert a fair amount of burden and cost to Microsoft," the number of applications to produce being more than 100 and the time to review an application being of three hours.

About the second part of the motion (discovery relating to Windows server products), Microsoft said that "these server products have never been accused, and to include these products in the list of accused products would substantially expand the case due to the fundamental difference between client and server products." Plaintiffs said that they were seeking "garden-variety spreadsheet summary data regarding licenses, revenue and profitability of accused server versions of Windows 2000 and Windows NT operating system software with Internet Explorer." The judge understood that plaintiffs’ complaint pointed toward all Microsoft products that incorporate or integrate Internet Explorer and said that "whether the difference between server and client software places server software outside the scope of plaintiff’s complaint is a question of facts for the jury to decide". So the judge granted this part of the motion.

Plaintiffs filed another motion to compel Microsoft’s response to wilfulness issues. The judge understood that Microsoft position was that "it did not know of the patent (as opposed to press releases about the patent), had no legal concern about whatever it did know, had no reason to seek opinion of counsel, and thus did not receive any advice from counsel concerning the patent prior to the filing of the complaint." He said that if Microsoft "did have knowledge of the patent and does have opinions of counsel (in-house or outside) then it must disclose those facts and provide a log of those opinions to plaintiff." The plaintiffs showed the following evidence that Microsoft had a pre-suit knowledge of 5,838,906:

  1. a mail from the president of Spyglass technology to a Microsoft employee to which a press release referring to the 5,838,906 patent application was attached;

  2. instructions to a Microsoft in-house lawyer to not answer certain questions on ground of attorney-client privilege during her deposition.

Therefore plaintiffs asked the judge decision ("disclose those facts and provide a log of those opinions to plaintiff") to be executed. This is the same issue as for pending patent applications. The judge observed that "knowledge in the context of wilfulness issues in this case must constitute more than being aware that something exists." The Microsoft employee admitted forwarding the Spyglass mail to the in-house lawyer but he also explained that he was "at a fairly low level at the company" and needing to keep his boss informed. Neither Spyglass nor the employee analyzed 5,838,906. The in-house lawyer was instructed not to answer. The testimony does not prove that the in-house lawyer gave legal counsel.

[It is entirely possible that the in-house lawyer never read 5,838,906. A mail forwarded by a low level employee and informing about a patent is a prompt and not an obligation to act. A lawyer, presumably also at a low level asks her supervisor for instruction and when the supervisor says to do nothing she happily follow the instruction. On the other hand Microsoft paid a royalty to Spyglass to use their browser technology and people allowed to talk with partners usually do not have a so low level at a company.]

The judge found that the plaintiff evidence did not indicate that Microsoft knew more than the existence of the application and therefore denied the plaintiff motion.

Microsoft filed a motion to enforce a protective order. The judge previously entered the following protective order: "all discovery material (and the information contained therein) whether designated as confidential or not so designated, shall be used by each party receiving it solely for the prosecution or defense of the claims in this litigation or any appeal therefrom and shall not be used by this party for any business, commercial, competitive, personal or other purpose." Microsoft alleged that plaintiffs, or more precisely the firm that represents them, had violated the protective order. This firm was working on two cases against Microsoft. An attorney working on both cases noticed that some documents disclosed by Microsoft for the Eolas case could also be useful for the other case and alerted attorneys working on this other case, and these attorneys sent a letter to Microsoft asking for these documents. However there is no indication that these attorneys knew what was contained in the documents. They wrote that they aware of the protective order and had no intention of using in the other case documents produced in the Eolas case. The judge held that this is not a violation of the protective order and denied the motion.

Verdict

The jury answered yes to the two questions:

  1. Did Eolas and the University of California prove, by a preponderance of the evidence, that Microsoft has infringed claim 1 of the 5,838,906 patent?

  2. Did Eolas and the University of California prove, by a preponderance of the evidence, that Microsoft has infringed claim 6 of the 5,838,906 patent?

The jury held the 5,838,906 patent valid and infringed.

Judgment order

The judgement order notably says that

  1. "Defendant [Microsoft] has infringed claim 1 and 6 [the two independent claims] of the 5,838,906 patent and induced United States users of Internet Explorer to infringe claim 1of the 5,838,906 patent.

  2. Defendant has not shown by clear and convincing evidence that claim 1 or claim 6 of the 5,838,906 patent is invalid.

  3. Defendant has not shown by clear and convincing evidence that the 5,838,906 patent is unenforceable as a consequence of unequitable conduct.

  4. Plaintiffs are awarded a royalty for defendant’s infringement of the 5,838,906 patent at a rate of $1.47 per unit [2.5% of the selling price] of the infringing products. Defendant infringement for the period from 17 November 1998 through 30 September 2001, as decided by the jury, entitles plaintiffs to an award for damages against defendant in the amount of $520,262,280."

In my view the most interesting paragraph is 7 that says:

"beginning 17 weeks after entry of this judgement and order, any new version of Microsoft’s Windows operating system [...] containing Internet Explorer technology [...] shall not enable to display interactive objects embedded in Web pages received over the Internet in a manner that would infringe claim 6 of the 5,838,906 patent."

This judgment order motivated the steps to address Eolas Patent Ruling. On October 6 Microsoft announced the following changes on the <object>, <applet> and <embed> tags:

  • By default when an Active X control is loaded the user must acknowledge a message box that displays: "Press OK to continue loading the content of this page". The reason for this message is that 5,838,906 describes a method for the browser to automatically execute a program. If it requires the user to acknowledge the Microsoft browser no longer automatically executes a program and therefore no longer infringes the patent.

  • There are three solutions to avoid the message box. The first one is to use DHTML to dynamically insert the control stuff. The second solution is to define the <object>, <applet> or <embed> element without any attribute or <param> child that could specify a URI. The third solution is to add a new attribute NOEXTERNALDATA attribute to the <object> element. We understand that this also applies for <embed> and <applet>. NOEXTERNALDATA is remarkable: it declares that the control does not make network accesses and prevents the control from receiving URI data from page parameters. However technically nothing can prevent a control written in a native language from networking.

Microsoft appealed the verdict and made the following statement: "It’s important to note that the court has already rejected claims that there was any wilful infringement. We believe the evidence will ultimately show that there was no infringement of any kind, and that the accused feature in our browser technology was developed by our own engineers based on pre-existing Microsoft technology.”

Post-trial order

Microsoft filed post-trial motions:

  • For judgment as a matter of law and for a new trial (denied). The judge found that this motion rehearsed a series of arguments that failed the first time around. He reminded that he had to consider "whether the evidence presented [...] is sufficient to support the verdict when viewed in the light most favourable to the party against whom the motion is directed."

  • For a new trial with respect to damages or, in the alternative, for remititur (denied).

  • To exclude foreign sales (denied).

  • To stay entry of judgment and all further proceedings (denied). The judge made an interesting comment about re-examination: "The [US]PTO rarely uses this power [to order a re-examination], and when it does, it is usually not good news for the patent holder because a high percentage of such re-examinations end in cancellation or amendment." The judge chose to deny the motion because "if its patent is finally found valid and infringed, it [Eolas] will have waited more than half a decade to be paid."

Eolas filed post-trial motions:

  • For injunction (granted but stayed). The judge seems to have chosen to stay the injunction pending resolution or abandonment of appeal or a decision to not appeal [Microsoft appealed], primarily because of the public interest: "an injunction [...] with respect to a product so widely used and deeply integrated into society, as this one, presents a policy problem." Then Microsoft wrote: "Given the present legal status as well as requests made by partners and customers, Microsoft will, for the time being, not move ahead with the modest steps it intended to take to modify Windows and Internet Explorer."

  • For a determination of prejudgment interest (granted).

  • For an equitable accounting (granted).

Re-examination

Order

The examination of 5,838,906 was ordered by the Director of the USPTO. This is a relatively unusual procedure. The USPTO guidelines "provide that the policy of the Director is to order reexaminations when it is apparent, after a review of the prosecution history, that there is a compelling reason to order reexamination [...]. Circumstances that can meet the compelling reason requirement include: (1) an examining practice, policy or procedure was not followed before the grant of a patent which resulted in a failure to consider patents and/or printed publications which prima facie make any claim(s) unpatentable, and/or (2) a significant concern about the patentability of the claimed subject matter has been expressed by a substantial segment of the industry, and/or there is substantial media publicity (e.g. the Internet or the news services) adverse to the patent alleging conspicuous unpatentability of the claims."

The concern expressed by a widespread segment of the industry about 5,838,906 created an extraordinary situation for which a Director ordered re-examination was an appropriate remedy.

This guideline raises an issue. "A significant concern about the patentability of the claimed subject matter" is expressed by a segment of an industry or by media only when the claimed subject matter harms this industry. The interest of the industry segment is clearly to invalidate the patent. Industry representatives and media are not experts expressing an independent opinion about the claims’ patentability. Though a re-examination order does not imply a patent invalidation, the guideline implies that the patent will come under scrutiny and practically needs to meet a higher standard than less harmful patents to stand.

The Director of the USPTO determined that the prior art discussed below raises a substantial new question of patentability as to claims 1-3 and 6-8 of 5,838,906.

The Director found that "the prior art does not teach as in claim 1 of 5,838,906, the particular steps used by the browser in order to process and display the hypermedia page. To summarize the prior art does not teach a method wherein the browser application parses a first distributed hypermedia document to identify text formats included in the distributed hypermedia document and for responding to predetermined text formats to initiate processing specified by the text format." However the Director found that it could be argued that "it would have been readily apparent to a skilled artisan to combine (1) the teachings of Berners-Lee [the main inventor of HTML and HTTP] regarding the processing of HTML documents performed by a browser, with (2) the HTML browser of the patent admitted prior art in light of the statement made by the prior art that its hypermedia system is designed to handle hypermedia documents according to the HTML markup standard."

The Director noted that the patentee found that the prior did not teach:

  • "said first distributed hypermedia document includes an embed text format, located at a first location in said first distributed hypermedia document, that specifies the location of at least a portion of an object external to the first distributed hypermedia document" and

  • "said embed text format is parsed by said browser to automatically invoke said executable application to execute on said client workstation in order to display said object and enable interactive processing of said object within a display area created at said first location within the portion of said first distributed hypermedia document being displayed in said first browser-controlled window."

Non final action

Claims 1-3 and 6-8 were rejected as being obvious over the admitted prior art of 5,838,906 and the following new prior art:

  1. a IETF draft about HTML by Tim Berners-Lee;

  2. a document about HTML+ by Dave Raggett (Raggett I);

  3. a posting in a W-WW-TALK mailing list by Dave Raggett (Raggett II).

I present here the reasoning of the examiner for claim 1 from which follows the rejection of claims 2-3 and 6-8. He found that the admitted prior art did not teach the following portions:

  1. "said first distributed hypermedia document includes an embed text format, located at a first location in said first distributed hypermedia document, that specifies the location of at least a portion of an object external to the first distributed hypermedia document";

  2. "said object has type information associated with it utilized by said browser to identify and locate an executable application external to the first distributed hypermedia document";

  3. "said embed text format is parsed by said browser to automatically invoke said executable application to execute on said client workstation in order to display said object and enable interactive processing of said object within a display area created at said first location within the portion of said first distributed hypermedia document being displayed in said first browser-controlled window".

The examiner also found that:

  1. the IETF draft makes the first portion obvious;

  2. Raggett taught "the object has type information associated with it utilized by said browser to identify and locate an executable application external to the first distributed hypermedia document, and wherein said embed text format is parsed by said browser to automatically invoke said executable application to execute on said client workstation in order to display said object", so the second portion and the first part of the third portion.

The examiner further found that Raggett I taught that the browser could link to external editors for creating or revising embedded data, which allowed the user to interactively process the data within the browser window [the last part of the third portion].

Claims 4-5 and 9-10 were rejected as being obvious over the admitted prior art of 5,838,906 in view of the IETF draft, Raggett I and II and the following new prior art:

  1. an article of Unix Review about X11R6 entitled "The rumored changes" by Reichart that teaches a a Fresco toolkit allowing the linking and embedding of object components, where the objects can be distributed between processes on a single machine or across the network;

  2. a book entitled "Object oriented programming: an evolutionary approach" by Cox.

[I did not find the examiner’s reasoning very convincing for the last part of the third portion and for claims 4-5 and 9-10.]

HTML+

I did not find the aforementioned HTML+ document but I found an HTML+ discussion document of November 8, 1993. "HTML+ is designed for use in the World Wide Web as a non-proprietary delivery format for wide-area hypertext. It embodies a pageless model making it suitable for efficient rendering on a wide range of display types including VT100 terminals, X11, Windows 3.1 and the Macintosh. HTML+ is based upon SGML and represents document elements at a logical level. Authors may choose to create HTML+ documents directly or to use filters to convert from other formats such as LaTeX, Framemaker, and Word for Windows."

The document refers to the IMG tag and its use to insert images in a document as characters.

HTML+ was not implemented as such but was probably influential. "HTML+ is a superset of HTML and designed to allow a gradual roll over from the earlier format, with features like tables, captioned figures and fill-out forms for querying remote databases or mailing questionnaires. Large documents can be split into a number of smaller nodes for reduced latency, with explicit or implicit navigation links. This draft also includes a proposal to add support for mathematical formulae. Authors can include limited presentation hints, and further control may eventually be possible via associated style sheets." HTML+ was cited in Netscape documentation in 1995-1998. However many functions were implemented in a different way. For instance Raggett proposes to use an IMAGE tag like this:

<IMAGE src="myimage.gif">alternate text</IMAGE>

Today to get the same result we write:

<img src="myimage.gif" alt=" alternate text" />

Raggett presents many font style elements. Today we prefer to use Cascading Style Sheets and, when we want to give different semantic values to things that are displayed in the same way, we write documents in the easier to parse and more flexible XML that we transform for display into HTML with an XSL style sheet.

Raggett also presents a way of including mathematical equations in HTML documents. For instance to represent

HTML+ uses:

<math>

H(s) = ∫<sub>0</sub><sup>∞</sup> e<sup>-st</sup> h(t) dt

</math>

Interview request

The applicants (Eolas...) completed an Applicant Initiated Interview Request Form, in which they explained that the references of the examiner did not disclose or teach the features cited in claims 1 and 6.

More precisely they found that:

  1. the rendering application and external editing application of Raggett operate in completely different ways to perform different functions;

  2. the browser of Raggett could link to an external editing application whereas 5,838,906 automatically invokes an executable application in order to display the object and to enable in-place interactions;

  3. Raggett said about the external editor that "you may want to be able to pop up a kind of editor for mathematics which might have menus" [the external editor seems similar to the equation editor of Microsoft, a plug-in which is or was external to Word]

Interview summary

The inventor made a presentation. It was agreed that the applicant would file a written response incorporating the presented arguments.

The interview summary contains:

  • the presentation;

  • various definitions from the Microsoft Press Computer Dictionary.

I only consider here the presentation slides.

The applicant defines:

  • the scope of claims 1 and 6 as "Executable application is automatically invoked when an embed text format is parsed by the browser, in order to display the object and allow in-place interaction while the web page is displayed;"

  • the Berners Lee reference as a specification of the HTML language;

  • the Raggett references as a specification of static inline images;

He says that the external rendering application of Raggett references "would cease execution as it returned a static image to the browser, prior to the image being displayed to the user." For me this is a key point. The HTML/HTTP principle, which was also the principle of dumb terminal protocols like SNA/3270, is that to change the display and interact with the web site the user has to move to another page, the browser like the dumb terminal having only a viewer capability. 5,838,906 teaches away of this principle. The user stays on the same page, in which a graphical application is inserted.

I do not find the explanation entirely convincing. The applicant says that Raggett references teach implementing rendering application through Unix pipes, these pipes being treated as files by the calling program [the browser?] and that in this context, reading the data stream from a pipe is like reading from a file. [The rendering application can implement an interactive behavior if both pipe streams are kept opened and if the rendering application loops reading its input stream.] The written response (see below) is more precise. It says that the rendering application of Raggett receives the foreign data (for instance an equation), transforms the data into a static image, returns the image to Mosaic, and terminates prior to the image being displayed to the user.

Written response

The applicant said that the combination of the admitted prior art, cited in 5,838,906 and including Mosaic and OLE, of the IETF draft about HTML and of the Raggett references does not show the claimed features of 5,838,906. "There is no suggestion or teaching in Raggett I or II, singly or in combination, of modifying Berners-Lee and/or applicant admitted prior art to automatically invoke an external application to execute on a client computer, when an embed format is parsed, to display and interactively control an object in a display window in a document being displayed in a browser-controlled window on the client computer. [...] The secondary consideration of failure of others to follow Raggett references to implement the claimed technology and professional approval (presentations and a cover article in Dr Dobbs journal) further supports the conclusion of non obviousness."

In the detailed argument the applicant defines a Person Having Ordinary Skill in the Art (PHOSA) as "a person who is just graduating from a good computer science program at a college or a university, not a star student but just a typical, average student, or a person who has gained equivalent knowledge in the industry. The person knows how to do things in a conventional way but does not exhibit an unusual level of innovative thinking." This definition comes from an independent expert, the Professor Edward W. Felten, Professor of Computer Science at Princeton University.

In 1994, the PHOSA is familiar with:

  1. Mosaic;

  2. HTML;

  3. the inline images as supported by the IMG tag.

The PHOSA "would be aware from using the IMG tag that image data can be maintained separately from the HTML source page and can be referenced by a URL included in the IMG tag. [This is still the way it works today. In 1998 Brian Wilson called IMG "the main method for including multimedia content in an HTML document, accomplished via in-line graphics." The IMG tag turned to be able to accommodate video and VRML as well as images.] Thus, the PHOSA would understand that the statement in Raggett II that foreign data can be put in a separate file referenced by a URL is merely a restatement of the technique previously used by the IMG tag to create inline images inserted into the text."

Professor Felten further found that "the teaching in Raggett I and II to use Raggett’s proposed EMBED tag within the FIG tag requires that Raggett’s proposed EMBED tag return a static and non-interactive image."

The FIG element is a deprecated form of the IMG element "to define an image, with optional overlays, text elements and 'hotzones', to be inserted within a document. The structure of the contents of the FIG element expects a series of optional overlay images defined by OVERLAY elements, followed by an optional CAPTION element, followed by text to be presented as an alternative to the image(s) and which may contain normal text elements as well as hypertext links defined by A elements with SHAPE attributes to identify "hotzones" on the image, finally completed by an optional CREDIT element." It was typically used like in this example:

<FIG SRC=" pola.jpg">

<P>Select between:

<UL>

<LI><A HREF="../polaris/pol-pola.html#toc2" SHAPE="rect 20,276,217,392">Login control</A>

<LI><A HREF="../polaris/pol-pola.html#toc7" SHAPE="rect 243,277,741,457">ShoppingBasket control</A>

<LI><A HREF="../polaris/pol-pola.html#toc4" SHAPE="rect 16,484,202,506">Commit control</A>

</UL>

</FIG>

Today we rather use maps like this:

<img src="pola.jpg" usemap="#pola" title="Screenshot of Polaris A client" />

<map name="pola">

<area shape="rect" coords="20,276,217,392" href="../polaris/pol-pola.html#toc2" alt="Login control" target="_blank" />

<area shape="rect" coords="243,277,741,457" href="../polaris/pol-pola.html#toc7" alt="ShoppingBasket control" target="_blank" />

<area shape="rect" coords="16,484,202,506" href="../polaris/pol-pola.html#toc4" alt="Commit control" target="_blank" />

</map>

Professor Felten gave this rather convincing demonstration:

"The requirement that Raggett’s proposed EMBED tag return only a static image is further reinforced by the discussion in Raggett 1 of active areas at page 13. The ISMAP attribute described with respect to he FIG tag causes the browser to send mouse clicks on a figure back to the server using a selected coordinate scheme. [...] The Web page author thus creates a semantic correspondence between areas of the figure and Web pages that can be retrieved by clicking over the various areas. If the figure displayed were to be interactively changed then this semantic correspondence would be destroyed. Further, a mouse click can have only a single function. Since the ISMAP feature causes the browser to send mouse clicks to the server, the mouse click cannot be utilized to interact with the image and the image must be static."

In the HTML 3 documentation the W3C describes the ISMAP attribute in the following way:

"An image map is a graphical map by which users can navigate transparently from one information resource to another. The ISMAP attribute identifies an image as an image map. The IMG element can then be used as part of the label for a hypertext link (see the anchor element). When the user clicks on the image the location clicked is sent to the server designated by the hypertext link." The W3C gives the following example:

<A HREF="http://machine/htbin/imagemap/sample">

<IMG SRC="sample.gif" ISMAP></A>

Therefore the applicant objected:

"The majority of 'impermissible hindsight' case law concerns situations where bits and pieces of the prior art are patched together utilizing the claims as a roadmap. Here the bits and pieces do not even exist but must be fundamentally changed before being pieced together. Accordingly, the prior art itself, without utilizing the teachings of the 5,838,906 patent to modify the teachings of the prior art, does not suggest or make obvious claims 1 and 6."

The applicant further observed that

  1. the World Wide Web Talk Group eventually recommended to abandon the EMBED tag for technical reasons;

  2. a paper entitled "Inserting objects into HTML", edited by Raggett and including Berners-Lee as an author defined the <OBJECT> tag to allow an HTML author to specify the data to be inserted into HTML documents as well as the code that can be used to display/manipulate that data. [This was in 1996, so after the 5,838,906 filing and the <APPLET> tag.]

This may mean that for Raggett EMBED and OBJECT were different things.

Dr Dobbs article

This article was mentioned by the applicant to show the professional approval of 5,838,906. It was published in February 1996 and entitled "Proposing a standard Web API". Its summary says:

"At last count, there were nearly a dozen APIs vying for hearts and home pages of Web developers. Our authors propose a standard API that leverages the concept of embedded executable content for interactive application development and delivery."

The authors are Dr Doyle, Cheong Ang and David Martin, the co-founders of Eolas. Dr Doyle and Cheong Ang also co-authored a paper entitled "Polymap: A Versatile Client-Side Image Map for the Web" that propose a mechanism (Polymapping) that stores the hot-spot information in an otherwise unessential part of the image file -- the application-specific field of existing common image formats. [Quite interestingly, Doyle seemed to have worked on mapping issues before moving to embedded objects - a bit like Raggett. In both cases Dr Doyle was probably on the leading edge and one of the first to patent. The hotspot patent of Dr Doyle is 4,847,604.]

"Proposing a standard Web API" teach us the genesis of the 5,838,906 invention. In the late 1980s, the National Library of Medicine began a "Visible Human Project" to create a standard database of human anatomy. Doyle group worked on solving problems related to both allowing interactive control of Visible Human data and distributing access to the system to scientists anywhere on the Internet. Medical visualization was demanding in file size, memory and processor power. In early 1993 Dr Doyle, Cheong Ang and David Martin saw Mosaic for the first time in a demo made by the NCSA director. [Mosaic was probably still alpha]. They were so impressed that they chose to integrate Mosaic in their medical visualization system. They meet the four conditions to make a significant invention:

  1. an early knowledge of an innovation;

  2. a motivation, which was to facilitate the access to Visible Human data;

  3. the resources; their group had money and time presumably thank to the US government;

  4. a feasible task of enhancing an existing program in order to practice the invention because (1) Mosaic sources were available (2) these sources were reasonably easy to read and modify by people having ordinary skill in the art.

They "designed and implemented an API for embedded inline applets that allowed a Web page to act as a container document for a fully interactive remote-visualization application, allowing real-time volume rendering and analysis of huge collections of 3-D biomedical volume data, where most of the computation was performed by powerful remote visualization engines."

"This work was shown to several groups in 1993, including many that were later involved in projects to add APIs and applets to Web browsers at places such as NCSA, Netscape, and Sun."

Their enhanced version of Mosaic, called WebRouser:

  1. implemented an EMBED tag [different from the Raggett one], through which inline plug-in "Weblet" applications are supported in Web pages;

  2. supported "Weblet" applications conforming to an Eolas Distributed Hypermedia Object Embedding (DHOE);

  3. supported the NCSA common client interface (CCI) to allow "Weblets" to drive the browser.

"DHOE and CCI collectively made up the Eolas Web API (WAPI) as supported in WebRouser." WAPI "exploits both the efficiency of X-events for communication of interaction events and graphic data and the flexibility of socket-based messaging for browser remote control and HTML rendering of Weblet-generated data." The impression I got from reading the example and the article was that WAPI was probably efficient and flexible but also as cumbersome as the X API.

Declaration by Doyle

Dr Doyle declared that the earliest demonstrations of the 5,838,906 technology given in late 1993 and early in 1994 "were very enthusiastically received by the scientific and technical community", including:

  • the Director of the National Library of Medicine and Director of the National Coordination Office for High Performance Computing and Communication (HPCC);

  • SIGWEB, a special interest group for the World Wide Web founded by Dr Doyle and including Xerox PARC, Sun Microsystems, SCO and Silicon Graphics;

  • Silicon Graphics;

  • a "Medicine meets Virtual Reality" conference;

  • universities of Michigan and Pennsylvania.

Second non-final action

The examiner rejected again all claims for obviousness.

In this communication the examiner agreed that the combination of the admitted prior art, of the IETF draft of Berners-Lee and of the Raggett references did not explicitly teach "a method that enables interactive processing of said object". But he found a new ground of rejection, a document by G. Toye and others entitled "A Methodology and Environment for Collaborative Product Development, Proceedings, Second Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises, 1993, IEEE, pp. 33-47" published on April 22, 1993. The examiner found that this document discloses a distributed hypermedia system in which the hypermedia browser allows a user to interactively process an object embedded within a distributed hypermedia document and makes obvious the claims of 5,838,906.

In response to the improper hindsight reasoning argument, the examiner explained that "any judgment about obviousness is in a sense necessarily a reconstruction based on hindsight reasoning. But so long as it takes into account only knowledge that was within the level of ordinary skill at the time the invention was made, and does not include knowledge gleaned only from the applicant’s disclosure, such a reconstruction is proper."

The examiner commented the declaration of Dr Doyle in this interesting way:

"Although the Doyle declaration describes the reaction of various audiences and experts as favorable, the declaration usually states these reactions were favorable without explaining what these reactions were and the reason they were favorable. There are many possible explanations for the favorable reactions. [...] The favorable reactions may have been due to the inventors’ allocation of resources to implement an obvious function that the WWW community had so far been unable to devote resources to implementing."

I think that the examiner is correct in saying that (1) the Doyle declaration usually states these reactions were favorable without explaining what these reactions were (2) there many possible explanations for the favorable reactions. However I disagree with the idea that the WWW community would have been unable to devote resources to implementing an obvious function. The examiner is correct in saying that system design is incremental but the rule in this industry is to write first a bogus version including everything that can be envisioned and then to enhance the first version. A very high development cost could deter a community to implement a function that appears as useful and obvious but it does not seem the case here. We read in the Dr Dobbs article that the inventor saw Mosaic for the first time early in 1993 and demonstrated the invention late in 1993. So he had no time to design and implement something costly. We also know that the first implementation was leveraging on X-events and on the Mosaic CCI and was relatively simple.

Toye paper

I know "A Methodology and Environment for Collaborative Product Development, Proceedings, Second Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises, 1993, IEEE, pp. 33-47" only from the applicant response.

The applicant says that:

  • "Toye is a paper describing a SHARE project that seeks to apply information technologies in helping design teams gather, organize, re-access, and communicate both informal and formal design information to establish a shared understanding of the design and design process."

  • SHARE has a component called NoteMail that includes a notebook. "Any application that displays through an X-server can insert its output (audio, video or graphics) dynamically into a notebook page through a dynamic window. [...] First, after a data object or file is selected by a user for inclusion in a notebook, the system will invoke the appropriate application for display in the notebook. Subsequently selecting the displayed data with the mouse will restart the original application so that data can be edited or updated without leaving the network environment."

[If I understand correctly, NoteMail implements something like the structured storage and clipboard subset of OLE combined with remote database persistence.]

Applicant’s response

The applicant reminded that "the establishment of a prima facie case of obviousness requires that the claimed combination cannot change the principle of operation of the primary reference or render the reference inoperable for its intended purpose." Then he said that the combination of Toye with the combination of the admitted prior art, of the IETF draft of Berners-Lee and of the Raggett references would change the operation of the latter combination and render it inoperable for its intended purpose.

The applicant explained that the Mosaic, Berners-Lee, Raggett I and II combination teaches a distributed model "in which static pages can be published by everyone, on a server anywhere in the world, and read by everyone. The pages are connected by simple, unidirectional links that are used only to navigate from one page to another. A page is created and edited by its authors, using a separate editing application, and is viewed, but not modified, by its readers using a separate browser application." The applicant found that, in contrast, Toye teach the use of a centralized database for storage of a workgroup’s documents. The applicant concludes that "any attempt to combine the centralized storage of referenced objects taught by Toye with the Mosaic, Berners-Lee, Raggett I and II combination would change the basic principle of operation of the combination."

[I find the applicant reasoning interesting albeit unconvincing. The examiner considered the NoteMail component of SHARE in his action whereas the applicant’s argument is based on another component, called Distributed Information Services (DIS), which is, according to the applicant, "a centralized information storage and management service for all the data associated to a design." And the question is not whether the whole SHARE system combined by the Mosaic, Berners-Lee, Raggett I and II combination make 5,838,906 obvious but whether the SHARE system discloses functions, which make 5,838,906 obvious when combined with the Mosaic, Berners-Lee, Raggett I and II combination. I also think that the Mosaic, Berners-Lee, Raggett I and II combination describes a system in which pages can be static or dynamically generated by servers. For instance Raggett describes an ISMAP attribute that identifies an image as an image map. When the user clicks on the corresponding image the location clicked is sent to the server designated by the hypertext link. This piece of information is useful only if the hypertext link points out a server program or script. However the applicant’s reasoning is interesting because the combination teaches that the only way to change what is displayed is to call a server whereas 5,838,906 not only allows but also forces the user to stay on the same page to interact with the embedded application. So, in one way, 5,838,906 changes the basic principle of operation of the combination and, hence, any attempt of the examiner to combine the combination with other prior art will also change the basic principle of operation of the combination, which may mean that the only relevant prior art is the prior art that teaches the same change.]

The applicant also found that:

  1. Toye does not disclose a distributed hypermedia system in which the hypermedia browser allows a user to interactively process an object embedded within a distributed hypermedia document. [The applicant uses the same reasoning as above for the "distributed" term. For the "hypermedia" term I tend to agree with the applicant who essentially says that, to be combined with the Mosaic, Berners-Lee, Raggett I and II combination a system must use a multimedia format functionally (inline images, links) and technically (textual) close to HTML.]

  2. There is no motivation or teaching in the admitted prior art, IETF draft, and Raggett and Toye references to combine the references to make the claimed invention obvious. The applicant says [rightfully in my opinion] that "the fundamentally different problems solved by the Mosaic, Berners-Lee, Raggett I and II systems (HTML browser) and the Toye system teach away from a combination that would make the claimed invention obvious. A possible source for a motivation to combine references is the nature of the problem to be solved. MPEP 2143.01. Here the Mosaic, Berners-Lee, Raggett I and II combination and the Toye system solve problems of a completely different nature and have structures and implementations that are fundamentally incompatible."

Patents Presentation Search Issues Strategies Business Methods Patentability Analysis MercExchange eBay Trial Reexamination Business view Granted patents Examination USPTO EPO PanIP Eolas 1-click family 1-click analysis 1-click prior art Trademark Copyright

Contact:support@pagebox.net
2001-2005 Alexis Grandemange   Last modified

Presentation
Search
Issues
Strategies
Patentability
Analysis
MercExchange
eBay
Trial
Reexamination
USPTO
EPO
PanIP
Eolas