Prof. Tanuj S. Rohankar,
Department of Information Technology
Sipna COET Amravati
Prof. Nitin Khachane
Department of Information Technology
PRMETR, Badnera Khachane.
The introduction of mobile devices in modern life opened the doors to the possibility to do that ubiquitously, fostering a vast plethora of new entertainment applications. The mobile revolution is under everybody’s eyes. The epidemic diffusion of Smartphone’s has moved the Web and all sort of popular applications from our desks to our pockets. 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, we have FTP4Android, but this protocol having some problem. Our aim is to overcome that problem and provide the enhancement to the FTP4Android. In this paper, we design a XML based FTP4Android which used the feature of TCP as well as UDP both. 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.
Keywords – FTP, TCP, UDP, XML, IP, GPZip.
FTP is another commonly used application. It is the Internet standard for file transfer. We must be careful to differentiate between file transfer, which is what FTP provides, and file access, which is provided by applications such as NFS (Sun’s Network File System) The file transfer provided by FTP copies a complete file from one system to another 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 .
1.1. FTP Process Model
FTP differs from the other applications that we’ve described because it uses two TCP connections to transfer a file.
a. The control connection is established in the normal client-server fashion. The server does a passive open on the well- known port for FTP (21) and waits for a client connection. The client does an active open to TCP port 21 to establish the control connection. The control connection stays up for the entire time that the client communicates with this server. This connection is used for commands from the client to the server and for the server’s replies .
The IP type-of-service for the control connection should be “minimize delay” since the commands are normally typed by a human user.
b. A data connection is created each time a file is transferred between the client and server.
The IP type-of-service for the data connection should be “maximize throughput” since this connection is for file transfer.
Figure 1 shows the arrangement of the client and server and the two connections between them .
1.2 About XML based FTP4Android
The main application of XML based FTP4android is to provide fast data transfer over an internet. To communicate with the Remote file system we design XML based XML based FTP4android protocol which overcome the problem of FTP4Android. This XML based Protocol basically designed for request and response packet.
Here we established two connections one for control connection and other for data transfer, so to do that, we use both transfer layer protocol rather than only TCP.
We also 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 it is. The zip file format permits a number of compression algorithms. Hence the size of a data reduces and maximum data will send.
2. LITERATURE SURVEY/REVIEW
Simple description of basic functionalities implemented by FTP4Android can be provided with the help of Fig. 2. In essence, files can be locally stored on the smart phone or they can be remotely stored on servers in the Internet so as to widen the memory capacity of the device. In the latter case, these files are first divided into chunks which are then sequentially uploaded on available servers. We divide files into chunks for two different goals: i) system reliability by having multiple copies of the same chunk on different servers and ii)
efficiency by parallel upload/download of different chunks so as to increase the file retrieval speed.
FTP4Android only requires users to install it on their smart phone’s (the current version is for Android operating systems). The application is already configured to have the file system root folder in a local folder that allows writing files and folders. Moreover, it is also configured so as to employ certain remote FTP servers; however, others may be specified. General FTP servers can be used; the aim is that of allowing users to utilize their account which are generally 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.
2.1. 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;
Claudio E. Palazzi and Marco Ferrarese  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.
Moreover there may be a maximum time of inactivity (timeout) beyond which the server does not accept anymore FTP commands from the same user.
For its correct functioning, FTP4Android must be aware of these parameters and act accordingly while interacting with the chosen remote FTP servers.
K. Jegers, M. Wiberg, suggested that, Operations available in FTP4Android can obviously be performed simultaneously, thanks to Java concurrency. These operations, that can be performed both in remote and local file system, include:
- make a directory
- upload a file
- download a file
- delete a file or a directory
Make a directory – In order to avoid an inconsistent remote file system, the creation of a folder is made on all FTP servers in the list of servers. In other words, this operation generates a thread for each server which will create the directory at the same path of the remote file system. Consequently, every FTP server will have the same physical file system tree.
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 selected by a user, the FTP4Android application retrieves all the information related with it (e.g., number of chunks and their location on remote servers). Then, for each FTP server, a deleting thread is generated so as to erase the interested chunks in it.
2.2. About Cloud
Cloud computing in general can be portrayed as a synonym for distributed computing over a network, with the ability to run a program or application on many connected computers at the same time.
2.2.1. Cloud Storage
Cloud storage means “The storage of data online in the cloud,” wherein a company’s data is stored in and accessible from multiple distributed and connected resources that comprise a cloud.
2.2.2. Types of Cloud Storage
126.96.36.199. Personal Cloud Storage
Personal cloud storage is a subset of public cloud storage that applies to storing an individual’s data in the cloud and providing the individual with access to the data from anywhere .
188.8.131.52. Public Cloud Storage
Public cloud storage is where the enterprise and storage service provider are separate and there aren’t any cloud resources stored in the enterprise’s data center. The cloud
storage provider fully manages the enterprise’s public cloud storage .
184.108.40.206. Private Cloud Storage
A form of cloud storage where the enterprise and cloud storage provider are integrated in the enterprise’s data center. In private cloud storage, the storage provider has infrastructure in the enterprise’s data center that is typically managed by the storage provider .
220.127.116.11. Hybrid Cloud Storage
Hybrid cloud storage is a combination of public and private cloud storage where some critical data resides in the enterprise’s private cloud while other data is stored and accessible from a public cloud storage provider .
Here in our paper, we are using private cloud storage to store our data.
3. Problem Statement
The FTP4Android suffers from the problem like Delays in use of internet connectivity. Here, full bandwidth is not utilized .
Another problem is related with the security .
If a user utilized a free server that later becomes no longer available, the visualization of the file system may become inconsistent  .
4. Implementation of XML based FTP4Android
In this paper, we design XML based XML based FTP4Android which overcome the problems of previous FTP4Android. Here FTP4Android suffers from problem like delays in use of internet connectivity. So, full bandwidth is not utilized. We will improve the utilization of bandwidth through the use of multiple active threads it is possible to fully exploit the whole bandwidth available in uploading and downloading. But previous FTP4 restrict to 16 threads and 32 chunks . Following block dig shown working model of XML based FTP4 Android.
Here we implement an XML based FTP4Android, in which we first compress the data with the help of GP zip compression as shown in above figure 3A. It finds optimal ways to combine standard compression algorithms for maximally and lossless compressing files and archives . As shown in figure 3B we uses a both transport level protocol for uploading & downloading rather than using only TCP.
As we know that FTP uses two connections
- for control connection
- for data connection
With the reference of above concept of FTP, we use TCP to establish control connection and UDP is for data transmission. Hence we divide data into numbers of chunks according to UDP data packet as shown in figure3A.
After divide of data into number of chunks we create the same number of threads and a lot each chunk to separate thread. For parallel transmission storage manager allot the about 30000 ports according to number of threads and chunks.
This XML based FTP4 android is basically worked on XML based request & response packet. This packet is handled by control connection. Generally this control connection is established with the help of TCP. With help of this concept we overcome the problem of delay.
As the previous FTP4 android uses the free FTP server to store data which may causes inconsistency problem. If a user utilized a free server that later becomes no longer available, the visualization of the file system may become inconsistent. So to overcome this problem it uses multiple free FTP servers. But these free multiple servers might not get guarantee to overcome the data inconsistency.
So to overcome this problem we replace this free server by cloud storage server. Cloud storage can provide the benefits of greater accessibility and reliability, rapid deployment, strong protection for data backup, archival and disaster recovery purposes, lower overall storage costs as a result of not having to purchase, manage and maintain expensive hardware . Because of cloud storage we can overcome the problem of data security.
5. PERFORMANCE EVALUATION
In this section we performed test on XML based FTP4Android. The goal of this test is to measure the performance of the application compare to previous FTP4 Android.
In this experiment, we calculate the time required to upload, download, or delete a file in the remote file system. We considered a fixed file size. The experimental configuration is as follows:
- Number of files: 1;
- Size of file: 1 MB;
- Number of connection available for each FTP server: 2 (one reserved for upload/download, and the other one reserved for delete);
- Number of chunks : depend on file size and UDP packet size(64kb)
- Maximum number of simultaneous active threads : according to number of chunks
The result of this experiment reported in following table in comparison with previous FTP4Android
|Contents||FTP4||XML based FTP4|
|Time (upload for 1MB data)||42 (Sec)||5 (Sec)|
|Time (download for 1MB data)||28 (Sec)||272( millisec)|
|Time (delete for 1MB data)||12 (Sec)||287 (millisec)|
|Additional protocol||TCP||TCP, UDP|
Table 1:- Comparison between existing FTP4 with XML based FTP4
6. Conclusion and Future Work
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, XML based FTP4Android, where such limitations will overcome and the data transfer rate will be further improved through the use of UDP packet & GP zip compression technique.
In future we can extend this work by implementing module of installing the application on the cloud itself and access it remotely through mobile phone.
- 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.
- Hsiao-Ying Lin & Wen-Guey Tzeng, “A Secure Erasure Code-Based Cloud Storage System with Secure Data Forwarding” IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, VOL. 23, NO. 6, JUNE 2012
- Yang Tang, Patrick P.C. Lee, John C.S. Lui and Radia Perlman “Secure Overlay Cloud Storage with Access Control and Assured Deletion” IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING, VOL. 9, NO.NOVEMBER/DECEMBER 2012
- 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, JuI2010.
- http://en.wikipedia.org/wiki/File_Transfer_Protoc ol
- Michael J. Sheehan “Secure Parallel File Distribution Through a Streaming Worm Network” Bell Labs Technical Journal 12(1), 237–246 (2007)© 2007 Alcatel-Lucent. • DOI: 10.1002/bltj.20229
- Ahmad Kattan Riccardo Poli “Evolutionary Lossless Compression with GP-ZIP*”, GECCO’08, July 12-16,2008, Atlanta, Georgia, USA, Jul 2008.
- K. Jegers, M. Wiberg, “Pervasive Gaming in the Everyday World”, Pervasive Computing, IEEE, vol. 5, no. 1, pp. 78-85, Jan-Mar 2006.
- A. Karypidis, S. Lalis, “OmniStore: A System for Ubiquitous Personal Storage Management”, in Proc. of IEEE PerCom 2006, Pisa, Italy, Mar 2006.
- 1. Tolvanen, T. Suihko, 1. Lipasti, N. Asokan, “Remote Storage for Mobile Devices”, in Proc. of Comsware 2006, New Delhi, India, Aug 2006.
- http://developer.android.com/sdk/I.O_rl/index.ht ml
- 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.
- 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.
- 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.
- 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.
- Android implementation code available on http://seminarprojects.com/s/ftp4 android- implementation
- 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
- http://www.webopedia.com/TERM/C/cloud_stor age.html