ACN-Congestion control using admission control

import java.util.*;

class Main
{
static int pri[]={4,3,2,1};
static int bdw[]={5,4,3,2};
static int rem=10;
static int cp=0;
static int p[][]=new int [10][4];

public static void main(String ars[])
{
int i,j,k,m,ch,cprior,min,count=0,pos;
boolean done=false;

Scanner br=new Scanner(System.in);
System.out.println(“Enter choice \n 1 for CBR \n 2 for VBR \n 3 for UBR \n 4 for ABR”);

do
{
j=0;done=false;count++;

System.out.println(“Enter Details for  “+count+”  connection”);
System.out.println(“Enter Connection Type”);
m=br.nextInt();
cprior=pri[m-1];

if(rem>=bdw[m-1])
{
allocate(count,m);
done=true;
}
while(done!=true)
{
min=p[0][1];
pos=0;
for(i=0;i<cp;i++)
{
if(min>p[i][1])
{
min=p[i][1];
pos=i;
}
}
if(min>cprior)
{
break;
}
unallocate(pos);
if(rem>=bdw[m-1])
{
allocate(count,m);
done=true;
}
}

if(done==false)
{
System.out.println(“Connection Not Granted”);
}

System.out.println(“Enter 1 to continue”);
ch=br.nextInt();
}while(ch==1);
}

public static void allocate(int count,int m)
{

Scanner br=new Scanner(System.in);
System.out.println(“Enter time for connection”);
int t;
t=br.nextInt();

int j=0;
p[cp][j]=count;j++;
p[cp][j]=pri[m-1];j++;
p[cp][j]=bdw[m-1];j++;
p[cp][j]=t;cp++;
rem=rem-bdw[m-1];
System.out.println(“Connection Granted”);
}

public static void unallocate(int pos)
{
p[pos][1]=3000;
p[pos][3]=3000;
rem=rem+p[pos][2];
p[pos][2]=0;

System.out.println(“Connection “+p[pos][0]+”  terminated”);
}
}

Advertisement

No comments yet

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.