Saturday, December 13, 2014

4.6 Offline Email System Detail Design

            Figure 4.5 shows offline email system network protocol layout. When email is sent, a message was sent from the sender mail server Mail Transport Agent (MTA). Both MTA side communicates using Simple Mail Transfer Protocol (SMTP) Server. The recipient MTA delivers the email to the Mail Delivery Agent (MDA) which stores the email as it wait for the user to accept it. Internet Message Access Protocol (IMAP) used for retrieving email on MDA.

Figure 4.5: Offline Email System Network Protocol layout
            MDA is protected by login system where it needs a username and password. Email is retrieved by using Mail User Agent (MUA) where it is called an email client on the user device. Webmail is used for this thesis work. If the email destination is not in the local network, the email delivery is pending and the data remain in the mail server storage until it is transferred to the infomediary device. This operation matches the bundle protocol (BP) where the data being stored temporarily and later forwarded to next destination. When the infomediary device establishes a network connection with the offline mail server, the mail database synchronization application will transfer the email data from offline mail server to infomediary device and retrieve new email data from infomediary device to the offline mail server. The new email data from infomediary device which is received from online mail server will be in the new pending email delivery where it is being sent immediately since the destination was in the network until it reaches the user to accept it. The Dynamic Host Configuration Protocol (DHCP) is a network protocol used to configure devices that are connected to a network. The SSID and security codes for the access points are chosen by the administrators. This offline email system used static IP addresses. Both the online and offline server computers are configured as DHCP servers. This enables the servers to allocate IP addresses to any DHCP client.
            Figure 4.6 shows online email system network protocol layout. The process is the same as when the infomediary device establishes a network connection with online mail server, the mail database synchronization application will retrieve email data from infomediary device to online mail server and transfer the new email data from online mail server to the infomediary device to be sent to the offline mail server. The email data from infomediary device which is received from the offline mail server will be in pending delivery where the delivery is executed immediately because of the destination is available in the network until it reaches the user to accept it.


Figure 4.6: Online Email System Network Protocol layout

Friday, December 12, 2014

4.5 Network Protocol Design

Figure 4.3 shows the flow of the email in the networking protocol. This email queue delay period was set by the email system administrator. It can be set to minimum value 0 and maximum value is 2147483647 due to maximum value for a 32-bit signed integer (int32) supported by a SQL database. This means that the email data can be kept in temporary storage for a maximum period of 2147483647 minutes equal to 4083 years. The user at the offline server will write and send an email at application stage where the email data will be stored in the offline mail server for a maximum period of 4083 years before it being discarded. If the offline or online email server computer was shutdown or restart, the pending email remains in the database and will eventually discard when the time delay exceeded. Once the offline mail server connected to infomediary device, the pending email data will move through TCP in Transport layer where the application use NetBIOS over TCP/IP (NBT) to request NetBIOS name server to send an IP address of the destination NetBIOS at infomediary device [20]. Link layer builds an ethernet frame and pass it to the network operating system to be sent to the NetBIOS name server. The NetBIOS name server sends back the NetBIOS name. After the TCP connection is established, the application transfers the file to the target host which is infomediary device.

Figure 4.3: Networking Protocol flow
On the other side, when infomediary device establishes a connection with an online mail server computer, the email data is transferred to the mail server database. The data are transferred packet by packet and when the last packet arrives, the files are reassembled and completed files passed to the application layer. Figure 4.4 shows the Store and forward operation between mail server A, infomediary device and mail server B. Each node contains storage to store the email data.



Figure 4.4: Store and Forward

Thursday, December 11, 2014

Testing Firefox OS Simulator

Firefox OS, also known as Boot to Gecko is a Linux kernel-based open-source operating system for smartphones and tablet computers and is set to be used on smart TVs. It is being developed by Mozilla, the non-profit organization best known for the Firefox web browser.



Firefox OS is designed to provide a complete community-based alternative system for mobile devices, using open standards and approaches such as HTML5 applications, JavaScript, a robust privilege model, open web APIs to communicate directly with cellphone hardware, and application marketplace. As such, it competes with commercially developed operating systems such as Apple's iOS, Google's Android, Microsoft's Windows Phone and Jolla's Sailfish OS as well as other community-based open source systems such as Ubuntu Touch.

Firefox OS Simulator is a test environment for Firefox OS. Use it to test your apps in a Firefox OS-like environment that looks and feels like a mobile phone. After installing it, go to Web Developer > Firefox OS Simulator to access its features. From your Firefox Browser, go here to install the addon:

https://addons.mozilla.org/en-us/firefox/addon/firefox-os-simulator/

Here is my video of using the Firefox OS Simulator:



Website: https://www.mozilla.org/en-US/firefox/os/

Reicast Tester needed

Reicast  team are looking for testers to test their latest dreamcast emulator release candidate before release to the Play Store. Reicast is a Dreamcast emulator for Android.



We're looking for some brave souls to test the latest rc, before it gets rolled out to the play store. If you know how to install 3rd party apks, please join the fun and report breakage~

Let's release current master as r7
Version: r7-rc1-22e95de
Apk: http://reicast-builds.s3.amazonaws.com/builds/heads/master-22e95de/reicast-android-debug-22e95de.apk
Source: https://github.com/reicast/reicast-emulator/releases/tag/r7-rc1
(Will be updated as needed)
In case you have issues, please note which version you tried. Otherwise we can't help.
Unless there are any serious objections, I'll build and upload tonight to Google Play, reicast site, ouya & amazon stores. -> +1 day to get some more feedback (11/12)

Grab the apks here: https://github.com/reicast/reicast-emulator/issues/571

Website: http://reicast.com

4.4 Application and Network Topology

Figure 4.2 shows the offline email system architecture. Each Wi-Fi access point uses a star topology. Each node connected by using a mobility device which is called infomediary device. There is only one online mail server needed and offline mail server can be more than one for each rural village. Offline mail server and online mail server have the same required software installed which is Uniform ServerhMailServerroundcube and FreeFilesync. Infomediary device has Samba File sharing installed to enable the data transfer from each node. Online mail server configured to be able to connect to the internet and accessible from the internet. This is the transit point for this offline email system to be able to send or receive email from internet email such as Gmail, Hotmail etc.

Figure 4.2: Offline Email System Architecture

This offline email system is using TM Streamyx Dynamic 1 MBps Internet Service Provider (ISP) with conjunction with DtDNS service. Dynamic IP is used by Internet Service Provider (ISP) so that one external IP address can be assigned to several users. ISP's use Sticky Dynamic IP Addressing and do not change the external IP address very often and only change the external IP address as ISP deem it necessary. DtDNS service used to enable the system to be accessible from the internet without worrying about frequently change of external IP address.

Wednesday, December 10, 2014

4.3 Abstraction of TCP/IP Mail System based on DTN


There are several of the DTN Email system exists such as Bytewalla 5, DTNmailex and offline Gmail. Mail client for this thesis offline email system, Bytewalla 5 and offline Gmail is a web based. User can use a web browser to access the webmail. There are two mail servers for the offline email system which is an offline local mail server and an online local mail server. Bytewalla 5 also has two mail servers which are offline DTN mail server and online DTN mail server while there is only internet mail server available for offline Gmail.
DTN implementation of this offline email system is based on TCP/IP. The advantage of this approach is the user can use the offline email system as it was a normal email system and may not even noticed it was a DTN email system. The Bytewalla 5 uses a native DTN implementation designed by Delay Tolerant Networking Research Group (DTNRG) while offline Gmail uses Google Gears.
This offline email system use Windows operating system for its web server, mail server application and database synchronization application. Bytewalla 5 uses Ubuntu 8.04 LTS a Linux operating system for its DTN mail server and offline Gmail is browser based where it use Google mail server.
Data mule for being used is an android phone where it acts as an infomediary device. The Samba File sharing application is used to enable a network storage connection with a mail server where it receives an email data from database synchronization software to be sent to the destination mail server. Bytewalla 5 also use android phone as a data mule. It has three main applications running which is DTNService for handling DTN communication, DTN Manager to configure, monitor and manage DTNService and DTNApps (DTNSend for sending messages and DTNReceive for receiving messages). Offline Gmail use Web Browser with Google Gears to store some online files to be used offline.
Temporary storage location for a pending email data in this offline email system and Bytewalla 5 is stored in email server computer while offline Gmail storage is in the mail client computer. Endpoint ID for this offline email system and offline Gmail is a standard email address where there is a local part, @ sign, and domain part. As an example: test1@email.com. [19]. Table 4.2 shows a comparison of this thesis project offline email system with Bytewalla 5 and offline Gmail.

  DTN Email


Features
Offline Email based on Delay Tolerant Network (DTN)
Bytewalla 5
Offline Gmail
Mail Client
Web based
Web based
Web based
Mail Server
-Offline local mail server
-Online local mail server
-Offline DTN mail server
-Online DTN mail server
Internet mail server
DTN implementation
TCP/IP based
Native DTN
Google Gears
Operating System
Windows
Linux (Ubuntu 8.04 LTS)
Browser based
Data mule
Android phone running Samba File sharing
-Android phone running DTNService for handling DTN communication, DTN Manager to configure, monitor and manage DTNService, DTNApps (DTNSend for sending messages and DTNReceive for receiving messages)
Web Browser with Google Gears
Temporary Storage location
Email server computer
Email server computer
Email computer client
Endpoint ID
test1@email.com
dtn:pop:mailto:test1@email.com
test1@email.com
Table 4.2: Comparison of DTN Email
Table 4.3 shows the comparison of selected free web server Uniserver 7.1.4 and XAMPP 1.8.1. Both web servers offer the same feature for a setting up a Windows home server. Uniserver has been selected because it has a Cron feature which can be used with DtDNS service. Cron is a job scheduler allowing scripts to be run automatically at a certain time or date. It is used to update the external IP address of the server computer to the DtDNS service.
                Web server
Features
Uniserver 7.1.4
XAMPP 1.8.1
Size (MB)
14.5
99.0
License
Berkeley Software Distribution (BSD)
GNU General Public License (GPL)
Apache HTTP Server
2.2.19
2.4.3
PHP
5.4.8
5.4.7
MySQL
5.5.15
5.5.27
phpMyAdmin
3.4.3.2
3.5.2.2
OpenSSL
1.0.1c
1.0.1c
Portable application
Yes + Multi server
Yes
Cron
Yes
No
Table 4.3: Comparison of Web server
Table 4.4 shows the comparison of mail server software for hMailServer, AtMail and citadel. HMailServer is selected since it is free, open source and Windows based application. 

          Mail Server
Features
hMailServer
AtMail
Citadel
Operating System
Windows
Linux
Linux
SMTP
Yes
Yes
Yes
POP3
Yes
Yes
Yes
IMAP
Yes
Yes
Yes
Webmail
Yes
Yes
Yes
Database
Yes
Yes
Yes
License
GNU General Public License (GPL)
Commercial
GNU General Public License (GPL)
Table 4.4: Comparison of Mail Server software
Table 4.5 shows a comparison of free mail client for Roundcube and SquirrelMail. Both Mail Clients offer the same features. Either one can be used. Roundcube is selected for this thesis work.
              Mail Client
Features
Roundcube
SquirrelMail
Operating System
Cross platform
Cross platform
License
GNU General Public License (GPL)
GNU General Public License (GPL)
User Interface
Web
Web
New user registration
Yes by using a plugin
Yes by using a plugin
Table 4.5: Comparison of Mail Client
Table 4.6 shows comparison of File Synchronize software for FreeFilesync, Synchronize It and rsync. FreeFilesync is selected for this thesis project because of it a free Open Source for Windows and support for batch file for automated file synchronization.
       File Synchronize
Features
FreeFilesync
Synchronize It
rsync
Operating System
Windows/Linux
Windows
Linux/Windows
License
GNU General Public License (GPL)
Commercial
GNU General Public License (GPL)
Portable
Yes
Yes
Yes
Detect conflict
Yes
No
No
Detect rename
Yes
No
No
Detect move
Yes
No
No
Scheduling
Yes
Yes
No
Table 4.6: Comparison of File Synchronize software
Table 4.7 shows the comparison of the suggested infomediary device. Android phone is used in this thesis work because of its size, weight and battery life.

          Infomediary Device
Features
Android phone
(LG Optimus 3D P920)
Laptop
(Lenovo Z460)
Battery
Li-Ion 1500 mAh
6-Cell Li-ion5200 mAh
Battery Life
Standby up to 450 h
Standby 56Wh
Size
4.3”
14”
Weight
168g
2.24 Kg
Storage
8GB storage + 32GB MicroSD
500GB HDD
WLAN
Wi-Fi 802.11 b/g/n
Wi-Fi 802.11b/g/n
Table 4.7: Comparison of Infomediary Device