1000 Projects
<<<Classroom & Online Training's on android, Java, .Net, C, C++, Big Data Hadoop, SAP, SQL, Oracle, Sales Force>>>

Error Control System in Network Environment a Java Project

November 9, 2011

Error-Control-System-in-Network-EnvironmentError Control System in Network Environment is implemented using java. This projects is useful for computer science final year students who are interested in developing network related project.

In cellular communication networks, the geographical area is divided into smaller regions, called cells. In each cell, there is one Mobile Service Station (MSS) as well as a number of Mobile Hosts (MH). The communication between MSSs is, in general, through wired links, while the links between an MH and MSS is wireless. A Mobile Host can communicate with other Mobile Hosts in the system only through the Mobile Service Station in its cell.

There are two kinds of channels available to an MH: communication channel and control channel. The former is used to support communication between an MH and the MSS in its cell, while the latter is set aside to be used exclusively to send control messages that are generated by the channel allocation algorithm. In this paper, henceforth, unless specified otherwise, the term channel or wireless channel refers to a communication channel. When an MH wants to communicate with another MH, it sends a request message to the MSS in its own cell. The request can be granted only if a wireless channel can be allocated for communication between MSS and MH. Since channels are limited, they should be reused as much as possible.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
import java.lang.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

class Globals
{
static int MobileHostID=0;
static int MyChannelID=0;
static int MSSWidth=10;
static int MSSHeight=10;
static int HexWidth=70; //cell-hexagon width
static int HexHeight=90; //cell-hexagon height
static int CellStartX=95; //firstcell's xpos
static int CellStartY=140; //firstcell's ypos
}

class ChannelStatus
{
static int Allocated=0;
static int Busy=1;

static String[] StatusString;
static
{
StatusString=new String[]
{
new String("Allocated"),
new String("Busy"),
};
}
}

class MobileHost
{
int id;
int x;
int y;

MobileHost(int tx,int ty)
{
id=Globals.MobileHostID;
x=tx;
y=ty;
Globals.MobileHostID++;
}

public int getid()
{
return(id);
}

public int getx()
{
return(x);
}

public int gety()
{
return(y);
}
}

class MyChannel
{
int id;
int x;
int y;
int status;

MyChannel(int tx,int ty,int tstatus)
{
id=Globals.MyChannelID;
Globals.MyChannelID++;
x=tx;
y=ty;
status=tstatus;
}

public int getx()
{
return(x);
}

public int gety()
{
return(y);
}

public int getstatus()
{
return(status);
}
}

class Cell
{
int id; //unique id for each cell
int x,y; //display position
int AdjCount;
int AdjCells[]=new int[6]; //maximum 6 adjacent cells for a cell
MobileHost[] MobileHosts=new MobileHost[100];
int MobileHostCount;
MyChannel[] MyChannels=new MyChannel[100];
int MyChannelCount;
int LinkedMH[]=new int[100];
int GroupCells[]=new int[100];
int GroupCellCount;

//constructor
Cell()
{
id=-1;
AdjCount=0;
MobileHostCount=0;
MyChannelCount=0;
GroupCellCount=0;
}

//set functions
public void setid(int tid)
{
id=tid;
}
public void setxy(int tx,int ty)
{
x=tx;
y=ty;
}

//get functions
public int getid()
{
return(id);
}

public int getx()
{
return(x);
}

public int gety()
{
return(y);
}

public int getMobileHostCount() //MobileHosts get functions
{
return(MobileHostCount);
}

public MobileHost getMobileHost(int index)
{
return(MobileHosts[index]);
}

public int getMobileHostID(int index)
{
return(MobileHosts[index].id);
}

public int getMobileHostX(int index)
{
return(MobileHosts[index].x);
}

public int getMobileHostY(int index)
{
return(MobileHosts[index].y);
}

public int getMyChannelCount() //MyChannels get functions
{
return(MyChannelCount);
}

public MyChannel getMyChannel(int index)
{
return(MyChannels[index]);
}

public int getMyChannelLink(int index)
{
return(LinkedMH[index]);
}

public int getMyChannelID(int index)
{
return(MyChannels[index].id);
}

public int getMyChannelX(int index)
{
return(MyChannels[index].x);
}

public int getMyChannelY(int index)
{
return(MyChannels[index].y);
}

public int getMyChannelStatus(int index)
{
return(MyChannels[index].status);
}

public void setMyChannelStatus(int tIndex,int tStatus)
{
MyChannels[tIndex].status=tStatus;
}

public int getAdjCount() //AdjCell get functions
{
return(AdjCount);
}

public int getAdjCell(int tindex)
{
int tcellid=-1;
if(tindex&gt;=0&amp;&amp;tindex&lt;=AdjCount-1) tcellid=AdjCells[tindex];
return(tcellid);
}

public int getGroupCell(int tindex)
{
int tcellid=-1;
if(tindex&gt;=0&amp;&amp;tindex&lt;=GroupCellCount-1) tcellid=GroupCells[tindex];
return(tcellid);
}

//methods
public void addAdjCell(int tcellid)
{
AdjCells[AdjCount]=tcellid;
AdjCount++;
}

public void addMobileHost(int xposition,int yposition)
{
MobileHosts[MobileHostCount]=new MobileHost(xposition,yposition);
LinkedMH[MobileHostCount]=-1;
MobileHostCount++;
}

public boolean addMyChannel(int tx,int ty,int tstatus)
{
boolean flag=false;

if(MobileHostCount!=0)
{
if(MyChannelCount&lt;MobileHostCount)
{
MyChannels[MyChannelCount]=new MyChannel(tx,ty,tstatus);
LinkedMH[MyChannelCount]=MobileHosts[MyChannelCount].getid();
MyChannelCount++;
flag=true;
}
}

//return(flag);
return(true);
}

public void addGroupCell(int tCellID)
{
GroupCells[GroupCellCount]=tCellID;
GroupCellCount++;
}

public void draw(Graphics g)
{
//draw cell-hexagon
g.setColor(new Color(0,0,255));
Graphics2D g2d=(Graphics2D)g;
g2d.setStroke(new BasicStroke(2.0f));
g.drawLine(x,y,x+Globals.HexWidth,y);
g.drawLine(x+Globals.HexWidth,y,x+Globals.HexWidth+Globals.HexWidth/2,y+Globals.HexHeight/2);
g.drawLine(x,y,x-Globals.HexWidth/2,y+Globals.HexHeight/2);
g.drawLine(x-Globals.HexWidth/2,y+Globals.HexHeight/2,x,y+Globals.HexHeight);
g.drawLine(x+Globals.HexWidth+Globals.HexWidth/2,y+Globals.HexHeight/2,x+Globals.HexWidth,y+Globals.HexHeight);
g.drawLine(x,y+Globals.HexHeight,x+Globals.HexWidth,y+Globals.HexHeight);

//draw MSS
int tCenterX=(Globals.HexWidth-Globals.MSSWidth)/2;
int tCenterY=(Globals.HexHeight-Globals.MSSHeight)/2;
g.drawRect(x+tCenterX,y+tCenterY,Globals.MSSWidth,Globals.MSSHeight);

try
{
//Thread.sleep(1);
}
catch(Exception e)
{
System.out.println("Error: "+e.getMessage());
}
}
};

But, a channel cannot be used at the same time by two cells if they are within a threshold distance called the minimum channel reuse distance (Dmin) , because it will cause interference. Such an interference is called cochannel interference. A cell, say Ci, is said to be an interference neighbor of another cell, say Cj, if the distance between them is less than Dmin. So, if a channel r is used by a cell Ci, then none of the interference neighbors of Ci can use r concurrently. If using a channel in a cell causes no interference, then we say that this channel is available for the cell. When an MH needs a channel to support a call, it sends a request message to the MSS in its cell through a control channel.

When the MSS receives such a message, it tries to assign a channel using a channel allocation algorithm. A channel allocation algorithm is usually divided into two parts: a channel acquisition algorithm and a channel selection algorithm. The task of the former is to compute the set of channels that are not being used by cells within distance Dmin. The goal of the latter is to choose a channel from the computed set of channels smartly so that good channel reuse pattern can be achieved. If the MSS cannot assign a channel to support the call initiated by the MH, then we say that the call has failed. 

download Project Report and paper presentation and project code of Error Control System in Network Environment A Java Project.


posted in CSE Paper Presentations, CSE Projects, CSE Projects with Source Code, Java Based Projects by Ramesh Gavva/Kasarla shanthan

Follow comments via the RSS Feed | Leave a comment | Trackback URL


‹‹‹ Visa Processing a .Net Project

Cell Phones Beyond Calls And SMS Seminar Topic ›››

Custom Search

4 Comments to "Error Control System in Network Environment a Java Project"

  1. sathish balerao wrote:

    thanx for the admin of 1000projects.org.., i want to base paper for java mini project ” online solution provider” ..please send me base paper to my mail ID satyamsathish.kumar@gmail.com

  2. pooja wrote:

    Thanx for providing info….,i want ieee paper for “Error control system in network envionment.plz send me

  3. jyothi wrote:

    i want requirements for error control system in network environment please send me to my mail id

  4. upeksha wrote:

    Sir I want to full video to know how to implement this program,and about its database…..

Leave Your Comment

 
Copyright 2014 | Powered by 1000Projects.org | Developed by WikiHands.