Mobile Technology Solution Executive Summary - DOC

Document Sample
Mobile Technology Solution Executive Summary - DOC Powered By Docstoc
					Table of Contents

Executive Summary ............................................................................................................ 2

1.0 Introduction ................................................................................................................... 3

2.0 Analysis......................................................................................................................... 4

       The goals of FTP were well suited at the time FTP was developed; however, since

       then there have been several extra needed additions. ................................................. 4

       2.1 Goals of FTP ......................................................................................................... 4

       2.1 Data Integrity ........................................................................................................ 4

       2.1 Faster Retrieval of Files with Partial Downloads ................................................. 5

       2.2 Partial Uploads and Synchronization .................................................................... 5

       2.3 Reducing Bandwidth............................................................................................. 5

       2.4 Searching............................................................................................................... 6

       2.5 Implementation Realities ...................................................................................... 6

       2.6 Some FTP Flaws ................................................................................................... 7

       2.7 The Need for Standardization ............................................................................... 7

3.0 Conclusion .................................................................................................................... 8

4.0 Recommendations ......................................................................................................... 8

Glossary .............................................................................................................................. 9

References ......................................................................................................................... 10
Executive Summary



This report gives a clear overview of the File Transfer Protocol (FTP) along with the

Secure File Transfer Protocol (SFTP). These protocols used for transferring files have

several weaknesses. Throughout this document improvements and suggestions are

presented to ameliorate these two protocols. The presented improvements would resolve

erroneous file transfers and would keep up with the growing need for smaller bandwidth.

The need for smaller bandwidth is especially important today because of the ever

growing number of mobile devices.



There are many different ways to transfer files and many of these issues have been

addressed in proprietary file transfer programs. This article inspires an advanced open

source file transfer protocol based on the existing popular FTP protocol. The proposed

solution makes it easy for previous implementations of FTP to extend their current

implementations.




                                                                                          2
1.0 Introduction
The File Transfer Protocol (FTP) is a protocol used to send files between different

computers and platforms. The protocol is open to all companies and developers for free,

which makes it very widely deployed, used, and well known. The FTP protocol allows

an FTP server and an FTP client to send files to each other. All commands are issued by

the FTP client to the FTP server. The official specification of FTP is given in RFC 959

which was created in October 1985. The first mention of FTP was given in April 1971.



FTP defines 30 or so commands that can be used by the connecting FTP client. These

commands cover authorization, obtaining lists of files on a server, navigating through the

directory structure of a server, downloading files, uploading files, deleting files and

directories, and several other options and queries.



Providing and defining these features are a great accomplishments and the successful

widespread use of FTP is proof of this. FTP however was not defined for the growing

needs of today’s technology. FTP does not define support for creating and comparing

file hashes, downloading only sections of files, retransmission of failed transfers, file

compression, attaching descriptions to files, and many more needed features. There are

also some flaws with the FTP protocol that would make navigation and downloading of

files more efficient.




                                                                                            3
2.0 Analysis

The goals of FTP were well suited at the time FTP was developed; however,

since then there have been several extra needed additions.


2.1 Goals of FTP

When the FTP protocol was defined, one of the main goals was to promote the transfer of

files among different platforms and computers.



Today Gigabytes and Terabytes of data need to be transferred and backed up on a daily

basis. Vision Backup Enterprise – 2004, is a backup software that allows the user to back

up an FTP server and back up to an FTP server allowing extensive portability across

platforms and computers. There are several areas of FTP that Vision Backup and other

backup software could take advantage of.



2.1 Data Integrity

Data integrity is a very important area. A backup software that backs up several

Gigabytes or Terabytes of data to an FTP server has no way of verifying integrity other

than re-downloading the entire backup. If an error did occur in transition, there would be

no way of knowing if the error occurred during backup or during the verification of the

backup.



A hash function is used to create a small checksum of input data. FTP could add a simple

easy-to-calculate hash function perhaps based on a variety of the Secure Hash Algorithm


                                                                                          4
(SHA). Several of these hashing libraries are available free for commercial and non-

commercial use. The FTP client could request that the server perform a hash of the

backed up data and then compare the hash with the file it uploaded. Data Integrity could

be verified in seconds.



2.1 Faster Retrieval of Files with Partial Downloads

At first glance, downloading sections of files does not seem that important. However

several FTP servers are mirrored. A fast file transfer could be accomplished by a single

client by connecting to two or more servers and downloading only a section of the file

from each. The FTP client would then combine the results into a finished downloaded

file. Partial downloads could be achieved extremely easy by simply adding a parameter to

the FTP retrieve file command. This parameter would specify the starting position.

Faster downloading would be accomplished.



2.2 Partial Uploads and Synchronization


Synchronization between mobile devices and computers is becoming more mainstream

by the day. Often only sections of a file need to be updated. If FTP’s store file command

also had an extra parameter which specified the position to insert the data, then

bandwidth would be saved. Mobile devices would synchronize faster.



2.3 Reducing Bandwidth

Bandwidth is expensive, and yet everyday there are billions of bytes of redundant data

being transferred. Most of the wasted data is largely in part of the lack of a compression


                                                                                             5
command for the FTP protocol. It is currently possible to ZIP a file and then upload the

ZIP to the FTP server; however, often the file the user is uploading needs to be available

in its original format. The compression should be done by the client and extracted as it is

read directly by the server. The Hyper Text Transfer Protocol (HTTP) has been doing a

compression method similar to the proposed solution for years. A variation of Lempel-

Ziv-Welch (LZW) compression or a simple Huffman compression scheme would reduce

file transfer time and speed. Bandwidth could be greatly reduced and money could be

saved.



2.4 Searching


It is currently very inefficient to search FTP servers because a list of all files must be sent

to the FTP client as it requests each directory list recursively. If a simple search FTP

command were defined, an FTP server could offer downloads faster and more efficiently.

FTP Server searching within files could also be supported. There is no reason to limit

searching to HTTP. Research papers, articles, and other data could be found more

easily by extending searches to FTP.


2.5 Implementation Realities

Implementation of the additional features would be extremely easy. Several free libraries

exist for compression and hashing functions. These functions could be added to Secure

File Transfer Protocol (SFTP) and FTP with ease. An already mature FTP server and an

FTP client could implement all features in under one week with a single experienced

programmer.



                                                                                              6
2.6 Some FTP Flaws

File download and upload progress is not very well accomplished in the FTP protocol.

The FTP protocol is actually accomplished over two Transmission Control Protocol

(TCP) connections: A control connection and a data connection. All large data transfers

are accomplished over the data connection. The control connection controls what actions

the server takes. Only having two connections is a complete waste. While a data transfer

is in progress, the control connection can not perform any other actions. When the

transfer is complete, the server can respond to the control connection with this

information. A much more efficient way to transfer the file would be to establish a third

connection that would be used for file transfer progress. The FTP client would only

listen for data, while the FTP server would send the file progress messages freeing up the

control connection for navigation of files while the current file transfer is being

performed. This report does not however recommend that this new feature be

implemented because all compatibility with normal FTP servers and clients would be

lost.


2.7 The Need for Standardization

Even if all of these simple additions to the FTP protocol were implemented, it would be

very unlikely that they would ever be widely deployed. This is not only because of the

already widespread adoption of the FTP but also because the presented additions are not

standardized. Without a standard, several different companies would implement several

different versions of these same features. Soon there would be no sure way to guarantee

compatibility and FTP’s very first goal of cross platform independency would be lost.


                                                                                            7
3.0 Conclusion
This report covers ways to reduce bandwidth, save money, search, allow mobile devices

to synchronize faster, accomplish faster downloads, and verify data integrity in seconds.

All the methods discussed are extremely easy to add to existing FTP servers and FTP

clients. This new version of FTP presents no threat to the standard FTP protocol. It

simply adds additional functionality that is there if needed. Any one of the additions

would be more than enough to convince a company to extend its FTP capabilities.


4.0 Recommendations
The proposed recommendations for the FTP protocol include the reduction of bandwidth,

partial uploads/downloads, compression, and data integrity verifications. These options

would be extremely useful in many situations as discussed throughout this document. It

is not likely that the changes will ever become main-stream, but this does not mean that

the additions can’t be added. The Vision Backup Enterprise backup software discussed

earlier could offer an optimized FTP server for download to customers. The backup

software could still work with normal FTP servers, but will work better if the client is

using an optimized FTP server.




                                                                                            8
Glossary

File transfer protocol (FTP): A standard protocol used for sending files from an FTP

client to and FTP server.



FTP Serve r: A server who retrieves and stores files as per the request of the FTP client.



FTP Client: An application that can connect to FTP servers and make request.



Secure Hashing Algorithm (SHA): A one way hashing function developed by NIST

Transmission Control Protocol (TCP): A reliable data transfer protocol build on top of

IP. FTP is built on top of TCP.




                                                                                         9
References
Network Working Group
J. Postel
Request for Comments: 959
J. Reynolds

ISI
Obsoletes RFC: 765 (IEN 149)
October 1985




                               10

				
DOCUMENT INFO
Description: Mobile Technology Solution Executive Summary document sample