Legal claims defining the scope of protection, as filed with the USPTO.
1. A method, comprising: storing content in a filesystem maintained by a server; dividing the content into one or more data blocks having a fixed size; periodically scanning the filesystem to detect one or more data blocks not having a corresponding hash value stored; in response to detecting one or more data blocks not having a corresponding hash value, precomputing, by a processing device, a hash value corresponding to each of the one or more data blocks of the content prior to receiving any requests for the hash value or the content; storing the hash value on the server; receiving, from a first client device, a request for a requested hash value; determining whether the requested hash value is present on the server; and in response to the requested hash value being present on the server, providing the requested hash value to the first client device, wherein the first client device is the first device to request the requested hash value after the content has been stored on the server; receiving a request for the content corresponding to the requested hash value from the first client device; providing the content to the first client device, the first client device to provide the requested hash value and the content to a cache node connected to the first client device over a local network connection; receiving, from a second client device, a request for the requested hash value; and providing the requested hash value to the second client device, wherein the second client device to obtain the content from the cache node over the local network connection between the first and second client devices and the cache node.
2. The method of claim 1 , wherein precomputing the hash value comprises applying a cryptographic hash function to the content to generate the hash value prior to receiving the request for the requested hash value from the first client device.
3. The method of claim 1 , wherein the cryptographic hash function comprises at least one of a hash function, a fingerprinting function, or a checksum function.
4. The method of claim 1 , wherein the hash value is computed after the content is stored in a file system by the server.
5. The method of claim 1 , wherein the first client device and the second client device are within at least one of a same site, a same local area network, a routed network or a shared security domain.
6. The method of claim 1 , wherein the local network connection between the first and second client devices and the cache node provides more bandwidth than a network connection between the server and the first client device.
7. A system comprising: a memory; and a processing device operatively coupled to the memory, the processing device to: store content in a filesystem maintained by a server; divide the content into one or more data blocks having a fixed size; periodically scan the filesystem to detect one or more data blocks not having a corresponding hash value stored; in response to detecting one or more data blocks not having a corresponding hash value, precompute a hash value corresponding to each of the one or more data blocks of the stored content prior to receiving any requests for the hash value or the content; store the hash value on the server; receive, from a first client device, a request for a requested hash value; determine whether the requested hash value is present on the server; and in response to the requested hash value being present on the server, provide the requested hash value to the first client device, wherein the first client device is the first device to request the requested hash value after the content has been stored on the server; receive a request for the content corresponding to the requested hash value from the first client device; provide the content to the first client device, the first client device to provide the requested hash value and the content to a cache node connected to the first client device over a local network connection; receive, from a second client device, a request for the requested hash value; and provide the requested hash value to the second client device, wherein the second client device to obtain the content from the cache node over the local network connection between the first and second client devices and the cache node.
8. The system of claim 7 , wherein to precompute the hash value, the processing device to apply a cryptographic hash function to the content to generate the hash value prior to receiving the request for the requested hash value from the first client device.
9. The system of claim 7 , wherein the cryptographic hash function comprises at least one of a hash function, a fingerprinting function, or a checksum function.
10. The system of claim 7 , wherein the processing device to compute the hash value after the content is stored in a file system by the server.
11. The system of claim 7 , wherein the first client device and the second client device are within at least one of a same site, a same local area network, a routed network or a shared security domain.
12. The system of claim 7 , wherein the local network connection between the first and second client devices and the cache node provides more bandwidth than a network connection between the server and the first client device.
13. A non-transitory machine-readable storage medium storing instructions which, when executed, cause a processing device to: store content in a filesystem maintained by a server; divide the content into one or more data blocks having a fixed size; periodically scan the filesystem to detect one or more data blocks not having a corresponding hash value stored; in response to detecting one or more data blocks not having a corresponding hash value, precompute, by the processing device, a hash value corresponding to each of the one or more data blocks of the content prior to receiving any requests for the hash value or the content; store the hash value on the server; receive, from a first client device, a request for a requested hash value; determine whether the requested hash value is present on the server; and in response to the requested hash value being present on the server, provide the requested hash value to the first client device and to a networked cache node, wherein the first client device is the first device to request the requested hash value after the content has been stored on the server; receive a request for the content corresponding to the requested hash value from the first client device; provide the content to the first client device, the first client device to provide the requested hash value and the content to a cache node connected to the first client device over a local network connection; receive, from a second client device, a request for the requested hash value; and provide the requested hash value to the second client device, wherein the second client device obtains the content from the cache node over the local network connection between the first and second client devices and the cache node.
14. The non-transitory machine-readable medium of claim 13 , wherein to precompute the hash value, the processing device to apply a cryptographic hash function to the content to generate the hash value prior to receiving the request for the requested hash value from the first client device.
15. The non-transitory machine-readable medium of claim 13 , wherein the processing device to compute the hash value after the content is stored in a file system by the server.
16. The non-transitory machine-readable medium of claim 13 , wherein the first client device and the networked cache node are within a shared security domain.
17. The non-transitory machine-readable medium of claim 13 , wherein the local network connection between the first and second client devices and the cache node provides more bandwidth than a network connection between the server and the first client device.
Unknown
July 3, 2018
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.