`
`'
`
`‘
`
`INTHE UNITED STATES PATENT AND TRADEMARKOFFICE
`
`0
`
`Y Z 27M
`
`In re PATENT APPLICATION of
`
`ol P E FARBER et al.
`
`Appln. No. 09/283,} 60
`
`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<
`
`August 22, 2001
`
`RESPONSE
`
`R
`
`Hon. Commissioner ofPatents
`and Trademarks
`Washington, DC. 20231
`Sir:
`
`Please amend this application as follows:
`
`IN THE CLAIMS:
`
`.
`,
`AUG 2 ../
`1 Iii/L, 1;
`7'
`Wino/0g}, Cram
`9!" 2191.?
`
`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
`
`é/
`C:
`
`of servers, at least some ofthe data files being cached versions ofdata 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
`
`\
`‘x
`x(Q
`be
`
`{if
`.
`,7
`x“,/
`
`\
`
`GOOG-1017-Page 1 of 64
`
`GOOG-1017-Page 1 of 64
`
`
`
`(,/1,,
`
`Application of Farber et at, £0. 09/283,160
`MM”
`
`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, 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.
`
`§K(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.
`
`'0
`
`fi/d. (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.
`
`ti
`it)
`%(Amended) A method as in claim‘éfiifurther comprising:
`
`determining whether the data identifier corresponds to a data identifier of any data file
`
`present on the given server.
`
`GOOG-1017-Page 2 of 64
`
`GOOG-1017-Page 2 of 64
`
`
`
`5 Application of Farber et 2‘1, .Jo. 09/283,160
`
`ll
`
`l2 3g. (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.
`
`57/
`l9 9? (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.
`
`{a
`ll 6% (Amended) A method as in claim 7% 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
`z
`at least one of the servers.
`
`)0
`
`(lg 62/. (Amended) A method as in claim6/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.
`
`go
`l‘l
`653/. (Amended) A method as in claim 5/6wherein 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.
`
`GOOG-1017-Page 3 of 64
`
`GOOG-1017-Page 3 of 64
`
`
`
`we"
`
`\ /
`I Application of Farber et a., do. 09/283,160
`l g
`94. (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 ofthe
`servers of the network of servers.
`
`fl
`ii
`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.
`
`r3
`20
`d/K (Amended) A method as in claim 6/3/further comprising:
`resolving the request for the particular data file based on a measure of availability of
`at ieast one of the servers.
`
`’M
`Z0
`%(Amended) A method as in claimgié/Vvherein 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.
`.27!
`
`H ’ {68f (Amended) A method as in claimbtt/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.
`
`“at
`
`GOOG-1017-Page 4 of 64
`
`GOOG-1017-Page 4 of 64
`
`
`
`Application of Farber et a , ,lo. 09/283,160
`
`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/5. (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
`i
`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.
`
`g5
`7/I/. (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.
`
`j/
`,1,
`7/2. (Amended) A method as in claim’54 wherein the given function is a message
`digest function or a hash function.
`
`GOOG-1017-Page 5 of 64
`
`GOOG-1017-Page 5 of 64
`
`
`
`V/l/
`
`Iii/Application of Farber et al, No. 09/283,160
`\m,
`
`2
`3
`2d. (Amended) A method as in claim 2 wherein the given function is selected from
`the functions: MD4, MDS, and SHA.
`
`5
`at
`3A. (Amended) A method as in claim ’54 wherein the given function randomly
`distributes its outputs.
`
`6
`t
`}5. (Amended) A method as in claim d4 wherein, for a particular data file, the given
`function produces a substantially unique value based on the data comprising the data file.
`
`(,0
`l
`7% (Amended) A method as in claim94 wherein a data file may comprise a file, a
`portion of a file, a page in memory, a digital message, a digital image, a video signal or an
`
`audio signal,
`
`pr
`(Amended) In a system in which a set of data files are distributed across a
`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.
`
`’14
`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-1017-Page 6 of 64
`
`GOOG-1017-Page 6 of 64
`
`
`
`w
`
`Application of Farber et ai, Jo. 09/283,160
`
`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 %
`
`(Amended) A method as in claim 2’8]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%
`‘l
`yi. (Amended) A method as in claimywherein the maintaining of accounting
`information includes at least some of:
`
`W
`
`(a) tracking which data files have been stored on a system; and
`(b) tracking which data files have been transmitted from a server.
`30
`3%
`%. (Amended) A method as in claim w further comprising:
`ensuring that a data file is not used by an unauthorized party.
`
`9i
`$2. (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?
`sl
`$6. (Amended) A method as in claim Vfurther comprising:
`
`resolving the request for the particular data file based on a measure of availability of
`at least one of the servers.
`
`95‘"
`
`3%
`. (Amended) A method as in claim§8/wherein 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
`
`GOOG-1017-Page 7 of 64
`
`GOOG-1017-Page 7 of 64
`
`
`
`,«w r
`
`.6,“
`
`t3 Application of Farber et al, No. 09/283,160
`a»
`
`(c) a measurement of reliability of a connection to the server.
`
`34
`’8’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
`$6. (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.
`
`at?
`§ff (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.
`
`GOOG-1017-Page 8 of 64
`
`GOOG-1017-Page 8 of 64
`
`
`
`.0 1/2/
`
`3 Appiication of Farber et :11, n0. 09/283,160
`he“...
`34’
`”
`a“)
`'
`§8. (Amended) A method as in claim}? 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 hash of the contents of the
`data file.
`
`3%
`§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,
`
`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
`El
`’96. (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.
`
`’1
`
`9/l. (Amended) A method as in claim §4
`
`wherein certain processors in the network communicate with each other using a
`
`TCP/IP communication protocol,
`
`in
`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
`
`KM/
`
`GOOG-1017-Page 9 of 64
`
`GOOG-1017-Page 9 of 64
`
`
`
`or,
`
`\
`
`z
`......
`3 Application of Farber et 31, M}. 09/283,160
`cw
`
`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
`95‘. (Amended) A method as in claim Qfl/wherein the function is a message digest
`function or a hash function.
`
`4 i
`4?;
`9,4. (Amended) A method as in claim %3 wherein the function is selected from the
`functions: MD4, MDS, and SEA.
`
`40
`4%
`9/5. (Amended) A method as in claim 9/2 wherein the function randomly distributes its
`outputs.
`
`ml
`9%. (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.
`
`art
`4‘5
`9/1 (Amended) A framework as in claim9.6 wherein the given function is a message
`digest function or a hash function.
`
`Lt;
`W
`I945. (Amended) A framework as in claim 974vherein the given function is selected
`from the functions: M134, MDS, and SHA.
`
`LH
`(fl
`fig. (Amended) A framework as in claim 9/6 wherein the given function randomly
`distributes its outputs.
`
`£fo
`m4 ,
`1 0. (Amended) A framework as in claim 96/ wherein processors in the network
`communicate with each other using a TCP/IP communication protocol.
`
`10
`
`x r
`
`\W$\3
`
`/
`
`GOOG-1 01 7-Page 10 of 64
`
`GOOG-1017-Page 10 of 64
`
`
`
`”A/
`
`”’App’ncanon of Farber et 31, AG. 09/283,160
`”,2
`
`4?1/31. (Amended) Aframeworkasinclaimgigwhereinthedatafilehas acontextual
`
`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.
`
`lg); (Amended) A framework as in claim 1%whereinthe contextual name ofthe
`
`LN
`
`data file comprises a pathname including a processor name and a file name.
`
`54/
`194. (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;
`
`ll
`
`nIt”«4%,,1 (“x
`
`GOOG-1 01 7-Page 11 of 64
`
`GOOG-1017-Page 11 of 64
`
`
`
`W;
`
`’ 11"i,
`
`5 Application of Farber et at, min. 09/283,160
`
`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
`at
`195 (Amended) A framework as in claim’96wherein 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/EP communication
`
`A/
`
`C/
`
`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 tile; 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.
`
` , ha-
`E2
`
`Please add the following new claims:
`
`,M
`
`
`content delivery method, in a system in which a plurality of files are
`
`distributed across a ne
`files from a source server
`
`rk of servers, at least some of the files being cached versions of
`
`
`for a particular file, determin' g a name using a given function ofthe data, said data
`being the data which comprises the cont
`ts of the particular file; and
`
`
`t from the network of servers, the content delivery method
`
`comprising:
`
`W ‘
`
`
`
`GOOG-1 01 7-Page 12 of 64
`
`GOOG-1017-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
`r lar file, causing the particular file to be provided from a given one of the servers
`of the network a
`servers.
`
`
`
`108. (New) A co tent 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
`
`
`the servers in the network, wherein data in a file in the
`system may represent a digital me
`i
`a digital image, a video signal or an audio signal, the
`
`
`content delivery method comprisrn. .
`
`
`determining a name for a particu 2 file, the name being determined using an MDS
`function of the data, said data being the data thieh comprises the contents of the particular
`
`
`i
`
`file; and
`
`i
`
`in response to a request for the particular f-l
`
`
`of the particular file, providing the particular data file cm a given one of the servers of the
`
`the request including at least the name
`
`network of servers, said providing being based on the dete y ined name.
`
`«55
`19¢. (New) A method, in a network comprising a plurality ofprocessors, 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 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 serveron a set of cache servers distinct from the first server;
`
`for a particular tile, 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 tile, 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
`
`«4t
`
`GOOG-1017-Page 13 of 64
`
`GOOG-1017-Page 13 of 64
`
`
`
`Application oi‘Farber et al, no. 09/283,160
`
`l 10. (New) A content delivery method, in a system in which a plurality of files are
`
`distribu ed across a network of servers, wherein some processors in the network
`
`
`
`a name for the p ticular file, wherein the name is determined using a given function of the
`
`data which compri es the contents of the particular file; and
`
`in response t a request for the particular file, the request including at least the name
`
`of the particular file, p viding the particular file from a given one of the servers of the
`network of servers.
`
`l l l. (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
`
`l”1/
`
`network of servers;
`
`for a particular file, dctermini g a name, the name being determined using a given
`
`function of the data, said data used by
`
`of the particular file; and
`
`in response to a request for the partic 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 1 in which a plurality of files are
`
`distributed across a network of servers, at least some of the dos being cached versions of
`
`files from a source server which is distinct from the network
`method comprising:
`
`servers, the content delivery
`
`determining a name for a particular file, the name being det rrnined 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
`
`at least the name
`
`of the particular file, providing the particular file from a given one of the s
`
`cm of the
`
`network of servers,
`
`wherein the contents of the particular file may represent a digital messa
`image, a video signal or an audio signal.
`
`, a digital
`
`14
`
`{*2
`
`GOOG-1017-Page 14 of 64
`
`GOOG-1017-Page 14 of 64
`
`
`
`Application of Farber et at, No. 09/283,160
`
`. \,
`
`processo
`
`13. (New) A method, in a network comprising a plurality of processors, some of the
`
`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/TP communication
`
`protocol, wh rein 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 ata comprises the contents of the particular file; and
`
`responsive to a
`
`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
`
`
`an audio signal.
`
`digital image, a video signal
`
`114. (New) A content del very method comprising:
`
`distributing a set of files fro
`
`a first server across a network of servers distinct from
`
`the first server;
`
`
`contents of a particular file to obtain a True Name
`applying an MDS function t
`
`for the file;
`
`
`
`in response to a request for the parti
`
`
`lar file, the request including at least the True
`Name of the particular file, causing the particu r file to be provided from a given one of the
`
`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
`
`
`
`i 15. (New) A method as in claim ll4 wherein th measure of availability for a server
`is based on at least one of:
`
`(a) a measurement of bandwidth to the server;
`
`
`
`(c) a measurement of reliability of a connection to the server.
`
`(‘0) a measurement of a cost of a connection to the server, nd
`
`
`
`15
`
`GOOG-1 01 7-Page 15 of 64
`
`GOOG-1017-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
`
`being each I 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
`
`
`
`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
`
`livery method, comprising:
`
`distributing files across a etwork 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 ed using a given function of the data, Where said
`
`data used by the given function comprises
`
`e contents of the particular file;
`
`obtaining a request for the particular
`
`andthe other name ofthe particular file, V.
`
`- r - 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 offiles across a network of servers;
`
`g
`
`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 r the file which was
`
`determined using a message digest function ofthe data, Where said dat. used by the given
`
`function comprises the contents of the particular file;
`
`obtai