File Access and Transfer
Issues 4 Access and transfer are different operations –with different requirements 4 Transfer –move the file from one place to another binary or text recovery from interruption move whole file 4 Access –remove awareness of file location treat remote files as if they were local hide differences of file organization, characteristics –manage issues of simultaneous access –handle file integrity issues
File System Characteristics 4 Structure –refers to the logical and physical organization of data in the file 4 Attributes –are descriptive terms, provide information such as creation time, size, owner, etc. 4 Operations –are functions that may be applied to a file and/or its attributes create, delete, read, write, change access rights, etc.
A taxonomy of file system issues One user, one site, one process Naming, Physical storage, Programming interface, Integrity One user, one site, multiple processes Concurrency control, Serializability, Deadlocks Multiple users, one site, multiple processes Security Multiple users, multiple sites, multiple processes Location Adapted from “Distributed File Systems” M. Satyanarayanan 1989
Taxonomy -1 4 Naming –Is the name space flat or hierarchical? Tree structured? Cycles allowed? How long can the file names be? Are there file extensions or naming conventions that have semantic significance? 4 Programming interface –How do applications access the file system? Is there support for atomic actions? Naming, Physical storage, Programming interface, Integrity One user, one site, one process
Taxonomy Physical storage –How is the file system abstraction mapped onto physical storage media? Is the programming interface independent of the storage media? How are the conflicting pulls between large blocks for performance benefits balanced with small blocks to reduce fragmentation? 4 Integrity –How are power, hardware, media, and software failures dealt with? Naming, Physical storage, Programming interface, Integrity One user, one site, one process
Taxonomy Concurrency control –synchronization policies: what granularity (entire file, bytes, blocks?) What locking modes? What combinations of locks can co-exist? 4 Serializability –An execution instance of interleaved transactions is serializable if there is some sequential execution order that yields the same results. How is serializability realized in this file system? 4 Deadlocks –How are deadlocks detected or avoided in this system? Concurrency control, Serializability, Deadlocks One user, one site, multiple processes
Taxonomy -4 4 Security –How are users identified and authenticated? Can groups share access to files? What privileges can be granted? How do those privileges map to file operations? Can the privileges be revoked? Multiple users, one site, multiple processes Security
Taxonomy -5 4 Location –embedded in file names (as in full path)? Then moving a file also changes its name. Users may have problems finding their files. Location transparency hides the actual location of the file. –Also involves availability and replication issues Multiple users, multiple sites, multiple processes Location
File Transfer 4 Character or image –ASCII is 7-bit code; bit 8 used for parity check –if bit 8 is part of the data, transfer will not work 4 block size: sender and receiver need to agree 4 error detection: sender and receiver must agree 4 error correction: most common is retransmission 4 dialog control: two-way or one-way by turns 4 flow control: match sender rate to receiver capability; communication needed
FTP 4 File Transfer Protocol –workhorse of file movement –whole file transfer, not general file access –two versions: 2-system, 3-system –uses telnet to do login to the remote system –anonymous ftp widely used for public distribution of files
Two-system FTP interaction PI = Protocol Interpreter DTP = Data Transfer Protocol
Three-system version of FTP
A modern interface to FTP
Model for generalized file access
General Hierarchical Structure
Flat file in the general hierarchical file structure
Unstructured file in the general hierarchical file structure
File Access, not just transfer 4 FTAM (File Transfer, Access, and Management) 4 Other versions created for specific applications 4 FTAM defines regimes to capture various kinds of interaction –association, file selection, file open, data transfer regimes –enter and exit regimes according to operations needed
Summarizing 4 Network-based application development requires access to files at remote locations –file transfer brings the remote file to where it is needed. Operations are done on the local copy. –General file access is more involved. Taxonomy of issues includes security, deadlock, integrity, interface differences, etc. 4 General model of file interaction removes the details of individual file systems 4 FTP is most common for moving files 4 More is needed for general file access