Computer Ethics, Summer 2011
LT 412; 6:00-9:00 TTh, June 23, Class 10
Read Baase, chapter 4 section 7, on patents
Reading original patent descriptions
You can look them up online. Follow uspto.gov -> patents ->
patft (uspto.gov/patft). Or go directly to the search-by-patent-number
page:
http://patft.uspto.gov/netahtml/PTO/srchnum.htm
Some software patents
Here's an interesting list of some software patents, supposedly
"random" though some particularly famous ones are sprinkled in:
http://bat8.inria.fr/~lang/hotlist/free/licence/patents.html
Another list can be found at: http://www.textfiles.com/law/softpat.txt
XOR cursor, patent 4197590 (more below under Heckel's paper)
Method for dynamically
viewing image elements stored in a random access
memory array
cpu Stack Pointer register, patent 3794980, to George Cogar,
1971. Supposedly, though I can't find the source, this was purchased by
DEC [?] and eventually placed in the public domain. Or not enforced. Or,
possibly, it was in fact licensed by Intel/motorola/everyone_else.
ATT setuid-bit patent, # 4135240, invented by Dennis Ritchie,
applied for in 1972 and later placed by AT&T in the public domain.
British Telecom patent on the hyperlink, files 1976, granted 1989.
Patent number 4,873,662. In 2000 they attempted to sue a large number
of websites. The
patent itself apparently refers to a system in which multiple remote
users can access "blocks" of data on a central computer.
Altavista patents on "web searching". Altavista did have several
such patents on basic web "crawling". Most were predated by the
"archie" archive-searcher for ftp sites, developed by Alan Emtage in
1989. Altavista was purchased by CMGI, which some claim is a patent
troll.
RSA encryption: patent 4405829
Choose primes p and q.
Reveal n=pq
Find e and d so xed = x mod n (this is not hard)
Common values for e: 3, 5, 17, 257, 65537. Note (xe)d = xed.
(n,e) is the public key, d is the private key
RSA uses standard high-precision arithmetic in its calculations; the
underlying number theory has been well-known for centuries.
The patent was for the APPLICATION of these standard methods
to encryption. That application was certainly novel.
The RSA patents finally expired, after much controversy. Part of
that controversy was self-induced; the patent owner at one point appeared to grant a general license
for noncommercial use, but then backed away from that.
The RSA idea is not "obvious-in-context". In fact, RSA is, for many
people, the classic Good Example for why software patents are needed.
Compton 1989 patent on multimedia, despite Apple Hypercard in ~1987.
Steir patent 5,060,171 on artificially adding hair to a person's image
[Garfinkel article; obvious-in-context]
Eolas v Microsoft:
About a way for running "applets" in a browser window. See below.
NTP v RIM: the blackberry patent. See below.
mp3: lots of development went into this. See below.
Lempel-Ziv / LZW compression, patents 4464650 [?], 4558302
This is the compression scheme in GIF file formats. The gif format was
developed by CompuServe in 1987. A year later, they noticed that the
algorithm was patented, and that the patent was currently held by
Unisys. Allegedly, Unisys told Compuserve at that time that they would
not need to pay royalties.
In 1999, Unisys demanded that some noncommercial websites pay a
$5000 fee for hosting files in the gif format (an interesting strategy,
given that the sites were not themselves rendering the images). Some
commercial sites
were asked for even more. It's not clear whether anyone paid it; most
affected sites rapidly switched to .jpeg or .png. Some observers were
especially offended by the fact that Unisys allowed the use of the GIF
format as a free standard until it became well-established, and then demanded fees.
There's some question as to whether this was the only or even the
dominant reason for the shift to PNG format; the latter does offer more
features (especially alpha and gamma) than GIF, and is a lossless
format unlike JPEG.
Note that LZW compression is not "obvious-in-context"; you can realize you need compression and still work very hard to develop LZW.
Natural-order recalculation in spreadsheets:
Patent 4398249
More below following Heckel's paper
Cell A depends on B if A needs B's value
in its formula
Rule: Before calculating A, calculate all cells A depends on.
Duh.
The algorithm is called "topological sort";
published in the CS literature in 1963.
Rene K. Pardo and Remy Landau filed for a patent in 1971: U.S.
Patent 4,398,249. This was an important case in allowing software
patents (initially their request was denied as an "algorithm")
Spreadsheets were a brilliant idea (Dan Bricklin, VisiCalc?),
but not order of recalculation.
MS has patented the FAT disk format. Here is a summary of the
events from the Public Patent Foundation, which had challenged that
patent:
In April 2004, the Public Patent
Foundation filed a formal request with
the United States Patent and Trademark Office to revoke Microsoft
Corporation's patent on the FAT File System, touted by Microsoft as
being "the ubiquitous format used for interchange of media between
computers, and, since the advent of inexpensive, removable flash memory,
also between digital devices." In its filing, PUBPAT submitted
previously unseen prior art
showing the patent, which issued in November
1996 and is not otherwise due to expire until 2013, was obvious and, as
such, should have never been granted. The PTO granted PUBPAT's request
in June 2004 and provisionally rejected the patent in September 2004.
In response to the rejection, Microsoft made amendments to the patent's
claims. The PTO proceeded to allow the
amended form of the patent.
PUBPAT had no right to appeal that decision.
The fact that PubPat can't appeal or even respond to the decision is
a serious due-process issue. If you are sued by Microsoft for using the
FAT format, you will be allowed
to respond to Microsoft's post-2004 amendments to the patent claims.
But you will probably not.
Microsoft is now actively licensing the format to flash-card
manufacturers. Why not switch to the free ext2 filesystem? Because that
just is impossible, that's why.
It is unclear which patents Microsoft is most interested in pushing.
While there are legitimate reasons for thinking that FAT itself might
not be patentable, Microsoft later introduced a strategy for supporting
both long filenames and also "8.3" filenames (8 char name, 3 char
extension). The patent that covers the dual-name strategyis less
vulnerable to "obviousness" or "prior art" challenges.
Microsoft sued the TomTom people (http://arstechnica.com/microsoft/news/2009/02/microsoft-sues-tomtom-over-fat-patents-in-linux-based-device.ars),
because TomToms, although they are based on linux, use the FAT
filesystem internally. The suit was settled
two months later, after TomTom agreed to cut the FAT.
FAT is a good example of an idea that is obvious to anyone presented
with the problem of how to
create a simple filesystem suitable for small devices. However, there is
the added problem of it's being standard
(although an unofficial one); you can't just implement a workaround.
Photoshop and patents
It might seem reasonable that such a complex program as Adobe Photoshop
has been effectively protected by patents. However, I can find no
evidence that this is the case. I did
find the following:
Macromedia has sued Adobe for patent infringement over some
Photoshop options
(http://www.managingip.com/Article/1327272/Macromedia-claims-Photoshop-patent.html)
The leading open-source alternative to Photoshop, gimp,
may have had
more trouble with Microsoft patents than Adobe's. In general, there are
lots of notes out there from gimp developers discussing their patent
woes. (I lost my specific reference, though.) Gimp has had to struggle
with the LZW patent on the gif format (US expiration 2003, Europe
2004), and the possible jpeg patent.
PTO (Patent & Trademark Office) problems:
- researching "prior art"
- secrecy of the process
ignorance is no defense: "submarine" patents
The entire process is secret: you can be making good-faith effort
to be noninfringing and get hit with a huge verdict.
Infringement is considered willful
if you had advance notice of infringing. Your belief that
the patent was invalid is NOT a defense. Damages automatically triple.
Three groups of stakeholders:
- small inventors
- large corporations
- patent-holding companies
Where do we fit in?
Patent-holding companies are sometimes known as "trolls", as in
"the troll under the bridge, demanding tolls". They are often seen as
parasitic: they do not, for example, actually produce anything. Is this
a fair characterization?
How large corporations manage:
- patent banks
- legal departments
- cross-licensing
small inventors:
- market your invention yourself??
- sell to a holding company? (These are tricky places.
They produce nothing, they interfere with progress,
but they do produce a
market for new patents.)
Open source:
voip
Legal advantage of small inventor: somewhat diminished with rise in
legal fees & increased ambiguity
But small inventors can still
sell to patent-holding companies.
Legal situation of large corporations:
- hard for small inventors to sue them
- can cross-license
The Benson decision is frequently cited as evidence that the Supreme
Court did not
intend to allow software patents; the language of the decision -- that
the algorithm was a fundamental mathematical fact -- can be read as
supporting this. Others use Benson as an example
of a case that, with the benefit of hindsight, seems more and more
strongly to have been wrongly decided; that in patenting an algorithm
on a computer, one is not patenting a mathematical idea. Or, at the
very least, Congress should simply heed the Court's call to address
this issue directly. It doesn't help any that the court seems to have
misunderstood the concept of widely varying applications.
Patent infringement suits
Note that we do not generally
have much access to the judge's reasoning in these cases. There may be
a written opinion, but often not, and in any event we generally don't
have ready access to many of the documentsoffered in evidence.
(Some of the documents, though not all, are available from the Law Library.)
(In the link above, correct the spelling of "pdf")
Paul Heckel wrote Debunking the
Software Patent Myths for
the June 1992 Communications of the ACM. Heckel approaches software
patents as a small inventor who has sued Apple over Hypercard and is in
general very strongly pro-patent. He was actually faced with huge
software-development debts and no future market because Apple had
reproduced his idea. He makes several claims.
4197590
One is that the XOR patent, 4197590, is really about patenting what
Heckel calls "largely the invention of the frame buffer". However, the
concept of a frame buffer, or memory-mapped display (in which the video
screen is memory-mapped into a location in RAM, so that writing to the
screen is as simple as writing to memory) was apparently prior art. The
patent application claims that they invent a way for a small (eg
416x312) graphics window to allow viewing of a larger 2048x2048 virtual
display, and panning across. That is
a significant invention. However, there is a reasonable body of
evidence that Cadtrak attempted to enforce the XOR-cursor portion of
the patent alone.
From the patent abstract:
A computer graphics display system
including random access raster memory
for storing data to be displayed, a raster memory control unit for
writing
data into the raster memory, a video control unit for causing such
information to be displayed on a CRT display screen....An XOR
feature allows
a selective erase that restores lines crossing or concurrent with
erased
lines. The XOR feature permits part of the drawing to be moved or
"dragged" into place without erasing other parts of the drawing.
It seems to me that a major claim of this patent, and the only relevant
claim past the 1984 introduction of the Macintosh, is the XOR feature.
It is legitimate to try to enforce just a single claim; if the Patent
Office thinks any of your claims are too obvious, they are supposed to
say so. However, the XOR claim makes a lot of sense in the context of the original patent as a nonobvious part of the idea; it is more obvious as a standalone operation.
4398249
Another is the natural-order-recalculation patent, 4398249. This was an
invention of Rene K. Pardo and Remy Landau in 1970. Heckel claims that
what Pardo
and Landau really invented was the spreadsheet, although (apparently)
in primordial form not recognizeable by later spreadsheet pioneers such
as Dan Bricklin (VisiCalc); Bricklin is generally recognized as the
inventor of the spreadsheet. Heckel does not name any software product
Pardo and Landau produced. There was indeed an important legal case
regarding the
patentability of the idea;
initially their request was denied by the PTO as an "algorithm. It is
now considered to be an "early"
software patent. Here's the idea:
Cell A depends on B if A needs B's value
in its formula
Rule: Before calculating A, calculate all cells A depends on.
The algorithm is called "topological sort"; published in the CS
literature in 1963. The actual algorithm is:
Let Known_Cells be the set of all cells we can calculate initially, ie that do not depend on any other cells.
repeat
search the spreadsheet for cells which depend only on Known_Cells.
Calculate their value, and add them to Known_Cells
until there are no new Known_Cells
Spreadsheets were a brilliant idea (Dan Bricklin, VisiCalc?), but not
order of recalculation.
Pardo and Landau sold the patent to the company Refac, which Heckel
characterizes as "a white knight in the fight against the patent
pirates". However, note the following line from the appellate court in
Refac v Lotus, at
http://www.ll.georgetown.edu/Federal/judicial/fed/opinions/95opinions/95-1350.html:
The district court did not abuse its
discretion in holding that the '249 patent is unenforceable on the ground of
inequitable conduct. [emphasis added]
Apparently Pardo and Landau were told by the USPTO that their patent was
not fully disclosed; specifically
[T]he disclosure is not deemed of the
level which would enable one with ordinary skill in the art to make
and use the invention. The flow diagram which applicants represent in
figure 2 is not of the detailed level which a
programmer would need in order to write a program from.
They presented three supposedly disinterested witnesses who each
submitted an affidavit that, yes, they could implement the desired
program from the patent description. However, one of the three, Robert
F Bullen, had a previous business relationship with Landau, that
neither of them disclosed.
So much for "white knights".
There remains the broader concern that Pardo and Landau did not in fact
appear recognize that they had a "spreadsheet", and that Dan Bricklin
was the first to grasp that concept, and that what Pardo and Landau did have was just the idea of using
topological sort when evaluating a large number of expressions with
dependencies.
Here's the abstract of Pardo & Landau's patent, slightly edited,
for compiling a set of formulas when some formulas may depend on the
values of other formulas:
A process and apparatus (compiler
program) carried out on a digital computer for converting a source
program into an object program. The source program [consisting of a set
of formulas] is entered into a first storage area of a computer. ...
The compiler program then examines each formula to determine whether it
has been defined [that is, whether it has no dependencies on as-yet-undefined formulas]. If the
first formula has been defined, it is removed from the first
storage area;
placed in a second storage area; and marked as being defined. if
the first
formula examined has not been defined, it is retained in the first
storage
area. The compiler program repeats this process for each formula in
the
first storage area. After the formulas in the first storage area
have been
examined, the compiler program determines whether any formulas have
been
added to the second storage area. If so, the compiler program
repeats
the examination of the individual formulas still retained in the
first
storage area. The compiler program repeats the process until all
formulas
have been defined; added to the second storage area; and marked as
being
defined. The content of the second storage area is an object
program which
is executable by the computer.
2009 is a little later than 1972, and some of these ideas are now
somewhat standardized, but without being familiar with this specific
algorithm I was able to come up with it "on my feet" in class once. I
see
no evidence here of any
spreadsheet-like package.
Heckel's own patent was 4736308.
It was described as covering the display of two or more strings
together on the screen (apparently scrolling with two or more
subwindows). The argument was made that if scrolling was prior art, and
subwindows were prior art, how could a trivial combination of them be
patentable? Heckel's claim is that his patent actually covers a
Hypercard-like product (hypertext plus button-activated scripts), though this is not clear from the patent abstract.
Some specific patents and cases:
- Eolas v Microsoft
- i4i v Microsoft
- NTP v RIM
Eolas v Microsoft
Patent 5838906: Distributed
hypermedia method for automatically invoking external
application providing interaction and display of embedded objects
within a hypermedia document, filed in 1994.
The alleged invention is about a way for running "applets" in a
browser window.
Is this really an "invention" at all?
Back in 1992, browsers just displayed images and static text.
However, it was clear by then that applications could display content in
windows created and "owned" by other applications; for example, MS Word
could at that time display an Excel subwindow.
What was not foreseen was that browsers would become universal
viewers of just about everything.
Microsoft v Eolas (+ Univ of California, as part of UCSF):
MS lost this case in 2004; was ordered to pay $521 million.
They then won the right to a new trial, but settled in 2007 before the
beginning of the new trial.
Patent covers
a system allowing a user of a browser
program ...
to access and execute an embedded program object [or small
computer program, often referred to as
"applets" or "plug-ins"]
Patent filed 1994, granted 1998, USPTO review 2004, upheld 2005
See http://cse.stanford.edu/class/cs201/projects-99-00/software-patents/hypermedia.html
"Viola" prior art: may or may not be
relevant: see http://www.viola.org
The Viola browser project was found by the district court to have been
"abandoned",
but the circuit court found that Viola version 1.0 was "abandoned"
only in the sense that it was replaced with version 2.0.
Part of the technical issue was about the meaning of the term
"executable application". The court allegedly gave this broad
meaning.
Microsoft claimed it only meant "standalone applications".
Eolas started by Michael Doyle, faculty member of UCSF.
UC Berkeley is apparently the owner of the patent.
Doyle certainly had some early ideas, that came before Java applets.
Had the Eolas patent been more aggressively enforced, it would have
been a huge impediment to the world-wide web.
2007: MS has claim they
invented it; this loses in Sept,
but Eolas & MS settle in August
October 2009: Eolas has launched a major lawsuit against just about
everyone: press
release. The list of defendants includes lots of sites that use
web-embedded objects: amazon, apple, eBay, and youtube.
View 1: Eolas developed some early web-embedding technology, and got
really lucky
View 2: Eolas patented Microsoft's 1990 Object Linking and Embedding
idea, and got a 20-year license to fleece us
View 3: Eolas may control a "critical" piece of the web standards.
Consider the actual Eolas patent claim again. They have allegedly patented
the idea
that an applet could be displayed automatically within a browser
window. In a sense, they have patented the idea that browsers can
display certain kinds of content.
(Actually, their claim oscillates between the idea of displaying an
applet, and the idea of displaying it automatically.
This is a tricky issue.)
Who had the idea that browsers could display any
content, and thus that that was all you really needed? One version of
VMware used a browser plugin to view your virtual machine's console!
Maybe the deepest problem with the Eolas patent is that the whole idea
of embedding one window in another is trivial.
It might not have been trivial back in 1994, but only because browsers weren't well understood.
Normally, if you patent a technique or machine, it will almost always
become at least somewhat obvious in retrospect, but here the issue is a
little stronger. It's that the idea here was inevitable,
once browsers grew to the point that they were used to view all sorts of
things. It's as if someone tried to
patent a handful of general browser strategies, without developing
them, in the hopes that one of them would pan out and they could
collect licensing fees. (Eolas did generate a working version of their
embedding idea, but they didn't
do anything to popularize it as part of the web.)
To try to put it another way, advances in software often lead to
radical changes in how we use the software. Consider browsers, or
wireless, for example. Radical change in use patterns often leads to
demands for obvious new
features, that previously were either impractical or simply irrelevant.
Here's the PTO review
upholding the Eolas '906 patent in 2005.
One of the things to get out of this document is the sense in which the
PTO process favors the inventor; they are legally bound to interpret
the inventor's claims in the most favorable light.
See Page 3 (p 7 of the pdf) for a discussion of "obviousness".
See also Page 11 (15) for a discussion of the Toye reference, in
particular the discussion on Page 13 of an early X-windows version of
Object Linking and Embedding. The NoteMail viewer could display active
content: "any application that displays through an X-server can insert
its output ... dynamically onto a notebook page through an embedded
'virtual window'". The patent re-examiner then asks whether NoteMail is
"equivalent to" a browser.
Further on (Page 17/21) it is stated that
MediaMosaic does enable interactive
control and manipulation of objects embedded in what arguably may be
construed to be a "browser-controlled window," BUT ONLY AFTER USER
INTERVENTION, such as by making a selection with a mouse. [capitals in original -- pld]
In other words, Eolas apparently has a patent on having something happen
without
having to click the mouse; their patent is for "zero-click" operation
(one better than Amazon!).
This was an important issue in 2003 as well. It is not a triviality.
However, it is difficult to see how the invention of not
having to click the mouse can be seen as deep. We're no longer talking
about the idea of embedding applets; we're talking about automatically
launching them.
Is not clicking the mouse worth half a billion dollars? That's more than
the
cost of every mouse in the US!
i4i xml patent, #5787449
Filed 1994, granted July 1998. The Canadian company i4i won a
$200-million judgement against Microsoft. Here is what the patent
claims:
A system and method for the separate
manipulation of the architecture and
content of a document, particularly for data representation and
transformations. The system, for use by computer software
developers,
removes dependency on document encoding technology. A map of
metacodes
found in the document is produced and provided and stored
separately from
the document. The map indicates the location and addresses of
metacodes in
the document. The system allows of multiple views of the same
content, the
ability to work solely on structure and solely on content, storage
efficiency of multiple versions and efficiency of operation.
Despite the italicized phrase, the patent application suggests that at the time of
invention the i4i claim was all about a perceived improvement on the
existing practice of mixing tags and content inline:
For manual production of documents the intermingling of the markup codes with the content is still the
best way of communicating structure. For electronic storage and manipulation it suffers from a number of shortcomings.
Yet further, there is a difficulty of resolving the markup codes from
the structure. Markup codes have to be differentiated from the content
stream they are a part of. This involves designating `special`
characters or sequences of characters
which should be identified and acted upon. This complicates the task of
any routine which must work on the document.
This is incredibly basic. It is fundamentally not an issue. The only
claimed improvement for the I4I approach is processing speed:
The present invention provides also for efficiency of operation on the
document. The invention allows document operations to be much more
efficient. It is no longer necessary to parse the entire document to
locate the embedded codes.
Differentiating codes from content is obviously no longer a problem
since they are held in different areas. This also allows more efficient
coding strategies to be developed without the restriction of ensuring
that all codes are clearly differentiated
from any possible content.
A further patent claim highlighting the concept of separation.
Thus, in sharp contrast to the prior art the present invention is based
on the practice of separating encoding conventions from the content of a
document. The invention does not use embedded metacoding to
differentiate the content of the
document, but rather, the metacodes of the document are separated from
the content and held in distinct storage in a structure called a
metacode map, whereas document content is held in a mapped content area.
It appears that i4i has inflated their patent claims in court to cover any editing
of xml, in such a way as to offer editing of either the content or the
structure separately. i4i's patent is basically about how to maintain
the
"metacodes" (XML markup tags) separately from the document content, for
efficiency reasons.
It is admittedly a logical chain from the idea of separating data
and
tags to the idea of separate editing of data and tags. But that chain
does not appear to be in the patent. Furthermore, at one point, in
discussing using metacode maps for multiple document views, i4i
acknowledges prior art:
In SGML this ability to overlay two or more structures on a single set of text is called Concur. Its usefulness
has long been recognized but it has proven difficult to implement
There is a detailed example in the i4i patent application as to how to convert the following:
<Chapter><Title>The Secret Life of
Data</Title><Para>Data is hostile. </Para>The
End</Chapter>
Figures from the patent application are here.
I4I did indeed "invent" something. But what they invented was
essentially the idea that some customers wanted to edit text documents
that had an underlying XML structure. Once you realize that customers
might pay for that, the creation of the actual product is obvious. This is very similar to the NTP v RIM case.
The part about "separate manipulation of the architecture and
content of a document" sounds deep, or at least nontrivial, except that
the patent application itself strongly suggests that the invention is
really just about a specific implementation technique for separating archictecture from content. Virtually all
flavors of xml use embedded tags, <foo>like this</foo>. The
whole point of the i4i patent is that it doesn't use embedded tags.
On the other hand, there are suggestions that Microsoft did in fact develop
a format for creating "custom XML schemas" that used the i4i method.
Any xml schema that lets you set the tag values in one place and one
place only, as opposed to doing a global search-and-replace, could be
said to violate the spirit of the i4i patent.
Still, it is a stretch, to say the least, to believe that the i4i patent covers all custom XML schemas.
The following is from the blog of an Office product manager at
Microsoft, Brian Jones, http://blogs.msdn.com/brian_jones/archive/2005/11/04/integrating-with-business-data-store-custom-xml-in-the-office-xml-formats.aspx.
XML Data Store
In Office 12, we've introduced a new
feature to the formats that
we're currently calling the XML data store, and the way it works is
really simple. As you should all know by now, the new format consists of
a ZIP file with a bunch of XML parts (files) inside. Up until now we've
talked about all the parts that we in Office have defined to create our
documents. You as a developer also have the ability to add your own
parts though. You can take any XML file and put it inside the ZIP
package. Then all you need to do is create a relationship from the main
document part to your XML part, and the Office applications will
roundtrip your XML with the file, which means:
Roundtripping your data: The
ability to put your XML in the
ZIP package means that you now have a place to store any data your
solution may need. The data will travel with the document, but will
always be stored as a separate XML part in the ZIP package. This means
it's really easy to get to and modify without dealing with any of the
application's data....
Separating data from the document:
As well, because the
information is stored in the data store, you benefit from the fact that
the user cannot directly edit your data by editing the document
(they
can’t accidentally delete part of your data, since it’s stored
separately.
This is kind of vague, but note that it may allow a separate
XML area that is connected to the main document only via tags. However,
the original i4i patent appeared to involve using the separate area for
tag values; the Microsoft strategy on the face of it is for a separate area for entire XML files. The
last paragraph is all about the real-world importance of separating the
tags and storing them elsewhere.
See also Joe Wilcox's article at www.betanews.com/joewilcox/article/Is-Microsoft-violator-or-victim-in-i4i-patent-dispute/1250119565,
in which he suggests that the Microsoft customers most interested in
this new Office feature were those in the pharmaceuticals industry, which is exactly what i4i writes software
for.
At the page www.afterdawn.com/news/article.cfm/2009/08/13/update_microsoft_knew_about_i4i_s_xml_patent,
there is an alleged quote from Microsoft "newly leaked emails":
"We saw [i4i's products] some time
ago and met its creators. Word 11
will make it obsolete," said one email from Martin Sawicki, a member
of Microsoft's XML for Word development team.
That would make the '449 a defensive
patent: one where the purpose is not
to be a patent troll, but instead to allow you to launch defensive
attacks against competitors that horn in on your market. This does not legitimize the patent
completely, but does put it in a different context.
An excellent technical blog on the '449 patent is at http://broadcast.oreilly.com/2009/08/mircrosoft-and-the-two-xml-pat.html.
There's a good example of what metacodes are all about, but also a
somewhat cryptic discussion of point tags (like <b> in html)
versus range tags (like <title> ... </title>, strictly
hierarchical).
MS information on how the editing works: http://msdn.microsoft.com/en-us/library/aa212889%28office.11%29.aspx.
It appears to be true that Microsoft intended
to take i4i's broader idea -- supporting the structural editing of
XML-based documents -- and thus to take over i4i's business niche.
Somehow, i4i convinced a jury in East Texas that their patent covers any editing of XML, so as to preserve the structure. This is what Office 12 did.
After the jury verdict, Microsoft petitioned the District Court for a
"Judgement as a Matter of Law" (JMoL), meaning that they wanted the
judge to declare that the jury verdict contradicted the existing law in
the case; that is, to find "there is no legally sufficient
evidentiary basis for a reasonable jury to find as the jury did." A high standard has to be met here, but this is indeed the
appropriate avenue if the jury misunderstood the patent. However, the
judge also misunderstands the patent; he wrote (in http://cs.luc.edu/pld/ethics/i4i_v_microsoft_district_jmol.pdf)
The
‘449 patented invention created a reliable method of processing and
storing content and metacodes separately and distinctly. The data
structure primarily responsible for this separation is called a
“metacode map.” According to the patent, the “metacode map” allows a computer to manipulate the structure of a document without reference to the content. [p 2]
The metacode map is a data structure that once upon a time might have
saved some computing resources, but which is trivial to work around by
leaving the tags "in place" in the document. The metacode map has
nothing to do with the idea of manipulating the XML structure without
referring to the content, except in that it might suggest one possible way to do that.
However, here's the district court opinion on data structures:
First, Microsoft argues that i4i
presented no evidence that the accused WORD products created “a data
structure” as required by the Court’s construction of the claim term
“metacode map.” The Court construed and instructed the jury that
“metacode map” and “map of metacodes” in the ‘449 patent meant “a data structure that contains a plurality of metacodes and their addresses of use corresponding to mapped content.” The Court further construed “mapped content” as meaning “the content of a document corresponding to a metacode map.”
Essentially, i4i managed to claim that any way of storing "metacodes", including embedding them in the body of the document,
amounts to storing them in a "data structure" as covered by the patent.
Even though the stated point of the patent was that this data structure
be "separate".
During trial Dr. Rhyne, one of i4i’s
technical experts, explained that the meaning of “a data structure” was
“a physical or logical relationship among data elements designed to
support specific data manipulation functions.”
In other words, embedded XML tags would now be a "data structure" too.
All this suggests that i4i has figured out how to
expand their original claims. The expanded claim is clearly still tied
to the invention, and so the court elected to uphold it, but the
expansion so waters down the original idea as to turn it into something
genuinely obvious.
Maybe Microsoft's core problem is that they were not able to find a short and comprehensible way to say the following:
embedded codes are prior art.
Microsoft appealed the case to the Federal Circuit, and then to the
Supreme Court. But you cannot appeal a finding of fact as to claims
interpretation. The issue MS brought to the Supreme Court was the
fairness of the presumption that patents were valid, which thus
required "clear and convincing evidence" to overturn a patent. The
Supreme Court upheld this standard, though they did agree that in the
case of prior art that had not
been previously considered by the patent office then a weaker
"preponderance of evidence" standard could apply. But that didn't help
Microsoft.
Discussion:
- Is i4i a "patent troll"?
- How does this case affect the rest of us?
- What did i4i really invent?