Anda di halaman 1dari 53

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

1
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

2
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.

3
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

4
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

5
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.

6
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

7
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

8
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.

9
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.

10
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

11
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#.

12
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.

13
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.

14
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

15
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

16
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.

17
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.

18
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.

19
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.

20
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.

21
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.

22
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.

23
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.

24
Basic dfd notation

Source or Destination of data :

Process that transforms data flow :

To represent data storage :

To represent Data flow :

25
Data Flow Diagram

Server 1 Server 2 Server 3

Load 1 Load 2 Load 3

Cell Breathing Server

Client Request

26
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

27
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

28
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.

29
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.

30
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.

31
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

32
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.

33
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

34
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.

35
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.

36
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.

37
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.

38
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.

39
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.

40
11.CELL BREATHING FORMS

41
42
43
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: sumanbiswas@aol.in,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);
// }

44
//}

// 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)
{

45
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();

46
}
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);

47
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";
}

48
13. APPENDIX

Class Diagram:

Cell Breathing Server

49
Client Mobiles:

50
Use case Diagram:

Client Cell
Breathing
Server

Server 1

Cell Breathing LBS Server 2


Server

Server 3

51
Sequence Diagram:

Client Cell Breathing Server Server1 Server2 Server3

Client
Request

Connect to

Connect to

Connect to

52
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

53

Anda mungkin juga menyukai