Balancing caching load in a peer-to-peer based network file system
First Claim
1. A device comprising:
- memory and circuit electronics,the device being configured to connect with a network that includes a caching load balancer and three or more devices, which include the device, configured to cache data associated with a file server system, such that the devices have respective connections with the file server system, the circuit electronics being configured todetect that a specified file is not cached on the memory of the device,request, from the caching load balancer in response to the detection, information that identifies at least one of the three or more devices of the network that cache the specified file,receive from the caching load balancer a response including information identifying one or more devices of the three or more devices of the network that cache the specified file,communicate with at least one device of the one or more devices referenced by the response received from the caching load balancer to retrieve the specified file,retrieve and cache the specified file based on the communication with the at least one device referenced by the response received from the caching load balancer,provide the caching load balancer a notification including an identity of the at least one device referenced by the response received from the caching load balancer with which the device has communicated to retrieve the specified file, and a confirmation that the specified file is cached on the memory of the device,store the information included in the response received from the caching load balancer identifying the one or more devices of the three or more devices of the network that cache the specified file,detect a cache miss upon an attempt to locally re-access the specified file, anddetermine, responsive to having detected the cache miss, whether the stored information identifying the one or more devices of the three or more devices of the network that cache the specified file is fresh or stale, prior to using the stored information to re-obtain the specified file,wherein the stored information identifying the one or more devices of the three or more devices of the network that cache the specified file is fresh if the information was stored for a time interval shorter than a predefined duration, and is stale if the information was stored for a time interval longer than or equal to the predefined duration.
6 Assignments
0 Petitions
Accused Products
Abstract
Systems and techniques relating to network file systems for balancing caching load in peer-to-peer based network file systems are described. In one aspect, a method includes maintaining, by a cluster containing two or more computer systems, information about files cached at a network that includes three or more computer systems configured to cache data associated with a file server system. The method also includes receiving, from one of the computer systems of the network, a request to identify at least one computer system of the network that caches a specified file. Further, the method includes identifying, by the cluster in response to the received request, one or more computer systems of the network that cache the specified file based on the maintained information. Furthermore, the method includes providing, by the cluster to the requesting computer system, information referencing at least the identified one or more computer systems of the network.
12 Citations
18 Claims
-
1. A device comprising:
-
memory and circuit electronics, the device being configured to connect with a network that includes a caching load balancer and three or more devices, which include the device, configured to cache data associated with a file server system, such that the devices have respective connections with the file server system, the circuit electronics being configured to detect that a specified file is not cached on the memory of the device, request, from the caching load balancer in response to the detection, information that identifies at least one of the three or more devices of the network that cache the specified file, receive from the caching load balancer a response including information identifying one or more devices of the three or more devices of the network that cache the specified file, communicate with at least one device of the one or more devices referenced by the response received from the caching load balancer to retrieve the specified file, retrieve and cache the specified file based on the communication with the at least one device referenced by the response received from the caching load balancer, provide the caching load balancer a notification including an identity of the at least one device referenced by the response received from the caching load balancer with which the device has communicated to retrieve the specified file, and a confirmation that the specified file is cached on the memory of the device, store the information included in the response received from the caching load balancer identifying the one or more devices of the three or more devices of the network that cache the specified file, detect a cache miss upon an attempt to locally re-access the specified file, and determine, responsive to having detected the cache miss, whether the stored information identifying the one or more devices of the three or more devices of the network that cache the specified file is fresh or stale, prior to using the stored information to re-obtain the specified file, wherein the stored information identifying the one or more devices of the three or more devices of the network that cache the specified file is fresh if the information was stored for a time interval shorter than a predefined duration, and is stale if the information was stored for a time interval longer than or equal to the predefined duration. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method comprising:
-
detecting, by a device connected with a network that includes a caching load balancer and three or more devices, which include the device, configured to cache data associated with a file server system, such that the devices have respective connections with the file server system, that a specified file is not cached on memory of the device; requesting, by the device from the caching load balancer in response to the detecting, information that identifies at least one of the three or more devices of the network that cache the specified file; receiving, by the device from the caching load balancer, a response including information identifying one or more devices of the three or more devices of the network that cache the specified file; communicating, by the device, with at least one device of the one or more devices referenced by the response received from the caching load balancer to retrieve the specified file; retrieving and caching, by the device, the specified file based on the communication with the at least one device referenced by the response received from the caching load balancer; providing, by the device to the caching load balancer, a notification including an identity of the at least one device referenced by the response received from the caching load balancer with which the device has communicated to retrieve the specified file, and a confirmation that the specified file is cached on the memory of the device; storing, by the device, the information included in the response received from the caching load balancer identifying the one or more devices of the three or more devices of the network that cache the specified file; detecting, by the device, a cache miss upon an attempt to locally re-access the specified file; and determine, by the device responsive to having detected the cache miss, whether the stored information identifying the one or more devices of the three or more devices of the network that cache the specified file is fresh or stale, prior to using the stored information to re-obtain the specified file, wherein the stored information identifying the one or more devices of the three or more devices of the network that cache the specified file is fresh if the information was stored for a time interval shorter than a predefined duration, and is stale if the information was stored for a time interval longer than or equal to the predefined duration. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification