Title: File Access and Transfer
1File Access and Transfer
2Issues
- 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
3File 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.
4A taxonomy of file system issues
Adapted from Distributed File Systems M.
Satyanarayanan 1989
Multiple users, multiple sites, multiple processes
Multiple users, one site, multiple processes
One user, one site, multiple processes
One user, one site, one process
Naming, Physical storage, Programming
interface, Integrity
Concurrency control, Serializability, Deadlocks
Security
Location
5Taxonomy -1
One user, one site, one process
Naming, Physical storage, Programming
interface, Integrity
- 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?
6Taxonomy - 2
One user, one site, one process
Naming, Physical storage, Programming
interface, Integrity
- 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?
7Taxonomy - 3
One user, one site, multiple processes
Concurrency control, Serializability, Deadlocks
- 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?
8Taxonomy -4
Multiple users, one site, multiple processes
- 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?
Security
9Taxonomy -5
Multiple users, multiple sites, multiple processes
- 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
Location
10File 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
11FTP
- 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
12Two-system FTP interaction
PI Protocol Interpreter DTP Data Transfer
Protocol
13Three-system version of FTP
14A modern interface to FTP
15Model for generalized file access
16General Hierarchical Structure
17Flat file in the general hierarchical file
structure
18Unstructured file in the general hierarchical
file structure
19File 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
20Summarizing
- 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