Daniel J. Weitzner, Esq.
Mr. Joseph Reagle
World Wide Web Consortium
Massachusetts Institute of Technology
Room NE43-352
545 Technology Square
Cambridge, MA 02139
Re: United States Patent No. 5,862,325 to Reed et al.
Gentlemen:
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).
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.
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.
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.(1) 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.
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. 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.
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.
Importantly, we have not 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.
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.
A. The Prior Art Background To The '325 Patent
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.
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.
One HTML feature used to provide this functionality is the form element (designated by the <FORM> tag), which (together with related formatting elements and metadata) defines a form 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 form 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.
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:
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.
Ex. A, '325 patent, col. 78, ll. 26-35.
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.
B. Description Of The Preferred Embodiments Of The '325 Patent
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).
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:
Communications objects are the primary data structure transmitted from the provider program to the consumer program to control communications between the provider and consumer.
Ex. A, '325 patent, col. 17, ll. 25-28. Intermind confirmed as much in the course of securing its patent, as described below.
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.
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.
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.
C. The '325 Patent Claims
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.(2) 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 (i.e., incorporates by reference, directly or indirectly) one of the independent claims.
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 update information from a provider memory to a consumer memory while the other two (claims 20 and 109) describe doing the same for feedback information.
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.
The table reproduced below highlights these relationships for the four independent claims:
Claim 1 | Claim 20 | Claim 78 | Claim 109 | |
1 | A computer-based communication system comprising: | A computer-based communication system comprising: |
A computer-based communication method, comprising operating one or more computers to communicate by performing the steps of: | A computer-based communication method, comprising operating one or more computers to communicate by performing the steps of: |
2 | a provider memory storing information including provider information; | a provider memory storing information including provider information; | in a provider memory, storing information including provider information; | in a provider memory, storing information including provider information; |
3 | a consumer memory storing information including consumer information; | a consumer memory storing information including consumer information; | in a consumer memory, storing information including consumer information; | in a consumer memory, storing information including consumer information; |
4 | association means for creating metadata | association means for creating metadata | creating metadata | creating metadata |
5 | associating portions of said information | associating portions of said information | describing associations with portions of said information | describing associations with portions of said information |
6 | and defining a control structure | and defining a control structure | and defining a control structure | and defining a control structure |
7 | for processing at least at said consumer memory |
for processing at least at said consumer memory |
which is processed at least at said consumer memory | which is processed at least at said consumer memory |
8 | to associate with said metadata one or more processes | to associate with said metadata processes | to associate one or more processes | to associate one or more processes |
9 | for controlling the communication of said associated information, | for controlling the communication of said associated information, | for controlling communications of said associated information, | for controlling communications of said associated information, |
10 | said metadata including update metadata | said metadata including update metadata | ||
11 | associating a process | associating a process | ||
12 | for determining when said associated information has been updated | for determining when said associated information has been updated | ||
13 | and transfer metadata | said metadata including data exchange metadata | and transfer metadata | said metadata including data exchange metadata |
14 | associating a process | associating a process | associating a process | associating a process |
15 | for transferring at least a portion of the updated information; | for controlling the transfer of feedback information, | for transferring at least a portion of the updated information; | for controlling the transfer of feedback information, |
16 | said feedback information including at least a portion of said consumer information, | said feedback information including at least a portion of said consumer information, | ||
17 | to said provider memory; | to said provider memory; | ||
18 | transfer means for transferring said information, | transfer means for transferring said information, | transferring said information, | transferring said information, |
19 | including said metadata defining said control structure, | including said metadata defining said control structure, | including said metadata defining said control structure, | including said metadata defining said control structure, |
20 | from said provider memory to said consumer memory; and | from said provider memory to said consumer memory; | from said provider memory to said consumer memory; and | from said provider memory to said consumer memory; |
21 | feedback transfer means for transferring said feedback information
from said consumer memory to said provider memory; and |
|||
22 | processing means for processing said metadata | processing means | processing said metadata | processing said metadata |
23 | to execute instructions external to said control structure | for executing instructions external to said control structure to perform said processes | to execute instructions external to said control structure | to execute instructions external to said control structure |
24 | to perform said processes. | to control communications of said information. | to perform said processes. | to perform said processes; and |
25 | communicating said feedback information from said consumer memory to said provider memory. |
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).(3)
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).
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.
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.
D. Prosecution of the '325 patent
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.(4) The sole claim filed with the original application did not recite a "control structure."
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):
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.
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.
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, but a special type of control structure, a "communications object."
Thus, distinguishing the first group of references (relating to "File, Data and Object Consistency"), Intermind explained:
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). 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.(5)
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 communications object.
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 communications object encapsulating the data necessary to perform the function of remote method calls:
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 communications object, which carries the information necessary to perform this abstraction.
Ex. H, IDS at 7.
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:
This art relates to a larger-scale version of the proceeding [sic], which is to provide complete transparency "layer" (commonly referred to as middleware), for abstracting the details of distributing data or sending messages from a communications source to a communications destination. 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.
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.
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:
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:
Key to remarks:
1) No control structure transferred from provider to consumer to control communications.
2) No update determining control, or not performed by control structure.
3) No transfer control [i.e. no control of the transfer of information], or not performed by control structure.
4) No feedback control, or not performed by control structure.
Ex. H, IDS of May 7, 1998, at 2-3.
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.
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:
[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.
Ex. I, Valenti, col. 6, ll. 6-21.
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, or 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. See, e.g., 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 perform transfer control.
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.
E. Legal Principles Relating to Claim Construction
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.(6) These three sources comprise the "intrinsic evidence of record."(7) Certain "extrinsic evidence" (such as expert opinion and scholarly works) may also be considered in interpreting the claims,(8) but may not be used to support an interpretation inconsistent with the intrinsic evidence.(9) The meaning of the claims is a question of law for decision by a judge, not a jury.(10)
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.
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.
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:
(i) the control structure actually performs transfer control,
(ii) the control structure itself carries the information necessary to transparently perform remote method calls, and
(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.
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.
F. P3P Does Not Infringe Any Claim of the Intermind Patent
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.(11)
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.
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.
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.
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.(12) For these reasons, P3P-compliant Web services and user agents do not literally infringe any claim of the '325 patent.
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.(13) 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.(14)
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 estop it from asserting the contrary - that its claims are not so limited - in any subsequent proceeding.
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.(15)
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.
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(16)), an estoppel is created. Otherwise, no estoppel results. Second, if an estoppel is created, the scope of the estoppel must be determined.(17)
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.
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.(18)
Here, Intermind repeatedly asserted that its claimed invention differed from the prior art because 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.(19)
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.
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.
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.
G. Conclusion
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.
Very truly yours,
By: /s/ Barry D. Rein
Barry D. Rein
A Member of the Firm/s/ Garland T. Stephens
Garland T. Stephens
An Associate of the Firm/s/ Henry C. Lebowitz
Henry C. Lebowitz
An Associate of the Firm
List of Exhibits
Exhibit A. U.S. Patent No. 5,862,325 to Reed et al..
Exhibit B, Platform for Privacy Preferences (P3P) Syntax Specification," W3C Working Draft (26 August 1999)
Exhibit C, P3P Base Data Set" W3C Working Draft (26 August 1999)
Exhibit D, P3P Harmonized Vocabulary," W3C Working Draft (26 August 1999)
Exhibit E, A P3P Preference Exchange Language (APPEL) Working Draft
Exhibit F, U.S. Patent Office Action dated October 8, 1997 in the case that issued as the 325 patent.
Exhibit G, Interminds response, dated April 8, 1998, to U.S. Patent Office Action dated October 8, 1997.
Exhibit H, Information Disclosure Statement filed by Intermind in the case that issued as the 325 patent.
Exhibit I, U.S. Patent No. 4,974,149 to Valenti.
Exhibit J, Supplemental Amendment, filed by Intermind on July 2, 1998 in the case that issued as the 325 patent.
Footnotes
1. 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.
2. See Bell Communications Research, Inc. v. Vitalink Communications Corp., 55 F.3d 615, 619-20 (Fed. Cir. 1995).
3. 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. See Applied Telematics, Inc. v. Sprint Corp., 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.
4. 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.
5. All emphasis in quotations in this letter has been added unless otherwise noted.
6. See Markman v. Westview Instruments, Inc., 52 F.3d 967, 979 (Fed. Cir. 1995) (en banc), aff'd, 517 U.S. 370 (1996).
7. See Vitronics Corp. v. Conceptronic, Inc., 90 F.3d 1576, 1582 (Fed. Cir. 1996).
8. See Markman, 52 F.3d at 980.
9. See Vitronics, 90 F.3d at 1583; Pitney Bowes, Inc. v. Hewlett-Packard Co., 182 F.3d 1298, 1308-09 (Fed. Cir. 1999).
10. See Markman, 52 F.3d at 979.
11. P3P is specified in three documents, entitled "Platform for Privacy Preferences (P3P) Syntax Specification," W3C Working Draft (26 August 1999) (Ex. B); "P3P Base Data Set" W3C Working Draft (26 August 1999) (Ex. C); and "P3P Harmonized Vocabulary," W3C Working Draft (26 August 1999) (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.
12. 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.
13. See Warner-Jenkinson Co. v. Hilton Davis Chemical Co., 520 U.S. 17, 21 (1997).
14. See Valmont Indus., Inc. v. Reinke Mfg. Co., 983 F.2d 1039, 1043 (Fed. Cir. 1996).
15. See Sextant Avionique, S.A. v. Analog Devices, Inc., 172 F.3d 817, 826 (Fed. Cir. 1999) (citing Cybor Corp. v. FAS Techs., Inc., 138 F.3d 1448, 1459-60 (Fed. Cir. 1998) (en banc)); Ekchian v. Home Depot, Inc., 104 F.3d 1299, 1303-04 (Fed. Cir. 1997).
16. The Federal Circuit has ordered en banc review of its decision in Festo Corp v. Shoketsu Kinzoku Kogyo Kabushiki Co., 172 F.3d 1361 (Fed. Cir. 1999). See Festo Corp v. Shoketsu Kinzoku Kogyo Kabushiki Co., 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.
17. See Sextant, 172 F.3d at 826 (citing Bai v. L&L Wings, Inc., 160 F.3d 1350, 1355 (Fed. Cir. 1998)).
18. See Sextant, 172 F.3d at 826-27.
19. See Augustine Med., Inc. v. Gaymar Indus., Inc., 181 F.3d 1291, 1299 (Fed. Cir. 1999).