Saturday, 26 April 2014

Big Data in Network Management

Data is growing every day in all the domains, it is applicable for Telecom also. NMS/OSS/BSS systems need to handle huge number of devices and data to meet the business requirements of CSPs.

Webopedia says,
Big data is a buzzword, or catch-phrase, used to describe a massive volume of both structured and unstructured data that is so large that it's difficult to process using traditional database and software techniques. In most enterprise scenarios the data is too big or it moves too fast or it exceeds current processing capacity.

According to IBM, the following are the top 5 high value use cases that can be the first step to BIG DATA:

1. Big Data Exploration:
Find, visualize, understand all big data to improve decision making.

2. Enhanced 360 degree view of the customer:
Extend existing customer views by incorporating additional internal and external information source.

3. Security/Intelligence Extension:
Lower risk, detect fraud and monitor cyber security in real time.

4. Operational Analysis:
Analyze a variety of machine and operational data for improved business results.

5. Data Warehouse Modernization:
Integrate big data and data warehouse capabilities to increase operational efficiency.

Therefore, BIG DATA = $$$$$

Why do you need Big Data in Network Management field?

In FCAPS model ‘P’ stands for Performance & BIG DATA plays a vital role in this bucket.
Imagine your NMS/OSS systems are managing thousands of devices, when you have to read thousands of PM counter data from these devices, you need to persist & perform some analysis near real time. And of course, the volume of data over a period of time is going to grow from GB to TB or may even to PB (depends on your PM functional requirements though). If you need to build a scalable management system, apart from Architecture, design and various others factors, DB layer should also be given a high priority for storage.
Many Telco vendors are building Big Data Analytics product which would ingest data from legacy OSS/BSS/NMS data source and perform Analytics and help CSP for better business.






Why can’t you achieve it with traditional databases?

No, Big Data framework is not intended for a traditional business solutions and rather a flexible framework for custom point solutions. A RDBMS, on the other hand, is intended to store and manage data and provide access for a wide range of users, Structure, Parallel processing, Nodes of Cluster ranging from hundreds to thousands.

For example, If you are using Oracle Database at your back-end of NMS/OSS, you can have a hybrid solution of using Oracle also with Hadoop with the help of Oracle Grid Engine.  It all depends on your need, you either use Hadoop with a single node or multiple nodes in a cluster based on your scalability needs (focusing only on the data here).

In traditional Database systems, you will be storing the huge data in multiple servers using Grids. For NMS/OSS there is no problem of storing the data for years in multiple servers, but the real problem lies in 'READ'ing the 'Unstructured' data for analysis. Big Data framework gives you that!!


Which Big data framework to be picked?

I have heard of Hadoop only, but there are many. Please check the following link.
So the answer is : It depends on your requirement.  

Wikipedia says,

Apache Hadoop is an open-source software framework for storage and large-scale processing of data-sets on clusters of commodity hardware. Hadoop is an Apache top-level project being built and used by a global community of contributors and users.It is licensed under the Apache License 2.0.


What should be done in NMS/OSS?

Any large scale NMS/OSS should support Big Data in the Database layer for supporting huge number of network elements. Wait, it not only depends on number of network elements, it’s all about the amount of data is stored and read for processing. There are many NMS solutions out there which adds sophiscated NETWORK PERFORMANCE ANALYSIS AND OPTIMIZATION tools which are very critical business applications for a CSP embedded as part of their management solution. Those vendors need to get their setup into BIG DATA !! 
Note: Performance Analysis falls under Service Management Layer



What will Network Performance Analyzer do with Big Data?

Storing of performance measurement counter data and performing historical aggregation are really important for trend analysis. This would help to identity QoS in the overall network, Traffic hot spots, call drops, coverage losses etc..  In order to provide a near real time analysis with detailed reporting feature, tons of data should be stored and processed in order to provide a critical value.




What will you get out of Big Data analytics?

  • User satisfaction
  • Business & Operations efficiency

 
Sources & Useful references:

When surfing the internet, I found the following pieces of information would be quite useful to know, please read this !!


Monday, 14 April 2014

Creational Design Patterns -> Prototye pattern

Motivation:
Cost is important, If the cost of creating a new object is large and creation is resource intensive, we clone the object. This pattern is used when the type of objects to create is determined by a prototypical instance, which is cloned to produce new objects. This pattern is used to:

·         avoid subclasses of an object creator in the client application, like the abstract factory pattern does.
·         avoid the inherent cost of creating a new object in the standard way (e.g., using the 'new' keyword) when it is prohibitively expensive for a given application.


Intent:

·         specifying the kind of objects to create using a prototypical instance
·         creating new objects by copying this prototype
Use when:

Classes to be created are specified at runtime.
  •  Only a limited number of state combinations exist in an object.
  •  Objects or object structures are required that are identical or closely resemble other existing objects or object structures.
  •  The initial creation of each object is an expensive operation.



Interesting points:
Sometimes creational patterns overlap — there are cases when either Prototype or Abstract Factory would be appropriate. At other times they complement each other: Abstract Factory might store a set of Prototypes from which to clone and return product objects (GoF, p126). Abstract Factory, Builder, and Prototype can use Singleton in their implementations. (GoF, p81, 134). Abstract Factory classes are often implemented with Factory Methods (creation through inheritance), but they can be implemented using Prototype (creation through delegation). (GoF, p95)

Advantages:

  • Hides complexities of creating of objects.
  • The clients can get new objects without knowing whose type it will be.
  • Reduces subclassing.


Disadvantages:

  • Sometimes making a object copy shall become complicated
  • Classes that have circular references to other classes cannot really be cloned.
Sources: Wikipedia, OODesign, TutorialsPoint, Javarevisited