A Review: Remote File Manager for Android Platform using FTP4Android Tanuj
s. Rohankar, Rakesh Bhujade, Amit Sinhal, Bhupendra Verma
Department of Information Technology Technocrats Institute of Technology,Bhopal, Madhya Pradesh, India
[email protected], rakesh.
[email protected],
[email protected],
[email protected] by FTP copies a complete file from one system to another
Abstract-- In today's era it is common to handle any type of file with the personal computer. The introduction of mobile device makes a huge revolution in the field of computer. Unfortunately, the storage capacity of these devices is limited; it may hence be useful to have the possibility to store the files on the web and retrieve them at anytime and anywhere. To satisfy this need, FTP4Android is available, but this protocol having some drawbacks. Our aim is to overcome that problem. Our solution provides enhancement to the FTP4Android by overcoming their drawback. In this dissertation work we proposed the compression technique which will be use to increase the speed of transmission. Also we provide solution over inconsistency and security. With this enhancement Smartphone users will smoothly transfer process both in upload and download, parallel transmissions to/from different servers are performed.
with a virtually infinite mass storage. This file manager
Keyword:-FTP4, FTP, GP Zip, NFS, Android
time.
I. INTRODUCTION
The mobile revolution is under everybody's eyes. The epidemic diffusion of Smartphone has moved the Web and all sort of popular applications from our desks to our pockets. It has also allowed the raise of new ubiquitously available, location-based applications, no longer being driven solely by
system. To use FTP we need an account to login to on the server, or we need to use it with a server that allows anonymous FTP. The aim of the application is to provide Smartphone users presents files located on remote servers as they were available on a local directory. Users will hence be allowed to use the Internet connectivity on their smart phone's to automatically retrieve files and upload updates any time a user accesses them [4] [5]. Clearly this happens at the cost of slower access For the same above, we can see in Fig. 1 a pyramidal representation of a system memory [1]. On the top of the pyramid there are memory supports such as CPU registers that are notoriously fast but also very expensive and limited in byte capacity. Conversely, at the bottom layers we have larger and cheaper, but also slower, memory devices.
humans typing on keyboards but, increasingly, by sensors [1]. Smartphone still suffers from some limitations such as, for instance, a limited memory for data storage, speed & inconsistency. Via the FTP protocol, it is possible to establish several connections through multiple servers simultaneously. This will allows the user to upload - download - delete files and create folders. FTP is another commonly used application. It is the
Fig 1: Memory device hierarchy
Internet standard for file transfer. We must be careful to
FTP4Android will utilize the last two layers depicted in
differentiate between file transfer, who is what FTP provides,
Fig. 1: a local file system on the Smartphone memory and a
and file access, which is provided by applications such as
remote file system distributed over servers in the Internet.
NFS (Sun's Network File System).The file transfer provided
This layer will also use in Enhanced FTP4Android. It will
978-1-4673-5999-3/13/$31.00 ©2013 IEEE
extend the traditional memory hierarchy by including the
essence, files can be locally stored on the smart phone or they
layer represented by data stored on remote servers which will
can be remotely stored on servers in the Internet so as to
be characterized by the following properties.
widen the memory capacity of the device. In the latter case,
Wide byte capacity- Nowadays, a plethora of remote
these files are first divided into chunks which are then
storage space is available on servers in the Internet.
sequentially uploaded on available servers. We divide files
Free byte
into chunks for two different goals: i) system reliability by
cost- It is very easy to find the
aforementioned storage space for free.
having multiple copies of the same chunk on different servers
Slow data access- The time to access data on remote
and ii) efficiency by parallel upload/download of different
servers is even slower than that of common mass
chunks so as to increase the file retrieval speed.
storage as it includes also network transfer time.
FTP4Android only requires users to install it on their
Our main application is to provide Smartphone users with
smart phone' s (the current version is for Android operating
the illusion of having an infinite memory on their devices by
systems). The application is already configured to have the
storing their files on remote servers.
file system root folder in a local folder that allows writing
FTP4Android is software developed in Java for Google
files and folders. Moreover, it is also configured so as to
Android platform [6]. The application has a list of FTP
employ certain remote FTP servers; however, others may be
servers and the user must have access to them. It establishes
specified. General FTP servers can be used; the aim is that of
connections to the servers in order to transfer the files.
allowing users to utilize their account which are generally
For each available server, at least two connections will be established by each Enhanced FTP4Android client: one is reserved for the delete and create directory operations. This reserved connection is useful to ensure that these operations can be performed quickly. The rest of the connections available will be use to upload and download files. For managing and browsing the (local and remote) file system a database will be use. The main application of enhanced ftp4android is to compress the data before sending, by using GP Zip algorithm. Zip is a file format used for data compression and archiving. A zip file contains one or more files that have been compressed, to reduce file size, or stored as is. The zip file format permits a number of compression algorithms. Hence the size of a data reduces and maximum data will send. The GP Zip algorithm is supported by java application & our Enhanced FTP4Android will be developing in java. II. LITERATURE SURVEY
Simple description of basic functionalities implemented by FTP4Android can be provided with the help of Fig. 2. In
provided for free by Internet providers. The only limitation is that chosen FTP servers must allow at least two simultaneous connections (which is generally, even if not always, true). FTP Server. Before starting to illustrate the application, it is essential to understand some basic features of FTP servers. In order to interact with a FTP server, our application must know the following information: • FTP address; • Username and password; •Maximum number of simultaneous connections permitted; • Timeout. Claudio E. Palazzi and Marco Ferrarese [1] suggested that, the meaning of the first two points is trivial; it is critic to clarify the third and the fourth ones. To avoid congestions (and for economic reasons), many FTP servers do not allow free users to transfer large amounts of data. Therefore, besides the obvious limit of storage capacity on the server, there may be other restrictions such as the maximum number of simultaneous connections allowed for the same user.
Upload a file - By uploading a file, its chunks are created.
Then, an upload thread is generated for each chunk; this thread performs the upload of the chunk on the first available connection to a server. The allocation of a chunk to a server is non-deterministic: by repeating the upload of the same file, the various chunks will probably not be assigned to the same server. If the uploaded file already existed in the remote file system then the old version is removed. Download a file - Files are stored in chunks in the remote file
system. By downloading a file, the FTP4Android application generates a download thread for each chunk and run them concurrently. In addition, a barrier is utilized to wait until all threads have completed the download of the respective chunks. Delete a file or a directory - Starting from the file/directory
Fig 2: FTP4Android general functioning
Moreover there may be a maximum time of inactivity
selected by a user, the FTP4Android application retrieves all
(timeout) beyond which the server does not accept anymore
the information related with it (e.g., number of chunks and
FTP commands from the same user.
their location on remote servers). Then, for each FTP server, a
For its correct functioning, FTP4Android must be aware of these parameters and act accordingly while interacting with
deleting thread is generated so as to erase the interested chunks in it.
the chosen remote FTP servers.
III. PROBLEM ANALYSIS
K. Jegers, M. Wiberg,[3] suggested that, Operations
The FTP4Android suffers from the problem like Delays in
available in FTP4Android can obviously be performed
use of internet connectivity. Here, full bandwidth is not
simultaneously,
These
utilized. It is not possible to fully exploit the whole bandwidth
operations, that can be performed both in remote and local
available in uploading and downloading. Hence there is need
file system, include:
to improve the performance of FTP4Andorid by exploit the
• make a directory
whole bandwidth. The effect is to reduce the speed of
• upload a file
operation. So, the user has to wait until the response is
• download a file
received.
thanks
to
Java
concurrency.
• delete a file or a directory
There is no another way or alternative is given in
Make a directory - In order to avoid an inconsistent remote
FTP4Android to improve the speed. Hence Enhanced
file system, the creation of a folder is made on all FTP servers
FTP4Android will provide another way to improve the speed
in the list of servers. In other words, this operation generates a
is compression of data. With the compression, the size of data
thread for each server which will create the directory at the
is reduced and therefore the same bandwidth will send
same path of the remote file system. Consequently, every FTP
maximum data in same time period [12].
server will have the same physical file system tree.
Another problem is related with the security. As we know that the data is transfer over wireless network hence security
is the major part of the system. In our system, we propose the Security implementation for Data Access. During the Data Retrieval Session, Key is generated to the Legitimate User. Only after Proper Authentication, files can be accessed by the M
User [1].
Server 3
0 B
If a user utilized a free server that later becomes no longer inconsistent. Developers are forced to take these limitations
\
(
I L
available, the visualization of the file system may become into consideration. IV. PROPOSED METHODOLOGY
Packet
The FTP4Android suffers from the problem like delays in
Chunk 1 Chunk 2
ChunkN
Fig 3: Block Diagram of Enhance FTP4 function
use of internet connectivity. Here, full bandwidth is not
To make some progress on turning this idea we will use a
utilized. Through the use of multiple active threads it is
general purpose compression method, to find optimal ways to
possible to fully exploit the whole bandwidth available in
combine standard compression algorithms for maximally and
uploading and downloading. When the number of active
lossless compressing files and archives. The system divides
threads is greater than the total number of connections
files into blocks of predefined length. It then uses a linear,
available the transfer time tends to stabilize and there is no
fixed-length representation where each primitive indicates
advantage in increasing further number of active threads then
what compression algorithm to use for a specific data block.
channel is fully utilized.
GP-zip uses a form of "divide and conquer" strategy. Each
As shown in the figure3, enhance FTP4Android will
member of the function set performs well when it works in
provide another way to improve the speed by compression of
the circumstances that it has been designed for. Dividing the
data. With the compression the size of data is reduced and
given data into smaller blocks makes the creation and
therefore the same bandwidth will send maximum data in
identification of such circumstances easier.
same time period.
Package java.util.zip- Provides classes for reading and
Over the past decade or two many techniques have been
writing the standard ZIP and GZIP file formats. It Provides
developed for data compression, each of which has their own
classes for reading and writing the standard ZIP and GZIP file
particular advantages and disadvantages. One of the factors
formats.
that help in developing an efficient data compression model is
decompressing
the availability of prior knowledge on the domain of the data
algorithm, which is used by the ZIP and GZIP file formats.
to be compressed. For these reasons, specialized compression
Additionally, there are utility classes for computing the CRC-
techniques can be used to compress data and send over
32 and Adler-32 checksums of arbitrary input streams.
Also
includes
classes
for
compressing
and
data using the DEFLATE compression
wireless network. An ideal compression system would be one
Furthermore in dividing files in chunks before forwarding
that is able to identify incompatible data fragments (both the
them to remote servers is that in this way a user can choose
file level and within each file) in an archive, and to allocate
different servers belonging to different providers and none of
the best possible compression model for each, in such a way
them will have all the chunks to put together the original file.
to minimize the total size of the compressed version of the
In this way, users' contents will not be accessible by other
archive.
people thus providing some privacy protection.
We will test the time required to upload, download, or delete a file in the remote file system, when varying the number of active threads & varying the number of chunks into which the file is divided.
v. CONCLUSION The
epidemic
diffusion
of
Smartphone
has
profoundly changed our habits, moving the Web and all our favorite applications from our pes and notebooks to our handheld mobile devices. New ubiquitously available, location-based applications are now becoming available offering unprecedented potentialities for entertainment applications. We studied the benefits and limitations of the FTP4Android for android Smartphone. The FTP4Android system proposed in earlier was a good starting point. However, it suffered from several limitations. In this paper we have proposed a new system, Enhanced FTP4Android, where such limitations will overcome and the data transfer rate will be further improved through the use of GP Zip compression technique. REFERENCES [1]
C. E. Palazzi, Marco Ferrarese "FTP4Android: A Local/Remote File Manager for Google Android Platform" in 3rd IEEE International Workshop on Digital Entertainment, Networked Virtual Environments, and Creative Technology, may 2011. [2] C. E. Palazzi, L. Teodori, M. Roccetti "PATH 2.0: A Participatory System for the Generation of Accessible Routes", in Proc. of the IEEE International Conference on Multimedia and Expo (ICME'10), Singapore, JuI20IO. [3] K. Jegers, M. Wiberg, "Pervasive Gaming in the Everyday World", Pervasive Computing, IEEE, vol. 5, no. 1, pp. 78-85, Jan-Mar 2006. [4] A. Karypidis, S. Lalis, "OmniStore: A System for Ubiquitous Personal Storage Management", in Proc. of IEEE PerCom 2006, Pisa, Italy, Mar 2006. [5] 1. Tolvanen, T. Suihko, 1. Lipasti, N. Asokan, "Remote Storage for Mobile Devices", in Proc. of Comsware 2006, New Delhi, India, Aug 2006. [6] http://developer.android.com/sdk/I.O_rl/index.html [7] http://www.sauronsoftware.it/proj ects/ftp4j/?Iang=en [8] G. Madia, P. Lutterotti, S. Eidenbenz, G. Pau, M. Gerla, "Fair MultiMedia Streaming in Ad Hoc Networks through Local Congestion Control", Proc. MSWIM'08, Vancouver, Canada, Oct 2008. [9] S. Ferretti, M. Roccetti, "Fast Delivery of Game Events with an Optimistic Synchronization Mechanism in Massive Multiplayer Online Games", Proc. ACM ACE 2005, Valencia, Spain, Jun 2005. [10] G. Madia, G. Pau, P. Di Rico, M. Gerla, "P2P Streaming Systems: A Survey and Experiments", 3rd STMicroelectronics STreaming Day (STreaming Day'07), Genoa, Italy, Sep 2007.
[11] A. Karlson, G. Smith, B. Meyers, G. Robertson, M. Czerwinski, "Courier: A Collaborative Phone-Based File Exchange System", Microsoft Research Technical Report MSRTR-2008-05, 2008. [12] Ahmad Kattan Riccardo Poli "Evolutionary Lossless Compression with GP-ZIP*", GECCO'08, July 12-16,2008, Atlanta, Georgia, USA, Jul 2008. [13] Android implementation code available on http://seminarprojects.com/s/ftp4-android-implementation [14] Use of FTP4 to android application available on: http://stackoverflow.com/question/I5163094/how-to-use-ftp4-j-todownload-a-file-from-my-sever-in-android-app