`
`Invalidity Claim Chart for U.S. Patent No. 6,415,280: Satyanarayanan, M., Scalable, Secure, and Highly Available
`Distributed File Access, IEEE Computer, vol. 23, no. 5 (May 1990), pp. 9–21
`
`Satyanarayanan, M., Scalable, Secure, and Highly Available Distributed File Access, IEEE Computer, vol. 23, no. 5 (May
`1990), pp. 9–21 (“Satyanarayanan II”) is available as prior art at least under 35 U.S.C. § 102(b). Langer, A., “Re: dl/describe (File
`descriptions),” article <1991Aug7.225159.786@newshost.anu.edu.au> in Usenet newsgroups “alt.sources.d” and
`“comp.archives.admin” (August 7, 1991) (“Langer”) is available as prior art at least under 35 U.S.C. § 102(b). Kantor, F.W.,
`“FWKCS Contents-Signature System Version 1.22,” Aug. 10, 1993 (“Kantor”) is available as prior art at least under 35 U.S.C.
`§ 102(b).
`
`To the extent it is found that Satyanarayanan II does not expressly disclose certain limitations, such limitations are inherent.
`Moreover, to the extent it is found that Satyanarayanan II does not anticipate any asserted claim, Satyanarayanan II renders it
`obvious, either alone or in combination with the knowledge of a person of ordinary skill in the art, and/or in combination with other
`prior art references identified in the cover pleading or herein.
`
`The cited portions of the prior art references are only examples, and Defendants reserve the right to rely on any further uncited
`portions of the prior art references as additional evidence that the references disclose and/or render obvious a claim limitation.
`Defendants’ Invalidity Contentions are not an admission that the Accused Instrumentalities infringe the asserted claims of the ’280
`patent.
`
`Claim 36
`[a] A method of delivering a data file in a
`network comprising a plurality of
`processors, some of the processors being
`servers and some of the processors being
`clients, the method comprising:
`
`Satyanarayanan II
`Satyanarayanan II discloses “a method of delivering a data file in a network comprising
`a plurality of processors, some of the processors being servers and some of the
`processors being clients.” For example, Satyanarayanan II discloses the Coda file
`system, which is based on the Andrew File System (AFS) architecture. AFS comprises
`a plurality of processors, including file servers and workstations (clients). The system
`delivers data files to clients through a standard Unix file system interface.
`
`1
`
`EMCVMW 1036
`
`
`
`Claim 36
`
`Satyanarayanan II
`
`“Figure 1. A high-level view of the Andrew architecture. The structure labeled ‘Vice’ is
`a collection of trusted file servers and untrusted networks. The nodes labeled ‘W’ are
`private or public workstations, or timesharing systems. Software in each such node
`makes the shared files in Vice appear as an integral part of that node’s file system.”
`(Satyanarayanan II at 10.)
`
`“Data sharing in Andrew is supported by a distributed file system that appears as a
`single large subtree of the local file system on each workstation. The only files outside
`the shared subtree are temporary files and files essential for workstation initialization.
`A process called Venus, running on each workstation, mediates shared file access.
`Venus finds files in Vice, caches them locally, and performs emulation of Unix file
`system semantics.” (Satyanarayanan II at 10.)
`
`2
`
`
`
`Claim 36
`
`Satyanarayanan II
`
`[b] storing the data file is on a first server
`in the network and storing copies of the
`data file on a set of servers in the network
`distinct from the first server; and
`
`“Figure 2. File system view at a workstation: how the shared files in Vice appear to a
`user. The subtree under the directory labeled ‘afs’ is identical at all workstations. The
`other directories are local to each workstation. Symbolic links can be used to make
`local directories correspond to directories in Vice.” (Satyanarayanan II at 10.)
`
`“Coda provides a scalable and highly available approximation of Unix semantics. . . . In
`the absence of failures, Coda and AFS-2 semantics are identical.” (Satyanarayanan II
`at 16.)
`
`Satyanarayanan II discloses “storing the data file is on a first server in the network and
`storing copies of the data file on a set of servers in the network distinct from the first
`server.” For example, when a client modifies a data file on the Coda file system, the
`system stores the data file on a first server (“preferred server,” or PS) and also stores
`copies of the data file on a set of servers (other servers within the “accessible volume
`storage group,” or AVSG) in the network, distinct from the first server.
`Satyanarayanan II replicates volumes on a plurality of servers (at least three), and thus
`
`3
`
`
`
`Claim 36
`
`Satyanarayanan II
`stores copies of files on a plurality of servers.
`
`“The unit of replication in Coda is a volume. A replicated volume consists of several
`physical volumes, or replicas, that are managed as one logical volume by the system.
`Individual replicas are not normally visible to users. The set of servers with replicas of
`a volume constitutes its volume storage group (VSG). . . . For every volume from
`which it has cached data, Venus keeps track of the subset of the VSG that is currently
`accessible. This subset is called the accessible VSG (AVSG).” (Satyanarayanan II at
`16.)
`
`“When servicing a cache miss, Venus obtains data from one member of its AVSG,
`known as the preferred server. The PS can be chosen at random or on the basis of
`performance criteria such as physical proximity, server load, or server CPU power.”
`(Satyanarayanan II at 16.)
`
`“When a file is closed after modification, it is transferred to all members of the AVSG.
`This approach is simple to implement and maximizes the probability that every
`replication site has current data at all times. Server CPU load is minimized because the
`burden of data propagation is on the client rather than the servers. This in turn improves
`scalability, since the server CPU is the bottleneck in many distributed file systems.”
`(Satyanarayanan II at 17.)
`
`“Figure 6 illustrates the message exchange in a store operation (which corresponds to a
`file close).” (Satyanarayanan II at 17.)
`
`4
`
`
`
`Claim 36
`
`Satyanarayanan II
`
`“Figure 6. A store operation in Coda: the two phases of the Coda update protocol. In
`the first phase, COP1, the three servers are sent new status and data in parallel. In the
`later asynchronous phase, COP2, the update set is sent to these servers. COP2 also
`occurs in parallel and can be piggybacked on the next COP1 to these servers.”
`
`(Satyanarayanan II at 16.)
`
`See also Applicants Admitted Prior Art: “In some data processing systems in which
`several processors are connected in a network, one system is designated as a cache
`server to maintain master copies of data items, and other systems are designated as
`cache clients to copy local copies of the master data items into a local cache on an as-
`
`5
`
`
`
`Claim 36
`
`Satyanarayanan II
`needed basis . . . .” (See “Background of the Invention,” ‘280 patent at col. 2 l. 58 to
`col. 3 l. 2.)
`
`[c] responsive to a client request for the
`data file, the request including a hash of the
`contents of the data file, causing the data
`file to be provided to the client.
`
`See also element [36a].
`
`Satyanarayanan II discloses “responsive to a client request for the data file… causing
`the data file to be provided to the client.” For example, Satyanarayanan II discloses
`that a client can access a data file by sending a request for the data file using a standard
`Unix file system interface. In response to the request, the preferred server provides the
`data file to the client. Thus, Satyanarayanan II discloses, responsive to a client request
`for the data file, causing the data file to be provided to the client, where the client
`request identifies the data file by a conventional pathname.
`
`“When servicing a cache miss, Venus obtains data from one member of its AVSG,
`known as the preferred server. The PS can be chosen at random or on the basis of
`performance criteria such as physical proximity, server load, or server CPU power.
`Although data is transferred only from one server, Venus contacts the other servers to
`collect their versions and other status information.” (Satyanarayanan II at 16.)
`
`6
`
`
`
`Claim 36
`
`Satyanarayanan II
`
`“Figure 5. Servicing a cache miss in Coda: the events that follow from a cache miss at
`the client. Both data and status are fetched from Server 1, which is the preferred server
`(PS). Only status is fetched from Server 2 and Server 3. The calls to all three servers
`occur in parallel.” (Satyanarayanan II at 16.)
`
`To the extent Satyanarayanan II does not explicitly disclose that the request includes “a
`hash of the contents of the data file,” it would have been obvious to combine
`Satyanarayanan II with the knowledge of a person of ordinary skill and/or other prior
`art references to meet that limitation. For example, A. Langer, “Re: dl/describe (File
`descriptions)” (August 7, 1991) (“Langer”) discloses “a hash of the contents of the data
`file” to act as a file identifier. A person of ordinary skill would have found it obvious to
`
`7
`
`
`
`Claim 36
`
`Satyanarayanan II
`apply the teachings of Langer concerning file identification using hashes to
`Satyanarayanan II. Langer provides an express motivation to do so, by disclosing that
`the use of a unique, location-independent identifier allows a user to automatically access
`a file from the nearest location. Langer also discloses that the MD5 signature provides a
`simple method of defining a unique identifier that can be generated locally, without
`requiring a registration system, and with negligible chances of collision. Langer
`discloses that the MD5 hash provides a secure means of verifying the integrity of the
`data file. Such combination of Satyanarayanan II with Langer would have been the
`application of Langer’s known technique to the known device of Satyanarayanan II,
`ready for improvement, to yield the predictable result of improving file access using
`unique identifiers. As such, the combination would have been the mere combination of
`prior art elements, according to known methods, to yield predictable results. Further,
`design incentives and market forces would have prompted the application of Langer to
`Satyanarayanan II, because the resulting system would have achieved the desired
`uniqueness of the identifiers at a minimum of complexity. Finally, the combination
`would have required no more than ordinary creativity, taking into account the inferences
`and creative steps that a person of ordinary skill in the art would employ.
`
`“A simple method of defining a unique identifier that does NOT include a particular site
`identifier would be to use a hash function on the entire contents of the file. This can be
`generated locally without requiring a registration system and if long enough the chances
`of collision are negligible. I would suggest using a cryptographic hash function such as
`MD5 which generates a 16 byte result. The extra work to use cryptographic hashing is
`only done once when assigning the unique identifier and is therefore unimportant. But
`for any users that DO wish to check validity, it provides a VERY secure means of
`ensuring they have got an uncorrupted version of the specific file they were told about,
`regardless of where they can get it from. (There is currently no publicly known way to
`generate a file that would produce the same 16 byte MD5 code as any given file).”
`(Langer at 4; see also id. at 2-3 and 5).
`
`Alternatively, to the extent Satyanarayanan II does not explicitly disclose a request that
`
`8
`
`
`
`Claim 36
`
`Satyanarayanan II
`includes “a hash of the contents of the data file,” it would have been obvious to combine
`Satyanarayanan II with the knowledge of a person of ordinary skill and/or other prior
`art references such as Kantor to meet that limitation. For example, Kantor discloses “a
`hash of the contents of the data file”to act as a file identifier. A person of ordinary skill
`would have found it obvious to apply the teachings of Kantor concerning file
`identification to Satyanarayanan II. Kantor provides an express motivation to do so, by
`disclosing that the use of a substantially unique content-based identifier that allows a
`client to lookup a file at a remote file server, i.e., electronic Bulletin Board System
`(BBS). Such combination of Satyanarayanan II with Kantor would have been the
`application of Kantor’s known technique to the known device of Satyanarayanan II,
`ready for improvement, to yield the predictable result of improving file access using
`substantially unique identifiers. As such, the combination would have been the mere
`combination of prior art elements, according to known methods, to yield predictable
`results. Further, design incentives and market forces would have prompted the
`application of Kantor to Satyanarayanan II, because the resulting system would have
`achieved the desired uniqueness of the identifiers at a minimum of complexity. Finally,
`the combination would have required no more than ordinary creativity, taking into
`account the inferences and creative steps that a person of ordinary skill in the art would
`employ.
`
`“Purpose: FWKCS can produce a kind of ‘contents-signature’ which does not depend on
`file names, dates, order of collection, nor method nor amount of compression. Sorting
`the output groups names of files having the same contents, with typical statistical pair-
`wise error rate less than one part in ten trillion . . . .” (Kantor at 2–3; see also id. at 10-
`11.)
`
`“What is a ‘contents-signature’? (‘cs’)
`A ‘contents-signature’ is a string of bits generated from the contents of a file, long
`enough and suitably generated so as to provide some desirably low probability that two
`different files would give rise to the identical string of bits. One example which you
`may be familiar with is the cyclic residue check or cyclic redundancy check (‘CRC’)
`
`9
`
`
`
`Claim 36
`
`Satyanarayanan II
`often used for detecting errors in storage or transmission of data . . . . For the purpose of
`identifying files, [the 32-bit CRC] is not enough.” (Id. at 6.)
`
`“The contents-signatures generated by FWKCS use the 32-bit CRC together with the
`uncompressed file-length.” (Id. at 8.)
`
`“i – process remote Inquiries requesting a contents-signature search. With option I, a
`person can ask ahead to find out if material which he/she is thinking of uploading is
`already on a BBS.” (Id. at 96.)
`
`“A utility is provided, LOOKUP.BAT, which the remote BBS user can use . . . for the
`remote contents-signature inquiry to take place.” (Id. at 97; see also id. at 173.)
`
`See also element [36a].
`
`Claim 38
`[a] A method of delivering a data file in a
`network comprising a plurality of
`processors, some of the processors being
`servers and some of the processors being
`clients, the method comprising:
`
`Satyanarayanan II
`Satyanarayanan II discloses “a method of delivering a data file in a network comprising
`a plurality of processors, some of the processors being servers and some of the
`processors being clients.” For example, Satyanarayanan II discloses the Coda file
`system, which is based on the Andrew File System (AFS) architecture. AFS comprises
`a plurality of processors, including file servers and workstations (clients). The system
`delivers data files to clients through a standard Unix file system interface.
`
`See element [36a].
`
`[b] storing the data file is on a first server
`and storing copies of the data file on a set
`of servers distinct from the first server; and
`
`Satyanarayanan II discloses “storing the data file is on a first server and storing copies
`of the data file on a set of servers distinct from the first server.” For example, when a
`client modifies a data file on the Coda file system, the system stores the data file on a
`first server (“preferred server,” or PS) and also stores copies of the data file on a set of
`
`10
`
`
`
`Claim 38
`
`[c] responsive to a client request for the
`data file, the request including a value
`determined as a given function of the
`contents of the data file, providing the data
`file to the client.
`
`Satyanarayanan II
`servers (other servers within the “accessible volume storage group,” or AVSG) in the
`network, distinct from the first server. Satyanarayanan II replicates volumes on a
`plurality of servers (at least three), and thus stores copies of files on a plurality of
`servers.
`
`See element [36b].
`
`Satyanarayanan II discloses “responsive to a client request for the data file… causing
`the data file to be provided to the client.” For example, Satyanarayanan II discloses
`that a client can access a data file by sending a request for the data file using a standard
`Unix file system interface. In response to the request, the preferred server provides the
`data file to the client. Thus, Satyanarayanan II discloses, responsive to a client request
`for the data file, causing the data file to be provided to the client, where the client
`request identifies the data file by a conventional pathname.
`
`To the extent Satyanarayanan II does not explicitly disclose “the request including a
`value determined as a given function of the contents of the data file,” it would have been
`obvious to combine Satyanarayanan II with the knowledge of a person of ordinary skill
`and/or other prior art references to meet that limitation. For example, A. Langer, “Re:
`dl/describe (File descriptions)” (August 7, 1991) (“Langer”) discloses “the request
`including a value determined as a given function of the contents of the data file.” A
`person of ordinary skill would have found it obvious to apply the teachings of Langer
`concerning file identification using hashes to Satyanarayanan II. Langer provides an
`express motivation to do so, by disclosing that the use of a unique, location-independent
`identifier allows a user to automatically access a file from the nearest location. Langer
`also discloses that the MD5 signature provides a simple method of defining a unique
`identifier that can be generated locally, without requiring a registration system, and with
`negligible chances of collision. Langer discloses that the MD5 hash provides a secure
`means of verifying the integrity of the data file. Such combination of Satyanarayanan
`II with Langer would have been the application of Langer’s known technique to the
`known device of Satyanarayanan II, ready for improvement, to yield the predictable
`
`11
`
`
`
`Claim 38
`
`Satyanarayanan II
`result of improving file access using unique identifiers. As such, the combination
`would have been the mere combination of prior art elements, according to known
`methods, to yield predictable results. Further, design incentives and market forces
`would have prompted the application of Langer to Satyanarayanan II, because the
`resulting system would have achieved the desired uniqueness of the identifiers at a
`minimum of complexity. Finally, the combination would have required no more than
`ordinary creativity, taking into account the inferences and creative steps that a person of
`ordinary skill in the art would employ.
`
`To the extent Satyanarayanan II does not explicitly disclose “the request including a
`value determined as a given function of the contents of the data file,” it would have been
`obvious to combine Satyanarayanan II with the knowledge of a person of ordinary skill
`and/or other prior art references to meet that limitation. For example, Kantor discloses
`“the request including a value determined as a given function of the contents of the data
`file.” A person of ordinary skill would have found it obvious to apply the teachings of
`Kantor concerning file identification to Satyanarayanan II. Kantor provides an express
`motivation to do so, by disclosing that the use of a substantially unique content-based
`identifier that allows a client to lookup a file at a remote file server, i.e., electronic
`Bulletin Board System (BBS). Such combination of Satyanarayanan II with Kantor
`would have been the application of Kantor’s known technique to the known device of
`Satyanarayanan II, ready for improvement, to yield the predictable result of improving
`file access using substantially unique identifiers. As such, the combination would have
`been the mere combination of prior art elements, according to known methods, to yield
`predictable results. Further, design incentives and market forces would have prompted
`the application of Kantor to Satyanarayanan II, because the resulting system would
`have achieved the desired uniqueness of the identifiers at a minimum of complexity.
`Finally, the combination would have required no more than ordinary creativity, taking
`into account the inferences and creative steps that a person of ordinary skill in the art
`would employ.
`
`12
`
`
`
`Claim 38
`
`Satyanarayanan II
`
`See element [36c].
`
`13
`
`