Patent re-examination - Eolas
The re-examination of 5,838,906 takes place with an application number 90/006,831.
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:
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:
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:
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:
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:
The re-examination documents include data about the trial that I present first. These data include:
Eolas and the University of California were the plaintiff and Microsoft the defendant.
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:
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:
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.
Microsoft alleged that the main inventor of 5,838,906, Dr Doyle
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:
"Thus, for a failure to disclose to constitute inequitable conduct, there must be clear and convincing proof of:
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
"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:
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:
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:
The judge decision is particularly interesting because:
Microsoft argued that
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:
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.
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:
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:
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:
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:
* 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:
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
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:
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:
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.
The jury answered yes to the two questions:
The jury held the 5,838,906 patent valid and infringed.
The judgement order notably says that
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:
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.”
Microsoft filed post-trial motions:
Eolas filed post-trial motions:
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:
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:
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:
The examiner also found that:
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:
[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.]
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:
Today to get the same result we write:
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
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:
The inventor made a presentation. It was agreed that the applicant would file a written response incorporating the presented arguments.
The interview summary contains:
I only consider here the presentation slides.
The applicant defines:
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.
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:
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:
Today we rather use maps like this:
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:
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
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:
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:
"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:
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.
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:
[If I understand correctly, NoteMail implements something like the structured storage and clipboard subset of OLE combined with remote database persistence.]
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:
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