+ All Categories
Home > Documents > Cell Breathing CS

Cell Breathing CS

Date post: 04-Apr-2015
Category:
Upload: santhosh-kumar
View: 452 times
Download: 2 times
Share this document with a friend
53
1 Cell Breathing Techniques for Load Balancing in Wireless LANs A PROJECT REPORT Submitted by BALAMURUGAN R (62206104004) DILIPKUMAR N (62206104014) SANTHOSHKUMAR S (62206104042) SHANMUGANATHAN S (62206104047) in partial fulfillment for the award of the degree of BACHELOR OF ENGINEERING IN COMPUTER SCIENCE AND ENGINEERING V. S. B. ENGINEERING COLLEGE KARUR 639111 ANNA UNIVERSITY: CHENNAI 600 025 APRIL 2010
Transcript
Page 1: Cell Breathing CS

1

Cell Breathing Techniques for

Load Balancing in Wireless LANs

A

PROJECT REPORT

Submitted by

BALAMURUGAN R (62206104004)

DILIPKUMAR N (62206104014)

SANTHOSHKUMAR S (62206104042)

SHANMUGANATHAN S (62206104047)

in partial fulfillment for the award of the degree

of

BACHELOR OF ENGINEERING

IN

COMPUTER SCIENCE AND ENGINEERING

V. S. B. ENGINEERING COLLEGE

KARUR – 639111

ANNA UNIVERSITY: CHENNAI 600 025

APRIL 2010

Page 2: Cell Breathing CS

2

ANNA UNIVERSITY: CHENNAI 600 025

BONAFIDE CERTIFICATE

Certified that this project report ―CELL BREATHING TECHNIQUES FOR LOAD

BALACINING IN WIRELESS LANs” is the bonafide work of ―R.BALAMURUGAN,

N.DILIPKUMAR, S.SANTHOSHKUMAR, S.SHANMUGANATHAN ‖who carried out the

project work under my supervision.

SIGNATURE SIGNATURE

Mr. P. Sudhakar Phd. Mr. P. Krishnamoorhty M.Tech.

Assistant Professor

HEAD OF THE DEPARTMENT LECTURER

Department of Computer Science Department of Computer Science

and Engineering and Engineering

V. S. B. Eggineering College V. S.B. Engineering College

Karur-639111 Karur-639111

Submitted for University Project viva-voce examination conducted on 12 April

2010.

Internal Examiner External Examiner

Page 3: Cell Breathing CS

3

ACKNOWLEDGEMENT

We are over helmed in all humbleness and gratefulness to acknowledge our depth to all

those who have helped us to put these ideas, well above the level of simplicity and into

something concrete.

We feel happy to thank Dr. MAHENDRA GOWDA Phd, Principal who has given an

official permission to undergo this Project.

We also express our profound gratitude to Mr. P. SUDHAKAR Phd, Head of the

Department,and also our guide for guiding and correcting various documents of ours with

attention and care.

We are very thankful to our guides Mrs.MAMTA BHATTARAI M.Tech. for their

valuable help. They were always there to show us the right track when we needed their help.

With the help of their valuable suggestions, guidance and encouragement, we were able to

perform this project work.

It is imperative on my part to express my deep and sincere thanks to my class in

charge Mr. KRISHNAMOORTHY M.Tech., who made me comfortable with his kind

assistance guidance.

Above all, We thank god for the innumerable and unaccountable blessings he has

showered upon us through this Endeavour.

Last but not the least, we would like to thank our parents, brothers, and our friends

who stood with us and helped to finish this Project successfully.

Page 4: Cell Breathing CS

4

CONTENTS

SL NO. TITLE PAGE NO.

ACKNOWLEDGEMENT

SYNOPSIS 6

1. INTRODUCTION

1.1 ORGANIZATION PROFILE 07

1.2 PROJECT OVERVIEW 08

2. SYSTEM ENVIRONMENT 10

2.1 HARDWARE CONFIGURATION 10

2.2 SOFTWARE CONFIGURATION 10

2.3 SOFTWARE ENVIRONMENT 11

3. SYSTEM STUDY 17

3.1 EXISTING SYSTEM 17

3.2 PROPOSED SYSTEM 18

3.3 FEASIBILITY STUDY 19

4 SYSTEM DESIGN 21

4.1 INPUT DESIGN 21

4.2 OUTPUT DESIGN 22

4.3 DATABASE DESIGN 23

4.4 DATAFLOW DIAGRAM 24

5 SYSTEM DEVELOPMENT 27

6 SYSTEM TESTING 29

7 SYSTEM IMPLEMENTATION 34

Page 5: Cell Breathing CS

5

8 SYSTEM MAINTENANCE 37

9 FUTURE DEVELOPMENT 39

10 CONCLUSION 40

11 CELL BREATHING FORMS 41

12 SOURCE CODE 44

13 APPENDIX 49

14 BIBLIOGRAPHY 53

Page 6: Cell Breathing CS

6

SYNOPSIS

Maximizing network throughput while providing fairness is one of the key challenges in

wireless LANs (WLANs). This goal is typically achieved when the load of access points (APs) is

balanced. Recent studies on operational WLANs, however, have shown that AP load is often

substantially uneven. To alleviate such imbalance of load, several load balancing schemes have

been proposed. These schemes commonly require proprietary software or hardware at the user

side for controlling the user-AP association.

In this project we present a new load balancing technique by controlling the size of

WLAN cells (i.e., AP's coverage range), which is conceptually similar to cell breathing in

cellular networks. The proposed scheme does not require any modification to the users neither

the IEEE 802.11 standard. It only requires the ability of dynamically changing the transmission

power of the AP beacon messages. We develop a set of polynomial time algorithms that find the

optimal beacon power settings which minimize the load of the most congested AP. We also

consider the problem of network-wide min-max load balance.

Page 7: Cell Breathing CS

7

1.1 ORGANIZATION PROFILE

NiMiS is an emerging provider of IT development solutions, servicing customers nationwide.

The ability of NiMis to anticipate future technological requirements and capabilities is vital to

the success of their business and that of their clients. The objective of NiMiS is to work,

communicate and support customers as the pace of change accelerates and demands grow.

NiMiS business lines include:

Tailor-made software solutions development

Outsourcing software development

Business solutions deployment and integration

IT Consulting and Training

IT Infrastructure building / maintenance and related services including technical support

to both customers and IT companies.

NiMiS software development services cover the complete project life cycle, from requirement

assessment and task definition, to solution development, to implementation and integration,

followed by support and maintenance. The ability to integrate software with existing systems by

expanding information systems infrastructure is an important advantage of NiMiS as a turn-key

solution provider.

NiMiS expertise covers the following areas:

Enterprise Application Integration;

Data Warehousing and Decision Support;

Electronic Document Management;

Information Security;

Internet/Intranet and e-Commerce solutions.

Excellent quality of NiMiS software development is guaranteed by their team of professionals

with certified skills and experienced project managers. NiMiS also ensures quality control at all

stages of development process. Transparent software development process and interaction with

the customer are taken utmost care at NiMiS. They give their clients a real commercial

advantage by the professionalism, flexibility and specialist knowledge

Page 8: Cell Breathing CS

8

1.2 PROJECT OVERVIEW

Recent studies on operational IEEE 802.11 wireless lans (wlans) have shown that traffic

load is often unevenly distributed among the access points (aps). In wlans, by default, a user

scans all available channels and associates itself with an AP that has the strongest received signal

strength indicator (RSSI), while being oblivious to the load of aps. As users are, typically, not

evenly distributed, some aps tend to suffer from heavy load, while their adjacent aps may carry

only light load. Such load imbalance among aps is undesirable as it hampers the network from

fully utilizing its capacity and providing fair services to users.

In this project, we present a novel load balancing scheme that reduces the load of

congested aps by forcing the users near the boundaries of congested cells to move to neighboring

less congested cells. We achieve this via cell size dimensioning by controlling the transmission

power of the AP beacon messages. In this paper, a WLAN cell is defined as a region in which

the AP beacon signal has the strongest RSSI. Our approach is conceptually similar to cell

breathing in cellular networks. We present an optimal algorithm that finds deterministic min-max

load balancing solutions. Informally, a WLAN is called min-max load balanced, if it is

impossible to reduce the load of any AP without increasing the load of other aps with equal or

higher load. Our approach is practical since it does not require either user assistance or standard

modification

Page 9: Cell Breathing CS

9

Algorithm / Technique used:

Min-Max Algorithm.

Algorithm Description:

The algorithm iteratively finds a minmax priority-load-balanced state that yields the optimal load

vector ~Y. At any iteration m, m 2 ½1::jAj�, we call a routine to calculate a network state that

minimizes the priority load of the mth coordinate of the load vector. The routine needs to satisfy

two requirements: Requirement 1. The initial state of each iteration, m, must dominate the

optimal state. Requirement 2. The calculated network state at the mth iteration should not affect

(increase) the load of the APs that their load have already been determined by the previous

iterations.

Page 10: Cell Breathing CS

10

2. SYSTEM ENVIRONMENT

2.1 HARDWARE CONFIGURATION

Processor : Pentium IV

Clock Speed : 2 GHz

RAM : 512 MB

Hard disk Capacity : 80 GB

Floppy disk Capacity : 1.44 MB

Keyboard : 101 Keys

Mouse : Optical Mouse

2.2 SOFTWARE CONFIGURATION

Operating System : - Windows Xp Professional.

Front End :-Visual Studio Dot Net 2005.

Coding Language : - C#.

Database :-Sql 2000.

Page 11: Cell Breathing CS

11

2.3 SOFTWARE ENVIRONMENT

Microsoft .Net

The .NET Framework defines an environment that supports the development and

execution of highly distributed, component-based applications. It enables differing computer

languages to work together and provides for security, program portability, and a common

programming model for the Windows platform. As it relates to C#, the .NET Framework defines

two very important entities. The first is the Common Language Runtime (CLR). This is the

system that manages the execution of your program. Along with other benefits, the Common

Language Runtime is the part of the .NET Framework that enables programs to be portable,

supports mixed-language programming, and provides for security.

The second entity is the .NET Framework class library. This library gives your program

access to the runtime environment. For example, if you want to perform I/O, such as displaying

something on the screen, you will use the .NET library to do it. If you are new to programming,

then the term class may be new. Although it is explained in detail later in this book, for now a

brief definition will suffice: a class is an object-oriented construct that helps organize programs.

As long as your program restricts itself to the features defined by the .NET Framework class

library, your programs can run anywhere that the .NET runtime system is supported. Since C#

automatically uses the .NET Framework class library, C# programs are automatically portable to

all .NET environments.

Features Of C#.net

While Java has successfully addressed many of the issues surrounding portability in the

Internet environment, there are still features that it lacks. One is cross-language interoperability,

also called mixed-language programming. This is the ability for the code produced by one

language to work easily with the code produced by another. Cross-language interoperability is

needed for the creation of large, distributed software systems. It is also desirable for

Page 12: Cell Breathing CS

12

programming software components, because the most valuable component is one that can be

used by the widest variety of computer languages, in the greatest number of operating

environments.

Another feature lacking in Java is full integration with the Windows platform. Although

Java programs can be executed in a Windows environment (assuming that the Java Virtual

Machine has been installed), Java and Windows are not closely coupled. Since Windows is the

mostly widely used operating system in the world, lack of direct support for Windows is a

drawback to Java.

To answer these and other needs, Microsoft developed C#. C# was created at Microsoft

late in the 1990s and was part of Microsoft‘s overall .NET strategy. It was first released in its

alpha version in the middle of 2000. C#‘s chief architect was Anders Hejlsberg. Hejlsberg is one

of the world‘s leading language experts, with several notable accomplishments to his credit. For

example, in the 1980s he was the original author of the highly successful and influential Turbo

Pascal, whose streamlined implementation set the standard for all future compilers.

C# is directly related to C, C++, and Java. This is not by accident. These are three of the

most widely used—and most widely liked—programming languages in the world. Furthermore,

at the time of C#‘s creation, nearly all professional programmers knew C, C++, and/or Java. By

building C# upon a solid, well-understood foundation, C# offered an easy migration path from

these languages. Since it was neither necessary nor desirable for Hejlsberg to start from scratch,

he was free to focus on specific improvements and innovations.

The family tree for C# is shown in Figure 1-1. The grandfather of C# is C. From C, C#

derives its syntax, many of its keywords, and its operators. C# builds upon and improves the

object model defined by C++. If you know C or C++, then you will feel at home with C#.

Page 13: Cell Breathing CS

13

Figure 1-1: The C# family tree

C# and Java have a bit more complicated relationship. As explained, Java is also

descended from C and C++. It too shares the C/C++ syntax and object model. Like Java, C# is

designed to produce portable code. However, C# is not descended from Java. Instead, C# and

Java are more like cousins, sharing a common ancestry, but differing in many important ways.

The good news, though, is that if you know Java, then many C# concepts will be familiar.

Conversely, if in the future you need to learn Java, then many of the things you learn about C#

will carry over.

C# contains many innovative features that we will examine at length throughout the

course of this book, but some of its most important relate to its built-in support for software

components. In fact, C# has been characterized as being a component-oriented language because

it contains integral support for the writing of software components. For example, C# includes

features that directly support the constituents of components, such as properties, methods, and

events. However, C#‘s ability to work in a mixed-language environment is perhaps its most

important component-oriented feature.

Page 14: Cell Breathing CS

14

The Evolution of C#

Following the original 1.0 release, C# has undergone two revisions. The first was version

1.1, which was a minor upgrade that did not add significantly to the language. The second is

version 2.0, which this book covers.

Version 2.0 is a major release. It adds many new features and fundamentally expands the

scope, power, and range of the language. Along with many small improvements, C# 2.0 includes

14 major additions to the language. They are listed here:

Generics

Nullable types

Iterators

Partial class definitions

Anonymous methods

The :: operator

static classes

Covariance and contravariance

Fixed-size buffers

Friend assemblies

extern aliases

Method group conversions

Accessor access control

New #pragma directives

Of these new features, the one that has the most effect on the language, and the most direct

impact on programmers, is generics. Not only does it add an entirely new syntax element to the

language, but it also greatly expands C#‘s expressive power by enabling the creation of type-

safe, reusable code. As a side-effect, the addition of generics has caused the Collections library

to be greatly expanded.

Page 15: Cell Breathing CS

15

Throughout the course of this book each of the new features added by C# 2.0 is described in

detail. As you will see, they further enhance an already rich and powerful language.

Microsoft sql server

SQL SERVER 2005 is a Relational Database Management System. The abbreviation is

Structure Query Language. SQL is the language used to query the database. SQL is a declarative

language where you just say store this or modify this without saying how to do. It is the product

of Microsoft. The version of SQL used by SQL SERVER 2005 is called Transact – SQL. It

supports the client/server architecture. It receives requests from the clients for data and returns

the result of the processed query. All the SQL statements are submitted to the Transact-SQL,

which on receiving them passes the result and displays it for the user.

SQL solved the ad hoc needs of users; the need for data access by computer programs did

not go away. In fact, most database access still was (and is) programmatic, in the form of

regularly scheduled reports and statistical analyses, data entry programs such as those used for

order entry, and data manipulation programs, such as those used to reconcile accounts and

generate work orders.

The following is a list of relational database that support SQL:

SQL SERVER

MS – Access

Sybase

Oracle

Ingress

Informix

Page 16: Cell Breathing CS

16

Features of SQL

SQL is used to query the database to get results

Used to inserts new data

Used to modify the data

Extremely flexible query language

Over the years its functional capabilities can be extended

Page 17: Cell Breathing CS

17

3. SYSTEM STUDY

3.1 EXISTING SYSTEM

Several studies have proposed a variety of association metrics instead of using the RSSI

as the sole criterion. These metrics typically take into account such factors as the number of

users currently associated with an AP, the mean RSSI of users currently associated with an AP,

and the bandwidth that a new user can get if it is associated with an AP, e.g., Balachandran et al.

proposed to associate a user with an AP that can provide a minimal bandwidth required by the

user. In Velayos et al. introduced a distributed load balancing architecture were the AP load is

defined as the aggregated downlink and uplink traffic through the AP. In Kumar and coworkers

proposed association selection algorithms which are based on the concept of proportional

fairness to balance between throughput and fairness. In Kauffmann et al. provided a

mathematical foundation for distributed frequency allocation and user association for efficient

resource sharing. Recently, in Shakkottai et al. considered a no cooperative multihoming

approach and showed that under appropriate pricing, the system throughput is maximized. In a

strong relation between fairness and load balancing is shown. Most of these works determine

only the association of newly arrived users. Tsai et al. is an exception, in which Tsai and Lien

proposed to reassociate users when the total load exceeds a certain threshold or the bandwidth

allocated to users‘ drops below a certain threshold. While the existing load balancing schemes

achieved considerable improvement in terms of throughput and fairness, they require certain

support from the client side. In contrast, the proposed scheme does not require any proprietary

client support.

Page 18: Cell Breathing CS

18

3.2 PROPOSED SYSTEM

We address the problem of min-max load balancing. This is a strong NP-hard problem. In

it is proved that there exists no algorithm that guarantees any coordinate wise approximation

ratio, and the approximation ratio of any prefix-sum approximation algorithm is at least (logn),

where n is the number of APs. In this paper, we solve a variant of this min-max problem, termed

min-max priority load balancing, whose optimal solution can be calculated in polynomial time

for both knowledge models. Here, the AP load is defined as an ordered pair of the aggregated

load contributions of its associated users and a unique AP priority.

Page 19: Cell Breathing CS

19

3.3 FEASIBILITY STUDY

Feasibility is a determination of whether or not a project worth doing. The process

followed in making this determination is called a feasibility analysis. This type of study

determines if a project can and should be done. When developing a system, it is necessary to

evaluate the feasibility of project at the earliest possible time. Unexpected technical problems

and timing problems can occur when poor problem definition is obtained. It is advisable to

conduct discussions regarding the analysis and design of the project before starting it.

The feasibility is made according to the three key considerations:

Operational feasibility

Technical feasibility

Economic feasibility

Behavioral feasibility

OPERATIONAL FEASIBILITY

The purpose of Operational Feasibility study is to determine whether the new system will

be used if it is developed and implemented or will there be resistance from the users that will

take the possible application benefits.

There was no difficulty in implementing, the system as the ‗Centralized network

Management System‘ is so effective and user-friendly. The users of the system are fully aware

of the internal working of the system. So the users will not be facing any crisis in the running

system. Thus the Centralized network Management System is found to be operationally feasible.

Page 20: Cell Breathing CS

20

TECHNICAL FEASIBILITY

This is concerned with specifying equipment and software that will successfully satisfy

the user requirements. The technical needs of system may vary considerably, but include

The facility to produce outputs in a given time.

Response time under certain conditions

Ability to process a certain volume of transaction at a stipulated speed.

ECONOMIC FEASIBILITY

Economic analysis is the most frequently technique for evaluating the effectiveness of a

proposed system. Most commonly known as cost/benefit analysis, the procedure is to determine

the benefits and savings that are expected from the proposed system and compare them with cost.

Here, in the proposed system the benefits and savings are found to be more when

compared to the overall cost that is to be incurred. As the proposed system is being developed in

VB.net the company is not forced to invest more on resources. Also the implementation and

maintenance of the system doesn‘t take much of the cost. The overall project cost is also normal

as compared with other system development.

BEHAVIORAL FEASIBILITY

Behavioral Feasibility is a determination of whether proposed system is secured or not.

So, the main purpose is the security level that is tent. The changes needed in the existing system

are some security and communication problem where it is overcome with the proposed system.

Hence it is accepted.

Page 21: Cell Breathing CS

21

4. SYSTEM DESIGN

4.1 INPUT DESIGN

The input design is the link that ties the information system into the world of its users. It

is a process of converting user-originated inputs to a computer-based format. Input data are

collected and organized into a group of similar data. Once identified, appropriate input media

are selected for processing.

The goal of designing input data is to make entry easy, logical and free form errors. In

input data design, we design source document that capture the data and then select the media

used to enter them into the computer. The input forms are developed in a user-friendly way so

that a layman also can easily understand everything. Menus are provided to users and different

icons are designed so the proposed system design looks decorative. Input design is the part of the

overall system design.

Source documents initiate a processing cycle as soon as they are entered into the system

through the keyboard. A source should be logical and easy to understand.

Objectives of Input Design:

1.To achieve the highest possible level of accuracy.

2.To ensure that the input is acceptable and understood by the user.

Page 22: Cell Breathing CS

22

1.2 OUTPUT DESIGN

Output forms are also designed in a specific manner as per the user requirement. Results

are formatted to enhance clarity. Depending on the user the system would generate appropriate

output. The output forms are designed in such a way that the entire user required data is

presented.

While designing an output, the system analyst must accomplish the following.

1. Determine what information to present

2. Decide whether to display, print or speak information and select the output

medium.

3. Arrange the presentation of information in an acceptable form.

4. Decide how to distribute the output to intended users.

Page 23: Cell Breathing CS

23

4.3 DATABASE DESIGN

Database design is required to manage large bodies of information. The management of data

involves both the definition of structure for the manipulation of information. In addition the data

base system must provide for the safety of the information handled despite. System crashes or

due to attempt at unauthorized access. For developing an efficient data base we have to fulfill

certain condition such as ;

Control redundancy

Easy to use

Data independence

Accuracy and integrity

Performance

For achieving the above criteria, we have to make use of various features available with

DBMS such forcing integrity constrains.

Page 24: Cell Breathing CS

24

4.4 DATAFLOW DIAGRAM

The data flow diagram (DFD) is one of the most important tools used by system analysts.

Data flow diagrams are made up of a number symbols, which represent system components.

Most data flow modeling methods use four kinds of symbols. These symbols are used to

represent four kinds of system components such as Processes, data stores, data flows and

external entities.

Circles in DFD represent processes. Data Flow is represented by a thin line in the DFD

and each data store has a unique name and rectangle represents external entities. Unlike detailed

flow chart, Data Flow Diagrams do not supply detailed description of the modules but

graphically describes a system‘s data and how the data interact with the system.

An arrow identifies the data flow in motion. It is a pipeline through which information is

flown like the rectangle in the flowchart. A circle stands for process that converts data into

information. An open-ended box represents a data store, data at rest or a temporary repository of

data. A square defines a source or destination of system data.

Page 25: Cell Breathing CS

25

Basic dfd notation

Source or Destination of data :

Process that transforms data flow :

To represent data storage :

To represent Data flow :

Page 26: Cell Breathing CS

26

Data Flow Diagram

Server 1 Server 2 Server 3

Cell Breathing Server

Client Request

Load 1 Load 2 Load 3

Page 27: Cell Breathing CS

27

5. SYSTEM DEVELOPMENT

The ultimate aim of the proposed system is to provide service to the customers. They

need to get trained to use the newly proposed system. Hence developing a system without the

user‘s feedback will lead to discard of the system. So Rapid Application model was used to

develop the system.

A rough interface of the system is given to the users for their feedback and suggestions.

Then the modifications are done. But as the system evolved and after a series of interactions and

demonstrations, the user felt comfortable with the newly developed system.

The system went through the following stages:

The software request is evaluated

Product requirements are collected

Design specification for the prototype is prepared

Prototype software is developed, tested and refined

Prototype is given to the user, who tested the system any gave suggestions for

further refinement

Page 28: Cell Breathing CS

28

The process during the development of the software using the RAD model is

Requirement Gathering

Abbreviated

Representation

Prototype

Generation

Testing and

Refinement

Cell Breathing

Techniques for Load

Balancing

Page 29: Cell Breathing CS

29

6. SYSTEM TESTING

Testing Methodologies

Testing is a process used to help identify the correctness, completeness and quality of

developed computer software. There are many approaches to software testing, but effective

testing of complex products is essentially a process of investigation, not merely a matter of

creating and following rote procedure. One definition of testing is "the process of questioning a

product in order to evaluate it", where the "questions" are things the tester tries to do with the

product, and the product answers with its behavior in reaction to the probing of the tester.

The quality of the application can and normally does vary widely from system to system

but some of the common quality attributes include reliability, stability, portability,

maintainability and usability.

Testing objectives include

1. Testing is a process of executing a program with the intent of finding an error.

2. A good test case is one that has a high probability of finding an as yet undiscovered error.

3. A successful test is one that uncovers an as yet undiscovered error.

Testing should systematically uncover different classes of errors in a minimum amount of

time and with a minimum amount of effort. A secondary benefit of testing is that it demonstrates

that the software appears to be working as stated in the specifications. The data collected through

testing can also provide an indication of the software's reliability and quality. But, testing cannot

show the absence of defect -- it can only show that software defects are present.

Page 30: Cell Breathing CS

30

Black box testing

Black box testing attempts to derive sets of inputs that will fully exercise all the

functional requirements of a system. It is not an alternative to white box testing. This type of

testing attempts to find errors in the following categories:

1. incorrect or missing functions,

2. interface errors,

3. errors in data structures or external database access,

4. performance errors, and

5. initialization and termination errors.

White box testing –

This testing is based on knowledge of the internal logic of an application‘s code. Also

known as Glass box Testing. Internal software and code working should be known for this type

of testing. Tests are based on coverage of code statements, branches, paths, conditions.White box

testing is a test case design method that uses the control structure of the procedural design to

derive test cases. Test cases can be derived that

1. Guarantee that all independent paths within a module have been exercised at least once.

2.Exercise all logical decisions on their true and false sides,

3. Execute all loops at their boundaries and within their operational bounds, and

4. Exercise internal data structures to ensure their validity.

Website Cookie Testing

Cookie is small information stored in text file on user‘s hard drive by web server. This

information is later used by web browser to retrieve information from that machine. Generally

cookie contains personalized user data or information that is used to communicate between

different web pages.

Cookies are nothing but the user‘s identity and used to track where the user navigated

throughout the web site pages. The communication between web browser and web server is

stateless.

Page 31: Cell Breathing CS

31

Test cases:

1) As a Cookie privacy policy make sure from your design documents that no personal or

sensitive data is stored in the cookie.

2) If you have no option than saving sensitive data in cookie make sure data stored in cookie is

stored in encrypted format.

3) Make sure that there is no overuse of cookies on your site under test. Overuse of cookies will

annoy users if browser is prompting for cookies more often and this could result in loss of site

traffic and eventually loss of business.

4) Disable the cookies from your browser settings: If you are using cookies on your site, your

sites major functionality will not work by disabling the cookies. Then try to access the web site

under test. Navigate through the site. See if appropriate messages are displayed to user like ―For

smooth functioning of this site make sure that cookies are enabled on your browser‖. There

should not be any page crash due to disabling the cookies

5) Accepts/Reject some cookies: The best way to check web site functionality is, not to accept all

cookies. If you are writing 10 cookies in your web application then randomly accept some

cookies say accept 5 and reject 5 cookies. For executing this test case you can set browser

options to prompt whenever cookie is being written to disk. On this prompt window you can

either accept or reject cookie. Try to access major functionality of web site. See if pages are

getting crashed or data is getting corrupted.

6) Delete cookie: Allow site to write the cookies and then close all browsers and manually delete

all cookies for web site under test. Access the web pages and check the behavior of the pages.

7) Corrupt the cookies: Corrupting cookie is easy. You know where cookies are stored. Manually

edit the cookie in notepad and change the parameters to some vague values. Like alter the cookie

content, Name of the cookie or expiry date of the cookie and see the site functionality. In some

cases corrupted cookies allow to read the data inside it for any other domain. This should not

happen in case of your web site cookies.

Page 32: Cell Breathing CS

32

8 ) Checking the deletion of cookies from your web application page: Some times cookie written

by domain say rediff.com may be deleted by same domain but by different page under that

domain. This is the general case if you are testing some ‗action tracking‘ web portal. Action

tracking or purchase tracking pixel is placed on the action web page and when any action or

purchase occurs by user the cookie written on disk get deleted to avoid multiple action logging

from same cookie.

9) Cookie Testing on Multiple browsers: This is the important case to check if your web

application page is writing the cookies properly on different browsers as intended and site works

properly using these cookies. You can test your web application on Major used browsers like

Internet explorer (Various versions), Mozilla Firefox, Netscape, Opera etc.

10) If your web application is using cookies to maintain the logging state of any user then log in

to your web application using some username and password. In many cases you can see the

logged in user ID parameter directly in browser address bar. Change this parameter to different

value say if previous user ID is 100 then make it 101 and press enter. The proper access message

should be displayed to user and user should not be able to see other users account.

Security Technologies & Policies

A computer-base system is a combination of many assets or resources designed to perform

some function or to provide some services.Each of these assets is threatened by one or more of

the following unacceptable events:

Interruption

Disclosure

Removal

Destruction

Security Issues

Page 33: Cell Breathing CS

33

The term security can be divided into four related issues

Security

Integrity

Privacy

Confidentiality

Authentication

In the system brief log on procedure for the customer was provided in order to enter and

accessthe system. This process is done in order to identify the valid user.

These attributes are stored in a table that cannot be easily trapped by unauthorized persons.

File protection

The various files and database tables are also highly secured in this system. The necessity

for securing the files and the table evolves because some persons who were not given

authorization for access may hacker files and corrupt the tables with wrong data which will

response tremendous hazards to the operations of the system. So in order to avoid these

things,the data encryption standards engine is attached to all files and database tables associated

with the system,which will facilitate encryption and decryption of files. Backup of the system are

also taken as a preventive measure.

Page 34: Cell Breathing CS

34

7. SYSTEM IMPLEMENTATION

Implementation is the stage of the project where the theoretical design is turned into a

working system. At this stage the main work load and the major impact on the existing system

shifts to the user department. If the implementation is not carefully planned and controlled, it can

cause chaos and confusion.

Implementation includes all those activities that take place to convert from the old system

to the new one. The new system may be totally new, replacing an existing manual or automated

system or it may be a major modification to an existing system. Proper implementation is

essential to provide a reliable system to meet the organization requirements.

The process of putting the developed system in actual use is called system

implementation. The system can be implemented only after thorough testing is done and it is

found to be working according to the specifications. The system personnel check the feasibility

of the system. The most crucial stage is achieving a new successful system and giving

confidence on the new system for the user that it will work efficiently and effectively. It involves

careful planning, investigation of the current system and its constraints on implementation. The

system implementation has three main aspects. They are education and training, system testing

and changeover.

The implementation stage involves following tasks.

Careful planning

Investigation of system and constraints

Design of methods to achieve the changeover.

Training of the staff in the changeover phase

Evaluation of the changeover method

Page 35: Cell Breathing CS

35

Implementation Procedures

Implementation of software refers to the final installation of the package in its real

environment, to the satisfaction of the intended users and the operation of the system. The people

are not sure that the software is meant to make their job easier. In the initial stage they doubt

about the software but we have to ensure that the resistance does not build up as one has to make

sure that.

The active user must be aware of the benefits of using the system

Their confidence in the software built up

Proper guidance is impaired to the user so that he is comfortable in using the

application

Before going ahead and viewing the system, the user must know that for viewing the

result, the server program should be running in the server. If the server object is not running on

the server, the actual processes will not take place.

User Manual

To achieve the objectives and benefits expected from the proposed system it is essential

for the people who will be involved to be confident of their role in the new system. As system

becomes more complex, the need for education and training is more and more important.

Education is complementary to training. It brings life to formal training by explaining

the background to the resources for them. Education involves creating the right atmosphere and

motivating user staff. Education information can make training more interesting and more

understandable.

Page 36: Cell Breathing CS

36

Training on the Application Software

After providing the necessary basic training on the computer awareness, the users will

have to be trained on the new application software. This will give the underlying philosophy of

the use of the new system such as the screen flow, screen design, type of help on the screen,

type of errors while entering the data, the corresponding validation check at each entry and the

ways to correct the data entered. This training may be different across different user groups and

across different levels of hierarchy.

Page 37: Cell Breathing CS

37

8.SYSTEM MAINTENANCE

The maintenance phase of the software cycle is the time in which software performs

useful work. After a system is successfully implemented, it should be maintained in a proper

manner. System maintenance is an important aspect in the software development life cycle. The

need for system maintenance is to make adaptable to the changes in the system environment.

There may be social, technical and other environmental changes, which affect a system which is

being implemented. Software product enhancements may involve providing new functional

capabilities, improving user displays and mode of interaction, upgrading the performance

characteristics of the system. So only thru proper system maintenance procedures, the system can

be adapted to cope up with these changes.

Software maintenance is of course, far more than ―finding mistakes‖. We may define

maintenance by describing four activities that are undertaken, after a product is released for use.

Corrective Maintenance

The first maintenance activity occurs because it is unreasonable to assume that software

testing will uncover all latent errors in a large software system. During the use of any large

program, errors will occur and be reported to the developer. The process that includes the

diagnosis and correction of one or more errors is called Corrective Maintenance.

Adaptive Maintenance

The second activity that contributes to a definition of maintenance occurs because of the

rapid change that is encountered in every aspect of computing. Therefore Adaptive maintenance

termed as an activity that modifies software to properly interfere with a changing environment is

both necessary and commonplace.

Page 38: Cell Breathing CS

38

Perceptive Maintenance

The third activity that may be applied to a definition of maintenance occurs when a

software package is successful. As the software is used, recommendations for new capabilities,

modifications to existing functions, and general enhancement are received from users. To satisfy

requests in this category, Perceptive maintenance is performed. This activity accounts for the

majority of all efforts expended on software maintenance.

Preventive Maintenance

The fourth maintenance activity occurs when software is changed to improve future

maintainability or reliability, or to provide a better basis for future enhancements. Often called

preventive maintenance, this activity is characterized by reverse engineering and re-engineering

techniques.

Page 39: Cell Breathing CS

39

9.FUTURE DEVELOPMENT

The growth of any organization leads to enhancements, in future the system can be enhanced

according to requirements. In order to become an effective system, the developed system should

provide room for improvement and enhancement.

The architecture is very object oriented, and the business layer, data access layer, is seen

separately and it is completely object model based approach. The database has been completely

encapsulated inside the data access layer.

This project can be further enhanced based on the future trends and strategies.

Page 40: Cell Breathing CS

40

10.CONCLUSION

This software provides a user – friendly approach towards the system. This system has been well

developed and when implemented, is bound to satisfy all of the requirements. Painstaking efforts

have been taken to make the software impeccable and upgradeable. There is a hope that this

software will be utilized to its maximum and will do a good job in long run.

The ubiquitous nature of change underlies all software work. Therefore, we must develop

mechanism for evaluating, controlling and making modification. This project has been created

using the best design and coding technique known. It can be migrated to new platforms, adjusted

for changes in machines and operating system technology and enhanced to meet now user needs,

all without regard to overall architecture.

The efficiency of the application lies in the hands of the end – users. Care has been taken

to provide this user friendly system so that not only the experienced and professional agents use

the system but will prove useful for the new agents also.

The system is much flexible and extensible and hence further enhancements, if needed,

can be developed and it can be integrated. With the existing one very easily. It is expected to

leave up to the objective for which it is designed. In the proposed system, it is sure that it must

reduce the man power and the time duration.

Page 41: Cell Breathing CS

41

11.CELL BREATHING FORMS

Page 42: Cell Breathing CS

42

Page 43: Cell Breathing CS

43

Page 44: Cell Breathing CS

44

12.SOURCE CODE

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.Net;

using System.Net.Sockets;

using System.IO;

//That code is written by Suman Biswas, Calcutta, India (Email: [email protected],Website:

sumanbiswas.xm.com).

//That code is running to transfer small file to client to server. by using and after doing

modification any one

//can able to make a large file transfer application in C#.Net. This is Server code.

namespace LBServerCode

{

public partial class CelBreathingServer : Form

{

DBase db = new DBase();

string path, ClientPath;

public CelBreathingServer()

{

InitializeComponent();

LBSReceive.receivedPath = "";

}

private void button1_Click(object sender, EventArgs e)

{

// if (FTServerCode.receivedPath.Length > 0)

backgroundWorker1.RunWorkerAsync();

//FolderBrowserDialog fd = new FolderBrowserDialog();

//if (fd.ShowDialog() == DialogResult.OK)

//{

// ClientPath = fd.SelectedPath;

// for (int i = 1; i <= 3; i++)

// {

// System.Diagnostics.Process.Start(ClientPath + "//Client " + i +

"//bin//Debug//Client " + i);

// }

Page 45: Cell Breathing CS

45

//}

// else

// MessageBox.Show("Please select file receiving path");

}

private int RandomNumber(int min, int max)

{

Random random = new Random();

return random.Next(min, max);

}

private void timer1_Tick(object sender, EventArgs e)

{

//label5.Text = LBSReceive.receivedPath;

label3.Text = LBSReceive.curMsg;

lblserver1.Text = LBSReceive.loadst1.ToString();

lblserver2.Text = LBSReceive.loadst2.ToString();

lblserver3.Text = LBSReceive.loadst3.ToString();

progressBar1.Value = LBSReceive.loadst1;

progressBar2.Value = LBSReceive.loadst2;

progressBar3.Value = LBSReceive.loadst3;

}

LBSReceive obj = new LBSReceive();

private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)

{

obj.StartServer();

}

private void button2_Click(object sender, EventArgs e)

{

FolderBrowserDialog fd = new FolderBrowserDialog();

if (fd.ShowDialog() == DialogResult.OK)

{

LBSReceive.receivedPath = fd.SelectedPath;

}

}

private void Form1_Load(object sender, EventArgs e)

{

path = Directory.GetParent(Application.StartupPath).ToString();

}

int a = 0;

private void timer2_Tick(object sender, EventArgs e)

{

Page 46: Cell Breathing CS

46

int returnValue = RandomNumber(1, 20);

// a1.Text = returnValue.ToString();

if (returnValue == 1)

{

db.command("delete FROM Engine1 where Id in ( SELECT TOP 2 Id FROM

Engine1)");

db.conclose();

LoadStatus();

}

else if (returnValue == 2)

{

db.command("delete FROM Engine2 where Id in ( SELECT TOP 2 Id FROM

Engine2)");

db.conclose();

LoadStatus();

}

else if (returnValue == 3)

{

db.command("delete FROM Engine3 where Id in ( SELECT TOP 2 Id FROM

Engine3)");

db.conclose();

LoadStatus();

}

}

public void LoadStatus()

{

db.reader("Select Count(Msg) from Engine1");

db.dr.Read();

LBSReceive.loadst1 = Convert.ToInt32(db.dr.GetValue(0));

db.conclose();

db.reader("Select Count(Msg) from Engine2");

db.dr.Read();

LBSReceive.loadst2 = Convert.ToInt32(db.dr.GetValue(0));

db.conclose();

db.reader("Select Count(Msg) from Engine3");

db.dr.Read();

LBSReceive.loadst3 = Convert.ToInt32(db.dr.GetValue(0));

db.conclose();

if (LBSReceive.loadst1 > 80 && LBSReceive.loadst3 > 50)

{

db.command("delete From Engine1");

db.conclose();

Page 47: Cell Breathing CS

47

}

else if (LBSReceive.loadst3 > 80 && LBSReceive.loadst2 > 50)

{

db.command("delete From Engine3");

db.conclose();

}

else if (LBSReceive.loadst3 > 50 && LBSReceive.loadst1 > 50)

{

db.command("delete From Engine2");

db.conclose();

}

}

private void button2_Click_1(object sender, EventArgs e)

{

System.Diagnostics.Process.Start(path + "/Cell Breathing.exe");

}

private void button3_Click(object sender, EventArgs e)

{

FolderBrowserDialog fd = new FolderBrowserDialog();

if (fd.ShowDialog() == DialogResult.OK)

{

ClientPath = fd.SelectedPath;

for (int i = 1; i <= 3; i++)

{

System.Diagnostics.Process.Start(ClientPath + "//Client " + i +

"//bin//Debug//Client " + i);

}

}

}

}

//FILE TRANSFER USING C#.NET SOCKET - SERVER

class LBSReceive

{

DBase db = new DBase();

IPEndPoint ipEnd;

Socket sock;

public LBSReceive()

{

LoadStatus();

IPHostEntry ipEntry = Dns.GetHostEntry(Environment.MachineName);

IPAddress IpAddr = ipEntry.AddressList[0];

ipEnd = new IPEndPoint(IpAddr, 5655);

sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);

Page 48: Cell Breathing CS

48

sock.Bind(ipEnd);

}

public static string receivedPath;

public static string curMsg = "Stopped";

public static int loadst1 = 0;

public static int loadst2 = 0;

public static int loadst3 = 0;

public void StartServer()

{

try

{

curMsg = "Starting...";

sock.Listen(100);

//LoadStatus();

curMsg = "Running.....";

Socket clientSock = sock.Accept();

byte[] clientData = new byte[1024];

int receivedBytesLen = clientSock.Receive(clientData);

string a=clientSock.ReceiveBufferSize.ToString();

//int b = a-1024;

string s = Encoding.ASCII.GetString(clientData, 0, 1);

if (s == "1")

{

s = "";

s = "M1";

}

else if (s == "2")

{

s = "";

s = "M2";

}

else if (s == "3")

{

s = "";

s = "M3";

}

Page 49: Cell Breathing CS

49

13. APPENDIX

Class Diagram:

Cell Breathing Server

Page 50: Cell Breathing CS

50

Client Mobiles:

Page 51: Cell Breathing CS

51

Use case Diagram:

Client Cell

Breathing

Server

Cell Breathing

Server

LBS

Server 1

Server 2

Server 3

Page 52: Cell Breathing CS

52

Sequence Diagram:

Client Cell Breathing Server Server1 Server2 Server3

Client

Request

Connect to

Connect to

Connect to

Page 53: Cell Breathing CS

53

14.BIBLIOGRAPHY

Books

Cell Breathing Techniques for Load Balancing in Wireless LANs,Yigal Bejerano, Member,

IEEE, and Seung-Jae Han, Member, IEEE.

Comdex .NET Programming Course Kit , Vikas Gupta & Kogent Solutions Inc,

Publisher: DreamTech Press , Edition: Aug 2007

Professional C# 2005, Christian Nagelet al

C#:The Complete Reference, Herbert Schildt

C#:Beginner’s Guide, Herbert Schildt

Software Engineering – A practitioner’s approach , TATA McGraw-Hill Publishing

Company Limited, Fourth Edition:1997

System Analysis and Design, Ellis M. Awad, Galgotia Publication, Edition 1997

Web Sites

www.c-sharpcorner.com

msdn.microsoft.com

en.wikipedia.org/wiki/C-sharp

www.w3schools.com

www.csharphelp.com


Recommended