JOX is a Juju-based orchestrator for the virtualized network that natively supports network slicing. Using JOX, each network slice can be independently optimized with specific configurations on its resources, network functions and service chains. Inside the JOX core, a set of services is used to operate and control each network slice, while at the same time supports the necessary interplay between orchestration, Virtual Network Function Management (VNFM) and Virtual Infrastructure Management (VIMs), as these are defined in the ETSI MANO architecture. From the implementation perspective, JOX is tightly integrated with the Juju VNFM framework and Charm Store provided by Canonical. JOX is designed to be a fast and extendable prototyping tool for the mobile network slicing with which new policies such as scaling and placement can be evaluated. All the produced orchestration data and APIs are open to be consumed by 3rd parties through edge open data APIs.
Ability to deploy network slices composed of many subslices with different end-to-end logical networks. JOX guarantees that different network slices are isolated from each other in the management plane, exploiting different namespaces. These are optimized through custom logic. All slices operate over common VNFM and VIM systems.
JOX exposes a REST northbound API to enable management and monitoring of each slice. JoX exposes a set of APIs in support of slice and subslice life-cycle management and their monitoring with service/vnf and machine granularity as well as APIs for on-boarding and store management.
JOX runs slice-specific logic (e.g. where to schedule VNFs and how to optimize a slice) as an application running on the top through the northbound API. Elasticsearch (ES) is used for monitoring, where the informations on the slices and subslices is pushed to ES. Global optimization (considering all slices) is also possible as a Python application within the JOX orchestrator (e.g., by exploiting the informations in ES).
JoX uses TOSCA for describing slice and subslice templates that are handled by the template manager. Package generator is used to generate a JoX package that describes a network slice with its embedded subslices, that are ready for on-boarding through Northbound API.
Mobile Network Virtualization
Network Service Automation
SLA-based Network Slicing
ML-based Network Service Optimization
Content-based Service Orchestration
Zero Touch Configuration
Customized orchestration logic
Service Modelling and Optimization
Service Auto Placement & Scaling
Shared & Dedicated Provisioning
Service Modelling and Template
Dynamic Service Placement & Scaling
Slice/Service Access Control
Automated Pricing and Charging
JOX is an event-driven orchestration software based on Juju VNFM. licensed under Apache License V2.0. While the JoX core is technology-agnostic and supports a wide range of applications, it provides a plugin framework to efficiently support 4G/5G networks. The framework code is written from scratch in python 3.5. It is based on Flask, Redis, RabbitMQ, and Pika libraries.
A Charm is a structured NFV element manager driven by Juju that encapsulates a single VNF as a service and contains all the necessary hooks (i.e. scripts and primitives) to manage the entire lifecycle of the VNF and its relationships within service chains. A bundle is a composition of charms, their relationships, and machine that describes a service chain. A rich set of Mosaic5G charms and bundles have been developed that are available in the Juju store.
|monitor||ElasticSearch, Juju||ES->JoX->NBI, Juju->JoX->NBI||