0% found this document useful (0 votes)
59 views50 pages

Advanced Teletraffic

This document contains 16 cases analyzing the performance of different queueing models (FIFO, priority resume, priority non-resume) under varying traffic scenarios for GPRS and EDGE networks with 1 or 8 time slots and service area ratios (SAR) of 1 or 10. For each case, queueing times are calculated for 6 different traffic classes (voice, messaging, telnet, audio streaming, video streaming, email, FTP). Formulas are provided to calculate metrics like expected waiting time, expected queueing time, and mean buffer length for each traffic class.

Uploaded by

Tony Hayek
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
59 views50 pages

Advanced Teletraffic

This document contains 16 cases analyzing the performance of different queueing models (FIFO, priority resume, priority non-resume) under varying traffic scenarios for GPRS and EDGE networks with 1 or 8 time slots and service area ratios (SAR) of 1 or 10. For each case, queueing times are calculated for 6 different traffic classes (voice, messaging, telnet, audio streaming, video streaming, email, FTP). Formulas are provided to calculate metrics like expected waiting time, expected queueing time, and mean buffer length for each traffic class.

Uploaded by

Tony Hayek
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 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

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy