`? Z )7
`
`/W
`
`0
`
`IN THE UNITED STATES PATENT AND TRADEMARK OFFICE
`
`FARBER et al.
`
`Appln. No. 09/283,160
`
`Group Art Unit:
`
`2177
`
`Examiner: Homere, Jean R.
`
`Filed: April 1, 1999
`
`'
`
`EXPEDITED
`EXAMINATION
`
`For:
`
`IDENTIFYING AND REQUESTING DATA IN NETWORK USING
`IDENTIFIERS WHICH ARE BASED ON CONTENTS OF DATA (As Amended)
`
`*>i<*>k>‘s
`
`RESPONSE
`
`August 22, 2001
`
`Hon. Commissioner of Patents
`and Trademarks
`Washington, DC. 20231
`
`Sir:
`
`Please amend this application as follows:
`
`IN THE CLAIMS:
`
`.
`AUG 2 4 ,
`”/51?
`yae‘cvzmmgycan,
`
`,
`
`9’29709
`
`Please amend the claims as follows (the claim amendments are shown in detail in the
`
`attached appendix):
`
`4/
`54. (Amended) In a system in which a set of data files are distributed across a network
`
`of servers, at least some of the data files being cached versions of data files from a source
`
`server, wherein the source server is distinct from the servers in the network, a content
`
`delivery method comprising:
`
`determining a data identifier for a particular data file on the source server, the data
`
`identifier being determined using a given function of the data, wherein said data used by the
`
`V
`
`a”
`
`(I
`
`GOOG-1006—Page 1 of 64
`
`GOOG-1006-Page 1 of 64
`
`
`
`M A
`
`pplication of Farber et ai, Jo. 09/283,160
`
`l i
`
`W g
`
`iven function to determine the data identifier comprises the contents of the particular data
`file; and
`‘
`
`responsive to a request for the particular data file, the request including at least the
`
`data identifier of the particular data file, providing the particular data file from a given one of
`
`the servers of the network of servers, said providing being based on the data identifier of the
`
`requested data item.
`
`gig/(Amended) in a system in which a set ofdata files are distributed across a network
`
`of servers, some of the data files being cached from a source server distinct from the servers
`in the network, a content delivery method comprising:
`
`determining a data identifier for a particular data file on the source server, the data
`
`identifier being determined using a given function of the data, wherein said data used by the
`
`given function to determine the data identifier comprises the contents of the particular data
`
`file; and
`
`responsive to a request for the particular data file, the request including at least the
`
`data identifier of the particular data file, causing a copy of the particular data file to be
`
`provided from a given one of the servers of the network of servers.
`
`$5. (Amended) A content delivery method, comprising:
`
`distributing a set of data files across a network of servers;
`
`determining a data identifier for a particular data file, the data identifier being
`
`determined using a given function of the data, wherein said data used by the given function to
`
`determine the data identifier comprises the contents of the particular data file; and
`
`in response to a request for the particular data file, the request including at least the
`
`data identifier of the particular data file, providing the particular data file from a given one of
`
`the servers of the network of servers, said providing being based on the data identifier of the
`
`particular data file.
`
`ll
`it)
`9/.(Amended) A method as in claim‘S/o/further comprising:
`
`determining whether the data identifier corresponds to a data identifier of any data file
`
`present on the given server.
`
`W,
`
`K“:
`
`GOOG-1006—Page 2 of 64
`
`GOOG-1006-Page 2 of 64
`
`
`
`,
`5,,
`.55 Application of Farber et at, .40. 09/283,160
`
`ll
`l2 fig (Amended) A method as in claim 57 further comprising:
`based on said determining, if the data identifier does not correspond to a data file
`
`present on the given server, locating the particular. data file from another server.
`
`{’L
`l6 ? (Amended) A method as in claim ;8 further comprising:
`obtaining, on the given server, a local copy of the particular data file, from the other
`
`server.
`
`f0
`ldl 6% (Amended) A method as in claim §6 wherein at least some ofthe data files
`
`distributed across the network of servers are cached versions of data files from another
`
`server, distinct from the network of servers.
`
`10
`(6 94. (Amended) A method as in claim §6 further comprising:
`resolving the request for the particular data file based on a measure of availability of
`
`at least one of the servers.
`
`/
`
`)‘3
`
`(la 6/1. (Amended) A method as in claimfyl/wherein the measure of availability is based
`
`on one or more of:
`
`(a) a measurement of bandwidth to the server;
`
`(b) a measurement of a cost of a connection to the server, and
`
`(c) a measurement of a reliability of a connection to the server.
`
`to
`1"
`9% (Amended) A method as in claim 5/6’wherein the data file is a compound data file
`
`made up of various component data files, the method further comprising:
`
`for each component data file of at least some of the component data files:
`
`(a) determining a data identifier for the component data file, the data identifier
`
`for the component file determined using the given function of the data,
`
`wherein said data used by the given function to determine the data identifier
`
`comprises the contents of the component data file; and
`
`(b) providing the component data file from a given one of the servers of the
`
`network of servers.
`
`“sin
`
`R
`
`GOOG-1006—Page 3 of 64
`
`GOOG-1006-Page 3 of 64
`
`
`
`«gr
`
`gr”1s
`Application of Farber et ai, No. 09/283,160
`
`ii
`
`-
`
`it
`p4. (Amended) A content delivery method, comprising:
`
`distributing a set of data files across a network of servers;
`
`for a particular data file having a particular name specifying a location in the network
`
`at which the data file may be located, determining another name for the particular data file,
`
`the other name including a data identifier determined using a given function of the data,
`
`where said data used by the given function comprises the contents of the particular data file;
`
`and
`
`in response to a request for the particular data file, the request including the other
`
`name of the particular data file, providing the particular data file from a given one of the
`
`servers of the network of servers.
`
`fl
`'
`1“
`6;/(Amended) A method as in claim /6/(wherein at least some ofthe data files are
`
`cached versions of data files from another server which is distinct from the network of
`
`servers.
`
`it
`Z0
`éfl (Amended) A method as in claim 6/Vfurther comprising:
`
`resolving the request for the particular data file based on a measure of availability of
`
`at least one of the servers.
`
`’12\
`Zb
`%(Amended) A method as in claim96/wherein the measure ofavailability is based
`
`on one or more of:
`
`(a) a measurement of bandwidth to the server;
`
`(b) a measurement of a cost of a connection to the server, and
`
`(c) a measurement of a reliability of a connection to the server.
`if?
`«4
`'t
`5 V;
`z
`5 /
`3 M
`5”: aw
`i
`"I“ 4.68. (Amended) A method as in dainty?wherein the particular data file is a
`
`compound data file comprising various component data files, the method further comprising:
`
`for at least one component data file:
`
`(a) determining a data identifier for the component data file, the data identifier
`
`determined using a given function of the data, wherein said data used by the
`
`given function comprises the contents of the component data file; and
`
`(b) providing the component data file from a given one of the servers of the
`
`network of servers.
`
`,3?)
`V
`
`GOOG-1006—Page 4 of 64
`
`GOOG-1006-Page 4 of 64
`
`
`
`,w“ 2/I“
`
`x
`
`Application of Far-her et a, .lo. 09/2839160
`V
`t}
`99. (Amended) A content delivery method, comprising:
`distributing a set of data files across a network of servers, at least some of the data
`
`files being cached versions of data files from another server, distinct from the network of
`
`servers;
`
`determining a data identifier for a particular data file, the data identifier determined
`
`using a given function of the data, wherein said data used by the given function comprises the
`
`contents of the particular data file; and
`
`in response to a request for the particular data file, the request including at least the
`
`data identifier of the particular data file, providing the particular data file from a given one of
`
`the servers of the network of servers.
`
`it
`7%. (Amended) A content delivery method, comprising:
`causing a set of data files to be distributed across a network of servers, at least some
`
`of the data files being cached versions of data files from another server distinct from the
`
`network of servers;
`
`determining a data identifier for a particular data file, the data identifier determined
`
`using a given function of the data, wherein said data used by the given function comprises the
`
`contents of the particular data file; and
`A
`in response to a request for the particular data file, the request including at least the
`
`data identifier of the particular data file, causing the particular data file to be provided from a
`
`given one of the servers of the network of servers.
`
`(L6
`7/. (Amended) A content delivery method, comprising:
`distributing a set of data files across a network of servers, the network of servers
`
`being organized into a set of regions;
`
`determining a data identifier for a particular data file, the data identifier determined
`
`using a given function of the data, wherein said data used by the given function comprises the
`
`contents of the data file;
`
`in response to a client request for the particular data file, the request including at least
`
`the data identifier of the particular data file, providing the client with the particular data file
`
`from a given one of the servers of the network of servers within the region.
`
`1/
`’2/
`¢‘ (Amended) A method as in claim)4 wherein the given function is a message
`digest function or a hash function.
`
`5
`
`tti2
`
`iW
`
`GOOG-1006—Page 5 of 64
`
`GOOG-1006-Page 5 of 64
`
`
`
`Ira/”i/
`3 Application of Farber et a}, No. 09/283,160
`
`Z
`3
`73. (Amended) A method as in claim 2 wherein the given function is selected from
`
`the functions: MD4, MDS, and SHA.
`
`c
`4
`2/4. (Amended) A method as in claim /54 wherein the given function randomly
`distributes its outputs.
`
`l
`5
`}5, (Amended) A method as in claim 94 wherein, for a particular data file, the given
`function produces a substantially unique value based on the data comprising the data file.
`
`(9
`1
`7/6. (Amended) A method as in claim/4 wherein a data file may comprise a file, a
`portion of a file, a page in memory, a digital message, a digitalimage, a video signal or an
`
`audio signal.
`
`v30:
`(Amended) In a system in which a set of data files are distributed across a
`7/7.
`network of servers, at least some of the data files being cached versions of data files from a
`
`source server distinct from the network of servers, a content delivery method comprising:
`
`responsive to a request for a particular data file, the request including at least a data
`
`identifier of the particular data file, wherein the data identifier is determined by applying a
`
`message digest function MDS to the data, wherein said data used by the MDS function to
`
`determine the data identifier is the contents of the particular data file, providing the particular
`
`data file from a given one of the servers of the network of servers,
`
`wherein a data file may be a file, a portion of a file, a page in memory, a digital
`
`message, a digital image, a video signal or an audio signal.
`
`2‘1
`7/8( (Amended) A content delivery method, comprising:
`distributing a set of data files across a network of servers, at least some of the data
`
`files being cached versions of data files from another server distinct from the network of
`
`servers;
`
`determining a data identifier for a particular data file, the data identifier determined
`
`using a given function of the data, wherein said data used by the given function comprises the
`
`contents of the particular data file, and wherein the given function randomly distributes its
`
`outputs; and
`
`GOOG-1006—Page 6 of 64
`
`GOOG-1006-Page 6 of 64
`
`
`
`i Application of Farber et al, No. 09/283,160
`meW‘”
`
`in response to a request for the particular data file, the request including at least the
`
`data identifier of the particular data file, providing the particular data file from a given one of
`
`the servers of the network of servers, said providing being based on the data identifier of the
`
`particular data item.
`
`a 7
`
`% (Amended) A method as in claim {78/further comprising:
`
`maintaining accounting information relating to the data files; and
`
`using the accounting information as a basis for a value-based accounting system in
`
`which charges are based on an identity of the data files.
`
`2%
`at
`% (Amended) A method as in claimywherein the maintaining of accounting
`
`information includes at least some of:
`
`(a) tracking which data files have been stored on a system; and
`
`(b) tracking which data files have been transmitted from a server.
`
`it
`,0
`}/{. (Amended) A method as in claim 2% further comprising:
`
`ensuring that a data file is not used by an unauthorized party.
`
`9i
`y. (Amended) A content delivery method, comprising:
`distributing a set of data files across a network of servers;
`
`determining an MD5 hash of the contents of a particular data file; and
`
`in response to a request for the particular data file, the request including at least the
`
`MD5 hash of the particular data file, providing the particular data file from a given one of the
`
`servers of the network of servers, said providing being based on the MD5 hash of the
`
`particular data file.
`
`37?
`3!
`34. (Amended) A method as in claim yfurther comprising:
`
`resolving the request for the particular data file based on a measure of availability of
`
`at least one of the servers.
`
`3”?
`
`3%
`. (Amended) A method as in claimyfwherein the measure of availability for a
`
`server is based on one or more of:
`
`(a) a measurement of bandwidth to the server;
`
`(b) a measurement of a cost of a connection to the server, and
`
`7
`
`. if?
`
`GOOG-‘IOOB-Page 7 of 64
`
`GOOG-1006-Page 7 of 64
`
`
`
`?(MM
`Application of Farber et at, No. 09/283,160
`M»)
`
`(c) a measurement of reliability of a connection to the server.
`
`34
`$5. (Amended) A content delivery method, comprising:
`distributing a set of data files across a network of servers;
`
`for a particular data file having a particular data identifier specifying a location in the
`
`network at which the particular data file may be located, determining another data identifier
`
`for the particular data file, the other data identifier including a data identifier determined
`
`using a message digest function of the contents of the particular data file;
`
`in response to a request for the particular data file, the request including the other data
`
`identifier of the particular data file, providing the particular data file from a given one of the
`
`servers of the network of servers, said providing being based on the other data identifier
`
`which was determined using the message digest function.
`
`36
`86/. (Amended) A content delivery method, comprising:
`
`distributing a set of data files across a network of servers, at least some of the data
`
`files being cached versions of data files from another server, said other server being distinct
`
`from the network of servers;
`
`determining a data identifier for a particular data file, the data identifier including a
`
`hash of the contents of the particular data file; and
`
`in response to a request for the particular data file, the request including at least the
`
`data identifier of the particular data file, providing the particular data file from a given one of
`
`the servers of the network of servers.
`
`etc
`M (Amended) 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:
`
`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
`
`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.
`
`(2:;
`
`GOOG-1006—Page 8 of 64
`
`GOOG-1006-Page 8 of 64
`
`
`
`/’
`
`3/
`5 Application of Farber et ai, n0. 09/283,160
`a
`34"
`3")
`'
`}8. (Amended) A method as in claimy wherein the data file has a contextual name
`comprising a pathname including a processor name and a file name, the method further
`
`t W
`
`comprising:
`
`associating the contextual name of the data file with the hash of the contents of the
`
`data file.
`
`3%
`%(Amended) 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:
`
`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
`
`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.
`
`33
`3?
`9d (Amended) A method as in claim §9 wherein the data file has a contextual name
`comprising a pathname including a processor name and a file name, the method further
`
`comprising:
`
`associating the contextual name of the data file with the value determined as the given
`
`function of the data in the data file.
`
`“I
`
`9/. (Amended) A method as in claim £4?
`
`wherein certain processors in the network communicate with each other using a
`
`TCP/lP communication protocol.
`
`40
`
`9 . (Amended) 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,
`
`wherein some processors in the network communicate with each other using a TCP/lP
`
`communication protocol, wherein a key is required to identify a data file on the network and
`
`wherein ordinarily the key is a name or address for the data file, the method comprising:
`
`storing some data files on a first server in the network and storing copies of some of
`
`the data files on a set of cache servers distinct from the first server;
`
`determining a different cache key from the ordinarily used cache key, the different
`
`cache key being a function of the contents of the data it represents; and
`
`GOOG-1006—Page 9 of 64
`
`GOOG-1006-Page 9 of 64
`
`
`
`M»
`
`z
`
`' Application of Farber et at, no. 09/283,160
`taw-
`
`responsive to a client request for the data file, the request including the different cache
`
`key for the data file, providing the data file to the client.
`
`40
`4 l
`9/3. (Amended) A method as in claim Qfl/wherein the function is a message digest
`function or a hash function.
`
`4’
`4%
`9,4. (Amended) A method as in claim 9/3 wherein the function is selected from the
`
`functions: MD4, MDS, and SHA.
`
`40
`43
`9/{1 (Amended) A method as in claim 9/2 wherein the function randomly distributes its
`
`outputs.
`
`at
`9/4. (Amended) A framework operative in a computer network in which users of client
`processors connect to a content server, the framework comprising:
`
`a set of content servers, distinct from the content provider server, for hosting at least
`
`some of the data files that are normally hosted by the content provider server;
`
`a mechanism constructed and adapted to determine an identifier for a data file as a
`
`given function of the contents of a data file in the network;
`
`wherein, in response to requests for a data file, generated by one of the client
`
`machines the request including an identifier based on the given function of the contents of the
`
`particular data file, the particular data file is served from one of the content servers.
`4‘5
`LH .
`9/1 (Amended) A framework as in claim96 wherein the given function is a message
`digest function or a hash function.
`
`/
`14:)
`4‘?
`9g (Amended) A framework as in claim 97/wherein the given function is selected
`
`from the functions: MD4, MDS, and SHA.
`
`1-H
`(44
`Q6. (Amended) A framework as in claim 9/6 wherein the given function randomly
`
`distributes its outputs.
`L14
`14%
`1116 (Amended) A framework as in claim Qéwherein processors in the network
`
`communicate with each other using a TCP/IP communication protocol.
`
`10
`
`a\Kg
`
`GOOG-lOOB-Page 10 of 64
`
`GOOG-1006-Page 10 of 64
`
`
`
`A
`
`'7 Application of Farber et a1, r10. 09/283,160
`
`Vi. (Amended) Aframeworkasinclaimfiglwhereinthedatafilehas acontextual
`
`4
`
`name, the framework further comprising:
`
`a mechanism constructed and adapted to associate the contextual name of the data file
`
`with the identifier for the data file.
`
`1%; (Amended) A framework as inclaim 1%whereinthe contextual name ofthe
`
`4‘!
`
`data file comprises a pathname including a processor name and a file name.
`
`5’72
`196/. (Amended) In a network comprising a plurality of processors, some of the
`processors functioning as servers and some of the processors functioning as clients, wherein
`some processors in the network communicate with each other using a TCP/IP communication
`protocol, wherein a key is required to identify a data file on the network and wherein
`ordinarily the key is a name or address for the data file, a method of delivering a data file:
`
`storing some data files on a first server in the network and storing copies of some of
`
`the data files from the first server on a set of cache servers distinct from the first server;
`
`for a particular data file, determining a different cache key from the ordinarily used
`
`cache key for the data file, the different cache key being determined using a message digest
`
`function MDS of the data, wherein said data used by the MDS function comprises the
`
`contents of the particular data file; and
`
`responsive to a client request for the particular data file, the request including the
`
`different cache key for the data file, causing the particular data file to be provided to the
`
`client,
`
`wherein the data file may be a file, a portion of a file, a page in memory, a digital
`
`message, a digital image, a video signal or an audio signal.
`
`53
`1%(Amended) A framework operative in a computer network in which users of
`client processors connect to a content server, wherein processors in the network communicate
`
`with each other using a TCP/IP communication protocol, the framework comprising:
`
`a mechanism constructed and adapted to determine a given function of a data file in
`
`the network, the given function being a message digest function or a hash function;
`
`a set of content servers, distinct from the content provider server, for hosting at least
`
`some of the data files that are normally hosted by the content provider server;
`
`11
`
`C;/:z
`,4”
`
`(m
`
`GOOG-1006—Page 11 of 64
`
`GOOG-1006-Page 11 of 64
`
`
`
`//,;
`
`f;
`5 Application of Farber et at, No. 09/283,160
`tw/
`
`wherein, in response to requests for a data file, generated by one of the client
`
`machines the request including an identifier based on the given function of the contents of the
`
`particular data file, the particular data file is served from one of the content servers.
`
`44
`5t
`19K (Amended) A framework as in claim96wherein a data file may be a file, a
`portion of a file, a page in memory, a digital message, a digital image, a Video signal or an
`
`audio signal.
`
`196 (Amended) A content delivery method in a network in which at least some
`
`processors in the network communicate with each other using a TCP/IP communication
`
`protocol, the method comprising:
`
`for a particular data file having a particular name specifying a location in the network
`
`at which the data file may be located, determining another name for the particular data file,
`
`the other name including a data identifier determined using message digest function MDS of
`
`the data, wherein said data used by the MDS function comprises the contents of the particular
`
`data file; and
`
`in response to a request for the particular data file, the request including the other
`
`name of the particular data file, causing the particular data file to be provided from a given
`
`one of the servers of the network of servers,
`
`wherein the data file may be a file, a portion of a file, a page in memory, a digital
`
`message, a digital image, a video signal or an audio signal.
`
`«“1qu
`
`Ei3
`
`Please add the following new claims:
`
` ’M—
`
`files from a source server
`
`t from the network of servers, the content delivery method
`
`
`
`
`comprising:
`
`GOOG-1006—Page 12 of 64
`
`GOOG-1006-Page 12 of 64
`
`
`
`Application of Farber et at, No. 09/283,160
`
`1 response to a request for the particular file, the request including at least the name
`
`of the parti '. lar file, causing the particular file to be provided from a given one of the servers
`
`
`
`of the network s
`
`servers.
`
`
`
`108. (New) A wtent delivery method, in a system in which a plurality of files are
`
`distributed across a networ of servers, at least some of the files being cached versions of
`
`files from a source server disti '
`
`t fr
`
`the servers in the network, wherein data in a file in the
`
`system may represent a digital
`
`a digital image, a video signal or an audio signal, the
`
`content delivery method comprisr : .
`
`determining a name for a particu
`
`file, the name being determined using an MDS
`
`function of the data, said data being the data '» hich comprises the contents of the particular
`
`
`@z'1
`
`
`file; and
`
`
`
`in response to a request for the particular fil
`
`the request including at least the name
`
`of the particular file, providing the particular data file om a given one of the servers of the
`
`network of servers, said providing being based on the dete a,
`
`ined name.
`
`if): (New) A method, in anetwork comprising aplurality ofprocessors, some ofthe
`
`processors functioning as servers and some of the processors functioning as clients, wherein
`
`some processors in the network communicate with each other using a TCP/IP communication
`
`protocol, wherein a key is required to identify a file on the network and wherein ordinarily
`
`the key is a name or address for the file, the method comprising:
`
`storing some files on a first server in the network and storing copies of some of the
`
`files from the first server on a set of cache servers distinct from the first server;
`
`for a particular file, determining a different cache key from the ordinarily used cache
`
`key for the file, the different cache key being determined using a message function MDS of
`
`the data, wherein said data used by the MDS function comprises the contents of the particular
`
`file; and
`
`responsive to a client request for the particular file, the request including the different
`
`cache key for the file, causing the particular file to be provided to the client,
`
`wherein the data in the file may represent a digital message, a digital image, a video
`
`signal or an audio signal.
`
`13
`
`,9 ‘
`6/7 2/
`
`if?
`w
`
`GOOG-lOOB-Page 13 of 64
`
`GOOG-1006-Page 13 of 64
`
`
`
`Application of Farber et at, no. 09/283,160
`
`.
`l 10. (New) A content delivery method, in a system in which a plurality of files are
`distrib ed across a network of servers, wherein some processors in the network
`
`communi te with each other using a TCP/IP communication protocol, the content delivery
`
`method com rising:
`
`for a pa icular file, the contents of said file representing a digital image, determining
`
`a name for the
`
`
`
`
`
`icular file, wherein the name is determined using a given function of the
`
`data which compries the contents of the particular file; and
`
`in response to a request for the particular file, the request including at least the name
`
`of the particular file, p '9 viding the particular file from a given one of the servers of the
`
`network of servers.
`
`
`
`111. (New) A conten delivery method comprising:
`
`causing a plurality of 1 es to be distributed across a network of servers, at least some
`
`of the files being cached version of files from a source server which is distinct from the
`
`network of servers;
`
`
`
`for a particular file, determini * 1 a name, the name being determined using a given
`
`of the particular file; and
`
`
`function ofthe data, said dataused by w‘ction being datawhich comprises the contents
`\
`in response to a request for the partci lar file, the request including at least the name
`
`of the particular file, causing the particular file 0 be provided from a given one of the servers
`
`of the network of servers.
`
`
`
`112. (New) A content delivery method, in a syste in which a plurality of files are
`
`distributed across a network of servers, at least some of the iles being cached versions of
`
`files from a source server which is distinct from the network 0, servers, the content delivery
`
`method comprising:
`
`determining a name for a particular file, the name being detrmined using a given
`
`function of the data which comprises the contents of the particular fil-' and
`
`in response to a request for the particular file, the request includi 2: at least the name
`
`of the particular file, providing the particular file from a given one of the s ers of the
`
`
`network of servers,
`
`image, a video signal or an audio signal.
`
`
`
`14
`
`?
`
`GOOG-1006—Page 14 of 64
`
`GOOG-1006-Page 14 of 64
`
`
`
`Application of Farber et at, No. 09/283,160
`
`\
`
`l 13. (New) A method, in a network comprising a plurality of processors, some of the
`
`processo functioning as servers and some of the processors functioning as clients, wherein
`
`
`some proc sors in the network communicate with each other using a TCP/IP communication
`
`protocol, whrein a key is required to identify a file on the network, the method comprising:
`
`storing ,ome files on a first server in the network and storing copies of some of the
`
`files from the fir t server on a set of cache servers distinct from the first server;
`
`for a partic lar file, determining a different cache key from an ordinarily used cache
`
`
`key for the file, the « ifferent cache key being determined using a message function MDS of
`
`the data, wherein said :9 ata comprises the contents of the particular file; and
`responsive to a Ho ient request for the particular file, the request including the different
`
`cache key for the file, can ing the particular file to be provided to the client,
`
`wherein the content of the file may represent: a page in memory, a digital message, a
`
`digital image, a video signal tr an audio signal.
`
`114. (New) A content del very method comprising:
`
`the first server;
`
`for the file;
`
`distributingasetoffilesfro‘. .tserveracross anetworkofservers distinctfrom
`
`
`
`applying an MDS function t (a: contents of a particular file to obtain a True Name
`
`
`servers of the network of servers, wherein the req est for the particular file is resolved based
`
`on a measure of availability of at least one of the se
`
`ers.
`
`115. (New) A method as in claim 114 wherein th measure of availability for a server
`
`
`
`is based on at least one of:
`
`(a) a measurement of bandwidth to the server;
`
`
`
`
`(b) a measurement of a cost of a connection to the server, a
`(c) a measurement of reliability of a connection to the server.
`
`
`
`
`15
`
`19M
`
`GOOG-lOOG-Page 15 of 64
`
`GOOG-1006-Page 15 of 64
`
`
`
`Application of Farber et at, no. 09/283,160
`
`‘ 16. (New) A content delivery method comprising:
`
`d tributing a plurality of files across a network of servers, at least some of the files
`
`i 1 versions of files from a source server distinct from the servers in the network;
`
`
`for a p icular file, determining a True Name using a given function of the data
`
`which comprise the contents of the particular file;
`
`obtaining
`
`equest for the particular file, the request including at least the True Name
`
`of the particular file; i; d
`responsive to th request, causing the particular file to be provided from one of the
`
`
`servers of the network of
`
`rvers.
`
`
`
`
`117. (New) A content dlivery method, comprising:
`distributing files across aetwork of servers;
`
`for a particular file having a ontextual name specifying a location in the network at
`
`which the file may be located, determ ' ing another name for the particular file, the other
`
`name including a data identifier determi d using a given function of the data, where said
`
`data used by the given function comprises
`
`
`
`obtaining a request for the particular A
`~»
`andthe othername ofthe particular file, ‘.
`
`~ ‘ request including the contextual name
`
`responsive to the request, providing the p '1 icular file from one of the servers of the
`
`network of servers, said providing being based on th other name of the particular item.
`
`
`118. (New) A content delivery method, comprisin:
`
`distributing a set of files across a network of servers;
`for a particular file representing a digital image, the file aving a contextual name
`
`specifying a location in the network at which the file may be loca d, determining another
`
`name for the particular file, the other name including a True Name tr the file which was
`determined using a message digest function of the data, where said dat used by the given
`
`obtaining a request for the particular file, the request including the cntextual name
`
`responsive to the request, providing the particular file from one of the se
`
`ers of the
`
`network of servers, said p