Project Title: Implementation of energy efficient communication scheme for MANETs using Random cast techniques

Study Area Review: Wireless communications

Aims: Main aim of this project is to develop energy efficient communication plan using Random cast technique across Mobile Adhoc networks

Router Sceenshot

Router Sceenshot

Objectives:

• To understand the concept of MANETs and different communication techniques across them
• To prepare a literature review on existing communication schemes and the role of energy efficiency in this process and evaluate the disadvantages among them
• To design a Random cast technique to overcome the limitations found in the literature review and implement across MANETs for better energy efficient communication process
• To develop a dotnet application that can demonstrate the proposed system practically
• To test the application and evaluate the results
• To document the observations and prepare a proper thesis report

Deliverables:

Following are the deliverables of this project:

• A proper literature review on existing communication techniques across MANETs
• Random cast algorithm that can explain all the steps involved creating an energy efficient communication scheme for MANETs
• Design documents, which can be used to understand the front and backend design of the application
• Prototype of the application, before executing on the real environment
• Dotnet code that can demonstrate the application practically
• Results and observations

Project Type:

This is both research and development project, where I will do some basic research on MANETs and existing communication techniques and I will develop Random cast algorithm based application to implement the energy efficient communication across MANETs.

Professional Project Claim

This project emphasises design and evaluates a dotnet system using appropriate processes and tools, as follows

Hardware Requirements:

• System : Pentium IV 2.4 GHz.
• Hard Disk : 40 GB.
• Ram : 512 Mb.

Software Requirements:

• Operating system : – Windows XP Professional.
• Front End : – Asp .Net 2.0.
Coding Language : – Visual C# .Net.

 Source code for client:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.IO;

namespace DestCode
{
public partial class Client : Form
{
public Client()
{
InitializeComponent();
DestCode.receivedPath = “”;
}

private void button1_Click(object sender, EventArgs e)
{

}

private void timer1_Tick(object sender, EventArgs e)
{
label5.Text = DestCode.receivedPath;
lblres.Text = DestCode.curMsg;

}

DestCode obj = new DestCode();
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{

obj.StartServer();
}

private void Form1_Load(object sender, EventArgs e)
{
backgroundWorker1.RunWorkerAsync();
}

private void button2_Click(object sender, EventArgs e)
{
FolderBrowserDialog f = new FolderBrowserDialog();
f.ShowDialog();
if (f.SelectedPath != “”)
{
DestCode.receivedPath = f.SelectedPath;
label5.Text = f.SelectedPath;
}
else
{
MessageBox.Show(“Please Select a File Receiving Path.\r\n Else You Can not Receive the File”);
}
}

private void label5_Click(object sender, EventArgs e)
{

}

}
//FILE TRANSFER USING C#.NET SOCKET – SERVER
class DestCode
{
IPEndPoint ipEnd;
Socket sock;
public DestCode()
{
IPHostEntry ipEntry = Dns.GetHostEntry(Environment.MachineName);
IPAddress IpAddr = ipEntry.AddressList[0];
ipEnd = new IPEndPoint(IpAddr, 5656);
sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
sock.Bind(ipEnd);
}
public static string receivedPath;
public static string curMsg = “”;
public void StartServer()
{
try
{
//curMsg = “Starting…”;
sock.Listen(100);

// curMsg = “Running and waiting to receive file.”;
Socket clientSock = sock.Accept();

byte[] clientData = new byte[1024 * 5000];

int receivedBytesLen = clientSock.Receive(clientData);
curMsg = “Receiving data…”;

int fileNameLen = BitConverter.ToInt32(clientData, 0);
string fileName = Encoding.ASCII.GetString(clientData, 4, fileNameLen);

BinaryWriter bWrite = new BinaryWriter(File.Open(receivedPath +”/”+ fileName, FileMode.Append)); ;
bWrite.Write(clientData,4 + fileNameLen, receivedBytesLen – 4 – fileNameLen);
if (receivedPath == “”)
{
MessageBox.Show(“No Path was selected to Save the File”);
}
curMsg = “Saving file …”;

bWrite.Close();
clientSock.Close();
curMsg = “File Received …”;

StartServer();

}
catch (Exception ex)
{
curMsg = “File Receving error.”;
}
}
}
}