Part I |
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.
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:
We can benefit from your feedback. Please let us know your thoughts. You can send us your comments, corrections and criticisms to mailto:feedback@mohsen.1.banan.byname.net
Document Outline:
Part II |
Obvious Desires
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:
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:
https://networks.nokia.com/solutions/edennet
Ericsson SON Optimization Manager
https://www.ericsson.com/us/ourportfolio/network-management/son-optimization-manager
Huawei SON Product:
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
Part III |
Our Goals And Motivations
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
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:
Part IV |
GOSSONoT Software Components
GOSSONoT-Modules Dispatch (1 of 2)
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.
pip install celery
GOSSONoT-Modules Dispatch (2 of 2)
RabbitMQ: Message Broker
RabbitMQ is an intermediary for messaging. It gives your applications a common platform to send and receive messages.
sudo apt-get install rabbitmq-server
Remote Operations – Web Services – (1 of 2)
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)
Authlib: Python library For building OAuth
JWS, JWK, JWA, JWT are supported.
pip install Authlib
ICM (Interactive Command Modules) (1 of 2)
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)
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:
Part V |
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
Part VI |
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]
Part VII |
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
Part VIII |
Poly-SON-Modules
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:
Part IX |
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
Part X |
Poly-SON-Modules
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
Part XI |
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
Part XII |
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.