A Distributed File System (Dfs)
Total Page:16
File Type:pdf, Size:1020Kb
A DISTRIBUTED FILE SYSTEM (DFS) By PRASHANT JAYARAMAN A THESIS PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE UNIVERSITY OF FLORIDA 2006 Copyright 2006 by Prashant Jayaraman To my parents and to my brother Vivek. ACKNOWLEDGMENTS I thank Dr. Richard Newman for his help and guidance. I would like to express my gratitude to Dr. Randy Chow and Dr. Shigang Chen for serving on my supervisory committee and reviewing my work. I also acknowledge the contributions of all members of the Distributed Conferencing System group. Special thanks are due to my family and friends for their encouragement and support. iv TABLE OF CONTENTS page ACKNOWLEDGMENTS ................................................................................................. iv LIST OF FIGURES ......................................................................................................... viii LIST OF ABBREVIATIONS............................................................................................ ix ABSTRACT..................................................................................................................... xiii CHAPTER 1 INTRODUCTION ...................................................................................................1 Introduction..............................................................................................................1 Distributed Conferencing System Services .............................................................2 2 STUDY OF DISTRIBUTED FILE SYSTEMS ......................................................4 Introduction..............................................................................................................4 Network File System (NFS).....................................................................................4 Introduction..................................................................................................4 Protocol........................................................................................................4 Naming and Transparency ...........................................................................5 Concurrency Control and Consistency ........................................................6 Replication and Migration ...........................................................................6 Caching ........................................................................................................7 Security ........................................................................................................7 Andrew File System (AFS)......................................................................................8 Introduction..................................................................................................8 Architecture..................................................................................................8 Naming and Transparency ...........................................................................9 Concurrency Control and Consistency ........................................................9 Replication and Migration ...........................................................................9 Caching ......................................................................................................10 Security ......................................................................................................10 Common Internet File System (CIFS) ...................................................................11 Coda ....................................................................................................................11 Plan 9 ....................................................................................................................12 xFS ....................................................................................................................13 v Low Bandwidth File System (LBFS) ....................................................................14 Freenet....................................................................................................................15 3 REQUIREMENTS AND DESIGN .......................................................................18 Requirements .........................................................................................................18 Naming and Transparency .........................................................................18 Concurrency Control and Consistency ......................................................19 Replication and Migration .........................................................................19 Caching ......................................................................................................20 Security ......................................................................................................20 Design ....................................................................................................................21 Communication Architecture.....................................................................21 Stateful/Stateless Server.............................................................................21 File Access Model......................................................................................21 Concurrency Control and Consistency ......................................................22 Versioning..................................................................................................23 Forward deltas................................................................................23 Reverse deltas ................................................................................23 Previous design ..............................................................................24 Current design................................................................................24 Naming and Transparency .........................................................................26 Storing Metadata........................................................................................26 Symbolic links ...............................................................................28 File Information Table (FIT) .........................................................28 Previous design ..............................................................................29 Proposed design .............................................................................30 Cog Policy..................................................................................................33 User Policy.................................................................................................34 Migration....................................................................................................35 Replication .................................................................................................36 Replicate entire file........................................................................36 Replicate portions of file................................................................36 Replicate on create.........................................................................36 Replicate on open...........................................................................37 Design decision..............................................................................37 Caching ......................................................................................................38 Client caching ................................................................................38 Server caching................................................................................38 Security ......................................................................................................39 File System Interface .................................................................................39 Conclusion .............................................................................................................41 vi 4 IMPLEMENTATION............................................................................................45 Requirements .........................................................................................................45 Interaction with Distributed Conferencing System Services.................................45 Interaction with Conference Control Service ............................................45 Interaction with Access Control Service....................................................46 Interaction with Secure Communication Service ......................................46 Communication......................................................................................................46 Distributed File System Architecture.....................................................................47 File Information Table Manager (FITM)...............................................................47 Version Naming Manager (VNM).........................................................................48 Cog Policy Manager (CPM) ..................................................................................49 User Policy Manager (UPM) .................................................................................49 Version Control Manager (VCM)..........................................................................50 Creating a Delta .........................................................................................51