1 Authors, affiliations and contact information

Name: Heming Cui.

Department: Computer Science, Columbia University.

Email: hc2428@columbia.edu

Phone: 917-208-5612

2 Abstract

With the increasing deployment of wireless networks, opportunistic networks are already becomingcommonplace due to the limitation of Internet access points. As a result, developing communication toolsfor opportunistic networks is necessary. Due to the fact that existing applications can not support groupchatting efficiently for opportunistic networks, we propose ONEChat to address this issue.ONEChat uses message multicasting in order to support group chatting as well as reducebandwidth consumption, and requires neither configuration nor infrastructure. Quantitativeanalysis indicates that ONEChat is an efficient group collaborations platform for opportunisticnetworks.

3 System requirements, such as operating system version, hardware, any multimedia devices

Operating System: We have run our applications on both Ubuntu 8.0.4 and Windows. Since thisapplication is written in Java, it can also be run on other OS like Mac and Unix.

(4)Other software libraries. There are three more software libraries: ZRTP4J, Bouncycastle, and T140 usedby ONEChat, but they have already been included in the source code directory, so you do not need toworry about them.

4 Hardware

no hardware limitations.

Operating System: We have run our applications on both Ubuntu 8.0.4 and Windows. Since thisapplication is written in Java, it can also be run on other OS like Mac and Unix.

5 Installation instruction

5.1 Installing JDK.

Just follow the normal steps of installing JDK and then configure the environments JAVA_HOMEand CLASSPATH.

5.2 Installing Bonjour on Windows.

Download the Bonjour given by the above link, and double click and follow the instructions.

5.3 Installing Bonjour on Ubuntu 8.0.4 (the Bonjour for Linux could only be compiled by gcc-4.0, so weneed to install it).

Then, there is an entry showing "Waiting for users to connect to the network" in your networkconnection list.

(2) Setup ad hoc network on Ubuntu:

sudo iwlist wlan0 scan

sudo ifconfig wlan0 down

sudo iwconfig wlan0 mode ad-hoc

sudo iwconfig wlan0 essid XXXX (the network name you entered in Windows)

sudo iwconfig wlan0 channel 11

sudo ifconfig wlan0 192.168.1.6

sudo route add default gw 192.168.1.1

sudo ifconfig wlan0 up

After the configurations, these two machines will be connected later (but maybe not at once). Youshould wait for some time to allow them to setup connection, or you could enter the "sudo iwlist wlan0scan" command for a few times to try to speedup the connection.

Once connected, the network connection entry in Windows would show "Connected" to replace"Waiting for users to connect to the network".

6 Operation

Please refer to the Manual.pdf in current directory for how to run the code.

7 Program internal operation

Please refer to the Section III in the tech report.

8 Java document

This project uses Java as the programming language. The Java Document of this project is located in theCode/ONEChat.rar/doc directory (please extract the ONEChat.rar file then you will find the docdirectory).

9 Assumption

The applications work on link-local (single hop) network. Other assumptions could be found in SectionIII in the tech report.

10 Useful enhancements

Future work includes improving its security against malicious users, and mitigating the UDPfragmentation problem in large file transfer.