Вы находитесь на странице: 1из 50

CPEN 447 Project 1

Submitted By Tony Hayek Elie Nassif Abdelrahim Moubayed Submitted To Professor Jihad Daba
24-04-2012
1

Table of contents
Case 1: FIFO SAR = 1 GPRS CS1 1 TS ..................................................................... 3 Case 2: FIFO SAR = 10 GPRS CS1 1 TS: ........................................................................... 6 Case 3: FIFO SAR = 1 GPRS CS4 8 TS .............................................................................. 9 Case 4: FIFO SAR = 10 GPRS CS4 8 TS: ............................ Error! Bookmark not defined. Case 5: FIFO SAR = 1 EDGE 1 TS ........................................ Error! Bookmark not defined. Case 6: FIFO SAR = 10 EDGE 1 TS ...................................... Error! Bookmark not defined. Case 7: FIFO SAR = 1 EDGE 8 TS ..................................................................................... 21 Case 8: FIFO SAR = 10 EDGE 8 TS ................................................................................... 24 Case 9: Priority Resume GPRS CS1 1 TS ......................................................................... 27 Case 10: Priority Resume GPRS CS4 8 TS ....................................................................... 30 Case 11: Priority Resume EDGE 1 TS ................................................................................... 33 Case 12: Priority Resume EDGE 8 TS .................................................................................. 36 Case 13: Priority Non Resume GPRS CS1 1 TS .............................................................. 39 Case 14: Priority Non Resume GPRS CS4 8 TS .............................................................. 42 Case 15: Priority Non Resume EDGE 1 TS .......................................................................... 45 Case 16: Priority Non Resume EDGE 8 TS .......................................................................... 48

These are the Traffic Parameters used in all cases : 1 2 3 4 5 6 Voice Messaging Telnet Audio Streaming Video Streaming Email FTP G/G/1 M/G/1 G/G/1 G/G/1 M/G/1 G/G/1

Case 1: FIFO SAR = 1 GPRS CS1 1 TS :

%FIF0 - GPRS - CS1 - 1 Time slot clear all; close all; classesNb = 6; waitingTime = zeros(1,6); i = 1; % CS1 - 1 TS channelCapacity = 9.05 * 1000; % 1 Voice messaging averageFrameSize = 31; arrivalRate = (1000 * 10.7) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 1; interArrivalTime = 0.02308; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 2 Telnet averageFrameSize = 64; arrivalRate = (1000 * 0.512) / (8 * averageFrameSize); throughput = arrivalRate; serviceTime = 8 * averageFrameSize / channelCapacity; SAR = 1; ETs2 = (serviceTime * (1 + SAR))^2; %Mean buffer length ENw = (arrivalRate^2 * ETs2) / (2 * (1 - arrivalRate * serviceTime)); ETw = ENw / throughput; ETq = ETw + serviceTime;

waitingTime(i) = ETq; i = i + 1; % 3 Audio streaming averageFrameSize = 200; arrivalRate = (1000 * 20) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 1; interArrivalTime = 0.08; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 4 Video streaming averageFrameSize = 320; arrivalRate = (1000 * 64) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 1; interArrivalTime = 0.04; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 5 Email averageFrameSize = 500; arrivalRate = (1000 * 4) / (8 * averageFrameSize); throughput = arrivalRate; serviceTime = 8 * averageFrameSize / channelCapacity; SAR = 1; ETs2 = (serviceTime * (1 + SAR))^2; %Mean buffer length ENw = (arrivalRate^2 * ETs2) / (2 * (1 - arrivalRate * serviceTime)); ETw = ENw / throughput; ETq = ETw + serviceTime; waitingTime(i) = ETq; i = i + 1; % 6 FTP averageFrameSize = 500; arrivalRate = (1000 * 55) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2);

SAR = 1; interArrivalTime = 0.5; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; stem(waitingTime); grid on xlabel('Application Class Number') ylabel('Queueing Time') title('Latencies Versus Traffic Classes')

Case 2: FIFO SAR = 10 GPRS CS1 1 TS :


%FIF0 - GPRS - CS1 - 1 Time slot clear all; close all; classesNb = 6; waitingTime = zeros(1,6); i = 1;

% CS1 - 1 TS channelCapacity = 9.05 * 1000; % 1 Voice messaging averageFrameSize = 31; arrivalRate = (1000 * 10.7) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 10; interArrivalTime = 0.02308; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 2 Telnet averageFrameSize = 64; arrivalRate = (1000 * 0.512) / (8 * averageFrameSize); throughput = arrivalRate; serviceTime = 8 * averageFrameSize / channelCapacity; SAR = 10; ETs2 = (serviceTime * (1 + SAR))^2; %Mean buffer length ENw = (arrivalRate^2 * ETs2) / (2 * (1 - arrivalRate * serviceTime)); ETw = ENw / throughput; ETq = ETw + serviceTime; waitingTime(i) = ETq; i = i + 1; % 3 Audio streaming averageFrameSize = 200; arrivalRate = (1000 * 20) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 10;

interArrivalTime = 0.08; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 4 Video streaming averageFrameSize = 320; arrivalRate = (1000 * 64) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 10; interArrivalTime = 0.04; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 5 Email averageFrameSize = 500; arrivalRate = (1000 * 4) / (8 * averageFrameSize); throughput = arrivalRate; serviceTime = 8 * averageFrameSize / channelCapacity; SAR = 10; ETs2 = (serviceTime * (1 + SAR))^2; %Mean buffer length ENw = (arrivalRate^2 * ETs2) / (2 * (1 - arrivalRate * serviceTime)); ETw = ENw / throughput; ETq = ETw + serviceTime; waitingTime(i) = ETq; i = i + 1; % 6 FTP averageFrameSize = 500; arrivalRate = (1000 * 55) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 10; interArrivalTime = 0.5; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; stem(waitingTime);

grid on xlabel('Application Class Number') ylabel('Queueing Time') title('Latencies Versus Traffic Classes')

Case 3: FIFO SAR = 1 GPRS CS4 8 TS :


%FIF0 - GPRS - CS4 - 8 Time slots clear all; close all; classesNb = 6; waitingTime = zeros(1,6); i = 1;

% CS4 - 8 TS channelCapacity = 171.2 * 1000; % 1 Voice messaging averageFrameSize = 31; arrivalRate = (1000 * 10.7) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 1; interArrivalTime = 0.02308; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 2 Telnet averageFrameSize = 64; arrivalRate = (1000 * 0.512) / (8 * averageFrameSize); throughput = arrivalRate; serviceTime = 8 * averageFrameSize / channelCapacity; SAR = 1; ETs2 = (serviceTime * (1 + SAR))^2; %Mean buffer length ENw = (arrivalRate^2 * ETs2) / (2 * (1 - arrivalRate * serviceTime)); ETw = ENw / throughput; ETq = ETw + serviceTime; waitingTime(i) = ETq; i = i + 1; % 3 Audio streaming averageFrameSize = 200; arrivalRate = (1000 * 20) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 1;

interArrivalTime = 0.08; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 4 Video streaming averageFrameSize = 320; arrivalRate = (1000 * 64) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 1; interArrivalTime = 0.04; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 5 Email averageFrameSize = 500; arrivalRate = (1000 * 4) / (8 * averageFrameSize); throughput = arrivalRate; serviceTime = 8 * averageFrameSize / channelCapacity; SAR = 1; ETs2 = (serviceTime * (1 + SAR))^2; %Mean buffer length ENw = (arrivalRate^2 * ETs2) / (2 * (1 - arrivalRate * serviceTime)); ETw = ENw / throughput; ETq = ETw + serviceTime; waitingTime(i) = ETq; i = i + 1; % 6 FTP averageFrameSize = 500; arrivalRate = (1000 * 55) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 1; interArrivalTime = 0.5; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; stem(waitingTime);

10

grid on xlabel('Application Class Number') ylabel('Queueing Time') title('Latencies Versus Traffic Classes')

11

Case 4: FIFO SAR = 10 GPRS CS4 8 TS :


%FIF0 - GPRS - CS4 - 8 Time slots clear all; close all; classesNb = 6; waitingTime = zeros(1,6); i = 1;

% CS4 - 8 TS channelCapacity = 171.2 * 1000; % 1 Voice messaging averageFrameSize = 31; arrivalRate = (1000 * 10.7) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 10; interArrivalTime = 0.02308; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 2 Telnet averageFrameSize = 64; arrivalRate = (1000 * 0.512) / (8 * averageFrameSize); throughput = arrivalRate; serviceTime = 8 * averageFrameSize / channelCapacity; SAR = 10; ETs2 = (serviceTime * (1 + SAR))^2; %Mean buffer length ENw = (arrivalRate^2 * ETs2) / (2 * (1 - arrivalRate * serviceTime)); ETw = ENw / throughput; ETq = ETw + serviceTime; waitingTime(i) = ETq; i = i + 1; % 3 Audio streaming %%%%%%%%%%%%%%%%%%%%%%%%%%% averageFrameSize = 200; arrivalRate = (1000 * 20) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2);

12

SAR = 10; interArrivalTime = 0.08; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 4 Video streaming averageFrameSize = 320; arrivalRate = (1000 * 64) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 10; interArrivalTime = 0.04; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 5 Email averageFrameSize = 500; arrivalRate = (1000 * 4) / (8 * averageFrameSize); throughput = arrivalRate; serviceTime = 8 * averageFrameSize / channelCapacity; SAR = 10; ETs2 = (serviceTime * (1 + SAR))^2; %Mean buffer length ENw = (arrivalRate^2 * ETs2) / (2 * (1 - arrivalRate * serviceTime)); ETw = ENw / throughput; ETq = ETw + serviceTime; waitingTime(i) = ETq; i = i + 1; % 6 FTP averageFrameSize = 500; arrivalRate = (1000 * 55) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 10; interArrivalTime = 0.5; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1;

13

stem(waitingTime); grid on xlabel('Application Class Number') ylabel('Queueing Time') title('Latencies Versus Traffic Classes')

14

Case 5: FIFO SAR = 1 EDGE 1 TS :


%FIF0 - EDGE - 1 Time slot clear all; close all; classesNb = 6; waitingTime = zeros(1,6); i = 1;

% 1 TS channelCapacity = 69.2 * 1000; % 1 Voice messaging averageFrameSize = 31; arrivalRate = (1000 * 10.7) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 1; interArrivalTime = 0.02308; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 2 Telnet averageFrameSize = 64; arrivalRate = (1000 * 0.512) / (8 * averageFrameSize); throughput = arrivalRate; serviceTime = 8 * averageFrameSize / channelCapacity; SAR = 1; ETs2 = (serviceTime * (1 + SAR))^2; %Mean buffer length ENw = (arrivalRate^2 * ETs2) / (2 * (1 - arrivalRate * serviceTime)); ETw = ENw / throughput; ETq = ETw + serviceTime; waitingTime(i) = ETq; i = i + 1; % 3 Audio streaming averageFrameSize = 200; arrivalRate = (1000 * 20) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 1;

15

interArrivalTime = 0.08; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 4 Video streaming averageFrameSize = 320; arrivalRate = (1000 * 64) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 1; interArrivalTime = 0.04; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 5 Email averageFrameSize = 500; arrivalRate = (1000 * 4) / (8 * averageFrameSize); throughput = arrivalRate; serviceTime = 8 * averageFrameSize / channelCapacity; SAR = 1; ETs2 = (serviceTime * (1 + SAR))^2; %Mean buffer length ENw = (arrivalRate^2 * ETs2) / (2 * (1 - arrivalRate * serviceTime)); ETw = ENw / throughput; ETq = ETw + serviceTime; waitingTime(i) = ETq; i = i + 1; % 6 FTP averageFrameSize = 500; arrivalRate = (1000 * 55) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 1; interArrivalTime = 0.075; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; stem(waitingTime); grid on

16

xlabel('Application Class Number') ylabel('Queueing Time') title('Latencies Versus Traffic Classes')

17

Case 6: FIFO SAR = 10 EDGE 1 TS :


%FIF0 - EDGE - 1 Time slot clear all; close all; classesNb = 6; waitingTime = zeros(1,6); i = 1;

% 1 TS channelCapacity = 69.2 * 1000; % 1 Voice messaging averageFrameSize = 31; arrivalRate = (1000 * 10.7) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 10; interArrivalTime = 0.02308; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 2 Telnet averageFrameSize = 64; arrivalRate = (1000 * 0.512) / (8 * averageFrameSize); throughput = arrivalRate; serviceTime = 8 * averageFrameSize / channelCapacity; SAR = 10; ETs2 = (serviceTime * (1 + SAR))^2; %Mean buffer length ENw = (arrivalRate^2 * ETs2) / (2 * (1 - arrivalRate * serviceTime)); ETw = ENw / throughput; ETq = ETw + serviceTime; waitingTime(i) = ETq; i = i + 1; % 3 Audio streaming averageFrameSize = 200; arrivalRate = (1000 * 20) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 10;

18

interArrivalTime = 0.08; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 4 Video streaming averageFrameSize = 320; arrivalRate = (1000 * 64) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 10; interArrivalTime = 0.04; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 5 Email averageFrameSize = 500; arrivalRate = (1000 * 4) / (8 * averageFrameSize); throughput = arrivalRate; serviceTime = 8 * averageFrameSize / channelCapacity; SAR = 10; ETs2 = (serviceTime * (1 + SAR))^2; %Mean buffer length ENw = (arrivalRate^2 * ETs2) / (2 * (1 - arrivalRate * serviceTime)); ETw = ENw / throughput; ETq = ETw + serviceTime; waitingTime(i) = ETq; i = i + 1; % 6 FTP averageFrameSize = 500; arrivalRate = (1000 * 55) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 10; interArrivalTime = 0.075; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; stem(waitingTime); grid on

19

xlabel('Application Class Number') ylabel('Queueing Time') title('Latencies Versus Traffic Classes')

20

Case 7: FIFO SAR = 1 EDGE 8 TS :


%FIF0 - EDGE - 8 Time slots clear all; close all; classesNb = 6; waitingTime = zeros(1,6); i = 1;

% 8 TS channelCapacity = 553.6 * 1000; % 1 Voice messaging averageFrameSize = 31; arrivalRate = (1000 * 10.7) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 1; interArrivalTime = 0.02308; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 2 Telnet averageFrameSize = 64; arrivalRate = (1000 * 0.512) / (8 * averageFrameSize); throughput = arrivalRate; serviceTime = 8 * averageFrameSize / channelCapacity; SAR = 1; ETs2 = (serviceTime * (1 + SAR))^2; %Mean buffer length ENw = (arrivalRate^2 * ETs2) / (2 * (1 - arrivalRate * serviceTime)); ETw = ENw / throughput; ETq = ETw + serviceTime; waitingTime(i) = ETq; i = i + 1; % 3 Audio streaming averageFrameSize = 200; arrivalRate = (1000 * 20) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 1;

21

interArrivalTime = 0.08; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 4 Video streaming averageFrameSize = 320; arrivalRate = (1000 * 64) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 1; interArrivalTime = 0.04; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 5 Email averageFrameSize = 500; arrivalRate = (1000 * 4) / (8 * averageFrameSize); throughput = arrivalRate; serviceTime = 8 * averageFrameSize / channelCapacity; SAR = 1; ETs2 = (serviceTime * (1 + SAR))^2; %Mean buffer length ENw = (arrivalRate^2 * ETs2) / (2 * (1 - arrivalRate * serviceTime)); ETw = ENw / throughput; ETq = ETw + serviceTime; waitingTime(i) = ETq; i = i + 1; % 6 FTP averageFrameSize = 500; arrivalRate = (1000 * 55) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 1; interArrivalTime = 0.075; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; stem(waitingTime); grid on

22

xlabel('Application Class Number') ylabel('Queueing Time') title('Latencies Versus Traffic Classes')

23

Case 8: FIFO SAR = 10 EDGE 8 TS :


%FIF0 - EDGE - 8 Time slot clear all; close all; classesNb = 6; waitingTime = zeros(1,6); i = 1;

% 8 TS channelCapacity = 553.6 * 1000; % 1 Voice messaging averageFrameSize = 31; arrivalRate = (1000 * 10.7) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 10; interArrivalTime = 0.02308; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 2 Telnet averageFrameSize = 64; arrivalRate = (1000 * 0.512) / (8 * averageFrameSize); throughput = arrivalRate; serviceTime = 8 * averageFrameSize / channelCapacity; SAR = 10; ETs2 = (serviceTime * (1 + SAR))^2; %Mean buffer length ENw = (arrivalRate^2 * ETs2) / (2 * (1 - arrivalRate * serviceTime)); ETw = ENw / throughput; ETq = ETw + serviceTime; waitingTime(i) = ETq; i = i + 1; % 3 Audio streaming averageFrameSize = 200; arrivalRate = (1000 * 20) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 10;

24

interArrivalTime = 0.08; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 4 Video streaming averageFrameSize = 320; arrivalRate = (1000 * 64) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 10; interArrivalTime = 0.04; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; i = i + 1; % 5 Email averageFrameSize = 500; arrivalRate = (1000 * 4) / (8 * averageFrameSize); throughput = arrivalRate; serviceTime = 8 * averageFrameSize / channelCapacity; SAR = 10; ETs2 = (serviceTime * (1 + SAR))^2; %Mean buffer length ENw = (arrivalRate^2 * ETs2) / (2 * (1 - arrivalRate * serviceTime)); ETw = ENw / throughput; ETq = ETw + serviceTime; waitingTime(i) = ETq; i = i + 1; % 6 FTP averageFrameSize = 500; arrivalRate = (1000 * 55) / (8 * averageFrameSize); serviceTime = 8 * averageFrameSize / channelCapacity; varFrameSize = 4; varServiceTime = (64 * varFrameSize) / ( channelCapacity^2); SAR = 10; interArrivalTime = 0.075; varInterArrivalTime = ((SAR)^2) * (interArrivalTime^2); ETwSup = (arrivalRate/2) * ((varServiceTime^2 + varInterArrivalTime^2) / (1 arrivalRate*serviceTime)); ETqSup = ETwSup + serviceTime; waitingTime(i) = ETqSup; stem(waitingTime); grid on

25

xlabel('Application Class Number') ylabel('Queueing Time') title('Latencies Versus Traffic Classes')

26

Case 9: Priority Resume GPRS CS1 1 TS :


% Priority Resume - GPRS - CS1 - 1 TimeSlot clear all; close all; classesNb = 6; %%%%%%%%%%%%%%%%%%%%% % Traffic Classes % %%%%%%%%%%%%%%%%%%%%% % 1 Voice Messaging % % 2 Telnet % % 3 Audio Streaming % % 4 Video Streaming % % 5 Email % % 6 FTP % %%%%%%%%%%%%%%%%%%%%% % CS1 - 1 TS channelCapacity = 9.05 * 1000; % Ascending order = Shortest packet first averageFrameSize = [31, 64, 200, 320, 500, 500]; arrivalRate = [10.7, 0.512, 20, 64, 4, 55]; priorities = zeros(1,classesNb); prioritizedArrivalRate = zeros(1,classesNb); prioritizedAverageFrameSize = zeros(1,classesNb); % Assigning priorities for traffic classes for i=1:classesNb priority = input ('Please assign class priority: '); prioritizedArrivalRate(i) = arrivalRate(priority); prioritizedAverageFrameSize(i) = averageFrameSize(priority); priorities(i) = priority; end % Getting the arrival rate vector in packet/sec with respect to the % assigned priorities for i=1:classesNb, arrivalRate(i) = 1000 * (prioritizedArrivalRate(i) / (8 * averageFrameSize(i))); end serviceTime = zeros(1, classesNb); % Computing the mean frame service time for i=1:classesNb, serviceTime(i) = 8 * prioritizedAverageFrameSize(i) / channelCapacity; end varFrameSize = zeros(1, classesNb); for i=1:classesNb,

27

if(priorities(i)==1) varFrameSize(i)=0; elseif(priorities(i)==2) varFrameSize(i)=6; elseif(priorities(i)==3) varFrameSize(i)=0; elseif(priorities(i)==4) varFrameSize(i)=8; elseif(priorities(i)==5) varFrameSize(i)=8; elseif(priorities(i)==6) varFrameSize(i)=4; end end varServiceTime = zeros(1, classesNb); % Computing service time variance for i=1:classesNb, varServiceTime(i) = (64 * varFrameSize(i) ) / ( channelCapacity^2); end ETs2 = zeros(1, classesNb); % Computing service time second order statistics for i=1:classesNb, ETs2(i) = varServiceTime(i) + (serviceTime(i))^2; end ro = zeros(1, classesNb); ETw = zeros(1, classesNb); % Computing mean waiting time per class k for k=1:classesNb, ro(k) = arrivalRate(k) * serviceTime(k); end for k=1:classesNb, numerator = 0; denom1 = 0; denom2 = 0; for i=1:k, numerator = numerator + arrivalRate(i) * ETs2(i); end if(k==1) denom1 = 0; else for i=1:k-1, denom1 = denom1 + ro(i); end end for j=1:k, denom2 = denom2 + ro(j); end denominator = 2 * (1 - denom1) * (1 - denom2); ETw(k) = numerator / denominator; end % Computing mean queuing time (latency) per class k ETqk = ETw + serviceTime; % Kleinrock's Conservation Law sumRo = sum(ro); r = 0; for i=1:classesNb, r = r + arrivalRate(i) * ETs2(i); end R = 0.5*r; p1 = zeros(1, classesNb); for i=1:classesNb, p1(i) = ro(i) * ETw(i); end p2 = (( sumRo * R ) / (classesNb * ( 1 - sumRo))); e = zeros(1, classesNb); for i=1:classesNb, e(i) = p1(i) - p2; end sumE = sum(e); stem(ETqk); grid on xlabel('Application Class Number') ylabel('Queueing Time') title('Latencies Versus Traffic Classes')

28

figure stem(p1,'b','LineWidth',3); grid on xlabel('Application Class Number') ylabel('Sum (ro * ETw)') title('Kleinrock Conservation Law') hold on for i=1:6, p2Line(i) = p2; end plot(p2Line,'r');

Note here that Kleinrock's conservation law does not apply.

29

Case 10: Priority Resume GPRS CS4 8 TS :


% Priority Resume - GPRS - CS4 - 8 TimeSlots clear all; close all; classesNb = 6;

% CS4 - 8 TS channelCapacity = 171.2 * 1000; % Ascending order = Shortest packet first averageFrameSize = [31, 64, 200, 320, 500, 500]; arrivalRate = [10.7, 0.512, 20, 64, 4, 55]; priorities = zeros(1,classesNb); prioritizedArrivalRate = zeros(1,classesNb); prioritizedAverageFrameSize = zeros(1,classesNb); % Assigning priorities for traffic classes for i=1:classesNb priority = input ('Please assign class priority: '); prioritizedArrivalRate(i) = arrivalRate(priority); prioritizedAverageFrameSize(i) = averageFrameSize(priority); priorities(i) = priority; end % Getting the arrival rate vector in packet/sec with respect to the % assigned priorities for i=1:classesNb, arrivalRate(i) = 1000 * (prioritizedArrivalRate(i) / (8 * averageFrameSize(i))); end serviceTime = zeros(1, classesNb); % Computing the mean frame service time for i=1:classesNb, serviceTime(i) = 8 * prioritizedAverageFrameSize(i) / channelCapacity; end varFrameSize = zeros(1, classesNb); for i=1:classesNb, if(priorities(i)==1) varFrameSize(i)=0; elseif(priorities(i)==2) varFrameSize(i)=6; elseif(priorities(i)==3) varFrameSize(i)=0; elseif(priorities(i)==4) varFrameSize(i)=8; elseif(priorities(i)==5) varFrameSize(i)=8; elseif(priorities(i)==6) varFrameSize(i)=4; end end varServiceTime = zeros(1, classesNb);

30

% Computing service time variance for i=1:classesNb, varServiceTime(i) = (64 * varFrameSize(i) ) / ( channelCapacity^2); end ETs2 = zeros(1, classesNb); % Computing service time second order statistics for i=1:classesNb, ETs2(i) = varServiceTime(i) + (serviceTime(i))^2; end ro = zeros(1, classesNb); ETw = zeros(1, classesNb); % Computing mean waiting time per class k for k=1:classesNb, ro(k) = arrivalRate(k) * serviceTime(k); end for k=1:classesNb, numerator = 0; denom1 = 0; denom2 = 0; for i=1:k, numerator = numerator + arrivalRate(i) * ETs2(i); end if(k==1) denom1 = 0; else for i=1:k-1, denom1 = denom1 + ro(i); end end for j=1:k, denom2 = denom2 + ro(j); end denominator = 2 * (1 - denom1) * (1 - denom2); ETw(k) = numerator / denominator; end % Computing mean queuing time (latency) per class k ETqk = ETw + serviceTime; % Kleinrock's Conservation Law sumRo = sum(ro); r = 0; for i=1:classesNb, r = r + arrivalRate(i) * ETs2(i); end R = 0.5*r; p1 = zeros(1, classesNb); for i=1:classesNb, p1(i) = ro(i) * ETw(i); end p2 = (( sumRo * R ) / (classesNb * ( 1 - sumRo))); e = zeros(1, classesNb); for i=1:classesNb, e(i) = p1(i) - p2; end sumE = sum(e); stem(ETqk); grid on xlabel('Application Class Number') ylabel('Queueing Time') title('Latencies Versus Traffic Classes') figure stem(p1,'b','LineWidth',3); grid on xlabel('Application Class Number') ylabel('Sum (ro * ETw)') title('Kleinrock Conservation Law') hold on for i=1:6, p2Line(i) = p2; end plot(p2Line,'r');

31

Note here that Kleinrock's conservation law does not apply.

32

Case 11: Priority Resume EDGE 1 TS :


% Priority Resume - EDGE - 1 TimeSlot clear all; close all; classesNb = 6;

% 1 TS channelCapacity = 69.2 * 1000; % Ascending order = Shortest packet first averageFrameSize = [31, 64, 200, 320, 500, 500]; arrivalRate = [10.7, 0.512, 20, 64, 4, 55]; priorities = zeros(1,classesNb); prioritizedArrivalRate = zeros(1,classesNb); prioritizedAverageFrameSize = zeros(1,classesNb); % Assigning priorities for traffic classes for i=1:classesNb priority = input ('Please assign class priority: '); prioritizedArrivalRate(i) = arrivalRate(priority); prioritizedAverageFrameSize(i) = averageFrameSize(priority); priorities(i) = priority; end % Getting the arrival rate vector in packet/sec with respect to the % assigned priorities for i=1:classesNb, arrivalRate(i) = 1000 * (prioritizedArrivalRate(i) / (8 * averageFrameSize(i))); end serviceTime = zeros(1, classesNb); % Computing the mean frame service time for i=1:classesNb, serviceTime(i) = 8 * prioritizedAverageFrameSize(i) / channelCapacity; end varFrameSize = zeros(1, classesNb); for i=1:classesNb, if(priorities(i)==1) varFrameSize(i)=0; elseif(priorities(i)==2) varFrameSize(i)=6; elseif(priorities(i)==3) varFrameSize(i)=0; elseif(priorities(i)==4) varFrameSize(i)=8; elseif(priorities(i)==5) varFrameSize(i)=8; elseif(priorities(i)==6) varFrameSize(i)=4; end end varServiceTime = zeros(1, classesNb);

33

% Computing service time variance for i=1:classesNb, varServiceTime(i) = (64 * varFrameSize(i) ) / ( channelCapacity^2); end ETs2 = zeros(1, classesNb); % Computing service time second order statistics for i=1:classesNb, ETs2(i) = varServiceTime(i) + (serviceTime(i))^2; end ro = zeros(1, classesNb); ETw = zeros(1, classesNb); % Computing mean waiting time per class k for k=1:classesNb, ro(k) = arrivalRate(k) * serviceTime(k); end for k=1:classesNb, numerator = 0; denom1 = 0; denom2 = 0; for i=1:k, numerator = numerator + arrivalRate(i) * ETs2(i); end if(k==1) denom1 = 0; else for i=1:k-1, denom1 = denom1 + ro(i); end end for j=1:k, denom2 = denom2 + ro(j); end denominator = 2 * (1 - denom1) * (1 - denom2); ETw(k) = numerator / denominator; end % Computing mean queuing time (latency) per class k ETqk = ETw + serviceTime; % Kleinrock's Conservation Law sumRo = sum(ro); r = 0; for i=1:classesNb, r = r + arrivalRate(i) * ETs2(i); end R = 0.5*r; p1 = zeros(1, classesNb); for i=1:classesNb, p1(i) = ro(i) * ETw(i); end p2 = (( sumRo * R ) / (classesNb * ( 1 - sumRo))); e = zeros(1, classesNb); for i=1:classesNb, e(i) = p1(i) - p2; end sumE = sum(e); stem(ETqk); grid on xlabel('Application Class Number') ylabel('Queueing Time') title('Latencies Versus Traffic Classes') figure stem(p1,'b','LineWidth',3); grid on xlabel('Application Class Number') ylabel('Sum (ro * ETw)') title('Kleinrock Conservation Law') hold on for i=1:6, p2Line(i) = p2; end plot(p2Line,'r');

34

Note here that Kleinrock's conservation law does not apply.

35

Case 12: Priority Resume EDGE 8 TS :


% Priority Resume - EDGE - 8 TimeSlots clear all; close all; classesNb = 6;

% 8 TS channelCapacity = 553.6 * 1000; % Ascending order = Shortest packet first averageFrameSize = [31, 64, 200, 320, 500, 500]; arrivalRate = [10.7, 0.512, 20, 64, 4, 55]; priorities = zeros(1,classesNb); prioritizedArrivalRate = zeros(1,classesNb); prioritizedAverageFrameSize = zeros(1,classesNb); % Assigning priorities for traffic classes for i=1:classesNb priority = input ('Please assign class priority: '); prioritizedArrivalRate(i) = arrivalRate(priority); prioritizedAverageFrameSize(i) = averageFrameSize(priority); priorities(i) = priority; end % Getting the arrival rate vector in packet/sec with respect to the % assigned priorities for i=1:classesNb, arrivalRate(i) = 1000 * (prioritizedArrivalRate(i) / (8 * averageFrameSize(i))); end serviceTime = zeros(1, classesNb); % Computing the mean frame service time for i=1:classesNb, serviceTime(i) = 8 * prioritizedAverageFrameSize(i) / channelCapacity; end varFrameSize = zeros(1, classesNb); for i=1:classesNb, if(priorities(i)==1) varFrameSize(i)=0; elseif(priorities(i)==2) varFrameSize(i)=6; elseif(priorities(i)==3) varFrameSize(i)=0; elseif(priorities(i)==4) varFrameSize(i)=8; elseif(priorities(i)==5) varFrameSize(i)=8; elseif(priorities(i)==6) varFrameSize(i)=4; end end varServiceTime = zeros(1, classesNb);

36

% Computing service time variance for i=1:classesNb, varServiceTime(i) = (64 * varFrameSize(i) ) / ( channelCapacity^2); end ETs2 = zeros(1, classesNb); % Computing service time second order statistics for i=1:classesNb, ETs2(i) = varServiceTime(i) + (serviceTime(i))^2; end ro = zeros(1, classesNb); ETw = zeros(1, classesNb); % Computing mean waiting time per class k for k=1:classesNb, ro(k) = arrivalRate(k) * serviceTime(k); end for k=1:classesNb, numerator = 0; denom1 = 0; denom2 = 0; for i=1:k, numerator = numerator + arrivalRate(i) * ETs2(i); end if(k==1) denom1 = 0; else for i=1:k-1, denom1 = denom1 + ro(i); end end for j=1:k, denom2 = denom2 + ro(j); end denominator = 2 * (1 - denom1) * (1 - denom2); ETw(k) = numerator / denominator; end % Computing mean queuing time (latency) per class k ETqk = ETw + serviceTime; % Kleinrock's Conservation Law sumRo = sum(ro); r = 0; for i=1:classesNb, r = r + arrivalRate(i) * ETs2(i); end R = 0.5*r; p1 = zeros(1, classesNb); for i=1:classesNb, p1(i) = ro(i) * ETw(i); end p2 = (( sumRo * R ) / (classesNb * ( 1 - sumRo))); e = zeros(1, classesNb); for i=1:classesNb, e(i) = p1(i) - p2; end sumE = sum(e); stem(ETqk); grid on xlabel('Application Class Number') ylabel('Queueing Time') title('Latencies Versus Traffic Classes') figure stem(p1,'b','LineWidth',3); grid on xlabel('Application Class Number') ylabel('Sum (ro * ETw)') title('Kleinrock Conservation Law') hold on for i=1:6, p2Line(i) = p2; end plot(p2Line,'r');

37

Note here that Kleinrock's conservation law does not apply.

38

Case 13: Priority Non Resume GPRS CS1 1 TS:


% Non Preemptive Resume - GPRS - CS1 - 1 TimeSlot clear all; close all; classesNb = 6;

% CS1 - 1 TS channelCapacity = 9.05 * 1000; % Ascending order = Shortest packet first averageFrameSize = [31, 64, 200, 320, 500, 500]; arrivalRate = [10.7, 0.512, 20, 64, 4, 55]; priorities = zeros(1,classesNb); prioritizedArrivalRate = zeros(1,classesNb); prioritizedAverageFrameSize = zeros(1,classesNb); % Assigning priorities for traffic classes for i=1:classesNb priority = input ('Please assign class priority: '); prioritizedArrivalRate(i) = arrivalRate(priority); prioritizedAverageFrameSize(i) = averageFrameSize(priority); priorities(i) = priority; end % Getting the arrival rate vector in packet/sec with respect to the % assigned priorities for i=1:classesNb, arrivalRate(i) = 1000 * (prioritizedArrivalRate(i) / (8 * averageFrameSize(i))); end serviceTime = zeros(1, classesNb); % Computing the mean frame service time for i=1:classesNb, serviceTime(i) = 8 * prioritizedAverageFrameSize(i) / channelCapacity; end varFrameSize = zeros(1, classesNb); for i=1:classesNb, if(priorities(i)==1) varFrameSize(i)=0; elseif(priorities(i)==2) varFrameSize(i)=6; elseif(priorities(i)==3) varFrameSize(i)=0; elseif(priorities(i)==4) varFrameSize(i)=8; elseif(priorities(i)==5) varFrameSize(i)=8; elseif(priorities(i)==6) varFrameSize(i)=4; end end varServiceTime = zeros(1, classesNb);

39

% Computing service time variance for i=1:classesNb, varServiceTime(i) = (64 * varFrameSize(i) ) / ( channelCapacity^2); end ETs2 = zeros(1, classesNb); % Computing service time second order statistics for i=1:classesNb, ETs2(i) = varServiceTime(i) + (serviceTime(i))^2; end ro = zeros(1, classesNb); ETw = zeros(1, classesNb); % Computing mean waiting time per class k for k=1:classesNb, ro(k) = arrivalRate(k) * serviceTime(k); end for k=1:classesNb, numerator = 0; denom1 = 0; denom2 = 0; for i=1:classesNb, numerator = numerator + arrivalRate(i) * ETs2(i); end if(k==1) denom1 = 0; else for i=1:k-1, denom1 = denom1 + ro(i); end end for j=1:k, denom2 = denom2 + ro(j); end denominator = 2 * (1 - denom1) * (1 - denom2); ETw(k) = numerator / denominator; end % Computing mean queuing time (latency) per class k ETqk = ETw + serviceTime; % Kleinrock's Conservation Law sumRo = sum(ro); r = 0; for i=1:classesNb, r = r + arrivalRate(i) * ETs2(i); end R = 0.5*r; p1 = zeros(1, classesNb); for i=1:classesNb, p1(i) = ro(i) * ETw(i); end p2 = (( sumRo * R ) / (classesNb * ( 1 - sumRo))); e = zeros(1, classesNb); for i=1:classesNb, e(i) = p1(i) - p2; end sumE = sum(e); stem(ETqk); grid on xlabel('Application Class Number') ylabel('Queueing Time') title('Latencies Versus Traffic Classes') figure stem(p1,'b','LineWidth',3); grid on xlabel('Application Class Number') ylabel('Sum (ro * ETw)') title('Kleinrock Conservation Law') hold on for i=1:6, p2Line(i) = p2; end plot(p2Line,'r');

40

Note here that the Kleinrock's conservation law applies and sumE is equal to zero.

41

Case 14: Priority Non Resume GPRS CS4 8 TS :


% Non Preemptive Resume - GPRS - CS4 - 8 TimeSlots clear all; close all; classesNb = 6; % CS4 - 8 TS channelCapacity = 171.2 * 1000; % Ascending order = Shortest packet first averageFrameSize = [31, 64, 200, 320, 500, 500]; arrivalRate = [10.7, 0.512, 20, 64, 4, 55]; priorities = zeros(1,classesNb); prioritizedArrivalRate = zeros(1,classesNb); prioritizedAverageFrameSize = zeros(1,classesNb); % Assigning priorities for traffic classes for i=1:classesNb priority = input ('Please assign class priority: '); prioritizedArrivalRate(i) = arrivalRate(priority); prioritizedAverageFrameSize(i) = averageFrameSize(priority); priorities(i) = priority; end % Getting the arrival rate vector in packet/sec with respect to the % assigned priorities for i=1:classesNb, arrivalRate(i) = 1000 * (prioritizedArrivalRate(i) / (8 * averageFrameSize(i))); end serviceTime = zeros(1, classesNb); % Computing the mean frame service time for i=1:classesNb, serviceTime(i) = 8 * prioritizedAverageFrameSize(i) / channelCapacity; end varFrameSize = zeros(1, classesNb); for i=1:classesNb, if(priorities(i)==1) varFrameSize(i)=0; elseif(priorities(i)==2) varFrameSize(i)=6; elseif(priorities(i)==3) varFrameSize(i)=0; elseif(priorities(i)==4) varFrameSize(i)=8; elseif(priorities(i)==5) varFrameSize(i)=8; elseif(priorities(i)==6) varFrameSize(i)=4; end end varServiceTime = zeros(1, classesNb); % Computing service time variance

42

for i=1:classesNb, varServiceTime(i) = (64 * varFrameSize(i) ) / ( channelCapacity^2); end ETs2 = zeros(1, classesNb); % Computing service time second order statistics for i=1:classesNb, ETs2(i) = varServiceTime(i) + (serviceTime(i))^2; end ro = zeros(1, classesNb); ETw = zeros(1, classesNb); % Computing mean waiting time per class k for k=1:classesNb, ro(k) = arrivalRate(k) * serviceTime(k); end for k=1:classesNb, numerator = 0; denom1 = 0; denom2 = 0; for i=1:classesNb, numerator = numerator + arrivalRate(i) * ETs2(i); end if(k==1) denom1 = 0; else for i=1:k-1, denom1 = denom1 + ro(i); end end for j=1:k, denom2 = denom2 + ro(j); end denominator = 2 * (1 - denom1) * (1 - denom2); ETw(k) = numerator / denominator; end % Computing mean queuing time (latency) per class k ETqk = ETw + serviceTime; % Kleinrock's Conservation Law sumRo = sum(ro); r = 0; for i=1:classesNb, r = r + arrivalRate(i) * ETs2(i); end R = 0.5*r; p1 = zeros(1, classesNb); for i=1:classesNb, p1(i) = ro(i) * ETw(i); end p2 = (( sumRo * R ) / (classesNb * ( 1 - sumRo))); e = zeros(1, classesNb); for i=1:classesNb, e(i) = p1(i) - p2; end sumE = sum(e); stem(ETqk); grid on xlabel('Application Class Number') ylabel('Queueing Time') title('Latencies Versus Traffic Classes') figure stem(p1,'b','LineWidth',3); grid on xlabel('Application Class Number') ylabel('Sum (ro * ETw)') title('Kleinrock Conservation Law') hold on for i=1:6, p2Line(i) = p2; end plot(p2Line,'r');

43

Note here that the Kleinrock's conservation law applies and sumE is equal to zero.

44

Case 15: Priority Non Resume EDGE 1 TS:


% Non Preemptive Resume - EDGE - 1 TimeSlot clear all; close all; classesNb = 6;

% 1 TS channelCapacity = 69.2 * 1000; % Ascending order = Shortest packet first averageFrameSize = [31, 64, 200, 320, 500, 500]; arrivalRate = [10.7, 0.512, 20, 64, 4, 55]; priorities = zeros(1,classesNb); prioritizedArrivalRate = zeros(1,classesNb); prioritizedAverageFrameSize = zeros(1,classesNb); % Assigning priorities for traffic classes for i=1:classesNb priority = input ('Please assign class priority: '); prioritizedArrivalRate(i) = arrivalRate(priority); prioritizedAverageFrameSize(i) = averageFrameSize(priority); priorities(i) = priority; end % Getting the arrival rate vector in packet/sec with respect to the % assigned priorities for i=1:classesNb, arrivalRate(i) = 1000 * (prioritizedArrivalRate(i) / (8 * averageFrameSize(i))); end serviceTime = zeros(1, classesNb); % Computing the mean frame service time for i=1:classesNb, serviceTime(i) = 8 * prioritizedAverageFrameSize(i) / channelCapacity; end varFrameSize = zeros(1, classesNb); for i=1:classesNb, if(priorities(i)==1) varFrameSize(i)=0; elseif(priorities(i)==2) varFrameSize(i)=6; elseif(priorities(i)==3) varFrameSize(i)=0; elseif(priorities(i)==4) varFrameSize(i)=8; elseif(priorities(i)==5) varFrameSize(i)=8; elseif(priorities(i)==6) varFrameSize(i)=4; end end varServiceTime = zeros(1, classesNb);

45

% Computing service time variance for i=1:classesNb, varServiceTime(i) = (64 * varFrameSize(i) ) / ( channelCapacity^2); end ETs2 = zeros(1, classesNb); % Computing service time second order statistics for i=1:classesNb, ETs2(i) = varServiceTime(i) + (serviceTime(i))^2; end ro = zeros(1, classesNb); ETw = zeros(1, classesNb); % Computing mean waiting time per class k for k=1:classesNb, ro(k) = arrivalRate(k) * serviceTime(k); end for k=1:classesNb, numerator = 0; denom1 = 0; denom2 = 0; for i=1:classesNb, numerator = numerator + arrivalRate(i) * ETs2(i); end if(k==1) denom1 = 0; else for i=1:k-1, denom1 = denom1 + ro(i); end end for j=1:k, denom2 = denom2 + ro(j); end denominator = 2 * (1 - denom1) * (1 - denom2); ETw(k) = numerator / denominator; end % Computing mean queuing time (latency) per class k ETqk = ETw + serviceTime; % Kleinrock's Conservation Law sumRo = sum(ro); r = 0; for i=1:classesNb, r = r + arrivalRate(i) * ETs2(i); end R = 0.5*r; p1 = zeros(1, classesNb); for i=1:classesNb, p1(i) = ro(i) * ETw(i); end p2 = (( sumRo * R ) / (classesNb * ( 1 - sumRo))); e = zeros(1, classesNb); for i=1:classesNb, e(i) = p1(i) - p2; end sumE = sum(e); stem(ETqk); grid on xlabel('Application Class Number') ylabel('Queueing Time') title('Latencies Versus Traffic Classes') figure stem(p1,'b','LineWidth',3); grid on xlabel('Application Class Number') ylabel('Sum (ro * ETw)') title('Kleinrock Conservation Law') hold on for i=1:6, p2Line(i) = p2; end plot(p2Line,'r');

46

Note here that the Kleinrock's conservation law applies and sumE is equal to zero.

47

Case 16: Priority Non Resume EDGE 8 TS :


% Non Preemptive Resume - EDGE - 8 TimeSlots clear all; close all; classesNb = 6; % 8 TS channelCapacity = 553.6 * 1000; % Ascending order = Shortest packet first averageFrameSize = [31, 64, 200, 320, 500, 500]; arrivalRate = [10.7, 0.512, 20, 64, 4, 55]; priorities = zeros(1,classesNb); prioritizedArrivalRate = zeros(1,classesNb); prioritizedAverageFrameSize = zeros(1,classesNb); % Assigning priorities for traffic classes for i=1:classesNb priority = input ('Please assign class priority: '); prioritizedArrivalRate(i) = arrivalRate(priority); prioritizedAverageFrameSize(i) = averageFrameSize(priority); priorities(i) = priority; end % Getting the arrival rate vector in packet/sec with respect to the % assigned priorities for i=1:classesNb, arrivalRate(i) = 1000 * (prioritizedArrivalRate(i) / (8 * averageFrameSize(i))); end serviceTime = zeros(1, classesNb); % Computing the mean frame service time for i=1:classesNb, serviceTime(i) = 8 * prioritizedAverageFrameSize(i) / channelCapacity; end varFrameSize = zeros(1, classesNb); for i=1:classesNb, if(priorities(i)==1) varFrameSize(i)=0; elseif(priorities(i)==2) varFrameSize(i)=6; elseif(priorities(i)==3) varFrameSize(i)=0; elseif(priorities(i)==4) varFrameSize(i)=8; elseif(priorities(i)==5) varFrameSize(i)=8; elseif(priorities(i)==6) varFrameSize(i)=4; end end varServiceTime = zeros(1, classesNb); % Computing service time variance

48

for i=1:classesNb, varServiceTime(i) = (64 * varFrameSize(i) ) / ( channelCapacity^2); end ETs2 = zeros(1, classesNb); % Computing service time second order statistics for i=1:classesNb, ETs2(i) = varServiceTime(i) + (serviceTime(i))^2; end ro = zeros(1, classesNb); ETw = zeros(1, classesNb); % Computing mean waiting time per class k for k=1:classesNb, ro(k) = arrivalRate(k) * serviceTime(k); end for k=1:classesNb, numerator = 0; denom1 = 0; denom2 = 0; for i=1:classesNb, numerator = numerator + arrivalRate(i) * ETs2(i); end if(k==1) denom1 = 0; else for i=1:k-1, denom1 = denom1 + ro(i); end end for j=1:k, denom2 = denom2 + ro(j); end denominator = 2 * (1 - denom1) * (1 - denom2); ETw(k) = numerator / denominator; end % Computing mean queuing time (latency) per class k ETqk = ETw + serviceTime; % Kleinrock's Conservation Law sumRo = sum(ro); r = 0; for i=1:classesNb, r = r + arrivalRate(i) * ETs2(i); end R = 0.5*r; p1 = zeros(1, classesNb); for i=1:classesNb, p1(i) = ro(i) * ETw(i); end p2 = (( sumRo * R ) / (classesNb * ( 1 - sumRo))); e = zeros(1, classesNb); for i=1:classesNb, e(i) = p1(i) - p2; end sumE = sum(e); stem(ETqk); grid on xlabel('Application Class Number') ylabel('Queueing Time') title('Latencies Versus Traffic Classes') figure stem(p1,'b','LineWidth',3); grid on xlabel('Application Class Number') ylabel('Sum (ro * ETw)') title('Kleinrock Conservation Law') hold on for i=1:6, p2Line(i) = p2; end plot(p2Line,'r');

49

Notehere that the Kleinrock's conservation law applies and sumE is equal to zero.

50

Вам также может понравиться