CN104685485B - The shared file preserved with synchronous electronics - Google Patents

The shared file preserved with synchronous electronics Download PDF

Info

Publication number
CN104685485B
CN104685485B CN201380029205.6A CN201380029205A CN104685485B CN 104685485 B CN104685485 B CN 104685485B CN 201380029205 A CN201380029205 A CN 201380029205A CN 104685485 B CN104685485 B CN 104685485B
Authority
CN
China
Prior art keywords
file
cloud
electronics
electronics save
copy
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
CN201380029205.6A
Other languages
Chinese (zh)
Other versions
CN104685485A (en
Inventor
A·贝森
D·卡特穆尔
H·彻农
A·德内尤
H·穆尔勒尔
F·帕佩
R·彻内德尔
R·沙尔玛
H·瓦斯赦赫
D·伍尔特兹
A·密瑞斯特安
M·J·普罗考皮奥
M·索尔维洛
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
Priority claimed from US13/453,678 external-priority patent/US9239846B2/en
Priority claimed from US13/453,860 external-priority patent/US20130282830A1/en
Priority claimed from US13/453,748 external-priority patent/US9244934B2/en
Priority claimed from US13/453,909 external-priority patent/US9529818B2/en
Priority claimed from US13/453,799 external-priority patent/US8949179B2/en
Priority to CN201810489389.9A priority Critical patent/CN108717454B/en
Priority to CN201810490633.3A priority patent/CN108804213B/en
Application filed by Google LLC filed Critical Google LLC
Priority to CN201810489494.2A priority patent/CN108710533B/en
Publication of CN104685485A publication Critical patent/CN104685485A/en
Publication of CN104685485B publication Critical patent/CN104685485B/en
Application granted granted Critical
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • 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/178Techniques for file synchronisation in file systems
    • 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/184Distributed file systems implemented as replicated file system

Abstract

Various aspects of the disclosure be directed to make electronics save file between mysorethorn body and multiple computers, system, device and/or user it is shared with synchronize the architecture, method, system and the structure that become easier to.A kind of specific examplanary architecture includes determining while the file system change in cloud file system and client file systems, in response to determining that file system change necessary to file system operation serial sort, it is performed while with file system operation, to cause cloud file system synchronous with client computers file systems.

Description

The shared file preserved with synchronous electronics
Citation of related applications
Following U.S. Patent application is to be submitted with the application in same date, is transferred to identical assignee, and wrap Containing in some aspects with the relevant theme of the theme of the application.These patent applications are incorporated herein by reference.
Sequence number application on April 23rd, 13/453,678,2012, attorney docket 110822-78062;
Sequence number application on April 23rd, 13/453,860,2012, attorney docket 110822-78067;
Sequence number application on April 23rd, 13/453,909,2012, attorney docket 110822-78063;
Sequence number application on April 23rd, 13/453,799,2012, attorney docket 110822-78182;With
Sequence number application on April 23rd, 13/453,748,2012, attorney docket 110822-78183.
Technical field
This disclosure relates to it is related to electronics save file in mysorethorn body, server computer, desktop PC, individual calculus Machine, portable computer, mobile computer, the computer for allowing web and other computers, including tablet computer, a number Word assistant (PDA) between intelligent telephone set it is shared with it is synchronous.
Background technology
The mobile computing environment of the networking of the most of modern society of definition brings countless facilities and productivity benefit.Although it deposits In such benefit, but managing to exist simultaneously becomes increasingly in the electronics save file on numerous computers, system and device It is difficult.For example, even for most exper ienced user, record and access and be stored in or calculated across one or more office The latest edition for the electronics save file that machine, laptop computer, home computer, mobile computer and detachable disk preserve Or revised edition also becomes difficult often.This electronics save file is often simultaneously by many different user global access, use Or the fact that change, increases this difficulty.
Invention content
Briefly, various aspects of the disclosure is directed to make electronics save file in mysorethorn body and many computers, is Between system, device and/or user it is shared with synchronize the architecture, method, system and the structure that become easier to.
According to an aspect of this disclosure, electronics save file, the electronics save file are initially generated in mysorethorn body It is then replicated, and synchronous with one or more client computing systems.Similarly, the electricity generated in client computing system Sub- save file is then replicated, and synchronous with mysorethorn body and other client computing systems.
According to an aspect of this disclosure, during simultaneously operating, client determines whether electronics to be stored in cloud File download/copy to client.If file is certain types of file, then it is not downloaded/copies to client.Phase Instead, the file for the link for covering the file that electronics is stored in cloud is locallyd create in client.It is advantageously possible to make local The file that electronics preserves becomes the type for indicating that its cloud rises.It should further be appreciated that local file can be used for calling browser, to visit Ask that electronics is stored in the file in cloud, cloud can further access the file using cloud computing service.
Advantageously, and according to according to another aspect of the disclosure, it is this it is shared with synchronize be that user is manageable, from And allow the formation of shared and synchronization group and/or system.
According to another aspect of the disclosure, client computing system includes monitoring and detect respectively simultaneously to observed The local viewer (Local WATCHER) and cloud viewer (Cloud of the change of local file system and cloud file system WATCHER).The change detected be used to generate work project, and the work project is sorted and is selectively sent to more A working device (WORKER), to handle simultaneously.
According to an aspect of this disclosure, share automatically with any authorized user of Shared Folders and synchronize to be put into this common Enjoy the electronics save file in file.
According to another aspect of the disclosure, the electronics save file being put into Shared Folders is automatically saved in cloud and deposits In storage system.
According to another aspect of the disclosure, the electronics save file in shared file part is put into across multiple systems, device And network, online and offline automatic " following " user in ground.To being put into any change of the electronics save file in Shared Folders It is automatically updated and is synchronized to cloud and other computers and device.
It is to identify this public affairs further illustrated in specific embodiment part below to provide this part of the disclosure The some aspects opened.This part of the disclosure is not intended to identify the key or essential characteristic of the disclosure, is also not intended to limit and appoints What the scope of the claims.
Term " aspect " is understood to " at least one aspect ".It is illustrated for example and not limitationly here in attached drawing The above-mentioned various aspects and other various aspects of the disclosure of explanation.
Description of the drawings
Refer to the attached drawing, can be more fully understood the disclosure, in attached drawing:
Fig. 1 is the shared signal with the exemplary configurations of synchronous electronics save file described according to an aspect of this disclosure Figure;
Fig. 2 is to describe with another illustration of synchronous electronics save file to match according to the shared of another aspect of the disclosure The schematic diagram put;
Fig. 3 is shared and another illustration body of synchronous electronics save file described according to another aspect of the disclosure The schematic diagram of architecture;
Fig. 3 a-3c are to describe the illustration drag-and-drop operation according to the electronics save file of an aspect of this disclosure and synchronous shape The schematic diagram of state;
Fig. 4 a are the schematic diagrames for describing the exemplary functionality operation according to the SyncCLIENT of an aspect of this disclosure;
Fig. 4 b are described according to an aspect of this disclosure, and when generating document in cloud, then the document is sent to The schematic diagram of the illustration sequence of event during SyncCLIENT;
Fig. 4 c are to illustrate to work as to generate document by third-party application, then in the form of arriving the link of cloud or cloud website, with The schematic diagram of the illustration sequence of event when SyncCLIENT shares/synchronize the document;
Fig. 4 d are descriptions according to an aspect of this disclosure, the schematic diagram of the illustration mapping between SyncCLIENT and cloud;
Fig. 4 e are the schematic diagrames that description is synchronized according to an aspect of this disclosure, the illustration between SyncCLIENT and cloud;
Fig. 4 f are described according to an aspect of this disclosure, and what the other illustration between SyncCLIENT and cloud synchronized shows It is intended to;
Fig. 4 g are explanations and the relevant single file of multiple files in the cloud and illustration of SyncCLIENT is synchronous shows It is intended to;
Fig. 5 is the schematic block diagram for the examplanary architecture for describing the SyncCLIENT according to an aspect of this disclosure;
Fig. 5 a are the schematic block diagrams for illustrating the illustration operation overview according to the event aggregation device of an aspect of this disclosure;
Fig. 5 b are the schematic block diagrams for illustrating the illustration operation according to the event aggregation device of an aspect of this disclosure;
Fig. 5 c are the flow charts for illustrating the illustration operation overview according to the event aggregation device of an aspect of this disclosure;
Fig. 6 is illustrated according to an aspect of this disclosure, by using chart, is detected to cloud file system and local file The cloud viewer of the change of system and the schematic block diagram of local viewer ((type -2) -2);
Fig. 6 a are illustrated according to an aspect of this disclosure, according to the change log that SyncCLIENT is received from cloud, are determined The schematic block diagram of the cloud viewer of current cloud form state;
Fig. 7 is illustrated according to an aspect of this disclosure, the processing for the work project that grabber (FETCHER) carries out and The schematic block diagram then operated that working device carries out;
Fig. 8 is the schematic block diagram for the serialization for illustrating the routine work project in grabber;
Fig. 9 be description realize the shared and methodology of synchronous electronics save file according to an aspect of this disclosure with The schematic diagram of the typical computer system of system.
By the drawings and specific embodiments, Illustrative Embodiments are more fully explained.But, the present invention can use various forms It embodies, it is not limited to the specific embodiment illustrated in the drawings and specific embodiments.
Specific embodiment
The principle of the disclosure is only illustrated below.So as to it should be understood that those skilled in the art can design Various configurations, although not clearly stating or representing herein, but, the various configurations can embody the principle of the disclosure, So as within spirit and scope of the present disclosure.
In addition, all examples and conditional statement enumerated here are mainly used only for teaching purposes, to help to understand this public affairs The principle that the principle opened and inventor promote art technology and contribute, is understood to be not limited to such specific old The example and condition stated.
In addition, the specific of the various principles of the disclosure, all statements of aspect and embodiment and the disclosure is enumerated here Example includes its structure and function equivalent.In addition, such equivalent both includes the equivalent being currently known, also including future The equivalent of appearance, that is, the realization identical function of appearance, and any element unrelated with structure.
So as to for example, those skilled in the art can understand that any block diagram here represents the concrete embodiment disclosure The concept map of the exemplary circuit of principle.Similarly, it should be understood that any flow chart, state transition diagram, pseudocode etc., which all represent, to be counted It is substantially showed in calculation machine readable medium, so as to the various processing performed by computer or processor, regardless of the computer Or whether processor is explicitly shown.
The hardware of software is able to carry out by using specialized hardware and being combined with appropriate software, it is possible to provide in attached drawing Shown each element, the function of any functional block including being labeled as " processor ".When provided by a processor, the function Can be by single application specific processor, by single shared processor or by multiple individual processors, (some of which can be total to Enjoy) it provides.In addition, term " processor " or " controller " is clearly soft using being not construed as only referring only to be able to carry out The hardware of part can implicitly include (but not limited to) digital signal processor (DSP) hardware, network processing unit, special integrated electricity Road (ASIC), field programmable gate array (FPGA), for preserving the read-only memory of software (ROM), random access memory (RAM) and nonvolatile memory.It may also comprise other conventional and/or customization hardware.
Here, software module or simply, being implied to be the module of software can be expressed as indicating holding for processing step The arbitrary combination of row and/or the flow chart element or other elements of text description.Such module can be by explicitly or implicitly shown Hardware perform.
Unless being clearly otherwise noted here, otherwise attached drawing is not drawn to scale.
Now, some unrestricted illustrative examples are provided, the example illustrate the disclosure various configurations and Several operating aspects of alternative embodiment.
In general, and as used herein as, electronics save file is a kind of abstract concept.It provides a kind of one group Data are bundled to the convenient manner in identifiable unit, and the recognizable unit again can be by computer system management, preservation, inspection Rope and operation.Referring first to Fig. 1, illustrate that explanation according to an aspect of this disclosure, is shared and preserves text with synchronous electronics in figure The schematic diagram of the exemplary configurations 100 of part.
Described in Fig. 1 is personal computer 110 and personal computer 110 by one or more known networking skills " cloud " 120 that art 125 interacts.
Those skilled in the art is it can be readily appreciated that cloud 120 is the mould of such as storage, calculating and application etc networked resources Type.For example, cloud computing is commonly referred to as the delivery of the calculating as service, so as to shared resource, application, software, data and letter Breath is provided to computer and other devices in the form of services by the network of such as internet etc.Similarly, cloud storage It is commonly referred to as by network, the Electronic saving resource (for example, hypermedia system) provided by cloud 120.
Advantageously, cloud computing and/or cloud storage can be provided merely as those required to particular task money to each user Source, so as to eliminate as idle or no resource payment.It should further be appreciated that user can access any newest software and basis Structure provides, so as to promote compatibility and productivity.
Finally, using in the case of access to the Internet cloud 120, cloud computing and/or cloud storage usually provide a user from From anywhere in internet access mechanism can be obtained, the access to cloud resource.
Advantageously, the internetworking 125 described in Fig. 1 can be provided directly or through ISP, to cloud 120 Internet access.Include but is not limited to dialing, leased line, ISDN, optical fiber, width for the typical internetworking of cloud access Band, broadband over power line, fiber entering household, DSL/ADSL/SDSL, WiFi, WiMax, cable, satellite, mobile phone and T carrier waves etc.. Known Internet protocol, that is, TCP/IP can be together with more advanced agreement, that is, HTTP makes together with reference to such technology With to realize the desired communication with cloud 120 or other Internet resources.
Also described in Fig. 1 many electronic file binders 112 being present in the storage system of personal computer 110,114, 116.Those skilled in the art is it can be readily appreciated that electronic file binder is a kind of virtual container as shown in Figure 1, wherein can protect Hold and organize multigroup electronics save file.
Further it can be appreciated that, such as personal computer 110 run operating system, such as Windows, OS X, The present age computer operating system of LINUX etc generally includes the hypermedia system to may include thousands of a files It supports.It, can advantageously organizing electronic save file by the way that associated documents are stored in public folders.Included in another File in file is referred to as sub-folder.
Those skilled in the art is it can be readily appreciated that title " file " is used similar to the file used in an office In the desktop environment of almost all of current operation system.
File is also a kind of abstract concept, it provides and a kind of one group of electronics save file is bundled to identifiable unit In convenient manner, the recognizable unit again can be by computer system management, preservation, retrieval and operation.File usually quilt Computing system is described as being visually similar to the icon of physical folder.
After these principles are introduced, we illustrate being total to according to the electronics save file of an aspect of this disclosure now It enjoys and synchronous certain operating aspects.More specifically, and as shown in fig. 1, individual calculus 110 performs us and is commonly referred to as The client synchronization and shared routing of " SyncCLIENT " or one group of service 115,
In general, client-side program is run on specific computer, and is accessed and provided by complementary server program One or more services.Server program often (but not always) in another computer system, in this case, Client-side program passes through network access service.
In the context of the disclosure, as shown in fig. 1, SyncCLIENT 115 is run on personal computer 110, and By internetworking 125, the supplementary service device service interaction provided with cloud 120.According to an aspect of this disclosure, it is present in a One or more files on people's computer 110 are replicated automatically, and synchronous with cloud 120.As shown in fig. 1, file 112 It is replicated, and synchronous with cloud storage service 130, file 112-a electronics is stored in cloud file system by cloud storage service 130 In.
Thus, any increase that the file 112 on personal computer 110 to running SyncCLIENT 115 is made/ Deletion/change is reflected in the file 112-a in cloud storage 130.Advantageously, this operation leads to personal computer Any file or folder in file 112 on 110 is by automated back-up to cloud storage 120.Similarly, in cloud 120 Any increase/deletion/change of file 112-a or its content but will be reflected in the file 112 in personal computer 110 Or in its content.
As another example, and as previously described, it is advantageous that, other than cloud storage service 130, the cloud of illustration 120 also provide the service of calculating.For example, the arbitrary application in many applications, such as word processing, spreadsheet, Presentation Graphics, day Going through function, personal management etc. 135 can be provided by cloud 120, and can pass through ten thousand dimensions by computing device 150 or personal computer 110 Net interface, that is, for example accessed using Web browser.Advantageously, computing device 150 can access cloud computing resources " contracting Subtract " or " thin-client " device (or board device or intelligent telephone set etc.).As known, such thin-client generally relies on Its calculating task is realized in other computers (that is, cloud computing).
When setting in exemplary configurations shown in Fig. 1, computing device 150, which provides, for example utilizes cloud computing resources 135 To edit the ability for being for example stored in any editable document in cloud storage 130 and file 112-a.It is advantageously possible to Any geographical location of cloud 120 and its resource can be accessed by internetworking 127 from computing device 150, carries out such edit. So as to which user can be used computing device 150 and create or edit or be changed/created using cloud computing resources 135 in other ways File or file in file 112-a.According to an aspect of this disclosure, make to make file 112-a automatically File in the change gone out or the change and personal computer 110 made to any file or folder being contained therein Folder 112 synchronizes.
Those skilled in the art should be readily appreciated that Contemporary computer systems, than personal computer 110 as shown in Figure 1 or Other computing devices 150, which can be used, provides one or more user interfaces that permission user advantageously carries out file system operation Operating system, such as WINDOWS, OS/X, LINUX or similar system or derivatives thereof.More specifically, such user interface Known drag-and-drop operation, clipbook operation and order line operation are allowed users with, handles file.
When file system operation based on this drag and drop or it is other known to metaphor saying operation when, user can facilitate Ground selection is simultaneously file, catalogue (file etc.) duplication, mobile, deletion to the another place in file system.Advantageously, Various aspects of the disclosure can be combined using this known user interface, file is moved on personal computer 110 File 112 in, be then allowed to synchronous with cloud file 112-a.
Here, those skilled in the art should be readily appreciated that the disclosure is not limited to the file operation via user interface. Operating system component, service, user's application etc. can also carry out file operation.So as to which these arbitrary mechanisms (that is, application) are to file The change that folder 112 or its content are made can also be synchronized to cloud file 112-a.
Described in the context of example as shown in FIG. 1, according to an aspect of this disclosure synchronization and shared permit Perhaps automatic, the two-way generation of the file between personal computer 110,150 and cloud 120 and file, backup, synchronous and altogether It enjoys.
Referring now to Fig. 2, illustrated in figure explanation according to the electronic document of an aspect of this disclosure share with it is synchronous Another exemplary configurations 200.Shown in Fig. 2 is many computing systems, that is, in fig. 2, is respectively labeled as " household ", " above-knee Type " and the computer of " work " 210,250 and 260.Each computer 210,250 and 260 uses known network access technique 225th, 226 and 227, cloud 220 is accessed than those access technologies as described previously, specifically, 230 file system of cloud storage service System.
Each computer 210,250 and 260 described in Fig. 2 performs the example of SyncCLIENT 215,256 and 267.It presses According to an aspect of this disclosure, by performing SyncCLIENT 215, the one or more text being present on home computer 210 Part double-layered quilt replicates automatically, and with 230 file system synchronization of cloud storage service.In the example shown in figure 2, it is present in house to use tricks File 212 on calculation machine 210 is replicated, and with 230 file system synchronization of cloud storage service, 230 file system of cloud storage service Electronics save file of uniting folder 212-a and its digital content.
As previously mentioned with respect to described in example shown in Fig. 2, laptop computer 250 and working computer 260 are described ingredient Not Zhi Hang SyncCLIENT 256 and 267 example.So as to, and according to the another aspect of the disclosure, SyncCLIENT 256 and 267 each execution example can distinguish local replica and synchronization folder 212a on computer 250 and 260, as text Part presss from both sides 212b and 212c.As a result, the file 212 being present on home computer 210 is replicated, and with by cloud storage service The file 212a and be respectively present in laptop computer 250 and working computer 260 that 230 file system electronics preserve On file 212b it is synchronous with 212c.
Thus, it is counted according to the shared and synchronous permission user of the electronics save file of another aspect of the disclosure at one Establishment/modification electronics save file on calculation machine (that is, file in file 212c on working computer 260), and make The electronics save file of these establishment/modifications is on other computers (that is, home computer and laptop computer 210,250) By automatic duplication/synchronization.So as to, electronics save file effectively " follows " user from a computer to another computer, Without any additional user job.
Particularly, and as shown in Figure 2, each computer described herein all includes not being replicated/synchronizing/and cloud Many files that 220 or other computers are shared.More specifically, home computer 210 be described as including not being shared and/ Or synchronous file 214 and 216.Similarly, laptop computer 250 is described as including what is be not shared and/or synchronize File 251 and 252.Finally, working computer 260 is described as including the file for not being shared and/or synchronizing 261.
Advantageously, and according to an aspect of this disclosure, by the operation of SyncCLIENT, with cloud 220 and/or other Computing device and/or the particular file folder of users to share/synchronization are that user is manageable.
As previously mentioned, other than any cloud storage resource 230, cloud 220 may also provide cloud computing resources 235.So as to lead to It crosses using running on computing device, tablet computer or other portable computings (that is, intelligent telephone set) 270 by web The effect of the cloud computing resources 235 of browser access, user can also create/change electronics save file.By such operation, The electronics that user can advantageously create/change in the file 212a being maintained in 230 file system of cloud storage service preserves text Part, those establishments/the electronics save file of modification is replicated respectively/are synchronized to and are present in home computer 210, calculating on knee File 212,212b, 212c on machine 250 and working computer 260.In this way, electronics save file can be created in cloud 120 It builds, and replicates/be synchronized to the client computing devices that browser application and technology advantageously can be used, that is, home computer 210th, laptop computer 250, working computer 260 or other computing devices 270.
Note that we describe the generation of the electronics save file by the effect of cloud computing service using term establishment. Those skilled in the art will appreciate that specific vocabulary used herein is not restricted.For example, it can also pass through cloud computing The effect of service generates or generates electronics save file in cloud.Similarly, electronics save file can be converted by cloud computing service Or it is identified as to be operated by those cloud computing services.Thus, for our purpose, these electronics save files can by regarding To be generation, generation or establishment, represent in slightly more detail as follows and explanation.
In addition, although illustrate so far shared between multiple computers that for example one uses of electronics save file and Synchronous, but, the disclosure is not limited thereto.Advantageously, and according to another aspect of the disclosure, in multiple computers and The synchronization of electronics save file is carried out between user and is shared.
Referring now to Fig. 3, in figure represent explanation according to the electronics save file of an aspect of this disclosure share with it is synchronous Another exemplary configurations 300.Shown in Fig. 3 is by being respectively labeled as in figure 3 " user 1 ", " user 2 " and " user 3 " Multiple computing systems for using of different each users, that is, personal computer 310,350 and 360.Each computer 310, 350 and 360 use network access technique 325,326 and 327, than those network access techniques as described previously, access cloud 320, specifically, 330 file system of cloud storage service.
In addition in figure 3, each subscriber computer 310,350 and 360 performs SyncCLIENT softwares 315,356 and 367 Example.
According to an aspect of this disclosure, by performing the effect of SyncCLIENT softwares 315, it is arbitrary to be present in computer One of one or more files on (such as computer 310) replicated automatically, and same with 330 file system of cloud storage service Step.In figure 3 in shown example, the file 312 being present on 1 computer 310 of user is replicated, and preserves text with electronics Part presss from both sides 330 file system synchronization of cloud storage service of 312-a.
As further shown in Figure 3,2 computer 350 of user and 3 computer 360 of user are described as performing respectively The example of SyncCLIENT softwares 356 and 367.So as to, and according to another aspect of the disclosure, SyncCLIENT softwares 356 and 367 each execution example can be respectively in the form of file 312b and 312c, in 3 computer 350 of user 2 and user On 360, local replica and synchronization folder 312a.As a result, the file 312 being present on 1 computer 310 of user is answered System, and with the file 312a being stored in 330 file system of cloud storage service and being respectively present in 2 computer 350 of user It is synchronous with 312c with the file 312b on 3 computer 360 of user.
Thus, allow multiple users one with synchronous according to the shared of electronics save file of another aspect of the disclosure Establishment/modification electronics save file on platform computer (that is, 1 computer 310 of user), and protect the electronics of these establishment/modifications Deposit file on the computer (that is, 3 computer 350,360 of 2 computer of user and user) of other users by it is automatic replicate/it is same Step.
In addition, these or other authorized user can access any cloud computing service for example, by web browser, with wound It builds/changes included in any electronics save file being stored in the file 312a in 330 file system of cloud storage service.From And any change made to the electronics save file in file 312a is replicated automatically and/or and user machine system 310th, the Folder synchronizing on 350 and 360.
So far, the shared of the electronics save file according to various aspects of the disclosure that is related to multigroup user is we illustrated With synchronous some aspects.Advantageously, and according to another aspect of the disclosure, user can belong to shared and be protected with synchronous electronics Deposit file multiple groups.
With continued reference to Fig. 3, notice that user 1, user 2 and user 3 (while increasing the participation of user 4) are described as sharing With synchronous and 312 relevant electronics save file of file, that is, the file being respectively present in cloud 320, computer 350 and 360 Press from both sides 312a, 312b and 312c.In addition, the shared and synchronization group including user 2 and user 3 is also illustrated in Fig. 3.
More specifically, although user 2 and user 3 be described as it is shared and synchronize be expressed as being present in it is related to user 2 Computer 350 on file 352.But, file 352 is shared and synchronous with cloud 320 in the form of file 352a, It is shared and synchronous with computer 360 in the form of with 3 relevant file 352b of user.So as to which user 2 and user 3 are described Shared and synchronization group a part different into two.As previously described, it is advantageous that, in shared and synchronization group, than as shown It is that user is manageable to include other user and/or computer in those shared and synchronization groups.
As operation example, Fig. 3 a-3c describe according to the electronics save file of an aspect of this disclosure drag-and-drop operation and Subsequent synchronization.Those skilled in the art it can be readily appreciated that drag-and-drop operation be using graphic user interface mechanism (that is, mouse or Touch sensitive screen) " catching " virtual objects (such as electronics save file), and drag to another virtual objects (such as file) The action of the different location at place.Further it can be appreciated that, such operation can be advantageously available for calling the action of numerous species, Or all kinds of associations between two abstract objects of establishment.
The window 390,392 of a pair of of overlapping of Fig. 3 a descriptions, such as those overlappings common for contemporary graphic user interface Window.Shown in window 392 is the icon of the electronics save file 393 of entitled " LIFE CYCLE OF THE ELEPHANT " It represents.Similarly, window 390 includes the icon representation of local SyncDRIVE files 391.According to an aspect of this disclosure, The electronics save file being put into local SyncDRIVE files 391 will be replicated automatically, and with cloud (being not specifically illustrated) and It is optionally synchronous with other SyncDRIVE clients (being not specifically illustrated).
In the context of this example, basic drag and drop sequence is completed using following operation:Pointer is moved to electronics Save file 393 " catches " file 393 by pressing mouse button or other selection mechanisms, file 393 " dragging " is arrived SyncDRIVE files 391 and file 393 " is put down " by release button or other selection mechanisms.
After this drag-and-drop operation is carried out, the inspection table of the content of SyncDRIVE files 391 as shown in figure 3b The copy of bright electronics save file is synchronous with cloud, as shown in change icon 394, in this example, changes icon 394 Represent that electronics save file is undergoing synchronization.At the end of simultaneously operating, as illustrated in figure 3 c, with electronics save file 395 Relevant icon is updated, further to reflect that electronics save file is synchronized.
Further it can be appreciated that, the various figures that can be obtained in contemporary graphic user interface or computing system can be utilized Mark or other mechanism, the synchronous regime of description as shown in the figure etc.Example includes animation and/or audible mechanism.In addition, although figure Example description and the SyncCLIENT of illustration and the relevant synchronous regime of cloud, but, those skilled in the art shown in 3a-3c Member will be readily recognized that the disclosure is not limited thereto, further enhancing can also describe for example with as group as previously described etc A part other SyncCLIENT it is initial, intermediate synchronous with subsequent downstream.
In the case of in terms of these specific functions for understanding the disclosure, described referring now to Fig. 4 a, Fig. 4 a according to this public affairs The simplification functional-block diagram of the illustration SyncCLIENT 410 for the one side opened.
As described herein, SyncCLIENT 410 includes at least two function element, that is, by performing on the computing device SyncCLIENT softwares and the cloud viewer 440 that generates and local viewer 430.Briefly, local viewer 430 is monitored and is examined Any variation to observed local file system 420 is surveyed, and cloud viewer 440 is monitored and detected in cloud 450 is resided at Cloud file system 460 in any related change.When in observed local file system 420 or cloud file system 460 When detecting any change, the synchronization between the two systems is generated as a result.Advantageously, and according to one of the disclosure Aspect, in a preferred embodiment, cloud viewer 440 and local viewer 430 can work contemporaneously or in parallel, depending on their institutes The hardware environment worked in.
Here, it is beneficial to the illustration synchronization according to an aspect of this disclosure be discussed, that is, when generating document in cloud When, the synchronization that occurs between cloud and SyncCLIENT.More specifically, by using cloud computing resources, document is generated in cloud, By using cloud storage service, document electronic is stored in cloud, is finally allowed to synchronous with one or more SyncCLIENT.
Represent to illustrate the schematic diagram of illustration generation/establishment of the document in the cloud of user's progress referring to Fig. 4 b, in figure.Such as it Shown in, document is generated/is created by mobile device.It should be readily appreciated that and as previously mentioned, arbitrary various known movements fill It puts and is adapted to interact with cloud computing service, to generate the document that then can be stored in by cloud storage service in cloud.Common Device includes mobile phone, tablet computer and other portable computings.Particularly, the disclosure is not limited to mobile dress It puts, and desktop computer or other computing devices can also be used in this generation/establishment of the document in cloud.Particularly, it supports Any device of browser function is enough to interact with the cloud computing service of illustration.
In addition, although we describe the specific electron entity for generating and preserving in cloud using term document, but, this It is open to be not limited thereto.More specifically, it is advantageous that, according to the disclosure, by cloud computing service, generated at word in Yun Zhongke Manage document, spreadsheet document and graphic documentation etc..
So as to, once produce document by cloud computing service, so that it may the document electronic is protected using cloud storage service There are in cloud.It, will be with being associated by the document that cloud storage service electronics preserves in Illustrative Embodiments ResourcelD, the resourcelD uniquely identify the electronics save file in cloud storage.
Once document is stored in by electronics in cloud, it is then just replicated/and it is synchronous with SyncCLIENT.Particularly, excellent It selects in embodiment, the electronics save file generated by cloud computing service is not replicated/copied to by physics (electronics) SyncCLIENT.On the contrary, according to another aspect of the disclosure, to preserve the shape of the link of document files to the electronics in cloud Formula, it is making to generate in cloud by cloud computing service and be subsequently stored at the electronics in cloud preserve document files then with One or more SyncCLIENT are synchronized.
In this manner it is achieved that advantageously, the electronics generated in cloud preserves document and is not physically transferred to SyncCLIENT.Link to document (file) is transmitted to SyncCLIENT, in the SyncCLIENT, the link conduct The electronics save file of the link of the file in cloud is covered, is saved in SyncCLIENT local file systems.It is more advantageous , the type for indicating its cloud storage can locally be shown by covering the electronics save file of the link of the file in cloud.More Body, this local save file can be " .gdoc " type file or any other predefined type for so indicating refers to It is fixed.
Thus, electronics save file is created (in the file system monitored) in SyncCLIENT file system, is had Profit, this document can take the circumstances into consideration to show as user conventional document or text or other files.Instead of comprising being stored in cloud Electronics save file digital content, local electronic document covers the link of cloud file.
In a preferred embodiment, and as shown in illustration in Fig. 4 b, such recognizable resource (document) of link, positioning money The means in source and any specific access mechanism.As shown in the example in Fig. 4 b, link may include indicating unified resource positioning It accords with (URL), agreement, that is, HTTP is serviced (DOCS), the component of resourcelD and type.Those skilled in the art will appreciate that It arrives, as needed, other component can be included in link.When providing such link as shown in the figure, web browser The visit that the file in cloud is stored in electronics can be provided advantageously to the user of SyncCLIENT (movement or fixed) by enabling It asks, and advantageously, will not unnecessarily consume bandwidth.
Although we are described as operation shown in figs 4 a and 4b those electronics save files with being generated in cloud Related, but, the introduction that we again point out the disclosure is not limited thereto.More specifically, the disclosure is equally applicable to Those electronics save files that SyncCLIENT is generated and then synchronize/copying to cloud as previously described.
More specifically, user can generate electronics save file on SyncCLIENT computers, then the electronics is preserved File synchronization/copy to cloud.Once being stored in cloud by electronics, electronics save file can be converted and/or be changed (if needed Will if) into can advantageously by one or more of cloud computing resources and/or cloud application handle form.It later, can conduct The link of electronics save file into cloud, the electronics save file for making the conversion are synchronous with one or more SyncCLIENT. Certainly, those skilled in the art will appreciate that with regard to certain electronic document formats (that is, text file etc.), conversion and/or modification It is not required.So as to when the file for showing this form is stored in Yun Zhongshi by electronics, it is advantageous that can be by described above Linking mechanism, make them synchronous with SyncCLIENT, then access them from SyncCLIENT, as they are risen in cloud As.
Particularly, it according to an aspect of this disclosure, does not need to generate document or other objects by cloud computing service.More Specifically, and referring now to Fig. 4 c, it represents to generate document by third-party application in figure, the document is protected by cloud service There are replicate the document/the make document and SyncCLIENT in cloud, then in the form of the link to the object in cloud The signal sequence of synchronous event.Thus, SyncCLIENT recognizes that the document object in cloud does not need to be copied into SyncCLIENT is changed to be generated to the link of the object, and the local file system of SyncCLIENT is held locally within as file In system.It, can be from SyncCLIENT (or other calculating dresses that document has been synchronized to as previously mentioned, for example by web browser Put) access the document object.In addition, in addition/alternative cloud website can be quoted in link, so that the cloud station for passing through reference Point also may have access to the document or other resources.
Here, it should be noted that file in file and file and local file system and file in cloud can It can show slightly different characteristic.Referring now to Fig. 4 d, illustrated in figure including shall illustrate some in these characteristics Many files of characteristic and the illustration cloud file system of file and illustration SyncCLIENT file system.
Specifically, the illustration cloud file system described in Fig. 4 d shows " from bottom to top " structure rather than this field Technical staff is easy to " from top to bottom " structure of the client file systems of understanding.More specifically, what cloud file system was shown This " from bottom to top " structure results formation belongs to multiple files of single file.
As shown in figure 4d, single file (FILE A) can be observed and belong to file BAZ (or included in file In BAZ), and file BAZ belongs to two files FOO and BAR.Thus, the file that electronics is stored in cloud can have more A parent folder, and parent folder can have multiple parent folders.In this regard, file is similar to the mark applied to file Label.
In addition, such as the use in cloud, the title of file and/or file is not usually unique.Thus, it is more accurate It really says, title is considered as the title attribute of file and file.So as to, and as described in other places in the art, File and file in cloud have unique identifier, resource ID (resourcelD), and the resourcelD uniquely knows Its other associated file or folder.
It can be appreciated that the native name of file and/or file may differ from its title in cloud, because may be with this In ground file system there is conflict in other file/folders with same names.All may be used between filial generation and between parent This conflict can occur.So as to, in Illustrative Embodiments, according to an aspect of this disclosure, in file resourcelD and Between its title (in cloud) and its native name when electronics is stored on SyncCLIENT, mapped.
The illustration mapping between cloud folders/files and local folders/file is described in Fig. 4 d.In Illustrative Embodiments In, can one or more LocalEntry be included by this mapping of FileMapping object implementatio8s, FileMapping objects Object and a CloudEntry objects.As shown in figure 4d, local folders FOO is mapped to cloud file FOO, local file Folder BAR is mapped to cloud file BAR, two local folders BAZ and is mapped to single cloud file BAZ, two FILE A File is mapped to single cloud file, FILE A.
Fig. 4 e descriptions are according to various aspects of the disclosure, when file/folder is saved in cloud storage system, text How difference between part/file influences with these differences is shared/synchronous another example.Referring to Fig. 4 e, in cloud in figure In file system, the file of entitled FOO is described, it has two sub-folders for being all named as BAR.So as to, and press According to an aspect of this disclosure, as the file BAR repeated in duplication on local file system/synchronization, cloud resource is utilized Date created uniquely names them.As shown in the example in Fig. 4 e, a file is named in local file system For BAR, and another file is named as BAR [XX/XX/XX], and wherein XX/XX/XX is the wound of the cloud resource of this document folder Build the date.
Fig. 4 f descriptions are according to various aspects of the disclosure, when file/folder is saved in cloud storage system, text How difference between part/file influences with these differences is shared/synchronous another example.Referring to Fig. 4 f, in figure again In cloud file system, the file of entitled FOO is described, it has two sub-folders for being all named as BAR.So as to, and And according to an aspect of this disclosure, as the file BAR repeated in duplication on local file system/synchronization, in this example In son, them are uniquely named using count-up counter.As shown in the example in Fig. 4 f, in local file system, one File is named as BAR [n], and another file is named as BAR [n+1].Those skilled in the art will appreciate that The disclosure is conceivable that this incremental count method and the combination of the date created of cloud object illustrated in the preceding paragraphs.
Finally, represent that electronics is stored in cloud file system referring now to Fig. 4 g, in figure, and with 3 independent files Folder, that is, the single specific file of FOO, BAR (being included in) related to BAZ, the schematic diagram of the synchronization of File A.Particularly, When the File A are replicated/it is synchronous with SyncCLIENT, and preserved by electronics in local file system on the client When, 3 individual files are created in SyncCLIENT file system, that is, FOO, BAR and BAZ, wherein each file clip pack The separate copy of File A containing duplication.Advantageously, when this 3 files are one of arbitrary to be modified locally, for being present in The single File A of correspondence in cloud file system then occur synchronous with cloud.
Referring now to Fig. 5, the SyncCLIENT that can illustratively carry out the operation that earlier in respect of figures 1-4 illustrates is illustrated in figure 510 schematic block diagram 500.As shown in Figure 5, the SyncCLIENT of illustration include cloud viewer 540, local viewer (that is, 2 viewer 530 of type or Class1 viewer 535), event aggregation device 561, grabber 580, working device 590, snapshot 560 and black List 570.
As previously mentioned, cloud viewer 540 monitors and detect any related change to cloud file system 520, and locally see It examines device (530 or 535) monitoring and detects any change to observed local file system 515.With regard to cloud viewer 540 It says, if detecting any related change to cloud file system 520, then these detect the FSChange notice quilts of change It is sent to grabber 580.For local viewer (530 or 535), if detecting any local file system change, that It sends and notifies to event aggregation device 561.
According to an aspect of this disclosure, event aggregation device 561 take the circumstances into consideration to receive from local viewer (type -1) 535 or Person comes from the Notification of Changes of local viewer (type -2) 530.In a preferred embodiment, local viewer (type -1) 535 to Event aggregation device 561 provides primitive event file-level Notification of Changes, and local viewer (type -2) 530 is to event aggregation device 561 provide FSChange notices.
Although the operation of event aggregation device 561 will be explained in more detail hereinafter, but, we particularly point out event aggregation Device 561 generally receives the Notification of Changes from viewer, and these notices are retained a period of time.It is if during detention, right Any relevant item makes multiple changes, then advantageously, event aggregation device 561 will be these change combinations or with other sides Formula is modified as more advanced, more relevant event, and more advanced, the more relevant event is then sent to by event aggregation device 561 Grabber 580.
The FSChange projects that grabber 580 is sent to by cloud viewer 540 or event aggregation device 561 are connect by grabber 80 It receives, grabber 80 is then checked for, to understand whether the arbitrary change received is comprised in blacklist 570.Blacklist 570 is row Act had previously been sent to working device 590, but the structure of those changes not being completed due to one or the other. Thus, blacklist 570 plays the list for the change that will be performed, as long as these changes are stayed on blacklist 570.
On the contrary, the change being not comprised in blacklist 570 that grabber 580 receives, work item is used as by grabber 550 Mesh is sent to working device 590, to be followed by subsequent processing.If working device cannot complete work project, then statement mistake 597, and The record of mistake is added to blacklist 570.On the contrary, when working device completes work project, refer in snapshot 560 and be shown as result Any change, as previously mentioned, snapshot 560 keep SyncCLIENT 510 observe local file system 515 and cloud file system Current sync state between system 520.
Those skilled in the art it would be recognized that, work project is typically to FSChange is realized, and by working Those operations that device carries out.More specifically, the generally recognized object that it is suitable for (that is, filename) of specific work project, refers to Enable (that is, download/upload) and such as operation of establishment, renaming, deletion, movement and modification etc.
As shown in Figure 5, when working device 590 makes any change/update to snapshot 560, snapshot 560 is locked.This Kind locking ensures that snapshot 560 will not change in reproducting periods, so that it is guaranteed that consistency.
As shown in FIG. with it is described in more detail, grabber 550 usually before the follow-up parallel processing of working device 590, makes Work project stream serializes.In this respect, and as discussed in more detail below, grabber, which serves, ensures no any two working device In conflict and/or the effect of manager/lock of the change of overlapping.
It will be understood by those skilled in the art that 510 softwares of SyncCLIENT there are illustration can be permitted what is operated above More different operating systems.The known example of this operating system includes but is not limited to:Microsoft WINDOWS, OS/X and LINUX.As the ability of this operating system as a result, working device 590 can be implemented so that multiple threads.So as to multiple work Device can work on multiprocessor or multinuclear computing system or can concurrently work in uniprocessor computing system simultaneously. As a result, multiple working devices can handle given work project simultaneously with each other, so as to enhance the performance of shared and simultaneously operating.
Different operating system, such as those exemplified above operating system are provided about in the system is present in The different degrees of details of variation that may occur in file system.For example, UNIX derivatives, such as OS/X and LINUX are provided Folder level Notification of Changes, and Microsoft WINDOWS provide more detailed file-level Notification of Changes.More specifically, OS/X Information about the change made to file is provided, and Microsoft WINDOWS offers are made about to each file Change information.So as to describe at least two different local viewers in Figure 5, that is, local viewer (type -2) 530 With local viewer (type -1) 531.As further shown in Figure 5, local viewer (type -2) provides folder level change Notify 531, and local viewer (type -1) 535 provides file-level Notification of Changes 536.
More specifically, Microsoft WINDOWS provide ReadDirectoryChangesW Application Programming Interface (API), The API provides for example to send a notice to the SyncCLIENT softwares for accessing the API:The text of CHANGE_FILE_NAME-observation Part presss from both sides the arbitrary filename change in (catalogue) or subtree;Any mesh in the catalogue or subtree of CHANGE_DIR_NAME- observations Record name change;Any attribute change in the catalogue of CHANGE_ATTRIBUTES- observations;CHANGE_SIZE- is when write-in file When, any file size change in the catalogue or subtree of observation;CHANGE_LAST_ACCESS- is to the catalogue or subtree of observation In file last access time any change;CHANGE_CREATION- is to the file in the catalogue or subtree of observation Create any change of key time;With any security descriptor change in the catalogue or subtree of CHANGE_SECURITY- observations.
Since OS X do not provide this file-level Notification of Changes, local viewer (type -2) 530 utilizes this map The state of local file system 515 observed by 532 tracking.Similarly, and according to an aspect of this disclosure, cloud viewer 540 states of cloud file system 520 being observed using the tracking of cloud atlas 541.
Finally, here we indicated that, although Fig. 5 is local viewers (type -2) 530 and local viewer (type -1) 535 are described as the component part of SyncCLIENT 510, but, it is advantageous to the certain illustrated of SyncCLIENT does not need to The two.
Referring now to Fig. 5 a, represented in figure explanation and electronics save file " N " storage and local viewer 535 and The schematic block diagram of the sequence of the relevant event of operation of event aggregation device 561.It is it will be understood by those skilled in the art that this Sequence can be with the operation of arbitrary many general purpose application programs or suite of programs.
More specifically, when storing electronics save file " N ", with these general purpose application programs or the relevant thing of suite of programs The General Sequences of part are:
1) temporary file " N+l " is created;
2) file " N " is deleted;
3) temporary file " N+1 " is moved to " N ".
Thus, during SyncCLIENT is operated, observed local file system 515 will be shown will be by locally observing The above sequence of events that device 535 detects.If the sequence will be transmitted to grabber (being not specifically illustrated) by local viewer 535, Many unnecessary steps can be so carried out, and this may negatively affect the performance of system.For retention property and avoid The step of unnecessary/redundancy, according to another aspect of the disclosure, the SyncCLIENT of illustration includes event aggregation device 561.
As previously mentioned, event aggregation device 561 will usually receive the Notification of Changes from local viewer, and these are notified Retain a period of time.If multiple changes during detention, are made to any relevant project, then advantageously, event is gathered Clutch 561 will combine or be modified as in other ways more advanced, more relevant event, more advanced, the more phase these changes Dry event is then sent to grabber by event aggregation device 561.
With continued reference to Fig. 5 a, event aggregation device 561 is described as the above-mentioned sequence of reception event, that is, 1) creates interim text Part N+1;2) file N is deleted;With temporary file N+1 3) is moved to N.As shown in fig 5 a, event aggregation device 561 is the sequence Row keep and polymerize/be combined into single work project, i.e.,:
“Modify(N->N+1)”;
The work project is then forwarded to grabber, to handle.
Fig. 5 b are illustrated according to an aspect of this disclosure, the schematic diagram of the overview of the processing of event aggregation device 561.Such as figure Shown in 5b, the altering event that local viewer 535 detects in observed local file system 515 is sent to event Polymerizer 561, in event aggregation device 561, the altering event is placed into altering event queue.
Before the altering event of reception is inserted into altering event queue, the altering event of reception is checked, connect with understanding Whether the altering event of receipts can combine with the altering event in altering event queue.If it is then what combination received The altering event of combination is then reinserted altering event queue by the altering event in altering event and altering event queue In.If the altering event received cannot be combined with the altering event in altering event queue, then not in combination connecing The altering event of receipts is inserted into altering event queue.
Regularly, altering event queue is checked, any change that predetermined a period of time is reached in altering event queue is experienced Part is assigned to grabber (being not specifically illustrated), to handle.
Fig. 5 c are the flow charts for the general operation overview for illustrating the event aggregation device 561 according to an aspect of this disclosure. Referring to Fig. 5 c, notice that, in box 562, event aggregation device 561 receives the altering event from local viewer.Become experienced when receiving During part, in box 563, event aggregation device will check the altering event received, and whether the altering event received with judgement can be with Another the altering event combination received being inserted into altering event queue.
If the altering event received can be combined with the altering event in altering event queue, then in box 564, the altering event for combining the altering event of reception and being lined up in box 565, is discharged into the altering event after combination and becomes experienced In part queue.
If in box 564, the altering event of reception cannot be combined with the altering event of queuing, then in box 565, The altering event of reception is not discharged into altering event queue in combination.
Regularly, in box 566, altering event queue is checked, to judge that the altering event of any queuing is persistently more than A period of time of predetermined period is in altering event queue.If it is then in box 567, the altering event is made to fall out, concurrently Grabber is given, to handle.
Particularly, and according to another aspect of the disclosure, event aggregation device 561 can be according to identifiable known/ The pattern of habit combines the event and the event in event queue of reception.More specifically, event aggregation device can be according to reception The known mode of sequence, the kind of document observed, the executable program of detection, executive process etc. is changed, identifies specific event Combination, and determine the specific change of observation according to these data and be combined using the information.
Referring now to Fig. 6, description is represented in figure according to an aspect of this disclosure, on typical SyncCLIENT 610 Cloud viewer 640 and local viewer (type -2) 630 operation schematic block diagram.As shown in Figure 6, cloud viewer 640 generation cloud atlas 642, cloud atlas 642 represent the current state of observed cloud file system 680.After cloud atlas 642 is generated, Cloud viewer 640 is periodically generated current cloud status and appearance 644, it is later determined that any difference between the two.When detecting cloud During difference between Figure 64 2 and current cloud status and appearance 644, cloud viewer 640 generates FSChange, and (file system change is logical Know), and the FSChange is sent to grabber (being not specifically illustrated).As previously mentioned with respect to described in Fig. 5, FSChange notices are crawled Device is sent to the work project of working device (being not specifically illustrated) for generating.
In a preferred embodiment, current cloud status and appearance 644 can with to SyncCLlENT report in cloud file system The ordered list of change made of object represent.Preferably, cloud atlas 642 can be expressed as bibliographic structure, the bibliographic structure packet Include ResourcelD keywords, wherein other than ResourcelD, dictionary entry further include any filename, inspection and with And timestamp.
Similarly, local viewer (type -2) 630 monitors observed local file for example, by FSEvents API System 615, FSEvents API provide folder level Notification of Changes.It is local to see when receiving any folder level Notification of Changes Examine the current local status and appearance of the current state of the local file system 615 observed by the generation of device (type -2) 630 represents 634.The relatively more current local status and appearance 634 of local viewer (type -2) 630 and previously generated local Figure 63 2, to determine Any difference between the two.It is local when detecting the difference between current local status and appearance 634 and local Figure 63 2 Viewer 630 generates FSChange, and the FSChange is sent to event aggregation device (being not specifically illustrated).Such as preceding reference chart 5a Described in Fig. 5 b, change is kept for a period of time by event aggregation device, if detected to relevant item or specific known mode Multiple changes, then event aggregation device can these reception FSChange composition of matter or be modified as higher in other ways The coherent events of grade, the more advanced coherent events are sent to grabber consequently as pending work project.
Fig. 6 a are the reception for describing current cloud form state 644 and newer schematic block diagram.As shown in FIG. 6 a, according to The change log 646 that SyncCLlENT 610 is received from cloud determines current cloud form state 644.In Illustrative Embodiments, in Fig. 6 a Shown change log 646 includes pair with specific SyncCLlENT 610 and/or the relevant cloud file system 680 of particular account making The ordered list of the change gone out.
Advantageously, and according to an aspect of this disclosure, when being received by SyncCLlENT 610, included in change day The ordered list of the change made to cloud file system 680 in will 646 is polymerize.Thus by change log 646, from The ordered list for the change that cloud file system receives is not needed to as noted earlier, and the change that local viewer is observed is carried out The same further polymerization of polymerization.
In special Illustrative Embodiments, for particular account, change log 646 includes many entries, many items Mesh includes the instruction of the current state of project;Whether entry has been moved to dustbin;Whether deleted from dustbin with entry It removes.Note that the exemplary list of the entry included in change log is representative, it is not detailed.So as to by change More daily record can provide other entries of the state of directory entry.It will be understood by those skilled in the art that in change log These entries can generate the FSChange events that will be forwarded to grabber by cloud viewer.
Referring now to Fig. 7, represented in figure according to an aspect of this disclosure, illustrate that typical SyncCLIENT 710 is carried out Work project generation and these work projects subsequent processing schematic block diagram.As shown in FIG. with it is noted earlier, one A or multiple FSCHange events are sent to grabber as work project from cloud viewer 740 or event aggregation device 735 720, in grabber 720, they are placed into orderly work queue 726.
More specifically, when receiving work project 725, the work project 725 of the arrangement reception of grabber 720, so that according to Defined sequence performs them.More specifically, work project 725 [1] ... 725 [n] is entered from oldest project to newest In the work queue 726 of entry sorting.In this regard, by the realization of work queue 726, work project 725 [1] ... before 725 [n] distribute to working device 750 [1] ... 750 [n], grabber 720 can serialize these work projects, with Just it handles simultaneously.
The processing of the work project for 750 [n] progress that at this point, we are, it is noted once again that although we are working device 750 [1] ... It is depicted as what is be carried out at the same time, but has in multiprocessor or multinuclear that may be present processing configuration in contemporary computing systems Sharp is the actual treatment for the multiple work projects that can concurrently carry out multiple working devices 750 [1] ... 750 [n], wherein each Working device thread can be performed by single processor or core.Thus, when simultaneously or during concurrent working, this more working devices configurations are real Now sizable shared and synchronous handling capacity.Advantageously, depending on the specific calculation system of the uses of SyncCLIENT 710 is hard Part and system software, as cloud viewer 740 with local viewer 730 simultaneously or concurrent working as a result, the similar property of realization It can benefit.
The serialization for illustrating the work project 825 [1] ... 825 [n] of grabber 820 is represented referring now to Fig. 8, in figure.Such as Shown in figure, to the sequence of newest work project, it is aligned to what is come in work queue 826 according to from oldest work project Work project 825 [1] ... 825 [n].
In operation, grabber 820 checks each work project in work queue 826, and judges whether it can be by working Device 850 [1] ... 850 [n] processing.In fig. 8 in shown Illustrative Embodiments, grabber 820 is opened from oldest work project Begin, the work project 825 [1] ... 825 [n] in work queue 826 is progressively checked towards newest work project, to determine What the particular work detected shows and relies on (if any).If the examined work in work queue 826 Any entry of the project 825 [1] ... 825 [n] in by dependency graph 890 is influenced, then the work project, which is determined to be in, was at that time It is not accessible.
As shown in Figure 8, dependency graph 890 be included in given time may by multiple working devices 850 [1] ... 850 [n] appoint The list of structure that the operation that one of meaning carries out influences.890 entry of especially important dependency graph described in fig. 8 is:Index Node (inode) 891, resource ID 892 and filename etc. 893.The other dependence not specifically illustrated in fig. 8 includes father couple As, subobject and the filename of cousin's object.
Those skilled in the art is easy to remember, index node is current generation operating systems for preserving about file, catalogue Or the data structure of the information of other file system objects.Index node is preserved about file and the information of catalogue (file), Such as the owner, pattern and type.File is associated with the particular index node identified using integer (inode number).
Similarly, resourcelD is the identifier for uniquely identifying cloud object (such as file).Thus, it is such ResourcelD can uniquely identify the specific file being stored in cloud file system.
Finally, filename is generally directed to the metadata of file.Filename is often for identifying (preferably uniquely) electricity Son is stored in the character string of the file in file system.Usually, filename includes other composition, that is, associated with the file Path, title associated with the file, type associated with the file and version associated with the file.
Advantageously, and according to an aspect of this disclosure, grabber 820 keeps dependency graph 890, and dependency graph 890 identifies The dependence influenced at present by the work project that arbitrary working device 850 [1] ... 850 [n] acts on.Thus, when grabber 820 is examined When looking into work project 825 [1] ... 825 [n] in work queue 826, it compares the dependence influenced by the work project checked With any dependence in dependency graph 890.If any this relied on dependency graph 890 by what the work project detected was influenced In, then the work project is skipped, and grabber 820 checks next work project in work queue 826.
Particularly, even if specific work project is skipped, the row of 825 [n] that preferably also maintains work project 825 [1] ... Sequence.Thus, the work queue 826 in grabber 820 is always pressed from oldest work project to the sequence of newest work project.
If it is determined that particular work is accessible, that is, its impacted dependence is not in dependency graph 890, then The work project is passed to working device 850 [1] ... 850 [n], to handle.
When work project is transferred to working device to handle, just indicated in dependency graph 890 it is any it is impacted according to Rely.On the contrary, when working device completes work project, it just updates dependency graph 890, to indicate that it does not reprocess specific one group It relies on.
Whenever working device completes specific work project, the just work project oldest from work queue 820 of grabber 820 825 [1] start, and scan in work queue 826 and reexamine work queue 820 to newest work project 825 [n].
Those skilled in the art is it can be readily appreciated that work project (such as the attribution of being previously skipped in work queue 826 Conflict in relying on) it will be rescanned and handle, if grabber 820 makes such determine.It should further be appreciated that due to Grabber 820 ensures to be sent to two work projects of working device there is no relying on to conflict, therefore do not need to lock, so as in work Make to realize height while property and/or concurrency in device operation.
Fig. 9 expressions are adapted for carrying out the exemplary computer system 900 according to the method and system of an aspect of this disclosure. Computer system may include for example running one of the arbitrary computer of many operating systems.It can be as the program control instruction preserved Form, in computer system 900 realize the disclosure the above method.
Computer system 900 includes processor 910, memory 920, storage device 930 and input/output structure 940.One A or multiple input/output device may include display 945.One or more bus, 950 general interconnection component 910,920,930 With 940.Processor 910 can be single or multiple core.
Processor 910 performs the finger for the step of wherein embodiment of the disclosure may include illustrating in one or more of the drawings It enables.Such instruction can be saved in memory 920 or storage device 930.Using one or more input/output devices, It can receive and output data and/or information.
Memory 920 can preserve data, can be computer-readable medium, such as volatibility or nonvolatile memory. Storage device 930 can be that system 900 provides storage, such as including preceding method.In all fields, storage device 930 can be Using magnetic, the flash memory device of light or other recording techniques, disc driver, optical disc apparatus or magnetic tape equipment.
Input/output structure 940 can be that system 900 provides input/output operations.Utilize the input/output of these structures Device is such as may include keyboard, display 95, instruction device and microphone.As shown in the figure, and those skilled in the art It will be readily recognized that, desktop PC 960, laptop computer 970, hand can be used for the computer system 900 that the disclosure uses It holds formula computer, such as tablet computer, personal digital assistant or intelligent telephone set 980 or advantageously may include that " cloud " is counted One or more server computers of calculation machine 990 are realized.
Although using some specific examples, the disclosure is described, but, those skilled in the art will appreciate that ours Introduction is not limited thereto.Thus, the disclosure should only be limited by the range of accessory claim.

Claims (10)

1. a kind of method shared between cloud file system and client file systems with synchronous electronics save file, including meter The following steps that calculation machine is realized:
By determining that multiple files in the cloud file system share electronics save file, to determine the cloud file system In electronics save file it is related to multiple files in cloud file system;
In client file systems, multiple copies of same electronics save file are generated from same electronics save file, wherein The copy amount of the multiple copy be equal to cloud file system in in the relevant multiple files of same electronics save file File quantity;And
In response to detecting the modification to the particular copy in the multiple copy in client file systems, make client literary The particular copy in part system is synchronous with the electronics save file in cloud file system.
It is 2. according to the method for claim 1, further comprising the steps of:
Generate multiple local folders in client file systems, it is related to same electronics save file in cloud file system Multiple files come in each file one.
3. according to the method for claim 2, wherein each local file, which is clipped in multiple copies, includes electronics save file Copy.
4. according to the method for claim 1, each copy of wherein electronics save file is covered in cloud file system The link of same shared electronics save file.
5. according to the method for claim 4, wherein electronics save file is stored in cloud file system, and can utilize institute Link is stated to access by browser.
6. a kind of system shared between cloud file system and client file systems with synchronous electronics save file, the system System includes:
For sharing electronics save file by multiple files in the determining cloud file system, to determine cloud file system In the electronics save file and cloud file system in the relevant device of multiple files;With
For in client file systems, multiple copies of same electronics save file to be generated from same electronics save file Device, wherein the copy amount of the multiple copy is equal in cloud file system and the relevant multiple texts of same electronics save file The quantity of file in part folder;And
For in response to detecting the modification to the particular copy in the multiple copy in client file systems, making client Hold the particular copy in file system synchronous with the electronics save file in cloud file system.
7. according to the system described in claim 6, including:
For generating the device of multiple local folders in client file systems, being protected with same electronics in cloud file system Deposit each file one in the relevant multiple files of file.
8. according to the system described in claim 7, wherein each local folders include the described more of the electronics save file Copy in a copy.
9. according to the system described in claim 6, wherein each copy in the multiple copy of the electronics save file Cover the link of the same shared electronics save file in cloud file system.
10. according to the system described in claim 9, including:
For utilizing the link, by browser, the device of the electronics save file in cloud file system is accessed.
CN201380029205.6A 2012-04-23 2013-04-02 The shared file preserved with synchronous electronics Active CN104685485B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201810489494.2A CN108710533B (en) 2012-04-23 2013-04-02 Sharing and synchronizing electronically stored files
CN201810489389.9A CN108717454B (en) 2012-04-23 2013-04-02 Sharing and synchronizing electronically stored files
CN201810490633.3A CN108804213B (en) 2012-04-23 2013-04-02 Sharing and synchronizing electronically stored files

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US13/453,678 US9239846B2 (en) 2012-04-23 2012-04-23 Sharing and synchronizing electronically stored files
US13/453,799 US8949179B2 (en) 2012-04-23 2012-04-23 Sharing and synchronizing electronically stored files
US13/453,909 US9529818B2 (en) 2012-04-23 2012-04-23 Sharing and synchronizing electronically stored files
US13/453,909 2012-04-23
US13/453,799 2012-04-23
US13/453,748 US9244934B2 (en) 2012-04-23 2012-04-23 Sharing and synchronizing electronically stored files
US13/453,860 2012-04-23
US13/453,678 2012-04-23
US13/453,860 US20130282830A1 (en) 2012-04-23 2012-04-23 Sharing and synchronizing electronically stored files
US13/453,748 2012-04-23
PCT/US2013/034983 WO2013162837A1 (en) 2012-04-23 2013-04-02 Sharing and synchronizing electronically stored files

Related Child Applications (3)

Application Number Title Priority Date Filing Date
CN201810489494.2A Division CN108710533B (en) 2012-04-23 2013-04-02 Sharing and synchronizing electronically stored files
CN201810490633.3A Division CN108804213B (en) 2012-04-23 2013-04-02 Sharing and synchronizing electronically stored files
CN201810489389.9A Division CN108717454B (en) 2012-04-23 2013-04-02 Sharing and synchronizing electronically stored files

Publications (2)

Publication Number Publication Date
CN104685485A CN104685485A (en) 2015-06-03
CN104685485B true CN104685485B (en) 2018-06-15

Family

ID=49483749

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380029205.6A Active CN104685485B (en) 2012-04-23 2013-04-02 The shared file preserved with synchronous electronics

Country Status (3)

Country Link
EP (1) EP2842050A4 (en)
CN (1) CN104685485B (en)
WO (1) WO2013162837A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10599526B2 (en) * 2016-01-13 2020-03-24 Microsoft Technology Licensing, Llc Auto-save operation for collaborative editing of electronic documents
US10769113B2 (en) * 2016-03-25 2020-09-08 Microsoft Technology Licensing, Llc Attribute-based dependency identification for operation ordering
US10762054B2 (en) 2016-07-22 2020-09-01 Microsoft Technology Licensing, Llc Cloud content states determination logic
JP6869122B2 (en) * 2017-06-20 2021-05-12 シャープ株式会社 Content linkage system, content receiving device and content linkage method
CN109597537B (en) * 2017-09-30 2022-04-15 腾讯科技(深圳)有限公司 File synchronization method, device and equipment
US10866963B2 (en) 2017-12-28 2020-12-15 Dropbox, Inc. File system authentication
CN111880737A (en) * 2020-07-28 2020-11-03 苏州浪潮智能科技有限公司 Data reading and writing method, device and equipment and computer readable storage medium
CN117149727A (en) * 2023-09-18 2023-12-01 上海鸿翼软件技术股份有限公司 File processing method, device, equipment and storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102377827A (en) * 2011-12-13 2012-03-14 方正国际软件有限公司 Multilevel cloud storage system and storage method thereof

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090300169A1 (en) * 2008-06-03 2009-12-03 Microsoft Corporation Synchronization throttling based on user activity
US8219524B2 (en) * 2008-06-24 2012-07-10 Commvault Systems, Inc. Application-aware and remote single instance data management
US9614924B2 (en) * 2008-12-22 2017-04-04 Ctera Networks Ltd. Storage device and method thereof for integrating network attached storage with cloud storage services
US20110078243A1 (en) * 2009-09-30 2011-03-31 Boopsie, Inc. Leveraging Collaborative Cloud Services to Build and Share Apps
US8560519B2 (en) * 2010-03-19 2013-10-15 Microsoft Corporation Indexing and searching employing virtual documents
US8266192B2 (en) * 2010-03-19 2012-09-11 Hitachi, Ltd. File-sharing system and method for processing files, and program
US8346854B2 (en) * 2010-06-30 2013-01-01 Deskstream, Inc. Method and system of operating system independence

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102377827A (en) * 2011-12-13 2012-03-14 方正国际软件有限公司 Multilevel cloud storage system and storage method thereof

Also Published As

Publication number Publication date
WO2013162837A1 (en) 2013-10-31
CN104685485A (en) 2015-06-03
EP2842050A4 (en) 2016-01-13
EP2842050A1 (en) 2015-03-04

Similar Documents

Publication Publication Date Title
CN104685485B (en) The shared file preserved with synchronous electronics
US20210081371A1 (en) Sharing and synchronizing electronically stored files
US9239846B2 (en) Sharing and synchronizing electronically stored files
US9244934B2 (en) Sharing and synchronizing electronically stored files
US9529818B2 (en) Sharing and synchronizing electronically stored files
US7941410B2 (en) Method and system of managing conflicts for a set of synchronized folders
JP5255184B2 (en) Automated data organization
US7386532B2 (en) System and method for managing versions
US20130282830A1 (en) Sharing and synchronizing electronically stored files
US9124616B2 (en) Computer system management method and client computer
US8615477B2 (en) Monitoring relationships between digital items on a computing apparatus
US8805924B2 (en) Optimistic concurrency utilizing distributed constraint enforcement
JP2014010465A (en) Method for selecting storage cloud for storing entity file from two or more storage cloud and computer and computer program
EP2113851A2 (en) Content migration tool and method associated therewith
US20210350303A1 (en) Task list for tasks created at a third-party source
CN108710533A (en) The shared file preserved with synchronous electronics
US7310643B2 (en) Automatic capture of associations between content within a content framework system
Doherty et al. SRB in action
Freund File Systems and Usability—the Missing Link
Weise et al. Managing provenance in iRODS
Kramer Nomadic's SmartSync is easy to set up, but could be smarter.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant