An Android application for Autonomous File sharing in Delay Tolerant Network
Project Category: (Select all the major domains of the proposed project)
- A-Desktop Application/Information System B-Web Application/Web Application based Information System C- Problem Solving and Artificial Intelligence D-Simulation and Modeling E- Smartphone Application F- Smartphone Game G- Networks H- Image Processing Other (specify category) ______________________
The main idea of the proposed application is to use the mobile device’s built-in WIFI-Direct feature to make a network among different devices and automatically transfer files (without using any internet) among users having the same interests when they come(device) in each other’s range.
The proposed application has a use for multiple purposes. In the educational sector where by using this application, files can be shared among students and teachers without having to select the file manually. In any case of a natural disaster where complete communication infrastructure is damaged or destroyed, then with the help of the proposed application, SOS messages can be sent to other devices which can relay that message to the rescue authorities. Also, in social gatherings, data will be shared among two or more devices by common interests.
Communication in this modern age has made considerable advancements in almost every aspect; a person can communicate with another person being continents apart quickly and effortlessly. But there are still problems which we face if the medium of communication in a circumstance is not available what we can do. One scenario can be the earthquake in Abbottabad in the past, which did devastating damage and the communication infrastructure was also affected. In those areas, people needed various kinds of First Aid, they had their smartphones with 10-15 hours of battery life, but they could not ask for help as communication was down.
Another scenario can be that there are many Ruler Areas in Baluchistan which don’t have Internet connectivity and have no way of keeping up to date with current affairs such as News, Weather, and current affairs.
Problem Solution for Proposed System
The solution we are presenting is that using the WIFI feature of a smartphone, we communicate with devices which are near another and carry the message (DATA) for devices which are not in range, but when they come in range, their message should be delivered to them. We will achieve this by using different protocols such as Social Aware Opportunistic Routing Protocol (SCORP), DLIFE, etc., which will give us the freedom to manipulate the connections. To be able to create a mesh connection with moving nodes and automate their connection when they arrive in their respective range.
In case of a Disaster, when communication is down, the application will send SOS signals which are very small in data size containing the GEO location of the origin of the SOS signal, when it was generated, the destination of the signal and what kind of help they require. The various nodes would then carry this message in the area so that it could reach the Rescue Teams office.
If we take the other scenario, wherein Ruler areas there is NO internet facility. A single user can visit an area which has internet facilities available and save all the information on his device (Weather, News …Etc.) and when he returns, all the data will be passed to the other nodes as he is moving through the populated gathering spots in his area. Everyone will then have information to which they had no access too.
Related System Analysis/Literature Review
Fire chat is a mobile application which lets you communicate with nearby devices without using any internet or mobile coverage. Fire chat makes a mesh network of smartphones using built-in Bluetooth and WIFI and transfers messages and images to a device within several feet of one another. On the mesh network, messages are sent from one device to another to reach the recipient(s). When cell coverage is available, Fire chat uses it to send messages to remote users.
Serval Mesh is an android application which turns some mobile devices into a mesh network running on Wi-Fi. This application enables mobile phones to communicate with each other independent of supporting infrastructure. Using Wi-Fi mobile phones form a self-configuring network to exchange files.
DakNet is an Ad-hoc delay tolerant network developed by the Massachusetts Institute of Technology (MIT). It uses wireless technology to provide asynchronous digital connectivity services. This system consists of mobile access points mounted on vehicles and Internet access points in major cities and villages with WIFI kiosks. When a vehicle comes in a range of the village’s WIFI kiosks, it will automatically detect wireless connections and synchronize its data with WIFI kiosks. When the vehicle comes near any Internet access point, it will sync its data of rural kiosks by accessing the internet, thus providing nonreal-time delay-tolerant internet access services.
|Application Name||Weakness||Proposed Project Solution|
|Fire Chat||A file application that uses the built-in Wi-Fi feature of the mobile phone to communicate. Two devices can only transfer images and text messages.||The proposed system will be able to transfer every type of file between the devices. The complete file-sharing system is automatic.|
|Serval Mesh||A peer-to-peer file sharing application. All the file sharing is entirely manual.||The proposed system and sharing process is fully automated.|
|DakNet||In Darknet, separate hardware equipment is needed, which also needs expert users to operate it.||In the proposed system there will be no extra hardware needed as it will base on daily used smartphones.|
Table-1: Related System Analysis with the proposed project solution
Advantages/Benefits of Proposed System
- Delay Tolerant Network (DTN) will be used to keep files which were interrupted when being transferred so they can resume if any other device comes along having the same file.
- Communication will not require any cellular or Internet connection.
- Transfer of files will become effortless.
- The P2P connection will able us to keep downloading the file from other devices in range rather than from one device.
- Users will set various interests on which the file sharing with users of similar interests will become automated.
- Provide communication in an event where communication infrastructure is down.
The project Scope can briefly be explained as the network structure which we are presenting will allow us to perform the below-mentioned functionalities on an android application.
There are many kinds of gatherings, be it Social, Formal Etc. If a person wants to share some files of any kind, he would have first to select those files, then send them to a selected user and wait for him to accept it or vice versa. e.g., a person wants a song of a singer that he does not have, but the other person has that song. There are very tedious steps, and most people say to download it from that site, but you don’t want to do that. People try to avoid these tedious steps of manually sharing of any file as much as possible. They just want to enjoy the gathering. To avoid this, the network we are providing will allow the functionality of autonomous file sharing when the devices are in each other’s range. A further extension of this can be the P2P delay torrent network (DTN). Suppose a file was not completely transferred and was interrupted midway should we discard the portion of the file we received? It can be solved using P2P DTN, which allows us to decide whether to discard the file or not if we do not discard the file it also allows us to resume the file transfer where it was interrupted if any other user comes in range and has that same file.
In case of a disaster when the communication infrastructure is down SOS signal can be sent from one node to other nodes and relayed to the Rescue team as they come in each other’s range. The message containing all the information will reach them so that they could provide help to that area. For delivery of stress calls to rescue teams, we will use SCORP routing algorithm, which chooses the shortest path that it needs to follow to reach the destination instead of giving the message to every nearby node in the hope that it will eventually reach its destination.
Module 1: Contact History
This type of history will base on how much time a node spends in the range of other nodes. Also, which node stays in frequent contact with the other node? This information will be used to set that if there is any information for any of these nodes, they should be passed along to them as they have a high chance of coming in each other range for communication.
Module 2: SOS Signal
An SOS signal which will contain the user’s emergency, Signals destination, Geolocation of the user form where the signal was generated, what time the signal was sent out and how much time has passed since then, will be transmitted.
Module 3: Interest base Data Sharing
The user will specify his/her interests, whatever they may be, and when another node with similar interest comes in its range, both will receive the files they don’t have.
Module 4: Automated communication
Once two or more Node come in each other’s range, they will start sharing the metadata with the nodes in the range of communication and check on the metadata’s response that what files should be sent to the other node respectively.
Module 5: Create a library
The user will create a specific library in which he will add the files. The files in this library have multiple tags associated with it which will be used to categorize the files in different Interests.
The limitations we face are that there is no such API for an Android OS which will allow this form of communication. We would have to implement a new service by taking guidelines from other related services like WIFI Direct.
Software Process Methodology
The software methodology that we are using for project development is the agile model. We have chosen this model because it follows an incremental technique for developing a project which has some modules. The model offers us such freedom that if we have to change the functionality of our module, we can do so without affecting any other module.
Tools and Technologies
Table-2: Tools and Technologies for Proposed Project
Project Stakeholders and Roles
|Project Sponsor||COMSATS, Institute of Information Technology Islamabad|
|Stakeholder||Dr. Yasir Faheem|
Table-3: Project Stakeholders for Proposed Project
Team Members Individual Tasks/Work Division
|Student Name||Student Registration Number||Responsibility/ Modules|
Table-4: Team Member Work Division of Proposed Project
Data Gathering Approach
We will carry out a test run on some students and collect their Real-time data after they have used the application for one week.
We will be working on the ideas which we learned from courses which were offered by the University. Following are those courses
- Computer Communication and Network (CNN)
- Algorithm and Data Structures
- Modern Programming Languages
Some additional concepts that we will learn are mentioned below
- Concept-1: Routing Protocols
We will learn how to manipulate different routing protocols to provide a stable network.
- Interior Gateway Routing Protocol (IDRP)
- Routing Information Protocol (RIP)
- Concept-2: Routing Algorithms
We will learn social awareness routing algorithms.
- Social Aware Opportunistic Routing Protocol (SCORP)
- Concept-3: API Handling
- Google WIFI Direct P2P API
- Google Nearby API
Figure 1: Gantt chart
Figure 2: Start up Figure 3: Adding interests
Figure 4: Adding file in library Figure 5: Received and my files
In this document, we briefly explained a problem and a proposed solution for that problem which is our final year project idea. We gave advantages of our proposed system along with comparing it with some existing ones and presented the scope of our project. We mentioned significant modules in our project and the new concepts that we will learn working on this project. Lastly, we showed how we would carry out our work and complete it in a Gantt chart and presented some mockups of our application.
- A Survey of Social-Aware Routing Protocols in Delay Tolerant Networks: Applications, Taxonomy, and Design-Related Issues
- Social-aware Opportunistic Routing Protocol based on User’s Interactions and Interests