Extending SON To Clouds And Things

GOSSONoT: A Generalized Open-Source Self Organizing Network of Things Platform

Document #PLPC-180052
Version 0.5
February 12, 2019
This Document is Available on-line at:
http://www.by-star.net/PLPC/180052
Mohsen BANAN
Email:
http://mohsen.1.banan.byname.net/contact

Summary

Lessons Learned From SON In Telecom’s Context:

Our experience with Self-Organizing Networks (SON) in Telecom’s context over the past decade has demonstrated that very large networks can be successfully managed when:

Extending SON: These Lessons Can Be Applied To Managing Other Large Networks (Clouds).

Strategy

Pillars:

Realization/Implementation: Our Interactive Commands Module (ICM) model allows for any type of Systems Management processing.

GOSSONoT is a powerful open-ended modules execution framework.

Key Differentiators

Unified, Converged, Simplified And Open-Sourced

Unlike Most Other Cloud Management Approaches, GOSSONoT:

In Contrast: Other approaches to Cloud Management usually bloat, diverge and implode.

Related Documents

Interactive Command Modules (ICM) and Players
A Framework For Cohesive Generalized Scripting
http://www.by-star.net/PLPC/180050 — [4]
Remote Operations Interactive Command Modules (RO-ICM)
Best Current (2019) Practices For Web Services Development
http://www.by-star.net/PLPC/180056 — [3]
A Generalized Swagger (OpenAPI) Centered Web Services Invocations And Testing Framework
http://www.by-star.net/PLPC/180057 — [1]
Extending SON To Clouds And Things
GOSSONoT: A Generalized Open-Source Self Organizing Network of Things Platform
http://www.by-star.net/PLPC/180052 — [2]

Part Of A Much Bigger Picture – ByStar and BISOS

GOSSONoT is Part Of A Much Bigger Picture.



GOSSONoT Is Part Of: The Libre-Halaal ByStar Digital Ecosystem


And Part Of: BISOS: ByStar Internet Services OS


GOSSONoT is primarily being used and developed in that context.

About This Presentation/ScreenCast

You can obtain this document at its access page:

http://www.by-star.net/PLPC/180052

where it is available in multiple forms and multiple formats:

Document Outline:

Obvious Desires

Self Organizing Networks

Any Operator Of Any Network Wants Her Network To Be:

Wishes Vs Reality But, that is mostly fantasy and usually involves more work than imagined. Is it reasonable to abstract a solution that spans multiple network types?

Can SON Be Extended? The concept of Self Organizing Networks (SON) originated in the well structured and standardized Cellular-Mobile Networks. In that scope, SON is very real. Are those same concepts and models applicable to Clouds?

About SON In The Telecom Context

In The Telecom Context, SON Is Very Real: The idea and concepts of Self Organizing Networks (SON) started to be formalized in 3GPP at around 2006. First generation of SON products started to appear in 2009.

All major Telecom equipment manufacturers (Nokia, Ericsson, Huawei) have a SON product offering. Cisco also have a strong product offering. SON products are usually Multi-Technology/Multi-Layer (2G/3G/4G/5G) and Multi-Vendor with respect to OSS infrastructure interfaces (Nokia, Ericsson, Huawei).

Every carrier (ATT, T-Mobile, Orange, Verizon) has a SON Solution.

Telecom SON Environment:

Clean And Standardized Managed Object Definitions Have Been In Place

Telecom’s SON Builds On Formalized Definitions Of Managed Objects(MOs):

X.700 – Common Management Information Protocol (CMIP) – Started to define the Telecom’s Network Management model with formal Managed Objects in 1988 (blue-books).

3GPP has kept that formal standardized tradition for 3G, 4G and 5G in the well protected TelePhants walled-garden environment.

Operations Support Systems interoperability initiative (OSSii) is the foundation of SON.

MOs As SON Enablers It is this formal definition of Managed Objects that has made SON successful.

Nokia SON Product:

EdenNet

https://networks.nokia.com/solutions/edennet

Ericsson SON Optimization Manager

https://www.ericsson.com/us/ourportfolio/network-management/son-optimization-manager

Huawei SON Product:

SingleSON

http://carrier.huawei.com/en/products/wireless-network/subsolution-singleoss/singleson

Cisco SON Suite

https://www.cisco.com/c/en/us/products/wireless/son-suite/index.html

The Equivalent Of SON In Clouds Context

SON Functions

SON functionalities are commonly divided into three groups:

Typical Anatomy Of SON Platforms

SON Platforms typically have a number of common characteristics and features:

Use Of SON Modules In Conjunction With Machine Learning

SON Platforms are often used in conjunction with specialized machine-learning engines.

Extending SON To Clouds And Things

SON (Self-Organizing Network) has thus far:

It is possible to extend SON such that its “Managed Objects” are “Abstract Things” which include Cloud’s network elements and systems and IoT entities.

Extending SON To Clouds And Things

Culture Of TelePhants and Culture Of Cloud Operators often stand separate and distinct, even when an organization has both.

Culture Of TelePhants (Caricatured)

Culture Of TelePhants – Caricatured

Extending SON To Clouds And Things

Culture Of Cloud Operators – Caricatured

Best Of Both Worlds (For TelePhants And Cloud Operators)

There are many lessons that Cloud Operators can learn from TelePhants:

Build On SON’s Proven Success

There are many lessons that TelePhants can learn from Cloud Operators:

Recognize The Extended Scope Of SON

Our Goals And Motivations

For Extending SON To Clouds And Things

Based on the lessons learned from the experience of the past decade with SON in the Telecom’s context and the availability of large and potent relevant Open-Source components, we want to:

About GOSSONoT

Open-Source + SON + Cloud + IoT

GOSSONoT (Generalized Open-Source Self-Organizing Network of Things) Is A Platform That Is:

GOSSONoT Hour Glass Model

Scope And Scale Of GOSSONoT

Scope:

Scale: SON’s model, architecture and implementations have proven to scale in largest Telecom operator’s networks.

GOSSONoT As Cloud’s Management Convergence Point

Scope and scale of GOSSONoT presents it as a “Convergence Point” for all systems management activities of a Cloud.

Over time all ad-hoc scripts and isolated management functions can be brought to become GOSSONoT-Modules and GOSSONoT-Apps.

An Overview Of GOSSONoT Architecture

Main Ingridients Of GOSSONoT Architecture

As shown in the preview figure, GOSSONoT architecture consists of:

GOSSONoT Software Components

GOSSONoT-Modules Dispatch (1 of 2)

Software Components

Flower: Celery monitoring tool

Celery Flower is a tool for monitoring celery tasks and workers.

https://flower.readthedocs.io/en/latest/https://github.com/mher/flower

pip install flower

Celery: Distributed Task Queue

Celery is an asynchronous task queue/job queue based on distributed message passing. It is focused on real-time operation, but supports scheduling as well.

http://www.celeryproject.org/

pip install celery

GOSSONoT-Modules Dispatch (2 of 2)

Software Components

RabbitMQ: Message Broker

RabbitMQ is an intermediary for messaging. It gives your applications a common platform to send and receive messages.

https://www.rabbitmq.com/

sudo apt-get install rabbitmq-server

Remote Operations – Web Services – (1 of 2)

Software Components

Swagger – OpenAPI: Automating And Formalizing REST APIs Creation And Consumption

Swagger is a set of tools built around the OpenAPI Specification that can help you design, build, document and consume REST APIs.

https://swagger.io/docs/specification/about/

git clone https://github.com/swagger-api/swagger-codegen

Bravado: Automated REST Client

Bravado is a python client library for Swagger 2.0 services. It aims to be a complete replacement to swagger codegen for invokers.

https://github.com/Yelp/bravado

pip install bravado

Remote Operations – Web Services – (2 of 2)

Software Components

Authlib: Python library For building OAuth

JWS, JWK, JWA, JWT are supported.

https://authlib.org/

pip install Authlib

ICM (Interactive Command Modules) (1 of 2)

Software Components

ICM: Interactive Command Modules Unified Model

A Framework For Cohesive Generalized Scripting. A Model For GUI-Line User Experience.

http://www.by-star.net/PLPC/180050

pip install unisos.icm

RO-ICM: Remote Operations Interactive Command Modules

ICMs can be auto-converted to become invokable as web services.

http://www.by-star.net/PLPC/180056

pip install unisos.mmwsIcm
pip install roPerf

ICM (Interactive Command Modules) (1 of 2)

Software Components

ICM: Interactive Command Modules Unified Model

A Framework For Cohesive Generalized Scripting. A Model For GUI-Line User Experience.

http://www.by-star.net/PLPC/180052

pip install bisos.gossonot

Integrated Software – Installation

There are several different ways of installing GOSSONoT.



The most convenient way is use bisos.bootstrap to create a fresh VM with all components in place and integrated.

Current Status Of GOSSONoT Software

GOSSONoT’s proof-of-concept and prototyping date back to 2010



First alpha public release of GOSSONoT was in 2017.



GOSSONoT is being currently used and developed in The Libre-Halaal ByStar Digital Ecosystem.



At this time GOSSONoT should only be viewed as an early alpha release. Incremental public release will be made publicly available.

The Organic Model Of GOSSONoT

GOSSONoT is architected to be a set of collaborative and loosely tied components. We avoid the monolithic paradigm.



What ties everything together are the following:

GOSSONoT is designed to be ever growing.

Growth Dynamic Of GOSSONoT

GOSSONoT is based on an open-ended design. We anticipate that it will be used in ways that we can not foresee.

Obvious growth areas include:

All GOSSONoT Modules Are ICMs

GOSSONoT’s Generecities And Universalities Are Based On ICMs ICMs are general purpose “Commands” that contain within themselves full information about the format and structure of their inputs and outputs.

On demand, ICMs can report their input and output structures.

ICMs contain a set of (usually related) Commands that are only limited by Python and available libraries.

All GOSSONoT Modules Are ICMs

ICM Software https://github.com/unisos-pip/icm

pip install unisos.icm

ICM Documentation

Unified Python Interactive Command Modules (ICM) and ICM-Players
A Framework For Development Of Expectations-Complete Commands
A Model For GUI-Line User Experience
http://www.by-star.net/PLPC/180050 — [4]

ICM Framework, Modules And Players

Abstraction Of Things

Things-Interfaces: Primary Things-Adapters And Things-Agents Protocols

Web Services – Remote Operations Interactive Command Modules (RO-ICM)

Direct Operations Interactive Command Modules (DO-ICM) We call an ICM that invokes local operations (DO-ICM)

Remote Operations Interactive Command Modules (RO-ICM) When desired a DO-ICM can be auto-converted to a Remote Operations ICM. Both sides (Performer and Invoker) are auto-generated.

Web Services ICM With Swagger Code Generators

RO-ICM-Performer As Things-Agents

RO-ICM Performer Software https://github.com/bisos-pip/mmwsIcm

pip install bisos.mmwsIcm

RO-ICM Performer Documentation

Remote Operations Interactive Command Modules (RO-ICM)
Best Current (2019) Practices For Web Services Development
http://www.by-star.net/PLPC/180056 — [3]

RO-ICM-Invokers As Things-Adapters

RO-ICM Invoker Software https://github.com/bisos-pip/mmwsIcm

pip install bisos.mmwsIcm

RO-ICM Invoker Documentation

A Generalized Swagger (OpenAPI) Centered Web Services Invocations And Testing Framework
http://www.by-star.net/PLPC/180057 — [1]

Execution Modes Of GOSSONoT-Modules

There are 3 different models for executing GOSSONoT-Modules:

Module-Players: User Interface For Execution Of GOSSONoT-Modules

GOSSONoT-Modules (ICM-Modules) are designed to self contain all user-interface related information. At this time, three types of Module-Players have been implemented

Poly-SON-Modules

GOSSONoT-Modules Development Environments

GOSSONoT-Modules are Python Code.

Any Python IDE (Interactive Development Environment such as: Emacs, pyCharm, sublime, eclips, Visual Studio Code, etc. can be used to develop GOSSONoT-Modules/ICMs.

We have enhanced Emacs’s python development environment to be fully aware of GOSSONoT-Modules. We call that flavor of Emacs python development environment: Blee.

Blee: An Emacs Based Integrated GOSSONoT-Modules Development Environments

Blee is a GOSSONoT-Modules/ICMs Integrated Development Environment that supports:

MLE-GOSSONoT

GOSSONoT can be enhanced by Machine-Learning capabilities.

The interactions between GOSSONoT and Machine-Learning engines are accommodated by two classes of GOSSONoT-Modules.

Structure Of Machine-Learning Enhanced SON Platforms

Poly-SON-Modules

GOSSONoT-Modules Can Support Secondary SON Platforms

For Python Based Modules Oriented SON Platforms, GOSSONoT-Modules can be enhanced to also run in Secondary SON Platforms.

In such conditions, we call that module “A Poly-SON-Module”.

Developing SON-Modules as Poly-SON-Modules provide many benefits where the strength and special features of both platforms can be used.

Such an approach also provides additional strategic options to module developers for transitioning from one platform to another.

A Poly-SON Module Running In Two SON Platforms

Overview Of Scenario Examples

Main functional areas of SON are:

As examples we now apply these to GOSSONoT’s very different things (VMs, IoTs, Networks).

It is the consistency and cohesion of these different example scenarios that demonstrates the power and value of GOSSONoT.

Self-Configuring: VM Passwords

Self-Optimizing: IoT – The Home Owner Comes Home

Such a prototype of a Home-Management-GOSSONoT-Module exists. It can be considered autonomous and privacy-oriented as the Home-Owner “owns” the Home-Management-GOSSONoT-Module as well as his house and the things in his house.

Self-Healing: Monitor, Process, Notify, Adjust

Next Steps – Evolving The Core Of GOSSONoT

The Core Of GOSSONoT (ICM, RO-ICM, Model Of Things) is being developed and maintained by a small tight team.



If you have any ideas for improvements and enhancements let us know.

Additional Modules And Additional Things-Interfaces

As you use GOSSONoT and develop new Things-Interfaces and Modules, we can add them to the common GOSSONoT library. Please let us know.