A
PROJECT REPORT
Submitted by
BALAMURUGAN R (62206104004)
DILIPKUMAR N (62206104014)
SANTHOSHKUMAR S (62206104042)
SHANMUGANATHAN S (62206104047)
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
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
3
CONTENTS
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
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 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
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
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.
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.
SQL SERVER
MS – Access
Sybase
Oracle
Ingress
Informix
15
Features of SQL
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
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.
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
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.
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.
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
25
Data Flow Diagram
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.
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.
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:
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.
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.
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
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.
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;
namespace LBServerCode
{
public partial class CelBreathingServer : Form
{
DBase db = new DBase();
string path, ClientPath;
public CelBreathingServer()
{
InitializeComponent();
LBSReceive.receivedPath = "";
}
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);
}
obj.StartServer();
}
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();
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();
}
}
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();
48
13. APPENDIX
Class Diagram:
49
Client Mobiles:
50
Use case Diagram:
Client Cell
Breathing
Server
Server 1
Server 3
51
Sequence Diagram:
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
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