File Access and Transfer
Issues Access and transfer are different operations
– with different requirements Transfer
– move the file from one place to another• binary or text• recovery from interruption• move whole file
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
Structure– refers to the logical and physical organization
of data in the file Attributes
– are descriptive terms, provide information such as creation time, size, owner, etc.
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
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?
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 - 2 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?
Integrity– How are power, hardware, media, and software
failures dealt with?
Naming,Physical storage,Programming interface,Integrity
One user, one site, one process
Taxonomy - 3 Concurrency control
– synchronization policies: what granularity (entire file, bytes, blocks?) What locking modes? What combinations of locks can co-exist?
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?
Deadlocks– How are deadlocks detected or avoided in this system?
Concurrency control,Serializability,Deadlocks
One user, one site, multiple processes
Taxonomy -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
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
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
block size: sender and receiver need to agree error detection: sender and receiver must agree error correction: most common is retransmission dialog control: two-way or one-way by turns flow control: match sender rate to receiver
capability; communication needed
FTP
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 InterpreterDTP = 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
FTAM (File Transfer, Access, and Management)
Other versions created for specific applications
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 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.
General model of file interaction removes the details of individual file systems
FTP is most common for moving files More is needed for general file access