CN104685485B - The shared file preserved with synchronous electronics - Google Patents
The shared file preserved with synchronous electronics Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
- G06F16/1767—Concurrency control, e.g. optimistic or pessimistic approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed 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
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.
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)
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)
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)
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 |
-
2013
- 2013-04-02 EP EP13782583.2A patent/EP2842050A4/en active Pending
- 2013-04-02 CN CN201380029205.6A patent/CN104685485B/en active Active
- 2013-04-02 WO PCT/US2013/034983 patent/WO2013162837A1/en active Application Filing
Patent Citations (1)
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 |