A serverless distributed file system manages the storage of files and directories using one or more directory groups. The directories may be managed using Byzantine-fault-tolerant groups, whereas files are managed without using Byzantine-fault-tolerant groups. Additionally, the file system may emplo
A serverless distributed file system manages the storage of files and directories using one or more directory groups. The directories may be managed using Byzantine-fault-tolerant groups, whereas files are managed without using Byzantine-fault-tolerant groups. Additionally, the file system may employ a hierarchical namespace to store files. Furthermore, the directory group may employ a plurality of locks to control access to objects (e.g., files and directories) in each directory.
대표청구항▼
1. A method used in managing a serverless distributed file system, the method comprising: managing directories of the file system using Byzantine groups and a hierarchical namespace; andmanaging files within the directories without using Byzantine groups by saving replicas of the files to fewer comp
1. A method used in managing a serverless distributed file system, the method comprising: managing directories of the file system using Byzantine groups and a hierarchical namespace; andmanaging files within the directories without using Byzantine groups by saving replicas of the files to fewer computers than exist in the Byzantine groups. 2. A method as recited in claim 1, wherein each directory includes one or more directory entries corresponding to one or more of the files, and wherein each directory entry includes: an identification of the file;an identification of a plurality of computers where replicas of the file are stored; andfile verification data comprising: at least one of a file identification number, a file version number, and a name of a user whose signature is on the file; anda hash value generated from applying a cryptographically secure hash function to the file. 3. A method as recited in claim 1, wherein each of a plurality of computers in the serverless distributed file system need not trust the other ones of the plurality of computers. 4. A method as recited in claim 1 further comprising: identifying a group of computers to which a subtree of the hierarchical namespace used to store files is to be delegated;generating a delegation certificate for the subtree;digitally signing the delegation certificate; andissuing the delegation certificate to the group of computers. 5. A method as recited in claim 4, wherein digitally signing the delegation certificate comprises having the delegation certificate digitally signed by a plurality of computers. 6. A method implemented in a computing device of a serverless distributed file system, the method comprising: checking a local cache of pathnames to Byzantine-fault-tolerant directory group mappings to determine a mapping for a longest prefix of a desired pathname; andif the entire pathname is mapped to a Byzantine-fault-tolerant directory group using the local cache, then accessing a member of the Byzantine-fault-tolerant directory group to determine where to locate a file corresponding to the pathname, and otherwise repeating the following until the entire pathname is mapped to a Byzantine-fault-tolerant directory group, obtaining, from a member of the Byzantine-fault-tolerant directory group corresponding to the longest prefix of the desired pathname, mappings for a relevant subtree from the longest prefix, andif the entire pathname is not mapped to a Byzantine-fault-tolerant directory group using the relevant subtree from the longest prefix, then repeating the obtaining with the longest prefix being the previously used longest prefix concatenated with the relevant subtree. 7. A method as recited in claim 6, wherein the mappings are obtained from the member of the directory group via a delegation certificate digitally signed by one or more members of the directory group. 8. A method as recited in claim 6, further comprising adding the mappings for the relevant subtree to the local cache. 9. A method as recited in claim 6, wherein the longest prefix includes one or more directories in addition to a namespace root. 10. A method as recited in claim 6 further comprising: generating a directory entry corresponding to a file to be stored in the serverless distributed file system;saving the directory entry to each of a first plurality of computers that are part of a Byzantine-fault-tolerant group; andsaving the file to each of a second plurality of computers, wherein fewer computers are in the second plurality of computers than are in the first plurality of computers, and wherein at least one of the second plurality of computers is not part of the Byzantine-fault-tolerant group. 11. A method as recited in claim 10, further comprising: receiving, prior to generating the directory entry, an encrypted file name of the file; andreceiving, prior to saving the file to each of the second plurality of computers, the file in encrypted form. 12. A method as recited in claim 10, wherein at least one of the second plurality of computers is part of the Byzantine-fault-tolerant group. 13. A computer comprising: a processor; anda memory coupled to the processor, wherein: the memory is to store a plurality of instructions to implement a file system using a hierarchical namespace to store files,the file system is distributed across a plurality of computers including the computer,each of the plurality of computers can operate as both a client computer and a server computer,each of the plurality of computers need not trust the other ones of the plurality of computers,files and corresponding directory entries are stored in the file system, andfor any given file that is stored in the file system, a number of copies of the file and a number of copies of the corresponding directory entry are stored, and a lesser number of copies of the file are stored than the number of copies of the corresponding directory entry that are stored. 14. A computer as recited in claim 13, wherein the file system stores directory entries using Byzantine groups and objects corresponding to the directory entries without using Byzantine groups. 15. A computer as recited in claim 13, wherein the computer is part of a directory group responsible for managing a set of directories in the hierarchical namespace, and wherein the plurality of instructions are further to cause the computer to identify a new directory group and delegate responsibility for managing a subset of the set of directories to the new directory group. 16. A computer as recited in claim 15, wherein the plurality of instructions are further to cause the computer to: identify a group of computers to be part of the new directory group;generate a delegation certificate for the subset;digitally sign the delegation certificate; andissue the delegation certificate to the group of computers. 17. A computer as recited in claim 13, wherein the computer includes a cache of pathname to directory group mappings, and wherein the plurality of instructions are further to cause the computer to determine where to locate a file corresponding to a pathname in the file system by performing the following acts: checking the cache to determine a mapping for a longest prefix of a desired pathname; andif the entire pathname is mapped to a directory group using the cache, then accessing a member of the directory group to determine where to locate the file, and otherwise repeating the following until the entire pathname is mapped to a directory group, obtaining, from a member of the directory group corresponding to the longest prefix of the desired pathname, mappings for a relevant subtree from the longest prefix, andif the entire pathname is not mapped to a directory group using the relevant subtree from the longest prefix, then repeating the obtaining with the longest prefix being the previously used longest prefix concatenated with the relevant subtree. 18. A computer as recited in claim 13 being one of the plurality of computers wherein: the plurality of computers including the computer comprise at least two sets: a first set of the plurality of computers operating to store directory information for the file system, wherein each computer of the first set is part of a directory Byzantine group; anda second set of the plurality of computers operating to store replicas of the files in the file system, wherein for each file stored in the file system a plurality of replicas of the file are stored on the second set of computers, and wherein the quantity of replicas is less than the quantity of computers in the Byzantine group; andone or more of the plurality of computers are in both the first set and the second set. 19. A computer as recited in claim 18, wherein the directory information includes a plurality of directory entries, and wherein each directory entry on a computer in the first set includes an indication of each computer in the second set where a copy of a file corresponding to the directory entry is located. 20. A computer as recited in claim 18, wherein the replicas comprise encrypted versions of the file being stored.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (119)
Schmidt, Rene W.; Muller, Hans E.; Violet, Scott R., Apparatus and method for incremental updating of archive files.
Hirayama Hideaki,JPX ; Shirakihara Toshio,JPX, Checkpointing computer system having duplicated files for executing process and method for managing the duplicated files.
Drummond Shattuck Reed ; Peter Earnshaw Heymann ; Steven Mark Mushero ; Kevin Benard Jones ; Jeffrey Todd Oberlander ; Dan Banay, Computer-based communication system and method using metadata defining a control-structure.
Govindarajan Rangaprasad ; Edwards Russ ; Bannister Cecil ; Gostanian ; Jr. Raffi, Data processing system and method for providing personal information in a communication network.
Arnold Kenneth C. R. C. ; Waldo James H. ; Riggs Roger ; Wollrath Ann M. ; Jones Peter, Database system employing polymorphic entry and entry matching.
Berbec Robert R. ; Brady John L. ; Caffrey James M. ; Crimi Joanne T. ; Fenaroli Arthur P. ; Iatridis Matthew C. ; Puchkoff Gary S. ; Sanchez Roberto J. ; Whalen Madeline R. ; Williams Joseph A., Dynamic server-managed access control for a distributed file system.
Terada Hiroaki,JPX ; Nishikawa Hiroaki,JPX ; Yoshida Shin-ichi,JPX ; Hine Shunji,JPX ; Nishikawa Youichiro,JPX ; Hara Shuji,JPX ; Shima Kenji,JPX ; Inaoka Yoshie,JPX ; Yamasaki Tetsuo,JPX, File management apparatus permitting access to portions of a file by specifying a data structure identifier and data ele.
Alam Salim ; Bhalerao Vinayak A. ; Wu Charles ; Hu George ; Ferrell John I., File object synchronization between a desktop computer and a mobile device.
Alger Jeffrey H. ; Bennett John G. ; Marshall David A. ; Shutt David R., Generating and compressing universally unique identifiers (UUIDs) using counter having high-order bit to low-order bit.
Steven R. Soltis ; Matthew T. O'Keefe ; Thomas M. Ruwart ; Gerald A. Houlder ; James A. Coomes ; Michael H. Miller ; Edward A. Soltis ; Raymond W. Gilson ; Kenneth W. Preslan, Global file system and data storage device locks.
Burns, Randal Chilton; Goel, Atul; Long, Darrell D. E.; Rees, Robert Michael, Lease based safety protocol for distributed system with multiple networks.
East Jeffrey A. ; Lingelbach Albert L. ; Lindell Steven J. ; Graefe Goetz ; Zastera Craig G. ; Agarwal Sameet H., Linked data structure integrity verification system which verifies actual node information with expected node information stored in a table.
Douceur,John R.; Theimer,Marvin M.; Adya,Atul; Bolosky,William J., Locating potentially identical objects across multiple computers based on stochastic partitioning of workload.
Douceur,John R.; Theimer,Marvin M.; Adya,Atul; Bolosky,William J., Locating potentially identical objects across multiple computers based on stochastic partitioning of workload.
Sudama Ram (Concord MA) Magid David L. (Worcester MA) Ouellette Kenneth W. (Groton MA), Mechanism for locating without search discrete application resources known by common name only in a distributed network.
Coppersmith Don ; Gennaro Rosario ; Halevi Shai ; Jutla Charanjit S. ; Matyas ; Jr. Stephen M. ; O'Connor Luke James,CHX ; Peyravian Mohammed ; Safford David Robert ; Zunic Nevenko, Method and apparatus for a symmetric block cipher using multiple stages.
Coates, Joshua L.; Bozeman, Patrick E.; Patterson, David A., Method and apparatus for accessing remote storage in a distributed storage cluster architecture.
Cohen, Marc L.; Cooper, Michael R.; Nogay, Patrick Edward; Vanderwiele, Mark Wayne, Method and apparatus for compacting a metadatas stream in a data processing system.
Cooper Michael R. ; Hamzy Mark Joseph ; Nogay Patrick Edward ; Vanderwiele Mark Wayne, Method and apparatus for creating metadata streams with embedded device information.
O'Brien,Michael R.; Beckhardt,Steven R.; Lorenson,Elizabeth A.; Conmy,Douglas W., Method and apparatus for encrypting electronic messages composed using abbreviated address books.
Stevenson, David James; Gray, Andrew Hunter; Duncan, Robert James; Chisholm, Alastair Hugh; Serra, Vanessa; Tinto, Colin, Method and apparatus for fetching sparsely indexed MIB tables in managed network systems.
Logan Keith W. ; Misra Pradyumna K. ; Leach Paul J. ; Van Dyke Clifford P. ; Straube Dave D. ; Miller Arnold S., Method and apparatus for representing and applying network topological data.
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.
Garay Juan Alberto ; Gennaro Rosario ; Jutla Charanjit Singh ; Rabin Tal D., Method and apparatus for the secure distributed storage and retrieval of information.
Cohen, Marc L.; Cooper, Michael R.; Nogay, Patrick Edward; Vanderwiele, Mark Wayne, Method and apparatus in a data processing system for generating metadata streams with per page data.
Chen,Michael C.; Fandrianto,Jan; Lin,Chun Chau; Sadikun,Michael P.; Sutardja,Budi; Sutardja,Ramah, Method and system for providing voice communication over data networks.
Totaro Antoine,FRX ; Flores Erick,FRX, Method for enabling direct encrypted communication between two terminals of a mobile radio network, and corresponding station and terminal facilities.
Sarit Mukherjee ; Ibrahim Kamel ; Prasant Mohapatra, Multimedia file systems using file managers located on clients for managing network attached storage devices.
Schmuck Frank B. ; Zlotek Anthony J. ; Shmueli Boaz,ILX ; Mandler Benjamin,ILX ; Yehudai Zvi Yosef,ILX ; Kish William A., Parallel file system with method using tokens for locking modes.
Falls Patrick T.,GBX ; Wightman Andy T.,GBX, Processes and apparatuses for generating file correspondency through replication and synchronization between target and.
Knudsen Helge (Oakville CAX) Chong Daniel T. (Woodbridge CAX) Yaffe John (Mississauga CAX) Taugher James E. (Mississauga CAX) Robertson Michael (Mississauga CAX) Plazak Zbigniew (Etobicoke CAX), Programmable computer with automatic translation between source and object code.
Jones, Michael B.; Draves, Jr., Richard P.; Rosu, Daniela; Rosu, Marcel-Catalin, Providing predictable scheduling of programs using a repeating precomputed schedule.
Matyas, Jr.,Stephen Michael; Peyravian,Mohammad; Roginsky,Allen Leonid; Zunic,Nevenko, Secure data storage and retrieval in a client-server environment.
Matyas, Jr., Stephen Michael; Peyravian, Mohammad; Roginsky, Allen Leonid; Zunic, Nevenko, Secure data storage and retrieval with key management and user authentication.
Carter John B. ; Davis Scott H. ; Dietterich Daniel J. ; Frank Steven J. ; Lee Hsin H., Shared client-side web caching using globally addressable memory.
William J. Bolosky ; John R. Douceur ; Scott M. Cutshall ; Richard F. Rashid ; Nathan P. Myhrvold ; David A. Goebel, Single instance store for file systems.
Kotzin Michael D. (Buffalo Grove IL) van den Heuvel Anthony P. (Arlington Heights IL) Crisler Kenneth J. (Wheaton IL) Hiben Bradley M. (Glen Ellyn IL) Mohl Lawrence M. (Hoffman Estates IL) Poulin Mar, Spectrally efficient method for communicating an information signal.
Tevis Gregory J. (Tucson AZ) Waldo Ellen J. (Tucson AZ), Storage management of a first file system using a second file system containing surrogate files and catalog management i.
Carter John B. ; Davis Scott H. ; Dietterich Daniel J. ; Frank Steven J. ; Phillips Robert S. ; Woods John ; Porter David ; Lee Hsin H., System and method for providing highly available data storage using globally addressable memory.
Strauss, Jacob A.; Vincent, Pradeep; Frasca, Michael Robert; Frigo, Matteo; Oikarinen, Matti Juhani, Conditional writes at distributed storage services.
Vincent, Pradeep; Oikarinen, Matti Juhani; Laurence, Douglas Stewart; Frigo, Matteo, Connection balancing using attempt counts at distributed storage systems.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.