CA2458249A1 - A method for managing multiple file states for replicated files - Google Patents

A method for managing multiple file states for replicated files Download PDF

Info

Publication number
CA2458249A1
CA2458249A1 CA002458249A CA2458249A CA2458249A1 CA 2458249 A1 CA2458249 A1 CA 2458249A1 CA 002458249 A CA002458249 A CA 002458249A CA 2458249 A CA2458249 A CA 2458249A CA 2458249 A1 CA2458249 A1 CA 2458249A1
Authority
CA
Canada
Prior art keywords
copy
local copy
rollback
storing
computer
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.)
Granted
Application number
CA002458249A
Other languages
French (fr)
Other versions
CA2458249C (en
Inventor
Noah Edelstein
Lauren Antonoff
Hani Saliba
Hai Liu
Steven James Rayson
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.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CA2458249A1 publication Critical patent/CA2458249A1/en
Application granted granted Critical
Publication of CA2458249C publication Critical patent/CA2458249C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B65/00Locks or fastenings for special use
    • E05B65/0025Locks or fastenings for special use for glass wings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B47/00Operating or controlling locks or other fastening devices by electric or magnetic means
    • EFIXED CONSTRUCTIONS
    • E05LOCKS; KEYS; WINDOW OR DOOR FITTINGS; SAFES
    • E05BLOCKS; ACCESSORIES THEREFOR; HANDCUFFS
    • E05B9/00Lock casings or latch-mechanism casings ; Fastening locks or fasteners or parts thereof to the wing
    • E05B9/08Fastening locks or fasteners or parts thereof, e.g. the casings of latch-bolt locks or cylinder locks to the wing

Abstract

A server is implemented with a modified file open action, which, when a user performs the modified open, initially opens a file without locking the file. When a user indicates (either explicitly or implicitly) that the user is attempting to or intending to open the file, the file can then be locked for editing. In this way, the default action when a user requests a file is to open the file without denying other users access to the file. Then, when the user indicates that editing should occur, the lock for the file is obtained.

Claims (27)

1. A method for file replication on a first computer of a master file on a second computer, comprising:
storing a local copy on said first computer of said master file;
storing a shadow copy on said first computer of said master file;
permitting access to said local copy for modification; and updating said shadow copy when said master file changes.
2. The method of claim 1, where said method further comprises:
storing a versioning state associated with said replication, and where said step of permitting access to said local copy for modification comprises:
changing said versioning state when said local copy is modified.
3. The method of claim 2, where said step of changing said versioning state when said local copy is modified comprises:
setting said versioning state to a modified state indicating that said local copy has been modified.
4. The method of claim 1, where said method further comprises:
storing a versioning state associated with said replication;
and where said step of updating said shadow copy when said master file changes comprises:
changing said versioning state when said updating occurs.
5. The method of claim 1, where said step of updating said shadow copy when said master file changes comprises:
detecting that said local copy has been modified; and resolving conflicts between said local copy and said updated shadow copy.
6. The method of claim 5, where said method further comprises:
storing a versioning state associated with said replication;
and where said step of resolving conflicts between said local copy and said updated shadow copy comprises:

changing said versioning state to a conflicted state indicating that a conflict exits.
7. The method of claim 5, where said step of resolving conflicts between said local copy and said updated shadow copy comprises:
presenting a conflict interface;
accepting a conflict resolution command; and implementing said conflict resolution command.
8. The method of claim 7, where said implementation of conflict resolution commands comprises:
determining if a change should be made to said master file; and communicating said change to be made to said second computer.
9. The method of claim 8, where said step of communicating said change to be made to said second computer comprises:
generating difference information regarding differences between said local copy and said master file; and communicating said difference information to said master file.
10. The method of claim 1, where said step of updating said shadow copy when said master file changes comprises:
storing said local copy as a rollback copy; and updating said local copy with said shadow copy.
11. The method of claim 10, where said step of storing said local copy as a rollback copy comprises:
presenting a rollback interface;
accepting a rollback command; and displaying said rollback copy in response to said rollback command.
12. The method of claim 10, where said method further comprises:
storing a versioning state associated with said replication;
and where said step of storing said local copy as a rollback copy comprises:
changing said versioning state to a rollback available state.
13. The method of claim 10, further comprising:
tracking whether the local copy has been accessed;
and where said step of storing said local copy as a rollback copy comprises:
storing sail local copy as a rollback copy only if said local copy has been accessed.
14. At least one of an operating system, a computer readable medium having stored thereon a plurality of computer-executable instructions, a co-processing device, a computing device, and a modulated data signal carrying computer executable instructions for performing the method of claim 1.
15. A computer system for replication of a master file, said master file located on a second computer, said computer system at least intermittently operably connected to said second computer comprising:
local copy storage for storing a local copy on said first computer of said master file;
shadow copy storage storing a shadow copy on said first computer of said master file;
local copy modification module for permitting access to said local copy for modification; and shadow copy updating module updating said shadow copy storage when said master file changes.
16. The computer system of claim 15, further comprising:
versioning state storage for storing a versioning state associated with said replication, and where said local copy modification module changes said versioning state when said local copy is modified.
17. The computer system of claim 16, where said where said local copy modification module changes sets said versioning state to a modified state indicating that said local copy has been modified.
18. The computer system of claim 15, where said system further comprises:
versioning state storage for storing a versioning state associated with said replication;
and where said shadow copy updating module changing said versioning state when said updating occurs.
19. The computer system of claim 15, where shadow copy updating module comprises:
local copy modification detection module for detecting that said local copy has been modified; and conflict resolution module for resolving conflicts between said local copy and said updated shadow copy.
20. The computer system of claim 19, where said method further comprises:
versioning state storage for storing a versioning state associated with said replication;
and said conflict resolution module changes said versioning state to a conflicted state indicating that a conflict exits.
21. The computer system of claim 19, where said conflict resolution module comprises:
conflict interface module for presenting a conflict interface;
conflict resolution input module for accepting a conflict resolution command;
and conflict resolution implementation for implementing said conflict resolution command.
22. The computer system of claim 21, where said conflict resolution implementation comprises:
change determination module for determining if a change should be made to said master file; and second computer change communication module for communicating said change to be made to said second computer.
23. The computer system of claim 15, where said second computer change communication module comprises:

difference generation module for generating difference information regarding differences between said local copy and said master file; and second computer communication module for communicating said difference information to said master file.
24. The computer system of claim 15, where said shadow copy updating module comprises:

rollback storage for storing said local copy as a rollback copy; and local copy update module for updating said local copy with said shadow copy.
25. The computer system of claim 24, where said local copy update module comprises:

a rollback interface presentation module presenting a rollback interface;
rollback command acceptance module accepting a rollback command; and rollback copy display for displaying said rollback copy in response to said rollback command.
26. The computer system of claim 24, where said system further comprises:

versioning state storage for storing a versioning state associated with said replication,;

and where said rollback storage changes said versioning state to a rollback available state.
27. The computer system of claim 24, said system further comprising:
local copy access tracking module for tracking whether the local copy has been accessed;

and where said rollback storage for storing said local copy as a rollback copy comprises:

local copy access logic for storing said local copy as a rollback copy only if said local copy has been accessed.
CA2458249A 2003-02-28 2004-02-17 A method for managing multiple file states for replicated files Expired - Fee Related CA2458249C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/376,873 2003-02-28
US10/376,873 US8010491B2 (en) 2003-02-28 2003-02-28 Method for managing multiple file states for replicated files

Publications (2)

Publication Number Publication Date
CA2458249A1 true CA2458249A1 (en) 2004-08-28
CA2458249C CA2458249C (en) 2012-03-27

Family

ID=32771511

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2458249A Expired - Fee Related CA2458249C (en) 2003-02-28 2004-02-17 A method for managing multiple file states for replicated files

Country Status (19)

Country Link
US (1) US8010491B2 (en)
EP (1) EP1452982A3 (en)
JP (1) JP4643915B2 (en)
KR (1) KR101076851B1 (en)
CN (1) CN100377099C (en)
AU (1) AU2004200462A1 (en)
BR (1) BRPI0400364A (en)
CA (1) CA2458249C (en)
CO (1) CO5550075A1 (en)
IL (1) IL160353A0 (en)
MX (1) MXPA04001929A (en)
MY (1) MY147939A (en)
NO (1) NO331680B1 (en)
NZ (1) NZ531279A (en)
PL (1) PL365551A1 (en)
RU (1) RU2344468C2 (en)
SG (1) SG125106A1 (en)
TW (1) TWI316667B (en)
ZA (1) ZA200401310B (en)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7370025B1 (en) * 2002-12-17 2008-05-06 Symantec Operating Corporation System and method for providing access to replicated data
JP2004265193A (en) * 2003-03-03 2004-09-24 Canon Inc Information processing method, information processor, control method of server device, and server device
US7546291B2 (en) * 2004-02-19 2009-06-09 Microsoft Corporation Data source task pane
US8135755B2 (en) 2005-06-29 2012-03-13 Microsoft Corporation Templates in a schema editor
US7716168B2 (en) * 2005-06-29 2010-05-11 Microsoft Corporation Modifying table definitions within a database application
US7546286B2 (en) * 2004-02-19 2009-06-09 Microsoft Corporation Offline multi-table data editing and storage
GB2445368A (en) * 2005-04-14 2008-07-09 Rajesh Kapur A method and system for preserving access to a system in case of a disaster allowing transaction rollback
US8255362B2 (en) * 2005-06-08 2012-08-28 rPath Methods, systems, and computer program products for provisioning software using local changesets that represent differences between software on a repository and a local system
CN100373347C (en) * 2005-07-13 2008-03-05 华硕电脑股份有限公司 Electronic device with backup function automatically
CN100438416C (en) * 2005-12-02 2008-11-26 无锡永中科技有限公司 Method for realizing file coordination processing
US7743026B2 (en) * 2006-01-31 2010-06-22 Microsoft Corporation Redirection to local copies of server-based files
CN101042688B (en) * 2006-03-21 2011-06-01 北京北大方正电子有限公司 Indexing method and system for newspaper and magazine copy block network
US20080140732A1 (en) * 2006-12-11 2008-06-12 Bentley System, Inc. Method and system for sharing file based data
JP4432087B2 (en) * 2006-12-26 2010-03-17 インターナショナル・ビジネス・マシーンズ・コーポレーション Database update management system, program and method
US8554734B1 (en) * 2007-07-19 2013-10-08 American Megatrends, Inc. Continuous data protection journaling in data storage systems
US8190987B2 (en) 2007-10-25 2012-05-29 Microsoft Corporation Private views of data and local calculations during real time collaboration
WO2009062182A1 (en) 2007-11-09 2009-05-14 Topia Technology Architecture for management of digital files across distributed network
US7941399B2 (en) 2007-11-09 2011-05-10 Microsoft Corporation Collaborative authoring
US8825758B2 (en) 2007-12-14 2014-09-02 Microsoft Corporation Collaborative authoring modes
US20090164970A1 (en) * 2007-12-20 2009-06-25 At&T Knowledge Ventures, L.P. System for Managing Automated Report Versions
US8239345B2 (en) * 2007-12-27 2012-08-07 Microsoft Corporation Asynchronous replication
US8135838B2 (en) * 2008-04-08 2012-03-13 Geminare Incorporated System and method for providing data and application continuity in a computer system
US8352870B2 (en) 2008-04-28 2013-01-08 Microsoft Corporation Conflict resolution
US8825594B2 (en) 2008-05-08 2014-09-02 Microsoft Corporation Caching infrastructure
US8706694B2 (en) * 2008-07-15 2014-04-22 American Megatrends, Inc. Continuous data protection of files stored on a remote storage device
WO2010116539A1 (en) * 2009-04-08 2010-10-14 Hitachi, Ltd. File detection device and method
US8346768B2 (en) * 2009-04-30 2013-01-01 Microsoft Corporation Fast merge support for legacy documents
US8612380B2 (en) * 2009-05-26 2013-12-17 Adobe Systems Incorporated Web-based collaboration for editing electronic documents
US9298834B2 (en) 2009-05-26 2016-03-29 Adobe Systems Incorporated User presence data for web-based document collaboration
WO2011034548A1 (en) * 2009-09-21 2011-03-24 Hewlett-Packard Development Company, L.P. System including a virtual disk
US8612398B2 (en) * 2010-03-11 2013-12-17 Microsoft Corporation Clean store for operating system and software recovery
US9652440B2 (en) * 2010-05-27 2017-05-16 Microsoft Technology Licensing, Llc Concurrent utilization of a document by multiple threads
US9665582B2 (en) * 2010-08-04 2017-05-30 Quantum Corporation Software, systems, and methods for enhanced replication within virtual machine environments
CN101937310B (en) * 2010-09-06 2014-07-16 宇龙计算机通信科技(深圳)有限公司 File copying method and terminal
US20120158891A1 (en) * 2010-12-21 2012-06-21 Microsoft Corporation Techniques for universal representation of digital content
US9924002B1 (en) 2012-06-21 2018-03-20 EMC IP Holding Company LLC Managing stateless processes
CN104737135B (en) * 2012-10-25 2017-07-25 富士通株式会社 The information processing terminal and synchronisation control means
CN104123126B (en) * 2013-04-26 2018-04-10 阿里巴巴集团控股有限公司 It is a kind of to be used to generate the method and apparatus for merging conflict record list
CN104750536B (en) 2013-12-30 2018-08-21 华为技术有限公司 A kind of method and apparatus realized virtual machine and examined oneself
WO2020025124A1 (en) * 2018-08-01 2020-02-06 Huawei Technologies Co., Ltd. Device and method for rollback of a structure modification operation
AU2020267130B2 (en) * 2019-04-30 2022-11-03 Clumio, Inc. Cloud-based data protection service
CN110262997A (en) * 2019-05-06 2019-09-20 阿里巴巴集团控股有限公司 For managing the method and system of public documents
CN110795252A (en) * 2019-09-20 2020-02-14 北京浪潮数据技术有限公司 Method, device, equipment and storage medium for multi-user serial editing of file

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3588084T2 (en) 1984-11-14 1996-10-17 Canon Kk Machine vision system
JPH04181423A (en) 1990-11-16 1992-06-29 Fujitsu Ltd Version control system
US5278979A (en) * 1990-12-20 1994-01-11 International Business Machines Corp. Version management system using pointers shared by a plurality of versions for indicating active lines of a version
US5280612A (en) * 1991-11-26 1994-01-18 International Business Machines Corporation Multiple version database concurrency control system
JPH05241933A (en) * 1992-02-28 1993-09-21 Mitsubishi Electric Corp File maintaining system for distributed data managing system
JP3213766B2 (en) 1992-03-16 2001-10-02 株式会社日立製作所 Replicate file update system
JPH0827754B2 (en) * 1992-05-21 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション File management method and file management system in computer system
US5493728A (en) * 1993-02-19 1996-02-20 Borland International, Inc. System and methods for optimized access in a multi-user environment
US5630116A (en) * 1993-08-11 1997-05-13 Nec Corporation Automatic delivery system for master files in a distributed processing system
US5835911A (en) 1994-02-08 1998-11-10 Fujitsu Limited Software distribution and maintenance system and method
WO1995029450A1 (en) * 1994-04-21 1995-11-02 British Telecommunications Public Limited Company Data storage
US5806078A (en) 1994-06-09 1998-09-08 Softool Corporation Version management system
EP0713183A3 (en) * 1994-11-18 1996-10-02 Microsoft Corp Network independent file shadowing
US5694596A (en) 1995-05-25 1997-12-02 Kangaroo, Inc. On-line database updating network system and method
US5881292A (en) 1996-09-26 1999-03-09 Microsoft Corporation Dynamic versioning system for multiple users of multi-module software system
US5930794A (en) * 1996-10-18 1999-07-27 Sagent Technologies, Inc. Database repository with deferred transactions
AU6183798A (en) 1997-02-27 1998-09-29 Siebel Systems, Inc. Method of migrating to a successive level of a software distribution incorporating local modifications
US6314565B1 (en) 1997-05-19 2001-11-06 Intervu, Inc. System and method for automated identification, retrieval, and installation of multimedia software components
US6182073B1 (en) 1997-05-20 2001-01-30 Intel Corporation Integrated information browsing and multiple-participant application with a persistency control configured to monitor and to prevent attempts to replace data within the information browser
JP3567696B2 (en) 1997-09-24 2004-09-22 松下電器産業株式会社 Software download system
US6014669A (en) * 1997-10-01 2000-01-11 Sun Microsystems, Inc. Highly-available distributed cluster configuration database
JPH11143754A (en) 1997-11-05 1999-05-28 Hitachi Ltd Version information and constitution information display method and device therefor, and computer readable recording medium for recording version information and constitution information display program
US6041333A (en) 1997-11-14 2000-03-21 Microsoft Corporation Method and apparatus for automatically updating a data file from a network
US6067551A (en) * 1997-11-14 2000-05-23 Microsoft Corporation Computer implemented method for simultaneous multi-user editing of a document
US6052531A (en) 1998-03-25 2000-04-18 Symantec Corporation Multi-tiered incremental software updating
US6457021B1 (en) * 1998-08-18 2002-09-24 Microsoft Corporation In-memory database system
US6804663B1 (en) 1998-09-21 2004-10-12 Microsoft Corporation Methods for optimizing the installation of a software product onto a target computer system
US6341291B1 (en) 1998-09-28 2002-01-22 Bentley Systems, Inc. System for collaborative engineering using component and file-oriented tools
US6324544B1 (en) 1998-10-21 2001-11-27 Microsoft Corporation File object synchronization between a desktop computer and a mobile device
JP2000284998A (en) 1999-03-31 2000-10-13 Ricoh Co Ltd Data update control system and method and computer readable recording medium storing program for executing the method
US6560655B1 (en) 1999-06-22 2003-05-06 Microsoft Corporation Synchronization manager for standardized synchronization of separate programs
US6405219B2 (en) * 1999-06-22 2002-06-11 F5 Networks, Inc. Method and system for automatically updating the version of a set of files stored on content servers
US6513084B1 (en) 1999-06-29 2003-01-28 Microsoft Corporation Arbitration of state changes
US6529921B1 (en) 1999-06-29 2003-03-04 Microsoft Corporation Dynamic synchronization of tables
US6516339B1 (en) 1999-08-18 2003-02-04 International Business Machines Corporation High performance client/server editor
US6256773B1 (en) 1999-08-31 2001-07-03 Accenture Llp System, method and article of manufacture for configuration management in a development architecture framework
US6449624B1 (en) 1999-10-18 2002-09-10 Fisher-Rosemount Systems, Inc. Version control and audit trail in a process control system
US6757893B1 (en) * 1999-12-17 2004-06-29 Canon Kabushiki Kaisha Version control system for software code
JP2001193735A (en) * 2000-01-05 2001-07-17 Minebea Co Ltd Torque adjusting mechanism for spherical slide bearing
US6721767B2 (en) * 2000-01-31 2004-04-13 Commvault Systems, Inc. Application specific rollback in a computer system
US6598059B1 (en) * 2000-04-22 2003-07-22 Oracle Corp. System and method of identifying and resolving conflicts among versions of a database table
CN1290038C (en) * 2000-05-25 2006-12-13 英业达股份有限公司 Method for instantaneous generation of file version
US6845383B1 (en) 2000-06-19 2005-01-18 International Business Machines Corporation System and method for managing concurrent scheduled or on-demand replication of subscriptions
US6865591B1 (en) * 2000-06-30 2005-03-08 Intel Corporation Apparatus and method for building distributed fault-tolerant/high-availability computed applications
US6658330B2 (en) 2000-12-29 2003-12-02 General Electric Co. Method and system for upgrading software for controlling locomotives
US6714953B2 (en) 2001-06-21 2004-03-30 International Business Machines Corporation System and method for managing file export information
US20030167318A1 (en) 2001-10-22 2003-09-04 Apple Computer, Inc. Intelligent synchronization of media player with host computer
US7389309B2 (en) * 2003-02-28 2008-06-17 Microsoft Corporation Method for managing file replication in applications
US7350191B1 (en) 2003-04-22 2008-03-25 Noetix, Inc. Computer implemented system and method for the generation of data access applications

Also Published As

Publication number Publication date
RU2004105881A (en) 2005-08-10
ZA200401310B (en) 2005-11-30
JP4643915B2 (en) 2011-03-02
CN100377099C (en) 2008-03-26
NO331680B1 (en) 2012-02-20
KR20040077497A (en) 2004-09-04
CA2458249C (en) 2012-03-27
IL160353A0 (en) 2004-07-25
MY147939A (en) 2013-02-15
TW200508891A (en) 2005-03-01
US8010491B2 (en) 2011-08-30
KR101076851B1 (en) 2011-10-25
US20040172424A1 (en) 2004-09-02
TWI316667B (en) 2009-11-01
CO5550075A1 (en) 2005-08-31
MXPA04001929A (en) 2005-04-25
EP1452982A3 (en) 2006-11-08
RU2344468C2 (en) 2009-01-20
BRPI0400364A (en) 2004-12-28
JP2004265414A (en) 2004-09-24
NZ531279A (en) 2005-07-29
CN1525328A (en) 2004-09-01
NO20040829L (en) 2004-09-01
EP1452982A2 (en) 2004-09-01
SG125106A1 (en) 2006-09-29
AU2004200462A1 (en) 2004-09-16
PL365551A1 (en) 2004-09-06

Similar Documents

Publication Publication Date Title
CA2458249A1 (en) A method for managing multiple file states for replicated files
US20230315690A1 (en) System and method for content synchronization
US10740319B2 (en) Graph-based data models for partitioned data
US7778962B2 (en) Client store synchronization through intermediary store change packets
US6826582B1 (en) Method and system for using file systems for content management
CN105431838B (en) Streamed content and placeholder
US8965840B2 (en) Automatic synchronization conflict resolution
KR102128139B1 (en) File management with placeholders
US7797275B2 (en) System and method of time-based cache coherency maintenance in user file manager of object-based storage system
CN100445998C (en) Transactional file system
US9418135B2 (en) Primary database system, replication database system and method for replicating data of a primary database system
US20030055828A1 (en) Methods for synchronizing on-line and off-line transcript projects
US20140081933A1 (en) Preserving File Metadata During Atomic Save Operations
US20180143882A1 (en) File system framework
CN100585595C (en) Method for managing file system data using dbms
US8965862B2 (en) Directory oplock
US20080005111A1 (en) Atomic transaction file manager
CN105843702A (en) Method and device for data backup
US9020994B1 (en) Client-based migrating of data from content-addressed storage to file-based storage
WO2017008648A1 (en) Cluster switching method and equipment
US20090132534A1 (en) Remote replication synchronizing/accessing system and method thereof
CN105593839A (en) Distributed disaster recovery file sync server system
CN104021137A (en) Method and system for opening and closing file locally through client side based on catalogue authorization
US8082230B1 (en) System and method for mounting a file system on multiple host computers
KR100637932B1 (en) Method for unmounting of filesystem

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed

Effective date: 20210831

MKLA Lapsed

Effective date: 20200217