You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1015 lines
62 KiB
1015 lines
62 KiB
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
|
|
<html>
|
|
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<title>Analysis of P3P and US Patent 5,862,325</title>
|
|
<link type="text/css" rel="stylesheet" href="http://www.w3.org/StyleSheets/TR/W3C-NOTE">
|
|
<style type="text/css">
|
|
<!--
|
|
.text { font-family: Georgia, 'Minion Web', Palatino, 'Book Antiqua', Utopia, 'Times New Roman', serif; }
|
|
table, tr, td { font-family: Georgia, 'Minion Web', Palatino, 'Book Antiqua', Utopia, 'Times New Roman', serif; }
|
|
-->
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<p><a href="http://www.w3.org/"><img src="http://www.w3.org/Icons/WWW/w3c_home" alt="W3C"
|
|
height="48" width="72" border="0"></a></p>
|
|
|
|
<h1>Analysis of P3P and US Patent 5,862,325</h1>
|
|
|
|
<h2>W3C Note 27-October-1999</h2>
|
|
|
|
<dl>
|
|
<dt>This version:</dt>
|
|
<dd><a href="http://www.w3.org/TR/1999/NOTE-P3P-analysis-19991027">http://www.w3.org/TR/1999/NOTE-P3P-analysis-19991027</a></dd>
|
|
<dt>Latest version:</dt>
|
|
<dd><a href="http://www.w3.org/TR/P3P-analysis">http://www.w3.org/TR/P3P-analysis</a></dd>
|
|
<dt>Editors:</dt>
|
|
<dd><a href="http://www.w3.org/People/Reagle/Overview.html">Joseph M. Reagle</a>, <a
|
|
href="http://www.w3.org">W3C</a> <<a href="mailto:reagle@w3.org">reagle@w3.org</a>></dd>
|
|
<dd><a href="http://www.w3.org/People/all#djweitzner%40w3.org">Daniel J. Weitzner</a>., <a
|
|
href="http://www.w3.org">W3C</a> <<a href="mailto:djw@w3.org">djw@w3.org</a>></dd>
|
|
<dt>Authors:</dt>
|
|
<dd><a href="http://www.pennie.com/bios/reinbfr.htm">Barry D. Rein</a>, <a
|
|
href="http://www.pennie.com">Pennie & Edmonds llp</a><br>
|
|
<a href="http://www.pennie.com/bios/stephensgfr.htm">Garland T. Stephens</a>, <a
|
|
href="http://www.pennie.com">Pennie & Edmonds llp</a><br>
|
|
<a href="http://www.pennie.com/bios/lebowitzhfr.htm">Henry C. Lebowitz</a>, <a
|
|
href="http://www.pennie.com">Pennie & Edmonds llp</a></dd>
|
|
</dl>
|
|
|
|
<p class="copyright"><a rel="Copyright"
|
|
href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 1999 <a
|
|
href="http://www.w3.org/"><abbr title="World Wide Web Consortium">W3C</abbr></a> <sup>®</sup> (<a href="http://www.lcs.mit.edu/"> <abbr title="Massachusetts Institute of Technology">MIT</abbr></a>,
|
|
<a href="http://www.inria.fr/"><abbr lang="fr" title="Institut National de Recherche en Informatique et Automatique">INRIA</abbr></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All
|
|
Rights Reserved. W3C <a
|
|
href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a
|
|
href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>, <a
|
|
rel="Copyright" href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a>
|
|
and <a rel="Copyright" href="http://www.w3.org/Consortium/Legal/copyright-software">software
|
|
licensing</a> rules apply.</p>
|
|
|
|
<h2>Abstract</h2>
|
|
|
|
<p>This Note is a response to a request from the W3C for Pennie & Edmonds' opinion as
|
|
to whether implementations of the W3C's <a href="http://www.w3.org/P3P">Platform for
|
|
Privacy Preferences Project</a> ("P3P") specification would infringe any claim
|
|
of Intermind's <a href="http://www.patents.ibm.com/details?&pn=US05862325__">U.S.
|
|
Patent No. 5,862,325</a>. </p>
|
|
|
|
<h2>Status of this document</h2>
|
|
|
|
<p>This analysis is published as a W3C NOTE for the benefit of P3P implementors and the
|
|
Web community Publication of a W3C Note does not imply endorsement by the entire W3C
|
|
Membership. A list of current W3C technical reports and publications, including Working
|
|
Drafts and Notes, can be found at <a href="http://www.w3.org/TR">http://www.w3.org/TR</a>.</p>
|
|
|
|
<hr>
|
|
|
|
<div class="text">
|
|
|
|
<p><span class="text">Daniel J. Weitzner, Esq.<br>
|
|
Mr. Joseph Reagle<br>
|
|
World Wide Web Consortium<br>
|
|
Massachusetts Institute of Technology<br>
|
|
Room NE43-352<br>
|
|
545 Technology Square<br>
|
|
Cambridge, MA 02139</span></p>
|
|
|
|
<p><span class="text">Re: <u>United States Patent No. 5,862,325 to Reed et al.</u></span></p>
|
|
|
|
<p><span class="text">Gentlemen:</span></p>
|
|
|
|
<p><span class="text">This responds to your request for our opinion as to whether the
|
|
protocol for exchanging data specified by the Consortium's Platform for Privacy
|
|
Preferences Project ("P3P") would infringe any claim of Intermind's U.S. Patent
|
|
No. 5,862,325 (the "'325 patent," a copy of which is annexed as Exhibit A).</span></p>
|
|
|
|
<p><span class="text">By way of summary, P3P is a proposed technical specification of the
|
|
World Wide Web Consortium, a non-profit organization that develops World Wide Web
|
|
technology standards through industry and public consensus. The proposed standard would
|
|
allow client programs such as Web browsers to determine whether a Web service's privacy
|
|
practices are acceptable to the user, permitting the service to acquire user information
|
|
only to the extent acceptable to the user.</span></p>
|
|
|
|
<p><span class="text">To accomplish this, the service transfers to the user a P3P Proposal
|
|
describing the service's privacy practices; i.e., the types of user information that the
|
|
service will gather and the uses it will make of that information. The user's Web browser
|
|
then compares the privacy practices specified in the Proposal with the corresponding user
|
|
preferences stored in a User Preference file maintained on the user's computer. The User
|
|
Preference file specifies what kinds of practices the user will accept, what kinds should
|
|
be rejected, and what kinds should cause the program to prompt the user to decide how to
|
|
respond. Thus the P3P proposal sent to the user is a purely descriptive, declaratory
|
|
statement that is processed by a program resident on the user's computer.</span></p>
|
|
|
|
<p><span class="text">The only similarity between the '325 patent and P3P is that both
|
|
involve transfer of data structures from a server to a client and both relate broadly to
|
|
controlling communications. They are otherwise dissimilar. The '325 patent describes an
|
|
assertedly unique communications system in which a particular object, called a
|
|
"control structure," is transferred from a server ("provider memory")
|
|
to a client ("consumer memory"). That control structure is a special piece of
|
|
software - a "communications object" - which encapsulates both (1) data fully
|
|
defining an intended server-client communications relationship, and (2) methods for using
|
|
the data to effect that relationship.<a href="#N_1_"><sup>(1)</sup></a> After it is
|
|
transferred to the client, the control structure runs on the client side to control
|
|
communications between client and server. According to the patent, once the client
|
|
computer receives a communications object, it need only call the object's methods; the
|
|
object handles all communications details.</span></p>
|
|
|
|
<p><span class="text">The patent and other documents filed by Intermind in the Patent
|
|
Office establish that the P3P Proposal sent to the client computer, a simple descriptive
|
|
data file incapable by itself of controlling communications between computers, differs
|
|
markedly from the "control structure" sent to the client in accordance with the
|
|
patent. Intermind acknowledged as much to the Patent Office, representing that the
|
|
abstraction, in the communications object, of all information necessary to completely
|
|
define the client-server communications relationship, was what distinguished its claimed
|
|
control structure from pre-existing technology. It would not have obtained the patent
|
|
without so limiting its claims. <strong>Since P3P does not use the "control
|
|
structure" claimed in Intermind's '325 patent, we conclude, and it is our opinion and
|
|
judgment, that a properly informed court would hold that use of the P3P protocol would not
|
|
infringe any claim of the '325 patent.</strong></span></p>
|
|
|
|
<p><span class="text">As basis for our opinion we have reviewed the '325 patent, its
|
|
prosecution history, and the prior art of record. We have also reviewed written
|
|
descriptions of P3P and the APPEL privacy-preferences language (copies annexed as Exhibits
|
|
B-D and E, respectively) and have conferred with you regarding the manner in which P3P
|
|
operates.</span></p>
|
|
|
|
<p><span class="text">Importantly, we have <em>not</em> considered all potential defenses
|
|
that might be asserted against the '325 patent since the non-infringement basis set forth
|
|
above would, we believe, constitute a complete defense against any charge of infringement.</span></p>
|
|
|
|
<p><span class="text">The sections that follow set forth the analyses underlying our
|
|
opinion including: (i) an analysis of the '325 patent and its file history; (ii) our
|
|
understanding of the P3P protocol; and (iii) a comparison of P3P to the '325 patent
|
|
claims.</span></p>
|
|
|
|
<h4><span class="text">A. The Prior Art Background To The '325 Patent</span></h4>
|
|
|
|
<p><span class="text">Transferring metadata (data describing other data) from a client to
|
|
a server for controlling communications between them did not originate in the '325 patent.
|
|
Long before the '325 patent was applied for in 1996, network computing, and especially the
|
|
Internet, had given rise to a large body of sophisticated technologies for transferring
|
|
metadata for that purpose. Much of this technology dates back more than 20 years. It
|
|
includes the Hypertext Markup Language (HTML) and Hypertext Transport Protocol (HTTP), the
|
|
essential technologies underlying the World Wide Web, which were developed by Tim
|
|
Berners-Lee and standardized by World Wide Web Consortium (which Berners-Lee directs) and
|
|
the Internet Engineering Task Force.</span></p>
|
|
|
|
<p><span class="text">The suite of technologies underlying the Web includes a number of
|
|
high-level tools that allow easy construction of complex two-way data communication
|
|
between computers. HTML, for example, provides a syntax for expressing data structures and
|
|
associated formatting information in text, typically for transmission between computers
|
|
via HTTP. Thus HTML text files have been used for years to provide the same basic
|
|
functionality as the '325 patent -- transmitting data structures from a server to a client
|
|
to control the transmission of user information from the client to the server.</span></p>
|
|
|
|
<p><span class="text">One HTML feature used to provide this functionality is the <em>form</em>
|
|
element (designated by the <FORM> tag), which (together with related formatting
|
|
elements and metadata) defines a <em>form</em> data structure for soliciting information
|
|
from a user in a manner akin to a conventional paper form. An HTML form may include text
|
|
boxes with associated labels in which a user may type text for transmission, along with
|
|
check boxes and other input elements. The <em>form</em> data structure is typically
|
|
included in an HTML file transferred from a server to a client via HTTP, whereupon the
|
|
client program processes the received form to determine the data to be transferred to the
|
|
server, solicits some or all of that information from the user, and controls the transfer
|
|
of that data back to the server.</span></p>
|
|
|
|
<p><span class="text">Similar basic functionality (apart from prompting the user to
|
|
provide data), is provided by a "cookie,"which is also acknowledged by Intermind
|
|
to be prior art. As described in the '325 patent:</span></p>
|
|
|
|
<p><span class="text">A cookie is a data structure passed from a web server to a browser
|
|
as part of the HTTP protocol. Cookies are produced by the web server and stored locally in
|
|
a preferences file by the browser. When the user next connects to the web server with the
|
|
browser, the web server can interrogate the browser for the cookie and use it to identify
|
|
the user. The cookie can additionally store preference data about the user, whether
|
|
entered manually by the user via HTML forms or collected automatically by the web server
|
|
based on the user's browsing choices.</span></p>
|
|
|
|
<p><span class="text">Ex. A, '325 patent, col. 78, ll. 26-35.</span></p>
|
|
|
|
<p><span class="text">Thus prior art Web technologies, including HTML and HTTP, included
|
|
built-in functionality for transferring data structures from a server to a client to
|
|
control communications between them. Those data structures included metadata describing
|
|
data to be transferred from client to server, and were processed by a client program to
|
|
control the data transfer.</span></p>
|
|
|
|
<h4><span class="text">B. Description Of The Preferred Embodiments Of The '325 Patent</span></h4>
|
|
|
|
<p><span class="text">Against this prior art background, Intermind's patent and the
|
|
patent's prosecution history (the record of proceedings in the Patent Office including
|
|
what Intermind told the Patent Office in order to secure the patent), treated below,
|
|
establish that its claims are limited to systems involving transfer to a client of a
|
|
special type of control structure (Ex. H, IDS at 4) for controlling communications between
|
|
client and server. Rather than a simple data structure containing a description of data
|
|
and what is to be done with it, like an HTML form, the claimed control structure is a
|
|
communications object including data, metadata, and instructions organized using
|
|
object-oriented programming to encapsulate the data together with the instructions for
|
|
using it. (Ex. A, '325 patent, col. 8, ll. 10-18, 51-63).</span></p>
|
|
|
|
<p><span class="text">Although all of the patent's 126 claims recite the control
|
|
structure, its description of the invention, surprisingly, contains no further mention of
|
|
a control structure. The remainder of the description discusses instead a
|
|
"communications object," described as an object-oriented combination of data,
|
|
metadata, and methods. And while there is nothing to explicitly equate the claimed
|
|
"control structure" with the described "communications object," a
|
|
reading of the patent reveals that they are in fact the same:</span></p>
|
|
|
|
<blockquote>
|
|
<p><span class="text">Communications objects are the primary data structure transmitted
|
|
from the provider program to the consumer program to control communications between the
|
|
provider and consumer.</span></p>
|
|
</blockquote>
|
|
|
|
<p><span class="text">Ex. A, '325 patent, col. 17, ll. 25-28. Intermind confirmed as much
|
|
in the course of securing its patent, as described below.</span></p>
|
|
|
|
<p><span class="text">According to the patent, the communications objects include methods
|
|
that "are used to automate control of underlying communication operations." Ex.
|
|
A, '325 patent, col. 9, ll. 30-32. They do so by specifying processing instructions that
|
|
execute on a client computer. Ex. A, '325 patent, col. 20, ll. 50-62. The communications
|
|
objects encapsulate everything needed to provide communications and other services, thus
|
|
hiding all the complexities of requesting services in a distributed heterogeneous
|
|
environment, i.e., they provide location transparency. Ex. A, '325 patent, col. 95, ll.
|
|
2-4, 53-61. Programs can therefore communicate and access other services by calling the
|
|
methods of a communications object without regard to how or where the services are
|
|
provided.</span></p>
|
|
|
|
<p><span class="text">This location transparency provided by the claimed communications
|
|
object allows a communications relationship between provider and consumer to be defined
|
|
simply by transferring a communications object. After the transfer, communications
|
|
originate from, and are received by, the communications object. Ex. A, '325 patent, col.
|
|
42, ll. 40-48.</span></p>
|
|
|
|
<p><span class="text">To recapitulate then, the patent describes a control structure
|
|
including data, metadata, and methods for operating on the data. The control structure is
|
|
a communications object, and encapsulates the details of communication and remote services
|
|
invocation. It thus provides location transparency and defines the communications
|
|
relationship when transferred from one computer to another. As discussed in greater detail
|
|
below, Intermind represented to the Patent Office that the abstraction of these
|
|
communications functions in a communications object is what distinguished its invention
|
|
from the prior art.</span></p>
|
|
|
|
<h4><span class="text">C. The '325 Patent Claims</span></h4>
|
|
|
|
<p><span class="text">While the body of the patent describes the communications system,
|
|
the scope of Intermind's ability to exclude others from practicing the described
|
|
technology is determined by the patent's claims.<a href="#N_2_"><sup>(2)</sup></a> The
|
|
'325 patent has 126 claims. Four of these are independent: claims 1, 20, 78, and 109. Each
|
|
of the remaining 122 claims depends from (<em>i.e.,</em> incorporates by reference,
|
|
directly or indirectly) one of the independent claims.</span></p>
|
|
|
|
<p><span class="text">All of the claims are directed to a system or method for controlling
|
|
communications between a provider memory and a consumer memory. Two of them, claims 1 and
|
|
78, deal with controlling the transfer of <em>update</em> information from a provider
|
|
memory to a consumer memory while the other two (claims 20 and 109) describe doing the
|
|
same for <em>feedback</em> information.</span></p>
|
|
|
|
<p><span class="text">Notwithstanding the difference in direction of transfer of update
|
|
versus feedback information, all four independent claims (and thus all of the patent's
|
|
claims) specify a single mechanism for controlling the communication of information,
|
|
namely, transferring a "control structure" from the provider memory to the
|
|
consumer memory and processing it at the consumer memory to "associate" one or
|
|
more processes to control the communication of information.</span></p>
|
|
|
|
<p><span class="text">The table reproduced below highlights these relationships for the
|
|
four independent claims:</span></p>
|
|
|
|
<table width="100%" border="1">
|
|
<tr valign="top">
|
|
<td> </td>
|
|
<td align="center"><span class="text"><strong>Claim 1</strong></span></td>
|
|
<td align="center"><span class="text"><strong>Claim 20</strong></span></td>
|
|
<td align="center"><span class="text"><strong>Claim 78</strong></span></td>
|
|
<td align="center"><span class="text"><strong>Claim 109</strong></span></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">1</span></td>
|
|
<td><span class="text">A computer-based communication system comprising:</span></td>
|
|
<td><span class="text">A computer-based communication system </span><p><span class="text">comprising:<br>
|
|
</span></td>
|
|
<td><span class="text">A computer-based communication method, comprising operating one or
|
|
more computers to communicate by performing the steps of:</span></td>
|
|
<td><span class="text">A computer-based communication method, comprising operating one or
|
|
more computers to communicate by performing the steps of:</span></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">2</span></td>
|
|
<td><span class="text">a provider memory storing information including provider
|
|
information;</span></td>
|
|
<td><span class="text">a provider memory storing information including provider
|
|
information;</span></td>
|
|
<td><span class="text">in a provider memory, storing information including provider
|
|
information;</span></td>
|
|
<td><span class="text">in a provider memory, storing information including provider
|
|
information;</span></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">3</span></td>
|
|
<td><span class="text">a consumer memory storing information including consumer
|
|
information;</span></td>
|
|
<td><span class="text">a consumer memory storing information including consumer
|
|
information;</span></td>
|
|
<td><span class="text">in a consumer memory, storing information including consumer
|
|
information;</span></td>
|
|
<td><span class="text">in a consumer memory, storing information including consumer
|
|
information;</span></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">4</span></td>
|
|
<td><span class="text">association means for creating metadata</span></td>
|
|
<td><span class="text">association means for creating metadata</span></td>
|
|
<td><span class="text">creating metadata</span></td>
|
|
<td><span class="text">creating metadata</span></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">5</span></td>
|
|
<td><span class="text">associating portions of said information</span></td>
|
|
<td><span class="text">associating portions of said information</span></td>
|
|
<td><span class="text">describing associations with portions of said information</span></td>
|
|
<td><span class="text">describing associations with portions of said information</span></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">6</span></td>
|
|
<td><span class="text">and defining a <strong>control structure</strong></span></td>
|
|
<td><span class="text">and defining a <strong>control structure</strong></span></td>
|
|
<td><span class="text">and defining a <strong>control structure</strong></span></td>
|
|
<td><span class="text">and defining a <strong>control structure</strong></span></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">7</span></td>
|
|
<td><span class="text">for processing </span><p><span class="text">at least at said
|
|
consumer memory</span></td>
|
|
<td><span class="text">for processing </span><p><span class="text">at least at said
|
|
consumer memory</span></td>
|
|
<td><span class="text">which is processed at least at said consumer memory</span></td>
|
|
<td><span class="text">which is processed at least at said consumer memory</span></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">8</span></td>
|
|
<td><span class="text">to associate with said metadata one or more processes</span></td>
|
|
<td><span class="text">to associate with said metadata processes</span></td>
|
|
<td><span class="text">to associate one or more processes</span></td>
|
|
<td><span class="text">to associate one or more processes</span></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">9</span></td>
|
|
<td><span class="text">for controlling the communication of said associated information,</span></td>
|
|
<td><span class="text">for controlling the communication of said associated information,</span></td>
|
|
<td><span class="text">for controlling communications of said associated information,</span></td>
|
|
<td><span class="text">for controlling communications of said associated information,</span></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">10</span></td>
|
|
<td><span class="text">said metadata including update metadata</span></td>
|
|
<td> </td>
|
|
<td><span class="text">said metadata including update metadata</span></td>
|
|
<td> </td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">11</span></td>
|
|
<td><span class="text">associating a process</span></td>
|
|
<td> </td>
|
|
<td><span class="text">associating a process</span></td>
|
|
<td> </td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">12</span></td>
|
|
<td><span class="text">for determining when said associated information has been updated</span></td>
|
|
<td> </td>
|
|
<td><span class="text">for determining when said associated information has been updated</span></td>
|
|
<td> </td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">13</span></td>
|
|
<td><span class="text">and transfer metadata</span></td>
|
|
<td><span class="text">said metadata including data exchange metadata</span></td>
|
|
<td><span class="text">and transfer metadata</span></td>
|
|
<td><span class="text">said metadata including data exchange metadata</span></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">14</span></td>
|
|
<td><span class="text">associating a process</span></td>
|
|
<td><span class="text">associating a process</span></td>
|
|
<td><span class="text">associating a process</span></td>
|
|
<td><span class="text">associating a process</span></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">15</span></td>
|
|
<td><span class="text">for transferring at least a portion of the updated information;</span></td>
|
|
<td><span class="text">for controlling the transfer of feedback information,</span></td>
|
|
<td><span class="text">for transferring at least a portion of the updated information;</span></td>
|
|
<td><span class="text">for controlling the transfer of feedback information,</span></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">16</span></td>
|
|
<td> </td>
|
|
<td><span class="text">said feedback information including at least a portion of said
|
|
consumer information,</span></td>
|
|
<td> </td>
|
|
<td><span class="text">said feedback information including at least a portion of said
|
|
consumer information,</span></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">17</span></td>
|
|
<td> </td>
|
|
<td><span class="text">to said provider memory;</span></td>
|
|
<td> </td>
|
|
<td><span class="text">to said provider memory;</span></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">18</span></td>
|
|
<td><span class="text">transfer means for transferring said information,</span></td>
|
|
<td><span class="text">transfer means for transferring said information,</span></td>
|
|
<td><span class="text">transferring said information,</span></td>
|
|
<td><span class="text">transferring said information,</span></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">19</span></td>
|
|
<td><span class="text">including said metadata defining said control structure,</span></td>
|
|
<td><span class="text">including said metadata defining said control structure,</span></td>
|
|
<td><span class="text">including said metadata defining said control structure,</span></td>
|
|
<td><span class="text">including said metadata defining said control structure,</span></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">20</span></td>
|
|
<td><span class="text">from said provider memory to said consumer memory; and</span></td>
|
|
<td><span class="text">from said provider memory to said consumer memory;</span></td>
|
|
<td><span class="text">from said provider memory to said consumer memory; and</span></td>
|
|
<td><span class="text">from said provider memory to said consumer memory;</span></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">21</span></td>
|
|
<td> </td>
|
|
<td><span class="text">feedback transfer means for transferring said feedback information
|
|
from said consumer memory to said provider memory; </span><p><span class="text">and</span></td>
|
|
<td> </td>
|
|
<td> </td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">22</span></td>
|
|
<td><span class="text">processing means for processing said metadata</span></td>
|
|
<td><span class="text">processing means</span></td>
|
|
<td><span class="text">processing said metadata</span></td>
|
|
<td><span class="text">processing said metadata</span></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">23</span></td>
|
|
<td><span class="text">to execute instructions external to said control structure</span></td>
|
|
<td><span class="text">for executing instructions external to said control structure to
|
|
perform said processes</span></td>
|
|
<td><span class="text">to execute instructions external to said control structure</span></td>
|
|
<td><span class="text">to execute instructions external to said control structure</span></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">24</span></td>
|
|
<td><span class="text">to perform said processes.</span></td>
|
|
<td><span class="text">to control communications of said information.</span></td>
|
|
<td><span class="text">to perform said processes.</span></td>
|
|
<td><span class="text">to perform said processes; and</span></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><span class="text">25</span></td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td> </td>
|
|
<td><span class="text">communicating said feedback information from said consumer memory
|
|
to said provider memory.</span></td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p><span class="text">As shown in the table, claim 1 recites a system for controlling the
|
|
transfer of update information from a provider memory (element 2) to a consumer memory
|
|
(element 3). The claimed system includes several types of metadata (elements 4-6, 10, 13)
|
|
including one that defines the "control structure" (element 6) transferred from
|
|
the provider memory to the consumer memory (elements 18-19). Processing this control
|
|
structure in the consumer memory (element 7, 22) is what causes execution of processes
|
|
(element 8, 24) that control communication of the update information to the consumer
|
|
memory (element 9).<a href="#N_3_"><sup>(3)</sup></a></span></p>
|
|
|
|
<p><span class="text">Similarly, claim 20 recites a system for controlling the transfer of
|
|
feedback information from a consumer memory (element 3) to a provider memory (element 2).
|
|
The claimed system includes several types of metadata (elements 4-6, 10, 13) including one
|
|
that defines the "control structure" (element 6) transferred from the provider
|
|
memory to the consumer memory (elements 18-19). Processing this control structure in the
|
|
consumer memory (element 7, 22) is what causes execution of processes (element 8, 24) that
|
|
control communication of the feedback information to the provider memory (element 9).</span></p>
|
|
|
|
<p><span class="text">The elements of claims 78 and 109 correspond substantially to those
|
|
of claims 1 and 20, respectively, including the control structure, but are written as a
|
|
series of steps for performing a method rather than as a combination of elements of a
|
|
system.</span></p>
|
|
|
|
<p><span class="text">As originally filed, the single claim of the '325 patent application
|
|
did not recite a control structure; that limitation was added during prosecution in
|
|
response to the rejection of the original claim, as explained in the next section.</span></p>
|
|
|
|
<h4><span class="text">D. Prosecution of the '325 patent</span></h4>
|
|
|
|
<p><span class="text">The '325 patent was filed September 27, 1996 as application serial
|
|
No. 08/722,314 ("the '314 application"). Entitled "Communications
|
|
System," it claimed benefit of the filing date of application serial No. 08/609,115
|
|
filed February 29, 1996 as a continuation-in-part of that earlier application.<a
|
|
href="#N_4_"><sup>(4)</sup></a> The sole claim filed with the original application did <em>not</em>
|
|
recite a "control structure."</span></p>
|
|
|
|
<p><span class="text">On October 8, 1997, the Patent Office issued an Office Action
|
|
(Exhibit F) objecting to the title of the application and rejecting its single claim as
|
|
anticipated by (i.e., previously disclosed in) U.S. Patent No. 5,628,005 to Hurvig.
|
|
Intermind responded (Exhibit G) by amending the application's title to read
|
|
"Computer-Based Communication System and Method Using Metadata Defining a Control
|
|
Structure" and canceling claim 1 in favor of newly added claims 2-102. Each of the
|
|
new claims recited metadata "defining a control structure which is processed at least
|
|
at said consumer memory." In the remarks accompanying its response, Intermind stated
|
|
(in part):</span></p>
|
|
|
|
<blockquote>
|
|
<p><span class="text">As defined by the [newly added] claims, the system allows a
|
|
definition for control of a communications relationship to be transferred from a provider
|
|
of information to a consumer of information. . . . All [claims] share the use of metadata
|
|
defining a control structure. The art of record does not teach or suggest such a system.
|
|
It does not teach or suggest a structure which is processed to determine updates to
|
|
information in the provider memory and transfer updated information to the consumer
|
|
memory. Certainly, it does not employ metadata defining a control structure or the
|
|
processing of a control structure which is used to determine an update or transfer updated
|
|
information.</span></p>
|
|
</blockquote>
|
|
|
|
<p><span class="text">Ex. G, Response at 28. It is clear, then, that Intermind explicitly
|
|
relied on the claimed control structure as the critical element distinguishing its
|
|
invention from the prior art.</span></p>
|
|
|
|
<p><span class="text">Intermind then filed an Information Disclosure Statement
|
|
("IDS") with the Patent Office listing 72 patents and 69 non-patent references
|
|
(Exhibit H) arranged in eight groups. At the beginning of each group, it explained the
|
|
distinction between the cited prior art in the group and its claimed invention. Intermind
|
|
stated in its IDS that what it was claiming was not just a control structure,<em> but a
|
|
special type of control structure, a "communications object."</em></span></p>
|
|
|
|
<p><span class="text">Thus, distinguishing the first group of references (relating to
|
|
"File, Data and Object Consistency"), Intermind explained:</span></p>
|
|
|
|
<blockquote>
|
|
<p><span class="text">This art is directed at the problem of maintaining consistency
|
|
between multiple copies of files, data, or objects in a distributed processing network.
|
|
This art is easily confused with a communications object system of the present invention
|
|
because a communications object system also performs automated replication of information
|
|
described by a communications object (including the communications object itself). <em>The
|
|
difference, however, is that a communications object system, as claimed, accomplishes this
|
|
using a special type of control structure - a communications object - that is exchanged
|
|
from the provider to the consumer to define and control the replication.</em><a
|
|
href="#N_5_"><sup>(5)</sup></a></span></p>
|
|
</blockquote>
|
|
|
|
<p><span class="text">Ex. H, IDS at 4. Intermind thus conceded that its claimed control
|
|
structure performs the same function (automated replication of described information) as
|
|
the cited references, differing only in that the recited control structure is a <em>communications
|
|
object</em>.</span></p>
|
|
|
|
<p><span class="text">The second group of references, relating to "Software
|
|
Distribution and Consistency," was described as a special case of the first group and
|
|
distinguished for the same reason. Intermind similarly distinguished the third group,
|
|
relating to "Object Transparency and Remote Procedure Calls," by conceding that
|
|
the claimed control structure performed the same function as the cited references,
|
|
differing only in that it was a <em>communications object</em> encapsulating the data
|
|
necessary to perform the function of remote method calls:</span></p>
|
|
|
|
<blockquote>
|
|
<p><span class="text">This art is directed at a different problem in distributed object
|
|
systems: how an object on one node can transparently call the methods of another target
|
|
object on another node, i.e., "abstract" the details of knowing how to send and
|
|
receive a message from the target object. Again, a communications object system
|
|
accomplishes this function using a novel new control structure, the <em>communications
|
|
object</em>, which carries the information necessary to perform this abstraction.</span></p>
|
|
</blockquote>
|
|
|
|
<p><span class="text">Ex. H, IDS at 7.</span></p>
|
|
|
|
<p><span class="text">To distinguish the fourth group of references, relating to
|
|
"Communications Transparency and Middleware," Intermind similarly conceded that
|
|
the cited prior art performed the same function as its claimed control structure,
|
|
asserting that it differed only in that the latter abstracts the details of communications
|
|
to completely define the communications relationship between provider and consumer:</span></p>
|
|
|
|
<blockquote>
|
|
<p><span class="text">This art relates to a larger-scale version of the proceeding [sic],
|
|
which is to provide complete transparency "layer" (commonly referred to as <em>middleware</em>),
|
|
for abstracting the details of distributing data or sending messages from a communications
|
|
source to a communications destination. <em>A communications object system is a novel new
|
|
approach to this problem by abstracting these details to a control object that completely
|
|
defines the communications relationship between any two nodes, in both directions, via any
|
|
network or protocol, using any middleware.</em></span></p>
|
|
</blockquote>
|
|
|
|
<p><span class="text">In discussing the remaining three groups of cited references,
|
|
Intermind similarly relied on the control structure (Ex. H, IDS at 10-12) to distinguish
|
|
the prior art from its claimed invention.</span></p>
|
|
|
|
<p><span class="text">In addition to these remarks expressly limiting its claimed
|
|
communications object to a control structure that encapsulates "the details of
|
|
distributing data or sending messages from a communications source to a communications
|
|
destination" and "completely defines the communications relationship between any
|
|
two nodes in both directions, via any network or protocol, using any middleware,"
|
|
Intermind used a numeric shorthand for distinguishing each individual reference from the
|
|
claims, explaining that:</span></p>
|
|
|
|
<p><span class="text">At the end of the text relating to each reference, in parentheses,
|
|
are one or more numbers keyed to distinguishing remarks identified by the following key
|
|
and not repeated textually in order to avoid verbosity:</span></p>
|
|
|
|
<blockquote>
|
|
<p><span class="text">Key to remarks:</span></p>
|
|
<p><span class="text">1) No control structure transferred from provider to consumer to
|
|
control communications.</span></p>
|
|
<p><span class="text">2) No update determining control, or not performed by control
|
|
structure.</span></p>
|
|
<p><span class="text">3) No transfer control [i.e. no control of the transfer of
|
|
information], or not performed by control structure.</span></p>
|
|
<p><span class="text">4) No feedback control, or not performed by control structure.</span></p>
|
|
</blockquote>
|
|
|
|
<p><span class="text">Ex. H, IDS of May 7, 1998, at 2-3.</span></p>
|
|
|
|
<p><span class="text">All but six of the references treated in the IDS were distinguished
|
|
on all four grounds. Those six (U.S. Patents Nos. 5,625,818 to Zarmer et al., 4,974,149 to
|
|
Valenti, 5,566,302 to Khalidi et al., 5,499,343 to Pettus, 5,515,508 to Pettus and
|
|
5,548,726 to Pettus) were distinguished only on grounds 2, 3, and 4. As indicated by the
|
|
absence of distinction number 1, Intermind realized that these six disclosed control
|
|
structures transferred from provider to consumer to control communications between them.
|
|
This shows, once again, how Intermind was constrained to distinguish the prior art on the
|
|
ground that its claimed control structure was of a specific type - a "communications
|
|
object" with special properties. For example, U.S. Patent No. 4,974,149 to Valenti
|
|
(Exhibit I) disclosed a system for distributing data across a network using a control
|
|
structure (referred to as a "data descriptor") "produced by a central
|
|
system and provided to a remote system. The remote system then uses the information in the
|
|
data descriptor to retrieve the described data and install it in the remote system."
|
|
Ex. I, Valenti, col. 28, l. 68 - col. 29, l. 4.</span></p>
|
|
|
|
<p><span class="text">Valenti's data descriptor identifies data on the central system to
|
|
be distributed to the remote system, and includes a destination operation descriptor used
|
|
to perform operations related to retrieving the information from the central system:</span></p>
|
|
|
|
<blockquote>
|
|
<p><span class="text">[Data descriptor] DD 305 is a data structure which must contain data
|
|
identifier (DID) 313, which identifies the data to be distributed from [data source] S 309
|
|
to [data destination] D 311, and may also contain destination operation descriptor (DOD)
|
|
315, which contains information used by [retriever] RETR 307 to perform various operations
|
|
connected with retrieving the data to be distributed and storing it in [data destination]
|
|
D 311. ... Only [data identifier] DID 313 is required for [retriever] RETR 307 to
|
|
successfully distribute data from [data source] S 309 to [data destination] D 311, but the
|
|
addition of [destination operator descriptor] DOD 315 to [data descriptor] DD 305 greatly
|
|
increases the flexibility and efficiency of operation of the present invention.</span></p>
|
|
</blockquote>
|
|
|
|
<p><span class="text">Ex. I, Valenti, col. 6, ll. 6-21.</span></p>
|
|
|
|
<p><span class="text">Note that Valenti discloses the use of a control structure (the
|
|
"data descriptor") comprising data and metadata that is transferred from server
|
|
to client and read by a program (the "retriever") executing on the client. The
|
|
retriever program uses the data and metadata in the data descriptor to perform transfer
|
|
control - i.e., it controls various operations connected with retrieving and storing data
|
|
to be distributed. Thus, in Intermind's distinction number 3 - "[n]o transfer
|
|
control, <em>or</em> not performed by control structure" - the words "not
|
|
performed by control structure" must exclude systems where data or metadata is read
|
|
by a client program to perform transfer control. Otherwise, Valenti could not have been
|
|
distinguished on that ground. Put differently, the distinction requires that transfer
|
|
control actually be performed by the control structure. As used in its description of
|
|
communications objects, the word "perform" refers to execution of a method. <em>See,
|
|
e.g., </em>Ex. A, '325 patent col. 13, ll. 10-13, col. 43, ll. 42-46, col. 57, ll.3-6. A
|
|
control structure that is not executed or that does not include methods or instructions
|
|
cannot <em>perform</em> transfer control.</span></p>
|
|
|
|
<p><span class="text">After filing its IDS Intermind made certain additional amendments to
|
|
its claims, but merely to correct "certain apparent typographical and grammatical
|
|
errors in the claims, including improper dependencies, as well as potential lack of
|
|
clarity." Ex. J, Supplemental Amendment of July 2, 1998, at 22. On July 16, 1998, the
|
|
Patent Office issued a Notice of Allowability and the '325 patent issued on January 19,
|
|
1999.</span></p>
|
|
|
|
<h4><span class="text">E. Legal Principles Relating to Claim Construction</span></h4>
|
|
|
|
<p><span class="text">Three sources of information bear on the proper interpretation of
|
|
the claims: (1) the claims themselves; (2) the patent specification (i.e. its
|
|
text and drawings); and (3) its prosecution history, i.e., the record of its
|
|
examination in the Patent Office.<a href="#N_6_"><sup>(6)</sup></a> These three sources
|
|
comprise the "intrinsic evidence of record."<a href="#N_7_"><sup>(7)</sup></a>
|
|
Certain "extrinsic evidence" (such as expert opinion and scholarly works) may
|
|
also be considered in interpreting the claims,<a href="#N_8_"><sup>(8)</sup></a> but may
|
|
not be used to support an interpretation inconsistent with the intrinsic evidence.<a
|
|
href="#N_9_"><sup>(9)</sup></a> The meaning of the claims is a question of law for
|
|
decision by a judge, not a jury.<a href="#N_10_"><sup>(10)</sup></a></span></p>
|
|
|
|
<p><span class="text">The meaning of all claims of the '325 patent hinges on the phrase
|
|
"control structure." We have shown that the patent itself explicitly defines
|
|
this term to mean a combination of data, metadata, and instructions organized as an
|
|
object-oriented combination of metadata, data, and methods for operating on the data. The
|
|
prior art discussed in the patent also compels this construction because under any other
|
|
construction the claims would encompass pre-existing technology (including that discussed
|
|
in the patent such as HTML forms). Since a patented invention must be novel and
|
|
non-obvious, the scope of the claims must exclude pre-existing technology.</span></p>
|
|
|
|
<p><span class="text">Intermind explicitly acknowledged, by its repeated and forceful
|
|
representations to the Patent Office, that its claimed "control structure" is
|
|
the "communications object" defined in the patent, and relied upon these
|
|
representations to distinguish its claims from the prior art.</span></p>
|
|
|
|
<p><span class="text">Intermind further narrowed the meaning of "control
|
|
structure" by relying with equal force on specific properties of its claimed
|
|
communications object to distinguish it from prior art control structures that performed
|
|
the same functions. Its claimed control structure must also be construed, therefore, to
|
|
include those features of the communications object relied upon by Intermind to
|
|
distinguish this prior art, including that:</span></p>
|
|
|
|
<p><span class="text">(i) the control structure actually performs transfer control,</span></p>
|
|
|
|
<p><span class="text">(ii) the control structure itself carries the information necessary
|
|
to transparently perform remote method calls, and</span></p>
|
|
|
|
<p><span class="text">(iii) the control structure itself carries the details of
|
|
distributing data or sending messages from a communications source to a communications
|
|
destination such that it completely defines the communications relationship between any
|
|
two nodes in both directions, via any network or protocol, using any middleware.</span></p>
|
|
|
|
<p><span class="text">In our judgment, therefore, a properly informed court would construe
|
|
the term "control structure" in claims 1-126 of the '325 patent as limited to a
|
|
combination of metadata, data, and instructions organized as an object-oriented
|
|
combination of metadata, data, and methods for operating on the data, to encapsulate
|
|
location transparency and completely define the communications relationship between two
|
|
computers in both directions via any network, protocol, or middleware.</span></p>
|
|
|
|
<h4><span class="text">F. P3P Does Not Infringe Any Claim of the Intermind Patent</span></h4>
|
|
|
|
<p><span class="text">A P3P-compliant Web service (or site) uses a P3P proposal to declare
|
|
its privacy practices with respect to information collected from its users. The proposal
|
|
and a client-resident User Preferences file are compared by software running on the client
|
|
(e.g., a browser), and depending on the result of the comparison the browser can accept
|
|
the proposal, reject it, or prompt the user to decide how to respond. The browser may also
|
|
store user information (such as the user's name and address) and, if the user desires,
|
|
provide the stored information in response to requests from Web sites that declare privacy
|
|
practices acceptable to the user.<a href="#N_11_"><sup>(11)</sup></a></span></p>
|
|
|
|
<p><span class="text">The Web service declares its privacy practices by including a Web
|
|
address and a unique identifier for a P3P proposal in its response to a user's request for
|
|
a Web page or other resource. The user's Web browser can use the address to retrieve the
|
|
proposal, which is a text file conforming to an XML syntax specified by P3P. Statements in
|
|
the proposal identify the information the service wants to collect and the uses it will
|
|
make of that information. The proposal is thus a static declaration of the service's
|
|
policies wholly lacking anything resembling methods. The proposal, its Web address, and
|
|
its unique identifier are the only pieces of information that P3P requires be sent from
|
|
the server to the browser.</span></p>
|
|
|
|
<p><span class="text">After retrieving a proposal, the Web browser parses its text to
|
|
compare the proposal with the User Preferences file, which uses rules to specify the
|
|
user's preferences. Like the proposal, the User Preferences file contains no methods. Each
|
|
rule specifies the Web browser behavior desired by the user when a proposal matches the
|
|
rule. P3P specifies three behaviors: "accept," indicating that the proposal is
|
|
acceptable; "prompt," indicating that the user should be consulted to determine
|
|
whether the proposal is acceptable; and "reject," indicating that resources
|
|
associated with the proposal should not be accessed.</span></p>
|
|
|
|
<p><span class="text">P3P preferences may be expressed in a computer language, such as A
|
|
P3P Preference Exchange Language (APPEL). Ex. B, P3P Syntax, sections 1.5-1.6. Preferences
|
|
so expressed may then be stored in a file and transferred from one computer to another
|
|
using conventional file transfer means. A user receiving such a file may, if she desires,
|
|
accept the preferences expressed in the file as her own simply by installing the User
|
|
Preferences file on her machine. Unlike P3P proposals, User Preferences files are not
|
|
intended to be transferred from server to client as part of a browsing session, and
|
|
therefore cannot constitute the claimed control structure.</span></p>
|
|
|
|
<p><span class="text">Hence P3P does not include the control structure of the '325 patent
|
|
claims for at least two fundamental reasons: (1) neither the proposal nor the User
|
|
Preferences file includes data, metadata, and instructions organized using object-oriented
|
|
programming to encapsulate the data together with the instructions for using it, and (2)
|
|
neither the proposal nor the User Preferences file provides location transparency or
|
|
completely specifies a communications relationship.<a href="#N_12_"><sup>(12)</sup></a>
|
|
For these reasons, P3P-compliant Web services and user agents do not literally infringe
|
|
any claim of the '325 patent.</span></p>
|
|
|
|
<p><span class="text">If an accused device does not infringe a claim literally, it may
|
|
nevertheless infringe it under the doctrine of equivalents. Under that doctrine, a product
|
|
or process will be held to infringe if there is "equivalence" between the
|
|
elements of the accused product or process and those of the claim.<a href="#N_13_"><sup>(13)</sup></a>
|
|
Two elements are equivalent for that purpose if, in the context of the invention,
|
|
substitution of the accused element for the claimed element constitutes merely an
|
|
insubstantial change.<a href="#N_14_"><sup>(14)</sup></a></span></p>
|
|
|
|
<p><span class="text">In our judgment, P3P does not infringe the '325 patent under the
|
|
doctrine of equivalents because of the explicit manner in which Intermind limited the
|
|
patent during prosecution. By representing to the Patent Office that its claimed system's
|
|
use of "a special type of control structure - a communications object"
|
|
distinguished it critically from the prior art, Intermind surrendered any right to assert
|
|
infringement by any other type of control structure under the doctrine of equivalents. In
|
|
other words, its representations to the Patent Office <em>estop</em> it from asserting the
|
|
contrary - that its claims are not so limited - in any subsequent proceeding.</span></p>
|
|
|
|
<p><span class="text">Prosecution history estoppel in this manner limits the degree to
|
|
which claims can be expanded beyond their literal terms under the doctrine of equivalents
|
|
by excluding from the range of equivalents subject matter disclaimed during prosecution
|
|
either by explicit amendments to narrow the claims or as a result of argument to secure
|
|
their allowance.<a href="#N_15_"><sup>(15)</sup></a></span></p>
|
|
|
|
<p><span class="text">Here Intermind did both. In response to the Examiner's rejection,
|
|
Intermind canceled originally filed claim 1 in favor of newly added claims, all of which
|
|
recited a "control structure" transferred from a provider memory to a consumer
|
|
memory for controlling communications. And in its Information Disclosure Statement,
|
|
Intermind repeatedly distinguished a large volume of highly relevant prior art on the
|
|
basis that its claimed control structure was of a special type - a communications object.</span></p>
|
|
|
|
<p><span class="text">Application of the prosecution history estoppel doctrine requires a
|
|
two-step analysis. First, the purpose of the amendment or argument must be determined. If
|
|
presented to distinguish prior art (and perhaps in certain other circumstances<a
|
|
href="#N_16_"><sup>(16)</sup></a>), an estoppel is created. Otherwise, no estoppel
|
|
results. Second, if an estoppel is created, the scope of the estoppel must be determined.<a
|
|
href="#N_17_"><sup>(17)</sup></a></span></p>
|
|
|
|
<p><span class="text">Here, the first step of the analysis is straightforward: Intermind's
|
|
extensive remarks accompanying the limitation of all of its claims to require a
|
|
"control structure" explicitly said that the amendment was made to distinguish
|
|
the prior art. This triggered application of the doctrine of prosecution history estoppel.</span></p>
|
|
|
|
<p><span class="text">Having established that prosecution history estoppel applies, the
|
|
second step of the analysis is to determine its scope. The scope of the estoppel includes
|
|
the subject matter that a reasonable competitor would conclude was surrendered by
|
|
Intermind in making the amendment or argument. The determination is made with reference to
|
|
the particular prior art and the amendments or arguments made to distinguish it.<a
|
|
href="#N_18_"><sup>(18)</sup></a></span></p>
|
|
|
|
<p><span class="text">Here, Intermind repeatedly asserted that its claimed invention
|
|
differed from the prior art <em>because</em> the recited control structure was a
|
|
communications object. It conceded that the prior art included a "control structure
|
|
transferred from provider to consumer to control communications," thus surrendering
|
|
coverage for control structures that are not communications objects.<a href="#N_19_"><sup>(19)</sup></a></span></p>
|
|
|
|
<p><span class="text">Intermind further limited the range of equivalents for its claims in
|
|
relying on additional characteristics of the communications object to distinguish the
|
|
prior art. It characterized communications objects as abstracting the details necessary
|
|
for location transparency, and relied upon this characterization to distinguish prior art
|
|
performing the same function. Again, the only reasonable conclusion a competitor could
|
|
reach from this characterization is that Intermind surrendered coverage for control
|
|
structures that do not comprise communications objects encapsulating location
|
|
transparency.</span></p>
|
|
|
|
<p><span class="text">Intermind also distinguished prior art by representing that its
|
|
communications object abstracted the details necessary for data distribution and
|
|
messaging, and "completely defin[ed] the communications relationship between any two
|
|
nodes, in both directions, via any network or protocol, using any middleware." Here
|
|
too, Intermind conceded that the distinguished prior art performed these functions,
|
|
surrendering protection for control structures that do not encapsulate these functions.</span></p>
|
|
|
|
<p><span class="text">The use of P3P does not involve a communications object, much less a
|
|
communications object that completely defines the communications relationship between a
|
|
provider and consumer, or that provides location transparency. Accordingly, P3P does not
|
|
infringe any claim of the '325 patent under the doctrine of equivalents.</span></p>
|
|
|
|
<h4><span class="text">G. Conclusion</span></h4>
|
|
|
|
<p><span class="text">For the foregoing reasons, summarized in the second through the
|
|
sixth paragraphs of this opinion, we conclude, and it is our opinion and judgment, that
|
|
the use of P3P would not infringe any claim of the '325 patent.</span></p>
|
|
|
|
<p><span class="text">Very truly yours,</span></p>
|
|
|
|
<blockquote>
|
|
<p><span class="text"><a href="http://www.pennie.com">PENNIE & EDMONDS LLP</a></span></p>
|
|
<p><span class="text">By: /s/ <a href="http://www.pennie.com/bios/reinbfr.htm">Barry D.
|
|
Rein</a><br>
|
|
Barry D. Rein<br>
|
|
A Member of the Firm</span></p>
|
|
<p><span class="text">/s/ <a href="http://www.pennie.com/bios/stephensgfr.htm">Garland T.
|
|
Stephens</a><br>
|
|
Garland T. Stephens<br>
|
|
An Associate of the Firm</span></p>
|
|
<p><span class="text">/s/ <a href="http://www.pennie.com/bios/lebowitzhfr.htm">Henry C.
|
|
Lebowitz</a><br>
|
|
Henry C. Lebowitz<br>
|
|
An Associate of the Firm</span></p>
|
|
</blockquote>
|
|
|
|
<h4><span class="text">List of Exhibits</span></h4>
|
|
|
|
<p><span class="text">Exhibit A. <a href="http://www.w3.org/1999/10/patent-5862325.pdf">U.S.
|
|
Patent No. 5,862,325 to Reed et al.</a>.</span></p>
|
|
|
|
<p><span class="text">Exhibit B, <a href="http://www.w3.org/TR/WD-P3P/syntax">Platform for
|
|
Privacy Preferences (P3P) Syntax Specification," W3C Working Draft (26 August 1999)</a>
|
|
</span></p>
|
|
|
|
<p><span class="text">Exhibit C, <a href="http://www.w3.org/TR/WD-P3P/basedata">P3P Base
|
|
Data Set" W3C Working Draft (26 August 1999)</a> </span></p>
|
|
|
|
<p><span class="text">Exhibit D, <a href="http://www.w3.org/TR/WD-P3P/vocab">P3P
|
|
Harmonized Vocabulary," W3C Working Draft (26 August 1999)</a></span></p>
|
|
|
|
<p><span class="text">Exhibit E, <a
|
|
href="http://www.w3.org/TR/1998/WD-P3P-preferences-19980814">A P3P Preference Exchange
|
|
Language (APPEL) Working Draft</a></span></p>
|
|
|
|
<p><span class="text">Exhibit F, U.S. Patent Office Action dated October 8, 1997 in the
|
|
case that issued as the ‘325 patent.</span></p>
|
|
|
|
<p><span class="text">Exhibit G, Intermind’s response, dated April 8, 1998, to U.S.
|
|
Patent Office Action dated October 8, 1997.</span></p>
|
|
|
|
<p><span class="text">Exhibit H, Information Disclosure Statement filed by Intermind in
|
|
the case that issued as the ‘325 patent.</span></p>
|
|
|
|
<p><span class="text">Exhibit I, <a
|
|
href="http://www.patents.ibm.com/details?&pn=US04974149__">U.S. Patent No. 4,974,149
|
|
to Valenti.</a></span></p>
|
|
|
|
<p><span class="text">Exhibit J, Supplemental Amendment, filed by Intermind on July 2,
|
|
1998 in the case that issued as the ‘325 patent.</span></p>
|
|
|
|
<h4><span class="text">Footnotes</span></h4>
|
|
|
|
<p><span class="text"><a name="N_1_">1. </a>As used in the field of object-oriented
|
|
programming, the word "method" means a set of instructions contained in an
|
|
object for operating on the object's data.</span></p>
|
|
|
|
<p><span class="text"><a name="N_2_">2. </a><em>See</em> <em>Bell Communications Research,
|
|
Inc. v. Vitalink Communications Corp.</em>, 55 F.3d 615, 619-20 (Fed. Cir. 1995).</span></p>
|
|
|
|
<p><span class="text"><a name="N_3_">3. </a>We do not here address the issue of whether
|
|
the '325 patent is valid, and it is therefore our intention that even if privilege is
|
|
waived with respect to the subject matter of this letter, the waiver would not extend to
|
|
issues of validity, or other issues relating to the '325 patent other than
|
|
noninfringement. <em>See Applied Telematics, Inc. v. Sprint Corp.</em>, 1995 U.S. Dist
|
|
LEXIS 14061 (E.D. Pa. Sept. 21, 1995). We note in passing, however, that in construing the
|
|
claims as part of our noninfringement analysis, we have observed that the independent
|
|
claims are rife with serious ambiguities. For example, the words "said
|
|
information" and "said processes" are repeatedly used without any clear
|
|
antecedent. Our noninfringement conclusion is not affected by these ambiguities.</span></p>
|
|
|
|
<p><span class="text"><a name="N_4_">4. </a>A continuation-in-part is a patent application
|
|
filed during the lifetime of an earlier application that repeats some or all of the
|
|
earlier application and adds new matter not disclosed in the earlier application. To the
|
|
extent that the subject matter of the continuation-in-part appears in the earlier
|
|
application, the continuation-in-part is entitled to the filing date of the earlier
|
|
application.</span></p>
|
|
|
|
<p><span class="text"><a name="N_5_">5. </a>All emphasis in quotations in this letter has
|
|
been added unless otherwise noted.</span></p>
|
|
|
|
<p><span class="text"><a name="N_6_">6. </a><em>See Markman v. Westview Instruments, Inc.</em>,
|
|
52 F.3d 967, 979 (Fed. Cir. 1995) (en banc), <em>aff'd</em>, 517 U.S. 370 (1996).</span></p>
|
|
|
|
<p><span class="text"><a name="N_7_">7. </a><em>See</em> <em>Vitronics Corp. v.
|
|
Conceptronic, Inc.</em>, 90 F.3d 1576, 1582 (Fed. Cir. 1996).</span></p>
|
|
|
|
<p><span class="text"><a name="N_8_">8. </a><em>See</em> <em>Markman</em>, 52 F.3d at 980.</span></p>
|
|
|
|
<p><span class="text"><a name="N_9_">9. </a><em>See</em> <em>Vitronics</em>, 90 F.3d at
|
|
1583; <em>Pitney Bowes, Inc. v. Hewlett-Packard Co.</em>, 182 F.3d 1298, 1308-09 (Fed.
|
|
Cir. 1999).</span></p>
|
|
|
|
<p><span class="text"><a name="N_10_">10. </a><em>See Markman</em>, 52 F.3d at 979.</span></p>
|
|
|
|
<p><span class="text"><a name="N_11_">11. </a>P3P is specified in three documents,
|
|
entitled "<a href="http://www.w3.org/TR/WD-P3P/syntax">Platform for Privacy
|
|
Preferences (P3P) Syntax Specification," W3C Working Draft (26 August 1999)</a> (Ex.
|
|
B); <a href="http://www.w3.org/TR/WD-P3P/basedata">"P3P Base Data Set" W3C
|
|
Working Draft (26 August 1999)</a> (Ex. C); and <a
|
|
href="http://www.w3.org/TR/WD-P3P/vocab">"P3P Harmonized Vocabulary," W3C
|
|
Working Draft (26 August 1999)</a> (Ex. D). The P3P Syntax Specification includes the main
|
|
body of the specification. The P3P Base Data Set includes the detailed syntax and data
|
|
types of the base data set used by P3P, and the P3P Harmonized Vocabulary includes the
|
|
human language semantics of the privacy disclosure vocabulary.</span></p>
|
|
|
|
<p><span class="text"><a name="N_12_">12. </a>We note in passing that a P3P proposal may
|
|
be transferred from a computer other than the server governed by the proposal. In that
|
|
case, the proposal cannot be the claimed control structure for the additional reason that
|
|
it is not used to control communications with the computer from which it was transferred.</span></p>
|
|
|
|
<p><span class="text"><a name="N_13_">13. </a><em>See</em> <em>Warner-Jenkinson Co. v.
|
|
Hilton Davis Chemical Co.</em>, 520 U.S. 17, 21 (1997).</span></p>
|
|
|
|
<p><span class="text"><a name="N_14_">14. </a><em>See Valmont Indus., Inc. v. Reinke Mfg.
|
|
Co., </em>983 F.2d 1039, 1043 (Fed. Cir. 1996).</span></p>
|
|
|
|
<p><span class="text"><a name="N_15_">15. </a><em>See Sextant Avionique, S.A. v. Analog
|
|
Devices, Inc</em>., 172 F.3d 817, 826 (Fed. Cir. 1999) (<em>citing</em> <em>Cybor Corp. v.
|
|
FAS Techs., Inc.</em>, 138 F.3d 1448, 1459-60 (Fed. Cir. 1998) (<em>en banc</em>)); <em>Ekchian
|
|
v. Home Depot, Inc.,</em> 104 F.3d 1299, 1303-04 (Fed. Cir. 1997).</span></p>
|
|
|
|
<p><span class="text"><a name="N_16_">16. </a>The Federal Circuit has ordered en banc
|
|
review of its decision in <em>Festo Corp v. Shoketsu Kinzoku Kogyo Kabushiki Co.</em>, 172
|
|
F.3d 1361 (Fed. Cir. 1999). <em>See</em> <em>Festo Corp v. Shoketsu Kinzoku Kogyo
|
|
Kabushiki Co.,</em> 51 USPQ.2d 1959 (Fed. Cir. 1999). Among the questions to be addressed
|
|
by the Court are (i) the circumstances in which prosecution history estoppel arises, and
|
|
(ii) what scope of equivalents is available for a claim element that is subject to
|
|
estoppel.</span></p>
|
|
|
|
<p><span class="text"><a name="N_17_">17. </a><em>See Sextant</em>, 172 F.3d at 826 (<em>citing
|
|
Bai v. L&L Wings, Inc.</em>, 160 F.3d 1350, 1355 (Fed. Cir. 1998)).</span></p>
|
|
|
|
<p><span class="text"><a name="N_18_">18. </a><em>See Sextant</em>, 172 F.3d at 826-27.</span></p>
|
|
|
|
<p><span class="text"><a name="N_19_">19. </a><em>See Augustine Med., Inc. v. Gaymar
|
|
Indus., Inc.</em>, 181 F.3d 1291, 1299 (Fed. Cir. 1999).</span></p>
|
|
</div>
|
|
</body>
|
|
</html>
|