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
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.”;
}
}
}
}
An efficient secure Aodv protocol for adhoc network