Claims
- 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.
RELATED APPLICATIONS
[0001] This patent application relates to commonly assigned copending U.S. patent application Ser. No. AA/BBB,CCC, filed Month DD, YYYY under attorney docket number MSFT-1651 and entitled “Managing File Replication in Applications.”