101
Bandwidth recyling in ieee 802.16 networks Bandwidth Recycling in IEEE 802.16 Networks 1. INTRODUCTION The Worldwide Interoperability for Microwave Access (WiMAX), based on IEEE 802.16 standard standards, is designed to facilitate services with high transmission rates for data and multimedia applications in metropolitan areas. The physical (PHY) and medium access control (MAC) layers of WiMAX have been specified in the IEEE 802.16 standard. Many advanced communication technologies such as Orthogonal Frequency-Division Multiple Access (OFDMA) and multiple-input and multiple- output (MIMO) are embraced in the standards.Supported by these modern technologies,WiMAX is able to provide a large service coverage, high data rates and QoS guaranteed services. Because of these features,WiMAX is considered as a promising alternative for last mile broadband wireless access (BWA).In order to provide QoS guaranteed services, the subscriber station (SS) is required to reserve the necessary bandwidth from the base station (BS) before any data transmissions. In order to serve variable bit rate (VBR) applications, the SS tends to keep the reserved bandwidth to maintain the QoS guaranteed services.Thus, the amount of reserved bandwidth transmitted data may be more than the amount of transmitted data and may not be fully utilized all the time. Although the amount of MRITS-Department Of IT 1

New Microsoft Word Document(1)

Embed Size (px)

Citation preview

Bandwidth recyling in ieee 802.16 networks

Bandwidth Recycling in IEEE 802.16 Networks

1. INTRODUCTION

The Worldwide Interoperability for Microwave Access (WiMAX), based on

IEEE 802.16 standard standards, is designed to facilitate services with high

transmission rates for data and multimedia applications in metropolitan areas. The

physical (PHY) and medium access control (MAC) layers of WiMAX have been

specified in the IEEE 802.16 standard. Many advanced communication technologies

such as Orthogonal Frequency-Division Multiple Access (OFDMA) and multiple-

input and multiple-output (MIMO) are embraced in the standards.Supported by these

modern technologies,WiMAX is able to provide a large service coverage, high data

rates and QoS guaranteed services. Because of these features,WiMAX is considered

as a promising alternative for last mile broadband wireless access (BWA).In order to

provide QoS guaranteed services, the subscriber station (SS) is required to reserve the

necessary bandwidth from the base station (BS) before any data transmissions. In

order to serve variable bit rate (VBR) applications, the SS tends to keep the reserved

bandwidth to maintain the QoS guaranteed services.Thus, the amount of reserved

bandwidth transmitted data may be more than the amount of transmitted data and may

not be fully utilized all the time. Although the amount of reserved bandwidth is

adjustable via making bandwidth requests (BRs), the adjusted bandwidth is applied as

early as to the next coming frame. The unused bandwidth in the current frame has no

chance to be utilized. Moreover, it is very challenging to adjust the amount of

reserved bandwidth precisely. The SS may be exposed to the risk of degrading the

QoS requirements of applications due to the insufficient amount of reserved

bandwidth.

To improve the bandwidth utilization while maintaining the same QoS

guaranteed services, our research objective is twofold: 1) the existing bandwidth

reservation is not changed to maintain the same QoS guaranteed services. 2) our

research work focuses on increasing the bandwidth utilization by utilizing the unused

bandwidth. We propose a scheme, named Bandwidth Recycling, which recycles the

unused bandwidth while keeping the same QoS guaranteed services without

introducing

MRITS-Department Of IT 1

Bandwidth recyling in ieee 802.16 networks

extra delay. The general concept behind our scheme is to allow other SSs to utilize the

unused bandwidth left by the current transmitting SS. Since the unused bandwidth is

not supposed to occur regularly, our scheme allows SSs with non-real time

applications, which have more flexibility of delay requirements, to recycle the unused

bandwidth. Consequently, the unused bandwidth in the current frame can be utilized.

It is different from the bandwidth adjustment in which the adjusted bandwidth is

enforced as early as in the next coming frame. Moreover, the unused bandwidth is

likely to be released temporarily (i.e., only in the current frame) and the existing

bandwidth reservation does not change. Therefore, our scheme improves the overall

throughput while providing the same QoS guaranteed services.

According to the IEEE 802.16 standard, SSs scheduled on the uplink (UL) map

should have transmission opportunities in the current frame. Those SSs are called

transmission SSs (TSs) in this paper. The main idea of the proposed scheme is to

allow the BS to schedule a backup SS for each TS. The backup SS is assigned to

standby for any opportunities to recycle the unused bandwidth of its corresponding

TS. We call the backup SS as the complementary station (CS). In the IEEE 802.16

standard, BRs are made in per-connection basis. However, the BS allocates bandwidth

in per-SS basis. It gives the SS flexibility to allocate the granted bandwidth to each

connection locally. Therefore, the unused bandwidth is defined as the granted

andwidth which is still available after serving all connections running on the SS. In

our scheme, when a TS has unused bandwidth, it should transmit a message, called

releasing message (RM), to inform its corresponding CS to recycle the unused

bandwidth. However, because of the variety of geographical distance between TS and

CS and the transmission power of the TS, the CS may not receive the RM. In this

case, the benefit of our scheme may be reduced. In this research, we investigate the

probability that the CS receives a RM successfully. Our theoretical analysis shows

that this probability is least 42%, which is confirmed by our simulation. By further

investigating the factors that affect the effectiveness of our scheme, two factors are

concluded: 1) the CS cannot receive the RM. 2) the CS does not have non-real time

data to transmit while receiving a RM. To mitigate those factors, additional

scheduling algorithms are proposed. Our simulation results show that the proposed

algorithm further improve the average throughput by 40% in a steady network (i.e.,

second in our simulation).

MRITS-Department Of IT 2

Bandwidth recyling in ieee 802.16 networks

The structure of a MAC frame defined in IEEE 802.16 standard contains two parts:

UL and DL subframe. The UL subframe is for UL transmissions. Similarly, the DL

subframe is for DL transmissions. In IEEE 802.16 networks, the SS is coordinated by

the BS. All coordinating information including burst profiles and offsets is in

the DL and UL maps, which are broadcasted at the beginning of a MAC frame.

The IEEE 802.16 network is connection-oriented. It gives the advantage of having

better control over network resource to provide QoS guaranteed services. In

order to support wide variety of applications, the IEEE 802.16 standard classifies

traffic into five scheduling classes: Unsolicited Grant Service (UGS), Real Time

Polling Service (rtPS), Non-real Time Polling Service (nrtPS), Best Effort (BE) and

Extended Real Time Polling Service (ertPS). Each application is classified into one of

the scheduling classes and establish a connection with the BS based on its scheduling

class. The BS assigns a connection ID (CID) to each connection. The bandwidth

reservation is made based on the CID via sending a BR. When receiving a BR, the BS

can either grant or reject the BR depending on its available resources and scheduling

policies. There are two types of BRs defined in the IEEE 802.16 standard: ncremental

and aggregate BRs. The former allow the SS to indicate the extra bandwidth required

for a connection. Thus, the amount of reserved bandwidth can be only increased via

incremental BRs. On the other hand, the SS specifies the current state of queue for the

particular connection via a aggregate request. The BS resets its perception of that

service’s needs upon receiving the request. Consequently, the reserved bandwidth ay

be decreased.

To improve the bandwidth utilization while maintaining the same QoS guaranteed

services, our research objective is twofold: 1) the existing bandwidth reservation is

not changed to maintain the same QoS guaranteed services. 2) our research work

focuses on increasing the bandwidth utilization by utilizing the unused bandwidth. We

propose a scheme, named Bandwidth Recycling, which recycles the unused

bandwidth while keeping the same QoS guaranteed services without introducing extra

delay. The general concept behind our scheme is to allow other SSs to utilize the

unused bandwidth left by the current transmitting SS. Since the unused bandwidth is

not supposed to occur regularly, our scheme allows SSs with non-real time

applications, which have more flexibility of delay requirements, to recycle the unused

bandwidth. Consequently, the unused bandwidth in the current frame can be utilized.

It is different from the bandwidth adjustment in which the adjusted bandwidth is

MRITS-Department Of IT 3

Bandwidth recyling in ieee 802.16 networks

enforced as early as in the next coming frame. Moreover, the unused bandwidth is

likely to be released temporarily (i.e., only in the current frame) and the existing

bandwidth reservation does not change. Therefore, our scheme improves the overall

throughput while providing the same QoS guaranteed services.

There are two types of BRs defined in the IEEE 802.16 standard: incremental

and aggregate BRs. The former allow the SS to indicate the extra bandwidth required

for a connection. Thus, the amount of reserved bandwidth can be only increased via

incremental BRs. On the other hand, the SS specifies the current state of queue for the

particular connection via a aggregate request. The BS resets its perception of that

service’s needs upon receiving the request. Consequently, the reserved bandwidth

may be decreased.

1.1 Motivation

Bandwidth reservation allows IEEE 802.16 networks to provide QoS guaranteed

services. The SS reserves the required bandwidth before any data transmissions. Due

to the nature of VBR applications, it is very difficult for the SS to make the optimal

bandwidth reservation. It is possible that the amount of reserved bandwidth is more

than the demand. Therefore, the reserved bandwidth cannot be fully utilized.

Although the reserved bandwidth can be adjusted via BRs, however, the updated

reserved bandwidth is applied as early as to the next coming frame and there is no

way to utilize the unused bandwidth in the current frame. In our scheme, the

SS releases its unused bandwidth in the current frame and another SS pre-assigned by

the BS has opportunities to utilize this unused bandwidth. This improves

the bandwidth utilization. Moreover, since the existing bandwidth reservation is not

changed, the same QoS guaranteed services are provided without introducing

any extra delay. Many research works related to bandwidth utilization inprovement

have been proposed in the literature. In a dynamic resource reservation mechanism is

proposed.

It can dynamically change the amount of reserved resource depending on the actual

number of active connections. The investigation of dynamic bandwidth reservation

for hybrid networks is presented in . The authors evaluated the performance and

effectiveness for the hybrid network, and proposed efficient methods to ensure

MRITS-Department Of IT 4

Bandwidth recyling in ieee 802.16 networks

optimum reservation and utilization of bandwidth while minimizing signal blocking

probability and signaling cost. In the authors enhanced the system throughput

by using concurrent transmission in mesh mode. The authors in proposed a new QoS

control scheme by considering MAC-PHY cross-layer resource allocation. A dynamic

bandwidth request-allocation algorithm for real-time services is proposed in. The

authors predict the amount of bandwidth to be requested based on the information of

the backlogged amount of traffic in the queue and the rate mismatch between packet

arrival and service rate to improve the bandwidth utilization. The research works

listed above improve the performance by predicting the traffic coming in the future.

Instead of prediction, our scheme can allow SSs to accurately identify the portion of

unused bandwidth and provides a method to recycle the unused bandwidth. It can

improve the utilization of bandwidth while keeping the same QoS guaranteed services

and introducing no extra delay.

1.2 Problem Definition

The IEEE 802.16 standard specifies three types of transmission mediums

supported as the physical layer (PHY): single channel (SC), Orthogonal frequency-

division multiplexing (OFDM) and Orthogonal Frequency-Division Multiple Access

(OFDMA). We assume OFDMA as the PHY in our analytical model since it is

employed to support mobility in IEEE 802.16e standard and the scheme working in

OFDMA should also work in others. There are four types of modulations supported

by OFDMA: BPSK, QPSK, 16-QAM and 64-QAM. This paper is focused on the

point-to-multipoint (PMP) mode in which the SS is not allowed to communicate with

any other SSs but the BS directly. Based on the transmission direction, the

transmissions between BS and SSs are classified into downlink (DL) and uplink (UL)

transmissions. The former are the transmissions from the BS to SSs. Conversely, the

latter are the transmissions in the opposite direction. There are two transmission

modes: Time Division Duplex (TDD) and Frequency Division Duplex (FDD)

supported in IEEE 802.16. Both UL and DL transmissions can not be operated

simultaneously in TDD mode but in FDD mode. In this paper, our scheme is focused

the TDD mode. In WiMAX, the BS is responsible for scheduling both UL and DL

transmissions. All scheduling behavior is expressed in a MAC frame.

The structure of a MAC frame defined in IEEE 802.16 standard contains two

parts: UL and DL subframe. The UL subframe is for UL transmissions. Similarly, the

MRITS-Department Of IT 5

Bandwidth recyling in ieee 802.16 networks

DL subframe is for DL transmissions. In IEEE 802.16 networks, the SS is coordinated

by the BS. All coordinating information including burst profiles and offsets is in the

DL and UL maps, which are broadcasted at the beginning of a MAC frame. The IEEE

802.16 network is connection-oriented. It gives the advantage of having better control

over network resource to provide QoS guaranteed services. In order to support wide

variety of applications, the IEEE 802.16 standard classifies traffic into five scheduling

classes: Unsolicited Grant Service (UGS), Real Time Polling Service (rtPS), Non-real

Time Polling Service (nrtPS), Best Effort (BE) and Extended Real Time Polling

Service (ertPS). Each application is classified into one of the scheduling classes and

establish a connection with the BS based on its scheduling class. The BS assigns a

connection ID (CID) to each connection. The bandwidth reservation is made based on

the CID via sending a BR. When receiving a BR, the BS can either grant or reject the

BR depending on its available resources and scheduling policies. There are two types

of BRs defined in the IEEE 802.16 standard: incremental and aggregate BRs. The

former allow the SS to indicate the extra bandwidth required for a connection. Thus,

the amount of reserved bandwidth can be only increased via incremental BRs. On the

other hand, the SS specifies the current state of queue for the particular connection via

a aggregate request. The BS resets its perception of that service’s needs upon

receiving the request. Consequently, the reserved bandwidth may be decreased.

1.3 Objective of the project

The objectives of our research are twofold: 1) The same QoS guaranteed

services are provided by maintaining the existing bandwidth reservation. 2) the

bandwidth utilization is improved by recycling the unused bandwidth.To achieve

these objectives, our scheme named Bandwidth Recycling is proposed. The main idea

of the

proposed scheme is to allow the BS to pre-assign a CS for each TS at the beginning of

a frame. The CS waits for the possible opportunities to recycle the unused bandwidth

of its corresponding TS in this frame. The CS information scheduled by the BS is

resided in a list, called complementary list (CL). The CL includes the mapping

relation between each pair of pre-assigned CS and TS. As shown in Fig. 1, each CS is

mapped to at least one TS. The CL is broadcasted followed by the UL map. To reach

the backward compatibility, a broadcast CID (B-CID) is attached in front of the CL.

Moreover, a stuff byte value (SBV) is transmitted followed by the B-CID to

MRITS-Department Of IT 6

Bandwidth recyling in ieee 802.16 networks

distinguish the CL from other broadcast DL transmission intervals. The UL map

including burst profiles and offsets of each TS is received by all SSs within the

network. Thus, if a SS is on both UL map and CL, the necessary information (e.g.,

burst profile) residing in the CL may be reduced to the mapping information between

the CS and its corresponding TS. The BS only specifies the burst profiles for the SSs

which are only scheduled on the CL.

For example, as shown in Fig. 1, CSj is scheduled as the corresponding CS of TSj ,

where 1 ≤ j ≤ k. When TSj has unused bandwidth, it performs our protocol introduced

in Section 4.1. If CSj receives the message sent from TSj , it starts to transmit data by

using the agreed burst profile. The burst profile of a CS is resided on either the UL

map if the CS is also scheduled on the UL map or the CL if the CS is only scheduled

on CL. Our proposed scheme is presented into two parts: the protocol and the

scheduling algorithm. The protocol describes how the TS identifies the unused

bandwidth and informs recycling opportunities to its corresponding CS. The

scheduling algorithm helps the BS to schedule a CS for each TS.

Limitations of project:

One of the factors causing recycling failures is that the CS does not have data

to transmit while receiving a RM. To alleviate this factor, we propose to schedule SSs

which have rejected BRs in the last frame because it can ensure that the SS scheduled

as CS has data to recycle the unused bandwidth. This scheduling algorithm is called

Rejected Bandwidth Requests First Algorithm (RBRFA). It is worth to notice that the

RBRFA is only suitable to heavily loaded networks with rejected BRs sent from non-

real time connections (i.e., nrtPS or BE). Notice that only rejected BRs sent in the last

frame are considered in the RBRFA for scheduling the current frame. The RBRFA is

summarized .The BS grants or rejects BRs based on its available resource and

scheduling policy. In RBRFA, if the BSgrants partially amount of bandwidth

requested by a BR, then this BR is also considered as a rejected BR. Similar Ot

represents the set of SSs which transmission period overlaps with the TS, St, in QR.

All SSs in Qt are considered as possible CSs of St. A rejected BR shows that the SS

must have extra data to be transmitted in the next frame and no bandwidth is allocated

for these data. The RBRFA schedules those SSs as CSs on the CL, so the probability

to recycle the unused bandwidth while the CS receives the RM is increased. The

other factor that may affect the performance of bandwidth recycling is the probability

MRITS-Department Of IT 7

Bandwidth recyling in ieee 802.16 networks

of the RM to be received by the CS successfully. To increase this probability, a

scheduling algorithm, named history-Based Scheduling Algorithm (HBA), is

proposed. The HBA is summarized . For each TS, the BS maintains a list, called

Black List (BL). The basic CID of a CS is recorded in the BL of the TS if this CS

cannot receive RMs sent from the TS. According to our protocol, the CS transmits

data or pad the rest of transmission interval if a RM is received. The BS considers that

a CS cannot receive the RM from its corresponding TS if the BS does not receive

either data or padding information from the CS. When the BS schedules the CS of

each TS in future frames, the BS only schedules a SS which is not on the BL of the

TS as the CS. After collecting enough history, the BL of each TS should contains the

basic CID of all SSs which cannot receive the RM sent from the TS. By eliminating

those SS, the BS should have high probability to schedule a CS which can receive the

RM successfully. Therefore, BAcan increase the probability of scheduling a SS

which is able to receive the RM as the CS.

To support the mobility, the BL of each TS should be updated periodically.

MRITS-Department Of IT 8

Bandwidth recyling in ieee 802.16 networks

Literature survey

2.1 Introduction

Literature survey is the most important step in software development process.

Before developing the tool it is necessary to determine the time factor, economy n

company strength. Once these things r satisfied, ten next steps are to determine which

operating system and language can be used for developing the tool. Once the

programmers start building the tool the programmers need lot of external support.

This support can be obtained from senior programmers, from book or from websites.

Before building the system the above consideration r taken into account for

developing the proposed system

Definition 1: Bandwidth

Is a measure of frequency range, measured in hertz.

Example

The range of frequencies within which the performance of the antenna, with respect to

some characteristics, conforms to a specified standard. (2.4-2.5GHz antenna has

100MHz bandwidth).

Definition 2: Bandwidth

The amount of data that can be transmitted in a fixed amount of time, expressed in

bits per second(bps) or bytes per second.

2.2 Existing system

Important part in bringing out the network services lies in existing technology.

Routing and switching are the main methods of delivering the data through the

network. Both have their disadvantages and benefits and there are many variations of

them applying in different ways to different situations. Another big issue is the

resource handling with QoS. In IP world, there are a few proposals to resource

handling problems and besides that there are a few technologies providing different

approaches to QoS problems. These include for instance ATM and Gigabit Ethernet. 

Switching

Data transmission by purely switching the traffic through the network is the method

used traditionally in telecommunications systems. Essentially switching means that a

MRITS-Department Of IT 9

Bandwidth recyling in ieee 802.16 networks

constant bandwidth is allocated from the total bandwidth of the transmission medium

and the whole allocated bandwidth is used for data interchange for the time that the

bandwidth allocation is taking place. Normally, this kind of bandwidth usage is

connection oriented and requires the interchange to contain different phases including

connection establishment, data interchange and connection closing.

In fact this kind of a switching is normally accomplished at OSI protocol stack layer

2, which is the link layer. Throughout this text this kind of a switching is regarded as

layer 2 switching. Actually, layer 2 switching can simply be considered bridging and

in this logic, layer 3 switching is routing . 

Routing

In turn, routing is the the main method used in TCP/IP networks nowadays. Routing

uses the bandwidth in a different way. It does not allocate constant bandwidth.

Instead, in routing, the data is transported in packages that are delivered through the

network by searching for the right directions in network nodes that are called routers.

Therefore routing is regarded as connectionless and it does not require the data

interchange phases that are needed in switching. Routing could be thought as a way of

optimizing the bandwidth usage. 

2.4Proposed System

Bandwidth reservation allows IEEE 802.16 networks to provide QoS guaranteed

services. The SS reserves the required bandwidth before any data transmissions. Due

to the nature of VBR applications, it is very difficult for

the SS to make the optimal bandwidth reservation. It is possible that the amount of

reserved bandwidth is more than the demand. Therefore, the reserved bandwidth

cannot be fully utilized. Although the reserved bandwidth can be adjusted via BRs,

however, the updated reserved bandwidth is applied as early as to the next coming

frame and there is no way to utilize the unused bandwidth in the current frame. In our

scheme, the

SS releases its unused bandwidth in the current frame and another SS pre-assigned by

the BS has opportunities to utilize this unused bandwidth. This improvesthe

bandwidth utilization. Moreover, since the existing bandwidth reservation is not

changed, the same QoS guaranteed services are provided without introducing any

extra delay

MRITS-Department Of IT 10

Bandwidth recyling in ieee 802.16 networks

2.5 Conclusion

The main purpose of this literature survey or literature review is to make a

body of text that aims to review the critical points of current knowledge including

substantive findings as well as theoretical and methodological contributions to a

particular topic. Literature reviews are secondary sources, and as such, do not report

any new or original experimental work.

The Agent-Based Intrusion Detection systems, naïve bayes model, decision

trees all have set of features that help the intrusion detection to take place in an

efficient manner. The vast available knowledge in the field of network security that

utilizes these set of features along with the various consequences one might face with

intrusions and how they can classify the attacks are described in this survey. These

attacks are:

Attack 1 – Distributed denial of service

Attack 2 – Worms

Attack 3 – Attacks on the Internet Domain Name System (DNS)

Attack 4 – Attacks against or using route

MRITS-Department Of IT 11

Bandwidth recyling in ieee 802.16 networks

3. ANALYSIS

3.1 INTRODUCTION

System Analysis is the detailed study of the various operations performed by

the system and their relationships within and outside the system. Analysis is the

process of breaking something into its parts so that the whole may be understood.

System analysis is concerned with becoming aware of the problem, identifying the

relevant and most decisional variables, analyzing and synthesizing the various factors

and determining an optimal or at least a satisfactory solution. During this a problem is

identified, alternate system solutions are studied and recommendations are made

about committing the resources used to design the system.

This project is aimed to develop an intrusion detection system that addresses

the two issues of Accuracy and Efficiency using Conditional Random Fields and

Layered Approach. We demonstrate that high attack detection accuracy can be

achieved by using Conditional Random Fields and high efficiency by implementing

the Layered Approach. Finally, we show that our system is robust and is able to

handle noisy data without compromising performance.

SOFTWARE REQUIREMENT SPECIFICATION

JAVA

Initially the language was called as “oak” but it was renamed as “Java” in 1995. The

primary motivation of this language was the need for a platform-independent (i.e.,

architecture neutral) language that could be used to create software to be embedded in

various consumer electronic devices.

Java is a programmer’s language.

Java is cohesive and consistent.

MRITS-Department Of IT 12

Bandwidth recyling in ieee 802.16 networks

Except for those constraints imposed by the Internet environment, Java gives the

programmer, full control.

Finally, Java is to Internet programming where C was to system programming.

Importance of Java to the Internet

Java has had a profound effect on the Internet. This is because; Java expands the

Universe of objects that can move about freely in Cyberspace. In a network, two

categories of objects are transmitted between the Server and the Personal computer.

They are: Passive information and Dynamic active programs. The Dynamic, Self-

executing programs cause serious problems in the areas of Security and probability.

But, Java addresses those concerns and by doing so, has opened the door to an

exciting new form of program called the Applet.

Java can be used to create two types of programs

Applications and Applets: An application is a program that runs on our Computer

under the operating system of that computer. It is more or less like one creating using

C or C++. Java’s ability to create Applets makes it important. An Applet is an

application designed to be transmitted over the Internet and executed by a Java –

compatible web browser. An applet is actually a tiny Java program, dynamically

downloaded across the network, just like an image. But the difference is, it is an

intelligent program, not just a media file. It can react to the user input and

dynamically change.

Features of Java Security

Every time you that you download a “normal” program; you are risking a viral

infection. Prior to Java, most users did not download executable programs frequently,

and those who did scan them for viruses prior to execution. Most users still worried

about the possibility of infecting their systems with a virus. In addition, another type

of malicious program exists that must be guarded against. This type of program can

gather private information, such as credit card numbers, bank account balances, and

passwords. Java answers both these concerns by providing a “firewall” between a

network application and your computer.

When you use a Java-compatible Web browser, you can safely download Java applets

without fear of virus infection or malicious intent.

MRITS-Department Of IT 13

Bandwidth recyling in ieee 802.16 networks

1. PORTABILITY

For programs to be dynamically downloaded to all the various types of platforms

connected to the Internet, some means of generating portable executable code is

needed .As you will see, the same mechanism that helps ensure security also helps

create portability. Indeed, Java’s solution to these two problems is both elegant and

efficient.

2. BYTECODE

The key that allows the Java to solve the security and portability problems is that the

output of Java compiler is Byte code. Byte code is a highly optimized set of

instructions designed to be executed by the Java run-time system, which is called the

Java Virtual Machine (JVM). That is, in its standard form, the JVM is an interpreter

for byte code. Translating a Java program into byte code helps makes it much easier

to run a program in a wide variety of environments. The reason is, once the run-time

package exists for a given system, any Java program can run on it.

Although Java was designed for interpretation, there is technically nothing about Java

that prevents on-the-fly compilation of byte code into native code. Sun has just

completed its Just in Time (JIT) compiler for byte code. When the JIT compiler is a

part of JVM, it compiles byte code into executable code in real time, on a piece-by-

piece, demand basis. It is not possible to compile an entire Java program into

executable code all at once, because Java performs various run-time checks that can

be done only at run time. The JIT compiles code, as it is needed, during execution.

3. JAVA VIRTUAL MACHINE (JVM)

Beyond the language, there is the Java virtual machine. The Java virtual machine is an

important element of the Java technology. The virtual machine can be embedded

within a web browser or an operating system. Once a piece of Java code is loaded

onto a machine, it is verified. As part of the loading process, a class loader is invoked

and does byte code verification makes sure that the code that’s has been generated by

the compiler will not corrupt the machine that it’s loaded on. Byte code verification

takes place at the end of the compilation process to make sure that is all accurate and

correct. So byte code verification is integral to the compiling and executing of Java

code.

MRITS-Department Of IT 14

Bandwidth recyling in ieee 802.16 networks

Java is unusual in that each Java program is both complied and interpreted.

With a compiler, you translate a Java program into an intermediate language called

Java byte codes – the platform independent codes interpreted by the Java interpreter.

With an interpreter, each Java byte code instruction is parsed and run on the

computer. Compilation happens just once; interpretation occurs each time the

program is executed. This figure illustrates how it works:

FIGURE 10: JAVA PROGRAM EXECUTION 1

You can think of Java byte codes as the machine code instructions for the Java

Virtual Machine (JVM). Every Java interpreter, whether it’s a Java development tool

or a Web browser that can run Java applets, is an implementation of JVM. That JVM

can also be implemented in hardware. Java byte codes help make “write once, run

anywhere” possible.

You can compile your Java program into byte codes on any platform that has a

Java compiler. The byte codes can then be run on any implementation of the JVM.

For example, that same Java program can e run on Windows NT, Solaris and

Macintosh.

MRITS-Department Of IT 15

Java program Complier

InterpreterInterpreterInterpreter

Bandwidth recyling in ieee 802.16 networks

PC-Compatible Sun Ultra Solaris Windows NT Macintosh

FIGURE 11: JAVA PROGRAM EXECUTION 2

Java Architecture

Java architecture provides a portable, robust, high performing environment for

development. Java provides portability by compiling the byte codes for the Java

Virtual Machine, which is then interpreted on each platform by the run-time

environment. Java is a dynamic system, able to load code when needed from a

machine in the same room or across the planet.

5. C0MPILATION OF CODE

When you compile the code, the Java compiler creates machine code (called byte

code) for a hypothetical machine called Java Virtual Machine (JVM). The JVM is

supposed to execute the byte code. The JVM is created for overcoming the issue of

portability. The code is written and compiled for one machine and interpreted on all

machines. This machine is called Java Virtual Machine.

Compiling and interpreting Java Source Code

MRITS-Department Of IT 16

Source Code………..………..

………..

…………

PC Compiler

MacintoshCompiler

SPARC

Compile

r

Java

Byte code

(PlatformIndependent)

JavaInterpreter(PC)

JavaInterpreter(Macintosh)

JavaInterpreter(Spare)

Bandwidth recyling in ieee 802.16 networks

FIGURE 12: JAVA PROGRAM EXECUTION 3

During run-time the Java interpreter tricks the byte code file into thinking that it is

running on a Java Virtual Machine. In reality this could be a Intel Pentium Windows

95 or SunSARC station running Solaris or Apple Macintosh running system and all

could receive code from any computer through Internet and run the Applets.

6. SIMPLE

Java was designed to be easy for the Professional programmer to learn and to use

effectively. If you are an experienced C++ programmer, learning Java will be even

easier. Because Java inherits the C/C++ syntax and many of the object oriented

features of C++. Most of the confusing concepts from C++ are either left out of Java

or implemented in a cleaner, more approachable manner. In Java there are a small

number of clearly defined ways to accomplish a given task.

7. OBJECT-ORIENTED

Java was not designed to be source-code compatible with any other language. This

allowed the Java team the freedom to design with a blank slate. One outcome of this

was a clean usable, pragmatic approach to objects. The object model in Java is simple

and easy to extend, while simple types, such as integers, are kept as high-performance

non-objects.

8. ROBUST

The multi-platform environment of the Web places extraordinary demands on a

program, because the program must execute reliably in a variety of systems. The

ability to create robust programs was given a high priority in the design of Java. Java

is strictly typed language; it checks your code at compile time and run time.

Java virtually eliminates the problems of memory management and de-allocation,

which is completely automatic. In a well-written Java program, all run time errors can

–and should –be managed by your program.

THE JAVA PLATFORM

MRITS-Department Of IT 17

Bandwidth recyling in ieee 802.16 networks

A platform is the hardware or software environment in which a program runs.

The Java platform differs from most other platforms in that it’s a software-only

platform that runs on top of other, hardware-based platforms. Most other platforms

are described as a combination of hardware and operating system.

The Java platform has two components:

The Java Virtual Machine (JVM)

The Java Application Programming Interface (Java API)

The Java API is a large collection of ready-made software components that

provide many useful capabilities, such as graphical user interface (GUI) widgets. The

Java API is grouped into libraries (packages) of related components. The following

figures depict a Java program, such as an application or applet, that’s running on the

Java platform. As the figure shows, the Java API and Virtual Machine insulates the

Java program from hardware dependencies.

FIGURE 13: JAVA PLATFORM

As a platform-independent environment, Java can be a bit slower than native

code. However, smart compliers, well-tuned interpreters and just-in-time byte

compiler’s bring java’s performance close to that of native code without threatening

portability.

JAVA DATABASE CONNECTIVITY

What Is JDBC?

JDBC is a Java API for executing SQL statements. (As a point of interest, JDBC is a

trademarked name and is not an acronym; nevertheless, JDBC is often thought of as

standing for Java Database Connectivity. It consists of a set of classes and interfaces

written in the Java programming language. JDBC provides a standard API for

tool/database developers and makes it possible to write database applications using a

pure Java API.

MRITS-Department Of IT 18

Bandwidth recyling in ieee 802.16 networks

Using JDBC, it is easy to send SQL statements to virtually any relational database.

One can write a single program using the JDBC API, and the program will be able to

send SQL statements to the appropriate database. The combinations of Java and

JDBC lets a programmer write it once and run it anywhere.

What Does JDBC Do?

Simply put, JDBC makes it possible to do three things:

Establish a connection with a database

Send SQL statements

Process the results.

JDBC versus ODBC and other APIs

At this point, Microsoft's ODBC (Open Database Connectivity) API is that probably

the most widely used programming interface for accessing relational databases. It

offers the ability to connect to almost all databases on almost all platforms.

So why not just use ODBC from Java? The answer is that you can use ODBC from

Java, but this is best done with the help of JDBC in the form of the JDBC-ODBC

Bridge, which we will cover shortly. The question now becomes "Why do you need

JDBC?" There are several answers to this question:

ODBC is not appropriate for direct use from Java because it uses a C interface. Calls

from Java to native C code have a number of drawbacks in the security,

implementation, robustness, and automatic portability of applications.

A literal translation of the ODBC C API into a Java API would not be desirable. For

example, Java has no pointers, and ODBC makes copious use of them, including the

notoriously error-prone generic pointer "void *". You can think of JDBC as ODBC

translated into an object-oriented interface that is natural for Java programmers.

ODBC is hard to learn. It mixes simple and advanced features together, and it has

complex options even for simple queries. JDBC, on the other hand, was designed to

keep simple things simple while allowing more advanced capabilities where required.

A Java API like JDBC is needed in order to enable a "pure Java" solution. When

ODBC is used, the ODBC driver manager and drivers must be manually installed on

every client machine. When the JDBC driver is written completely in Java, however,

JDBC code is automatically installable, portable, and secure on all Java platforms

from network computers to mainframes.

Two-tier and Three-tier Models

MRITS-Department Of IT 19

Bandwidth recyling in ieee 802.16 networks

The JDBC API supports both two-tier and three-tier models for database access.

In the two-tier model, a Java applet or application talks directly to the database. This

requires a JDBC driver that can communicate with the particular database

management system being accessed. A user's SQL statements are delivered to the

database, and the results of those statements are sent back to the user. The database

may be located on another machine to which the user is connected via a network. This

is referred to as a client/server configuration, with the user's machine as the client, and

the machine housing the database as the server. The network can be an Intranet,

which, for example, connects employees within a corporation, or it can be the

Internet.

MRITS-Department Of IT 20

JAVAApplication

JDBC

DBMS

Client machine

DBMS-proprietary protocol

Database

server

Java applet orHtml browser

ApplicationServer (Java)

JDBC

DBMS

Client machine (GUI)

HTTP, RMI, or CORBA

calls

Server machine (business

Logic)DBMS-proprietary

protocolDatabase server

Bandwidth recyling in ieee 802.16 networks

In the three-tier model, commands are sent to a "middle tier" of services, which then

send SQL statements to the database. The database processes the SQL statements and

sends the results back to the middle tier, which then sends them to the user. MIS

directors find the three-tier model very attractive because the middle tier makes it

possible to maintain control over access and the kinds of updates that can be made to

corporate data. Another advantage is that when there is a middle tier, the user can

employ an easy-to-use higher-level API which is translated by the middle tier into the

appropriate low-level calls. Finally, in many cases the three-tier architecture can

provide performance advantages.

Until now the middle tier has typically been written in languages such as C or C++,

which offer fast performance. However, with the introduction of optimizing compilers

that translate Java byte code into efficient machine-specific code, it is becoming

practical to implement the middle tier in Java. This is a big plus, making it possible to

take advantage of Java's robustness, multithreading, and security features. JDBC is

important to allow database access from a Java middle tier.

MRITS-Department Of IT 21

Bandwidth recyling in ieee 802.16 networks

JDBC DRIVER TYPES

The JDBC drivers that we are aware of at this time fit into one of four categories:

JDBC-ODBC bridge plus ODBC driver

Native-API partly-Java driver

JDBC-Net pure Java driver

Native-protocol pure Java driver

JDBC-ODBC Bridge

If possible, use a Pure Java JDBC driver instead of the Bridge and an ODBC driver.

This completely eliminates the client configuration required by ODBC. It also

eliminates the potential that the Java VM could be corrupted by an error in the native

code brought in by the Bridge (that is, the Bridge native library, the ODBC driver

manager library, the ODBC driver library, and the database client library).

What Is the JDBC- ODBC Bridge?

The JDBC-ODBC Bridge is a JDBC driver, which implements JDBC operations by

translating them into ODBC operations. To ODBC it appears as a normal application

program. The Bridge implements JDBC for any database for which an ODBC driver

is available. The Bridge is implemented as the

Sun.jdbc.odbc Java package and contains a native library used to access ODBC. The

Bridge is a joint development of Innersole and Java Soft.

JDBC CONNECTIVITY

The JDBC provides database-independent connectivity between the J2EE platform

and a wide range of tabular data sources. JDBC technology allows an Application

Component Provider to:

Perform connection and authentication to a database server

Manager transactions

Move SQL statements to a database engine for preprocessing and execution

Execute stored procedures

Inspect and modify the results from Select statements

JAVA Server Pages

MRITS-Department Of IT 22

Bandwidth recyling in ieee 802.16 networks

A JSP is similar in design and functionality to java servlet. It is called by the

client to provide a web service, the nature of which depends on the J2EE application.

However, a JSP differs from a servlet in the way in which the JSP is written. Java

Servlet is written using Java programming language and responses are encoded as an

output string object that is passed to the println () method. In contrast a JSP is written

in HTML, XML, or in the client’s format that is interspersed with scripting elements,

directives, and actions comprised of Java Programming language and JSP syntax.

There are three methods that are automatically called when the JSP is requested and

the JSP terminates normally. These are the jspInt () method, the jspDestroy () method,

and the service () method.

The jspInt () method is called first when the jsp is requested and is used to initialize

objects and variables that are used throughout the life of the JSP. The jspDestroy ()

method is automatically called when the JSP terminates normally. It isn’t called when

the JSP abruptly terminates. The service () method is automatically called and

retrieves connection to HTTP.

The jsp programs are executed by a JSP virtual machine that runs on a web server.

Therefore you will need to have access to a JSP virtual machine to run your JSP

program. One of the most popular JSP virtual machines is TOMCAT.

JDBC Goals

Few software packages are designed without goals in mind. JDBC is one that, because

of its many goals, drove the development of the API. These goals, in conjunction with

early reviewer feedback, have finalized the JDBC class library into a solid framework

for building database applications in Java.

The goals that were set for JDBC are important. They will give you some insight as to

why certain classes and functionalities behave the way they do. The eight design goals

for JDBC are as follows:

SQL Level API

The designers felt that their main goal was to define a SQL interface for Java.

Although not the lowest database interface level possible, it is at a low enough level

for higher-level tools and APIs to be created. Conversely, it is at a high enough level

for application programmers to use it confidently. Attaining this goal allows for future

MRITS-Department Of IT 23

Bandwidth recyling in ieee 802.16 networks

tool vendors to “generate” JDBC code and to hide many of JDBC’s complexities from

the end user.

SQL Conformance

SQL syntax varies as you move from database vendor to database vendor. In an effort

to support a wide variety of vendors, JDBC will allow any query statement to be

passed through it to the underlying database driver. This allows the connectivity

module to handle non-standard functionality in a manner that is suitable for its users.

JDBC must be implemental on top of common database interfaces

The JDBC SQL API must “sit” on top of other common SQL level APIs. This goal

allows JDBC to use existing ODBC level drivers by the use of a software interface.

This interface would translate JDBC calls to ODBC and vice versa.

Provide a Java interface that is consistent with the rest of the Java system

Because of Java’s acceptance in the user community thus far, the designers feel that

they should not stray from the current design of the core Java system.

Keep it simple

This goal probably appears in all software design goal listings. JDBC is no exception.

Sun felt that the design of JDBC should be very simple, allowing for only one method

of completing a task per mechanism. Allowing duplicate functionality only serves to

confuse the users of the API.

Use strong, static typing wherever possible

Strong typing allows for more error checking to be done at compile time; also,

less error appear at runtime.

Keep the common cases simple

Because more often than not, the usual SQL calls used by the programmer are

simple SELECT’s, INSERT’s, DELETE’s and UPDATE’s, these queries should be

simple to perform with JDBC. However, more complex SQL statements should also

be possible.

Finally we decided to proceed the implementation using Java Networking.

And for dynamically updating the cache table we go for MS Access database.

MRITS-Department Of IT 24

Bandwidth recyling in ieee 802.16 networks

Java ha two things: a programming language and a platform.

Java is a high-level programming language that is all of the following

Simple Architecture-neutral

Object-oriented Portable

Distributed High-performance

Interpreted multithreaded

Robust Dynamic

Secure

Java is also unusual in that each Java program is both compiled and interpreted. With

a compile you translate a Java program into an intermediate language called Java byte

codes the platform-independent code instruction is passed and run on the computer.

Compilation happens just once; interpretation occurs each time the program is

executed. The figure illustrates how this works.

MRITS-Department Of IT

Java Program

Compilers

Interpreter

My Program

25

Bandwidth recyling in ieee 802.16 networks

Networking

TCP/IP stack

The TCP/IP stack is shorter than the OSI one:

TCP is a connection-oriented protocol; UDP (User Datagram Protocol) is a

connectionless protocol.

IP datagram’s

The IP layer provides a connectionless and unreliable delivery system. It considers

each datagram independently of the others. Any association between datagram must

be supplied by the higher layers. The IP layer supplies a checksum that includes its

own header. The header includes the source and destination addresses. The IP layer

handles routing through an Internet. It is also responsible for breaking up large

datagram into smaller ones for transmission and reassembling them at the other end.

UDP

UDP is also connectionless and unreliable. What it adds to IP is a checksum for the

contents of the datagram and port numbers. These are used to give a client/server

model - see later.

MRITS-Department Of IT 26

Bandwidth recyling in ieee 802.16 networks

TCP

TCP supplies logic to give a reliable connection-oriented protocol above IP. It

provides a virtual circuit that two processes can use to communicate.

Internet addresses

In order to use a service, you must be able to find it. The Internet uses an address

scheme for machines so that they can be located. The address is a 32 bit integer which

gives the IP address. This encodes a network ID and more addressing. The network

ID falls into various classes according to the size of the network address.

Network address

Class A uses 8 bits for the network address with 24 bits left over for other addressing.

Class B uses 16 bit network addressing. Class C uses 24 bit network addressing and

class D uses all 32.

Subnet address

Internally, the UNIX network is divided into sub networks. Building 11 is currently

on one sub network and uses 10-bit addressing, allowing 1024 different hosts.

Host address

8 bits are finally used for host addresses within our subnet. This places a limit of 256

machines that can be on the subnet.

Total address

The 32 bit address is usually written as 4 integers separated by dots.

Port addresses

A service exists on a host, and is identified by its port. This is a 16 bit number. To

send a message to a server, you send it to the port for that service of the host that it is

running on. This is not location transparency! Certain of these ports are "well known".

MRITS-Department Of IT 27

Bandwidth recyling in ieee 802.16 networks

Sockets

A socket is a data structure maintained by the system to handle network connections.

A socket is created using the call socket. It returns an integer that is like a file

descriptor. In fact, under Windows, this handle can be used with Read File and Write

File functions.

#include <sys/types.h>

#include <sys/socket.h>

int socket(int family, int type, int protocol);

Here "family" will be AF_INET for IP communications, protocol will be zero, and

type will depend on whether TCP or UDP is used. Two processes wishing to

communicate over a network create a socket each. These are similar to two ends of a

pipe - but the actual pipe does not yet exist.

JFree Chart

JFreeChart is a free 100% Java chart library that makes it easy for developers to

display professional quality charts in their applications. JFreeChart's extensive feature

set includes:

A consistent and well-documented API, supporting a wide range of chart types;

A flexible design that is easy to extend, and targets both server-side and client-side

applications;

Support for many output types, including Swing components, image files (including

PNG and JPEG), and vector graphics file formats (including PDF, EPS and SVG);

JFreeChart is "open source" or, more specifically, free software. It is distributed under

the terms of the GNU Lesser General Public Licence (LGPL), which permits use in

proprietary applications.

1. Map Visualizations

Charts showing values that relate to geographical areas. Some examples include: (a)

population density in each state of the United States, (b) income per capita for each

country in Europe, (c) life expectancy in each country of the world. The tasks in this

project include:

Sourcing freely redistributable vector outlines for the countries of the world,

states/provinces in particular countries (USA in particular, but also other areas);

MRITS-Department Of IT 28

Bandwidth recyling in ieee 802.16 networks

Creating an appropriate dataset interface (plus default implementation), a rendered,

and integrating this with the existing XYPlot class in JFreeChart;

Testing, documenting, testing some more, documenting some more.

2. Time Series Chart Interactivity

Implement a new (to JFreeChart) feature for interactive time series charts --- to

display a separate control that shows a small version of ALL the time series data, with

a sliding "view" rectangle that allows you to select the subset of the time series data to

display in the main chart.

3. Dashboards

There is currently a lot of interest in dashboard displays. Create a flexible dashboard

mechanism that supports a subset of JFreeChart chart types (dials, pies, thermometers,

bars, and lines/time series) that can be delivered easily via both Java Web Start and an

applet.

4. Property Editors

The property editor mechanism in JFreeChart only handles a small subset of the

properties that can be set for charts. Extend (or reimplement) this mechanism to

provide greater end-user control over the appearance of the charts.

MY ECLIPSE

MyEclipse is a commercially available Java EE and AJAX IDE created and

maintained by the company Genuitec, a founding member of the Eclipse Foundation.

MyEclipse is built upon the Eclipse platform and integrates both proprietary

and open source solutions into the development environment.

MyEclipse has two primary versions (apart from the "Blue Edition" and

"MyEclipse Spring Editionhttp://en.wikipedia.org/wiki/MyEclipse - cite_note-3"

MRITS-Department Of IT 29

Bandwidth recyling in ieee 802.16 networks

referred to below): a professional and a standard edition. The standard edition adds

database tools, a visual web designer, persistence

tools, Spring tools, Struts and JSF tooling, and a number of other features to the basic

Eclipse Java Developer profile. It competes with the Web Tools Project, which is a

part of Eclipse itself, but MyEclipse is a separate project entirely and offers a different

feature set.

Most recently, MyEclipse has been made available via Pulse (ALM), a

provisioning tool that maintains Eclipse software profiles, including those that use

MyEclipse. Additionally, MyEclipse is offering a customized version for IBM

products, "MyEclipse Blue Edition, that adds specific support for Rational

Software and WebSphere development. Currently, MyEclipse Blue Edition is

available for Windows and Linux, though Mac is unsupported.

My Eclipse includes

Java EE support.

Web service support.

Project and project creation wizard.

Customizable library containers.

New Web services wizard.

Deploy web services web-app.

Service.xml file editior.

Java editor with JSR-181 annotaion support and code-assist.

WSDL editor.

Web services explorer.

Java hot swap debug support

Expanded database support for MS, SQL and Sybase.

Cross platform visual HTML editor and JSP designers.

MRITS-Department Of IT 30

Bandwidth recyling in ieee 802.16 networks

3.2.1Hardware Requirements:

PROCESSOR : PENTIUM IV 2.6 GHz

RAM : 512 MB DD RAM

MONITOR : 15” COLOR

HARD DISK : 20 GB

FLOPPY DRIVE : 1.44 MB

CDDRIVE : LG 52X

KEYBOARD : STANDARD 102 KEYS

MOUSE : 3 BUTTONS

3.2.2Software Requirements:

Front End : Java, JFC (Swing)

Backend : MS-Access (Data Base)

Tools Used : Eclipse 3.3

Operating System: Windows XP/7

3.3 Content diagram of the project

MRITS-Department Of IT 31

Bandwidth recyling in ieee 802.16 networks

3.4 Algorithms and flow chat

Priority-based Scheduling Algorithm:

Assume Q represents the set of SSs serving non-real time connections (i.e., nrtPS

or BE connections) and T is the set of TSs. Due to the feature of TDD that the UL

and DL operations can not be performed simultaneously, we can not schedule the

SS which UL transmission interval is overlapped with the target TS. For any TS, St,

let Ot be the set of SSs which UL transmission interval overlaps with that of St in Q.

Thus, the possible corresponding CS of St must be in Q−Ot. All SSs in Q−Ot are

considered as candidates of the CS for St. A scheduling algorithm, called Priority-

based Scheduling Algorithm (PSA), shown in Algorithm 1 is used to schedule a SS

with the highest priority as the CS. The priority of each candidate is decided

based on the scheduling factor (SF) defined as the ratio of the current requested

bandwidth (CR) to the current granted bandwidth (CG). The SS with higher SF has

more demand on the bandwidth. Thus,we give the higher priority to those SSs.

The highest priority is given to the SSs with zero CG. Non-real time connections

include nrtPS and BE connections. The nrtPS connections should have higher

priority than the BE connections because of the QoS requirements. The priority of

candidates of CSs is concluded from high to

low as: nrtPS with zero CG, BE with zero CG, nrtPS with non-zero CG and BE with

non-zero CG. If there are more than one SS with the highest priority, we select

one with the largest CR as the CS in order to decrease the probability of overflow.

MRITS-Department Of IT 32

Bandwidth recyling in ieee 802.16 networks

Flow Chart

MRITS-Department Of IT 33

Bandwidth recyling in ieee 802.16 networks

Conclusion:

Variable bit rate applications generate data in variant rates. It is very challenging for

SSs to predict the amount of arriving data precisely. Although the existing method

allows the SS to adjust the reserved bandwidth via risk of failing to satisfy the QoS

requirements. Moreover, the unused bandwidth occurs in the current frame cannot be

utilized by the existing bandwidth adjustment since the adjusted amount of bandwidth

can be applied as early as in the next coming frame. Our research does not change the

existing bandwidth reservation to ensure that the same QoS guaranteed services are

provided. We proposed bandwidth recycling to recycle the unused bandwidth once it

occurs. It allows the BS to schedule a complementary station for each transmission

stations. Each complementary station monitors the entire UL transmission interval of

its corresponding TS and standby for any opportunities to recycle the unused

bandwidth. Besides the naive priority-based scheduling algorithm, three additional

algorithms have been proposed to improve the recycling effectiveness. Our

mathematical and simulation results confirm that our scheme can not only improve

the throughput but also reduce the delay with negligible overhead and satisfy the QoS

requirements.

MRITS-Department Of IT 34

Bandwidth recyling in ieee 802.16 networks

4.DESIGN

4.1 INTRODUCTION

Software design sits at the technical kernel of the software engineering process

and is applied regardless of the development paradigm and area of application. Design

is the first step in the development phase for any engineered product or system. The

designer’s goal is to produce a model or representation of an entity that will later be

built. Beginning, once system requirement have been specified and analyzed, system

design is the first of the three technical activities -design, code and test that is required

to build and verify software.

The importance can be stated with a single word “Quality”. Design is the place

where quality is fostered in software development. Design provides us with

MRITS-Department Of IT 35

Bandwidth recyling in ieee 802.16 networks

representations of software that can assess for quality. Design is the only way that we

can accurately translate a customer’s view into a finished software product or system.

Software design serves as a foundation for all the software engineering steps that

follow. Without a strong design we risk building an unstable system – one that will be

difficult to test, one whose quality cannot be assessed until the last stage.

During design, progressive refinement of data structure, program structure,

and procedural details are developed reviewed and documented. System design can be

viewed from either technical or project management perspective. From the technical

point of view, design is comprised of four activities – architectural design, data

structure design, interface design and procedural design.

Design Characteristics:

There are many aspects to consider in the design of a piece of software. The

importance of each should reflect the goals the software is trying to achieve. Some of

these aspects are:

Compatibility - The software is able to operate with other products that are

designed for interoperability with another product. For example, a piece of

software may be backward-compatible with an older version of itself.

Extensibility - New capabilities can be added to the software without major

changes to the underlying architecture.

Fault-tolerance - The software is resistant to and able to recover from

component failure

MRITS-Department Of IT 36

Bandwidth recyling in ieee 802.16 networks

Maintainability - The software can be restored to a specified condition within

a specified period of time. For example, antivirus software may include the

ability to periodically receive virus definition updates in order to maintain the

software's effectiveness.

Modularity - the resulting software comprises well defined, independent

components. That leads to better maintainability. The components could be

then implemented and tested in isolation before being integrated to form a

desired software system. This allows division of work in a software

development project.

Packaging - Printed material such as the box and manuals should match the

style designated for the target market and should enhance usability. All

compatibility information should be visible on the outside of the package. All

components

required for use should be included in the package or specified as a

requirement

on the outside of the package.

Reliability - The software is able to perform a required function under stated

conditions for a specified period of time.

Reusability - the modular components designed should capture the essence of

the functionality expected out of them and no more or less. This single-minded

purpose renders the components reusable wherever there are similar needs in

other designs.

Robustness - The software is able to operate under stress or tolerate

unpredictable or invalid input. For example, it can be designed with a

resilience to low memory conditions.

MRITS-Department Of IT 37

Bandwidth recyling in ieee 802.16 networks

Security - The software is able to withstand hostile acts and influences.

Usability - The software user interface must be usable for its target

user/audience. Default values for the parameters must be chosen so that they

are a good choice for the majority of the users.

First process

Second Process

Third process

MRITS-Department Of IT 38

Apply the RREQ to Neighbor to Destination Node

Get the RREP from the neighbor or destination node

Destination node

Source Node

Source Node

Packet ,Bandwidth calculationCreation

Intermediate Node

Destination node

DATA

P1

P2

Packets

Pn

Pn+1

Bandwidth recyling in ieee 802.16 networks

4.2 Data flow diagrams

Object Oriented Design:

Object –Oriented design is a strategy where system designers think in terms of

‘things’ instead of operations or functions. The existing system is made up of

interacting objects that maintains their own local state and provides operations on the

state information. An object oriented design process involves designing the objects

and relationships between these classes. When the design is realized as an executing

program, the required objects are created dynamically using class definitions.

An important advantage of an object-oriented approach is that it simplifies the

problem of making changes to the design. The reason for this is that object state

representation does not influence the design. Changing the internal details of objects

is unlikely to affect any other system objects. Furthermore, because objects are

loosely coupled, it is usually straightforward to introduce new objects without

significant effects on the rest of the system.

Unified Modeling Language:

The Unified Modeling Language is a standard language for writing software

blueprints. The UML may be used to Visualize, Specify, Construct and Document the

artifacts of a software-intensive system.

MRITS-Department Of IT 39

Node1

Node2

Node4

Node3

RREP

+

RREQ

RREQ

RREQRREP+

Bandwidth recyling in ieee 802.16 networks

Learning to apply the UML effectively starts with forming a conceptual model

of the language, which requires learning three major elements, the UML’s basic

building blocks, the rules that dictate how to these building blocks may be put

together, and some common mechanisms that apply throughout the language.

The UML is only a language and so it is just one part of a software

development method. The UML is process independent, although optimally it should

be used in a process that is use case driven, architecture-centric, iterative and

incremental.

UML is the international standard notation for object-oriented analysis and

design. The Object Management Group defines it. The heart of object-oriented

problem solving is the construction of a model. The model abstracts the essential

details of the underlying problem from its usually complicated real world. Several

modeling tools are wrapped under the heading of the UML, which stands for Unified

Modeling Language

UML DIAGRAMS:

CLASS DIAGRAMS

MRITS-Department Of IT 40

Bandwidth recyling in ieee 802.16 networks

Node1

i,m,value

initialize component()Action performed()

Node 2

length,cond

Node2 ser ()Initialize Component()

Node 3

message,time,d

Node3()Server()

Node 4

i,m,n,k,cond

Node4()Action Performed()

MRITS-Department Of IT 41

Bandwidth recyling in ieee 802.16 networks

Use case

State chart

MRITS-Department Of IT 42

Bandwidth recyling in ieee 802.16 networks

Sender

Packet Creation

Apply RREQ

Get RREP

Destination

Activity Diagram

MRITS-Department Of IT 43

Bandwidth recyling in ieee 802.16 networks

Off Conzone node

Destination

ON Conzone Node

select the off conzone node and transmit the data

Select the Node

Input Data

Sequence Diagram

MRITS-Department Of IT 44

Bandwidth recyling in ieee 802.16 networks

Source : (Source)

Network Formation

Message Tranformation

RREQ

RREP

Message transfer to the RREP node

Collaboration Diagram

Source 1: RREQ

2: RREP

Network Formation

3: Message transfer to the RREP node

Message Transformation

MRITS-Department Of IT 45

Bandwidth recyling in ieee 802.16 networks

Component Diagram

Network formation

Conzone Discovery

Message transformation

Modules:1. Bandwidth utilization Module:

Bandwidth utilization improvements have been proposed in the literature. In, a dynamic resource reservation mechanism is proposed. It can dynamically change the amount of reserved resource depending on the actual number of active connections. The investigation of dynamic bandwidth reservation for hybrid networks is presented in. Evaluated the performance and effectiveness for the hybrid network, and proposed efficient methods to ensure optimum reservation and utilization of bandwidth while minimizing signal blocking probability and signaling cost. In, the enhanced the system throughput by using concurrent transmission in mesh mode

2. Packet creation Module:In this module we split the Data in to N number of Fixed size packet with Maximum length of 48 Characters.

3. Bandwidth recycling Module:

MRITS-Department Of IT 46

Bandwidth recyling in ieee 802.16 networks

The complementary station (CS). Waits for the possible opportunities to recycle the unused bandwidth of its corresponding TS in this frame. The CS information scheduled by the BS is resided in a list, called complementary list (CL). The CL includes the mapping relation between each pair of pre-assigned C and TS. 4. QoS guaranteed services ModuleIt is different from the bandwidth adjustment in which the adjusted bandwidth is enforced as early as in the next coming frame. Moreover, the unused bandwidth is likely to be released temporarily (i.e., only in the current frame) and the existing bandwidth reservation does not change. Therefore, our scheme improves the overall throughput while providing the same QoS guaranteed services.

5. Traffic and Packet Performance:The Packet mean data rate of each application but make the mean packet size randomly selected from 512 to 1024 bytes. Thus, the mean packet arrive rate can be determined based on the corresponding mean packet size. As mentioned earlier, the size of each packet is modeled as Poisson distributionAnd the packet arrival rate is modeled as exponential distribution.The other factor that may affect the performance of bandwidth recycling is the probability of the RM to be received by the CS successfully.4.5 Conclusion

The System Design describes desired features and operations in detail, including screen layouts, business rules, process diagrams, pseudo code and other documentation.Logical design:

The logical design of a system pertains to an abstract representation of the data flows, inputs and outputs of the system. This is often conducted via modeling, using an over-abstract of the actual system.Physical design: The physical design relates to the actual input and output processes of the system. This is laid down in terms of how data is input into a system, how it is verified/ authenticated, how it is processed, and how it is displayed as output.

MRITS-Department Of IT 47

Bandwidth recyling in ieee 802.16 networks

High Level designs include UML diagrams and Low level diagrams include

Data Flow Diagrams.

A high-level design (HLD) provides an overview of a solution, platform,

system, product, service, or process.

Low Level Design (LLD) is like detailing the HLD. It defines the actual logic

for each and every component of the system.

This Software design is a process of problem-solving and planning for a software solution. After the purpose and specifications of software are determined, software developers will design or employ designers to develop a plan for a solution. It includes low-level component and algorithm implementation issues as well as the architectural view.

Hence it is necessary to take all the precautionary measures in this phase before developing the project.

MRITS-Department Of IT 48

Bandwidth recyling in ieee 802.16 networks

5. IMPLEMENTATION AND RESULTS

5.1. INTRODUCTION

In the implementation phase, the team builds the components either from

scratch or by composition. Given the architecture document from the design phase

and the requirement document from the analysis phase, the team should build exactly

what has been requested, though there is still room for innovation and flexibility. For

example, a component may be narrowly designed for this particular system, or the

component may be made more general to satisfy a reusability guideline

The Implementation phase of the SDLC consists of the Source Code of the

project. In computer science, source code is any collection of statements or

declarations written in some human-readable computer programming language.

Source code is the means most often used by programmers to specify the actions to be

performed by a computer.

In computer science, source code is any collection of statements or

declarations written in some human-readable computer programming language.

Source code is the means most often used by programmers to specify the actions to be

performed by a computer.

Moderately complex software customarily requires the compilation or

assembly of several, sometimes dozens or even hundreds, of different source code

files. In these cases, instructions for compilations, such as a Make file, are included

with the source code. These describe the relationships among the source code files,

and contain information about how they are to be compiled.

The revision control system is another tool frequently used by developers for

source code maintenance.

MRITS-Department Of IT 49

Bandwidth recyling in ieee 802.16 networks

Implementation is the stage of the project when the theoretical design is turned out into a working system. Thus it can be considered to be the most critical stage in achieving a successful new system and in giving the user, confidence that the new system will work and be effective.

The implementation stage involves careful planning, investigation of the existing system and it’s constraints on implementation, designing of methods to achieve changeover and evaluation of changeover methods.

5.1.1 Concepts Implemented

Swings:

Swing is the primary Java GUI widget toolkit. It is part of Sun Microsystems'

Java Foundation Classes (JFC) — an API for providing a graphical user interface

(GUI) for Java programs. This was developed to provide a more sophisticated set of

GUI components than the earlier Abstract Window Toolkit. Swing provides a native

look and feel that emulates the look and feel of several platforms, and also supports a

pluggable look and feel that allows applications to have a look and feel unrelated to

the underlying platform.

The Internet Foundation Classes (IFC) were a graphics library for Java

originally developed by Netscape Communications Corporation and first released on

December 16, 1996. On April 2, 1997, Sun Microsystems and Netscape

Communications Corporation announced their intention to incorporate IFC with other

technologies to form the Java Foundation Classes.

Swing introduced a mechanism that allowed the look and feel of every

component in an application to be altered without making substantial changes to the

application code. The introduction of support for a pluggable look and feel allows

Swing components to emulate the appearance of native components while still

retaining the benefits of platform independence. This feature also makes it easy to

make an application written in Swing look very different from native programs if

desired.

Originally distributed as a separately downloadable library, Swing has been included

as part of the Java Standard Edition since release 1.2. The Swing classes and

components are contained in the javax.swing package hierarchy.

MRITS-Department Of IT 50

Bandwidth recyling in ieee 802.16 networks

Swing Architecture:

Swing is a platform-independent, Model-View-Controller GUI framework

for Java. It follows a single-threaded programming model. Swing is platform

independent both in terms of expression (Java) and implementation (Look-and-Feel).

Swing is a highly partitioned architecture, which allows for the "plugging" of

various custom implementations of specified framework interfaces: Users can provide

their own custom implementation(s) of these components to override the default

implementations. In general, Swing users can extend the framework by extending

existing (framework) classes and/or providing alternative implementations of core

components. This is a component-based framework. The distinction between objects

and components is a fairly subtle point: concisely, a component is a well-behaved

object with a known/specified characteristic pattern of behavior. Swing objects

asynchronously fire events, have "bound" properties, and respond to a well-known set

of commands (specific to the component.) Specifically, Swing components are Java

Beans components, compliant with the Java Beans Component Architecture

specifications.

Given the programmatic rendering model of the Swing framework, fine

control over the details of rendering of a component is possible in Swing. As a general

pattern, the visual representation of a Swing component is a composition of a standard

set of elements, such as a "border", "inset", decorations, etc. Typically, users will

programmatically customize a standard Swing component (such as a JTable) by

assigning specific Borders, Colors, Backgrounds, opacities, etc., as the properties of

that component. The core component will then use these properties (settings) to

determine the appropriate renderers to use in painting its various aspects. However, it

is also completely possible to create unique GUI controls with highly customized

visual representation.

Swing's heavy reliance on runtime mechanisms and indirect composition

patterns allows it to respond at runtime to fundamental changes in its settings. For

example, a Swing-based application can change its look and feel at runtime. Further,

users can provide their own look and feel implementation, which allows for uniform

MRITS-Department Of IT 51

Bandwidth recyling in ieee 802.16 networks

changes in the look and feel of existing Swing applications without any programmatic

change to the application code.

Lightweight UI

Swing's configurability is a result of a choice not to use the native host OS's

GUI controls for displaying itself. Swing "paints" its controls programmatically

through the use of Java 2D APIs, rather than calling into a native user interface

toolkit. Thus, a Swing component does not have a corresponding native OS GUI

component, and is free to render itself in any way that is possible with the underlying

graphics APIs.

However, at its core every Swing component relies on an AWT container,

since (Swing's) JComponent extends (AWT's) Container. This allows Swing to plug

into the host OS's GUI management framework, including the crucial device/screen

mappings and user interactions, such as key presses or mouse movements. Swing

simply "transposes" its own (OS agnostic) semantics over the underlying (OS

specific) components. So, for example, every Swing component paints its rendition on

the graphic device in response to a call to component.paint(), which is defined in

(AWT) Container. But unlike AWT components, which delegated the painting to their

OS-native "heavyweight" widget, Swing components are responsible for their own

rendering.

This transposition and decoupling is not merely visual, and extends to Swing's

management and application of its own OS-independent semantics for events fired

within its component containment hierarchies. Generally speaking, the Swing

Architecture delegates the task of mapping the various flavors of OS GUI semantics

onto a simple, but generalized, pattern to the AWT container. Building on that

generalized platform, it establishes its own rich and complex GUI semantics in the

form of the JComponent model.

Loosely-Coupled and MVC

The Swing library makes heavy use of the Model/View/Controller software

design pattern, which conceptually decouples the data being viewed from the user

MRITS-Department Of IT 52

Bandwidth recyling in ieee 802.16 networks

interface controls through which it is viewed. Because of this, most Swing

components have associated models (which are specified in terms of Java interfaces),

and the programmer can use various default implementations or provide their own.

The framework provides default implementations of model interfaces for all of its

concrete components. The typical use of the Swing framework does not require the

creation of custom models, as the framework provides a set of default

implementations that are transparently, by default, associated with the corresponding

JComponent child class in the Swing library. In general, only complex components,

such as tables, trees and sometimes lists, may require the custom model

implementations around the application-specific data structures. To get a good sense

of the potential that the Swing architecture makes possible, consider the hypothetical

situation where custom models for tables and lists are wrappers over DAO and/or EJB

services..

Typically, Swing component model objects are responsible for providing a

concise interface defining events fired, and accessible properties for the (conceptual)

data model for use by the associated JComponent. Given that the overall MVC pattern

is a loosely-coupled collaborative object relationship pattern, the model provides the

programmatic means for attaching event listeners to the data model object. Typically,

these events are model centric (ex: a "row inserted" event in a table model) and are

mapped by the JComponent specialization into a meaningful event for the GUI

component.

For example, the JTable has a model called Table Model that describes an

interface for how a table would access tabular data. A default implementation of this

operates on a two-dimensional array.The view component of a Swing JComponent is

the object used to graphically "represent" the conceptual GUI control. A distinction of

Swing, as a GUI framework, is in its reliance on programmatically-rendered GUI

MRITS-Department Of IT 53

Bandwidth recyling in ieee 802.16 networks

controls (as opposed to the use of the native host OS's GUI controls). Prior to Java 6

Update 10, this distinction was a source of complications when mixing AWT controls,

which use native controls, with Swing controls in a GUI (see Mixing AWT and Swing

components).

Finally, in terms of visual composition and management, Swing favors relative

layouts (which specify the positional relationships between components) as opposed

to absolute layouts (which specify the exact location and size of components). This

bias towards "fluid"' visual ordering is due to its origins in the applet operating

environment that framed the design and development of the original Java GUI toolkit.

(Conceptually, this view of the layout management is quite similar to that which

informs the rendering of HTML content in browsers, and addresses the same set of

concerns that motivated the former.)

AWT and Swing class hierarchy

Since early versions of Java, a portion of the Abstract Window Toolkit (AWT)

has provided platform-independent APIs for user interface components. In AWT,

each component is rendered and controlled by a native peer component specific to the

underlying windowing system. By contrast, Swing components are often described as

lightweight because they do not require allocation of native resources in the operating

system's windowing toolkit. The AWT components are referred to as heavyweight

components.

Much of the Swing API is generally a complementary extension of the AWT

rather than a direct replacement. In fact, every Swing lightweight interface ultimately

exists within an AWT heavyweight component because all of the top-level

components in Swing (JApplet, JDialog, JFrame, and JWindow) extend an AWT top-

level container. Prior to Java 6 Update 10, the use of both lightweight and

heavyweight components within the same window was generally discouraged due to

Z-order incompatibilities. However, later versions of Java have fixed these issues, and

both Swing and AWT components can now be used in one GUI without Z-order

issues. The core rendering functionality used by Swing to draw its lightweight

components is provided by Java 2D, another part of JFC.

MRITS-Department Of IT 54

Bandwidth recyling in ieee 802.16 networks

Main logic:public void Server()

{try

{int count=0;String rr[];S1=server1.accept();DataInputStream dis=new

DataInputStream(S1.getInputStream());int source=dis.readInt();jTextArea1.append("Source Address

"+source+"\n");int s=dis.readInt();jTextArea1.append("Destination Address

"+s+"\n");if(s==11) {

long sender_time=dis.readLong();

int length=dis.readInt();

rr=new String[length];while(length>0){

rr[count]=dis.readUTF(); System.out.println("the

received output is"+rr[count]); jTextArea2.append("\n\nPacket

" + "-->\n***********\n"+rr[count]);

length--; count++;} long d=dis.readLong(); double flen=(double)d/1024; long

receiver_time=System.currentTimeMillis(); double delay=((double)

(receiver_time-sender_time)/1000); jTextArea1.append("delay "

+delay+ "\n"); double delay1=((double)

(receiver_time-sender_time)/1000); jTextArea1.append("Bit rate "

+flen/delay1+ "\n"); String sd=""+flen;

MRITS-Department Of IT 55

Bandwidth recyling in ieee 802.16 networks

jTextArea1.append(("file length"+" "+sd.substring(0,4)+" KB \n"));

double Bandwidth=(double)flen/delay;

String as=""+Bandwidth;

jTextArea1.append("Bandwidth"+" "+as.substring(0,5)+"kbps \n");

} else

{if(s==33) {

jTextArea1.append("MESSAGE SEND TO NODE3 \n");String

pro="Recyclic RREQ to NODE3";

JOptionPane.showMessageDialog(this,pro);

Thread.sleep(500);

String pro1="Recyclic RREP From NODE3";

JOptionPane.showMessageDialog(this,pro1); } else {

jTextArea1.append("MESSAGE SEND TO NODE2 \n");

String pro="Recyclic RREQ to NODE2";

JOptionPane.showMessageDialog(this,pro);

Thread.sleep(500);

String pro1="Recyclic RREP From NODE2";

JOptionPane.showMessageDialog(this,pro1);

}long

sender_time=dis.readLong();int length=dis.readInt();int c=length;pac=new String[length];

MRITS-Department Of IT 56

Bandwidth recyling in ieee 802.16 networks

System.out.println("length===="+length);

while(length>0){

pac[count]=dis.readUTF();

jTextArea2.append("\n\nPacket " + "-->\n***********\n"+pac[count]);

length--; count++;}d=dis.readLong();Socket

client4=new Socket("localhost",s);DataOutputStream

dout=new DataOutputStream(client4.getOutputStream());

dout.writeInt(source);dout.writeInt(s);

dout.writeLong(sender_time);

System.out.println(""+sender_time);

dout.writeInt(c);for(int

q=0;q<count;q++) {

dout.writeUTF(pac[q]);

}

dout.writeLong(d);

MRITS-Department Of IT 57

Bandwidth recyling in ieee 802.16 networks

5.2 Sample output screens

MRITS-Department Of IT 58

Bandwidth recyling in ieee 802.16 networks

MRITS-Department Of IT 59

Bandwidth recyling in ieee 802.16 networks

5.4 Conclusion

Towards the end of implementation phase, the desired result of the project takes more

and more shape: we integrate, test, and commission last sub-parts. The end product or

service is essentially put together. Bandwidth recycling to recycle the unused

bandwidth once it occurs. It allows the BS to schedule a complementary station for

each transmission stations. Each complementary station monitors the entire UL

transmission interval of its corresponding TS and standby for any opportunities to

recycle the unused bandwidth. Besides the naive priority-based scheduling algorithm,

three additional algorithms have been proposed to improve the recycling

effectiveness. Our mathematical and simulation results confirm that our scheme can

not only improve the throughput but also reduce the delay with negligible overhead

and satisfy the QoS requirements.

MRITS-Department Of IT 60

Bandwidth recyling in ieee 802.16 networks

TESTING AND VALIDATION

6.1 INTRODUCTION

Software testing is a critical element of software quality assurance and

represents the ultimate review of specification, design and coding. In fact, testing is

the one step in the software engineering process that could be viewed as destructive

rather than constructive?

A strategy for software testing integrates software test case design methods

into a well-planned series of steps that result in the successful construction of

software. Testing is the set of activities that can be planned in advance and conducted

systematically. The underlying motivation of program testing is to affirm software

quality with methods that can economically and effectively apply to both strategic to

both large and small-scale systems

TESTING STRATEGIES:

Unit Testing

Unit testing focuses verification effort on the smallest unit of software design,

the module. The unit testing we have is white box oriented and some modules the

steps are conducted in parallel.

1. WHITE BOX TESTING

This type of testing ensures that

1 All independent paths have been exercised at least once

2 All logical decisions have been exercised on their true and false sides

3 All loops are executed at their boundaries and within their operational bounds

4 All internal data structures have been exercised to assure their validity.

To follow the concept of white box testing we have tested each form .we have created

independently to verify that Data flow is correct, All conditions are exercised to check

their validity, All loops are executed on their boundaries.

MRITS-Department Of IT 61

Bandwidth recyling in ieee 802.16 networks

2. CONDITIONAL TESTING

In this part of the testing each of the conditions were tested to both true and

false aspects. And all the resulting paths were tested. So that each path that may be

generate on particular condition is traced to uncover any possible errors.

3. DATA FLOW TESTING

This type of testing selects the path of the program according to the location of

definition and use of variables. This kind of testing was used only when some local

variable were declared. The definition-use chain method was used in this type of

testing. These were particularly useful in nested statements.

4. LOOP TESTING

In this type of testing all the loops are tested to all the limits possible. The

following exercise was adopted for all loops:

1 All the loops were tested at their limits, just above them and just below them.

2 All the loops were skipped at least once.

3 For nested loops test the inner most loop first and then work outwards.

4 For concatenated loops the values of dependent loops were set with the help of

connected loop.

5 Unstructured loops were resolved into nested loops or concatenated loops and

tested as above.

Each unit has been separately tested by the development team itself and all the input

have been validated.

MRITS-Department Of IT 62

Bandwidth recyling in ieee 802.16 networks

Testing-purpose

The purpose of testing is to assess product quality. It helps to strengthen and

stabilize the architecture early in the development cycle. We can verify through

testing, the various interactions, integration of components and the requirements

which were implemented. It provides timely feedback to resolve the quality issues, in

a timely and cost effective manner. The test workflow involves the following:

Verifying the interactions of components.

Verifying the proper integration of components.

Verifying that all requirements have been implemented correctly.

Identifying and ensuring that all discovered defects are addressed before

the software is deployed.

MRITS-Department Of IT 63

UNIT TESTING

MODULE TESTING

SUB-SYSTEM TESING

SYSTEM TESTING

ACCEPTANCE TESTING

Component Testing

Integration Testing

User Testing

Bandwidth recyling in ieee 802.16 networks

(a) Black Box Testing:

The functionality of the application has been tested in various modules of the

application.

The following are Black Box Tested:

1. Data base communication for request and response.

2. The status at each stage of the PASSPORT processing.

3. The security of the system from the perspective of administrator and end user.

4. Image handling storing and retrieval of data.

(b) White Box Testing:

1. Every module in the application has been tested to verify that each and every

line of statement either part of execute at least once.

2. This was done by providing data that were null, invalid format inconsistent

length as well as data types.

(c)String Testing:

The strings in the applications were tested for nulls , invalid length , alpha

numeric inputs in the enrollment and pre-visa modules. This isolated errors that

pertain to type casting, length and storage.

Here we are testing for entry of a null character, if the entry is null then the output is

given as a failure, and to continue to other field or form then a valid string is to be

entered only then the process continues.

Here we are checking for a valid user id and valid password, where if a user id

of less

Than 4 characters is entered and if a password of less than 5 characters is entered then

Messages as “Invalid ..! enter id more than 4 charechters and password more than 5

charechters.” is given as output.

MRITS-Department Of IT 64

Bandwidth recyling in ieee 802.16 networks

(d) Input acceptance Testing:

Data with irregular formats, consistency were provided to check the input

fields within the modules exceptions were handled to handle input and output

operations on different columns and fields.

Unit Testing:

The system with its modules when individually tested to see if each module

executed independently. The modules pertaining to offer pre-visa conformation of

enrollment and visa processing was tested using static data and found to execute as

per the SRS.

The following were checked in the process

1. Communication with the database within the module.

2. Flow of data and control verifying tab orders.

3. Updating of tables from a single module which are industry used by other

modules.

4. Invalid data provided intentionally to remove uncertain or unaccepted errors.

5. Exceptional handling was done to remove the above errors.

Here in unit testing the login id and password are taken from the database and

also the retrieved data is checked for its correctness and if they are correctly validated

then the control passes on to next action else it doesn’t continue until valid text is got.

Integrated Testing:

All the modules were integrated from a home page which then provided links

for connectivity to other modules.

The links communicated with the corresponding modules and was found to

execute as per the SRS. The following were tested:

The control of transfer between the web pages.

Flow of data between the various modules.

MRITS-Department Of IT 65

Bandwidth recyling in ieee 802.16 networks

Updations to the databases common to the module

Executions of queries, maintenance sessions and global data.

6.2 DESIGN OF TEST CASES AND SCENARIOS

Test cases for a Browse button

After clicking on upload button file selection window should open

After clicking on the cancel button of selection window that window should

closed

In between uploading process click on upload button again( It should be

disable)

If file size in big proper message should be display

Check for the file type which going to upload

6.3 Conclusion

MRITS-Department Of IT 66

Bandwidth recyling in ieee 802.16 networks

The purpose of testing is to discover errors. Testing is the process of trying to discover every conceivable fault or weakness in a work product. It provides a way to check the functionality of components, sub assemblies, assemblies and/or a finished product. It is the process of exercising software with the intent of ensuring that the software system meets its requirements and user expectations and does not fail in an unacceptable manner.

With the various test cases we can determine the possible errors and rectify them. A test is said to be successful if it detects errors and corrects them.

CONCLUSION

MRITS-Department Of IT 67

Bandwidth recyling in ieee 802.16 networks

Variable bit rate applications generate data in variant rates. It is very challenging

for SSs to predict the amount of arriving data precisely. Although the existing

method allows the SS to adjust the reserved bandwidth bandwidth requests in

each frame, it cannot avoid the risk of failing to satisfy the QoS requirements.

Moreover, the unused bandwidth occurs in the current frame cannot be utilized by

the existing bandwidth adjustment since the adjusted amount of bandwidth can

be applied as early as in the next coming frame. Our research does not change

the existing bandwidth reservation to ensure that the same QoS guaranteed

services are provided. We proposed bandwidth recycling to recycle the unused

bandwidth once it occurs. It allows the BS to schedule a complementary station

for each transmission stations. Each complementary station monitors the entire

UL transmission interval of its corresponding TS and standby for any opportunities

to recycle the unused bandwidth. Besides the naive priority-based scheduling

algorithm, three additional algorithms have been proposed to improve the

recycling effectiveness. Our mathematical and simulation results confirm that our

scheme can not only improve the throughput but also reduce the delay with

negligible overhead and satisfy the QoS requirements.

MRITS-Department Of IT 68

Bandwidth recyling in ieee 802.16 networks

FUTURE ENHANCEMENTAs our investigation, one of the factors causing recycling failures is that the CS

does not have data to transmit while receiving a RM. To alleviate this factor, we

propose to schedule SSs which have rejected BRs in the last frame because it can

ensure that the SS scheduled as CS has data to recycle the unused bandwidth.

This scheduling algorithm is called Rejected Bandwidth Requests First Algorithm

(RBRFA). It is worth to notice that the RBRFA is only suitable to heavily loaded

networks with rejected BRs sent from non-real time connections (i.e., nrtPS or BE).

Notice that only rejected BRs sent in the last frame are considered in the RBRFA

for scheduling the current frame. The RBRFA is summarized .The BS grants or

rejects BRs based on its available resource and scheduling policy. In RBRFA, if the

BSgrants partially amount of bandwidth requested by a BR, then this BR is also

considered as a rejected BR. Similar Ot represents the set of SSs which

transmission period overlaps with the TS, St, in QR. All SSs in Qt are considered as

possible CSs of St. A rejected BR shows that the SS must have extra data to be

transmitted in the next frame and no bandwidth is allocated for these data. The

RBRFA schedules those SSs as CSs on the CL, so the probability to recycle the

unused bandwidth while the CS receives the RM is increased. The other factor

that may affect the performance of bandwidth recycling is the probability of the

RM to be received by the CS successfully. To increase this probability, a

scheduling algorithm, named history-Based Scheduling Algorithm (HBA), is

proposed. The HBA is summarized . For each TS, the BS maintains a list, called

Black List (BL). The basic CID of a CS is recorded in the BL of the TS if this CS

cannot receive RMs sent from the TS. According to our protocol, the CS transmits

data or pad the rest of transmission interval if a RM is received. The BS considers

that a CS cannot receive the RM from its corresponding TS if the BS does not

receive either data or padding information from the CS. When the BS schedules

the CS of each TS in future frames, the BS only schedules a SS which is not on the

BL of the TS as the CS. After collecting enough history, the BL of each TS should

contains the basic CID of all SSs which cannot receive the RM sent from the TS.

By eliminating those SS, the BS should have high probability to schedule a CS

which can receive the RM successfully. Therefore, BAcan increase the probability

of scheduling a SS which is able to receive the RM as the CS.

To support the mobility, the BL of each TS should be updated periodically.

Moreover, the BS changes the UL burst profile of the SS when it cannot listen to

the SS clearly. There are two possible reasons which may make the BS receive

signals unclearly: 1) the SS has moved to another location. 2) the background

noise is strong enough to interfere the data transmissions. Sincethose two factors

may also affect the recipient of RMs, therefore, the BL containing this SS should

MRITS-Department Of IT 69

Bandwidth recyling in ieee 802.16 networks

be updated as well. The two algorithms described above focus on mitigating each

factor that may cause the failure of recycling. The RBRFA increases the probability

that the CS has data to transmit while receiving the RM. The HBA increases the

probability that the CS receives the RM. However, none of them can alleviate both

factors at the same time. By taking the advantages of both RBRFA and HBA, an

algorithm called Hybrid Scheduling Algorithm (HSA) is proposed. HSA can increase

not only the probability of CSs to transmit data while receiving the RM but also

the probability of CSs to receive the RM. The detail of Has is summarized

MRITS-Department Of IT 70