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

Patent search

Motivation

In the past you could start a software business without knowing anything about patents. This is no longer the case. At the end on the 90’s it seemed possible to patent almost any kind of process or method. This is no longer the case. The current software patenting system favors corporations, which can support the cost of building patent portfolios and dedicate more resources to infringement disputes: legal departments of companies like IBM or Microsoft are bigger than most software companies. Furthermore while patents exist to reward innovation, the software industry provides numerous examples of blatant copy, which seems to show that the patent system fails to achieve its purpose. One reason is that a credible software patent deters other companies of using its method or process. If the patentee has no follower, if the patented function is not trendy customers do not buy the product and the patented function has no commercial value. Therefore quite often a company tolerates first what it complains about later on. To learn more about this aspect you can read Society and Computing.

However patenting is not the only way to protect your intellectual property. The patent system makes increasingly difficult to keep secret your intellectual property but at the same time the technological evolution makes easier and increasingly effective to publish or donate this intellectual property.

In this document we explain what a patent is and we present the patent system with its national patent offices and its treaties. We discuss software patents’ pending issues and we present the different Intellectual Property strategies. This document can also help for market intelligence. Patents are usually a reliable source of information. The document alternates the explanations, examples and links (including all pages from where we borrowed ideas and sentences) needed to understand the matter. We also introduce a method and a set of Open Source tools to help finding patents and prior art.

The original version of this document was published in December 2002. The November 2003 version and the current October 2004 were major updates.

We wrote another document, called Business Method and Software patents, in which

  1. we consider in more detail technical aspects,

  2. we try to define what an invention is,

  3. we present an innovation assessment method, and

  4. analyze the MercExchange v. eBay case.

Jargon

We avoid as much as possible to use legal language. However we quote and link to legal documents. You also need to understand this language to read USPTO manuals. Some words are old English, some are French but most of them come from the Latin. http://www.users.globalnet.co.uk/~loxias/legal.htm is entertaining. You can also look at http://www.mylawyer.com/glossary.htm for a glossary.

Patents

In this section we briefly explain:

  1. Why patents exist

  2. Why software patents exist

  3. What is patentable

Why patents exist?

Patents exist to grant inventors "the right to exclude others from making, using, offering for sale, or selling" inventions. The idea is to provide an incentive for inventing, the inventing process being perceived as an expensive and risky business. The American constitution says: "Congress shall have power ... to promote the progress of science and useful arts, by securing for limited times to authors and inventors the exclusive right to their respective writings and discoveries."

That is arguably true for some inventions:

In 1902, a patent was granted in the United States to William Heal on the float glass process. Heal described the feasibility of continuously melting and delivering molten glass onto molten tin in a chamber, and then drawing the sheet of glass along the surface of tin into an annealing lehr. This concept was not actively pursued until the l950’s when Pilkington Brothers in Great Britain initiated an active program to develop a float process for commercial use. The process turned to be so successful that Pilkington competitors had no choice but to use the process and during a while most of the Pilkington revenue came from license fees.

The idea was known of everybody. Pilkington was the only company to take the risk to invest on the concept up to the point it was effective. The very reason why patents exist is to reward and encourage that sort of attitude.

If you want more information you can read the FAQ of the Office of Intellectual Property Management of the University of New Hampshire.

Why software patents exist?

Software patents exist because software programs implement processes and methods and because these processes and methods can be patented. The things are however subtler: According to the American law it should be possible to patent "anything under the sun that is made by man". However it is not possible to patent mathematical algorithms because they are the expressions of natural laws that are merely abstract ideas constituting disembodied concepts or truths that are not useful. See http://cyber.law.harvard.edu/is98/final_papers/Lee.html for more information: algorithms that do not manipulate abstract ideas can be patented.

The idea is that we can patent human inventions but not natural laws. Einstein could not patent the relativity whereas Bell could patent the telephone. In the past it was easy to distinguish between natural laws and inventions though a natural law is indeed a human invention that turned to be the simplest explanation for a set of observations. In the future the simplicity criteria could be replaced by usefulness for a given set of applications and different explanations to observations could co-exist. Therefore the patentable domain may broaden again.

Patentability conditions

Most software patents are filed by firms. In an Empirical Look at Software Patents, James Bessen and Robert Hunt conclude; "U.S. legal changes have made it easier to obtain patents on inventions that use software. Software patents now comprise 15% of all patents, mostly acquired by manufacturing firms and large firms. Only 6% belong to software publishers. Our regression analysis finds that these patents differ from others: they are cheap patents." They also explain: "Firms that acquire the largest share of software patents appear to be just those firms that acquire large portfolios of patents for strategic purposes."

Most software patents describe a process implemented in a project or in a prototype. Because they did not require a specific R&D effort such software patents are cheap. The project was funded only to fulfill a marketing request and designers of "ordinary skills" made reasonable design choices, which allowed a successful implementation. As a result:

  1. A company does not pay its designers and programmers to identify surprising and unexpected results. Therefore the invention is usually obvious for a person of the art.

  2. The invention is new for the first company that chooses to develop a product with some new functions. The patented process is the most obvious means to offer the new functions.

  3. The inventors do not aim to be granted the right to exclude others from using the same process or method. The inventors aim to be granted the right to exclude others from releasing products with the same functions.

We have shown in this section that Intellectual Property is a rapidly evolving area. Because it must remain consistent for all invention domains and in time, Intellectual Property becomes increasingly complex.

Practices

A software patent has to be written in terms that someone that never heard about computers can understand. To the opposite of biotech patents there are no formal coding rules.

An interesting aspect of software development is that this is a cross-domain activity: an invention can serve many needs – almost as many needs as the hardware that run the programs. However patent offices usually follow another way. They classify inventions according to their claims AND to the business activity where the invention was first applied. This approach reduces the scope of the protection granted by the patent regardless of the novelty and usefulness of the patent. It makes patent scatting possible: someone who knows two business domains can file a patent in domain B with a process of domain A: the patent is a new use of a known process.

In this section we present the existing classifications and we comment an example.

Classification

The two most common classifications are the United States Patent and Trademark office (USPTO) and the World Intellectual Property Organization (WIPO) classifications.

You can find the USPTO classification at http://www.uspto.gov/go/classification/ and the international classifications at http://www.wipo.int/classifications/en/index.html.

The most useful parts for the beginner in the USPTO page are:

On the WIPO page select the International Patent Classification. You will find eight sections:

Computers are classified in Physics like tobacco is classified in human necessities.

Software is classified in Electric Digital Data Processing (G06F) though software processes are usually not linked to a particular hardware model: an optical computer implementing a Von Neuman machine could run them.

We describe later in this document how to find the classes of interest for your business domain.

Example

Many articles have been written on the case described in this section.

Our intent here is to give information and not to comment decisions or acts.

Background

CRSs, also known as Global Distribution Systems (GDSs) were invented at the end of the 60’s mainly to serve air transportation needs. The air transportation industry comprised airlines and travel agencies. Travel agents sold the tickets whereas the airlines provided the transportation means. The CRS idea was to connect the travel agents to an intermediate system connected to the airline systems. The concept was similar to Internet online sell today. When we exclude the technology available at design time from the scope we find that CRSs and Internet business use the same processes:

  1. In both cases a large number of devices are connected to the same machine cluster. Only protocol and network topology differ.

  2. In both cases a software program handles user requests, a transaction monitor in case of CRSs, a HTTP server in case of Internet business.

  3. CRSs activity implies the exchange of messages with airlines like Internet business implies exchanging messages with partners for Credit card processing and delivery. CRSs use Host-to-Host communication whereas Internet Web service uses TCP. Quite interestingly CRSs and airlines were early adopters of the EDIFACT standard when XML was designed to facilitate online business and B2B.

The travel agent equipment is different in two ways from end-user equipment:

An inventor called Lawrence B. Lockwood filed a set of patents:

  1. 4,359,631 filed in 1980 and reissued in 1986 as RE32,115 that describes a self-service terminal

  2. 4,567,359 filed in 1984 that describes an automatic information, goods and services dispensing system

  3. 5,309,355 filed in 1993 that describes an automated sales system

4,359,631/RE32,115 "relates first to automatic reservation and ticketing terminals; second, to programmed audio-visual displays used in connection with the sale of goods and services, and to automatic, around-the-clock service tellers" and describes something similar to the self service terminals we find now in airports and railway stations, to the ATMs and even to the good dispensers.

4,567,359 "relates to a system for automatically dispensing information, services and products to customers in a self-service fashion. Such a system may be used, for example, for automatically dispensing insurance quotations and policies". 4,567,359 extends the CRS concept to other industries.

5,309,355 "is directed to an automated sales system. Specifically this invention is directed to a tool for augmentation of sales and marketing capabilities of travel agency personnel in conjunction with computerized airline reservation systems. Travel agents are able to synergistically compose individual customized sales presentations and itineraries for their clients, representing thousands of tour destinations and criteria, from multiple permutations of data sources in a fully automated fashion." This patent is a continuation of three abandoned patents and presents CRSs as prior art. The patent mainly describes a means for composing and displaying individualized sales presentations according to determinants entered into the travel agent and based on a customer's profile and requests and in combination with remotely-accessible sources of information.

Comments

We recommend reading these patents (see the USPTO URL below).

Lockwood believes in videodisks and in audio-video experience.

We found later that users require a more interactive experience. Audio-video experience is time-consuming for both the user and the expensive self-service terminals. Furthermore the audio-video experience is very demanding in language skills: maybe 1 billion persons can effectively use an English site when only English speakers can appreciate an audio-video experience. Audio-video experience is also expensive to produce and culture dependent. We learnt that audio experience is not effective in a commercial location. Lockwood did not predict the evolution of the society, for instance the rise of delinquency and vandalism. Please do not see here a political statement. When you work on flight check-in software you get an instruction: "Everything that can be stolen will be stolen. Do not even use a mouse". A self-service terminal is armored today. Such features increase the device cost and reduce its application to short operations like getting money on an ATM, which is good for the device that can serve more users and for the user who stands less time in a vulnerable position.

Lockwood missed the most important revolutions ongoing in 1980’s:

  1. Xanadu and other hypertext projects, which were at the origin of the Web,

  2. PARC and Mac Intosh that changed the user interface,

  3. Ubiquitous, inexpensive because mass produced personal computers,

  4. Internet, a general purpose network where providers and consumers could meet.

The current environment is different of what was envisioned in Lockwood inventions. There is no single organization that control terminals, networks and central systems. Internet, where users and server systems connect, acts as a market place. Users own their equipment. Servers process requests and manage data.

Lockwood was right in 4,567,359 when he identified a customer need for getting insurance quotations and policies online. But we believe that he missed a key point that prevented the extension of the CRS concept to other industries: Travel industry has a large number of products that often complement rather than compete with each other. Sharing information, for instance schedules and fares, actually increased the total revenue of Travel industry. Insurance companies had no business case to create a centralized system because they had less products and more comprehensive offers.

Story

In 1996 Lockwood sued American Airlines (the CRS inventor) asserting that a new product of American Airlines allowing to access schedule and fare information, to book itineraries, and to retrieve photographs of places of interest, including hotels, restaurants, and cruises, for display to consumers infringed his three patents. In a first judgement the district court found that the American Airlines didn't meet the conditions of the Lockwood invention:

  1. The Travel agent rather than the customer used the American product. The American product was a program and not a "substantially self-contained apparatus dimensioned to be easily transported". This product lacked "audio-visual means," "customer operated means," and "means for collecting payment."

  2. The American product did not compose "individualized sales presentations" or "selectively combine" customer information to retrieve its photographs

The district court also found that

Therefore the court invalidated 4,567,359 and 5,309,355.

Patent structure

To correctly read the judgement you must understand how patents read in court.

A patent contains:

If you are just interested by learning about the IT system of your competitors, you can focus on the description of the preferred embodiment, usually the most readable part for programmers. But if you want to know if you infringe a patent you must focus on the claim section that defines the scope of the patent owner’s exclusionary rights. The rest of the patent exists because:

There are two sorts of claims:

Each claim defines a scope. Independent claims are the most important, they stand on their own and they provide a complete definition. It is enough to infringe an independent claim to infringe a patent. Dependent claims mainly exist to provide a fallback protection if the independent claim is invalidated.

Given an independent claim that describes three elements, element1, element2 and element3, you infringe the patent if your process uses element1 AND element2 AND element3.

Given a dependent claim n that depends on a dependent claim j that itself depends on an independent claim i, your process infringes claim n only if your process infringes the claim i AND claim j AND claim n.

Here is the way it works:

Independent claims being by definition the broadest in scope are the most vulnerable.

Actually you can also infringe the patent if the court finds that your process employs essentially the same method in essentially the same way to achieve essentially the same result as the invention. This is called the doctrine of equivalence. There was a restriction in USA between November 2000 and May 2002 to the doctrine of equivalence defined by the Festo ruling. On November 29, 2000, the United States Court of Appeals Court held; (1) Any reason for amendment to a patent claim that is related to patentability will give rise to prosecutions history estoppel; and (2) When the amendment creates a prosecution history estoppel, there is no range of equivalents available for the amended elements

Just in case you do not know what estoppel means, here is the explanation. If someone states that something is so and, in reliance upon that statement, another person acts in a particular way, possibly to their detriment, then the person who made the statement is prevented, or estopped, from denying the correctness of the statement which they originally made. During the patent prosecution an examiner checks the claim novelty. When the examiner objects to a claim the applicant usually amends this claim. If the examiner finds no objection to the amended version of the claim the patent is granted. If the patentee (the former applicant) uses the doctrine of equivalence for the amended claim it denies in some way the correctness of the amendment that allowed the examiner to grant the patent.

On May 28, 2002 the Supreme Court vacated the Festo decision. As reported here the Supreme Court acknowledged that the doctrine of equivalents introduces uncertainty into the issue of claim interpretation, however, the Court disagreed with the complete bar rule set out by Federal Circuit, preferring instead a flexible approach to the doctrine of equivalents. While the Court agreed that any narrowing amendment made for a reason related to patentability could give rise to prosecution history estoppel, the Court stated that the Federal Circuit ignored the instruction in Warner-Jenkinson "that courts must be cautious before adopting changes that disrupt the settled expectations of the inventing community. Inventors who amended their claims under the previous case law had no reason to believe that they were conceding all equivalents" of amended elements when responding to a rejection. Festo decision being retroactive the Supreme Court was arguably true on this point. You can find the Supreme Court decision here.

The cancellation of the Festo decision does not mean that the history of the patent prosecution can be ignored. Before Festo "previous decisions had held that prosecution history estoppel constituted a flexible bar, foreclosing some, but not all, claims of equivalence, depending on the purpose of the amendment and the alterations in the text." Basically if the claim was narrowed because of prior art and in light of the nature of this prior art the doctrine of equivalence could not apply. This is what the Supreme Court calls the flexible bar. The consequence of this cancellation is that we are again in the same situation as before 2000. The Supreme Court wrote: "The doctrine of equivalents allows the patentee to claim those insubstantial alterations that were not captured in drafting the original patent claim but which could be created through trivial changes. When, however, the patentee originally claimed the subject matter alleged to infringe but then narrowed the claim in response to a rejection, he may not argue that the surrendered territory comprised unforeseen subject matter that should be deemed equivalent to the literal claims of the issued patent."

Therefore the Supreme Court concedes that a patent has to be interpreted in light of the proceedings in the PTO during the application process, which makes difficult for a patent holder to know what he owns, and for the public to know what he does not. This complexity makes of the patent system a tool for rich corporations. We must however say that the application of the doctrine of equivalence has never been easy, before like during and after Festo ruling. Before Festo applicants tent to file patents with broad claims that examiners had to narrow. With Festo ruling this method did not work anymore and applicants wrote more claims, narrow enough to not be rejected, which made patents harder to read.

Similar restrictions may exist in other countries. Reading the claims of a patent may be not enough to state if a product infringes a patent. You must study the correspondence between the applicant and the examiner. To get a first feeling you may look at the Patent Application Information Retrieval (PAIR) page of USPTO that we present below. Also carefully read claims. As explained on http://www.iusmentis.com/patents/crashcourse/rights/ "everyone knows a nail is equivalent to a screw, and that the accepted general term is 'fastening means'. If a claim then nevertheless mentions the use of a nail to connect two elements, the chance that a court will rule the use of a screw to be equivalent is small. After all, when the patent does not use the general term, the author must have had a reason to use the specific term." Therefore when you find for instance the same specific name or adjective in all independent claims you may suspect that the claims were amended.

There is a nice explanation of scope at http://www.iusmentis.com/patents/claims/.

For more information look at http://www.iusmentis.com/patents/crashcourse/procedure/, http://www.baypatents.com/glossary/default.asp?ID_Glossary=27, http://www.tms.org/pubs/journals/JOM/matters/matters-0102.html, http://inventors.about.com/library/weekly/aapatentdescriptionsa.htm.

Story continued

Lockwood appealed. The decision of the appeal court is also worth some analysis.

First the court noted that though the American CRS, SABRE was introduced to the public in 1962 the essential algorithms of the SABRE software were proprietary and confidential and therefore not enough information had been made apparent to enable one skilled in the art to duplicate the system. Therefore the internal nature of the Sabre system could not be considered as prior art. But the court confirmed the decision of the district court by finding that the aspects of the SABRE system that made 5,309,355 obvious were public

The whole story is http://www.law.emory.edu/fedcircuit/mar97/96-1168.html. Note that some moments the decision refers to '631 (4,359,631) and at others '115 (for RE32,115, the renewal of 4,359,631).

Then Lockwood filed a patent 5,576,951, continuation-in-part of 4,567,359 and 5,309,355, describing an "Automated Sales and services system" and a patent 6,289,319 describing an "automatic business and financial transaction processing system". In 5,576,951 Lockwood thoroughly presents the CRSs in their 1994 form as the prior art and describe improvements such as end consumer access using a multimedia terminal.

A company called PanIP represents Lockwood interests and sues small Internet companies. Here is an example of lawsuit filing with the text and drawings of 5,576,951 and 6,289,319. One of the defendants, Tim Beere created a Web site http://www.youmaybenext.com where you can find this comment:" First, through the support of the public and the help of a private prior art search firm, we have found substantial evidence undermining PanIP's patents. In May we used this evidence to file requests with the U.S. Patent and Trademark Office ("PTO") to re-examine and invalidate both of them. At the same time we moved to stay PanIP's lawsuits, and in June the federal court in San Diego issued an order staying the cases to allow our re-examination requests to be considered. In July, we received notice that the PTO has accepted our request for re-examination and agrees that we have raised "a substantial new question of patentability" as to the claims of the first of PanIP's patents. Thus, this patent will now be re-examined in its entirety and we are confident that it will be invalidated. We anticipate a similar finding with respect to the second PanIP patent shortly."

You can find the re-examination procedure on http://www.uspto.gov/web/offices/pac/mpep/documents/2200.htm. This procedure is a part of the Manual of Patent Examining Procedure. This mail lists the main documents of interest. We used to recommend visiting the Panip site, which was a good site about Intellectual Property. Regarding the dispute above you can find decisions regarding a trademark infringement and a defamation by http://www.youmaybenext.com.

October 2004 update:

The defendants created a group called the PanIP Group Defense Fund, Inc. (PGDF).

On March 22, 2004, PanIP has dismissed it case against the PGDF and its individual members in exchange for a waiver of the attorney fee award granted to the PGDF. The PGDF did not take a license of any kind from PanIP.

The U.S. Patent and Trademark Office has issued an initial rejection of the claims in the re-examination of 5,576,951. On May 5, 2004, this news story said: "nine of the 10 individual claims in the patent were rejected on the basis of anticipation in prior art. That essentially means that the Patent Office examiner determined that every element that the patent holder claimed to originate actually predated the patent and could be found in a single reference, such as an article [...]. The remaining claim in the patent was rejected on the basis of obviousness, meaning that most elements of the claim existed in prior art and that the remaining elements would have been obvious to someone skilled in the art." I understand that this re-examination takes place with an application number 90/006,625.

The U.S. Patent and Trademark Office also granted the re-examination of 6,289,319. I understand that this re-examination takes place with an application number 90/006,623. I analyze the PanIP re-examination documents on the Examination page.

The PanIP entry page contained on October 3, 2004 a notice: "PanIP.com has been taken down for maintenance for maintenance and redesign, in view of new developments. Please return soon!"

PAIR

On November 3, 2003 we checked the patent status of 6,289,319 on the Patent Application Information Retrieval (PAIR) page of USPTO. We found this prosecution history:

#

Date

Content description

32

05-14-2001

Mail Notice of Allowance

31

05-14-2001

Notice of Allowance Data Verification Completed

30

05-14-2001

Notice of Allowability

29

10-06-2000

Case Docketed to Examiner in GAU

28

09-27-2000

Mail BPAI Decision on Appeal - Reversed

27

09-27-2000

BPAI Decision - Examiner Reversed

26

10-25-1999

Mail Miscellaneous Communication to Applicant

25

10-25-1999

Miscellaneous Communication to Applicant - No Action Count

24

07-16-1999

Remand to the Examiner by BPAI

23

02-21-1997

Mail Reply Brief Noted by Examiner

22

02-21-1997

Reply Brief Noted by Examiner

21

12-26-1996

Date Forwarded to Examiner

20

12-18-1996

Reply Brief Filed

19

11-13-1996

Mail Examiner's Answer

18

10-28-1996

Examiner's Answer to Appeal Brief

17

07-17-1996

Date Forwarded to Examiner

16

07-12-1996

Appeal Brief Filed

15

07-12-1996

Request for Extension of Time - Granted

14

04-15-1996

Notice of Appeal Filed

13

03-27-1996

Mail Advisory Action (PTOL - 303)

12

03-26-1996

Advisory Action (PTOL-303)

11

03-13-1996

Date Forwarded to Examiner

10

03-11-1996

Amendment after Final Rejection

9

01-16-1996

Mail Final Rejection (PTOL - 326)

8

01-11-1996

Final Rejection

7

10-19-1995

Date Forwarded to Examiner

6

09-22-1995

Response after Non-Final Action

5

09-22-1995

Request for Extension of Time - Granted

4

04-20-1995

Mail Non-Final Rejection

3

04-03-1995

Non-Final Rejection

2

02-03-1995

Case Docketed to Examiner in GAU

1

01-26-1995

Application Captured on Microfilm

The application was filed on November 30, 1994 and granted on September 11, 2001, almost seven years later, much more than the average claimed by USPTO (24.6 months). The following events happened:

  1. Non-final rejection

  2. Final rejection

  3. Amendment

  4. Appeal brief

  5. Appeal to the Board of Patent Appeals and Interferences (BPAI)

The two first events are common. The examiner rejects the application usually because she finds that a claim is obvious or not novel. He reports his findings to the applicant. In case of final rejection the examiner fills a PTOL-326 form. After a final rejection the applicant can abandon her application, use a Continuing Prosecution Application practice that permit applicants to obtain further examination of an application or appeal against the examiner decision, which was the choice of Lawrence B. Lockwood. An amendment consists mainly in claim changes. Some claims can be cancelled, some others may be added and some others may be modified. The brief is a list of the authorities and arguments on which the applicant will rely to maintain his or her appeal. The BPAI may have been involved because of a procedure problem. See MPEP #2274 and the Examination page for details.

The patent exercise is not cheap at ten to twenty thousand dollars in USA, ten times more for a Worldwide application. This exercise is also time-consuming: two months for patent writing and many requests to reply during two to seven years. You also need the help of a patent attorney. We found this comment in a PTOL-326: "An examination of this application reveals that applicant is unfamiliar with patent prosecuting procedure. While an inventor may prosecute the application, lack of skill in this field usually acts as a liability in affording the maximum protection for the invention disclosed. Applicant is advised to secure the services of a registered patent attorney or agent to prosecute the application, since the value of a patent is largely dependent upon skillful preparation and prosecution."

Eolas

We would like to turn now our attention on another example that recently hit the headlines, the Eolas v. Microsoft case. This example illustrates several aspects of software patents like the re-examination procedure. The story is not ended but in any case this case can have implications of interest.

A first interesting aspect is that the suit was initially unnoticed. An Internetnews document of February 2, 1999 contained: "Eolas Technologies Inc., a Chicago-based Internet technology firm, filed suit for infringement of its patent [5,838,906] on browser technology, charging that Microsoft's Windows 98, Windows 95 and Internet Explorer programs infringe on Eolas' worldwide exclusive commercial rights to interactive programs." The main plaintiff was Michael D. Doyle. Some sources say that he is the only employee of Eolas. The University of California, which was the patent assignee helped him in the trial and maybe also in the patent application. The patent is not without merit. It cites an unusually large number of references and was well written. We may also note that Eolas sued Microsoft almost as soon as it was granted the patent (November 17, 1998).

The first claim of this patent filed in October 1994 contains: "a 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." The patent claims just cover the way applets, plug-ins, scriptlets and Active X controls are working.

It may be useful to remind that Mosaic, the first workable browser started to be widely used on Unix sites in 1994 and Netscape came soon after. The first version of Java was released in 1995 and was designed primarily to be used in applets. In the confusion a patent could come unnoticed. However this is not what happened for 5,838,906. On November 6, 2003 we checked its status on the Patent Application Information Retrieval (PAIR) page of USPTO. We found this prosecution history:

#

Date

Content description

57

11-05-2003

Application scanned in CRU and can be accessed by the REPS system in the Public Search Room

56

10-30-2003

Record a Petition Decision of Granted for Commissioner-Initiated Re-examination Proceeding

55

10-30-2003

Petition Entered

...

...

...

38

11-07-1994

Information Disclosure Statement (IDS) Filed

37

03-30-1998

Mail Notice of Allowance

36

03-30-1998

Notice of Allowance Data Verification Completed

35

01-27-1998

Examiner Interview Summary Record (PTOL - 413)

34

03-30-1998

Notice of Allowability

33

03-02-1998

Notice of Appeal Filed

32

03-02-1998

Request for Extension of Time - Granted

31

01-22-1998

Date Forwarded to Examiner

30

12-29-1997

Amendment after Final Rejection

29

12-29-1997

Supplemental Papers - Oath or Declaration

28

12-29-1997

Request for Extension of Time - Granted

27

11-06-1997

Examiner Interview Summary Record (PTOL - 413)

26

11-06-1997

Examiner Interview Summary Record (PTOL - 413)

25

08-25-1997

Mail Final Rejection (PTOL - 326)

24

08-22-1997

Final Rejection

23

06-19-1997

Date Forwarded to Examiner

22

06-05-1997

Response after Non-Final Action

21

03-26-1997

Mail Non-Final Rejection

20

03-21-1997

Non-Final Rejection

19

02-24-1997

Examiner Interview Summary Record (PTOL - 413)

18

02-20-1997

Date Forwarded to Examiner

17

02-19-1997

Amendment after Final Rejection

16

01-24-1997

Mail Final Rejection (PTOL - 326)

15

01-23-1997

Final Rejection

14

01-08-1997

Date Forwarded to Examiner

13

01-08-1997

Amendment after Final Rejection

12

01-08-1997

Affidavit(s) (Rule 131 or 132) or Exhibit(s) Received

11

12-13-1996

Mail Final Rejection (PTOL - 326)

10

12-12-1996

Final Rejection

9

10-09-1996

Date Forwarded to Examiner

8

08-09-1996

Response after Non-Final Action

7

05-06-1996

Mail Non-Final Rejection

6

05-03-1996

Non-Final Rejection

5

04-08-1996

Case Docketed to Examiner in GAU

4

04-08-1996

Case Docketed to Examiner in GAU

3

03-14-1995

Application Captured on Microfilm

2

12-30-1994

Application Is Now Complete

1

11-18-1994

Incomplete Application under Rule 53(b) - Filing Date Assigned

The application was complete at the end of 1994, examined and rejected a first time in 1996, rejected a second time in August 1997 before being eventually accepted in March 1998. In 1996 and even more in 1997 the value of applets was apparent. The examiner could not ignore the implications of the claims when he chose to grant the patent. Furthermore because the Web was considered as a technological revolution there were plenty of books, articles and pages describing the main contributions. Never an examiner had easier access to prior art. From a legal point of view 5,838,906 was serious but nobody took it seriously.

5,838,906 being useful there were two solutions for the defendant:

Prior art is made of expired patents and of everything that has been published or presented before. In USA and in some other countries like Australia you can publish or present your invention and file a patent later as far as a grace period has not expired. The grace period is of one year in USA. In their search for prior art, Microsoft turned up Pei Wei, who, in May of 1993 demonstrated Viola, a browser that integrated an application in basically the same way that is claimed in the patent. But Pei Wei developed Viola at University of California where Michael Doyle and other filed their patent in October 1994, therefore after the expiration of the grace period if the Viola demonstration was found valid. This is interesting to note that Microsoft did not try to demonstrate the obviousness of the invention. They could have objected that (1) the original browser of Tim Berners-Lee displayed images on different windows (2) the key breakthrough had been to embed pictures on the same window as text (3) the obvious next step was to embed controls able to communicate with servers, these controls being already used notably with Microsoft Visual Basic.

On August 12 2003 a Chicago jury ordered Microsoft to pay $521 million to the University of California and Eolas Technology for its past infringement of 5,838,906 in Internet Explorer. Microsoft said it would appeal the ruling in the U.S. Circuit Court of Appeals. "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," At the same time Microsoft said it would work hard to ensure there is "very little if any impact on our customers." Microsoft said in a statement. Michael Wallent, general manager of the Windows Client Platform at Microsoft explained: The company decided to make changes to avoid any accruing liability if it lost a planned appeal of the jury verdict and because there could be the risk of an injunction as the case proceeds.

Up to then only internetnews.com showed an interest for the story. On August 29 internetnews.com reported that W3C said Microsoft's changes to the IE browser may affect a large number of existing Web pages and urged the Web community to start considering and contributing to the range of technical options available if the patents are rigidly enforced. "Microsoft has been representing to the world that they have no choice but to remove technology from the browser and disrupt the Internet," Doyle anwered in an interview on September 19. "And I want to make it very clear that that is not the case. Microsoft has had in its power the ability to settle this case, and to the extent that they're refusing to settle, it's their decision." On October 6 Microsoft announced steps to address Eolas Patent Ruling. Microsoft originally announced substantial changes to the Default Handling of ActiveX Controls by Internet Explorer:

You may have to do something for applets and ActiveX controls and Flash, Media Player, QuickTime and RealOne handling. For Web sites that usually do not extensively use these facilities the problem is manageable. For browser-based professional applications the message box is not an option and changes are extensive.

In January 2004 the court entered its final judgment in the Eolas case and Microsoft intends to appeal. The court stayed implementation of the judgment, including implementation of an injunction, until the appeal has been heard and decided. Then Microsoft made a step back: "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." This is a good illustration of the switching costs in the software industry. If Internet Explorer was a regular product, customers would move to a competing product but if Microsoft settled a licence agreement with the patentee. But Internet Explorer has a huge market share and the switching costs associated to a migration to another browser are higher than the changes proposed by Microsoft. So Microsoft can show that they can design around the patent and cope with their internal switching costs, to the opposite of their customers and partners and the public interest is to keep the ActiveX handling in Internet Explorer unchanged.

Now we can turn our attention to the last development of the story, the patent re-examination asked by W3C. 5,838,906 describes a way of summoning content located on a server other than the one serving the page in question. The concern for W3C, which manages the HTML standard is that <applet>, <object> and <embed> tags in HTML may fall under the wording of the Eolas patent. W3C standards like HTML were produced according to a patent policy whose goal is to assure that standards produced under this policy can be implemented on a Royalty-Free (RF) basis. The fact is that even without 5,838,906 the W3C was considering using another policy allowing producing standards using patented technology. A Patent Policy Working Group (PPWG) "acknowledged a central conflict to the standardization process: Companies that spend serious time and effort coming up with the technology behind the standards may be reluctant to simply give away the rights to what they consider their intellectual property." The proposal of the PPWG, called Reasonable And Non-Discriminatory (RAND), faced a serious opposition and the W3C had to step back. The chairman of the W3C advisory committee, Daniel Weitzner wrote "this does NOT mean that W3C has made final decision in favor of a RF-only policy, nor does it mean that we have made a final determination about the role RAND licensing will play. The final decision about W3C's patent policy will be made after the PPWG has developed a new proposal, the public has had another chance to comment, and the W3C membership has had it's chance to express its views formally to the Director".

We first cite another excellent paper on InternetNews:

"Even as the W3C is insisting prior art is readily available, many wonder why this was never uncovered during the Microsoft/Eolas case that has been before the courts since 1999. According to W3C's Weitzner, efforts to have the jury consider the prior art in the HTML standard was not allowed for procedural reasons: "It [the prior art] wasn't rejected for any reason that won't allow the patent office to reexamine it. It wasn't presented to the jury because of procedural issues," he insisted.

For W3C's Weitzner, the issue is one of maintaining Web standards. "We are not involved with the political machinations here. Our fundamental commitment is that Web standards should be royalty free. The enforcement of this patent is a direct attack on the ability to participate in the Web on a royalty-free basis. It goes beyond a damage award that one of our members have to pay or wrangling between competitors," he argued.

You can find a good presentation of the re-examination process at http://www.baypatents.com/reexam.asp. The procedure for patent re-examination is at http://www.uspto.gov/web/offices/pac/mpep/documents/2200_2201.htm.

The W3C did two things:

Whereas Microsoft chose to minimize the impact of the IE change the W3C writes in the citation: "Although Microsoft's proposed redesign, as we understand it, involves only a small portion of Internet Explorer, it would render Microsoft's browser incompatible with globally-accepted standards and impair the operation of millions of Web pages. The cost to the larger World Wide Web community of fixing the problems created by such a change to Internet Explorer is incalculable, but would likely require changes to millions of Web pages, as well as changes to Web page authoring tools and other software and systems designed for the World Wide Web."

Then the W3C writes: "We strongly believe that the 5,838,906 patent is invalid in view of prior art, submitted herewith, that was never previously considered by the United States Patent & Trademark Office. While we understand that the submitted prior art was introduced during the course of the recent trial proceedings, the issue of whether it renders the 5,838,906 patent invalid was never considered." Then the W3C recalls that embedding the image with text had been described before and already implemented in Microsoft Write. This is true but at the same time few inventions and almost no software invention stand if you accept this reasoning. Furthermore 5,838,906 cites the <embed> element and OLE. W3C understand this and presents two references published more than one year prior to the filing date of the 5,838,906 patent, which are messages posted on a mailing list and subsequently disseminated. Such documents have a status of printed document because "An electronic publication, including an on-line database or Internet publication, is considered to be a 'printed publication' within the meaning of 35 U.S.C. 102(a) and (b) provided the publication was accessible to persons concerned with the art to which the document relates." You can find one of these documents at http://ksi.cpsc.ucalgary.ca/archives/WWW-TALK/www-talk-1993q2.messages/467.html.

W3C finds that claims 1-3 and 6-8 are obvious, which actually follows the understanding of Microsoft: They did not remove <embed>, <applet> and <object> from IE. They just disabled the capability for the called applets and controls to use page parameters to invoke a remote server, therefore precisely the function covered by claims 4-5 and 9-10 that stand, especially when read in light of the description: "However, this open distributed hypermedia system as it currently exists has shortcomings in that today's large data objects are limited largely by bandwidth constraints in the various communication links in the Internet and localized networks, and by the limited processing power, or computing constraints, of small computer systems normally provided to most users. Large data objects are difficult to update at frame rates fast enough (e.g., 30 frames per second) to achieve smooth animation. Moreover, the processing power needed to perform the calculations to animate such images in real time does not exist on most workstations, not to mention personal computers." This sentence lists reasons why programs like RealOne were developed and browser applications were so appealing for professional users.

The second document is the letter of Tim Berners-Lee. In this letter he stresses the disruptive effect of the court decision. For us the strongest argument is the "impact on millions of Web pages that may have historical importance". But we are not entirely convinced by the reasoning. A historical page cannot depend on a proprietary and unpublished technology. Historical pages are usually written in pure HTML because proprietary technologies require the use of proprietary authoring tools and imply higher authoring costs than HTML. The court could also find that

  1. the plug-ins (including the free Java and Flash plug-ins) versions are frequently incompatible and cannot be used for historical content,

  2. internet archives (like archive.org) don’t properly handle non-html content

Tim Berners-Lee writes: "The impact of the '906 patent reaches far beyond a single vendor and even beyond those who could be alleged to infringe the patent. The existence of the patent and associated licensing demands compels many developers of Web browsers, Web pages, and many other important components of the Web to deviate from the fundamental technical standards that enable the Web to function as a coherent system. In many cases, those who will be forced to incur the cost of modifying Web pages or software applications do not even themselves infringe the patent (assuming it is even valid). Given the interdependence of Web technology, those who wrote Web pages or developed software in reliance on Web standards will now have to retrofit their systems in order to accommodate deviations from standards forced by the '906 patent. These deviations will either reflect individual decisions by developers about how to avoid infringement liability, or will be an effort to be compatible with decisions individual vendors make in the course of their own re-design. What's more, the inevitable fragmentation and re-tooling costs caused by the ability to enforce this patent, which we believe to be invalid, cannot even be remedied by individual parties choosing simply to pay licensing fees to the patent holder. If some parties are granted a license, while others either don't or can't obtain one, we will still be left with impaired functionality of the Web. Global standards have been the basis of assuring interoperability on the Web. A patent whose validity is demonstrably in doubt ought not be allowed to undo the years of work that have gone into building the Web."

"Removing the improperly disruptive effect of this invalid patent is important not only for the future of the Web, but also for the past. Even if the Web has to endure several years of disruption, we are confident that currently active Web pages will eventually be fixed and brought into compliance with whatever the prevailing standard is. However, pages that are inactive but have historical value may well remain in a state of impaired accessibility indefinitely if Web technology is forced to deviate from standards in this manner."

This case demonstrates that the software patent law itself yields surprising and unexpected results. Thank to a succession of errors the industry used a patented technology to implement key functions. The cost of bringing in compliance pages and applications may be of the same order of magnitude as the so-called 2000 bug. A decision consistent with the current practice would be the invalidation of the 5,838,906 claims 1-3 and 6-8, which should be sufficient for historical pages. This decision can popularize and facilitate re-examination. A possible consequence could be that each time a company A sues company B for patent infringement company B asks for the re-examination of the patent. 5,838,906 does not demonstrate that software patents are bad. First this case could demonstrate that a single person can win against industry interests. Second this case may help improving the examination process.

October 2004 update:

The re-examination of 5,838,906 is ongoing. I understand that this re-examination takes place with an application number 90/006,831. On February 26, 2004 and August 8, 2004 two non-final actions rejected the claims of 5,838,906. I analyze the Eolas re-examination documents on the Examination page.

Patent organization

Patent lifecycle

The process for getting a patent is:

  1. The inventors file a patent application at a national patent office.

  2. The patent office makes a novelty search.

  3. An Examiner examines the patentability of the invention in light of the report of the novelty search. An invention is not novel if all the elements that are mentioned in a claim are also found in a single document that is part of the prior art. Any document from any source can in fact be used as prior art. It does not matter in which language the document is written, in how many copies it was made available, or whether any copies were in fact bought or read by third parties. The key point is that the document had to be published before the date of filing. As a consequence a web page can only considered as prior art if it can be proven that this web page was publicly accessible the day before the filing date and with its content the day before the filing date.

  4. The inventors and their attorney can amend the application if it was found obvious or not novel.

  5. The application is published 18 months after it has been filed. It is still an application and can still be rejected. Very often the inventors add a statement "patent pending" on their site when the application is not yet published to deter competitors to develop similar products.

  6. The examiner issues a notice of allowance and the patent is granted to inventors.

The granted patent protects the invention only in the application country. As we seen in the example above the patent can still be invalidated by a court as it was the case for the first PanIP patent. In USA it can also be re-examined by the patent office as it is currently the case for the Eolas patent and for other PanIP patents. For more information on the examination and re-examination you can read the re-examination page.

Patent cooperation treaty

To get patent protection in other countries the inventor file one single patent application to a World Intellectual Property Organization (WIPO) office in which it designates the countries in which he wants to have patent protection. Thank to the Patent Cooperation Treaty (PCT) the patent application will be applied in parallel in these countries with the filing date of the original application country.

Somewhat the same process as above is applied again:

  1. An international bureau makes a search for prior art

  2. National patent office, which can also make searches for prior art, examine the patent

This promotion process implies that governments agree on a common understanding of patents. This is defined by an agreement signed at the end of the Uruguay round, the Agreement on Trade-Related aspects of Intellectual Property rights (TRIPs). This document leaves some space for interpretation. You can look at a Review of the implementing legislation for government answers to questions asked by other governments. The fact is that software patentability is one of the most debated questions. You can download answers in a WordPerfect format that you can read with Word.

Patent offices

Country

Site

Australia

The home page is http://www.ipaustralia.gov.au/index.shtml. You can find the search engines of Intellectual Property Australia at http://pericles.ipaustralia.gov.au/ols/searching/content/olsPatents.jsp. The easiest to use search engine is http://apa.hpa.com.au:8080/ipapa/asearch

Canada

http://strategis.ic.gc.ca/sc_mrksv/cipo/patents/pt_main-e.html contains interesting documents. For searches use http://patents1.ic.gc.ca/srch_adv-e.html.

Europe

http://www.european-patent-office.org/index.htm and http://www.european-patent-office.org/espacenet/info/index.htm are two URLs of interest. The country sites are on http://www.european-patent-office.org/espacenet/info/access.htm. For searches use http://ep.espacenet.com/. The EPO Online file inspection is the equivalent of the USPTO’s PAIR.

Japan

For searches use http://www.ipdl.jpo.go.jp/homepg_e.ipdl.

New Zealand

The Intellectual Property site is http://www.iponz.govt.nz/pls/web/dbssiten.main.

Singapore

The Intellectual Property site of Singapore (IPOS) is http://www.ipos.gov.sg/. For searches use http://www.epatents.gov.sg/PE/ and http://www.surfip.gov.sg/sip/site/sip_home.htm. The former URL is the URL of the search engine of the Singapore Intellectual Property database. The latter URL is the URL of a portal allowing searching the Japanese and Taiwanese Intellectual Property databases too.

USA

The Intellectual Property site is http://www.uspto.gov/. For searches use http://www.uspto.gov/patft/index.html. To inspect the correspondence between the applicant and the USPTO use http://portal.uspto.gov/external/portal/pair.

Word-wide

The URL is http://www.wipo.int/. For searches use http://ipdl.wipo.int/.

The European Patent Office (EPO) is a prerequisite to European Union adhesion. However the EPO does not depend on European institutions (Commission and Parliament). The EPO site holds data on patents from 71 countries (45 millions at the beginning of 2004) and applications published by WIPO. Since 2003 their Online file inspection allows reading and downloading the correspondence between the between applicants and examiners thank to an Article 128 of the European Patent Convention, according to which the public is entitled to inspect the complete contents of the files relating to all European patent applications after they have been published. Since September 2004 the USPTO’s Patent Application Information Retrieval (PAIR) implements the same function. The USPTO hold data on US patents since 1790 and US applications published since 2001.

You may look at http://www.piug.org/patdbase.html for a more comprehensive list of patent databases and at http://www.piug.org/patoffc.html for a fairly comprehensive list of patent offices.

Patent search

Patent search is almost like Web search. The differences are:

  1. All patents and only patents are available. In that respect patent search engines compare more to search engines like htdig setup to index a given site than to public search engines like Google, which only indexes the most popular pages regardless of their nature. The most competitive words of a patent search engine are not the same as the most competitive words of a public search engine. If you look for seat and computer with a public search engine you will get inconsistent results whereas if you make the same search on a Patent search engine you will mainly find transportation industry patents. On the other hand acronyms, which are effective with Web search engine thank to the popularity rule do not work with patent search engines

  2. A patent is a structured content, therefore you can search for instance on claims or abstract

  3. Patents are classified and you search for patents in a certain class.

  4. A public search engine like Google indexes 3 billions patents. There are millions and not billions patents.

In this section we will take USPTO as an example.

USPTO search

The patent search page is http://www.uspto.gov/patft/index.html. Select Advanced search in Published Applications. You should get this:

Let’s assume we want to find patent applications related to PageBox. PageBox is a computer program that allows deploying applications to remote locations. The best keywords are computer, deployment, deploy and remote. If we were using a Web search engine, we would rather use Web service, deployment, J2EE, Java.

Then we will restrict our research to the text of the claims. The query will be:

aclm/computer and aclm/remote and aclm/deploy$

We get a list of 46 patent applications on Nov 26, 2002. 20020129129 (System and method for deploying and implementing software applications over a distributed network) is pretty close in some respect to PageBox. 20020129129 has been classified as 709/220, 709/218 by USPTO and G06F 015/16; G06F 015/177. We can think that if PageBox was patented it would also be in this classes:

709 stands for "MULTIPLE COMPUTER OR PROCESS COORDINATING", 220 for "Network computer configuring" and 218 for "Using interconnected networks." G06F 015/16 stands for " Combinations of two or more digital computers each having at least an arithmetic unit, a programme unit and a register, e.g. for a simultaneous processing of several programmes" and G06F 015/177 for "Initialisation or configuration control."

Computer often but not necessarily exists in the claims of a PageBox related patent but we found that such a patent should be in 709/220. We improve our result with:

aclm/remote and aclm/deploy$ and ccl/709/220

When a competitor claims to have a patent pending we use that sort of fast search. To identify patents that a project or product we use different method that consists:

  1. In writing a reference text or at least a definition

  2. Analyzing the reference text to extract the keywords

Our advice is to forget common sense. A patent is a text made of sentences. The most effective solution is therefore to find texts that look like a reference text. It is basically the same concept but not the same process as the NSA patent 5,937,422, "Automatically generating a topic description for text and searching and sorting text by topic using the same."

Note:

In the example above we used "Advanced search in Published Applications" that allows displaying patent applications, which are no longer secret and not yet granted. On http://www.uspto.gov/patft/index.html you can also select "Advanced search in Issued Patents" to display granted patents.

Which company filed the application?

In case of 20020129129 and 5,937,422 the assignee name is the name of the company. However, quite often, the assignee name is the name of the patent attorney.

If you suspect that the assignee name is not the company, look:

  1. for the patent in the EPO site, and if you don’t find the application,

  2. at the inventor names,

  3. at the specification examples and drawings,

  4. at the inventor addresses.

EPO

To look for US patents on the EPO site this is simple: add a us prefix and remove the commas. To look for 5,937,422 enter us5937422. For applications you may need to make two trials. 20020129129 is actually 2002/0129129. So you must try with and without the zero after the slash, so us20020129129 or us2002129129 (in this case us2002129129 is correct.)

Inventor name

If the "inventor" is an Intellectual Property specialist you are out of luck.

Our experience is that there are three sorts of inventors in case of company application:

  1. Inventors who designed the patented invention

  2. People who contributed to the invention for instance by checking the timecards and the expense reports of the first category

  3. VP, C*O who motivated the first category. They are quoted in press releases.

Our experience is that there are three types of inventors who design inventions:

  1. The living treasure. The living treasure has a big office. He represents his company in technical conferences.

  2. The maverick. The maverick does not like his job. He has a web site with his resume.

  3. The modest person. Because modest persons do not even know that they invent, we collectively call them dark matter: we postulate that they exist because something was invented.

This is easy to identify VP, C*O, living treasures and mavericks with Web search engines. Except for living treasures who like stability you need to find out where they were working at the date the application was filed. The living treasure or the maverick are often at the beginning of the inventor list and the VP/C*O are often at the end of the inventor list.

Examples and drawings

If the examples chosen in the detailed description of the preferred embodiment always relate to the same company there is a good chance that this company is the applicant. Look also at the figures. Quite frequently for business method and software application there are a couple of screenshots with the logo and the name of the company.

Inventor address

The city and the state where the inventors live are provided. With a site like MapQuest you can easily figure how distant are the inventors and which city is at a commuting distance from inventors. Usually geographical data are not sufficient to be sure that a patent was filed by a company for the reason that in USA companies working in a given sector are usually located in the same area.

Toolkit

Text analysis

Word count statistics give good result in patent search.

The principle is to measure the word frequency in a reference text and to use the most frequently used words in the search. Related patents are likely to exhibit similar word frequencies. The results are better when the reference text is of the same type as the searched section: use most frequent words in reference claims to search on claims and use most frequent words in a reference description to search on description.

If the reference text is written in Word you can use the WordCount macro of Cuckoo. This macro writes a report document like this:

91 2% patent

33 1% search patents

25 0% http

24 0% was ://

23 0% invention

22 0% process

20 0% claim

18 0% use claims www system

17 0% same

16 0% section application

15 0% art also

14 0% software 359

13 0% prior most lockwood text

12 0% exist company information only office travel web

11 0% business find American when because

10 0% page filed from uspto inventor experience court

...

This macro was designed primarily to improve the wording and the page performance on public search engines. Regarding the latter aspect you can find other tools on the Web. The goal is to facilitate the work of the search engines’ robots. These robots use word frequencies in the displayed text to determine the page subject, the idea being that a user who makes a search with the page’s most frequent words should find the page interesting.

We wrote a standalone tool to measure word frequencies in html pages also called WordCount.

WordCount

WordCount is written in Java (JDK 1.3 or 1.4) and uses the Kizna HTML parser.

HTMLParser is a library released under LGPL, which allows you to parse HTML (HTML 4.0 supported.) You can download HTMLParser from http://htmlparser.sourceforge.net.

Download

Source

WordCount.java

Binary

WordCount.class

Example of exclusion file

excl.txt

WordCound is a command line tool. Assuming that you have included the JDK on your path and the WordCount.class directory and htmlparser.jar on your CLASSPATH you can measure the word frequencies in the 20020129129 patent application with:

java WordCount

"http://appft1.uspto.gov/netacgi/nph-Parser?

Sect1=PTO1&Sect2=HITOFF&d=PG01&p=1&u=/netahtml/PTO/srchnum.html&r=1&f=G&l=50

&s1='20020129129'.PGNR.&OS=DN/20020129129&RS=DN/20020129129" excl.txt

Where the first parameter is the URL of the patent application on the USPTO site and excl.txt is a list of words to exclude from the measurement. We should get a report like this:

Found 5783 words

2% 119 component$

1% 91 client$

1% 88 server$

1% 86 handler$

1% 82 device$

1% 81 fil$

1% 71 download$

1% 70 system$

1% 68 network$

1% 58 document$

0% 57 install$

0% 55 element$ script$

0% 53 contain$

0% 51 method$

0% 49 application$

0% 47 logic computer$

0% 45 object$

0% 41 operat$

0% 39 window$

0% 38 browser$

0% 37 frame$

0% 35 internet

0% 34 platform$

0% 33 function$

0% 32 provide$

0% 31 require$ factory deploy$

0% 30 invention

0% 29 database

0% 27 render$ specific interface$

0% 26 embedd$ implement$ schema

0% 25 process$ button$

0% 24 operation$

0% 23 version$ enabl$

0% 22 visual assembler$ installation manager wireles$

0% 21 standard$ invoke$ us$ layout

0% 20 support$ present$ event$ starter task$

...

The report contains one line per word frequency that contains:

WordCount analyzes the text in the HTML elements. It excludes the words in excl.txt and applies a few English-dependent rules:

  1. It eliminates numbers

  2. If a word differs of another word only by an ending s, d, ed, ing, both words are considered to be the same (see the ignore method in the source code)

Therefore for other languages you probably need to slightly modify the code.

We do not believe that an improved WordCount would be much more effective. Once you have generated the list you must manually select the unexpected frequent words to be the keywords of your queries.

Search revisited

Advanced search tools in Patent search engines and in Web search engines share a common drawback: they do not allow finding ALL documents of interest for you. It is usually a minor drawback in case of Web search but in case of patent search you need to be reasonably sure that your process infringes no patent.

With the help of WordCount we can build an unordered keyword vector, for instance in case of 20020129129 V = { "server", "client", "download", "deploy$", "remote" }

Then we can define a patent distance dV to the reference text, using the vector V as

Then we can look at the patents at a given distance or closer. The idea is to recognize that there is some uncertainty in the wording of patents. We can expect that related patents use most of the words in the keyword bag but not necessarily all of them.

We can compare the lists found with this distance and with Boolean searches:

It would be nice if search engines could recognize a syntax like this:

["server", "client", "download", "deploy$", "remote" ]2

to mean that we are looking at all patents at a distance of 2 (that contain at least three words in { "server", "client", "download", "deploy$", "remote" }.)

This syntax is not supported. Therefore we need to write our own tools:

Here is an example:

java Uspto uspto.txt "aclm/server and ccl/709/220 and (aclm/client or aclm/deploy$ or aclm/remote)" server

java Uspto uspto.txt "aclm/client and ccl/709/220 and (aclm/server or aclm/deploy$ or aclm/remote)" client

java Uspto uspto.txt "aclm/deploy$ and ccl/709/220 and (aclm/server or aclm/client or aclm/remote)" deploy

java Uspto uspto.txt "aclm/remote and ccl/709/220 and (aclm/client or aclm/deploy$ or aclm/server)" remote

java Intersect intersect.html server20021130.txt client20021130.txt deploy20021130.txt remote20021130.txt

At each Uspto call we set one keyword as mandatory and the other keywords in an OR statement.

Then Intersect combines the Uspto reports to display a list of patents sorted by growing distance (patents that contain all keywords, then patents that contain all keywords except one and so on.)

Uspto

Uspto is written in Java (JDK 1.3 or 1.4.)

Download

Source

Uspto.java

Binary

Uspto.class, Uspto$TextUrl.class

Example of keyword file

uspto.txt

Uspto is a command line tool whose syntax is:

Uspto keyword_file advanced_query_string report_file

Assuming that you have included the JDK on your path and the Uspto.class directory on your CLASSPATH you can list patents whose class is 709/220 and whose claims contain "server" and either "client" or "deploy" or "remote" with:

java Uspto uspto.txt "aclm/server and ccl/709/220 and (aclm/client or aclm/deploy$ or aclm/remote)" server

Here is an example of keyword file:

publish 2

subscrib 2

network 2

install 2

method 2

assembl 2

server 2 client

Uspto calls the USPTO site in HTTP using the query parameter. Then Uspto parses the response and identifies the patent titles and URLs. Uspto calls again the USPTO site if the patent list cannot fit on one page. Next Uspto computes the patent title weights using the keyword file data.

A line in the keyword file contains two or more fields:

The weight idea is that we only read patents whose title sounds interesting and that it is boring to read 50 and more patent titles. Weights aim to facilitate this first selection. When you write a keyword file keep in mind that a title contains between two and twenty and more words. You cannot be specific.

Uspto creates two files:

Intersect

Intersect is written in Java (JDK 1.3 or 1.4.)

Download

Source

Intersect.java

Binary

Intersect.class, Intersect$AppliData.class

Intersect is a command line tool whose syntax is:

Intersect report_file uspto_report [uspto_report]*

Assuming that you have included the JDK on your path and the Intersect.class directory on your CLASSPATH you can compare reports issued by Uspto on November 30, 2002 with:

java Intersect intersect.html server20021130.txt client20021130.txt deploy20021130.txt remote20021130.txt

Here is a report returned with the command listed in the "Search revisited" section. The report contains four colums:

You can click on the application number to display the patent. However the link is a string like "http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF

&u=/netahtml/PTO/searchadv.html&r=15&p=1&f=G&l=50&d=PG01

&S1=((server.CLM.+AND+709/220.CCLS.)+AND+((client.CLM.+OR+deploy$.CLM.)+OR+remote.CLM.))

&OS=aclm/server+and+ccl/709/220+and+(aclm/client+or+aclm/deploy$+or+aclm/remote)

&RS=((ACLM/server+AND+CCL/709/220)+AND+((ACLM/client+OR+ACLM/deploy$)+OR+ACLM/remote))"

which means that it can interpreted in a different way by the USPTO dynamic search engine the day after.

Our experience is that these tools help finding patents of interest. Because they are simple you can adapt them easily to your needs. Then you can run them from time to time to check new patent applications. The key issue when we use or modify these tools is to keep a broad-enough spectrum to be reasonably sure that all patents of interest are in it and small enough to be able to analyze the patents.

Prosecution analysis

USPTO

You may want to see the prosecution history of a patent (like 5,937,422) or an application 20020129129. For patents things are simple, just go on the PAIR (http://portal.uspto.gov/external/portal/pair), select Patent number in the Search method dropdown list and enter the patent number. For applications you must first find the correct application number.

First go on http://www.uspto.gov/ and search application by number. In the application file you should have something like this:

The correct application number is made of the Series Code followed by / and by the Serial No. In this case this is 10/081921. Now you can go on http://portal.uspto.gov/external/portal/pair and enter this number:

When you click on the Submit button you should get something like this:

In this case you have five tabs. The transaction history contains what we called so far the prosecution history. The continuity data are quite useful to list the other applications in the same family. Published data usually points the patent text we have seen above. Because the examination has not yet started in this case (status = Ready for Examination) the image tab is missing. This is the case also when the patent has been granted.

This image tab is present for the previous application (10/081921):

Click on a checkbox and then on the Start Download button to download the corresponding file in PDF format. It looks like the USPTO borrowed this not-so-obvious modus operandi from the EPO. Note that "Non-Final Rejection", "Applicant Arguments or Remarks Made in an Amendment" and the "Claim" coming with "Applicant Arguments or Remarks Made in an Amendment" are of interest:

EPO

The EPO site contains prosecution files for applications and patents whose prosecution took place in Europe. To download these files go to http://ofi.epoline.org/view/GetDossier and enter a European application number, for instance EP1368755 (Method and system for providing message publishing on a dynamic page builder on the internet from IBM). You should have this:

Click on the “Open this application” icon. You should get this:

Click on a checkbox and then on the Start Download button to download the corresponding file in PDF format. Of a particular interest are:

Open Source

As you can see PageBox is reasonably distant from patents covering similar processes. Furthermore the development started at the end of 1999, which means that there is prior art to oppose to an attempt of patenting a similar process. Normally this happens silently. The patent examiner checks that claims are novel. For this checking the examiner uses patent databases and Internet archives like archive.org (Internet Way back machine) where many PageBox pages are recorded. If she finds that a claim is not novel the examiner rejects the patent application.

Open Source developers do not necessarily check if their method or process is patented. This is understandable because the patentee usually sues the richest parties between the publisher and the product users.

For instance PageBox is released with an LGPL license that includes a no warranty clause: "BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY AS IS WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION."

Therefore a company that would believe that PageBox infringes its patent would sue PageBox users rather than us and those users would have no means to complain to us. Large firms frequently perceive this aspect as a significant drawback of Open source. We must however clarify this issue.

The contract of a commercial program typically has a warranty and liabilities article that contains a clause like this: "The supplier must indemnify and hold harmless the customer against any claim concerning intellectual property relating to the program, provided that:

The buyer of a commercial product may be involved in a patent dispute and if it does not settle a transaction with the patentee the publisher may just reimburse the paid fees to the buyer and not the training and switching expenses. These expenses are usually higher for a commercial product than for an Open Source product.

Patent issues

Enablement

In an Empirical Look at Software Patents Bessen and Hunt cite an IBM attorney: "[The patent standard] currently being applied in the U.S. invites the patenting of ideas that may have been visualized as desirable but have no foundation in terms of the research or development that may be required to enable their implementation." Here there are two observations easy to verify. The first one is that the patent purpose is to protect the function rather than the means. The second one is that inventors do not provide detailed instructions explaining how the invention works.

The second observation has serious implications. Patents were invented (1) to provide an incentive for inventing (2) to not lose knowledge. Before the introduction of patents inventors kept their inventions secret. As a consequence after one or two generation the invention was lost. Countries grant inventors "the right to exclude others from making, using, offering for sale, or selling" inventions in compensation of the invention disclosure. An invention whose description does not allow a person of the art to make the same product breaks this contract. Furthermore

Poor description not only breaks the patent contract. It infringes the patent law as well. We found in the Guidelines to Inventorship Determination of the McGill University this explanation: "Conception of an invention occurs when a defi