Networked Media Open Specifications

AMWA IS-04 NMOS Discovery and Registration Specification: Overview

Index↑ · APIs→

Introduction

AMWA IS-04 specifies how to register and discover resources in an NMOS system. IS-04 is built on three APIs:

The Specification includes:

Familiarity with the JT-NM Reference Architecture is assumed, but a summary of the resources referenced by this specification is available in the Data Model.

Use of Normative Language

The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this documentation set are to be interpreted as described in RFC 2119.

Requirements on Nodes

A Node MUST implement the Node API.

A Node MUST attempt to interact with the Registration API.

Clients requiring data about other Nodes in the system (such as connection managers) MUST obtain this via the Query API if available, or by using the peer-to-peer specification in smaller networks.

Node Structure

Regardless of their implementation, viewed logically, Nodes provide:

More detail on the Node HTTP API is contained in the Node API specification.

NMOS does not specify the internal interfaces within a Node.

Node Components

Registering and Discovering Nodes

The Registration and Discovery Specification describes two mechanisms for discovery of Nodes and their resources: peer-to-peer and registered. These two mechanisms MAY co-exist if this is operationally useful.

Peer-to-Peer Discovery

Peer-to-peer discovery requires no additional infrastructure. Nodes make DNS Service Discovery (DNS-SD) announcements regarding the presence of their Node API. Peers browse for appropriate DNS records and then query the Node HTTP API for further information.

Registered Model

Registered discovery takes place using a Registration & Discovery System (RDS), which is designed to be modular and distributed. An RDS is composed of one or more Registry & Discovery Instances (RDIs). Each RDI provides:

Registration and Discovery

The Registration Service implements the Registration API of the NMOS Discovery and Registration Specification. Nodes POST to this API to register themselves and their resources. The Registration Service also manages garbage collection of Nodes and their resources by requiring Nodes to send regular keep-alive/heartbeat messages.

The Query Service implements the Query API of the NMOS Discovery and Registration Specification. Clients can GET lists of resources from this API. Typical usage examples include:

The Query API also provides the ability to generate ‘long lived’ queries using its Subscription mechanism and WebSockets.

Examples

The diagram below shows examples of peer-to-peer and registered discovery.

Registration Sequence

Index↑ · APIs→