CN104412249B - File disposal in file system based on cloud - Google Patents

File disposal in file system based on cloud Download PDF

Info

Publication number
CN104412249B
CN104412249B CN201380023770.1A CN201380023770A CN104412249B CN 104412249 B CN104412249 B CN 104412249B CN 201380023770 A CN201380023770 A CN 201380023770A CN 104412249 B CN104412249 B CN 104412249B
Authority
CN
China
Prior art keywords
file
cache
computing device
priority
storage system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201380023770.1A
Other languages
Chinese (zh)
Other versions
CN104412249A (en
Inventor
J·伍德沃德
稻叶和弘
K·B·穆尔
K·谭
A·班达卡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN104412249A publication Critical patent/CN104412249A/en
Application granted granted Critical
Publication of CN104412249B publication Critical patent/CN104412249B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0862Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/126Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/463File
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

In a general aspect, a kind of computer-readable storage medium can be configured to store causes the instruction of one or more processes of computing device one upon execution.The process can include at least a portion of the communication link between the storage system set up computing device and operated in cloud environment.The process can include the user interface for the listed files for representing multiple files comprising access, wherein at least Part I of the multiple file is stored in the local storage of the computing device and the Part II of the multiple file is stored in the storage system.

Description

File disposal in file system based on cloud
The cross reference of related application
Present application advocates " the file disposal in the file system based on cloud entitled filed in 15 days March in 2013 (FILE HANDLING WITHIN A CLOUD-BASED FILE SYSTEM) " No. 13/841,368 U.S.'s non-provisional is special The preferential of sharp application case is its case that continues for the time being, and the 13/841st, No. 368 U.S. Non-provisional Patent application case is advocated 2012 again " file disposal (the FILE HANDLING WITHIN A CLOUD- in the file system based on cloud entitled filed in May 5 BASED FILE SYSTEM) " No. 61/643,279 U.S. provisional patent application cases and on December in 2012 13 filed in mark Entitled " file disposal (the FILE HANDLING WITHIN A CLOUD-BASED FILE in the file system based on cloud SYSTEM the priority of the 61/736th, No. 722 U.S. patent application case) ", described these are incorporated in entirety by reference Herein.
Technical field
This description is related to the file disposal in the file system based on cloud.
Background technology
A variety of remote storage systems for storing the file that can be accessed by computing device are developed.Generally, known to these Remote storage system store file to back up the local file being stored on computing device.Although these long-range storage systems System reliably many in storage information etc., but these known remote storage systems can be deposited remotely via network access Storage system lacks flexibility and integration, especially when a variety of files of not homologous generation can be used in disposal.Accordingly, it would be desirable to To solve the deficiency of this technology and provide system, the method and apparatus of other new and character of innovation.
The content of the invention
In a general aspect, a kind of non-transitory computer-readable storage medium can be configured to store upon execution Cause the instruction of one or more processes of computing device one.The process, which can be included, sets up computing device with being operated in cloud environment Storage system between communication link at least a portion, and the listed files of multiple files can be represented comprising storage, wherein At least Part I of the multiple file be stored in the local storage of the computing device and the multiple file Two parts are stored in the storage system.The process can be included based on associated with the file from the listed files The offline availability of file class and the specified file from the listed files.
Exemplary embodiment can include one or more of following characteristics.For example, the storage system can be as described The main storage system of computing device and operate, and the local storage of the computing device can be used as the storage system Cache memory and operate.
The listed files can be included:To the texts of the web in the storage system are produced and are stored in using weblication The reference of part;To the reference of the client file produced using the local application being installed at the computing device;And/or Reference to the long-range source file of the remote source of the next comfortable cloud environment peripheral operation.The text from the listed files Part can be the first file from the listed files, and the file class can be web file class.The process can be further Comprising:At least the second file from the listed files is specified in response to the first instruction received from the computing device Offline availability, second file is without high speed buffer storage file;And specify the cache from the listed files The offline availability of at least the 3rd file in the local storage.
The listed files can be the local storage across the computing device and the distribution of the storage system Single listed files to a part for the computing device.
The computing device can be the first computing device for being connected remotely to the cloud environment, and the process can be further Included in being connected remotely at the second computing device of the cloud environment access the listed files, it is that described second calculates dress The listed files when place of putting is accessed is identical with listed files when being to access at first computing device.
It is described specify the file can be included in not from the computing device receive clearly instruction in the case of be based on institute State file class and the offline availability of the specified file from the listed files.
The file from the listed files may be based on the file class and be designated as in offline available The first file in state.The listed files can include the second file, and it is nearest that second file is based on second file It is accessed at the local storage of the computing device and is designated as being in the offline upstate.The text Part list can include be designated as being in the offline upstate in response to the instruction from the computing device the Three files.The listed files can include the 4th file for being designated as being in online upstate.
In another general aspect, a kind of non-transitory computer-readable storage medium can be configured to store upon execution Cause the instruction of one or more processes of computing device one.The process, which can be included, sets up computing device with being operated in cloud environment Storage system between communication link at least a portion.The process can also be included:Receive opening and be stored in the storage The request of the first file in system;And in response to opening the request of first file, first file is high Speed is cached in the local storage of the computing device, and first file is with the first priority cache.It is described Process can further include:Receiving makes the second file being stored in the storage system turn into offline available request;And In response to making second file turn into the offline available request, second cache memory is filled in described calculate In the local storage put, second file is with the second priority cache less than first priority 's.The process still can be included further:The 3rd cache memory that predictably will be stored in the storage system in In the local storage of the computing device, the 3rd file be one or more attributes based on the 3rd file and Selection, the 3rd file is with the third priority cache less than second priority.
Exemplary embodiment can include one or more of following characteristics.For example, first file, second text Part and the 3rd file can be in the local storage based on its respective priority and based on the computing device it is available The amount of file cache memory capacity and be cached in the local storage of the computing device.
The process can further include:Receive the request for opening the 4th file being stored in the storage system;With And in response to receiving the request for opening the 4th file:If by the 4th cache memory in described Cache memory threshold value will be exceeded in the local storage of computing device, then the process can be included to be calculated from described The local storage of device drives away the 3rd file;And it is with first priority that the 4th file is slow at a high speed It is stored in the local storage of the computing device.
First file can be with one of multiple files of first priority cache, wherein described many Individual file may be in response to open the respective request of each of the multiple file and be cached in the computing device In the local storage.Second file can be with one of multiple files of second priority cache, Wherein the multiple file may be in response to make each of the multiple file to turn into offline available respective request and high speed It is cached in the local storage of the computing device.3rd file can be with the third priority cache One of multiple files, wherein can be included with the multiple file of third priority cache:Based on accordingly most Afterwards modification the date and cache the first predetermined number file;Based on accordingly finally inspecting the date and cache second is predetermined Number file;And based on the corresponding shared date predetermined number file of cache the 3rd.
It is can further include with the multiple file of third priority cache based on it in the storage system In with one or more previously cached files relation and the predetermined number file of cache the 4th.
3rd file can be with one of multiple files of the third priority cache, wherein with described The multiple file of third priority cache can include by based on corresponding last modification date high speed buffer storage file with Cache predetermined number file repeatedly is carried out based on accordingly finally inspecting between date high speed buffer storage file.
The process can further include:Receive from the local storage of the computing device and open the 3rd text The request of part;3rd file is changed into first priority from the third priority;And change the described 3rd The last of file inspects the date.
In another general aspect, a kind of non-transitory computer-readable storage medium can be configured to store upon execution Cause the instruction of one or more processes of computing device one.The process, which can be included, sets up computing device with being operated in cloud environment Storage system between communication link at least a portion, the computing device is high from the storage system comprising being configured to The local storage of fast cache file.The process can also have been met or described local more than the computing device comprising receiving The instruction of the cache memory threshold value of memory.The process can further include to be indicated in response to described, is calculated from described The local storage of device drives away at least a portion of one group of cached file untill meeting expeling threshold value, institute The described at least a portion for stating the cached file of group is from lowest cache priority to highest cache priority And corresponding timestamp based on each file in described group of cached file and drive away.
Exemplary embodiment can include one or more of following characteristics.For example, described group of cached file can Comprising:The first file with the first cache priority, first file is in response to opening first file Ask and cache;The second file with the second cache priority, second file is in response to making described Two files cache as offline available request, second priority is less than first priority;With the 3rd 3rd file of cache priority, the 3rd file based on the last modification date and is finally inspected in the date at least One and cache, the 3rd cache priority are less than second cache priority;With the 4th at a high speed Cache priority level the 4th file, the 4th file based on share the file date and cache, the described 4th Cache priority is less than the 3rd cache priority;And/or the 5th text with the 5th cache priority Part, the 5th cache priority is less than the 4th cache priority, and the 5th file is based on it in institute State in storage system with least one in first file, second file, the 3rd file and the 4th file The relation of person and cache.
The process, which can further include, is driving away slow at a high speed with first cache priority or described second The confirmation from user is asked before the file for depositing priority.
The process can further include:Receive the request of the file in described group of cached file of access, request The file of access has the cache priority less than the highest cache priority;And asked in response to described Ask, the cache priority of the file of access will be asked to change into the highest cache priority.
The details of one or more embodiments is stated in the accompanying drawings and the following description.From the description and schema and from right Claim will become apparent from further feature.
Brief description of the drawings
Fig. 1 is to illustrate the calculating being configured to from the storage system accessing file based on cloud operated in cloud environment The schema of device.
Fig. 2 is the schema for illustrating computing device and storage system according to an embodiment.
Fig. 3 is to illustrate the schema that can be provided by file manager to the user interface of computing device.
Fig. 4 is to illustrate wherein to implement for taking out (cache) file from the storage system based on cloud for storage Drive away the file of the exemplary methods of (removal) file in local storage and from local storage (cache memory) The schema of system.
Fig. 5 is the flow chart for illustrating the method related to file disposal.
Fig. 6 A to 6C are the flow charts for illustrating the method related to cache memory.
Fig. 7 is the flow chart for illustrating the method related to the expeling of cached file.
Embodiment
Fig. 1 is to illustrate the calculating being configured to from the accessing file 19 of storage system 150 of operation in cloud environment 100 The schema of device 110,120.Because storage system 150 is operated in cloud environment 100, therefore in some embodiments, storage System 150 can be described as the storage system based on cloud.Moreover, storage system 150 can be by computing device 110,120 remote accesses Long-range (for example, non-local) storage system.Cloud environment 100 can include multiple hardwares and/or component software, include server (example Such as, apps server), database etc..The component of cloud environment 100, which can be integrated into, to be configured to share (for example, dynamically Distribution) resource and/or serve in the computing infrastructure of a variety of end points comprising computing device 110,120.
Computing device 110,120 can be any class for being configured to access storage system 150 of operation in cloud environment 100 The device of type.In some embodiments, computing device 110,120 can be respectively (for example) non-wireless means and/or wireless Device (for example, possessing the device of Wi-Fi abilities), and can be (for example) computational entity (for example, personal computing device), clothes Be engaged in device device (for example, web server), mobile phone, touch panel device, personal digital assistant (PDA), laptop computer, Comprising one or more processors or the TV associated with one or more processors, board device, electronic reader and/or wait Deng.The computing device can be configured with based on can be comprising the hardware of one or more types, software, firmware, operating system, operation When program library and/or etc. one or more platforms (for example, one or more similar or different platforms) and operate.
In some embodiments, compared with cloud environment 100, computing device 110,120 can have relatively little of calculate to provide Source (for example, process resource, storage resource).Therefore, computing device 110,120 and cloud environment 100 can be jointly arranged such that Computing device 110,120 can utilize the computing resource of cloud environment 100.Specifically, the storage system 150 of cloud environment 100 and meter Calculate device 110,120 and can be configured so that storage system 150 is operated as the main storage system of computing device 110,120. As demonstrated in Figure 1, computing device 110 and computing device 120 include local storage 112 and local storage 122 respectively.I.e. Computing device 110,120 is set to include local storage 112,122, local storage 112,122 is also configured as storage system System 150 cache memory (for example, temporary cache, temporary storage location) and operate.Therefore, locally deposit Reservoir 112,122 can be used as the auxilary unit of the primary storage of storage system 150.In certain embodiments, illustrate For, one that is assigned to computing device 110 (for example, being designated to use for it) of the memory capacity of storage system 150 Divide 10 times big (for example, 100 times big, 1000 times big) of the memory capacity for the local storage 112 that can be computing device 110.
Even if the speed buffering that the local storage 112,122 of corresponding computing device 110,120 is used as storage system 150 is deposited Reservoir (or auxilary unit), is stored in the text in local storage 112, one or more of 122 and in storage system 150 Part can also be disposed as single or single file set.In other words, local storage 112, one or more of 122 and deposit Storage system 150 can be used as single storage system (for example, single virtual storage system, single virtual hard drives).For example, Being stored in that the file in local storage 112, one or more of 122 and being stored in storage system 150 can cause can not The mode for easily distinguishing storage location is presented to the user's (for example, being presented to user via user interface) for accessing the file. Therefore, no matter user is via computing device 110 or the accessing file of computing device 120, be stored in local storage 112, One or more of 122 and storage system 150 in the associated listed files of file will be identical (or substantially the same). The more details related to file disposal are described below.
As demonstrated in Figure 1, storage system 150 be configured to storage may specify comprising through trust instrument, client text File 19 in one or more classifications of part, long-range source file etc..In this embodiment, the major part in file 19 is base Indicated in each of file 19 classification associated therewith.Therefore, file 19 (is alternatively referred to as passed through comprising web files 10 Trust instrument), client file 11 and long-range source file 12.Web files 10 may be included in web file class, client text Part 11 may be included in client file classification, and long-range source file 12 may be included in remote source file class.In some realities Apply in scheme, each of file 19 can be various types of files, for example, text based file is (for example, document is literary Part), electronic form file, image file (for example, joint photo expert group (JPEG) file), video file is (for example, mobile figure Piece expert group (MPEG) file), music file (for example, mpeg audio layer III (MP3) file) etc..
Web files 10 can be the text created using weblication 140 (such as weblication demonstrated in Figure 1) Part.Weblication 140 can for can (for example) in cloud environment 100 trustship any kind of application program.At some In embodiment, weblication 140 can be through managed application.In some embodiments, weblication 140 can When it is in operation in cloud environment 100 by computing device 110, one or more of 120 remote controls.It is embodied herein later The more details related to weblication and managed application described in mode.
Client file 11 can be being stored in storage system 150 from computing device 110, one or more of 120 File.For example, client file 11 can be for the storage that is stored in from computing device 110, one or more of 120 File in system 150.For example, client file 11 can be to be produced using the application program 126 operated at computing device 120 Raw file.Application program 126 can be to be installed on the local application operated at computing device 120 and at which.At some In embodiment, application program 126 can not be operated in cloud environment.
Long-range source file 12 can be the file being stored in storage system 150 from remote source 160.In some embodiment party In case, remote source 160 can be outside cloud environment 100 (for example, independently of cloud environment 100 and independently of computing device 110, 120) source of operation.In some embodiments, remote source 160 can be to be separated (or independently of it) with computing device 110,120 Computing device.In some embodiments, remote source 160 can be the third party source operated independently of cloud environment 100.At some In embodiment, remote source 160 may be in response to by computing device 110, one or more of 120 trigger one or more instruction and It is moved in storage system 150.
As demonstrated in Figure 1, at least a portion of file 19 at least interim storage (for example, cache) can be filled in calculating Put in 120 local storage 122.Specifically, the file 18 included in file 19 is stored in the local of computing device 120 In memory 122.File 18 can be the shadow copy of any one of the file that is stored in storage system 150, mirror image copies Or synchronized copy.For example, file 18 can be the shadow copy or mirror for the web files 10 being stored in storage system 150 As copy.In some embodiments, file 18 can be to be stored in local storage 122 and non-mirror is in storage system 150 The file at place.For example, file 18 can be created and is stored in be separated with client file 11, at local storage 122 Another client file in local storage 122.In some embodiments, file 18 can be storage (for example, deposit temporarily Storage) file in local storage 122 so that (for example, manipulation) file 18 can be easily accessed at computing device 120. Although not shown in Fig. 1, at least a portion of file 19 can at least be temporarily stored in the local storage of computing device 110 In 112.
Storage system 150 includes file manager 155.In some embodiments, file manager 155 can be used as web Application program.File manager 155 is configured to provide user interface, and computing device 110,120 can pass through the user interface It is stored in storage system 150 and/or computing device 110, the file 19 at one or more of 120 places.In some implementations In scheme, the user interface provided by file manager 155 can include file system user interface.In some embodiments, The user interface provided by file manager 155 can represent the list of file 19 (for example, level, file system folder, enumerating, remembering Record, stock) and/or on file 19 other metadata (for example, owner, date created, file name, file availability/ State).The list of file 19 can include the reference (for example, pointer, instruction) to one or more of file 19.Accessing file 19 Can comprising inspect, delete, editing, downloading, uploading and/or etc..
For example, it may be in response to the input from computing device 120 and use weblication 140 to produce web files 10 and it is stored in storage system 150.Can later by file manager 155 computing device 110 display 114 Web files 10 (or its identifier) are provided in the user interface of offer.Computing device 110 can be used via weblication 140 To select and edit web files 10.It can be illustrated by the example of the user interface of one or more of its accessing file 19 Discussed in more detail in Fig. 3 and with reference to Fig. 3.
File 19 can be associated with user account so that is provided by file manager 155 in user interface to calculating dress The list for putting the file 19 of 110 or computing device 120 will be identical, regardless of whether user is logged on computing device 110 still In computing device 120.In other words, the list of file 19 can be synchronized, but regardless of the list by its accessing file 19 Computing device how.Even if the file of plurality of classes can be included in file 19, for example, it is categorized as the text of weblication file Part, the client file or the file associated with remote source provided from computing device, by file manager 155 in user interface The list of the file 19 of interior offer is alternatively identical (for example, synchronized, through dynamically synchronous).Even if file 19 can be distributed in Between storage system 150 and/or computing device 110,120, the file 19 provided by file manager 155 in user interface List is alternatively identical.In some embodiments, the list of file 19 can be enumerating comprising which file in file 19.
For example, in some embodiments, user can be signed in in computing device 110, and can be accessed and/or be manipulated One or more of file 19.When user publishes from computing device 110, user can sign in later in computing device 120 with Access and manipulate one or more files 19., can will be via computing device 120 when User logs in is into computing device 120 The list of file 19 after once logging in and (using computing device 110) is presented to user.Therefore, file 19 can seamlessly be maintained List (or making its synchronization), but regardless of user by the computing device of its accessing file 19 how.Therefore, file manager 155 can be configured to provide identical (or synchronized) list of file 19, regardless of whether user is logged on computing device 110 still In computing device 120.In some embodiments, even if the list of file 19 can be maintained between computing device 110,120, but In some embodiments, the state of one or more of file 19 can change.In certain embodiments, the state can be with text Offline (for example, the non-network) of part or online availability are related.Discuss related to the state of file more thin with reference to Fig. 3 Section.
In some embodiments, file 18 can be to download to (for example, through take out for) computing device 120 by terms of Calculate the file of (if can not yet be used in the local storage 122 of computing device 120) for users to use at device 120.One In a little embodiments, the current version (for example, file 18) of file may be in the local storage 122 of computing device 120 It can use and will not be downloaded from storage system 150.In some embodiments, before file is downloaded from storage system 150, it can examine Core local storage 122 is to determine whether the file has been cached in local storage 122.
In some embodiments, can be by the demand of the user of computing device 120 (for example, in response to being triggered by user Instruction) and by the locally downloading memory 122 of file 18.In some embodiments, it is stored in local storage 122 File 18 can be used for accessing offline at computing device 120.Computing device 120 possibly can not access any network or wherein can be The network of storage system 150 is accessed when offline.For example, the user of computing device 120 can be asked to being stored in storage system The access of long-range source file 12 in 150.In response to the request, the copy of long-range storage file 12 can be downloaded to calculating dress 120 local storage 122 is put to be used as file 18.Can by user computing device 120 use (for example, editor, manipulate, Access) file 18.In some embodiments, to any change of file 18 can mirror in being stored in storage system 150 In long-range source file 12 (for example, synchronous in long-range source file 12).
In some embodiments, can not by the case of user's clear request of computing device 120 take out (for example, Prefetch) file 18 and download it to computing device 120 to use.In other words, can be automatically high by one or more files Speed is cached in computing device 120 and sentenced for users to use.For example, can be automatic when User logs in is into computing device 120 Ground downloads to file 18 local storage 122 of computing device 120.In some embodiments, can be accurate based on one or more Then and automatically download file.The criterion can with file 18 whether can by computing device 120 user access prediction It is related.In some embodiments, the criterion can include with the nearest access to file 18, file with it is other nearest accessed The relation of file 18, the file class generally accessed by user and/or file type and/or etc. related criterion.For under Carry (taking-up) file and from the perspective of for being stored in local storage the exemplary methods of (for example, from storage system based on cloud) and illustrating It is bright to be been described by below with respect to Fig. 4 in Fig. 4 and in further detail.
In some embodiments, it can be removed from the local storage 122 of computing device 120 (for example, delete, move temporarily Remove, clean) file 18.In some embodiments, (date of file 18 can for example, be included based on one or more criterions Timestamp, the size of file 18 and/or etc.) and remove file 18 from the local storage 122 of computing device 120.At some In embodiment, the resource of the local storage 122 (or other components of computing device 120) of computing device 120 may be in response to Through redistributing other operations for computing device 120 file is removed from the local storage 122 of computing device 120 18.In some embodiments, can be together with the other files that can be stored in local storage 122 from computing device 120 Local storage 122 remove file 18.For driving away (removal) from local storage (for example, from the storage system based on cloud) The exemplary methods of file are also illustrated in Fig. 4 and are been described by further detail below with respect to Fig. 4.
Although not shown in Fig. 1, in some embodiments, one or more of file 19 can by computing device 110, The directly processing of one or more of 120 application program is without being cached at computing device 110,120.In other words, When performing processing using computing device 110, one or more of 120, the high speed to one or more of file 19 can bypass Caching.For example, can be by the weblication 140 of operation in cloud environment 100 and/or answering using computing device 120 Disposed with program 126 to web files 10 and/or part thereof of processing.In such embodiment, it can bypass in computing device To the clear and definite cache of web files 10 in 120 local storage 122.In some embodiments, web files 10 are only A part can be stored in the temporary memory location separated in computing device 120 with local storage 122.
In some embodiments, local storage 112,122 can be any kind of memory, and such as arbitrary access is deposited Reservoir, disk drive memory (for example, solid-state drive (SSD)), flash memory and/or etc..In some embodiments In, compared with other memories included in computing device 110,120, local storage 112,122 can be deposited to be relatively long-term Store reservoir.In some embodiments, local storage 112,122 can be most long included in computing device 110,120 Phase memory assembly.In some embodiments, the speed buffering that local storage 112,122 can be associated with processor Memory is separated and separated with RAM type memory.In some embodiments, local storage 112,122 can be embodied as and count More than one memory assembly that the component of calculation device 110,120 is associated is (for example, more than one random access memory (RAM) component or disk drive memory).
In some embodiments, weblication 140 can be configured to be performed by web browser (not showing) or solved Translate.This can be with that comprising machine executable code and can be configured directly to be performed by processor or via the operation of computing device The native application that system is performed is contrasted, and in a certain embodiment, weblication 140 is without web browser Auxiliary in the case of can not perform or show.Therefore, weblication 140 can be with the clear of private subscribers interface Look at device built-in function (for example, out of described browser perform), and it is the commonly provided more rich than free-standing website and more interactive Property but not as the cumbersome and huge feature of multipad and experience.Web browser can be by computing device (for example, calculating Device 110,120) execution, can receive code (for example, HTML from remote server (for example, remote server of trustship website) Code, Javascript), and reception code can be performed on the computing device by the user of computing device.Weblication Example can be included in game, photo editor and the video player performed in browser.
In some embodiments, weblication 140 can be through managed application or encapsulated application program.Through Managed application can comprising itself comprising webpage website at least a portion plus can especially with weblication or web Relevant some metadata to allow weblication to perform a certain other particular functionalities as user of the user of application program. This metadata can include (for example) description of title, application program of application program, the version of application program and apply journey Any URL that sequence is used, the startup page comprising application program (that is, is browsed when user clicks on the icon through managed application The webpage that device is gone to).The metadata can be contained in the inventory being hosted on the server of the server of developer or Numerical market In file (for example .crx files).
Encapsulated application program can be considered as that its code is bundled so that user can download the content of weblication extremely The weblication that a few part performs for browser.Encapsulated weblication can come independent of network insertion for Family performs its feature, but successfully can on the computing device be locally executed by browser in the case of not access network. Encapsulated weblication has the option using extension API, so as to allow the behavior of encapsulated application program change browser Or outward appearance mode.
Fig. 2 is the schema for illustrating computing device 210 and storage system 250 according to an embodiment.Computing device 210 are configured to set up with the communication link (for example, unidirectional communications link, bidirectional communication link) of storage system 250 at least A part.Although not shown in Fig. 2, storage system 250 can be configured to operate in cloud environment.Storage system 250 includes text Part 29 and file manager 255.Although being not explicitly shown in Fig. 2, in this embodiment, file 29 can include and be stored in meter Calculate the file in the local storage 265 of device 210.Therefore, file manager 255 can be with being locally stored in computing device 210 Place or the file being remotely stored in storage system 250 are associated.The file being locally stored can with included in storage system 250 File manager 255 it is synchronous and managed by file manager 255.
As shown in FIG. 2, computing device 210 includes file manager application program 230.File manager application program 230 it can be configured and interacted with the file manager 255 with storage system 250 (for example, access, trigger its operation).In some realities Apply in scheme, file manager application program 230 can be to be configured in browser to operate (in the operation system based on browser System in operate) weblication.Computing device 210 includes local storage 265 and processor 267.Processor 267 can be with Any one of component of computing device 210 is associated, and available for any one of operation for performing computing device 210.
File manager application program 230, which is included, is configured to disposal with being carried by file manager 255 from storage system 250 The user interface disposer 236 of the related processing of the user interface of confession.File manager application program 230, which is included, to be filled by calculating Putting 210 user is used for the state for changing one or more of the file 29 associated with storage system 250 (in some embodiment party In case, via the user interface for the operating system that may be based on browser) state supervisor 232.File manager application journey Sequence 230 is also comprising the login mould for being configured to dispose one or more user accounts (via user interface) associated with file 29 Block 234.
Computing device 210 includes and is configured to the communication link set up between computing device 210 and storage system 250 extremely At least part of client link block 240.In some embodiments, it is logical between computing device 210 and storage system 250 Believe link can for wireless connection, wired connection, peer to peer connection, network connection, secure connection, encrypted connection and/or etc..
Computing device 210 is also comprising can be configured with the input unit for one or more operations for triggering computing device 210 280.In some embodiments, input unit 280 can be or can include (for example) mouse apparatus, key board unit, touch Cushion device, microphone and/or etc..Computing device 210 includes display 270, and it can be any kind of display, for example, send out Optical diode (LED) display, electrostatic touching device, resistive touchscreen device, surface acoustic wave (SAW) device, capacitive character are touched Touch screen device, pressure-responsive device, surface capacitance device, projecting type capacitor touch (PCT) device and/or etc..If display Device 270 is touch sensitive device, then display 270 can be used as input unit.For example, display 270 may be configured to display The dummy keyboard (for example, imitating keyboard) of input unit can be used as by user.
Computing device 210 and/or the component of storage system 250 (for example, module, processor) can be configured with based on can wrap Hardware, software, firmware, operating system, run time library containing one or more types and/or etc. one or more platforms (for example, one or more similar or different platforms) and operate.In some embodiments, computing device 210 and/or storage system 250 component can be configured to operate in device clustering (for example, server farm).In this embodiment, it can be filled calculating The feature and processing of putting the component of 210 and/or storage system 250 are distributed to several devices of device clustering.
The component of computing device 210 and/or the component of storage system 250 can be or can be comprising being configured to processing attribute Any kind of hardware and/or software.In some embodiments, the component of the computing device 210 in Fig. 2 and/or storage system System 250 component one or more parts can be or can comprising hardware based module (for example, digital signal processor (DSP), Field programmable gate array (FPGA), memory), firmware module and/or module based on software be (for example, computer code mould Block, the computer-readable instruction collection that can be performed at computer).For example, in some embodiments, computing device 210 Component and/or storage system 250 component one or more parts can be or can comprising be configured at least one processing The software module that device (not showing) is performed.In some embodiments, the feature of component may be included in it is demonstrated in Figure 2 In those different modules and/or different components.
In some embodiments, one or more of the component of computing device 210 and/or the component of storage system 250 Can be or can be comprising being configured to handle the instruction being stored in memory (together with the instruction shown or except being shown Beyond instruction) processor.For example, file manager application program 230 (and/or one part) can be or can be comprising warp Configuration is with the combination of the processor and memory that perform the instruction related to the process to implement one or more functions.
In some embodiments, storage system 250 can be remote data base, local data base, distributed data base, pass Be database, hierarchical data base and/or etc..In some embodiments, at least some parts of storage system 250 can be stored (do not shown) in (for example, local storage) in the memory of computing device 210.In some embodiments, storage system 250 It can be or can include by the shared memory of multiple devices (such as computing device 210).In some embodiments, storage system 250 can be associated with the server unit (not showing) in network and be configured to serve the component of computing device 210.
Although not showing, in some embodiments, the component of computing device 210 and/or the component of storage system 250 It can be configured with (for example) data center (for example, cloud computing environment), computer system, one or more server/masters Machine device and/or etc. in operate.In some embodiments, the group of the component of computing device 210 and/or storage system 250 Part can be configured to operate in network.Therefore, the component of computing device 210 and/or the component of storage system 250 can be configured Can worked in various types of network environments comprising one or more devices and/or one or more server units.Lift Example for, the network can be or can comprising LAN (LAN), wide area network (WAN) and/or etc..The network can be or can Comprising wireless network and/or use (for example) gateway apparatus, bridger, exchanger and/or etc. implement wireless network. The network can be segmented comprising one or more and/or can have and be based on such as Internet Protocol (IP) and/or proprietary protocol respectively Plant the part of agreement.The network can include at least a portion of internet.
Fig. 3 is to illustrate the schema that can be provided by file manager to the user interface 300 of computing device.User interface 300 can be provided by file manager 155 demonstrated in Figure 1 and/or file manager 255 demonstrated in Figure 2.User interface 300 can be by computing device 110, one or more of 120 demonstrated in Figure 1 and/or computing device 210 demonstrated in Figure 2 Receive (for example, controlling at which).
As shown in fig. 3, listed files 320 is represented in user interface 300.Listed files 320 is included by title (row Shown in 321) files that are represented to file L of file A.Listed files 320 includes a variety of letters on each of file Breath, can use comprising size (being shown in row 322), date (being shown in row 323), type (being shown in row 324) and offline Property (being shown in row 325).The file represented in listed files 320 can be assigned in some classifications, for example, web files, Client file, long-range source file and/or etc..
As shown in fig. 3, even if listed files 320 can also be used comprising the file in plurality of classes is specified single Represent in family interface 300 and in the single window for being denoted as " driver " file.In some embodiments, can be in driving Other types of file is listed in device window, comprising being stored on external memory (such as USB (USB) device) File, through download file and/or etc..
In this embodiment, the number person in the file that will be represented in listed files 320 is shown as being designated as offline It can use.In row 325 be already fully filled solid box icon (with can bifurcation switch to solid box icon opening block diagram mark It is contrasted) displaying is appointed as offline available file.In some embodiments, one or more of file is offline available Property can by user via computing device (for example, computing device 110 demonstrated in Figure 1) specify.In such embodiment, refer to Having determined the file of offline availability can be stored in the local storage of computing device.In some embodiments, if calculated The local storage of device does not have adequate space, then can not specify the offline availability of extra file.
In this embodiment, the file represented in listed files 320 can be in one of several states.One In a little embodiments, can the classification based on file and specify one or more of described state.In some embodiments, can base In recently, cache memory is still uncached in the local storage of computing device and specifies institute by (or current) State one or more of state.In some embodiments, the state of file can be specified (via the calculating from user by user The instruction of device).In some embodiments, can acquiescently specified file state (without the computing device from user In the case of clearly instructing).In some embodiments, can based on metadata associated with the file specified file shape State.In other words, the state of file can be specified based on classification, the instruction from user, acquiescence, recently how in local high speed Cache file or whether be uncached file (not in local cache) and/or etc. any combinations.In some implementations In scheme, it can be represented in listed files 320 with icon, color scheme, font and/or another specify in the user interface 300 The file being in particular state of interior expression, so that the state of file can be readily recognized by obtaining user.
For example, be designated as (for example, nail is elected as) offline availability file due to file A, thus its can be at from In line upstate.In this embodiment, easily file A can be identified as by solid box icon can be used for offline place Reason.As another example, because file H offline availability is not designated, therefore it can be in online upstate.Cause This, file H can be only used for communicating with storage system (for example, storage system 150) in computing device (for example, computing device 110) When accessed by the computing device in the storage system.In this embodiment, the text associated with opening circular icon Part is web files.For example, file G is associated with opening circle and is web files.Even if not explicitly specified by user Offline availability, web files can also be in online upstate.In some embodiments, the default conditions of web files can For online upstate.In some embodiments, the extension of offline available weblication can be used to access web texts Part.In some embodiments, also may be such that and be cached in local storage (but simultaneously non-web file or not specified offline Availability) file turn into offline available (until it from cache memory by untill removing), such as below with respect to Fig. 4 Discuss in further detail.
In some embodiments, the file being cached in local storage can be in threshold time period internal memory The nearest accessed file of warp taken.Therefore, at least some files for clearly following closely choosing can be for outside the threshold time period Access and it is not cached (be currently uncached in the local storage of computing device because recent file not yet by Access) file.When clearly nail is selected, it can will be moved to local storage without high speed buffer storage file and it be carried out at a high speed Caching.
User interface 300 demonstrated in Figure 3 or derivatives thereof can be by computing device (for example, calculating demonstrated in Figure 1 Device 110) one or more application programs (for example, web application, native application) at place use.For example, it is optional Select one or more of interior file represented of the listed files 320 shown in user interface 300 and via e-mail should Message is attached to program.In some embodiments, photo editing application program or word-processing application can be used To access one or more of file represented in the listed files 320 shown in user interface 300.
Fig. 4 is to illustrate implementation to be used for from the storage system 450 based on cloud (for example, storage system demonstrated in Figure 1 150) (cache) file is taken out to be stored in local storage 412 (for example, local storage demonstrated in Figure 1 112) schema of the file system 400 of the exemplary methods of cached file is driven away in and from local storage 412.Figure Shown in 4 and method described below is provided by way of example.In various embodiments, take out and/or drive away The order of file can be different.In the following discussion, the exemplary methods for taking out (cache) file will be described, and Then it will describe to be used for the corresponding method of the cached file of expeling (from local storage).
It can be used above for the technologies discussed of Fig. 1 to 3 and/or equipment to implement method demonstrated in Figure 4.Separately Outside, method illustrated in Fig. 4 can be implemented in a dynamic fashion.For example, can based on several factors (for example change file, File is deleted, file, closing file is opened, file is appointed as offline available (nail is selected), is appointed as offline may be used by file cancellation With (cancel nail choosing) and/or etc.) and dynamically taking-up (cache) and/or expeling (removal) (on the basis of just carrying out) File.Therefore, can based on several factors which (for example, the factor just described) and be constantly changing cache (storage) in local The specific file of (for example, offline available) in memory 412.Moreover, the file included in local storage 412 is slow at a high speed Rush memory cache and/or drive away file can be used for based on how many local storage cached file and/or The amount of the local storage 412 needed for operation (for example, request of user) is asked in execution.In some embodiments, can base It is high that file is performed or do not perform in the data network access style available for the local computing de comprising local storage 412 Speed caching.For example, if only cellular data network access is available, then as an example, can suspense file it is slow at a high speed Deposit untill the access of wired or WiFi network is available.
As demonstrated in Figure 4, it (can take out, prefetch) file according to priority level cache.For example, in file system In 400, the file (file of opening) 420 opened by user can be cached in local storage 412 with limit priority. Therefore, when User logs in into the computing system comprising local storage 412 and provide will open cloud storage system 450 on spy When determining instruction (for example, instruction for document files being opened in word processing device) of file, institute will be taken out from cloud storage system 450 State specific file and be cached in local storage 412.However, in some embodiments, or even beat in user When opening, some file types can not be also cached in local storage 412.For example, in file system 400, Web files (such as Web files 10) can not be cached in local storage 412, because the processing of this class file can be in cloud environment Web application is disposed, and any advantage may be not present in this class file in local cache.
Also as demonstrated in Figure 4, can be with the second limit priority (after file of opening) at a high speed through following closely selection part 420 It is cached in local storage 412.In exemplary embodiment, in the height of the file (file that user opens) 420 of opening After speed caching is completed, file system 400 can proceed to cache and (is specified by the user as offline available through following closely selection part 430 File, for example discussed on Fig. 3).In certain embodiments, if reaching that (or more than) can be used for cache memory The threshold quantity of local storage 412, for example cache open file 420 or through follow closely selection part 430 when, file system It is local to discharge that 400 (for example, including the computing device of local storage 412) can perform expeling process (such as described below) Memory space in memory 412 is so that file prefetches (cache) continuation.Or, file system 400, which can be interrupted, (at least faces When) cache memory.In other embodiments, if reaching that (or more than) can be used for being locally stored for cache memory The threshold quantity of device 412, then the file for indicating to answer (needs) to close one or more openings can be provided a user and/or (needs) is answered One or more files are cancelled nail choosing (cancellation is appointed as offline available) to allow the notice that cache memory continues.
In the example shown in Fig. 4, if receiving instruction and the file elder generation that file is appointed as being followed closely to choosing Before be cached in local storage 412, then can not cache (retrieving) file again.Similarly, such as Fruit receives the instruction for opening file and the file previous cache is in local storage 412, then can not be again high Speed caching (retrieving) described file.
To the file 420 of opening and after the cache completion through following closely selection part 430, file system 400 can be then Based on prefetching (cache) volume from cloud storage system 450 with giving each attribute of the associated file of (login) user Outer file 440 (for being stored in local storage 412).In file system 400, cloud storage system 450 can be for given User's traversing directories structure is so as to the list of construction associated documents attribute.This traversal may be in response to user and access him or she to deposit in cloud Any one of file on storage system 450 and perform or can be performed as the part of the login process of user.
In exemplary embodiment, in the file 420 that cache is opened and after nail selection part 430, file system Unite 400 it is cacheable accessed by user recently it is (for example, inspected by user and/or changed by user) and associated with user The predetermined number file (for example, 50 files, 100 files or 200 files) of (being possessed by user), for example, warp recently Inspect/modified (accessed) file 442.By cache (taking-up), the determination of which nearest accessed file 442 can be based on Be contained in the stored file of user each of cloud storage system 450 one or more corresponding document attributes (for example, Collected during file directory traversal discussed herein above).For example, on inspection to determine the file category of cache which file Property can include " lastViewedByMeDate " attribute or " modifiedByMeDate " attribute.
For example, if being 50 files by the predetermined number of the nearest accessed file 442 of cache, then deposit The nearest modified file of reservoir system 400 cacheable 25 and 25 are recently through inspecting (but unmodified) file.Can be first First cache can be with 25 recently through inspecting the nearest modified file of the alternate mode cache of file 25.Another In one embodiment, cacheable may or may not be comprising nearest modified file 50 of accumulator system 400 are recently through inspection Depending on file.In another embodiment, the nearest modified file of accumulator system 400 cacheable 50 and non-cache is only The nearest file through inspecting (and unmodified).As discussed previously, if reaching that (or more than) can be used for cache memory Local storage 412 threshold quantity, then file system 400 can perform expeling process (such as described below) to discharge this Memory space in ground memory 412 is continued with allowing file to prefetch (cache), or alternatively, file system 400 can stop Only by cache memory in local storage 412.Storage threshold quantity can be used as total memory space in local storage 412 Percentage calculate or may be designated as the fixed storage space amount in local storage 412.If moreover, cached text The total number of part reaches the threshold value (for example, 500,1,000,5,000 etc.) of the upper limit for the cached file for indicating to be allowed, So file system 400 can stop high speed buffer storage file.
After cache recently accessed file 442, such as described above, file system 400 can then at a high speed Caching is recently with giving the predetermined number file of (login) users to share (such as by using with giving (login) use Family is associated corresponding " sharedWithMeDate " file attribute of the file of (being possessed by user)), for example, recently through shared text Part 444.For example, if being 25 by the nearest predetermined number through shared file 444 of cache, then file system 400 cacheable (and previously selected or be accessed recently and not high due to File Open, by nail with given users to share recently Speed caching) 25 files.In exemplary embodiment, file system 400 can be shared the nearest warp of cache in this way File 444 is untill cache predetermined number is nearest through shared file (for example, 25 files).In other embodiments In, as demonstrated in Figure 4, the cache recently through shared file 444 can be delayed with the high speed to nearest accessed file 442 Deposit merging.For example, if by 50 files of cache predetermined number, then file system 400 can be for given user In nearest modified file, recently through inspecting file and/or recently through being replaced between shared file until cache Untill predetermined number file (50 files).Or, if reaching that (or more than) can be used for the storage of cached file The threshold quantity in space, then file system 400 can stop high speed buffer storage file.
After to predetermined number, the cache through shared file 444 is completed recently, such as just described, file System 400 can then cache " correlation " file 446.Associated documents 446 can be and one or more previously cached texts Part (for example, open file 420, through follow closely selection part 430, recently accessed file 442 and/or recently through shared file 444) Related file.For example, associated documents 446 can be with the file in previous cached file identical catalogue. In other embodiments, associated documents 446 can be the file with previous cached file identical file type.Again In some embodiments, other criterions can be used to determine one or more associated documents of previous cached file.
In file system 400, the several method for cache associated documents 446 is possible.In a reality Apply in scheme, it may be determined that it is each previously cached file all associated documents 446 (with those file phases of cache Same order), and all associated documents 446 of given previously cached file can be next previously through at a high speed in cache It is cached before the associated documents 446 of cache file.For example, if three files of previous cache:First Individual is file A, second to be file B and the 3rd be file C, then in this embodiment, file A all associated documents It will be cached before high speed buffer storage file B or file C any associated documents 446.Similarly, file B all phases Closing file 446 will be cached before high speed buffer storage file C any associated documents.Therefore, file C associated documents 446 will finally be cached, i.e. associated documents 446, follow-up then file B associated documents in high speed buffer storage file A After 446.
In another embodiment, can by the associated documents 446 in each of previous cached file it Between carry out alternately and cache associated documents 446, for example pass through each previously cached file of cache in turn One associated documents.Illustrating for previous cached File A, file B and file C is reused, in this example In, a cacheable file A associated documents, a follow-up then file B associated documents, follow-up then file C One associated documents, then repeats the sequence.In this method, for example it can be used with similar mode as described above Some criterions (such as " lastViewedByMeDate " attribute, " modifiedByMeDate " attribute and/or " sharedWithMeDate " attribute) determine the given previously cached text of cache (for example, each repeatedly locate) The order of the associated documents 446 of part.
When cache associated documents 446, the process can be continued until all associated documents 446 of cache, warp The number of high speed buffer storage file reaches cached file threshold number or cached file (file 420, the warp of opening Nail selection part 430, recently accessed file 442, recently through shared file 444 and associated documents 446) used the number of threshold quantity According to untill storing (in local storage 412).If moreover, with described over-over mode cache associated documents 446, that Once also all associated documents 446 of the given previously cached file of cache, just can skip given previously warp The associated documents cache of high speed buffer storage file with carry out it is follow-up repeatedly.
In certain embodiments, the set of associated documents 446 can for greatly (for example, with local storage 412 can Compared with cache memories store space).In other embodiments, can be difficult to (or can not possibly) determine really with previously passing through The set of the related associated documents 446 of high speed buffer storage file the, because document directory structure (example of the not good given user of definition Such as, the file of all users is stored in single catalogue or decimal destination directory).In such example, file system 400 can be through Configure to abandon cache associated documents.
In other embodiments, associated documents 446 can otherwise be determined.For example, given previously cached text The associated documents 446 of part can be included in the subdirectory or parent directory of the previously catalogue that cached file is located therein The file included in (for example, its not root).In other embodiments, associated documents can be determined in still other mode 446.For example, associated documents 446 can include the file in the catalogue for being located at and being browsed by user (user of login).Depending on specific Embodiment, several other methods can be used to determine associated documents 446.
As indicated above, caching to the file of local storage 412 can limit by one or more.For example, this The amount of memory space in ground memory 412 available for cache memory can be limited.In some embodiments, can will be local Amount of memory in memory 412 available for cache memory is defined as fixed storage space amount.In other embodiments, Amount of memory in local storage 412 available for cache memory can be defined as always depositing in local storage 412 Store up the percentage in space.In still other embodiments, the number for the cached file that can be stored in local storage 412 The threshold number of cached file can be limited to.No matter to determine to can be used for file slow at a high speed in local storage 412 The criterion of the amount in the space deposited is how, all will occur wherein by cache memory be defined as " expire " so as to indicate can not high speed Cache the situation of extra file.In such situation, drive for example can be performed in file system 400 with manner described below Except process (is indicated) by the arrow 460 in Fig. 4.
In exemplary embodiment, when it is determined that the file cache included in local storage 412 is Man Shi, it is essentially the priority Layer for being once used to file of the cache included in file cache that can be used The priority level of secondary inverse level drives away file.The number for the file driven away will depend on particular.Citing For, file can be driven away untill discharging the given amount of storage available for cache memory.In other embodiments, it can drive Except file is untill a certain percentage in release general act cache memories store space.In still other embodiments, File can be driven away untill the file cache amount of memory needed for release cache specific file.Again In some embodiments, file can be driven away until the number of cached file is less than untill driving away threshold value.It can be used several Other methods determine the number (data volume) of the file to be driven away.
It can be further determined that by the corresponding nearest timestamp of file from cache memory and drive away the file Order.For example, when high speed buffer storage file first, it can be assigned and indicate its timestamp (date/time when being cached Stamp).In certain embodiments, when accessing cached file every time, it is corresponding slow through high speed to reflect that its timestamp may be updated Deposit the time of the last access (inspect and/or change) of file.Therefore, driving away process 460 can not be with cached file quilt The definite reversed sequence of cache drives away the cached file, because the process of expeling can be based on nearest timestamp (timestamp of the time from cache or from the timestamp accessed recently).
In an example embodiment, driving away process 460 can be slow at a high speed from the file in local storage 412 in the following manner Rush memory and drive away file.Associated documents 446 can be driven away first, wherein the associated documents 446 with oldest timestamp first by Drive away and the associated documents with newest timestamp are finally purged.As indicated above, once the file of release scheduled volume is high Fast buffer storage memory space, just can interrupt file and drive away process 460.In this example, once driving away all slow through high speed Associated documents 446 are deposited, just can start to drive away recently with oldest timestamp through shared file 444, proceed to has in the reverse order Newest timestamp it is nearest through shared file 444.Again, once the file cache storage of release scheduled volume is empty Between, it just can interrupt file and drive away process 460.Once drive away all cached nearest through shared file 444, just can be most Old timestamp starts to drive away accessed file 442 recently, proceeds in the reverse order with the nearest accessed of newest timestamp File 442.Again, once the file cache memory space of release scheduled volume, just can interrupt file and drive away process 460.In other embodiments, it can merge cached nearest through shared file 444 and cached nearest warp The expeling of accessing file 442, wherein the two cached file sets be based on its timestamp and from oldest timestamp to Newest timestamp is purged as a group.In the mode similar to discussed herein above, once the file of release scheduled volume is high Fast buffer storage memory space, just can interrupt file expeling.Certainly, several other methods can be used slow at a high speed from file Rush memory and drive away file.
The text needed for driving away All Files 440 from the file cache of local storage 412 and not discharging yet In the case of the amount in part cache memories store space, can provide request user to user (for example, the user logged in) will File cancels nail choosing and/or closes file so as to the notice for allowing cache memory to proceed.In other embodiments, Can by file system 400 automatically by file cancel nail choosing, for example by using with for being driven from file cache Except the similar criterion of the criterion of file 440.For example, timestamp (oldest to newest) that can be based on file and automatically by it Cancel nail choosing.
Fig. 5 is the flow chart for illustrating the method related to file disposal.As demonstrated in Figure 5, computing device is set up With at least a portion (frame 500) of the communication link between the storage system that is operated in cloud environment.
As demonstrated in Figure 5, storage represents the listed files of multiple files, wherein at least first of the multiple file Point it is stored in the local storage of the computing device and the Part II of the multiple file is stored in the storage system In (frame 510).In certain embodiments, the listed files can be stored at the cloud environment and be accessed from the cloud environment. In certain embodiments, the listed files can be stored at the computing device and be accessed from the computing device.
Specified based on the file class associated with the file from the listed files from the listed files The offline availability (frame 520) of the file.In certain embodiments, it can be specified based on the classification associated with the file The file.In certain embodiments, can based on by user via the instruction that the computing device is triggered specify the file. In certain embodiments, can acquiescently or the cached state based on the file and specify the file.
Fig. 6 A to 6C are the flow charts for illustrating the method related to cache memory.Shown in Fig. 6 A to 6C File method of disposal (for example) described herein can be used together with implementing each other in method.Such as institute's exhibition in Fig. 6 A Show, at least a portion (frame 600) for the communication link for setting up computing device between the storage system that is operated in cloud environment.
As shown in Fig. 6 A, the request (frame 605) for opening the first file being stored in the storage system is received.Ring Should be in the request for opening first file, by the first cache memory being locally stored in the computing device In device, first file is with the first priority cache (frame 610).In certain embodiments, first file Can be with one of multiple files of first priority cache.The multiple file is (preferential with described first Level) it may be in response to open the respective request of each of the multiple file and be cached in the described of the computing device In local storage.
Also as shown in Fig. 6 A, receiving makes the second file being stored in the storage system be asked as available offline Ask (frame 615).In response to making second file turn into the offline available request, by second cache memory in In the local storage of the computing device (frame 620), second file is with less than first priority Two priority caches.In certain embodiments, second file can be with second priority cache One of multiple files.The multiple file (having second priority) is in response to every in the multiple file in making One turns into offline available respective request and is cached in the local storage of the computing device.
As further shown in Fig. 6 A, the 3rd cache memory that predictably will be stored in the storage system In the local storage of the computing device (frame 625).3rd file can be based on the 3rd file one or Multiple attributes and select, and the 3rd file can less than second priority third priority and cache.
3rd file (at frame 625) can be with one of multiple files of the third priority cache. In certain embodiments, it can be included with the multiple file of third priority cache:Based on corresponding last modification day Phase and cache the first predetermined number file;Based on accordingly finally inspecting the date and the predetermined number of cache second is literary Part;The predetermined number file of cache the 3rd based on the corresponding shared date, and/or based on its within the storage system with One or more previously cached files relation and the predetermined number file of cache the 4th.In other embodiments, It can be included with the multiple file of third priority cache by based on the text being stored in the storage system Date high speed buffer storage file is corresponding to what it is based on the file finally inspects date high speed buffer storage file for the corresponding last modification of part Between carry out cache predetermined number file repeatedly.
In certain embodiments, (Fig. 6 A's) described first file, second file and the 3rd file can be based on File available cache memories store in its respective priority and the local storage based on the computing device The amount of capacity and be cached in the local storage of the computing device.For example, can (example in order of priority Such as, for the file of identical cache priority, also use date is stabbed) high speed buffer storage file, until meeting or high more than file Fast cache threshold (for example, number of files, data volume and/or etc.) untill, such as it is discussed herein.
As indicated above, method illustrated in Fig. 6 B can come together to implement together with Fig. 6 A method, and for The purpose illustrated, will so be described.As demonstrated in Figure 6 B, for opening and being stored in the storage system is received The request (frame 630) of four files.In response to receiving the request for opening the 4th file, if by the described 4th Cache memory will exceed cache memory threshold value in the local storage of the computing device, then from described The local storage of computing device drives away (removal) described 3rd file (frame 635).Will be described with first priority 4th cache memory is in the local storage of the computing device (frame 640).
As indicated above, method illustrated in Fig. 6 C can be (with similar to method illustrated in Fig. 6 B Mode) come together to implement together with Fig. 6 A method, and for illustrating purposes, will so be described.As in Fig. 6 C Shown, receive the request (frame 645) that the 3rd file is opened from the local storage of the computing device.In response to The request of frame 645, described first is changed into by the cache priority of the 3rd file from the third priority Priority (frame 650), and change finally inspecting the date (655) for the 3rd file.
Fig. 7 is the flow chart for illustrating the method related to the expeling of cached file.As shown in fig. 7, At least a portion (frame 700) for the communication link that computing device is set up between the storage system that is operated in cloud environment.It is described Computing device can include the local storage being configured to from the storage system high speed buffer storage file.Reception has met or exceeded The instruction (frame 710) of the cache memory threshold value of the local storage of the computing device.In response to the finger at frame 710 Show, from the local storage of the computing device drive away at least a portion (such as) of one group of cached file until Meet untill driving away threshold value.Described at least a portion of described group of cached file can be from lowest cache priority Drive away to highest cache priority and based on the corresponding timestamp of each file in described group of cached file And drive away.As shown in fig. 7, driving away preferential with first cache priority or second cache The confirmation (730) from user is asked before the file of level.In certain embodiments, there can not be the first cache driving away The file (file of opening) of priority or with the second cache priority file (through follow closely selection part) before ask this Confirm.
In certain embodiments, described group of cached file can include first with the first cache priority File, first file is in response to opening the request of first file and cache.Described group of cached text Part can also include the second file with the second cache priority, and second file is in response to making second file The cache as offline available request, second priority is less than first priority.Described group slow through high speed Deposit file and can further include the 3rd file with the 3rd cache priority, the 3rd file is based on last modification Date and it is last inspect at least one of date and cache, the 3rd cache priority is high less than described second Fast cache priority level.The cached file still can further include the 4th text with the 4th cache priority Part, the 4th file cache based on the date for sharing the file, the 4th cache priority is less than 3rd cache priority.Described group of cached file also can further include preferential with the 5th cache 5th file of level, the 5th cache priority is less than the 4th cache priority, and the 5th file is Based on its within the storage system with first file, second file, the 3rd file and/or it is described 4th text The relation of at least one of part and cache.
So that with the similar mode discussed above for Fig. 6 C, can receive access box 720 described group is cached The request of file in file, wherein asking the file of access has the high speed for being less than the highest cache priority Cache priority level.In response to this request, the cache priority that can will ask the file accessed is changed into described Highest cache priority (for example, first cache priority).
In general aspect, a kind of computer-readable storage medium can be configured to store causes one or more upon execution The instruction of the process of computing device one.The process can comprising set up computing device and the storage system that is operated in cloud environment it Between communication link at least a portion.The process can represent the use of the listed files of multiple files comprising access comprising storage Family interface, wherein at least Part I of the multiple file be stored in it is in the local storage of the computing device and described many The Part II of individual file is stored in the storage system.
In another general aspect, a kind of computer-readable storage medium can be configured to store cause upon execution one or The instruction of multiple processes of computing device one.The process can include and set up computing device and the storage system operated in cloud environment At least a portion of communication link between system.The process can represent the listed files of multiple files, wherein institute comprising storage State multiple files at least Part I be stored in the local storage of the computing device and the multiple file second Part is stored in the storage system, and can include in response at least one of instruction for being received from the computing device or The part of the listed files is specified based on the file class associated with least a portion of the listed files Offline availability.
In another aspect, a kind of equipment can operate in cloud environment comprising being configured to and be configured to store multiple texts The storage system of part.At least Part I of the multiple file is stored in the storage system, and the multiple file Part II is synchronous in the local storage of computing device.In some embodiments, the storage system includes file pipe Device is managed, the file manager is configured to provide the user for including the list for representing the multiple file to the computing device Interface.
In another general aspect, a kind of computer-readable storage medium can be configured to store cause upon execution one or The instruction of multiple processes of computing device one.The process can include and set up computing device and the storage system operated in cloud environment At least a portion of communication link between system.The process can be filled comprising the multiple files of storage and in response to being calculated from first The download request put and a part for the multiple file is sent from storage system to the first computing device for cache At first computing device.Sent to the second computing device comprising the listed files for representing the multiple file and include institute State the user interface of the part being cached at the first computing device of multiple files.
The embodiment of various technologies described herein can be with Fundamental Digital Circuit or with computer hardware, solid Part, software are implemented with its combination.Embodiment can be embodied as computer program product, i.e. visibly be embodied in information load In body (for example, being embodied in machine-readable storage device (computer-readable media)) with by data processing equipment (for example, can compile Thread processor, a computer or multiple computers) perform or control the data processing equipment operation computer program.Cause This, computer-readable storage medium can be configured to store causes processor (for example, the processing at host apparatus upon execution Processor at device, computing device) perform a process instruction.Compiling language (can be included with any type of programming language Speech or interpretive language) write computer program (for example, computer program as described above), and portion can be come in any form The computer program is affixed one's name to, including is deployed as stand-alone program or is deployed as module, component, subroutine or is adapted in a computing environment The other units used.Computer program can be deployed with a computer or at a site or across multiple Site is distributed and handled on multiple computers of interconnection of telecommunication network.
Method and step can be performed by one or more programmable processors of execution computer program, with by input data Operated and produce output and carry out perform function.Procedure can also be by dedicated logic circuit (for example, FPGA (field-programmables Gate array) or ASIC (application specific integrated circuit)) perform, and equipment can be embodied as the dedicated logic circuit.
For example, the processor for being suitable for handling computer program includes general purpose microprocessor and special microprocessor two Person, and any kind of digital computer one or more any processors.In general, processor will be from read-only storage Or random access memory or both receives instruction and data.The element of computer may include at least one for execute instruction Processor and one or more storage arrangements for store instruction and data.In general, computer can also include and be used to deposit Store up one or more mass storage devices (for example, disk, magneto-optic disk or CD) of data or through being operatively coupled with from described One or more mass storage devices receive data or transmit data to it or not only received data but also transmitted data.It is suitable for embodying Computer program instructions and the information carrier of data include the nonvolatile memory of form of ownership, for example, include:Partly lead Body memory device, such as EPROM, EEPROM and flash memory device;Disk, for example, internal hard or can load and unload magnetic Disk;Magneto-optic disk;And CD-ROM and DVD-ROM CDs.The processor and memory can by supplemented or simultaneously Enter in dedicated logic circuit.
Interacted to provide with user, embodiment may be implemented on computer, the computer has for user The display device of display information is (for example, cathode-ray tube (CRT), light emitting diode (LED) or liquid crystal display (LCD) monitoring Device) and the user can so as to computer provide input keyboard and indicator device (for example, mouse or trace ball).Also it can make There is provided with the device of other species and to be interacted with user;For example can be any form there is provided the feedback to the user Sensory feedback, for example, visual feedback, audio feedback or touch feedback;And the input from the user can be in any form To receive, sound, voice or sense of touch are included.
Embodiment may be implemented in computing system and (aft-end assembly be included, for example, being used as data server;Or include centre Part component, for example, apps server;Or comprising front end assemblies, for example, can come to hand over embodiment via it with user Mutual graphical user interface or the client computer of Web browser;Or such rear end, any group of middleware or front end assemblies Close) in.Component can be interconnected by any digital data communications form or media (for example, communication network).The example bag of communication network Containing LAN (LAN) and wide area network (WAN), such as internet.
Referring to for " embodiment " or " embodiment " is meant to implement with reference to described in the whole text in this specification Special characteristic, structure or characteristic described by scheme are contained at least one embodiment.Therefore, in this specification in the whole text The appearance of phrase " in one embodiment " or " in one embodiment " are not necessarily all referring to same implementation in each place Scheme.In addition, term "or" is it is intended to mean that inclusive "or" rather than alternative "or".
Although having illustrated and having described some features of described embodiment, the technology people of art herein Member can find out many modifications, substitute, changes and equivalents now.It will be understood, therefore, that appended claims intend to cover All such modifications and changes belonged in the range of the embodiment.It should be understood that only with side for example and not limitation The embodiment is presented in formula, and can make the various changes in form and details.Equipment and/or method described herein Any part can combine in any combination, except the combination of mutual exclusion.Embodiment described herein can be included The functions of described different embodiments, component and/or the various combinations of feature and/or sub-portfolio.

Claims (20)

1. a kind of method, it includes:
At least a portion for the communication link that computing device is set up between the storage system that is operated in cloud environment;
Storage represents the listed files of multiple files, is filled wherein at least Part I of the multiple file is stored in described calculate In the local storage put and the Part II of the multiple file is stored in the storage system;And
Specified based on the file class associated with the file from the listed files from described in the listed files The offline availability of file, wherein the file from the listed files is the first file from the listed files, And the file class is web file class;
At least the second file from the listed files is specified in response to the first instruction received from the computing device Offline availability, second file is without high speed buffer storage file;And
Specify the offline available of at least the 3rd file being cached in the local storage from the listed files Property.
2. according to the method described in claim 1, wherein the storage system as the computing device main storage system And operate, and the local storage of the computing device is operated as the cache memory of the storage system.
3. the method according to claim 1 or claim 2, wherein the listed files is included:
To the reference for the web files for being produced and being stored in the storage system using weblication,
To the reference of the client file produced using the local application being installed at the computing device, and
Reference to the long-range source file of the remote source of the next comfortable cloud environment peripheral operation.
4. the method according to claim 1 or claim 2, wherein the listed files is across the computing device The single listed files of the part for distributing to the computing device of the local storage and the storage system.
5. the method according to claim 1 or claim 2, wherein the computing device is to be connected remotely to the cloud ring First computing device in border,
Methods described further comprises:
It is being connected remotely at the second computing device of the cloud environment access the listed files, is being that described second calculates dress The listed files when place of putting is accessed is identical with listed files when being to access at first computing device.
6. the method according to claim 1 or claim 2, wherein described specify the file to be included in not from the meter Calculate in the case that device receives clearly instruction and the file from the listed files is specified based on the file class Offline availability.
7. the method according to claim 1 or claim 2, wherein the file from the listed files be based on The file class and be designated as be in offline upstate in the first file, the listed files include the second file, Second file is accessed and referred at the local storage of the computing device recently based on second file It is set in the offline upstate, the listed files is included to be referred in response to the instruction from the computing device It is set to the 3rd file in the offline upstate, and the listed files is included and is designated as in available shape online The 4th file in state.
8. a kind of method, it includes:
At least a portion for the communication link that computing device is set up between the storage system that is operated in cloud environment;
Receive the request for opening the first file being stored in the storage system;
The request in response to opening first file, by first cache memory in the sheet of the computing device In ground memory, first file is with the first priority cache;
Receive the offline available request of the second file for making to be stored in the storage system;
In response to making the offline available request of second file, second cache memory is filled in described calculate In the local storage put, second file is with the second priority cache less than first priority 's;And
The 3rd cache memory that predictably will be stored in the storage system is in the described local of the computing device In memory, the 3rd file is one or more attributes based on the 3rd file and selected that the 3rd file is With the third priority cache less than second priority.
9. method according to claim 8, wherein first file, second file and the 3rd file are bases File available cache memory in its respective priority and the local storage based on the computing device is deposited Store up the amount of capacity and be cached in the local storage of the computing device.
10. the method according to claim 8 or claim 9, methods described further comprises:
Receive the request for opening the 4th file being stored in the storage system;And
In response to receiving the request for opening the 4th file:
If the 4th cache memory will be exceeded into file at a high speed in the local storage of the computing device Cache threshold, then drive away the 3rd file from the local storage of the computing device;And
With first priority by the 4th cache memory in the local storage of the computing device.
11. the method according to claim 8 or claim 9, wherein first file is with first priority One of multiple files of cache, the multiple file is in response in the phase for opening each of the multiple file It should ask and be cached in the local storage of the computing device.
12. the method according to claim 8 or claim 9, wherein second file is with second priority One of multiple files of cache, the multiple file is in response in making each of the multiple file offline may be used Respective request and be cached in the local storage of the computing device.
13. the method according to claim 8 or claim 9, wherein:
3rd file is with one of multiple files of the third priority cache;And
Included with the multiple file of third priority cache:
Cache the first predetermined number file based on the corresponding last modification date;
Based on accordingly finally inspect the date and cache the second predetermined number file;And
The predetermined number file of cache the 3rd based on the corresponding shared date.
14. method according to claim 13, wherein entering one with the multiple file of third priority cache Step comprising based on its within the storage system with one or more previously cached files relation and cache the 4th Predetermined number file.
15. the method according to claim 8 or claim 9, wherein:
3rd file is with one of multiple files of the third priority cache;And
Included with the multiple file of third priority cache by slow at a high speed based on the corresponding last modification date Deposit file and carry out cache predetermined number file repeatedly to based on corresponding finally inspect between date high speed buffer storage file.
16. the method according to claim 8 or claim 9, methods described further comprises:
Receive the request that the 3rd file is opened from the local storage of the computing device;
3rd file is changed into first priority from the third priority;And
Change the last of the 3rd file and inspect the date.
17. a kind of method, it includes:
At least a portion for the communication link that computing device is set up between the storage system that is operated in cloud environment, the calculating Device includes the local storage being configured to from the storage system high speed buffer storage file;
Receive met or more than the computing device the local storage cache memory threshold value instruction;And
Indicated in response to described, one group of cached file is driven away at least from the local storage of the computing device A part is untill meeting expeling threshold value, and described at least a portion of described group of cached file is slow from minimum high speed Priority is deposited to highest cache priority and based on the corresponding time of each file in described group of cached file Stab and drive away.
18. method according to claim 17, wherein described group of cached file is included:
The first file with the first cache priority, first file is in response to opening asking for first file Ask and cache;
The second file with the second cache priority, second file is in response to making second file offline may be used Request and cache, second cache priority are less than first cache priority;
The 3rd file with the 3rd cache priority, the 3rd file is inspected based on the last modification date and finally At least one of date and cache, the 3rd cache priority are less than second cache priority;
The 4th file with the 4th cache priority, the 4th file is high based on the date for sharing the file Speed caching, the 4th cache priority is less than the 3rd cache priority;And
The 5th file with the 5th cache priority, the 5th cache priority is slow at a high speed less than the described 4th Deposit priority, the 5th file based on its within the storage system with first file, second file, described The relation of at least one of 3rd file and the 4th file and cache.
19. method according to claim 18, methods described further comprises driving away with first cache The confirmation from user is asked before the file of priority or second cache priority.
20. the method according to any claim in claim 17 or claim 18, methods described further comprises:
The request of the file in described group of cached file of access is received, the file of request access has less than described The cache priority of highest cache priority;And
In response to the request, the cache priority of the file of access will be asked to change into the highest at a high speed Cache priority level.
CN201380023770.1A 2012-05-05 2013-05-03 File disposal in file system based on cloud Active CN104412249B (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201261643279P 2012-05-05 2012-05-05
US61/643,279 2012-05-05
US201261736722P 2012-12-13 2012-12-13
US61/736,722 2012-12-13
US13/841,368 2013-03-15
US13/841,368 US9594686B2 (en) 2012-05-05 2013-03-15 File handling within a cloud-based file system
PCT/US2013/039411 WO2013169583A1 (en) 2012-05-05 2013-05-03 File handling within a cloud-based file system

Publications (2)

Publication Number Publication Date
CN104412249A CN104412249A (en) 2015-03-11
CN104412249B true CN104412249B (en) 2017-10-24

Family

ID=49513551

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380023770.1A Active CN104412249B (en) 2012-05-05 2013-05-03 File disposal in file system based on cloud

Country Status (4)

Country Link
US (1) US9594686B2 (en)
KR (1) KR102097300B1 (en)
CN (1) CN104412249B (en)
WO (1) WO2013169583A1 (en)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10409445B2 (en) 2012-01-09 2019-09-10 Activevideo Networks, Inc. Rendering of an interactive lean-backward user interface on a television
US9800945B2 (en) 2012-04-03 2017-10-24 Activevideo Networks, Inc. Class-based intelligent multiplexing over unmanaged networks
US9594686B2 (en) 2012-05-05 2017-03-14 Google Inc. File handling within a cloud-based file system
US20140136578A1 (en) * 2012-11-15 2014-05-15 Microsoft Corporation Techniques to manage virtual files
WO2014145921A1 (en) 2013-03-15 2014-09-18 Activevideo Networks, Inc. A multiple-mode system and method for providing user selectable video content
EP3005712A1 (en) 2013-06-06 2016-04-13 ActiveVideo Networks, Inc. Overlay rendering of user interface onto source video
US20150039659A1 (en) * 2013-07-30 2015-02-05 William F. Sauber Data location management agent using remote storage
US10831731B2 (en) * 2014-03-12 2020-11-10 Dell Products L.P. Method for storing and accessing data into an indexed key/value pair for offline access
US9002990B1 (en) 2014-03-12 2015-04-07 Instart Logic, Inc. Fast cache purge in content delivery network
US9549040B2 (en) 2014-03-12 2017-01-17 Instart Logic, Inc. First cache purge optimization handling of unavailable nodes
US9788029B2 (en) 2014-04-25 2017-10-10 Activevideo Networks, Inc. Intelligent multiplexing using class-based, multi-dimensioned decision logic for managed networks
WO2016032904A1 (en) * 2014-08-27 2016-03-03 Mokhtarzada Holdings, Llc Method and system for expanding storage capacity of a drive using cloud storage systems
US10523985B2 (en) * 2014-12-24 2019-12-31 Activevideo Networks, Inc. Managing deep and shallow buffers in a thin-client device of a digital media distribution network
US10963430B2 (en) * 2015-04-01 2021-03-30 Dropbox, Inc. Shared workspaces with selective content item synchronization
US9922201B2 (en) 2015-04-01 2018-03-20 Dropbox, Inc. Nested namespaces for selective content sharing
US20160349967A1 (en) * 2015-05-28 2016-12-01 Rockwell Automation Technologies, Inc. Offline investigation in an industrial automation environment
US9851965B2 (en) 2015-06-19 2017-12-26 Microsoft Technology Licensing, Llc Storing optimization for customization resources
US11892981B2 (en) * 2015-08-28 2024-02-06 Airwatch Llc On demand file sync
US11108883B2 (en) 2015-09-04 2021-08-31 Google Llc Systems and methods for remote network topology discovery
US9479567B1 (en) 2015-10-29 2016-10-25 Dropbox, Inc. Synchronization protocol for multi-premises hosting of digital content items
TWI581112B (en) * 2015-12-23 2017-05-01 南臺科技大學 Tool system for cloud hard disk and method for operating the same
KR102222375B1 (en) * 2015-12-23 2021-03-03 삼성전자주식회사 Method for file management and an electronic device thereof
US10305729B2 (en) * 2016-09-02 2019-05-28 Nokia Of America Corporation Systems and methods of providing an edge cloud storage and caching system operating over a local area network
US10341436B2 (en) * 2016-09-14 2019-07-02 Dell Products L.P. Using cloud storage as temporary cache for backup
CN106445467A (en) * 2016-09-28 2017-02-22 广东芬尼克兹节能设备有限公司 Operating variable synchronization method and system
US10248659B2 (en) 2016-10-04 2019-04-02 International Business Machines Corporation Consistent hashing configurations supporting multi-site replication
US10891233B2 (en) * 2018-06-28 2021-01-12 Intel Corporation Intelligent prefetch disk-caching technology
US11290531B2 (en) 2019-12-04 2022-03-29 Dropbox, Inc. Immediate cloud content item creation from local file system interface
US11150840B2 (en) * 2020-02-09 2021-10-19 International Business Machines Corporation Pinning selected volumes within a heterogeneous cache
US11956156B2 (en) * 2020-09-10 2024-04-09 Intel Corporation Dynamic offline end-to-end packet processing based on traffic class

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011023134A1 (en) * 2009-08-28 2011-03-03 Beijing Innovation Works Technology Company Limited Method and system for managing distributed storage system through virtual file system
CN101997929A (en) * 2010-11-29 2011-03-30 北京卓微天成科技咨询有限公司 Data access method, device and system for cloud storage
CN102292698A (en) * 2009-02-04 2011-12-21 思杰系统有限公司 Methods and systems for automated management of virtual resources in a cloud computing environment
CN103180842A (en) * 2010-10-28 2013-06-26 Sk电信有限公司 Cloud computing system and data synchronization method therefor

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6345318B1 (en) * 1998-10-07 2002-02-05 International Business Machines Corporation System for maintaining a user-modifiable confirmation message configuration record that specifying with respect to a plurality of operations whether to communicate a confirmation message
US20030055828A1 (en) * 2001-03-29 2003-03-20 Koch Kevin S. Methods for synchronizing on-line and off-line transcript projects
US6687793B1 (en) * 2001-12-28 2004-02-03 Vignette Corporation Method and system for optimizing resources for cache management
EP1595259A1 (en) 2003-02-12 2005-11-16 Koninklijke Philips Electronics N.V. Storage medium with reserved area for file system data and application start-up data
KR20050122251A (en) * 2003-04-14 2005-12-28 코닌클리케 필립스 일렉트로닉스 엔.브이. Allocation class selection for file storage
US7802065B1 (en) * 2004-05-03 2010-09-21 Crimson Corporation Peer to peer based cache management
US8010498B2 (en) 2005-04-08 2011-08-30 Microsoft Corporation Virtually infinite reliable storage across multiple storage devices and storage services
US20070220417A1 (en) * 2006-03-17 2007-09-20 Sonolink Communications Systems, Llc System and method for editing online documents
US7711890B2 (en) * 2006-06-06 2010-05-04 Sandisk Il Ltd Cache control in a non-volatile memory device
US7849267B2 (en) 2006-06-30 2010-12-07 Moka5, Inc. Network-extended storage
KR101129092B1 (en) * 2008-07-31 2012-03-26 에스케이플래닛 주식회사 Web service providing system and web service providing method
US8762642B2 (en) 2009-01-30 2014-06-24 Twinstrata Inc System and method for secure and reliable multi-cloud data replication
EP2309701A1 (en) 2009-10-06 2011-04-13 Telefónica, S.A. Data storage device
US8788628B1 (en) * 2011-11-14 2014-07-22 Panzura, Inc. Pre-fetching data for a distributed filesystem
US8996647B2 (en) 2010-06-09 2015-03-31 International Business Machines Corporation Optimizing storage between mobile devices and cloud storage providers
US9361395B2 (en) * 2011-01-13 2016-06-07 Google Inc. System and method for providing offline access in a hosted document service
US20120185767A1 (en) * 2011-01-14 2012-07-19 Apple Inc. Modifying application behavior
US8924500B2 (en) * 2011-03-29 2014-12-30 Amazon Technologies, Inc. Local storage linked to networked storage system
US9355115B2 (en) * 2011-11-21 2016-05-31 Microsoft Technology Licensing, Llc Client application file access
US9773051B2 (en) * 2011-11-29 2017-09-26 Box, Inc. Mobile platform file and folder selection functionalities for offline access and synchronization
US9594686B2 (en) 2012-05-05 2017-03-14 Google Inc. File handling within a cloud-based file system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102292698A (en) * 2009-02-04 2011-12-21 思杰系统有限公司 Methods and systems for automated management of virtual resources in a cloud computing environment
WO2011023134A1 (en) * 2009-08-28 2011-03-03 Beijing Innovation Works Technology Company Limited Method and system for managing distributed storage system through virtual file system
CN103180842A (en) * 2010-10-28 2013-06-26 Sk电信有限公司 Cloud computing system and data synchronization method therefor
CN101997929A (en) * 2010-11-29 2011-03-30 北京卓微天成科技咨询有限公司 Data access method, device and system for cloud storage

Also Published As

Publication number Publication date
WO2013169583A1 (en) 2013-11-14
US20130297887A1 (en) 2013-11-07
CN104412249A (en) 2015-03-11
KR20150013191A (en) 2015-02-04
US9594686B2 (en) 2017-03-14
KR102097300B1 (en) 2020-05-29

Similar Documents

Publication Publication Date Title
CN104412249B (en) File disposal in file system based on cloud
US11599546B2 (en) Stream browser for data streams
US9916390B2 (en) Managing web browser cache for offline browsing
US8386955B1 (en) User-optimized content for web browsing windows
AU2021232817A1 (en) Methods, systems, apparatus, products, articles and data structures for cross-platform digital content
RU2659481C1 (en) Optimized architecture of visualization and sampling for batch processing
US20130019159A1 (en) Mobile web browser for pre-loading web pages
US9110568B2 (en) Browser tab management
TWI450107B (en) Method and computer readable storage media for web data usage platform
JP6186015B2 (en) Share content items
US9177022B2 (en) User pipeline configuration for rule-based query transformation, generation and result display
US20170168959A1 (en) Managing and organizing web browser cache
CN104133852B (en) Web access method, device, server and terminal
CN107908472A (en) Data synchronization unit, method and computer-readable recording medium
US20160170720A1 (en) Bi-directional editing between visual screen designer and source code
CN111901294A (en) Method for constructing online machine learning project and machine learning system
CN105378728B (en) Device and method for indicating and manipulating metadata
US10210172B1 (en) File system integration and synchronization between client and server
CN109661662A (en) Query result is subjected to ranking for correlation using external context
CN102520841A (en) Collection user interface
CN107992529A (en) A kind of key word association method and apparatus
CN107977469A (en) To the method, apparatus and terminal being managed recently using file
JP2007133568A (en) Multilayer work support device, and allocation method, display method, and program for the same multilayer work support device
US10242102B2 (en) Network crawling prioritization
CN106503009A (en) Show the transfer method and device of data in the page

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: American California

Patentee after: Google limited liability company

Address before: American California

Patentee before: Google Inc.