`Case 5:18-md-02834-BLF Document 400-4 Filed 04/08/19 Page 1 of 16
`
`EXHIBIT 4
`EXHIBIT 4
`
`
`
`Case 5:18-md-02834-BLF Document 400-4 Filed 04/08/19 Page 2 of 16
`
`I 1111111111111111 11111 1111111111 1111111111111111111111111111111111111111111
`
`US008099420B2
`
`c12) United States Patent
`Farber et al.
`
`(IO) Patent No.:
`(45) Date of Patent:
`
`US 8,099,420 B2
`*Jan. 17, 2012
`
`(54) ACCESSING DATA IN A DATA PROCESSING
`SYSTEM
`
`(56)
`
`References Cited
`
`(75)
`
`Inventors: David A. 1<'11rher, Ojai, CA (IJS):
`Ronald D. Lachman, Northbrook, IL
`(US)
`
`(73) Assignees : PersonalWeb lechnologies, LLC, Tyler,
`TX (US); Level 3 Communications,
`LLC, □ roomfield, CO (US)
`
`( *) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted umler 35
`U.S.C. 154(b) by 1312 days.
`
`This patent is subject to a tenninal dis(cid:173)
`claimer.
`
`EP
`
`(21) Appl. No.: 11/017,650
`
`(22) Filed:
`
`Dec. 22, 2004
`
`(65)
`
`Prior Publication Data
`
`US 2005/0114296 A 1 May 26, 2005
`
`U.S. PATENT DOCUMENTS
`6i1972 Evangelisti
`3,668,647 A
`9/ 1974 Prcschcr et al
`3,835,260 A
`6i 1978 Bennett et al.
`4 ,096,568 A
`711980 Mitchell
`4,215,402 A
`9i l 980 Chang ct al.
`4,221,003 A
`4,290,105 A
`9/ 1981 Cichelli
`3/ 1983 Rivest
`4,376,299 A
`9il 981 Rivest
`4,40\829 A
`JO/ 1983 Neches
`4,412,285 A
`(Continued)
`
`FOREIGN PATENT DOCUMENTS
`0 268 069 A2
`511988
`(Continued)
`
`(ffHEK. PlJHI ,JCJ\J'IONS
`
`Affidavit of Timothy P. Walke, in St1ppo1t ofCWIS' Orening Mark(cid:173)
`man l:l,ief Constrning the
`terms al Issue in U.S. Patent No.
`6,4(~,280, dated Jul. 25, 2001, from Civil Action No. 02-11430
`RWZ.
`
`Related U.S. Applicution Dutu
`
`(Continued)
`
`(60) Continuation of application No. 09/987,723, filed on
`Nov. 15, 2001, nnw Pat. Nn. 6,928,442, which is a
`continuation of application No. 09/283,160, tiled on
`Apr. I , 1999, now Pat. No. 6,415,280, which is a
`division of application No. 08/960,079, filed on Oct.
`24, 1997, now Pat. No. 5,978,791, which is a
`cnnlinuatinn nr application No. 08/425 , 160, 111ed on
`Apr. 11, 1995, now abandoned.
`
`(51)
`
`Int.Cl.
`G06F 17/30
`(2006.01)
`(52) U.S. Cl .
`............... .......... 707/758; 707/781; 707/821
`(58) Field ofClassificatlon Search .................. 707/758,
`707/781, 821
`See application 111e for complete search history.
`
`Primary Examiner - Khanh B Pham
`or Firm - Davidson Berquist
`(74) Aflorney, Agel!/,
`Jackson & Gowdey, LLP; Brian Si1itzky
`
`(57)
`
`AHSTRACT
`
`Access to data items uses names based on the data in the data
`items; the name ol'H data item may he based, al least in part ,
`on a function of some or all of the bits that comprise the data
`item. A data item may comprise an mbitrary sequence of bits.
`The function may include a hash function or a message digest
`function. The name ofa data item may be compared to a list
`of names of other data items.
`
`178 Claims, 31 Drawing Sheets
`
`S/MPL
`
`DATA ITEM
`
`--------------- ·e-------------.
`
`COMPUTE MO FUNCTION ON
`DATAITI:M
`
`52.14
`APPEND LENGTH MODULO 32 OF
`DATA ITEM
`
`m UE NAME i
`
`
`
`Case 5:18-md-02834-BLF Document 400-4 Filed 04/08/19 Page 3 of 16
`
`us 8,099,420 82
`
`1
`ACCESSING DATA [NA DATA PROCESSING
`SYSTEM
`
`RELATED APPLICATIONS
`
`TI1is is a continuation of and claims priority to application
`Ser. no. 09/987,723, filed Nov. 15, 2001, now U.S. Pat. No.
`6,928,442, issued Aug. 9, 2005 (the contents of which are
`hereby incorporated herein by reforence), which is a continu(cid:173)
`ation of application Ser. No. 09/283,160, filed Apr. I. 1999,
`now U.S. Pat. No. 6,415,280, which is a division of applica(cid:173)
`tion Ser. No. 08/960,079, filed Oct. 24, 1997, now U.S. Pat.
`No. 5,978,791 filed ()cl. 24, 2(Xll which is a continuation of
`Ser. No. 08/425, 160, tiled Apr. 11, 1995, now abandoned.
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`This invention relates to data processing systems and, more
`particularly, to data processing systems wherein data items
`arc identified by substantially unique identifiers which
`depend on all of the data in the data items and only on the data
`in the data items.
`2. Background of the Invention
`Data processing (DP) systems, computers, networks of
`computers, or the like, typically offer users and programs
`various ways to identify the data in the systems.
`Users typically identify data in the data processing system
`by giving the data some form or name. for example, a typical
`operating system (OS) on a computer provides a file system in
`which r.lata items are named by alphmuuneric identifiers. Pro(cid:173)
`grams typically identify data in the data processing system
`using a location or address . For example, a program may
`identify a record in a file or database by using a record number
`which serves to locate that record.
`In all hut the most primitive operating systems, users and
`programs are able to create mid use collections of named data
`items, these collections themselves being named by identifi(cid:173)
`ers. These nmned collections can then, themselves, he made
`part of other named collections. For example, an OS may 4 0
`provide mechanisms to group files (data items) into directo(cid:173)
`ries (collections). These directories can then, themselves be
`made part of other directories. A data item may thus be
`identified relative lo these nested directories using a sequence
`of nmnes, or a so-called pathname, which defines a path 45
`through the directories lo a particular data item (file or direc(cid:173)
`tory).
`As another example, a database management system may
`group data records (data items) into tables and then group
`these t<1bles into database files (collections). The complete 50
`address of any data record can then be specified using the
`database file name, the table name, and the record number of
`that data record.
`Other examples of identifying data items include: identi(cid:173)
`fying tiles in a network file system, identifying objects in an 55
`object-oriented database, identifying images in an image
`database, m1d identifying articles in a text data base.
`In general, the tenns "data" and "data item" as used herein
`refer to sequences of bits. Thus a data item may be the con(cid:173)
`tents nra /Jle, a pnrlion ora file, a page in memnry, an nbject 60
`in an object-oriented program, a digital message, a digital
`scanned image, a part of a video or audio signal, or any other
`entity which can be represented by a sequence of bits. The
`tenn "data processing" herein refers to the processing of data
`items, and is sometimes dependent on the type of data item 65
`being processed. For exmnple, a r.lata processor for a r.ligital
`image may diffor from a data processor for an audio signal.
`
`2
`In all of the prior data processing systems the names or
`identifiers provided to identify data items (the data items
`being files, directories, records in the database, objects in
`object-oriented programming, locations in mem01y or on a
`physical device, or the like) are always defined relative to a
`specific context. For instance, the file identi/Jer.l by a particu(cid:173)
`lar Hie name can only be detemuned when the directory
`containing the file (the context) is known. The file identified
`by a pathname can be determined only when the file system
`10 (context) is known. Similarly, the addresses in a process
`address space, the keys in a r.latabase table, or r.lomain names
`on a global computer network such as the Internet arc mean(cid:173)
`ingful only because they are specified relative to a context.
`Iu prior art systems for identifying data items there is no
`15 direct relationship between the data names and the data item.
`The same data name in two different contexts may rcler to
`different data items. and two different data names in the same
`context may refer to the same data item.
`In addition, because there is no correlation between a data
`20 name and the datn it refers to, there is no a priori way to
`confirm that a given data item is in fact the one named by a
`data name. for instance, in a DP system, if one processor
`requests that another processor deliver a data item wilh a
`give11 data name, the requesting pmcessor cannot, in general,
`25 verify that the data delivered is the co1Tcct data (given only the
`m1111e). ll1erefore it may require further processing, typically
`on the part of the requester, to verify that the data item it hns
`obtained is, in fact, the item it requested.
`A common operation in a DP system is adding a new data
`30 item to the system. When a new data item is added to the
`system, a name can be assigned to it only by updating the
`context in which names are defined. Thus such systems
`require a cenlmli,cr.l mechanism for the management of
`names. Such a mechanism is required even in a multi-pro-
`35 cessing system when data items are created and identified at
`separate processors in distinct locations, anr.l in which there is
`no other need for conuuunication when data items arc added.
`In mm1y data prm:essing syslems or environments, data
`items are transferred between different locations in the sys(cid:173)
`tem. These locations may be processors in the data processing
`system, storage devices, memory, or the like. for example,
`one processor may obtain a data item from another processor
`or from an external storage device, such as a floppy disk, and
`mny incorporate that data item into its system (using the name
`provided with tlrnt dat □ item).
`However, when a processor (or some location) obtains a
`data item from another location in the DP system, it is pos(cid:173)
`sible that this obtained data item is already present in the
`system (either at the location of the processor or at some other
`location accessible by the processor) and therefore a dupli(cid:173)
`cate oflhe data item is created. TI1is situation is common in a
`network data processing environment where proprietary soft(cid:173)
`ware products are installed from floppy disks onto several
`processors sharing a eonunon file server. In these systems, it
`is often the case that the same product will be installed on
`several systems, so that several copies of each file will reside
`on the conunon file server.
`ln some data processing systems in which several proces(cid:173)
`sors are c01mected in a network, one system is designated as
`a cache server In maintain masler copies or dala items, and
`other systems arc designated as cache clients to copy local
`copies of the master data items into a local cache on an
`as-needed basis. Defore using a cached item, a cache client
`must either relond the cached item, be informed of changes to
`the cached item, or confirm that the master item correspond(cid:173)
`ing lo the cached item has nol chunged. In other wnrr.ls, a
`cache client must synchronize its data items with those on the
`
`
`
`Case 5:18-md-02834-BLF Document 400-4 Filed 04/08/19 Page 4 of 16
`
`US 8,099,420 B2
`
`37
`on the medium, but also records directory entries for each file
`in a frozen directory strncture. By copying and modifying this
`directory, il is possible lo creale an on line palch, or small
`modification of an existing read-only file. Por example, it is
`possible to create an online representation of a modified CD(cid:173)
`ROM, such that the unmodified files arc actually on the CD(cid:173)
`ROM, and only the modified files are online.
`In operation, the system trncks possession of specific data
`items according to content by owner, independent of the
`nmne, ch1te, or other properties of the darn item, and tracks the 10
`uses of specific data items and files by content for accmmting
`purposes. Using the Track for Accounting Purposes extended
`mechanism provides a way to know reliably which files have
`been slored on a system or lnrnsmilled from one system lo 15
`another.
`Tme Names in Relatiomil and Object-Oriented Databases
`Although the preferred embodiment of this invention has
`been presented in the context of a file system, the invention of
`Tme Names would be equally valtmhle in a relational or 20
`object-oriented database. A relational or object-oriented data(cid:173)
`base system using True Names would have similar benefits to
`those of the file system employing the invention. For instance,
`such a database would permit emcient elimination of dupli(cid:173)
`cate records, support a cache for records, simplify the process 25
`of maintaining cache consistency, provide location-indepen(cid:173)
`dent access to records, maintain archives and histories of
`records, and synchronize with distant or disconnected sys(cid:173)
`tems or databases.
`TI1e mechanisms described above can he easily modified to
`serve in such a database environment. The Trne Name regis(cid:173)
`try would he used as a repository of database records. All
`rel'erences lo records would be via the True Nmne or lhe
`record. (The Local Directory Extensions table is m1 example
`of a primary index that uses the True Name as the unique 35
`identifier of the desired records.)
`In such a database, the operations of inserting, updating,
`and deleting rL"Cords would he implemented by first assimi(cid:173)
`hiling records into the registry, and then updating a primary
`key index to map the key of the record to its contents by using 40
`the Trne Name as a pointer to the contents.
`TI1e mechanisms described in the preferred embodiment,
`or similar mechanisms, would he employed in such a system.
`These mechanisms could include, for example, lhe medrn(cid:173)
`nisms for calculating trne names, assimilating, locating, real- 45
`izing, deleting, copying, and moving Trne Files for mirroring
`Trne Piles, for maintaining a cache ofTrne Piles, for groom(cid:173)
`ing True Files, and other mechanisms based on the use of
`substantially unique identifiers.
`While the invention has been described in connection with 50
`what is presently considered to be the most practical and
`preferred embodiments, it is to be understood that the inven(cid:173)
`tion is not to he limited to the disclosed embodiment, but on
`the contrary, is intended to cover various modifications and
`equivalent arrangements included within the spirit and scope 55
`of the appended claims.
`
`What is claimed:
`1. A computer-implemented method implemented at least
`in part by hardware in cornbinalion with software, the method 60
`comprising the steps of:
`(A) obtaining a plurality of identifiers, each of said identi(cid:173)
`fiers in said plurality of identifiers corresponding to at
`least one of a plurality of data items, each of said iden(cid:173)
`tifiers in said plurality of identifiers being based, al least
`in purl, on a /irsl given fonclion or 1.1t leasl some of the
`data that comprise the contents of a corresponding one
`
`38
`of the plurality of data items, wherein lwo identical data
`items of said plurality of data items have identical idcn(cid:173)
`til1ers;
`(B) responsive to a request, the request including at least a
`specific name for a particular sequence of bits, the spe(cid:173)
`ci lie name having been delennined, al least in part, using
`a second given function of the particular sequence of
`bits, wherein two identical sequences of hits have the
`same name as determined using the second given fuuc(cid:173)
`tion, and wherein the first given function is the same as
`the second given J'unction lhal WHS used lo determine the
`specific name for the particular sequence of hits, hard(cid:173)
`ware
`in combination with software, ascertaining
`whether or not the specific name for the particular
`sequence of hits corresponds lo an identifier in said
`plurality of identifiers; mid,
`(C) based at least in part on said ascertaining in step (8),
`selectively permitting at least one copy of the particular
`sequence of bits to be distributed across or accessed by
`or from a plurnlity of computers in a network, wherein a
`copy of the particular sequence ofbits is not permitted to
`be distributed or accessed without authorization, as
`determined based, at least in part, on whether or not the
`specific mme for the particular sequence orbits corre(cid:173)
`sponds to an identifier in said plurality of identifiers.
`2. A method as in claim 1, wherein a copy of the particular
`sequence of bits is not pennitted to he distributed on behalf of
`unlicensed parties or unauthorized parties.
`3. A method as in claim 1, wherein distribution of or
`30 accessing an unauthorized copy of a sequence of bits is not
`allowed.
`4. A method as recited in claim 3 further comprising:
`pennilling al least one copy or the particular sequence or
`bits to be distributed in a network when it is not deter(cid:173)
`mined that the particular sequence of hits is unm1tho(cid:173)
`rized.
`5. The method of claim 1 wherein distribution of or access(cid:173)
`ing an unlicensed copy ofa sequence of bits is nol allowed.
`6. The method of claim 1 wherein the specific name for the
`particular sequence of hits corresponds to an identifier of the
`plurality of identifiers when the speci(k name for the particu(cid:173)
`lar sequence of bits exactly matches the identifier of the
`plurality of identifiers.
`7. A method as recited in claim 1 wherein the specific nmnc
`of the particular sequence of bits is based, at least in part, on
`a function of all of the hits of the particular sequence of hits.
`8. The method of claim l further comprising:
`denying pennission for the particular sequence ofbits to he
`distributed in a network when it is determined that
`access to the particular sequence of bits is not autho-
`rized.
`9. The method of claim l further comprising:
`maintaining the list plurality of identifiers.
`10. The method of claim 9 wherein said maintaining the
`plurality of identifiers comprises:
`adding new identifiers lo said plurality of identifiers.
`11. The method of claim l further comprising:
`using the specific name for the particular sequence of hits
`to determine whether the particular sequence of bits is
`present in a data processing system.
`12. Tiie method of claim l wherein the particular sequence
`of bits represent data selected from the group comprising: a
`file, a portion ofa file, a page in memory, a digital message, a
`portion of a digital message, a digital image, a portion of a
`65 digital image, a video signal, a portion of a video signal, an
`audio signal, a portion of11n audio signal, a sol1w,1rn product,
`a portion ofa software product, and a identifier of a data item.
`
`
`
`Case 5:18-md-02834-BLF Document 400-4 Filed 04/08/19 Page 5 of 16
`
`US 8,099,420 B2
`
`39
`13. A computer-implemented method, implemented al
`least in part by hardware in combination with software, the
`method comprising lhe sleps:
`(A) obtaining a specific name for a particular sequence of
`bits, the specific name having been determined at least in
`part as a first given function of at least some of the
`sequence ofbits, wherein two identical sequences ofbits
`will lrnve the same name, as determined using the first
`given function; and
`(B) ascertaining, by hardware in combination with soft(cid:173)
`ware, whether or nol the specific name for the particular
`sequence of bits corresponds to an identifier in a plural-
`ity ofidentifiers, said plurality ofidentifiers correspond(cid:173)
`ing lo a pluralily ofdala items, ead1 of said plurnlity of 15
`identifiers being based, al least in part, on a second given
`ii.mction of the contents of a corresponding one of the
`plurality of data items, wherein two identical data items
`have identical identifiers, as delem1ined by said second
`given function, and wherein the second given function is 20
`Lhe same as the first given function; and
`(C) based at least in part on said ascertaining in step (13),
`selectively allowing a copy of the particular sequence of
`hits lo be dislribulcd lo or provided or accessed by or
`from at least one of the computers in said plurality of 25
`computers, wherein a copy of the sequence of bits is not
`to be distributed or provided or accessed without autho(cid:173)
`rization, as determined based, at least in part, on whether
`or not the speci tic name for the particular sequence of
`bits corresponds to one of said plurality of identifiers.
`14. A method as in claim 13. further comprising:
`maintain.ing accounting information relating to at least
`some data ilems in lhe system; and
`using the accounting information 1.1s a b1.1sis for charges
`based on an identity of the at least some data items.
`15. A method as in cfoim 13, further comprising:
`collecting information relating to the particular sequence
`ofbils.
`16. The method of claim 13 wherein the specific name for
`the particular sequence of bits is based, at least in part, on a 40
`size or length of the particular sequence of bits.
`17. The method of claim 13 wherein the specitic name for
`the particular sequence of bits comprises a digi ta! fingerprint
`of the particular sequence of bits.
`18. The method of claim 13 wherein the specific name for
`the particular sequence of bits is a Tme Name of the particular
`sequence of bits.
`19. The method of any one of claims 1 and 13 wherein the
`specific name for the particular sequence of bits is a based on
`all of the bits mid only the bits in the particular sequence of
`bits.
`20. The method of claim 13 forther comprising:
`obtaining a copy of the particular sequence ofbils; and
`wherein the step (A) of obtaining the specific name for the
`particular sequence of bits comprises:
`hardware in combination with software, determining the
`specific name for the particular sequence of bits using
`the copy of the pai1icular sequence of bits.
`21. The method of claim 13 further comprising:
`obtaining lhe plurality or identifiers.
`22. Tiie method of claim 13 wherein, when contents of the
`particular sequence of bits represent an audio signal or a
`portion of an audio signal, the specific name of the particular
`sequence of bits is a function of at least some of the data
`comprising the audio signal; and
`when cnnlents or the particular sequence ofbits represent a
`video signal or a portion of a video signal, the specific
`
`40
`name of the particular sequence of bits is a iltnction of at
`least some of the d1.1ta comprising the video signal.
`23. The method of any one of claims 1 and 13, wherein !he
`specific name for the particular sequence of bits comprises a
`request for !he p1.1rticular sequence of bits.
`24. The method of any one of claims I and 13, wherein the
`specific name for the particular sequence of bits was deter(cid:173)
`mined using only bits in the sequence of bits.
`25.A computer-implemented method implemented at least
`10 in part by hardware in combination with software, the me I hod
`comprising lhe steps:
`(A) hardware in combination with software, dctcnnining a
`first content-dependent name for a particular sequence
`of bits, at least in part by applying a particular function
`to at least some or the particular sequence of bits, said
`particular fonction comprising a message digest func-
`tion or a hash function, wherein two identical sequences
`of bits will have the same content-dependent name as
`determined using said particular function;
`(H) ascertaining whether or not said first content-depen(cid:173)
`dent name for the particular sequence or bits corre(cid:173)
`sponds to one of a plurality of identifiers, said plurality
`or identifiers corresponding to a plurality of data items,
`each identifier of said rlurality of idenlifiers being
`based, at least in part, on a first given function of the data
`that comprise the contents of a corresponding one oft he
`plurality of data items, wherein said first given function
`comprises the particular function used to determine the
`first content-dependent name
`for said particular
`sequence of bits: and,
`(C) based at least in part on said ascertaining in step (13),
`selectively allowing a copy of the particular sequence of
`bi ls lo be provided to or accessed by or frnm al least one
`of the computers in a network of computers, wherein a
`copy of the sequence of bits is not to be provided or
`accessed without authorization, as detennined, at least
`in part, based on whether or not said first content-depen(cid:173)
`dent name oflhe parlicular sequence of bits corresponds
`to one of the plurality of identifiers.
`26. The method 1.1s in 25 wherein the plurality of identifiers
`is in a table comprising said plurnlily of identifiers.
`27. The method as in25 wherein the plurality of identifiers
`is in a database comp1ising said plurality ofidenlifiers.
`28. 111e method or claim 25 wherein the first content-
`45 dependent name for the particular sequence of bits is based, at
`least in pai1, on a size or length of !he particular sequence of
`bits.
`29. 111e method of claim 25 wherein the first content-
`dependent name for the particular sequence of bits comprises
`50 a digital fingerprint of the particular sequence of bits.
`30. TI1e method of claim 25 wherein the first content-
`dependent nm11e for the particular sequence of bits is a True
`Name of the particular sequence ofbils.
`31. ·n1e method of claim 22 wherein the first content-
`55 dependent name for the particular sequence of bits is a based
`on all of the bits and only the bits in the particular sequence of
`bits.
`32. The method of claim 25 where said first content-depen(cid:173)
`dent name of the particular sequence of bits corresponds to an
`60 identil1er or lhe firs! plurality of identil1ers when said lirsl
`content-dependent name of the particular sequence of bits
`exactly matches the identifier of the first plurality of identifi(cid:173)
`ers.
`33. The method of claim 25 fi.niher comprising:
`(R2) obtaining a second content-dependent name for said
`al least one particular sequence ofbils, lhe second con(cid:173)
`tent-dependent name being based at least in pm1 on a
`
`30
`
`35
`
`6.5
`
`
`
`Case 5:18-md-02834-BLF Document 400-4 Filed 04/08/19 Page 6 of 16
`
`US 8,099,420 B2
`
`41
`second fonction of al least some d!lla comprising the
`particular sequence of bits, said second content-depen(cid:173)
`dent name being distinct from said first content-depen(cid:173)
`dent name; and
`(C2) ascertaining whether or not said second content-de(cid:173)
`pendent name for !he al leas I nne parlicul,ff sequem:e n r
`bits corresponds to an identifier of n second plurality of
`identifiers, each identifier of said second plurality of
`identifiers being based, at least in part, on a second given
`fu ncti\)tl of at least snme of the data that compri ·c lhe
`co11 1e11 Is of a cnrrcspo11ding one nr a plurality or dal<1
`items, said second given iimction corresponding to said
`second function, said second given function being dis(cid:173)
`tinct from said first given fm1ction;
`wherein said selectively allowing in step (C) is based, at 1.1
`le!lsl in part, based on whether or not said second con(cid:173)
`tent-dependent name of the particular sequence of bits
`corresponds to one of the second plurality of identifiers .
`34. The method of claim 25, wherein the first content(cid:173)
`dependent name for the particular sequence of bits was deter- 20
`mined using all of the bits in the sequence of bits.
`35. The method of claim 25, wherein the first content(cid:173)
`dependent name for the particul~r sequence o fbits was deter(cid:173)
`mined using only bils in the sequence nrbils.
`36. The method of any one of claims 1, 13, and 25 wherein 25
`particular sequence of bils comprise a file.
`37. The method of claim 25 operable in a system compris(cid:173)
`ing one or more zones .
`38. The method ot'claim 37, wherein at least some of said
`one or more zones arc regions.
`39. The method of claim 37. wherein at least one of said one
`or more wnes is used for access control.
`40.ThemelhndorclaimJ7. wherein al least one nfsaidone
`or more zones resides on a shared file server.
`41. The method of claim 37 wherein the particular 35
`sequence of bits is associated with a particular zone, and
`wherein the act of selectively aJlowing in (C) is based, at least
`in part, on al least one policy associated with the particular
`zone.
`42. The method of claim 41 wherein the particulm zone is
`determined using al least the first content-dependent name of
`the particular sequence of bits .
`43.A computer-implemented method implemented at least
`in part by lmrdware in combination with sollware, the method
`comprising the steps of:
`(A) hardware in combination with software, uetennining a
`first content-dependent digital identifier for a particular
`sequence of bits, said determining using al least a first
`given fonction of some data, wherein the data used by
`the first given fonctiou to determine the first content(cid:173)
`dependent digital identifier for the particular sequence
`of bits comprises at least some of the bits in the sequence
`ofbits, wherein lwo identical sequences ofbits will have
`the same digital identifier as determined by the first
`given iimction; and
`(B) selectively allowing the particular sequence of bits to
`be provided to or accessed by or from at least one com(cid:173)
`puter of a network of computers, wherein a copy of the
`sequence of bits is not allowed to be provided or
`accessed wilhoul aulhori;,11lion, us resolved, based, al 60
`least in pm1, on whetl1er or nol said first content-depen(cid:173)
`dent digital identifier for the particular sequence of bits
`corresponds to an entry in a firs! database, said first
`database comprising a first plurality of identifiers, each
`of said identifiers in said first plurality of identifiers
`being bast-xl, ul least in purl, on 11 function oflhe dal.i lhat
`comprise the contents of a corresponding one of a pill-
`
`42
`rnlity of data items, and wherein the lirsl given li.mction
`used in step (A) to determine the content-dependent
`digital idenlilier or the specific sequence or hits is lhe
`same as the function that was used to detennine the first
`plurality of identifiers in the first data base.
`44. The method of claim 43 where said first content-depen(cid:173)
`dent digital identifier for the particular sequence of bits cor(cid:173)
`responds to an entry in said lirst database when said lirsl
`content-dependent digital
`identifier for
`the particular
`10 sequence of bits ex!lctly matches the entry in the first data(cid:173)
`base.
`45. The method ol'claim 43 forther comprising:
`(I32,) obtaining a second content-dependent digital identi(cid:173)
`lier for the particular sequence orbils, said second con(cid:173)
`tent-dependent digital identifier being based on at least a
`second given fonction of the particulm sequence o l'bits;
`and wherein, in step (I3), said selectively allowing is
`resolved, hased, al least in part, on one or more or:
`(i) whether or not said first contenl-dependenl digital
`identifier li1r the particular sequence or bits w1Tc(cid:173)
`sponds to an entry in the first database, and
`(ii) whether or not said second contenl-depenc.lent digital
`idenlilter li1r the particular sequence of bits corre(cid:173)
`sponds to an entry in a second database, said second
`database comprising a second plurality of identifiers,
`each of said identifiers in said second plurality of
`identifiers being based, al least in part, on a second
`ii.mclion of the data that comprise the contents of a
`corresponding one of a plurality of data items, mid
`wherein the second given function used to determine
`the second content-dependent digita I ideut ifier of the
`particu lur sequence n r bits corresponds lo !he second
`function that was used to determine the identifiers in
`the second database.
`46. TI1e method of claim 43, wherein the first content(cid:173)
`dependent digital identifier for the particular sequence of bits
`was determined using all of the bits in !he st!quence of bits.
`47. TI1e method or claim 43, wherein lhe first content-
`40 dependent digital identifier for the particular sequence of bits
`was determined using only bits in the sequence of bits.
`48. The method as in any one of claims 1, 13 and 43
`wherein the first given function is a cryptographic hash func(cid:173)
`tion.
`49. The method of clnim 43 fortber comptising the step of:
`obtaining a copy of the particular sequence of bits.
`50. A method as recited in any of claims 1. 13, and 4,
`wherein access to said sequence ofbils comprises one or more
`of(a) copying the sequence of bits to or from at least one of a
`50 plmality of computers ; (b) providing tlie sequenceofbits to at
`leasl one ofa plurality of computers: (c) reading the sequence
`of bits; (d) copying the sequence of bits; (e) distributing the
`sequence of bits; (f) modifying the sequence or bits; (g)
`storing the sequence of bits; (h) opening the sequence of bits;
`55 (i) publishing the sequence of bits ; (i) writing