IOx Services Architecture


This document describes the Cisco IOx Services infrastructure.

IOx Services infrastructure provides framework for off the shelf capabilities to the IOx application developers. Capabilities include:

  • Reducing the data to the cloud by applying filters and aggregation primitives and reducing data before being sent to cloud or data center applications.
  • Analyzing the data at the edge using rule engines and facilitating local decision making in case of connectivity failures to cloud or data center.
  • Storing and forwarding data to avoid data losses during connectivity failures.

IOx Services infrastructure is only supported on Cisco IR8xx platforms with the current release.


IOx Services Infrastructure Components

IOx Services infrastructure provides the following components to the IOx developer community in the current release.


IOx Service Infrastructure components


IOx Core Services

A set of pre-built IOx Core services provides the following core functionality:

  • Communication between Application and Service over REST using standard REST client software that is typically employed to configure, control, and get status of the service.
  • Communication between Application and Service over Web Socket using standard web socket client software for streaming data that is typically employed to send or receive streaming data between application and service.
  • Standard and Open security enforcement over OAUTH for REST/Web Socket access to the services data.
  • Ability to abstract out the services discovery and implementation details of the services by providing Open APIs for the applications to consume services.

IOx Core services constitute the following components:

  • Message Broker Provides RPC and PubSub communication between various services.
  • North Bound Interface (NBI) Service Acts as a gateway for the pre-built or custom microservices. The gateway provides standard interfaces to Fog applications.

Cisco Provided Micro Services

Cisco provides micro services which are a set of pre-built protocol handlers that help provide data acquisition capabilities from various devices into the IOx Services ecosystem. The code for these services will be open sourced, so anybody can take them and tailor them. The following services are included:

  • GPS Service Built using C service SDK. This service provides RESTful APIs to configure GPS service on an as needed basis. Normalized data from the configured GPS service can be accessed via REST and Web Socket URIs provided by the NBI.
  • Motion service Built using C service SDK. This service provides RESTful APIs to configure motion service on an as needed basis. Normalized data from the configured motion service can be accessed via REST and Web Socket URIs provided by the NBI.

Any deployment that uses IOx Services ecosystem starts with deployment of IOx Core services on which other micro services depend. Other micro services can co-exist in the ecosystem, process data, and utilize the NBI gateway services for interacting with IOx applications.


Next steps

To learn more about Cisco IOx Services, see these link: