Está en la página 1de 64

1.

INTRODUCTION

Automation of the operation and maintenance of mobile networks is a need for mobile
operators due to several forces driving costs up: increased traffic volume, variety of services,
number of subscribers, demand for quality of service (QoS), and competitiveness among
operators. Modern networks produce large volumes of operation and maintenance data, which
contain the information needed for the self-healing functions that operators need. In fact, the
volume of this data, along with the variety and time restrictions, calls for the use of the big data
paradigm. Big data is a set of new techniques that exploit the ever increasing processing power
of computer networks. Several use cases have been displayed as examples where data processing
algorithms can extract information contained in big-data-compliant data sources. In order for
these algorithms to work properly, small modifications have been proposed in order to run the
algorithm in parallel processes that do not interfere with each other. Parallelization reduces the
processing time (or increases the processing capability) of these algorithms, so Self-organizing
networking (SON) functions can be applied in a manner that is transparent for the users of the
network. The proposals can be extended to any self-organizing networking algorithm that can be
extended in a way which guarantees that the results of the parallelized version are the same as
the original. In order to further test the proposed solutions of the use cases, they can be
implemented using the commercially available big data processing solutions.

2. PROJECT DESCRIPTION

2.1 PROBLEM DEFINITION

1 SV COLLEGE OF ENGINEERING, DEPT OF CSE


Self-healing aims to automate troubleshooting, which is one of the most important
operation and maintenance tasks. The main objective of troubleshooting is finding and fixing
malfunctions in the network. In the currently deployed networks, this task is manually done by
monitoring some variables that reflect the state of the network. Self-healing functions include
data processing algorithms that analyze operation and maintenance data in order to identify and
fix problems. Some attempts at defining an implementation for self-healing functions have been
made using knowledge-based systems (KBSs), such as Bayesian networks, fuzzy logic
controllers, or case-based reasoning for automatic diagnosis. These systems have been proposed
theoretically without acknowledging the problems inherent to large databases.

2.2 PROJECT DETAILS

When data largely increase, traditional processing techniques have very poor
performance. The big data paradigm deals with this type of dataset by applying new techniques
that exploit the latest hardware and software innovations. In particular, in this article, self-healing
is reframed as a big data problem, and some specific requirements for the development of big-
data-compliant self-healing functions are proposed. Self-healing algorithms are usually
implemented during knowledge-based systems (KBSs) that imitate the process of human experts
in order to accomplish a task.

3. COMPUTATIONAL ENVIRONMENT

3.1 SOFTWARE SPECIFICATIONS

● Operating System : Windows 10

● Programming Environment : JAVA

2 SV COLLEGE OF ENGINEERING, DEPT OF CSE


● Web Server : Tomcat6.0

● Design : HTML, JavaScript.

● Server side Script : Java Server Pages.

● Backend : Oracle 10g

3.2 HARDWARE SPECIFICATIONS

● Processor : Intel I5
● RAM : 1GB
● Storage Disk : 300 GB
3.3 SOFTWARE ENVIRONMENT:

Java Technology

Java technology is both a programming language and a platform.


Java Programming Language

The Java programming language is a high-level language that can be characterized by all
of the following buzzwords:

● Simple
● Architecture neutral
● Object oriented
● Portable
● Distributed
● High performance
● Interpreted
● Multithreaded
● Robust
● Dynamic
● Secure

3 SV COLLEGE OF ENGINEERING, DEPT OF CSE


With most programming languages, you either compile or interpret a program so that you
can run it on your computer. The Java programming language is unusual in that a program is
both compiled and interpreted. With the compiler, first you translate a program into an
intermediate language called Java byte codes —the platform-independent codes interpreted by
the interpreter on the Java platform. The interpreter parses and runs each Java byte code
instruction on the computer. Compilation happens just once; interpretation occurs each time the
program is executed.

The following figure illustrates how this works.

Fig. 3.1 Java Compilation


You can think of Java byte codes as the machine code instructions for the Java Virtual
Machine (JVM). Every Java interpreter, whether it’s a development tool or a Web browser that
can run applets, is an implementation of the JVM. Java byte codes help make “write once, run
anywhere” possible. You can compile your program into byte codes on any platform that has a
Java compiler. The byte codes can then be run on any implementation of the JVM. That means
that as long as a computer has a JVM, the same program written in the Java programming
language can run on Windows 2000, a Solaris workstation, or on an iMac.

4 SV COLLEGE OF ENGINEERING, DEPT OF CSE


Fig. 3.2 Java Programming

The Java Platform

A platform is the hardware or software in which a program runs. We’ve already


mentioned some of the most popular platforms like Windows 2000, Linux, Solaris, and MacOS.
Most platforms can be described as a combination of the operating system and hardware. The
Java platform differs from most other platforms in that it’s a software-only platform that runs on
top of other hardware-based platforms.
The Java platform has two components:
● The Java Virtual Machine (JVM)
● The Java Application Programming Interface (Java API)
Java VM is the base for the Java platform and is ported onto various hardware-based
platforms.
The Java API is a large collection of ready-made software components that provide many
useful capabilities, such as graphical user interface (GUI) widgets. The Java API is grouped into
libraries of related classes and interfaces; these libraries are known as packages.

The following figure depicts a program that’s running on the Java platform. As the figure
shows, the Java API and the virtual machine insulate the program from the hardware.

5 SV COLLEGE OF ENGINEERING, DEPT OF CSE


Fig. 3.3 Program running on Java platform
Native code is code that after you compile it, the compiled code runs on a specific
hardware platform. As a platform-independent environment, the Java platform can be a bit
slower than native code. However, smart compilers, well-tuned interpreters, and just-in-time byte
code compilers can bring performance close to that of native code without threatening
portability.

Java Technology

The most common types of programs written in the Java programming language are
applets and applications. If you’ve surfed the Web, you’re probably already familiar with applets.
An applet is a program that adheres to certain conventions that allow it to run within a Java-
enabled browser.
However, the Java programming language is not just for writing short, entertaining
applets for the Web. The general-purpose, high-level Java programming language is also a
powerful software platform. Using the generous API, you can write many types of programs.
An application is a standalone program that runs directly on the Java platform. A special
kind of application known as a server serves and supports clients on a network. Examples of
servers are
Web servers, proxy servers, mail servers, and print servers. Another specialized program is a
servlet. A servlet can almost be thought of as an applet that runs on the server side. Java Servlets
are a popular choice for building interactive web applications, replacing the use of CGI scripts.
Servlets are similar to applets in that they are runtime extensions of applications. Instead of
working in browsers, though, servlets run within Java Web servers, configuring or tailoring the
server.

6 SV COLLEGE OF ENGINEERING, DEPT OF CSE


The API support all these kinds of programs with packages of software components that
provides a wide range of functionality. Every full implementation of the Java platform gives you
the following features:
● The essentials: Objects, strings, threads, numbers, input and output, data structures,
system properties, date and time, and so on.
● Applets: The set of conventions used by applets.
● Networking: URLs, TCP (Transmission Control Protocol), UDP (User Data gram
Protocol) sockets, and IP (Internet Protocol) addresses.
● Internationalization: Help for writing programs that can be localized for users
worldwide. Programs can automatically adapt to specific locales and be displayed in the
appropriate language.
● Security: Both low level and high level, including electronic signatures, public and
private key management, access control, and certificates.

● Software components: Known as Java BeansTM, can plug into existing component
architectures.
● Object serialization: Allows lightweight persistence and communication via Remote
Method Invocation (RMI).
● Java Database Connectivity (JDBCTM): Provides uniform access to a wide range of
relational databases.
The Java platform also has APIs for 2D and 3D graphics, accessibility, servers,
collaboration, telephony, speech, animation, and more. The following figure depicts what
is included in the Java 2 SDK.

7 SV COLLEGE OF ENGINEERING, DEPT OF CSE


Fig 3.4 Java 2SDK

Java Technology Changes Life

Java programming language is still likely to make our programs better and requires less
effort than other languages. We believe that Java technology will help us do the following:
● Get started quickly: Although the Java programming language is a powerful object-
oriented language, it’s easy to learn, especially for programmers already familiar with C
or C++.
● Write less code: Comparisons of program metrics (class counts, method counts, and so
on) suggest that a program written in the Java programming language can be four times
smaller than the same program in C++.
● Write better code: The Java programming language encourages good coding practices,
and its garbage collection helps you avoid memory leaks. Its object orientation, its
● JavaBeans component architecture, and its wide-ranging, easily extendible API let you
reuse other people’s tested code and introduce fewer bugs.
● Develop programs more quickly: Your development time may be as much as twice as
fast versus writing the same program in C++. Why? You write fewer lines of code and it
is a simpler programming language than C++.
● Avoid platform dependencies with 100% Pure Java: You can keep your program
portable by avoiding the use of libraries written in other languages. The 100% Pure
JavaTM Product Certification Program has a repository of historical process manuals,
white papers, brochures, and similar materials online.
● Write once, run anywhere: Because 100% Pure Java programs are compiled into
machine-independent byte codes, they run consistently on any Java platform.
● Distribute software more easily: You can upgrade applets easily from a central server.
Applets take advantage of the feature of allowing new classes to be loaded “on the fly,”
without recompiling the entire program.

8 SV COLLEGE OF ENGINEERING, DEPT OF CSE


ODBC

Microsoft Open Database Connectivity (ODBC) is a standard programming interface for


application developers and database systems providers. Before ODBC became a de facto
standard for Windows programs to interface with database systems, programmers had to use
proprietary languages for each database they wanted to connect to. Now, ODBC has made the
choice of the database system almost irrelevant from a coding perspective, which is as it should
be. Application developers have much more important things to worry about than the syntax that
is needed to port their program from one database to another when business needs suddenly
change.
Through the ODBC Administrator in Control Panel, you can specify the particular database that
is associated with a data source that an ODBC application program is written to use. Think of an
ODBC data source as a door with a name on it. Each door will lead you to a particular database.
For example, the data source named Sales Figures might be a SQL Server database, whereas the
Accounts Payable data source could refer to an Access database. The physical database referred
to by a data source can reside anywhere on the LAN.
The ODBC system files are not installed on your system by Windows 95. Rather, they are
installed when you setup a separate database application, such as SQL Server Client or Visual
Basic 4.0. When the ODBC icon is installed in Control Panel, it uses a file called
ODBCINST.DLL. It is also possible to administer your ODBC data sources through a stand-
alone program called ODBCADM.EXE.
From a programming perspective, the beauty of ODBC is that the application can be
written to use the same set of function calls to interface with any data source, regardless of the
database vendor. The source code of the application doesn’t change whether it talks to Oracle or
SQL Server.
We only mention these two as an example. There are ODBC drivers available for several
dozen popular database systems. Even Excel spreadsheets and plain text files can be turned into
data sources. The operating system uses the Registry information written by ODBC
Administrator to determine which low-level ODBC drivers are needed to talk to the data source
(such as the interface to Oracle or SQL Server). The loading of the ODBC drivers is transparent
to the ODBC

9 SV COLLEGE OF ENGINEERING, DEPT OF CSE


application program. In a client/server environment, the ODBC API even handles many of the
network issues for the application programmer.
The advantages of this scheme are so numerous that you are probably thinking there must
be some catch. The only disadvantage of ODBC is that it isn’t as efficient as talking directly to
the native database interface. ODBC has had many detractors make the charge that it is too slow.
Microsoft has always claimed that the critical factor in performance is the quality of the driver
software that is used. In our humble opinion, this is true. The availability of good ODBC drivers
has improved a great deal recently. And anyway, the criticism about performance is somewhat
analogous to those who said that compilers would never match the speed of pure assembly
language. Maybe not, but the compiler gives you the opportunity to write cleaner programs,
which means you finish sooner. Meanwhile, computers get faster every year.

JDBC
In an effort to set an independent database standard API for Java; Sun Microsystems
developed Java Database Connectivity, or JDBC. JDBC offers a generic SQL database access
mechanism that provides a consistent interface to a variety of RDBMS. This consistent interface
is achieved through the use of “plug-in” database connectivity modules, or drivers. If a database
vendor wishes to have JDBC support, he or she must provide the driver for each platform that the
database and Java run on.
To gain a wider acceptance of JDBC, Sun based JDBC’s framework on ODBC. As you
discovered earlier in this chapter, ODBC has widespread support on a variety of platforms.
Basing
JDBC on ODBC will allow vendors to bring JDBC drivers to market much faster than
developing a completely new connectivity solution.
JDBC was announced in March of 1996. It was released for a 90 day public review that
ended June 8, 1996. Because of user input, the final JDBC v1.0 specification was released soon
after.

10 SV COLLEGE OF ENGINEERING, DEPT OF CSE


JDBC Goals

Few software packages are designed without goals in mind. JDBC is one that, because of
its many goals, drove the development of the API. These goals, in conjunction with early
reviewer feedback, have finalized the JDBC class library into a solid framework for building
database applications in Java.
The goals that were set for JDBC are important. They will give you some insight as to
why certain classes and functionalities behave the way they do. The eight design goals for JDBC
are as follows:
1. SQL Level API
The designers felt that their main goal was to define a SQL interface for Java. Although
not the lowest database interface level possible, it is at a low enough level for higher-level tools
and APIs to be created. Conversely, it is at a high enough level for application programmers to
use it confidently. Attaining this goal allows for future tool vendors to “generate” JDBC code and
to hide many of JDBC’s complexities from the end user.
2. SQL Conformance
SQL syntax varies as you move from database vendor to database vendor. In an effort to
support a wide variety of vendors, JDBC will allow any query statement to be passed through it
to the underlying database driver. This allows the connectivity module to handle non-standard
functionality in a manner that is suitable for its users.
1. JDBC must be implemental on top of common database interfaces
2. Provide a Java interface that is consistent with the rest of the Java system
3. Keep it simple
4. Use strong, static typing wherever possible
5. Keep the common cases simple

Finally we decided to proceed the implementation using Java Networking. And for
dynamically updating the cache table we go for MS Access database.

11 SV COLLEGE OF ENGINEERING, DEPT OF CSE


Java is also unusual in that each Java program is both compiled and interpreted. With a
compile you translate a Java program into an intermediate language called Java byte codes the
platform-independent code instruction is passed and run on the computer.

Compilation happens just once; interpretation occurs each time the program is
executed. The figure illustrates how this works.

Java Program
Fig 3.5 Working of Java Program

You can think of Java byte codes as the machine code instructions for the Java
Virtual Machine (Java VM). Every Java interpreter, whether it’s a Java development
tool or a Web browser that can run Java applets, is an implementation of the Java VM.
The Java VM can also be implemented in hardware.

Java byte codes help make “write once, run anywhere” possible. You can
compile your Java program into byte codes on my platform that has a Java compiler.
The byte codes can then be run any implementation of the Java VM. For example, the
same Java program can run Windows NT, Solaris, and Macintosh.

4. FEASIBILITY STUDY

The feasibility of the project is analyzed in this phase and business proposal is put forth
with a very general plan for the project and some cost estimates. During system analysis the
feasibility study of the proposed system is to be carried out. This is to ensure that the proposed

12 SV COLLEGE OF ENGINEERING, DEPT OF CSE


system is not a burden to the company. For feasibility analysis, some understanding of the major
requirements for the system is essential.

Three key considerations involved in the feasibility analysis are


1. Technical Feasibility
2. Operational Feasibility
3. Economical Feasibility
4.1 TECHNICAL FEASIBILITY
This study is carried out to check the technical feasibility, that is, the technical requirements
of the system. Any system developed must not have a high demand on the available technical
resources. This will lead to high demands on the available technical resources. This will lead to
high demands being placed on the client. The developed system must have a modest
requirement, as only minimal or null changes are required for implementing this system.
4.2 OPERATIONAL FEASIBILITY
The aspect of study is to check the level of acceptance of the system by the user. This
includes the process of training the user to use the system efficiently. The user must not feel
threatened by the system, instead must accept it as a necessity. The level of acceptance by the
users solely depends on the methods that are employed to educate the user about the system and
to make him familiar with it. His level of confidence must be raised so that he is also able to
make some constructive criticism, which is welcomed, as he is the final user of the system.
4.3 ECONOMICAL FEASIBILITY
This study is carried out to check the economic impact that the system will have on the
organization. The amount of fund that the company can pour into the research and development
of the system is limited. The expenditures must be justified. Thus the developed system as well
within the budget and this was achieved because most of the technologies used are freely
available. Only the customized products had to be purchased.

13 SV COLLEGE OF ENGINEERING, DEPT OF CSE


5. SYSTEM ANALYSIS

5.1 EXISTING SYSTEM

With each new generation of communication technologies, the control data and network
performance measurements in the operation and maintenance (O&M) subsystem grow in both
volume and speed. A larger number of users and quantity of transferred data means a larger
amount of measurements. In addition, the higher demand for quality and larger bandwidths
pushes for a faster rate of generation and consumption of these data. Downtimes due to problems
that are not solved quickly or incorrect optimization cause a high opportunity cost and increased
overall operation and maintenance costs.
Troubleshooting Procedure
The manual troubleshooting workflow has four main subtasks.
● Detection: The process of determining that there is a problem in the network, and
pinpointing the element or elements that are affected. To do this, troubleshooting
engineers will usually monitor a much reduced set of a problem.
● Diagnosis: Once the problematic elements have been determined, troubleshooting
engineers must find out the root cause (i.e., why they are failing). The study of low-level
indicators, as well as logs or event records may help in the determination of the root
cause. In some cases, active measurements are taken, such as drive tests.
● Compensation: The troubleshooting process may take anywhere between minutes to
several days. Therefore, it is important to redirect the resources of the network
temporarily to give service to the users in the affected area.
● Recovery: Once the root cause is known, the required actions to fix it are taken. These
actions range from simple resets or configuration changes that can be ordered remotely,
to hardware fixes or replacements that need on-site repairs. The recovery action may or
may not solve a problem, so the results of the action are taken into account on subsequent
repetitions of the diagnosis subtask.

5.1.1 Drawbacks in Existing System


● As the data increase the network performance will decrease
● Data maintenance problem

14 SV COLLEGE OF ENGINEERING, DEPT OF CSE


● Incorrect optimization of data

5.2 PROPOSED SYSTEM


When data largely increase, traditional processing techniques have very poor
performance. The big data paradigm deals with this type of dataset by applying new techniques
that exploit the latest hardware and software innovations. In particular, self-healing is reframed
as a big data problem, and some specific requirements for the development of big-data-compliant
self-healing functions are proposed.
Self-healing algorithms are usually implemented using knowledge-based systems (KBSs)
that imitate the process of human experts in order to accomplish a task. KBSs are algorithms
composed of two parts:
Knowledge base (KB): A codified representation of the field knowledge, that is, the knowledge
that the experts need in order to complete the task. To generate and improve the KB, a
continuous data mining (DM) process is run in the batch layer;
Inference engine (IE): The procedures that use the KB in order to complete the task. The IE
conforms to the speed layer. Some KBSs that have been previously used in troubleshooting are
fuzzy logic or Bayesian networks .It is important to follow the guidelines of big data when
designing these implementations (i.e., creating parallelizable algorithms). For an algorithm to be
parallelizable, its design must guarantee that the final result is the same when it is run as a single
process and when the task is divided among multiple instances.

5.2.1 Advantages of proposed system


● The nature of alarms is varied, such as software errors or hardware integrity problems.
● These parameters regulate the network operation, so they are important information
sources for better understanding how the events affect the network performance.
● Each call trace contains registers (e.g., counters and alarms) and measurements related to
a specific connection between user equipment (UE) and the network.
● In this article, self-healing is reframed as a big data problem, and some specific
requirements for the development of big-data-compliant self-healing functions are
proposed.

15 SV COLLEGE OF ENGINEERING, DEPT OF CSE


6. SYSTEM DESIGN

System Design is the most crucial phase in the development of a project. The purpose of
the system design is to define the required architecture, necessary components, needed modules,
suitable interfaces and the essential data for a system to satisfy the requirements that are in the
specification. Sometimes it can be viewed as the application of systems theory to development of
the product. There is an overlap with the various disciplines of the system analysis such as
systems architecture and systems engineering. Systems design is consequently the process of
defining and developing the systems that must satisfy all the requirements that are specified by
the user
6.1 ARCHITECTURAL DESIGN

Fig.6.1.Architecture

6.2 USE CASE DIAGRAMS

16 SV COLLEGE OF ENGINEERING, DEPT OF CSE


A use case diagram in the Unified Modeling Language (UML) is a type of behavioral
diagram defined by and created from a Use-case analysis. Its purpose is to present a graphical
overview of the functionality provided by a system in terms of actors, their goals (represented as
use cases), and any dependencies between those use cases. The main purpose of a use case
diagram is to show what system functions are performed for which actor. Roles of the actors in
the system can be depicted.
6.2.1 Class Diagram
Overview:

The class diagram is a static diagram. It represents the static view of an application. Class
diagram is not only used for visualizing, describing and documenting different aspects of a
system but also for constructing executable code of the software application.

The class diagram describes the attributes and operations of a class and also the
constraints imposed on the system. The class diagrams are widely used in the modelling of object
oriented systems because they are the only UML diagrams which can be mapped directly with
object oriented languages.

The class diagram shows a collection of classes, interfaces, associations, collaborations


and constraints. It is also known as a structural diagram.

Purpose:

The purpose of the class diagram is to model the static view of an application. The class
diagrams are the only diagrams which can be directly mapped with object oriented languages and
thus widely used at the time of construction.

The UML diagrams like activity diagram, sequence diagram can only give the sequence
flow of the application but class diagram is a bit different. So it is the most popular UML
diagram in the coder community.

The purpose of the class diagram can be summarized as:

17 SV COLLEGE OF ENGINEERING, DEPT OF CSE


● Analysis and design of the static view of an application.
● Describe responsibilities of a system.
● Base for component and deployment diagrams.
● Forward and reverse engineering.

Fig.6.2 Class Diagram

6.2.2 Use case Diagram


Overview:

To model a system the most important aspect is to capture the dynamic behaviour. To
clarify a bit in details, dynamic behaviour means the behaviour of the system when it is running
or operating.

18 SV COLLEGE OF ENGINEERING, DEPT OF CSE


So only static behaviour is not sufficient to model a system rather dynamic behaviour is
more important than static behaviour. In UML there are five diagrams available to model
dynamic nature and use case diagram is one of them. Now as we have to discuss that the use case
diagram is dynamic in nature there should be some internal or external factors for making the
interaction.

These internal and external agents are known as actors. So use case diagrams are consists
of actors, use cases and their relationships. The diagram is used to model the system/subsystem
of an application. A single use case diagram captures a particular functionality of a system.

So to model the entire system numbers of use case diagrams are used.

Purpose:

The purpose of use case diagram is to capture the dynamic aspect of a system. But this
definition is too generic to describe the purpose.

Use case diagrams are used to gather the requirements of a system including internal and
external influences. These requirements are mostly design requirements. So when a system is
analyzed to gather its functionalities use cases are prepared and actors are identified.

Now when the initial task is complete use case diagrams are modelled to present the
outside view.

So in brief, the purposes of use case diagrams can be as follows:

● Used to gather requirements of a system.

● Used to get an outside view of a system.

● Identify external and internal factors influencing the system.

● Show the interacting among the requirements are actors.

19 SV COLLEGE OF ENGINEERING, DEPT OF CSE


Fig.6.3 Use Case Diagram

6.2.3 Sequence Diagram

Overview:

This interactive behaviour is represented in UML by two diagrams known as Sequence


diagram and Collaboration diagram. The basic purposes of both the diagrams are similar.

Sequence diagram emphasizes on time sequence of messages and collaboration diagram


emphasizes on the structural organization of the objects that send and receive messages.

Purpose:

The purposes of interaction diagrams are to visualize the interactive behaviour of the
system. Now visualizing interaction is a difficult task. So the solution is to use different types of
models to capture the different aspects of the interaction.

20 SV COLLEGE OF ENGINEERING, DEPT OF CSE


That is why sequence and collaboration diagrams are used to capture dynamic nature but
from a different angle.

So the purposes of interaction diagram can be describes as:

● To capture dynamic behaviour of a system.

● To describe the message flow in the system.

● To describe structural organization of the objects.

● To describe interaction among objects.

21 SV COLLEGE OF ENGINEERING, DEPT OF CSE


Fig.6.4 Sequence Diagram

6.2.4 Collaboration Diagram

22 SV COLLEGE OF ENGINEERING, DEPT OF CSE


Fig.6.5 Collaboration Diagram

6.2.5 State chart Diagram


Overview:
The name of the diagram itself clarifies the purpose of the diagram and other details. It
describes different states of a component in a system. The states are specific to a
component/object of a system.

23 SV COLLEGE OF ENGINEERING, DEPT OF CSE


A State chart diagram describes a state machine. Now to clarify it state machine can be
defined as a machine which defines different states of an object and these states are controlled by
external or internal events.

Activity diagram explained in next chapter, is a special kind of a State chart diagram. As
State chart diagram defines states it is used to model lifetime of an object.

Purpose:

State chart diagram is one of the five UML diagrams used to model dynamic nature of a
system. They define different states of an object during its lifetime. And these states are changed
by events. So State chart diagrams are useful to model reactive systems. Reactive systems can be
defined as a system that responds to external or internal events.

State chart diagram describes the flow of control from one state to another state. States
are defined as a condition in which an object exists and it changes when some event is triggered.
So the most important purpose of State chart diagram is to model life time of an object from
creation to termination.

State chart diagrams are also used for forward and reverse engineering of a system. But
the main purpose is to model reactive system.

Following are the main purposes of using State chart diagrams:

● To model dynamic aspect of a system.

● To model life time of a reactive system.

● To describe different states of an object during its life time.

● Define a state machine to model states of an object.

24 SV COLLEGE OF ENGINEERING, DEPT OF CSE


Fig.6.6 State Chart Diagram

6.2.6 Activity Diagram


Overview:
Activity diagram is another important diagram in UML to describe dynamic aspects of
the system.

Activity diagram is basically a flow chart to represent the flow form one activity to
another activity. The activity can be described as an operation of the system.So the control flow
is drawn from one operation to another. This flow can be sequential, branched or concurrent.

25 SV COLLEGE OF ENGINEERING, DEPT OF CSE


Activity diagrams deals with all type of flow control by using different elements like fork, join
etc.

Purpose:

The basic purposes of activity diagrams are similar to other four diagrams. It captures the
dynamic behaviour of the system. Other four diagrams are used to show the message flow from
one object to another but activity diagram is used to show message flow from one activity to
another.

Activity is a particular operation of the system. Activity diagrams are not only used for
visualizing dynamic nature of a system but they are also used to construct the executable system
by using forward and reverse engineering techniques. The only missing thing in activity diagram
is the message part.

It does not show any message flow from one activity to another. Activity diagram is some
time considered as the flow chart. Although the diagrams looks like a flow chart but it is not. It
shows different flow like parallel, branched, concurrent and single.

So the purposes can be described as:

● Draw the activity flow of a system.

● Describe the sequence from one activity to another.

● Describe the parallel, branched and concurrent flow of the system.

26 SV COLLEGE OF ENGINEERING, DEPT OF CSE


Fig.6.7 Activity Diagram

6.2.7 Component Diagram


Overview:

Component diagrams are different in terms of nature and behaviour. Component


diagrams are used to model physical aspects of a system.

27 SV COLLEGE OF ENGINEERING, DEPT OF CSE


Physical aspects are the elements like executables, libraries, files, documents etc., which
resides in a node.So component diagrams are used to visualize the organization and relationships
among components in a system. These diagrams are also used to make executable systems.

Purpose:

Component diagram is a special kind of diagram in UML. The purpose is also different
from all other diagrams discussed so far. It does not describe the functionality of the system but it
describes the components used to make those functionalities.

So from that point component diagrams are used to visualize the physical components in
a system. These components are libraries, packages, files etc.

Component diagrams can also be described as a static implementation view of a system.


Static implementation represents the organization of the components at a particular moment.

A single component diagram cannot represent the entire system but a collection of
diagrams are used to represent the whole.

So the purpose of the component diagram can be summarized as:

● Visualize the components of a system.

● Construct executables by using forward and reverse engineering.

● Describe the organization and relationships of the components.

28 SV COLLEGE OF ENGINEERING, DEPT OF CSE


Fig.6.8 Component Diagram

6.2.8 Deployment Diagram


Overview:

Deployment diagrams are used to visualize the topology of the physical components of a
system where the software components are deployed.

So deployment diagrams are used to describe the static deployment view of a system.
Deployment diagrams consist of nodes and their relationships.

29 SV COLLEGE OF ENGINEERING, DEPT OF CSE


Purpose:

The name Deployment itself describes the purpose of the diagram. Deployment diagrams
are used for describing the hardware components where software components are deployed.
Component diagrams and deployment diagrams are closely related.

Component diagrams are used to describe the components and deployment diagrams
shows how they are deployed in hardware.

UML is mainly designed to focus on software artifacts of a system. But these two
diagrams are special diagrams used to focus on software components and hardware components.

So most of the UML diagrams are used to handle logical components but deployment
diagrams are made to focus on hardware topology of a system. Deployment diagrams are used by
the system engineers.

The purpose of deployment diagrams can be described as:

● Visualize hardware topology of a system.

● Describe the hardware components used to deploy software components.

● Describe runtime processing nodes.

30 SV COLLEGE OF ENGINEERING, DEPT OF CSE


Fig.6.9 Deployment Diagram

7. SYSTEM IMPLEMENTATION

31 SV COLLEGE OF ENGINEERING, DEPT OF CSE


When the theoretical design is converted into a working system then the project is in
implementation stage. It is most significant stage in realizing a successful new system and in
generous the user, self-assurance that the latest system will work and be efficient. The
implementation of project involves vigilant planning, study of the existing system and its
limitations on implementation, scheming of new methods to achieve substitution and estimation
of substituted methods.
7.1 IMPLEMENTATION PROCESS
7.1.1 SHMN Algorithm:
INPUT
US-> User Session
OUTPUT
R-> Result
BEGIN
Step 1: User begin
Step 2: User initialize ->Base Station
Step 3: Base Station request faults :: Performance Management
Step 4: Performance Management calculates Performance Indicator and forward ->Base
Station
Step 5: Base Station request faults :: Fault Management
Step 6: Fault Management calculates Key Performance Indicator and forward ->Base
Station
Step 7: Base Station request faults :: Configuration Management
Step 8: Configuration Management calculates Configuration Performance Indicator and
forward ->Base Station
Step 9: Base Station classify and update cluster
Step 10: Cluster find self-healing and forward request engineering action ( R ) ->User Session
END

7.1.2 MODULES
1. Performance Management Metrics
2. Fault Management Alarms

32 SV COLLEGE OF ENGINEERING, DEPT OF CSE


3. Configuration Management Parameters
Modules Description
Performance Management Metrics:
Each Base Station keeps an array of counters that increase with specific events, such as
established or dropped connections. These counters are accumulated over a variable time period
known as the report output period (ROP). Other measurements are also taken and averaged
during this time interval, such as the received power.
Fault Management Alarms:
Along with the counters, Base Station monitor specific problematic events. The
occurrence of these events is registered in a binary indicator (i.e., the alarm). The nature of
alarms is varied, such as software errors or hardware integrity problems.
Configuration Management Parameters:
The configuration management (CM) parameters of each Base Station are adjusted by the
engineers or Self Organizing Network functions. These parameters regulate the network
operation, so they are important information sources for better understanding how the events
affect the network performance.

8. TESTING

The purpose of testing is to discover errors. Testing is the process of trying to discover
every conceivable fault or weakness in a work product. It provides a way to check the
functionality of components, sub-assemblies, assemblies and/or a finished product .It is the
process of exercising software with the intent of ensuring that the software system meets its

33 SV COLLEGE OF ENGINEERING, DEPT OF CSE


requirements and user expectations and does not fail in an unacceptable manner. There are
various types of test. Each test type addresses a specific testing requirement.
TYPES OF TESTS

Fig: 8.1 Levels of Testing


8.1 UNIT TESTING
Unit testing involves the design of test cases that validate that the internal program logic
is functioning properly, and that program inputs produce valid outputs. All decision branches and
internal code flow should be validated. It is the testing of individual software units of the
application .it is done after the completion of an individual unit before integration. This is a
structural testing, that relies on knowledge of its construction and is invasive. Unit tests perform
basic tests at component level and test a specific business process, application, and/or system
configuration. Unit tests ensure that each unique path of a business process performs accurately
to the documented specifications and contains clearly defined inputs and expected results.
8.2 INTEGRATION TESTING
Integration tests are designed to test integrated software components to determine if they
actually run as one program. Testing is event driven and is more concerned with the basic
outcome of screens or fields. Integration tests demonstrate that although the components were
individually satisfaction, as shown by successfully unit testing, the combination of components is
correct and consistent. Integration testing is specifically aimed at exposing the problems that
arise from the combination of components.

34 SV COLLEGE OF ENGINEERING, DEPT OF CSE


8.3 FUNCTIONAL TESTING
Functional tests provide systematic demonstrations that functions tested are available as
specified by the business and technical requirements, system documentation, and user manuals.
Functional testing is centered on the following items:
Valid Input : identified classes of valid input must be accepted.
Invalid Input : identified classes of invalid input must be rejected.
Functions : identified functions must be exercised.
Output : identified classes of application outputs must be exercised.
Systems/Procedures: interfacing systems or procedures must be invoked.
Organization and preparation of functional tests is focused on requirements, key
functions, or special test cases. In addition, systematic coverage pertaining to identify Business
process flows; data fields, predefined processes, and successive processes must be considered for
testing. Before functional testing is complete, additional tests are identified and the effective
value of current tests is determined.

8.4 SYSTEM TEST


System testing ensures that the entire integrated software system meets requirements. It
tests a configuration to ensure known and predictable results. An example of system testing is the
configuration oriented system integration test. System testing is based on process descriptions
and flows, emphasizing pre-driven process links and integration points.
8.4.1 White Box Testing
White Box Testing is a testing in which in which the software tester has knowledge of the
inner workings, structure and language of the software, or at least its purpose. It is purpose. It is
used to test areas that cannot be reached from a black box level.
8.4.2 Black Box Testing
Black Box Testing is testing the software without any knowledge of the inner workings,
structure or language of the module being tested. Black box tests, as most other kinds of tests,
must be written from a definitive source document, such as specification or requirements
document, such as specification or requirements document. It is a testing in which the software

35 SV COLLEGE OF ENGINEERING, DEPT OF CSE


under test is treated, as a black box .you cannot “see” into it. The test provides inputs and
responds to outputs without considering how the software works.

Figure: 8.2 Black Box Testing

8.5 ACCEPTANCE TESTING


User Acceptance Testing is a critical phase of any project and requires significant
participation by the end user. It also ensures that the system meets the functional requirements.
Test Results: All the test cases mentioned above passed successfully. No defects
encountered.

36 SV COLLEGE OF ENGINEERING, DEPT OF CSE


9. SAMPLE SOURCE CODE

LOGIN:
<style type="text/css">
input {
width: 125px;
font-family: Verdana;
font-size: 8pt;
}
</style>
</head>
<body bgcolor="#F4FFE4">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr bgcolor="#D5EDB3">
<td height="51" style="text-align:center;" colspan="2" bgcolor="#0D4961"><img
src="images/Legal Management System11.jpg" alt="s" width="1000" height="139" /></td>
</tr>
<tr>
<td colspan="2" bgcolor="#5C743D"><img src="images/mm_spacer.gif" alt="" width="1"
height="2" border="0" /></td>
</tr>

<tr>
<td height="10" colspan="2" bgcolor="#000000">&nbsp;</td>
</tr>
<tr>
<td width="100%" height="30px;" style="padding:10px;font-size:30px;" align="center"
valign="top" bgcolor="#DCDCDC">Login
<table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#DCDCDC">
</table>

37 SV COLLEGE OF ENGINEERING, DEPT OF CSE


</td>
</tr>
<form name="form1" method="POST" action="loginHandler.jsp">
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse"
bordercolor="#111111" width="100%" id="AutoNumber1">
<tr style="height:30px;vertical-align:center;">
<td width="25%">&nbsp;</td>
<td width="25%"><font color="black"><b>User Name</b></font></td>
<td width="25%"><b><input type="text" name="txtUser" size="20"></b></td>
<td width="25%">&nbsp;</td>
</tr>
<tr style="height:30px;vertical-align:center;">
<td width="25%">&nbsp;</td>
<td width="25%"><font color="black"><b>Password</b></font></td>
<td width="25%"><b><input type="password" name="txtPass" size="20"></b></td>
<td width="25%">&nbsp;</td>
</tr>
<tr>
<td width="25%">&nbsp;</td>
<td width="25%"><b><input style="float:right;" type="submit" value="Login"
name="B1"OnClick='f1()'></b></td>&nbsp;&nbsp;
<td width="25%"><b><input style="margin-left:20px;" type="reset" value="Reset"
name="B2"></b></td>
<td width="25%">&nbsp;</td>
</tr>
</table>
</form>
<script language='javaScript'>
function f1()
{

38 SV COLLEGE OF ENGINEERING, DEPT OF CSE


if(form1.txtUser.value=="")
{
alert("user name must be entered");
return;
}
if(form1.txtPass.value=="")
{
alert("password must be entered");
return;
}
form1.submit();
}
</script>
<tr>
<td height="25" colspan="2" bgcolor="#0D4961" align="center"><font color="#ffffff"><span
class="style1">&copy;All rights reserved</span></font></td>
</tr>
</table>
</body>
</html>

LOGIN HANDLER:
<html><head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">

39 SV COLLEGE OF ENGINEERING, DEPT OF CSE


<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>New Page 1</title>
</head>
<body>
<%@page import='java.sql.*'%>
<jsp:useBean id="db" class="honey.DBConnection" scope="application"/>
<%
String adminid=request.getParameter("txtUser");
String pass=request.getParameter("txtPass");
try{
Connection con=db.getConnection();
PreparedStatement ps=con.prepareStatement("select * from users where userid=?");
ps.setString(1,pass);
ResultSet rs=ps.executeQuery();
if(rs.next())
{
out.println("OK");
}
else
{
out.println("Sorry");
}
}catch(Exception ex){out.println(ex.getMessage());}
%>
</body>
</html>
HOME USER:
<html>
<head>

40 SV COLLEGE OF ENGINEERING, DEPT OF CSE


<title>New Page 1</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<frameset rows="200,*" framespacing="0" border="0" frameborder="0">
<frame name="banner" scrolling="no" target="contents" src="Homeu.html">
<frameset cols="150,*">
<frame name="contents" target="main" src="contents.htm">
<frame name="main" scrolling="auto">
</frameset>
<noframes>
<body>
<p>This page uses frames, but your browser doesn't support them.</p>
</body>
</noframes>
</frameset>
</html>
CONTENTS:
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Users</title>
<base target="main">
<!--<link href="style.css" rel="stylesheet" type="text/css" />-->
</head>
<body bgcolor="#F4FFE4">
<p>&nbsp;</p>
<p>&nbsp;</p>

41 SV COLLEGE OF ENGINEERING, DEPT OF CSE


<p>&nbsp;</p>
<!--<p><b><a target="main" href="userForm.jsp">Users Registration</a></b></p>-->
<p><b><a href="LoadKnowledge.jsp">Upload Data Item</a></b></p>
<p><b><a href="kcenter.jsp">Data in Cells</a></b></p>
<p><b><a href="hchain.jsp">Configuration Manager</a></b></p>
<p><b><a href="search.jsp">Resolve Data</a></b></p>
<!------<p><b><a href="catForm.jsp">Categories</a></b></p>---->
<p><b><a href="Logout.jsp" target="_top">Logout</a></b></p>
<p>&nbsp;</p>
</body></html>
LOGOUT:
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta name="GENERATOR" content="Microsoft FrontPage 6.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Logout to Upload Site</title>
</head>
<!--<link href="style.css" rel="stylesheet" type="text/css" />-->
<body bgcolor="#F4FFE4">
<form method="POST" action="LoginHandler.jsp">
<p align="center">&nbsp;
</p><p align="center">
<b><font size="6" color="black">Logout </font></b></p>
<p>&nbsp;<p>
<font color="black" size="4">User loggedout </font>
</form>
<p>
<a target="_top" href="Logon.jsp">Logon</a></p>

42 SV COLLEGE OF ENGINEERING, DEPT OF CSE


</body>
</html>

10. SCREEN LAYOUTS

SCREEN LAYOUT 1 : Login page


DESCRIPTION:
In this login page user should enter the valid user name and password to enter into his account.

43 SV COLLEGE OF ENGINEERING, DEPT OF CSE


SCREEN LAYOUT 2 : User Registration form
DESCRIPTION:
New user can create an account by clicking on the New User? Sign Up! Button. To register user
has to fill all the required fields with valid data and submit the form. For example consider we
are registering with a new user as shown below.

44 SV COLLEGE OF ENGINEERING, DEPT OF CSE


SCREEN LAYOUT 3 : Login into the page with registered new user
DESCRIPTION:
We have successfully registered with new user. So, Login in with new user.

45 SV COLLEGE OF ENGINEERING, DEPT OF CSE


SCREEN LAYOUT 4 : Home page
DESCRIPTION:
After the successful login to his account the user will get his profile contents in the Home page.

46 SV COLLEGE OF ENGINEERING, DEPT OF CSE


SCREEN LAYOUT 5 : Upload data item
DESCRIPTION:
User can upload his data in Upload Data Item. Choose a file to upload and give a cell id. Data
types with *.exe, *.dll are not accepted by the PSC-Data center.

47 SV COLLEGE OF ENGINEERING, DEPT OF CSE


SCREEN LAYOUT 6 : Submit the uploaded file
DESCRIPTION:
The uploaded file will be stored in cloud server. It displays a message to the user “your
sponsorship is Accepted and the file is placed in the Cloud Server.

48 SV COLLEGE OF ENGINEERING, DEPT OF CSE


SCREEN LAYOUT 7 : Data in cells
DESCRIPTION:
User can access all his uploaded files from Data in cells.

49 SV COLLEGE OF ENGINEERING, DEPT OF CSE


SCREEN LAYOUT 8 : Open the uploaded File
DESCRIPTION:
User can open his file by clicking on selected file name. For example consider y.txt file. User can
view the data present in the file.

50 SV COLLEGE OF ENGINEERING, DEPT OF CSE


SCREEN LAYOUT 9 : Open uploaded file from Cloud server
DESCRIPTION:
Uploaded file will be stored in Cloud Server. Select the uploaded file and we can view the data
present in it.

51 SV COLLEGE OF ENGINEERING, DEPT OF CSE


SCREEN LAYOUT 10 : Modify and save the data in the file
DESCRIPTION:
Modify and save the data of the selected file present in the cloud server. The actual data that is
uploaded by the user will be corrupted.

52 SV COLLEGE OF ENGINEERING, DEPT OF CSE


SCREEN LAYOUT 11 : Open the file
DESCRIPTION:
User can open his file by clicking on selected file name (corrupted file). For example consider
y.txt file.

53 SV COLLEGE OF ENGINEERING, DEPT OF CSE


SCREEN LAYOUT 12 : Fault Manager detected
DESCRIPTION:
Fault Manager detected as the actual data that is uploaded by the user is been modified in the
cloud store. It displays a message that data is damaged and self-healing may be possible. Click
on Initiate self-healing and recover Data Item y.txt.

54 SV COLLEGE OF ENGINEERING, DEPT OF CSE


SCREEN LAYOUT 13 : Self-healing
DESCRIPTION:
If self-healing is possible it recovers the data present in the file to the original uploaded data and
says Recovered Successfully.

55 SV COLLEGE OF ENGINEERING, DEPT OF CSE


SCREEN LAYOUT 14 : Engineer Action
DESCRIPTION:
If self-healing is not possible it requests Engineer action by displaying a message “Sorry, self-
healing is not possible, and Item recovery not successful needs engineer action”.

56 SV COLLEGE OF ENGINEERING, DEPT OF CSE


SCREEN LAYOUT 15 : It is successfully recovered
DESCRIPTION:
Now open the recovered file from the Data in cells. The corrupted file is successfully recovered
and user can view his data in the file.

57 SV COLLEGE OF ENGINEERING, DEPT OF CSE


SCREEN LAYOUT 16 : Configuration Manager
DESCRIPTION:
User can view all his uploaded files with their corresponding cell names and document numbers
in the Configuration Manager.

58 SV COLLEGE OF ENGINEERING, DEPT OF CSE


SCREEN LAYOUT 17 : Resolve Data
DESCRIPTION:
User can search a file in the Resolve Data by using their cell names. Example consider user is
searching for cell-vii.

59 SV COLLEGE OF ENGINEERING, DEPT OF CSE


SCREEN LAYOUT 18 : Data Center
DESCRIPTION:
When the user searches for cell-vii it displays all the files that are uploaded into that cell name
with date, sponsored user name, data file and data signature.

60 SV COLLEGE OF ENGINEERING, DEPT OF CSE


SCREEN LAYOUT 19: Log Out
DESCRIPTION:
User can log out by using the link Logout.

61 SV COLLEGE OF ENGINEERING, DEPT OF CSE


11. CONCLUSION AND FUTURE ENHANCEMENT

CONCLUSION

Automation of the operation and maintenance of mobile networks is a need for mobile
operators due to several forces driving costs up: increased traffic volume, variety of services,
number of subscribers, demand for Quality of Service, and competitiveness among operators.

62 SV COLLEGE OF ENGINEERING, DEPT OF CSE


Modern networks (especially LTE and the future 5G networks) produce large volumes of
operation and maintenance data, which contain the information needed for the self-healing
functions that operators need. In fact, the volume of this data, along with the variety and time
restrictions, calls for the use of the big data paradigm. Big data is a set of new techniques that
exploit the ever increasing processing power of computer networks. Specifically, in this article,
the main focus is parallelization. Several use cases have been displayed as examples where data
processing algorithms can extract information contained in big-data-compliant data sources. In
order for these algorithms to work properly, small modifications have been proposed in order to
run the algorithm in parallel processes that do not interfere with each other.

FUTURE ENHANCEMENT

In future work, in order to further test the proposed solutions of the use cases, they can be
implemented using the commercially available big data processing solutions.

12. BIBLIOGRAPHY

REFERENCES

● NGMN, Use Cases Related to Self-Organizing Network, Overall Description, Apr. 2007.
● 3GPP, “Telecommunication Management; Self-Organizing Networks (SON); Self-
Healing Concepts and Requirements,” Rel. 11, TS 32.541.
● R. Barco, P. Lázaro, and P. Muñoz, “A Unified Framework for Self-Healing in Wireless
Networks,” IEEE Commun. Mag., vol. 50, no. 12, Dec. 2012,pp. 134–42.
● E. J. Khatib et al., “Data Mining for Fuzzy Diagnosis Systems in LTE Networks, ”Expert
Systems with Applications, vol. 42, no. 21, 2015, pp. 7549–59.

63 SV COLLEGE OF ENGINEERING, DEPT OF CSE


● N. Baldo, L. Giupponi, and J. Mangues-Bafalluy, “Big Data Empowered Self Organized
Networks,” Proc. Euro. Wireless 2014, VDE, 2014, pp. 1–8.
● E. J. Khatib et al., “LTE Performance Data Reduction for Knowledge Acquisition,” Proc.
GLOBECOM Wksps., Dec. 2014, pp. 270–74.
● I. de la Bandera et al., “Cell Outage Detection Based on Handover Statistics ”IEEE
Commun. Lett., vol. 19, no. 7, 2015, pp. 1189–92.
● P. Muñoz et al., “Fault Diagnosis in Networks,” Patent 4 24, 2015.

64 SV COLLEGE OF ENGINEERING, DEPT OF CSE