Techniques are provided for managing file versions. In one technique, versions of directories are created responsive to creation of versions of files descendant from the directories. Directory versions are associated with times. Interfile links are maintained so file versions descendant from a direc
Techniques are provided for managing file versions. In one technique, versions of directories are created responsive to creation of versions of files descendant from the directories. Directory versions are associated with times. Interfile links are maintained so file versions descendant from a directory version reflect the directory version's time. In another technique, a mechanism is provided for tagging file versions that shouldn't be overwritten. Responsive to a first file version's update, it is determined whether that version is tagged. If so, a second version is stored while retaining the first version. Otherwise, the first version is deleted responsive to the second version's storage. In another technique, responsive to a first file version's change, it is determined whether first criteria are satisfied. If so, a second version is created while retaining the first version, and versions of the file's ancestor files that satisfy second criteria are created.
대표청구항▼
1. A computer-implemented method for managing versions of files in a file system, the method comprising the steps of: providing a mechanism for tagging versions of files that are not to be overwritten;as part of an update to a first version of a file, performing the steps of: traversing one or more
1. A computer-implemented method for managing versions of files in a file system, the method comprising the steps of: providing a mechanism for tagging versions of files that are not to be overwritten;as part of an update to a first version of a file, performing the steps of: traversing one or more files in a file hierarchy to locate said first version of the file;determining whether any file in a plurality of files is tagged, wherein the plurality of files consists of the first version of the file and the one or more files traversed to locate said first version of the file;if one of the one or more traversed files is tagged or if the first version of the file is tagged, then storing a second version of the file while retaining said first version of the file; andif none of the one or more traversed files and the first version of the file is tagged, then storing said second version of the file and deleting said first version of the file;wherein the steps are performed on one or more computing devices. 2. The method of claim 1 wherein: the first version of said file is stored in a first version of a particular directory;the first version of the particular directory includes one or more files other than said file;the step of storing said second version of the file while retaining said first version of the file includes: creating a second version of said particular directory;establishing said one or more files as members of said second version of said particular directory; andestablishing said second version of said file as a member of said second version of said particular directory while maintaining said first version of said particular file as a member of said first version of said particular directory. 3. A computer-implemented method for maintaining versions of files in a file system, the method comprising the steps of: as part of a change made to a first version of a file, determining whether a first set of criteria is satisfied;if the first set of criteria is satisfied, then creating and storing a second version of the file while retaining the first version of the file; andfor each ancestor file, of one or more ancestor files above said file in a file hierarchy, determining whether said each ancestor file satisfies a second set of criteria;if said each ancestor file satisfies said second set of criteria, then creating and storing a new version of said each ancestor file;if said each ancestor file does not satisfy said second set of criteria, then not creating and storing a new version of said each ancestor file;wherein the steps are performed on one or more computing devices. 4. The method of claim 3 further comprising the steps of: receiving user input that specifies that one or more files in said file system are to be tagged;storing data within said file system to indicate that said one or more files are tagged;wherein the step of determining whether a first set of criteria is satisfied includes determining whether said first version of said file is tagged; andwherein said first set of criteria includes that said first version of said file is tagged. 5. The method of claim 3 further comprising the step of associating said file with a project, wherein said second set of criteria includes that said ancestor file belongs to said project. 6. The method of claim 5 wherein the file system includes one or more files that belong to a second project, the method further including the step of allowing a user to use a view of said file system in which files that belong to said project are seen as they existed at a first point in time, and the one or more files that belong to the second project are seen as they existed at a second point in time that is different from said first point in time. 7. The method of claim 6 further comprising the steps of: through said view, performing a traversal of said file hierarchy based on links between files in said file system; andduring said traversal, following a link that has a source file and a target file only if said view specifies that said source file and said target file are to be seen as of a same point in time. 8. The method of claim 4 further comprising the step of deleting a third version of said file that is not tagged in response to creating said second version of the file. 9. The method of claim 8 wherein the step of deleting said third version of said file is performed in response to detecting that creation of said second version of the file would exceed a threshold maximum number of untagged versions of said file. 10. The method of claim 7, further comprising the step of marking links in said file system to indicate whether the source file and the target file associated with the links belong to the same project. 11. One or more storage media storing instructions for managing versions of files in a file system, wherein the instructions, when executed by one or more processors, cause: providing a mechanism for tagging versions of files that are not to be overwritten;as part of an update to a first version of a file, performing the steps of: traversing one or more files in a file hierarchy to locate said first version of the file;determining whether any file in a plurality of files is tagged, wherein the plurality of files consists of the first version of the file and the one or more files traversed to locate said first version of the file;if one of the one or more traversed files is tagged or if the first version of the file is tagged, then storing a second version of the file while retaining said first version of the file; andif none of the one or more traversed files and the first version of the file is tagged, then storing said second version of the file and deleting said first version of the file. 12. The one or more storage media of claim 11, wherein: the first version of said file is stored in a first version of a particular directory;the first version of the particular directory includes one or more files other than said file;the step of storing said second version of the file while retaining said first version of the file includes: creating a second version of said particular directory;establishing said one or more files as members of said second version of said particular directory; andestablishing said second version of said file as a member of said second version of said particular directory while maintaining said first version of said particular file as a member of said first version of said particular directory. 13. One or more storage media storing instructions for maintaining versions of files in a file system, wherein the instructions, when executed by one or more processors, cause: as part of a change made to a first version of a file, determining whether a first set of criteria is satisfied;if the first set of criteria is satisfied, then creating and storing a second version of the file while retaining the first version of the file; andfor each ancestor file, of one or more ancestor files above said file in a file hierarchy, determining whether said each ancestor file satisfies a second set of criteria;if said each ancestor file satisfies said second set of criteria, then creating and storing a new version of said each ancestor file;if said each ancestor file does not satisfy said second set of criteria, then not creating and storing a new version of said each ancestor file. 14. The one or more storage media of claim 13, wherein the instructions, when executed by the one or more processors, further cause: receiving user input that specifies that one or more files in said file system are to be tagged;storing data within said file system to indicate that said one or more files are tagged;wherein the step of determining whether a first set of criteria is satisfied includes determining whether said first version of said file is tagged; andwherein said first set of criteria includes that said first version of said file is tagged. 15. The one or more storage media of claim 14, wherein the instructions, when executed by the one or more processors, further cause deleting a third version of said file that is not tagged in response to creating said second version of the file. 16. The one or more storage media of claim 15, wherein deleting said third version of said file is performed in response to detecting that creation of said second version of the file would exceed a threshold maximum number of untagged versions of said file. 17. The one or more storage media of claim 13, wherein the instructions, when executed by the one or more processors, further cause associating said file with a project, wherein said second set of criteria includes that said ancestor file belongs to said project. 18. The one or more storage media of claim 17, wherein the file system includes one or more files that belong to a second project, wherein the instructions, when executed by the one or more processors, further cause allowing a user to use a view of said file system in which files that belong to said project are seen as they existed at a first point in time, and the one or more files that belong to the second project are seen as they existed at a second point in time that is different from said first point in time. 19. The one or more storage media of claim 18, wherein the instructions, when executed by the one or more processors, further cause: through said view, performing a traversal of said file hierarchy based on links between files in said file system; andduring said traversal, following a link that has a source file and a target file only if said view specifies that said source file and said target file are to be seen as of a same point in time. 20. The one or more storage media of claim 19, wherein the instructions, when executed by the one or more processors, further cause marking links in said file system to indicate whether the source file and the target file associated with the links belong to the same project.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (109)
Uppala Radha Krishna, Architecture for managing query friendly hierarchical values.
Chow Yen-whei ; Hayes-Roth Frederick A. ; Jacobstein Neil A. ; Manley James E. ; McMahan Christopher B., Automatic retrieval of changed files by a network software agent.
Farber David A. ; Lachman Ronald D., Data processing system using substantially unique identifiers to identify data items, whereby identical data items hav.
Freund Gregor P. (San Francisco CA) Kahn Philippe R. (Scotts Valley CA) Lee Sonia (Scotts Valley CA), Databank system with methods for efficiently storing non-uniform data records.
Johnson Donavon W. (Georgetown TX) Shaheen-Gouda Amal A. (Austin TX) Smith Todd A. (Austin TX), Directory cache management in a distributed data processing system.
Satoshi Kikuchi JP; Hiromichi Ito JP; Keiichi Nakane JP; Hisashi Hashimoto JP; Eisaku Nishiyama JP, Distributed database management system including logical database constituted by a group of physical databases.
Whitney Alan ; Neeman Yuval ; Koneru Sudheer ; Shah Milan ; Cook Peter J. ; Miller Arnold S., Distributed file system providing a unified name space with efficient name resolution.
Leblang David B. (Wayland MA) Allen Larry W. (Cambridge MA) Chase ; Jr. Robert P. (Newton MA) Douros Bryan P. (Framingham MA) Jabs David E. (Sudbury MA) McLean ; Jr. Gordon D. (Brookline MA) Minard D, Dynamic rule-based version control system.
Atsatt Bryan P. (Redwood City CA) Nandkeshwar Earsh K. (San Jose CA) Seilnacht Michael J. (Fremont CA) Thakkar Hemantkumar A. (Milpitas CA) Turner George R. (Sunnyvale CA) Webster Roger R. (San Jose , Extensible object-oriented file system.
Napolitano Richard ; Silverman Herbert W. ; Juzsczak Chester ; Panner Bryan K. ; Franklin Chris ; Noya Eric S. ; Hoskins Timothy Lee ; Luke Stanley ; Shaughnessy Paul Richard ; McLeod Alexander C. ; , File array storage architecture having file system distributed across a data processing platform.
Vahalia, Uresh K.; Tzelnic, Percy, File server system providing direct data sharing between clients with a server acting as an arbiter and coordinator.
Allen Philip M. ; Davis Joseph W. ; Maslaney Michael J. ; Mai Khanh ; Paulk Howard L. ; Thompson Ken, Flexible, configurable, hierarchical system for distributing programming.
Karaev Isaak ; Baird George ; Blazek Pavel ; Kitain Eduard ; Prohorov Dmitry ; Leisy Jacques ; Urazov Yuri ; Zucknovich Stephen, Information delivery system and method.
Barney Rock D. ; Schwols Keith ; Nelson Ellen M., Integration of a database into file management software for protecting, tracking and retrieving data.
Schneider, Richard, METHOD, SYSTEM FOR USING FILE NAME TO ACCESS APPLICATION PROGRAM WHERE A LOGICAL FILE SYSTEM PROCESSES PATHNAME TO DETERMINE WHETHER THE REQUEST IS A FILE ON STORAGE DEVICE OR OPERATION FOR APPLICATI.
Salisbury Michael P. ; Dourish James P. ; Edwards Warren K. ; LaMarca Anthony G., Maintaining document identity across hierarchy and non-hierarchy file systems.
Ramakrishnan Kadangode K. (Maynard MA) Biswas Prabuddha (Nashua NH), Managing the fetching and replacement of cache entries associated with a file system.
Irwin ; Jr. Basil L. (Longmont CO) Kitts David L. (Fraser CO) Ruff Craig R. (Boulder CO) Sloan John L. (Arvada CO), Mass storage system for file-systems.
Henninger Derek P. (Cupertino CA) Jensen Richard H. (Redwood City CA) Keene Christopher T. (San Francisco CA), Method and apparatus for automatic generation of object oriented code for mapping relational data to objects.
Ronald Patrick Doyle ; John Raithel Hind ; Julie Hayes King, Method and apparatus for client authentication and application configuration via smart cards.
Salas Pito ; Beir Jeffrey ; Leffler Melissa ; Glenn McDonald ; Kleppner Paul ; Morrissey Craig ; Tonra ; Jr. James E., Method and apparatus for controlling access to a product.
Eto Toshihisa (Kawasaki JPX) Yoshizawa Tsuneichi (Kawasaki JPX) Shiga Koichi (Kawasaki JPX), Method and apparatus for testing an application in a client/server database system using pseudo-database server and debu.
Gramlich Wayne C. (Sunnyvale CA) Tirfing Soren J. (Palo Alto CA), Method and apparatus for the naming of database component files to avoid duplication of files.
Luis Felipe Cabrera ; Chandrasekaran Mohan ; Inderpal Singh Narang, Method and means for backup and restoration of a database system linked to a system for filing data.
Jason Michael Gartner CA; Ronald James Pomeroy CA, Method and means for evaluating the performance of a database system referencing files external to the database system.
Davidson Thomas J. (Austin TX) Kelley Michael T. (Austin TX), Method and system for implementing remote procedure calls in a distributed computer system.
Barrett Phillip L. (Redmond WA) Quinn Scott D. (Kirkland WA) Lipe Ralph A. (Seattle WA), Method and system for traversing linked list record based upon write-once predetermined bit value of secondary pointers.
Lewak Jerzy (Del Mar CA) Grzechnik Slawek (La Mesa CA) Matousek Jon (San Diego CA), Method for accessing computer files and data, using linked categories assigned to each data file record on entry of the.
Lahr Jonathan Ellsworth (Austin TX) McBrearty Gerald Francis (Austin TX) Shieh Johnny Meng-Han (Austin TX) Tropiano Leonard Barry (Austin TX), Method for incrementally archiving primary storage to archive storage by utilizing both a partition archive status array.
Koerber Paul D. (Mission Viejo CA) Neubauer Ronald J. (Thousand Oaks CA), Method for maintaining a history of system data and processes for an enterprise.
Aoyama Yuki,JPX ; Takahashi Toru,JPX ; Wakayama Satoshi,JPX, Method of and an apparatus for displaying version information and configuration information and a computer-readable recording medium on which a version and configuration information display program i.
Atsatt Bryan P. ; Nandkeshwar Earsh K. ; Seilnacht Michael J. ; Thakkar Hemantkumar A. ; Turner George R. ; Webster Roger R., Object oriented file system in an object oriented operating system.
Steven H. Milne ; James Michael Tindell ; John C. Tobias, II ; Michael R. Dilts ; Bradley Alan Edelman ; Matthew Denman, Object-oriented multimedia [data routing system] presentation control system.
Adair John G. (Austin TX) Demers Richard A. (Rochester MN) Ecimovic Dusan (Orinda CA) Grafe Robert J. (Austin TX) Jackson Robert D. (San Jose CA) Lindsay Bruce G. (San Jose CA) Murphy Michael E. (Dur, Query language execution on heterogeneous database servers using a bind-file bridge between application and database lan.
Deborah Bauer ; Ross Button CA; Mike Cavanagh CA; Susan Jane McQuigge Ernst CA; Kevin Germann CA; Ralph Holmes ; Samuel S. Howlette ; William Kalyn CA; Steve Sauve CA; Francis C. Sommers CA, System and method for achieving local number portability.
Draper, Stephen Peter Willis; Collins, Brian James; Falls, Patrick Terence, System and method for generating file updates for files stored on read-only media.
Bohannon Philip L. ; Leinbaugh Dennis W. ; Rastogi Rajeev ; Seshadri Srinivasan,INX ; Silberschatz Abraham ; Sudarshan Sundararajarao,INX, System and method for physically versioning data in a main memory database.
Jeremy Mark Holland ; Jessica Dilullo Herrin ; Jennifer Lefcourt ; Andrew Michael Mosson, System and method for providing internet accessible registries.
Badger Lee ; Sterne Daniel F. ; Sherman David L. ; Tajalli Homayoon ; Dalva David I., System and method for superimposing attributes on hierarchically organized file systems.
Lee,Wang Chien; Mitchell,Gail Anne; Rundensteiner,Elke Angelika; Zhang,Xin, System and method for synchronizing and/or updating an existing relational database with supplemental XML data.
Nakano, Russell T.; Yee, Terrence T. W.; Park, Britt H.; Barr, Sanford L.; Jia, Jack S.; Hegde, Gajanana; Cochrane, Kevin, System and method for website development.
Badger M. Lee ; Sterne Daniel F. ; Sherman David L. ; Tajalli Homayoon ; Dalva David I., System, method and computer program product for superimposing attributes on hierarchically organized file systems.
Allen Larry W. (Cambridge MA) Fernandez Gary L. (Concord MA) Kane Kenneth P. (Acton MA) Leblang David B. (Wayland MA) Minard Debra A. (Newton MA) McLean ; Jr. Gordon D. (Brookline MA), Version control system for geographically distributed software development.
Michael P. Salisbury ; James P. Dourish ; Warren K. Edwards ; Anthony G. LaMarca ; John O. Lamping ; Karin Petersen ; Douglas B. Terry ; James D. Thornton, Virtual documents generated via combined documents or portions of documents retrieved from data repositories.
Wall, Matthew B.; Wall, Timothy R.; Aucott, Andrew, Computer method and apparatus for engineered product management including simultaneous indication of working copy status and repository status.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.