`
`In re PATENT APPLICATION of
`
` FARBER et al.
`
`Appln. No. omsmso
`
`Filed: April 1, 1999
`
`Group Art Unit:
`
`2776
`
`Examiner:
`
`Homere, Jean R.
`
`
`
`
`ml
`
`ill ll
`
`
`
`RECEIVED
`
`JAN 1 3 2001
`Tacmoiogy Center 2100
`
`For:
`
`IDENTIFYING DATA BASED ON CONTENTS OF DATA IN NETWORK (As Amended)
`
`1:1:th
`
`PRELIMINARY AMENDMENT
`
`January 11,2001
`
`Hon. Commissioner of Patents
`and Trademarks
`
`Washington, DC. 20231
`
`Sir:
`
`Prior to examination on its merits, please amend this application as follows:
`
`IN THE TITLE:
`
`/.
`Please replace the title in its entirety with the following:
`- IDENTIFYING DATA Uero CONTENTS OF DATA IN NETWORK --
`
`
`INTHE(mummy
`
`Please cancel claims 46-49 and add the foliowing new claims 54-106:
`
`
`
` 1:733”;ETERFLIHQ{13300303{6353150
`
`
`
`
`
`EMCVMW 1024
`EMCVMW 1024
`
`
`
`Application of}
`her et al, No. 09,083,160
`
`
`506 Cd?
`
`
`a ne
`
`items
`
`--54. (New) In a system in which a set of data items are distributed across
`
`ork of servers, at least some of the data items being cached versions of data
`
`in a source server, a content delivery method comprising:
`
`
`
`
`ining a data identifier for a particular data item, the data identifier
`
`3;»
`
`being determi ed using a given function of the data comprising the particular data
`
`item; and
`
`
`
`responsive to request for the particular data item, the request including at
`
`least the data identifier f the particular data item, providing the particular data
`
`item from a given one of
`
`servers of the network of servers.
`
`
`
`
`55. (New) In a system in hich a set of data items are distributed across a
`
`network of servers, some of the da
`
`'tems being cached from a source server, a
`
`content delivery method comprising:
`
`
`
`item, the request including at
`
`
`
`
`determining a data identifier for a
`
`icuiar data item, the data identifier
`
`being determined using a given function oft
`
`data comprising the particular data
`
`item; and
`
`
`
`
`responsive to a request for the particular da
`
`least the data identifier of the particular data item, ca ing a copy of the particular
`
`data item to be provided from a given one of the servers f the network of servers.
`
`56. (New) A content delivery method, comprising:
`
`distributing a set of data items across a network of server
`
`
`
`
`
`determining a data identifier for a particular data item, the da
`
`identifier
`
`
`
`
`
`Application of 1
`
`her et al, No. fl9l283,160
`
`in response to a request for the particular data item, the request including
`
`at le
`
`t the data identifier of the particular data item, providing the particular data
`
`item fr
`
`a given one of the servers of the network of servers.
`
`57.
`
`w)
`
`A method as in claim 56 further comprising:
`
`determim g whether the data identifier corresponds to a data identifier of
`
`any data item prese
`
`on the given server.
`
`58. (New)
`
`A
`
`thod as in claim 5? further comprising:
`
`based on said determi
`
`'ng, if the data identifier does not correspond to a
`
`data item present on the given 5
`
`er, locating the particular data item from
`
`another server.
`
`
`
`59. (New)
`
`A method as in clan
`
`58 further comprising:
`
`obtaining, on the given server, a loca copy of the particular data itch-1,
`
`from the other server.
`
`60. (New)
`
`A method as in claim 56 whet 'n at least some of the data
`
`items distributed across the netWork of servers are each
`
`versions of data items
`
`from another server.
`
`61. (New)
`
`A method as in claim 56 further compris g:
`
`resolving the request for the particular data item based on measure of
`
`availability of at least one of the servers.
`
`
`
`
`
`Application of 1
`
`her et al, No. 99f283,160
`
`62. (New)
`
`
`ava ability comprises one or more of:
`
`A method as in claim 61 wherein the measure of
`
`(a)
`
`a measurement of bandwidth to the server; _
`
`a measurement of a cost of a connection to the server, and
`
`a measurement of a reliability of a connection to the server.
`
`
`
`
`
`63. (New
`
`A method as in claim 56 wherein the data item is a
`
`compound data item ade up of various component data items, the method further
`
`comprising:
`
`
`
`for each compone
`
`data item of at least some of the component data
`
`items:
`
`
`
`(a)
`
`determinl g a data identifier for the ccmpouent data item,
`
`the data identifier d ermined using the given function of the data
`
`comprising the compo ent data item; and
`
`(13)
`
`providing the co
`
`orient data item from a given one ofthe
`
`
`
`sewers of the network of se
`
`ers.
`
`64. (New)
`
`A content deiivery metho
`
`comprising:
`
`
`
`distributing a set of data items across a ne
`
`ork of servers;
`
`for a particular data item having a particular
`
`e specifying a location in
`
`the network at which the data item may be located, dete
`
`ining mommamgior
`
`the particular data item, the other name including a data i
`
`
`
`
`ntifier determined
`
`using a given function of the data comprising the particular
`
`ta item; and
`
`
`
`
`Application of 1
`
`her at al, No. 09383,!60
`
`in response to a request for the particular data item, the request including
`
`ther name of the particular data item, providing the particular data item from
`
`one of the servers of the network of servers.
`
`
`
`
`
`ew)
`
`A method as in claim 64 wherein at least some of the data
`
`items are cac ed versions of data items from another server.
`
`
`
`66. (New)
`
`A method as in ciaim 64 further comprising:
`
`resolving the
`
`quest for the particular data item based on a measure of
`
`availability of at least 0 e of the servers.
`
`
`
`67. (New)
`
`A me ed as in claim 66 wherein the measure of
`
`availability comprises one or In re of:
`
`(a)
`
`(b)
`
`(c)
`
`a measurement of
`
`
`
`dwidth to the server;
`
`a measurement of a c st of a connection to the server, and '
`
`a measurement of a reli
`
`ility of a connection to the server.
`
`
`
`68. (New) A method as in claim 64 herein the particular data item is a
`
`compound data item comprising various comp
`
`ent data items, the method fiu'ther
`
`comprising:
`
`for at least one component data item:
`
`(a)
`
`function of the data
`
`determining a data identifier fo the component data item,
`
`the data identifier determined using a giv
`
`
`comprising the component data item; and
`
`
`
`Application of 1
`
`her et a], No. “£83,160
`
`(b)
`
`providing the component data item from a given one of the
`
`
`
`servers of the network of servers.
`
`. (New)
`
`A content delivery method, comprising:
`
`
`
`the data items
`ing cached versions of data items from another server;
`
`determinin a data identifier for a particular data item, the data identifier
`
`di
`
`uting a set of data items across a network of servers, at least some of
`
`determined using a gi en fimction of the data comprising the particular data item;
`
`and
`
`
`
`in response to a requ st for the particular data item, the request including
`
`at least the data identifier of th
`
`articular data item, providing the particular data
`
`item from a given one of the serv
`
`of the network of servers.
`
`
`
`
`70. (New)
`
`A content delive method, comprising:
`
`causing a set of data items to be dis 'buted across a network of servers, at
`
`least some of the data items being cached vers ns of data items from another
`
`server;
`
`
`
`determining a data identifier for a particular ata item, the data identifier
`
`determined using a given fiinction of the data compris g the particular data item;
`
`and
`
`in response to a request for the particular data item,
`
`e request including
`
`
`
`
`at least the data identifier of the particular data item, causing
`
`e particular data
`
`item to be provided from a given one of the servers of the netw k of servers.
`
`71. (New)
`
`A content delivery method, comprising:
`
`
`
`
`
`Application of '
`
`'ber et al. No. 09383,!“
`
`
`se
`
`distributing a set of data items across a network of servers, the network of
`
`ers being organized into a set of regions;
`
`
`
`determining a data identifier for a particular data item, the data identifier
`
`determi ed using a given function of the data comprising the data item;
`
`in r ponse to a client request for the particular data item, the request
`
`including at 1e
`
`with the particul
`
`t the data identifier of the particular data item, providing the client
`
`data item from a given one of the servers of the netwark of
`
`
`
`
`
`
`servers within the re 'on.
`
`72. (New)
`
`A m thod as in claim 54 wherein the given function is a
`
`message digest function or a h sh function.
`
`73. New)
`
`A method as
`
`claim 72 wherein the given function is
`
`selected from the functions: M04,
`
`, and SHA.
`
`
`
`
`74. (New)
`
`A method as in claim 4 wherein the given functiOn
`
`randomly distributes its outputs.
`
`
`
`75. (New)
`
`A method as in claim 54 wher ‘
`
`, for a particular data item,
`
`the given function produces a substantially unique valu based on the data
`
`comprising the data item.
`
`
`
`76. (New)
`
`A _
`
`ed as in claim 54 wherein a data i m may comprise
`
`a file, a portion of a file, a page in memory, a digital message, a d ital image, a
`
`video signal or an audio signal.
`
`
`
`
`
`Application of I
`
`Jer et a], No. 091283,!“
`
`77.
`
`(New) In a system in which a set of data items are distributed
`
`as a network of servers, at least some of the data items being cached versions
`
`items from a source server, a content delivery method comprising:
`
`
`
`
`
`
`sponsive to a request for a particular data item, the request including at
`
`least a da
`
`'dentiticr of the particular data item, wherein the data identifier is
`
`determined 13
`
`pplying a message digest function MDS to the data comprising
`
`the particular dat
`
`item, providing the particular data item from a given one of the
`
`servers of the active
`
`of servers,
`
`wherein a data 1
`
`In may be a_ fiie, a portion of a file, a page in memory, a
`
`digital message, a digital i
`
`age, a video signal or an audio signal.
`
`
`
`
`78. (New)
`
`A content elivery method, comprising:
`
`distributing a set of data ite
`
`5 across a network of servers, at least some of
`
`the data items being cached versions 0 data items from another server;
`
`determining a data identifier for a articular data item, the data identifier
`
`determined using a given function of the da
`
`comprising the particular data item,
`
`wherein the given function randomly distribu
`
`its outputs; and
`
`
`
`in response to a request for the particular ata item, the request including
`
`at least the data identifier of the particular data item providing the particular data
`
`item from a given one of the servers of the network 0
`
`ervers.
`
`
`
`79. (New)
`
`A method as in claim 78 further com rising:
`
`maintaining accounting information relating to the dat
`
`items; and
`
`
`
`Application of
`
`.-her et al, No. 09n83,160
`
`using the accounting information as a basis for a value-based accounting
`
`sy em in which charges are based on an identity of the data items.
`
`0. (New)
`
`A method as in claim 79 wherein the maintaining of
`
`accounting 'nformation includes at least some of:
`
`
`
`ensuring that a da
`
`item is not used by an unauthorized party.
`
`82. (New)
`
`A conte t delivery method, comprising:
`
`distributing a set of data i ms across a network of servers;
`
`determining a hash of a part1 ular data item; and
`
`in response to a request for the articular data item, the request including
`
`at least the hash of the particular data i
`
`providing the particular data item from
`
`a given one of the servers of the network of ervers.
`
`83. (New)
`
`A method as in claim 82
`
`er comprising:
`
`resolving the request for the particular data 1 em based on a measure of
`
`availability of at least one of the servers.
`
`84. (New) A method as in claim 83 wherein the me ure of availability for
`
`a server comprises one or more of:
`
`(a)
`
`a measurement of bandwidth to the server;
`
`
`
`Application of I
`
`ber ct al, No. 09IZ83,160
`
`(b)
`
`a measurement of a cost of a connection to the server, and
`
`a measurement of reliability of a connection to the server.
`
`
`
`(c)
`
`
`
`distri
`
`cw)
`
`A content delivery method, comprising:
`
`ing a set of data items across a network of servers;
`
`for a part1 ular data item having a particular data identifier specifying a
`
`location in the netw k at which the particular data item may be located,
`
`
`determining another da
`
`identifier for the particular data item, the other data
`
`identifier including a data i entifier- determined using a hashof the particular data
`
`item;
`
`
`in response to a request f
`
`the particular data item, the request including
`
`the other data identifier of the partic ar data item, providing the particular data
`
`item from a given one of the servers of
`
`e network of servers.
`
`
`
`86. (New)
`
`A content delivery met od, comprising:
`
`distributing a set of data items across a n
`
`
`
`ork of servers, at least some of
`
`the data items being cached versions of data items
`
`determining a data identifier for a particular
`
`in another server;
`
`
`item, the data identifier
`
`including a hash of the particular data item; and
`
`
`
`in response to a request for the particular data item,
`
`e request including
`
`at least the data identifier of the particular data item, providing
`
`e particular data
`
`item from a given one of the servers of the network of servers.
`
`
`
`10
`
`
`
`
`
`Application of 1
`
`bar et a], No. 09383,]60
`
`
`a p
`
`87. (New)
`
`A method of delivering a data item in a network comprising
`
`alin of processors, some of the processors being sewers and some of the
`
`proce ors being clients, the method comprising:
`
`st ring the data item is on a first server in the network and storing copies
`
`on a set of sewers in the network distinct from the first server;
`
`
`
`
`responsive t a client request for the data item, the request including a
`
`hash of the data item,
`
`
`
`using the data item to be provided to the client.
`
`
`
`88. (New)
`
`A met od as in claim 8'? wherein the data item has a
`
`contextual nMe comprising a p thname including a processor name and a file
`
`name, the method further comprisi
`
`
`
`associating the contextual nam of the data item with the hash of the data
`
`item.
`
`89. (New)
`
`A method of delivering a ata item in a network comprising
`
`a plurality of processors, some of the processors
`
`
`
`ing servers and some of the
`
`processors being clients, the method comprising:
`
`
`
`storing the data item is on a first server and stori
`copies of the data item
`
`
`on a set of servers distinct from the first server; and
`
`responsive to a client request for the data item, the req est including a
`
`value determined as a given function of the data in the data item,
`
`roviding the
`
`data item to the client.
`
`11
`
`
`
`Application of _
`
`.-ber et a], No. 09,083,160
`
`90. (New)
`
`
`con xtual name comprising a pathname including a processor name and a file
`
`A method as in claim 89 wherein the data item has a
`
`name,
`
`e method fisrther comprising:
`
`
`
`as ociating the contextual name of the data item with the value determined
`
`as the given
`
`notion of the data in the data item.
`
`
`
`91. (New)
`
`A method as in claim 54
`
`wherein certai
`
`rocessors in the network communicate with each other
`
`using a TCPflP communi ation protocol.
`
`
`
`92. (New)
`
`A metho of delivering a data item in a network comprising
`
`a plurality of processors, some 0
`
`e processors being sewers and some of the
`
`processors being clients, wherein so
`
`processors in the network communicate
`
`
`
`
`with each other using a TCPHP comm ‘ ation protocol, wherein a key is
`required to identify a data item on the netw k and wherein ordinarily the key is a
`
`name or address for the data item, the method mprising:
`
`storing some data items on a first server i
`
`the network and storing copies
`
`of some of the data items on a set of cache servers d tinct from the first server;
`
`determining a different cache key from the ordi
`
`'ly used cache key, the
`
`
`
`different cache key being a function of the data it represen s; and
`
`responsive to a client request for the data item, the re uest including the
`
`different cache key for the data item, providing the data item to the client.
`
`93. (New)
`
`A method as in claim 92 wherein the fimctio is a message
`
`digest function or a hash function.
`
`
`
`
`
`12
`
`
`
`Application of F
`
`net at al, No. 09I283,16l]
`
`94. (New)
`
`A method as in claim 93 wherein the function is selected
`
`from
`
`functions: MD4, MDS, and SHA.
`
`)
`
`A method as in claim 92 wherein the function randomly
`
`distributes its ou uts.
`
`
`
`
`
`
`
`96. (New)
`
`framework operative in a computer network in which
`
`users of client processors onnect to a content server, the framework comprising:
`
`a set of content serve , distinct fi'om the content provider server, for
`
`hosting at least some of the data tears that are normally hosted by the content
`
`
`
`provider server;
`
`a mechanism constructed and
`
`apted to determine an identifier for a data
`
`item as a given function of a data item in
`
`e network;
`
`
`
`
`wherein, in reaponse to requests for data item, generated by one of the
`
`client machines the request including an identi
`
`r based on the given function of
`
`the particular data item, the particular data item is
`
`SCIVBTS.
`
`rved from one of the content
`
`
`
`97. (New)
`
`A framework as in claim 96 wherein
`
`e given function is a
`
`message digest function or a hash function.
`
`98. (New)
`
`A framework as in claim 97 wherein the give function is
`
`selected from the functions: MD4, MDS, and SHA.
`
`13
`
`
`
`Application of
`
`.‘ber et a], No. 09.9283,16l]
`
`
`
`
`99. (New)
`
`A framework as in claim 96 wherein the given fimction
`
`omly distributes its outputs.
`
`
`
`
`1 0. (New)
`
`A framework as in claim 96 wherein processors in the
`
`network co
`
`unicate with each other using a TCPKIP communication protocol.
`
`
`
`10]. (New)
`
`A framework as in claim 96 wherein the data item has a
`
`contextual name, the
`
`ework further comprising:
`
`
`
`
`a mechanism con
`
`cted and adapted to associate the contextual'name of
`
`the data item with the identi er for the data item.
`
`
`
`102. (New)
`
`A framew k as in claim 10] wherein the contextual name
`
`of the data item comprises a pat
`
`name.
`
`e including a processor name and a file
`
`
`
`103. (New)
`
`In a network compris g a plurality of processors, some of
`
`the processors fimctioning as servers and som of the processors functioning as
`
`clients, wherein some processors in the network mmunicate with each other
`
`using a TCPHP communication protocol, wherein a ey is required to identify a
`
`
`
`
`data item on the network and wherein ordinarily the k
`
`is a name or address for
`
`the data item, a method of delivering a data item:
`
`storing some data items on a first server in the netw rk and storing copies
`
`of some of the data items from the first server on a set of each servers distinct
`
`from the first server;
`
`14
`
`
`
`Application of 1
`
`nor et al, No. 091283160
`
`for a particuiar data item, determining a different cache key from the
`
`inarily used cache key for the data item, the different cache key being
`
`
`
`
`de n-nined using a message function MDS of the data comprising the particular
`
`data i m; and
`
`ponsive to a client request for the particular data item, the request
`
`including
`
`different cache key for the data item, causing the particular data item
`
`
`
`
`
`
`
`to be provid
`
`o the client,
`
`wherein
`
`data item may be a file, a portion of a file, a page in memory,
`
`a digital message, a
`
`ital image, a video signal or an audio signal.
`
`'
`
`
`
`104. (New)
`
`A
`
`ework operative in a computer network in which
`
`
`
`users of client processors co
`
`ct to a content server, wherein processors in the
`
`network communicate with each ther using a TCPIIP communication protocol,
`
`the framework comprising:
`
`
`
`a mechanism constructed and a pted to determine a given fimction of a
`
`data item in the netwark, the given functi
`
`hash ftuiction;
`
`being a message digest function or a
`
`
`
`a set of content servers, distinct from the ontent provider server, for
`
`hosting at least some of the data items that are no
`
`ally hosted by the content
`
`provider server;
`
`
`
`wherein, in response to requests for a data item, g
`
`erated by one of the
`
`client machines the request including an identifier based on
`
`e given function of
`
`the particular data item, the particular data item is served from c of the content
`
`
`
`
`SCIVC‘I'S .
`
`15
`
`
`
`$A’
`
`Application of ;
`
`ber et a], No. 091283.160
`
`
`
`105. (New)
`
`A framework as in claim 96 wherein a data item may be a
`
`file, a portion of a file, a page in memory, a digital message, a digital image, a
`
`video ignal or an audio signal.
`
`
`
`
`
`cw)
`
`A content delivery method in a network in which at least
`
`in the network communicate with each other using a TCPHP
`
`communication pr ocol, the method comprising:
`
`for a particul
`
`
`
`ata item having a particular name specifying a location in
`
`the network at which the ata item may be located, detemuning another name for
`
`er name including a data identifier determined
`
`using message digest function
`
`5 of the data comprising the particular data
`
`the particular data item, the
`
`
`
`item; and
`
`in response to a request for th
`
`articular data item, the request including
`
`the other name of the particular data ite
`
`
`
`causing the particular data item to be
`
`provided from a given one of the servers of
`
`e network of servers,
`
`wherein the data item may be a file, a po ion of a file, a page in memory,
`
`a digital message, a digital image, a video signal or
`
`audio signal --
`
`16
`
`
`
`Application ofFarbere I
`
`,No.l]9!283,160
`
`REMARKS
`
`By this Amendment, the title has been replaced, all pending claims (claims 46-49)
`
`have been cancelled without prejudice or disclaimer of their subject matter, and new claims
`
`54-106 have been added. Claims 1-45 and 50-53 were cancelled by preliminary amendment
`
`with the filing of this application. Claims 54-106 are pending in this application. Applicants
`
`submit that this application is in condition for allowance and an early action allowing the
`
`claims is earnestly solicited.
`
`Should the Examiner believe that a personal interview would expedite the prosecution
`
`of this application, the Examiner is requested to contact the undersigned at the telephone
`
`number provided.
`
`Respectfully submitted,
`
`PILLSB
`
`Y MADISON & SUTRO. LLP
`
`
`
`Reg. No. 3749?
`Tel. No.: (202) 861-3702
`Fax No.: (202) 822-0944
`
`1 100 New York Avenue, NW.
`Ninth Floor
`
`Washington, DC. 20005-3918
`(202) 861-3000
`
`3009845513
`
`17
`
`