Cloud-based file prefetching on electronic devices
AssigneeRazer (Asia-Pacific) Pte. Ltd.
InventorsMichael A. Chan, Justin Quan, Michael K. Fleming
Life of this patent
Estimating the term…
Abstract
Techniques introduced here enable cloud-based file prefetching on electronic devices. The electronic devices store certain files on a remote storage server and preload some of the files locally to include file access efficiency. File access patterns on the electronic devices are analyzed collectively and efficiently using a cloud service to detect global access patterns and help determine which files to preload on each of the electronic devices.
Claims21
A method performed by a processor on a server that is connectable to a plurality of client devices over a network, the method comprising:
- receiving a usage profile from a first one of the client devices, wherein the usage profile includes access statistics of a plurality of applications or files at the first client device, wherein at least some of the plurality of applications or files are stored remotely from the first client device at a storage location over the network;
- analyzing collectively a plurality of usage profiles received from the plurality of client devices, respectively, to determine a global access pattern based on the plurality of usage profiles;
- generating a prefetching profile for the first client device based on the global access pattern, wherein the prefetching profile specifies at least a first application or file and a second application or file of the plurality of applications or files to prefetch from the storage location based at least partially on the first application or file and the second application or file being predicted to be accessed on the first client device and a sequence in which multiple applications or files of the plurality of applications or files were accessed on the first client device, wherein the prefetching profile specifies a first likelihood value of the first application or file being accessed within a first predetermined time period that starts from a present time and a second likelihood value of the second application or file being accessed within a second predetermined time period that starts from the present time, wherein the analyzing the usage profiles to generate the prefetching profile includes assigning a higher weight to more recent usage patterns determined across the plurality of client devices when generating the prefetching profile;
- and
- sending the prefetching profile to the first client device, wherein files are prefetched from the storage location to the first client device based on the prefetching profile.
A method performed by a processor on a first one of a plurality of client devices connectable to a server over one or more networks, the method comprising:
- sending a usage profile to the server, wherein the usage profile contains access statistics of a plurality of applications or files at the first client device, wherein at least some of the plurality of applications or files are stored remotely from the first client device at a storage location over the network;
- and
- receiving a prefetching profile from the server, wherein the prefetching profile is based on a global access pattern and specifies a first application or file and a second application or file, of the plurality of applications or files, to be preloaded from the storage location onto the first client device based on a likelihood of the first application or file and the second application or file being accessed at the first client device in the future and a sequence in which multiple applications or files of the plurality of applications or files were accessed on the first client device, wherein the prefetching profile specifies a first likelihood value of the first application or file being accessed within a first predetermined time period that starts from a present time and a second likelihood value of the second application or file being accessed within a second predetermined time period that starts from the present time, wherein the likelihood is based at least partially on a collective analysis of a plurality of usage profiles sent by the plurality of the client devices, respectively, to determine the global access pattern based on the plurality of usage profiles, wherein the collective analysis of the plurality of usage profiles includes assigning a higher weight to more recent usage patterns determined across the plurality of client devices when generating the prefetching profile based on the global access pattern;
- and
- prefetching files from the storage location based on the prefetching profile.
A method performed by a processor of a computing device that is connectable to a client device over a network, the method comprising:
- receiving a first usage profile from the client device, wherein the first usage profile contains access statistics of a plurality of applications or files that have been accessed at the client device, wherein at least some of the plurality of applications or files are stored remotely from the client device at a storage location over the network;
- analyzing collectively a plurality of usage profiles received from a plurality of client devices, respectively, to determine a global access pattern based on the plurality of usage profiles;
- generating a prefetching profile for the client device based on the global access pattern and the first usage profile, wherein the prefetching profile specifies a first application or file and a second application or file, of the plurality of applications or files, to be preloaded from the storage location onto the client device based on a likelihood of the first application or file and the second application or file being accessed in the future at the client device, wherein the prefetching profile specifies a first likelihood value of the first application or file being accessed within a first predetermined time period that starts from a present time and a second likelihood value of the second application or file being accessed within a second predetermined time period that starts from the present time, wherein the generating the prefetching profile comprises assigning a first weight to the first usage profile received from the client device and a second weight to the plurality of usage profiles received from the plurality of client devices used for determining the global access pattern, the first weight being different from the second weight;
- sending the prefetching profile to the client device, wherein files are prefetched from the storage location to the client device based on the prefetching profile;
- and
- based on determining that a rate of application or file retrieval is higher than a threshold indicating of a low degree of prefetching success, initiating additional analysis of stored usage profiles to generate another prefetching profile.
A client device connectable to a server over a network, the client device comprising:
- one or more processors;
- and
- a computer-readable medium maintaining instructions that, when executed by the one or more processors, program the one or more processors to:
- send a first usage profile to the server, wherein the usage profile includes access statistics of a plurality of applications or files executed at the client device;
- store at least some of the plurality applications or files at a storage location over the network;
- and
- receive a prefetching profile from the server, wherein the prefetching profile is based on a global access pattern and specifies a first application or file and a second application or file of the plurality of applications or files to be preloaded from the storage location onto the client device based on a likelihood of the first application or file and the second application or file being executed at the client device in the future, wherein the likelihood is based on a collective analysis of a plurality of usage profiles sent by a plurality of client devices, respectively, to the server to determine the global access pattern based on the plurality of usage profiles, wherein the prefetching profile specifies a first likelihood value of the first application or file being accessed within a first predetermined time period that starts from a present time and a second likelihood value of the second application or file being accessed within a second predetermined time period that starts from the present time, wherein the prefetching profile is generated by the collective analysis at least partially by assigning a first weight to the first usage profile received from the client device and a second weight to one or more other usage profiles received from one or more other client devices, the first weight being different from the second weight;
- prefetch files from the storage location based on the prefetching profile;
- and
- based at least partially on a rate of application or file retrieval being higher than a threshold indicating of a low degree of prefetching success, receiving, from the server, another prefetching profile.
Dependencies are inferred from the claim text.