Data caching among interconnected devices
First Claim
1. A method for caching data among multiple interconnected computing devices, comprising:
- transferring, from a storage server, a first data set to a computing device;
identifying, at the storage server, a neighbor computing device from multiple neighboring computing devices sharing a local area network (LAN) with the computing device, the neighbor computing device being selected from the multiple neighbor computing devices based on device statuses of the multiple neighbor computing devices, the device statuses including battery levels of the multiple neighbor computing devices, wherein the multiple neighbor computing devices maintain a network connection with the storage server, wherein identifying the neighbor computing device further includes;
sending, from the storage server, a request to the neighbor computing device to store cache data for the computing device at the neighbor computing device;
determining, at the storage server, whether a confirmation to store the cache data for the computing device at the neighbor computing device is received, wherein the storage server reinitiates identification of another neighbor computing device sharing the LAN with the computing device upon failing to receive confirmation from the neighbor computing device; and
receiving, at the storage server, a confirmation from the neighbor computing device to store the cache data for the computing device at the neighbor computing device when the neighbor computing device is able to store the cache data;
identifying, at the storage server, a second data set as relevant to the transferred first data set;
transmitting, from the storage server, the identified second data set to the identified neighbor computing device; and
upon transmitting the second data set to the identified neighbor computing device, sending, from the storage server, an instruction to the computing device, the instruction indicating that the identified neighbor computing device stores a data cache for the computing device.
5 Assignments
0 Petitions
Accused Products
Abstract
Technology is disclosed herein for optimizing data caches among multiple interconnected computing devices. According to at least one embodiment, a storage server transfers a first data set to a computing device. The storage server then identifies a neighbor computing device sharing a local area network (LAN) with the computing device. The neighbor computing device maintains a network connection with the storage server. The storage server transmits a second data set relevant to the first data set to the neighbor computing device. In response to a read request for the second data set from the computing device, the storage server sends to the computing device an instruction indicating that the neighbor computing device is storing a data cache for the computing device.
123 Citations
18 Claims
-
1. A method for caching data among multiple interconnected computing devices, comprising:
-
transferring, from a storage server, a first data set to a computing device; identifying, at the storage server, a neighbor computing device from multiple neighboring computing devices sharing a local area network (LAN) with the computing device, the neighbor computing device being selected from the multiple neighbor computing devices based on device statuses of the multiple neighbor computing devices, the device statuses including battery levels of the multiple neighbor computing devices, wherein the multiple neighbor computing devices maintain a network connection with the storage server, wherein identifying the neighbor computing device further includes; sending, from the storage server, a request to the neighbor computing device to store cache data for the computing device at the neighbor computing device; determining, at the storage server, whether a confirmation to store the cache data for the computing device at the neighbor computing device is received, wherein the storage server reinitiates identification of another neighbor computing device sharing the LAN with the computing device upon failing to receive confirmation from the neighbor computing device; and receiving, at the storage server, a confirmation from the neighbor computing device to store the cache data for the computing device at the neighbor computing device when the neighbor computing device is able to store the cache data; identifying, at the storage server, a second data set as relevant to the transferred first data set; transmitting, from the storage server, the identified second data set to the identified neighbor computing device; and upon transmitting the second data set to the identified neighbor computing device, sending, from the storage server, an instruction to the computing device, the instruction indicating that the identified neighbor computing device stores a data cache for the computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computing device comprising:
-
a networking component configured to communicate with a second computing device, wherein the computing device and the second computing device are interconnected within a local area network (LAN), the network component further configured to communicate with a storage server outside of the LAN; a storage component; a processor; and a memory storing instructions which, when executed by the processor, cause the computing device to perform a process including; receiving, from the storage server, a request to store cache data for the second computing device at the computing device, wherein the computing device is selected by the storage server to store the cache data based on a battery level of the computing device; sending, to the storage server, a refusal to store the cache data for the second computing device at the computing device when the computing device is unable to store the cache data; and sending a confirmation to the storage server to store the cache data for the second computing device at the computing device when the computing device is able to store the cache data, wherein the storage server reinitiates identification of another computing device sharing the LAN with the second computing device upon failing to receive confirmation from the computing device; retrieving data from the storage server via the networking component; storing the data in the storage component as cache data for the second computing device; receiving, from the second computing device, a cache inquiry for the cache data stored in the storage component; and in response to the cache inquiry, transferring the cache data to the second computing device. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A storage server comprising:
-
a networking component configured to communicate with a first computing device; a storage component; a processor; and a memory component storing instructions which, when executed by the processor, cause the storage server to perform a process including; in response to a read request for a first data set from the first computing device, transferring the first data set stored in the storage component to the first computing device; identifying a second data set relevant to the first data set; identifying a neighbor computing device from multiple neighbor computing devices sharing a local area network (LAN) with the first computing device, the neighbor computing device being selected from the multiple neighbor computing devices based on device statuses of the multiple neighbor computing devices, the device statuses including a battery level of the multiple neighbor computing devices, wherein the multiple neighbor computing devices maintain a network connection with the storage server, wherein identifying the neighbor computing device further includes; sending a request to the neighbor computing device to store cache data for the first computing device at the neighbor computing device; determining whether a confirmation to store the cache data for the first computing device at the neighbor computing device is received, wherein the storage server reinitiates identification of another neighbor computing device sharing the LAN with the first computing device upon failing to receive confirmation from the neighbor computing device; and receiving a confirmation from the neighbor computing device to store the cache data for the computing device at the neighbor computing device when the neighbor computing device is able to store the cache data; transferring the second data set to the neighbor computing device as cache data for the first computing device; and in response to a read request for the second data set from the first computing device, sending an instruction to the first computing device to retrieve the second data set directly from the neighbor computing device. - View Dependent Claims (18)
-
Specification