Accessing data in a data processing system
DC CAFCFirst Claim
Patent Images
1. A computer-implemented method implemented at least in part by hardware in combination with software, the method comprising the steps of:
- (A) obtaining a plurality of identifiers, each of said identifiers in said plurality of identifiers corresponding to at least one of a plurality of data items, each of said identifiers in said plurality of identifiers being based, at least in part, on a first given function of at least some of the data that comprise the contents of a corresponding one of the plurality of data items, wherein two identical data items of said plurality of data items have identical identifiers;
(B) responsive to a request, the request including at least a specific name for a particular sequence of bits, the specific name having been determined, at least in part, using a second given function of the particular sequence of bits, wherein two identical sequences of bits have the same name as determined using the second given function, and wherein the first given function is the same as the second given function that was used to determine the specific name for the particular sequence of bits, hardware in combination with software, ascertaining whether or not the specific name for the particular sequence of bits corresponds to an identifier in said plurality of identifiers; and
,(C) based at least in part on said ascertaining in step (B), selectively permitting at least one copy of the particular sequence of bits to be distributed across or accessed by or from a plurality of computers in a network, wherein a copy of the particular sequence of bits is not permitted to be distributed or accessed without authorization, as determined based, at least in part, on whether or not the specific name for the particular sequence of bits corresponds to an identifier in said plurality of identifiers.
7 Assignments
Litigations
3 Petitions
Reexaminations
Accused Products
Abstract
Access to data items uses names based on the data in the data items; the name of a data item may be based, at least in part, on a function of some or all of the bits that comprise the data item. A data item may comprise an arbitrary sequence of bits. The function may include a hash function or a message digest function. The name of a data item may be compared to a list of names of other data items.
-
Citations
178 Claims
-
1. A computer-implemented method implemented at least in part by hardware in combination with software, the method comprising the steps of:
-
(A) obtaining a plurality of identifiers, each of said identifiers in said plurality of identifiers corresponding to at least one of a plurality of data items, each of said identifiers in said plurality of identifiers being based, at least in part, on a first given function of at least some of the data that comprise the contents of a corresponding one of the plurality of data items, wherein two identical data items of said plurality of data items have identical identifiers; (B) responsive to a request, the request including at least a specific name for a particular sequence of bits, the specific name having been determined, at least in part, using a second given function of the particular sequence of bits, wherein two identical sequences of bits have the same name as determined using the second given function, and wherein the first given function is the same as the second given function that was used to determine the specific name for the particular sequence of bits, hardware in combination with software, ascertaining whether or not the specific name for the particular sequence of bits corresponds to an identifier in said plurality of identifiers; and
,(C) based at least in part on said ascertaining in step (B), selectively permitting at least one copy of the particular sequence of bits to be distributed across or accessed by or from a plurality of computers in a network, wherein a copy of the particular sequence of bits is not permitted to be distributed or accessed without authorization, as determined based, at least in part, on whether or not the specific name for the particular sequence of bits corresponds to an identifier in said plurality of identifiers. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 19, 23, 24, 36, 48, 50, 85, 86, 87, 98, 99, 107, 108)
-
-
13. A computer-implemented method, implemented at least in part by hardware in combination with software, the method comprising the steps:
-
(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 of bits, wherein two identical sequences of bits will have the same name, as determined using the first given function; and (B) ascertaining, by hardware in combination with software, whether or not the specific name for the particular sequence of bits corresponds to an identifier in a plurality of identifiers, said plurality of identifiers corresponding to a plurality of data items, each of said plurality of identifiers being based, at least in part, on a second given function of the contents of a corresponding one of the plurality of data items, wherein two identical data items have identical identifiers, as determined by said second given function, and wherein the second given function is the same as the first given function; and (C) based at least in part on said ascertaining in step (B), selectively allowing a copy of the particular sequence of bits to be distributed to or provided or accessed by or from at least one of the computers in said plurality of computers, wherein a copy of the sequence of bits is not to be distributed or provided or accessed without authorization, as determined based, at least in part, on whether or not the specific name for the particular sequence of bits corresponds to one of said plurality of identifiers. - View Dependent Claims (14, 15, 16, 17, 18, 20, 21, 22, 31)
-
-
25. A computer-implemented method implemented at least in part by hardware in combination with software, the method comprising the steps:
-
(A) hardware in combination with software, determining a first content-dependent name for a particular sequence of bits, at least in part by applying a particular function to at least some of the particular sequence of bits, said particular function comprising a message digest function or a hash function, wherein two identical sequences of bits will have the same content-dependent name as determined using said particular function; (B) ascertaining whether or not said first content-dependent name for the particular sequence of bits corresponds to one of a plurality of identifiers, said plurality of identifiers corresponding to a plurality of data items, each identifier of said plurality of identifiers being based, at least in part, on a first given function of the data that comprise the contents of a corresponding one of the 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 (B), selectively allowing a copy of the particular sequence of bits to be provided to or accessed by or from at 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 determined, at least in part, based on whether or not said first content-dependent name of the particular sequence of bits corresponds to one of the plurality of identifiers. - View Dependent Claims (28, 29, 30, 32, 33, 34, 35, 37, 38, 39, 40, 41, 42, 63)
-
-
26. The method as in 25 wherein the plurality of identifiers is in a table comprising said plurality of identifiers.
-
27. The method as in 25 wherein the plurality of identifiers is in a database comprising said plurality of identifiers.
-
43. A computer-implemented method implemented at least in part by hardware in combination with software, the method comprising the steps of:
-
(A) hardware in combination with software, determining a first content-dependent digital identifier for a particular sequence of bits, said determining using at least a first given function of some data, wherein the data used by the first given function to determine the first content-dependent digital identifier for the particular sequence of bits comprises at least some of the bits in the sequence of bits, wherein two identical sequences of bits will have the same digital identifier as determined by the first given function; and (B) selectively allowing the particular sequence of bits to be provided to or accessed by or from at least one computer of a network of computers, wherein a copy of the sequence of bits is not allowed to be provided or accessed without authorization, as resolved, based, at least in part, on whether or not said first content-dependent digital identifier for the particular sequence of bits corresponds to an entry in a first database, said first database comprising a first plurality of identifiers, each of said identifiers in said first plurality of identifiers being based, at least in part, on a function of the data that comprise the contents of a corresponding one of a plurality of data items, and wherein the first given function used in step (A) to determine the content-dependent digital identifier of the specific sequence of bits is the same as the function that was used to determine the first plurality of identifiers in the first database. - View Dependent Claims (44, 45, 46, 47, 49, 51, 52, 53, 54, 55, 56)
-
-
57. A computer-implemented method implemented at least in part by hardware in combination with software, the method comprising the steps:
(A) selectively permitting distribution of a set of data items in a network of servers by, for at least one particular data item in said set of data items; (a1) said particular data item comprising a particular sequence of bits representing at least one of;
a file, a portion of a file, a digital message, a portion of a digital message, a digital image, a portion of a digital image, a video signal, a portion of a video signal, an audio signal, a portion of an audio signal, a software product, a portion of a software product, and an identifier of a data item,the particular data item having at least one contextual name specifying at least one location of the particular data item; hardware in combination with software, determining another name for the particular data item, the other name for the particular data item being distinct from the at least one contextual name of the particular data item, the other name for the particular data item comprising a content-dependent digital identifier for the particular data item which was determined at least in part using a given function of some data, said given function comprising a message digest function or a hash function, and where the data used by the given function to determine the content-dependent digital identifier for the particular data item comprises at least some of the bits in the particular sequence of bits comprising the particular data item, wherein two identical data items will have the same digital identifier as determined by the given function; (a2) ascertaining whether or not the content-dependent digital identifier for the particular data item corresponds to one of a plurality of identifiers, said plurality of identifiers corresponding to a plurality of data items, each identifier of said plurality of identifiers being based, at least in part, on a second given function of the data that comprise the contents of a corresponding one of the plurality of data items, wherein two identical data items will have the same identifier as determined using said second given function, and wherein the second given function is the same as the given function used to determine the content-dependent digital identifier for the particular data item; and
,(a3) based at least in part on said ascertaining in (a2), selectively permitting of a copy of the particular data item to be provided or accessed from at least one of the servers of the network of servers, said permitting being based at least in part on the content-dependent digital identifier of the particular data item, and wherein a copy of the particular data item is not allowed to be provided or accessed without authorization, as resolved based, at least in part, on whether or not the content-dependent digital identifier of the particular data item corresponds to one of the plurality of identifiers. - View Dependent Claims (58, 59, 60, 61)
-
62. A computer-implemented method implemented at least in part by hardware in combination with software, the method comprising the steps:
-
(A) obtaining a content-based name for a particular sequence of bits, said content-based name comprising at least a value having been determined at least in part by applying a first given function comprising a message digest function or hash function to at least a portion of the particular sequence of bits, wherein two identical sequences of bits will have the same content-based name as determined by said first given function, said particular sequence of bits comprising data representing at least one of;
a file, a portion of a file, a digital image, a portion of a digital image, a video signal, a portion of a video signal, an audio signal, a portion of an audio signal, a software product, a portion of a software product, and an identifier of a data item; and(B) selectively permitting distribution of at least one copy of the particular sequence of bits across a network of servers by; (b1) hardware in combination with software, ascertaining whether or not the content-based name of the particular sequence of bits corresponds to one of a plurality of identifiers, said plurality of identifiers corresponding to a plurality of data items, each of said identifiers being based, at least in part, on a second given function of data that comprise the contents of a corresponding one of the plurality of data items, wherein the second given function is the same as the first given function; and (b2) based at least in part on said ascertaining in (b1), selectively permitting distribution of at least one copy of the particular sequence of bits in the network of computers, wherein a copy of the particular sequence of bits is not to be provided without authorization, as determined based, at least in part, on whether or not said content-based name of the particular sequence of bits corresponds to one of said plurality of identifiers. - View Dependent Claims (64, 65, 66, 67, 68, 69)
-
-
70. A computer-implemented method implemented at least in part by hardware in combination with software, the method comprising the steps:
(A) for a particular data item in a set of data items, said particular data item comprising a corresponding particular sequence of bits; (a1) hardware in combination with software, determining one or more content-dependent digital identifiers for said particular data item, each said content-dependent digital identifier being based at least in part on a given function of at least some of the bits in the particular sequence of bits of the particular data item, wherein two identical data items will have the same digital identifiers as determined using said given function; and (a2) selectively permitting the particular data item to be made available for access and to be provided to or accessed by or from at least some of the computers in a network of computers, wherein the data item is not to be made available for access or provided without authorization, as resolved based, at least in part, on whether or not at least one of said one or more content-dependent digital identifiers for said particular data item corresponds to an entry in one or more databases, each of said one or more databases comprising a plurality of identifiers, each of said identifiers in each said database corresponding to at least one data item of a plurality of data items, and each of said identifiers in each said database being based, at least in part, on at least some of the data in a corresponding data item. - View Dependent Claims (71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81)
-
82. A computer-implemented method implemented at least in part by hardware in combination with software, the method comprising the steps of:
-
(A) obtaining a request to distribute a particular data item in a network of computers, said particular data item comprising a particular sequence of bits; (B) in response to the request, hardware in combination with software, obtaining a substantially unique identifier for the particular data item, said substantially unique identifier being based at least in part on a first function of at least some of the bits in the particular sequence of bits of the particular data item, wherein two identical data items will have the same identifier based on said first function; and (C) ascertaining whether or not the substantially unique identifier of the particular data item corresponds to one of a plurality of identifiers, each of said identifiers being based, at least in part, on a given function of the data that comprise the contents of a corresponding one of a plurality of data items, wherein the given function used to determine said plurality of identifiers is the same as the first function that was used to determine the substantially unique identifier of the particular data item; and
,(D) based at least in part on said ascertaining in step (C), selectively allowing the particular data item to be distributed to at least some of the computers in the network of computers, wherein a copy of the data item is not allowed to be distributed without authorization, and wherein the request to distribute the particular file across the network of computers is resolved based, at least in part, on whether or not the substantially unique identifier of the data item corresponds to one of the plurality of identifiers; and (E) collecting information regarding the particular data item. - View Dependent Claims (83, 84, 88, 89, 90, 91, 92, 93, 94, 95)
-
-
96. A computer-implemented method, operable in a data processing system and implemented at least in part by hardware in combination with software, the method comprising:
-
(A) in response to a request to allow distribution of a particular data item in a network of computers, hardware in combination with software, ascertaining whether or not a content-dependent particular name of the particular data item corresponds to an entry in a database, said database comprising a plurality of identifiers, each of said identifiers in said database having been determined based, at least in part, as a first given function of the data that comprise the contents of a corresponding one of a plurality of data items, and said particular data item comprising a particular sequence of bits, said content-dependent particular name for the particular data item being based, at least in part, on a second given function of said particular sequence of bits, and wherein two identical sequences of bits will have the same name, as determined using said second given function, and wherein the first given function is the same as the second given function; and (B) based at least in part on said ascertaining in (A), selectively permitting the particular data item to be distributed in the network of computers; and (C) collecting and maintaining information relating to the particular data item, wherein the information collected includes at least one of information selected from one or more of;
(a) information about the content of the particular data item, (b) information about an owner of the particular data item, (c) information about a type of the particular data item, (d) information about a contextual name of the particular data item, (e) information about whether or not the particular data item was copied, (f) the content-based name of the particular data item, (g) information about an identity of a requestor, (h) a timestamp;
(i) information about whether or not the particular data item was created, and (j) information about whether or not the particular data item was read. - View Dependent Claims (97, 100, 101, 102, 103, 104, 105, 106, 109, 110, 111, 131)
-
-
112. A computer-implemented method implemented at least in part by hardware in combination with software, the method comprising the steps:
-
(A) obtaining a particular data item, said particular data item comprising multiple parts; (B) hashing a plurality of said multiple parts to determine a plurality of part hash values for said particular data item, wherein identical parts have the same hash value; and (C) by hardware in combination with software, applying a cryptographic hash function or message digest function to said plurality of part hash values to determine a data identifier for the particular data item, said data identifier for the particular data item being determined and depending on the plurality of part hash values for the particular data item, wherein two identical data items will have the same identifier; and (D) ascertaining, using said data identifier for said particular data item, whether or not said particular data item corresponds to another data item of a plurality of data items, said ascertaining comprising determining whether or not said data identifier for said particular data item corresponds to any of a plurality of identifiers corresponding to said plurality of data items; and
,(E) based at least in part on said ascertaining in step (D), accessing or permitting access to the particular data item. - View Dependent Claims (113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126)
-
-
127. A computer-implemented method implemented at least in part by hardware in combination with software, the method comprising:
-
(A) hardware in combination with software, obtaining a first digital name for a particular sequence of bits, said first digital name being based at least in part on a first given function of some data, wherein the data used by the first given function to determine the first digital name for the particular sequence of bits comprises at least some of the bits in the sequence of bits, wherein two identical sequences of bits will have the same digital name as determined by the given function; and (B) selectively allowing the particular sequence of bits to be provided to or accessed by or from at least one location, wherein a copy of the sequence of bits is not allowed to be provided or accessed without authorization, as resolved, based, at least in part, on whether or not said first digital name for the particular sequence of bits corresponds to an entry in a database, said database comprising a plurality of names, each of said names in said plurality of names being based, at least in part, on a function of the data that comprise the contents of a corresponding one of a plurality of data items, and wherein the function that was used to determine the first plurality of names in the database is the same as the first given function. - View Dependent Claims (128, 129, 130)
-
-
132. A computer-implemented method comprising:
-
(A) hashing each of a plurality of parts to determine a corresponding plurality of part hash values, each of said parts comprising an arbitrary sequence of bits, and wherein identical parts have the same part hash value; and (B) by hardware in combination with software, applying a given function to said plurality of part hash values to determine a digital value, said digital value being determined and depending on the plurality of part hash values, wherein two identical pluralities of part hash values will have the same digital value as determined using said given function; and (C) ascertaining, using said digital value, whether or not said plurality of parts corresponds to at least one data item of a plurality of data items, based, at least in part, on whether or not said digital value corresponds to any of a plurality of values corresponding to said plurality of data items; and
,(D) based at least in part on said ascertaining in (C), providing information about said at least one data item when said digital value corresponds to said at least one data item. - View Dependent Claims (133, 134, 135, 136, 137, 138, 139)
-
-
140. A computer-implemented method implemented at least in part by hardware in combination with software, the method comprising:
-
(A) by hardware in combination with software, ascertaining a digital value corresponding to a plurality of parts, each of said parts comprising an arbitrary sequence of bits, each of said parts having a corresponding part value, the corresponding part value of each part having been determined by applying a first function to said each part, wherein identical parts have the same part value as determined by said first function, wherein said first function comprises a first hash function; and the digital value having been determined using a second function, and depending on the plurality of part values, wherein two identical pluralities of part values will have the same digital value as determined using said second function, wherein said second function comprises a second hash function; and (B) ascertaining, using said digital value, whether or not said plurality of parts corresponds to at least one data item of a plurality of data items, said ascertaining comprising determining whether or not said digital value corresponds to any of a plurality of values corresponding to said plurality of data items; and
,(C) based at least in part on said ascertaining in (B), when said digital value corresponds to said at least one data item, providing information about said at least one data item, wherein said information provided about said at least one data item comprises information about a location having a replica of said at least one data item, wherein said location comprises a server in a network.
-
-
141. A computer-implemented method implemented at least in part by hardware in combination with software, the method comprising the steps:
-
(A) obtaining a first name for a particular data item, said particular data item comprising multiple parts, wherein said first name is determined, at least in part, by applying a first function to a plurality of part values, said plurality of part values having been determined by applying a second function to a plurality of said multiple parts, wherein said second function comprises a second hash function, and wherein identical parts have the same part value as determined using said second function, said first name for the particular data item having been determined and depending on the plurality of part values, wherein two identical pluralities of parts will have the same name as determined using said first function, wherein said first function comprises a first hash or message digest function; and (B) by hardware in combination with software, ascertaining, using said first name for said particular data item, whether or not said particular data item corresponds to another data item of a plurality of data items, said ascertaining comprising determining whether or not said first name for said particular data item corresponds to any of a plurality of names corresponding to said plurality of data items; and
,(C) based at least in part on said ascertaining in (B), accessing or permitting access to the particular data item.
-
-
142. A system comprising hardware including at least one processor, and software, in combination with said hardware:
-
(a) to obtain a plurality of identifiers, each of said identifiers in said plurality of identifiers corresponding to at least one of a plurality of data items, each of said identifiers in said plurality of identifiers being based, at least in part, on a first given function of at least some of the data that comprise the contents of a corresponding one of the plurality of data items, wherein two identical data items of said plurality of data items have identical identifiers; (b) to ascertain, responsive to a request, whether or not a specific name for a particular sequence of bits corresponds to an identifier in said plurality of identifiers, the request including at least the specific name for the particular sequence of bits, the specific name having been determined, at least in part, using a second given function of the particular sequence of bits, wherein two identical sequences of bits have the same name as determined using the second given function, and wherein the first given function is the same as the second given function that was used to determine the specific name for the particular sequence of bits, hardware in combination with software; and
,(c) selectively to permit at least one copy of the particular sequence of bits to be distributed across or accessed by or from a plurality of computers in a network, wherein a copy of the particular sequence of bits is not permitted to be distributed or accessed without authorization, as determined based, at least in part, on whether or not the specific name for the particular sequence of bits corresponds to an identifier in said plurality of identifiers. - View Dependent Claims (143, 144, 145, 171)
-
-
146. A system comprising hardware including at least one processor, and software, in combination with said hardware:
-
(a) to obtain 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 of bits, wherein two identical sequences of bits will have the same name, as determined using the first given function; and (b) to ascertain whether or not the specific name for the particular sequence of bits corresponds to an identifier in a plurality of identifiers, said plurality of identifiers corresponding to a plurality of data items, each of said plurality of identifiers being based, at least in part, on a second given function of the contents of a corresponding one of the plurality of data items, wherein two identical data items have identical identifiers, as determined by said second given function, and wherein the second given function is the same as the first given function; and (c) selectively to allow a copy of the particular sequence of bits to be distributed to or provided or accessed by or from at least one of the computers in said plurality of computers, wherein a copy of the sequence of bits is not to be distributed or provided or accessed without authorization, as determined based, at least in part, on whether or not the specific name for the particular sequence of bits corresponds to one of said plurality of identifiers. - View Dependent Claims (147, 148, 149, 167)
-
-
150. A system comprising hardware including at least one processor, and software, in combination with said hardware:
-
(a) to determine a first content-dependent name for a particular sequence of bits, at least in part by applying a particular function to at least some of the particular sequence of bits, said particular function comprising a message digest function or a hash function, wherein two identical sequences of bits will have the same content-dependent name as determined using said particular function; (b) to ascertain whether or not said first content-dependent name for the particular sequence of bits corresponds to one of a plurality of identifiers, said plurality of identifiers corresponding to a plurality of data items, each identifier of said plurality of identifiers being based, at least in part, on a first given function of the data that comprise the contents of a corresponding one of the 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) selectively to allow a copy of the particular sequence of bits to be provided to or accessed by or from at 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 determined, at least in part, based on whether or not said first content-dependent name of the particular sequence of bits corresponds to one of the plurality of identifiers. - View Dependent Claims (151, 152, 153)
-
-
154. A system comprising hardware including at least one processor, and software, in combination with said hardware:
-
(a) to determine a first content-dependent digital identifier for a particular sequence of bits, said first content-dependent digital identifier being determined using at least a first given function of some data, wherein the data used by the first given function to determine the first content-dependent digital identifier for the particular sequence of bits comprises at least some of the bits in the sequence of bits, wherein two identical sequences of bits will have the same digital identifier as determined by the first given function; and (b) selectively to allow the particular sequence of bits to be provided to or accessed by or from at least one computer of a network of computers, wherein a copy of the sequence of bits is not allowed to be provided or accessed without authorization, as resolved, based, at least in part, on whether or not said first content-dependent digital identifier for the particular sequence of bits corresponds to an entry in a first database, said first database comprising a first plurality of identifiers, each of said identifiers in said first plurality of identifiers being based, at least in part, on a function of the data that comprise the contents of a corresponding one of a plurality of data items, and wherein the first given function is the same as the function that was used to determine the first plurality of identifiers in the first database. - View Dependent Claims (155, 156, 157)
-
-
158. A system comprising hardware including at least one processor, and software, in combination with said hardware:
(A) selectively to permit distribution of a set of data items in a network of servers by, for at least one particular data item in said set of data items; (a1) said particular data item comprising a particular sequence of bits representing at least one of;
a file, a portion of a file, a digital message, a portion of a digital message, a digital image, a portion of a digital image, a video signal, a portion of a video signal, an audio signal, a portion of an audio signal, a software product, a portion of a software product, and an identifier of a data item,the particular data item having at least one contextual name specifying at least one location of the particular data item; to determine another name for the particular data item, the other name for the particular data item being distinct from the at least one contextual name of the particular data item, the other name for the particular data item comprising a content-dependent digital identifier for the particular data item which was determined at least in part using a given function of some data, said given function comprising a message digest function or a hash function, and where the data used by the given function to determine the content-dependent digital identifier for the particular data item comprises at least some of the bits in the particular sequence of bits comprising the particular data item, wherein two identical data items will have the same digital identifier as determined by the given function; (a2) to ascertain whether or not the content-dependent digital identifier for the particular data item corresponds to one of a plurality of identifiers, said plurality of identifiers corresponding to a plurality of data items, each identifier of said plurality of identifiers being based, at least in part, on a second given function of the data that comprise the contents of a corresponding one of the plurality of data items, wherein two identical data items will have the same identifier as determined using said second given function, and wherein the second given function is the same as the given function used to determine the content-dependent digital identifier for the particular data item; and
,(a3) selectively to permit of a copy of the particular data item to be provided or accessed from at least one of the servers of the network of servers, based at least in part on the content-dependent digital identifier of the particular data item, and wherein a copy of the particular data item is not allowed to be provided or accessed without authorization, as resolved based, at least in part, on whether or not the content-dependent digital identifier of the particular data item corresponds to one of the plurality of identifiers. - View Dependent Claims (159, 160, 161)
-
162. A system comprising hardware, including at least a processor, and software, in combination with said hardware:
-
(A) to obtain a content-based name for a particular sequence of bits, said content-based name comprising at least a value having been determined at least in part by applying a first given function comprising a message digest function or hash function to at least a portion of the particular sequence of bits, wherein two identical sequences of bits will have the same content-based name as determined by said first given function, said particular sequence of bits comprising data representing at least one of;
a file, a portion of a file, a digital image, a portion of a digital image, a video signal, a portion of a video signal, an audio signal, a portion of an audio signal, a software product, a portion of a software product, and an identifier of a data item; and(B) selectively to permit distribution of at least one copy of the particular sequence of bits across a network of servers by; (b1) ascertaining whether or not the content-based name of the particular sequence of bits corresponds to one of a plurality of identifiers, said plurality of identifiers corresponding to a plurality of data items, each of said identifiers being based, at least in part, on a second given function of data that comprise the contents of a corresponding one of the plurality of data items, wherein the second given function is the same as the first given function; and (b2) based at least in part on said ascertaining in (bl), selectively permitting distribution of at least one copy of the particular sequence of bits in the network of computers, wherein a copy of the particular sequence of bits is not to be provided without authorization, as determined based, at least in part, on whether or not said content-based name of the particular sequence of bits corresponds to one of said plurality of identifiers. - View Dependent Claims (163, 164, 165)
-
-
166. A system comprising hardware, including at least a processor, and software, in combination with said hardware to:
(A) for a particular data item in a set of data items, said particular data item comprising a corresponding particular sequence of bits; (a1) determine one or more content-dependent digital identifiers for said particular data item, each said content-dependent digital identifier being based at least in part on a given function of at least some of the bits in the particular sequence of bits of the particular data item, wherein two identical data items will have the same digital identifiers as determined using said given function; and (a2) selectively permit the particular data item to be made available for access and to be provided to or accessed by or from at least some of the computers in a network of computers, wherein the data item is not to be made available for access or provided without authorization, as resolved based, at least in part, on whether or not at least one of said one or more content-dependent digital identifiers for said particular data item corresponds to an entry in one or more databases, each of said one or more databases comprising a plurality of identifiers, each of said identifiers in each said database corresponding to at least one data item of a plurality of data items, and each of said identifiers in each said database being based, at least in part, on at least some of the data in a corresponding data item. - View Dependent Claims (168, 169, 170)
-
172. A computer-implemented method, operable in a computer system comprising at least one storage system, wherein
the at least one storage system comprises a plurality of zones, and wherein each data item stored on the at least one storage system is associated with an object name, wherein the object name for a data item is used to map to one of the zones on the at least one storage system on which the corresponding data item is to be stored, and wherein each particular data item comprises a corresponding arbitrary sequence of bits, and wherein the object name for each particular data item is based, at least in part, on a given function of at least some of the corresponding arbitrary sequence of bits of the particular data item, wherein two identical data items will have the same name, as determined using the given function, wherein the given function comprises at least one hash function, and wherein the method is implemented at least in part by hardware in combination with software, the method comprising: -
(A) obtaining a specific object name for a first data item, wherein the first data item comprises a first arbitrary sequence of bits, the specific object name being based, at least in part, on the given function of at least some of the bits of the first data item; and (B) hardware in combination with software, using said specific object name for said first data item, to ascertain a particular zone of said plurality of zones corresponding to said first data item; and (C) selectively allowing access to or of the first data item, said allowing being determined based, at least in part, on at least one policy associated with the particular zone corresponding to said first data item. - View Dependent Claims (173, 174, 175, 176, 177, 178)
-
Specification