In one embodiment, a user or client device is connected to a distributed file system comprised of one or more physical nodes. The data on each of the physical nodes store metadata about files and directories within the file system. Some of the embodiments permit a user to take a snapshot of data sto
In one embodiment, a user or client device is connected to a distributed file system comprised of one or more physical nodes. The data on each of the physical nodes store metadata about files and directories within the file system. Some of the embodiments permit a user to take a snapshot of data stored on the file system. The snapshot may include a single file, a single directory, a plurality of files within a directory, a plurality of directories, a path on the file system that includes nested files and subdirectories, or more than one path on the file system that each includes nested files and directories. In an embodiment, a snapshot tracking data structure is maintained for efficient creation and deletion of the snapshot.
대표청구항▼
1. A data storage system configured to efficiently create and delete snapshots of files and directories, the system comprising: at least one storage device;at least one computer processor; andat least one executable software module executed by the at least one computer processor and configured to: c
1. A data storage system configured to efficiently create and delete snapshots of files and directories, the system comprising: at least one storage device;at least one computer processor; andat least one executable software module executed by the at least one computer processor and configured to: create a first snapshot of data stored on the at least one storage device, wherein the data comprises one or more files or directories;obtain a request to modify one or more portions of the data;responsive to the request to modify one or more portions of the data, create a snapshot tracking data structure associated with the first snapshot of data, wherein the snapshot tracking data structure is configured to store references associated with the one or more portions of the data; anddelete the first snapshot, wherein deleting the first snapshot includes: determining whether each of the one or more portions of the data is governed by an earlier snapshot than the first snapshot;responsive to determining that a first portion of the one or more portions of data is governed by the earlier snapshot, determining whether the first portion of the data has been modified; andresponsive to determining that the first portion of the data has been modified, replacing a pointer in the earlier snapshot that points to a reference in the first snapshot that points to a location on the at least one storage device where the first portion of data is store with a direct reference to the location. 2. The data storage system of claim 1, wherein the at least one executable software module is further configured to create a snapshot tracking data structure each time a snapshot is created. 3. The data storage system of claim 1, wherein the at least one executable software module is further configured to delete the snapshot tracking data structure after deleting the first snapshot. 4. The data storage system of claim 1, wherein deleting the first snapshot comprises deleting metadata associated with the first snapshot. 5. The data storage system of claim 1, wherein the references associated with the one or more portions of the data are references to metadata associated with the one or more portions of the data. 6. The data storage system of claim 1, wherein the snapshot tracking data structure is further configured to store references associated with one or more portions of the data, wherein the one or more portions of the data have been read after the first snapshot is created. 7. The data storage system of claim 1, wherein the snapshot tracking data structure is further configured to store references associated with one or more portions of the data, wherein the one or more portions of the data have been read after the first snapshot is created and before a subsequent snapshot is created. 8. The data storage system of claim 1, wherein the at least one executable software module is further configured to create a table, wherein the table is configured to store a plurality of references pairs, each reference pair comprising a first reference associated with a portion of data stored on the at least one storage device and a second reference associated with a snapshot governing that portion of data. 9. The data storage system of claim 8, wherein the at least one executable software module is further configured to determine whether there is an earlier snapshot governing the associated portion by checking the table for a reference associated with the associated portion. 10. The data storage system of claim 8, wherein the first reference is a reference to metadata associated with the portion of data. 11. A method for efficiently creating and deleting snapshots of files and directories, the method comprising: creating, by one or more computer processors, a first snapshot of data stored on the at least one storage device, wherein the data comprises one or more files or directories;obtaining, by one or more computer processors, a request to modify one or more portions of the data;responsive to the request to modify one or more portions of the data creating, by one or more computer processors, a snapshot tracking data structure associated with the first snapshot of data, wherein the snapshot tracking data structure is configured to store references associated with the one or more portions of the data; anddeleting, by one or more computer processors, the first snapshot, wherein deleting the first snapshot includes: determining whether each of the one or more portions of the data is governed by an earlier snapshot than the first snapshot;responsive to determining that a first portion of the one or more portions of data is governed by the earlier snapshot, determining whether the first portion of the data has been modified; and responsive to determining that the first portion of the data has been modified, replacing a pointer in the earlier snapshot that points to a reference in the first snapshot that points to a location on the at least one storage device where the first portion of data is stored with a direct reference to the location. 12. The method of claim 11, further comprising creating a snapshot tracking data structure each time a snapshot is created. 13. The method of claim 11, further comprising deleting the snapshot tracking data structure after deleting the first snapshot. 14. The method of claim 11, wherein deleting the first snapshot comprises deleting metadata associated with the first snapshot. 15. The method of claim 11, wherein the references associated with the one or more portions of the data are references to metadata associated with the one or more portions of the data. 16. The method of claim 11, wherein the snapshot tracking data structure is further configured to store references associated with one or more portions of the data, wherein the one or more portions of the data have been read after the first snapshot is created. 17. The method of claim 11, wherein the snapshot tracking data structure is further configured to store references associated with one or more portions of the data, wherein the one or more portions of the data have been read after the first snapshot is created and before a subsequent snapshot is created. 18. The method of claim 11, further comprising creating a table, wherein the table is configured to store a plurality of references pairs, each reference pair comprising a first reference associated with a portion of data stored on the at least one storage device and a second reference associated with a snapshot governing that portion of data. 19. The method of claim 18, further comprising determining whether there is an earlier snapshot governing the associated portion by checking the table for a reference associated with the associated portion. 20. The method of claim 18, wherein the first reference is a reference to metadata associated with the portion of data.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (237)
McGoveran,David O., Adaptive transaction manager for complex transactions and business process.
Stirpe Paul Alan ; Verma Dinesh Chandra ; Nadas Stephen Joseph ; Gupta Manish ; Hervatic Elizabeth A., Automatic reconfiguration of multipoint communication channels.
Alverson, Gail A.; Callahan, II, Charles David; Kahan, Simon H.; Koblenz, Brian D.; Porterfield, Allan; Smith, Burton J., Detecting access to a memory location in a multithreaded environment.
Watanabe Naoki,JPX ; Kakuta Hitoshi,JPX ; Takamoto Yoshifumi,JPX, Disk array system having adjustable parity group sizes based on storage unit capacities.
Smith Robert M. (Andover MA) Ting David M. T. (Sudbury MA) Boer Jan H. (Lexington MA) Mendelssohn Marvin (Melrose MA), Document management and production system.
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.
Solter,Nicholas A.; Kong,Wei; Rao,Anil; Tripathi,Ashutosh, Facilitating event notification through use of an inverse mapping structure for subset determination.
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.
Belsan Jay S. (Nederland CO) Laughlin Jeffrey S. (Nederland CO) Pedersen Mogens H. (Longmont CO) Raicer Robert J. (Niwot CO) Rudeseal George A. (Boulder CO) Schafer Charles P. (Louisville CO) Steele , File server having snapshot application data groups.
Akizawa Mitsuru (Hachioji JPX) Yamashita Hirofumi (Yokohama JPX) Kawaguchi Hisamitsu (Sagamihara JPX) Tada Katsumi (Yokohama JPX) Kato Kanji (Yokohama JPX) Kito Akira (Ebina JPX) Yamada Hidenori (Had, File server system and file access control method of the same.
Christensen Steve W. ; Dasher John M. ; Martherus Robin E., File wrapper containing cataloging information for content searching across multiple platforms.
Nunnelley Lewis L. (San Jose CA) Williams Larry L. (Los Altos CA) Wood ; Jr. Leighton C. (Morgan Hill CA), High capacity data storage system using disk array.
Calvignac Jean (La Gaude FRX) Saint Georges Eric (La Gaude FRX) Orsatti Daniel (Cagnes sur Mer FRX) Toubol Gilles (Villeneuve Loubet FRX) Verplanken Fabrice (Le Haute de Cagnes FRX) Nicolas Francois , Hybrid switching system for a communication node.
Perycz,Krzysztof S.; Iwanojko,Bohdan T.; Kamiński,Adam; Kogut,Jaroslaw; Oriol,Mariusz; Przekop,Zbigniew, Initialization, reconfiguration, and shut down of a module function.
Lincoln, Patrick D.; Dawson, Steven M.; Samarati, Pierangela; De Capitani di Vimercati, Sabrina, Lattice-based security classification system and method.
Humlicek, Donald R.; DeKoning, Rodney A.; Delaney, William P., Managing a snapshot volume or one or more checkpoint volumes with multiple point-in-time images in a single repository.
Cabrera Luis Felipe ; Long Darrell Don Earl, Method and apparatus for establishing and maintaining the status of membership sets used in mirrored read and write inpu.
Gondi, Albert C.; Klein, Johannes; de Roo, John S.; Lanka, Sitaram V.; Sripada, Ramprasad K. L., Method and apparatus for handling failures of resource managers in a clustered environment.
Philip E. Tamer ; Terry Seto Lee, Method and apparatus for identifying changes to a logical object based on changes to the logical object at physical level.
Liu,Yu Jih; Visvader,Joseph John; Schnabel,Jon William, Method and apparatus for on demand multicast and unicast using controlled flood multicast communications.
Matthew J. D'Errico ; Steven M. Blumenau ; Erez Ofer, Method and apparatus for providing a host computer with information relating to the mapping of logical volumes within an intelligent storage system.
Bond Milton F. (Rochester MN) Clark Brian E. (Rochester MN) McRoberts Raymond S. (Rochester MN), Method and apparatus for recovering parity protected data.
Fagen Scott Andrew ; Frey Jeffrey Alan ; Fulkerson ; Jr. Carroll Eugene ; Kowalski Mark Albert ; North Benjamin John,IEX, Method and apparatus for serializing resource access requests in a multisystem complex.
Menon Jaishankar M. (San Jose CA) Mattson Richard L. (San Jose CA) Ng Spencer W. (San Jose CA), Method and means for distributed sparing in DASD arrays.
Huffman,William A.; Anderson,Michael L.; Thorson,Gregory M.; Garcia,Susan; Kunkel,Daniel L., Method and system for covering multiple resourcces with a single credit in a computer system.
Litwin Witold,FRX ; Menon Jaishankar Moothedath ; Risch Tore Johan Martin,SEX, Method and system for data recovery using a distributed and scalable data structure.
Brent Cameron Beardsley ; Michael Thomas Benhase ; Douglas A. Martin ; Robert Louis Morton ; Kenneth Wayne Todd, Method and system for managing meta data.
Frey ; Jr. Alexander H. (Pasadena CA) Mosteller Richard C. (Sierra Madre CA), Method for balancing of distributed tree file structures in parallel computing systems to enable recovery after a failur.
Stallmo David C. ; Hall Randy K., Method for organizing storage devices of unequal storage capacity and distributing data using different raid formats depending on size of rectangles containing sets of the storage devices.
Gentry Timothy W. (Wichita KS) Fredin Gerald J. (Wichita KS) Riedl Daniel A. (Andover KS), Method for partitioning disk drives within a physical disk array and selectively assigning disk drive partitions into a.
Burton, David Alan; Morton, Robert Louis, Method, system, program, and data structures for mapping logical units to a storage space comprises of at least one array of storage units.
Bingham, Scott Forrest; Buchman, Matthew D.; Singhal, Upanshu; Rokicki, John C.; Murthy, Venkatesha, Mirrored storage architecture using continuous data protection techniques.
Marcelo Weinberger ; Tomas G. Rokicki ; Gadiel Seroussi ; Rajiv Gupta ; Neri Merhav IL; Joesp M. Ferrandiz, Optimizing computer performance by using data compression principles to minimize a loss function.
Row Edward J. (Mountain View CA) Boucher Laurence B. (Saratoga CA) Pitts William M. (Los Altos CA) Blightman Stephen E. (San Jose CA), Parallel I/O network file server architecture.
Popelka Paul ; Tripathy Tarun Kumar ; Walter Richard Allen ; Del Fante Paul Brian ; Repakula Murali Sundaramoorthy ; Narayanaswamy Lakshman ; Sterk Donald Wayne ; Bodas Amod Prabhakar ; McCutcheon Le, Processing system with dynamically allocatable buffer memory.
Hinshaw, Foster D.; Meyers, David L.; Zane, Barry M., Programmable streaming data processor for database appliance having multiple processing unit groups.
Blackmon, Herman Lee; Drehmel, Robert Allen; Haselhorst, Kent Harold; Marcella, James Anthony, Reordering and flushing commands in a computer memory subsystem.
Bauer,Andreas L.; Gruttadauria,Brian R.; Lazar,Gregory W.; Dobberpuhl,Walter T., Scalable communication within a distributed system using dynamic communication trees.
Rafert,James Lee; Martin,Marcia R.; Abramovitz,Michael Paul, Storage backup system for backing up data written to a primary storage device to multiple virtual mirrors using a reconciliation process that reflects the changing state of the primary storage device.
Manley,Stephen L.; Owara,Shane S., System and method for asynchronous mirroring of snapshots at a destination using a purgatory directory and inode mapping.
Benson Max L. ; Morais Dinarte ; Norin Scott ; Champion William P. ; Fakes Thomas F. ; Joshi Milind M., System and method for incremental change synchronization between multiple copies of data.
Heil Thomas F. ; Francis Martin H. ; DeKoning Rodney A. ; Weber Bret S., System and method for peer-to-peer accelerated I/O shipping between host bus adapters in clustered computer network.
Kekre,Anand A.; Pendbarkar,Niranjan S., System and method for recording the order of a change caused by restoring a primary volume during ongoing replication of the primary volume.
Mark S. Day ; Donald J. Brady ; Deric S. Horn, System and method for storing and retrieving filenames and files in computer memory using multiple encodings.
Zayas, Edward R.; Haynes, Thomas; Gillono, John Francis; Kahn, Andy C., System and method for verifying and restoring the consistency of inode to pathname mappings in a filesystem.
Patel, Sujal M.; Mikesell, Paul A., System and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system.
Klein Johannes (San Francisco CA) Lutgardo Alberto (Santa Clara CA) Chang Edward Y. (Santa Clara CA) Cheng Edward C. (S. San Francisco CA) Lee Dora L. (San Francisco CA) Lu Edward S. (San Bruno CA), System for distributed computation processing includes dynamic assignment of predicates to define interdependencies.
Bertin Olivier (Nice FRX) Chobert Jean-Paul (Carros FRX) Pruvost Alain (Valauris FRX), System for managing topology of a network in spanning tree data structure by maintaining link table and parent table in.
Anderson, Robert J.; Fachan, Neal T.; Husted, Justin M.; Lemar, Eric M.; Passey, Aaron J.; Schack, Darren P., Systems and methods for a snapshot of data.
Anderson, Robert J.; Fachan, Neal T.; Husted, Justin M.; Lemar, Eric M.; Passey, Aaron J.; Schack, Darren P., Systems and methods for a snapshot of data.
Anderson, Robert J.; Fachan, Neal T.; Lemar, Eric M.; Passey, Aaron J.; Richards, David W.; Schack, Darren P., Systems and methods for a snapshot of data.
Anderson, Robert J.; Fachan, Neal T.; Lemar, Eric M.; Passey, Aaron J.; Richards, David W.; Schack, Darren P., Systems and methods for a snapshot of data.
Passey, Aaron J.; Schack, Darren P.; Godman, Peter J.; Anderson, Robert J.; Fachan, Neal T., Systems and methods for accessing and updating distributed data.
Patel,Sujal M.; Mikesell,Paul A.; Schack,Darren P.; Passey,Aaron J., Systems and methods for providing a distributed file system incorporating a virtual hot spare.
Patel, Sujal M.; Mikesell, Paul A.; Schack, Darren P., Systems and methods for providing a distributed file system utilizing metadata to track information about data stored throughout the system.
Mikesell, Paul A.; Anderson, Rob; Passey, Aaron James; Godman, Peter John; Khan, Hassan F.; Schack, Darren P., Systems and methods for restriping files in a distributed file system.
Akidau, Tyler Arthur; Dire, Nate E.; Fachan, Neal T.; Godman, Peter J.; Loafman, Zachary M., Systems and methods of managing resource utilization on a threaded computer system.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.