Open Control Architecture

From Wikipedia, the free encyclopedia
Jump to: navigation, search

The Open Control Architecture (OCA) is a communications protocol architecture for control and monitoring of networked audio and video devices. Such networks are referred to as "media networks".

OCA is a free, open public standard. It is intended to support networks that combine devices from diverse manufacturers. Targeted for professional applications, OCA is suitable for media networks of 2 to 10,000 devices, including networks with mission-critical and/or life-safety roles.

OCA is for device control and monitoring only. It does not provide transport of media program material. However, OCA is designed to work with various media transport schemes, as the application requires.

OCA is termed an "architecture" because it provides the basis for definition of multiple control protocols. These protocols all share a common design model, but vary in signalling detail, depending on the form of the underlying data transport mechanism. An OCA application will use whichever OCA protocol is appropriate for the communications method available.

Background[edit]

OCA was developed by the OCA Alliance, beginning in 2011. It was based on a control protocol named OCP, which was created by Bosch Communications Systems in 2009 and 2010. OCP was in turn based on an embryonic control protocol standard named AES-24 [1] [2] developed by the Audio Engineering Society in the 1990s.

The OCA Alliance is a trade association whose mission is to develop and enhance the definition of OCA, and to promote OCA's adoption throughout the professional media systems industry.

Status[edit]

The OCA specification currently stands at revision 1.1. The complete specification is downloadable from the OCA Alliance website.[3]

OCA 1.1 is a proposed standard. It is now being rendered into a formal standard by the Audio Engineering Society (AES). The standardization of OCA 1.1 is designated as AES Standards Project X210. When the first phase of X210's work is complete, OCA 1.1 will be published as an AES standard.

In parallel with standardization of OCA, the OCA Alliance will work to promote understanding and adoption of OCA, to facilitate the creation of OCA implementations and related tools, and to develop future functional enhancements of the standard.

Structural Overview[edit]

Scope[edit]

OCA's purpose is to define the control and monitoring interface that a media device presents to a network to which it is connected. Thus, OCA is concerned with the representation of device functions in a systematic way, and with the control and monitoring of those functions via a well-defined family of protocols.

Media networks normally include one or more devices called "controllers" that have user interfaces which allow humans to control and monitor the audio and/or video functioning of the networked devices. In OCA-compliant networks, controllers will use OCA protocols to communicate with the devices they control. However, OCA's scope does not extend to cover the elements or design of controllers or their user interfaces.

OCA is intended to be used for professional applications. Technical requirements for such applications have been detailed elsewhere .[4] OCA's scope excludes applications in homes, automobiles, and other consumer areas.

Device Model[edit]

The OCA Device Model is the canonical description of the control interface that an OCA-compliant device presents to the network. The OCA Device Model is object-oriented [5] [6] . It defines a required and an optional set of objects ("OCA objects") that the device's control interface implements. Using an OCA protocol, controllers may access the properties of these objects to perform control and monitoring operations.

OCA objects are abstractions that represent device control and monitoring points. They may or may not correspond to actual programming objects or hardware components inside the device. If a device correctly implements an OCA protocol, it is OCA-compliant. How that is accomplished is not OCA's business.

Generally speaking, the OCA device model tends to differ from device models in other control architectures [7] [8] [9] [10] [11] [12] [13] [14] in several ways:

  1. OCA does not presume a hierarchical device structure.
  2. OCA does not predefine specific processing configura-tions, signal processing modules, device types, or device families.
  3. OCA does not define controller user interfaces or user interface elements.
  4. OCA has strong support for dynamically reconfigurable devices.
  5. By comparison, OCA's repertoire of management functions is relatively rich.

Class Structure[edit]

The OCA Class Structure defines a set of classes that devices may use to instantiate OCA objects. There are three kinds of classes:

  • Workers, which represent application functions of devices—gain controls, level meters, switches, equalizers, et cetera.
  • Agents, which modify and assist control functions in various ways.
  • Managers, which represent various global device states.

Protocols[edit]

As noted above, OCA is an architecture that supports multiple protocols, depending on the nature of the network medium used. The OCA 1.1 specification defines one protocol, named OCP.1. OCP.1 is the OCA protocol for TCP/IP networks. Future plans include OCP.2, a byte-serial version for USB networks and point-to-point links, and OCP.3, a text version in JSON. Each OCA protocol defines three kinds of messages, as follows:

  • Commands - directives from a controller to an object in a device, requesting some kind of action or retrieving some parameter value;
  • Responses - replies from an object to a controller, indicating success or failure of a previous command, and returning parameter values, where requested;
  • Notifications - automatically generated messages from an object in a device to a controller, indicating the occurrence of some condition or periodically reporting a parameter value such as signal amplitude.

Features[edit]

OCA 1.1 covers control and monitoring of audio devices. Future versions will expand the audio control repertoire, and may address video devices as well.

OCA includes features that allow manufacturers to extend OCA protocols to address functions not in the standard repertoire. Such extensions may or may not be proprietary.

Control Repertoire[edit]

The OCA 1.1 control repertoire includes:

Signal Handling Signal Sensing
- Gain controls - Level sensors (meters)
- Mutes - Frequency sensors
- Switches (n-position) - Time interval sensors
- Delays - Temperature sensors
- Equalizers - Arbitrary numeric parameter sensors
- Filters (IIR & FIR) Control Processing
- Limiters & Compressors - Composite functional blocks
- Expanders & Gates - Matrices of arbitrary elements
- Levelers - Control grouping (like VCA groups)
- Signal generators - Timed crossfading
- Arbitrary numeric parameters - Prestored settings (presets, patches, scenes)

Dynamically Reconfigurable Devices[edit]

OCA includes complete support for dynamically reconfigurable devices, i.e. software-based devices whose signal processing topologies can be defined and redefined at runtime by external controllers.

Media Transport Control[edit]

Although OCA does not itself provide media transport functions, it is capable of interfacing with various media transport standards to control signal routing and perform other connection management functions. The OCA Alliance defines recommended practices for interfacing OCA with various well-known media transport architectures. The specification for interfacing OCA with a given media transport scheme is called an OCA "adaptation".

Proprietary Extendability[edit]

OCA is designed to support proprietary extensions with maximum compatibility. Manufacturers may define their own extensions to the control repertoire, and these will coexist peacefully with standard elements.

Upward / Downward Compatibility[edit]

OCA devices and controllers will continue to interoperate as OCA evolved over the years. Devices that use various versions of OCA can generally be combined in one media network without problems. Security. OCA protocols offer encryption and authentication options that allow the construction of secure control and monitoring networks. Completely secure media networks will require encryption of transmitted program content as well; the mechanisms for such encryption lie outside the scope of OCA, although OCA could be used to configure and control them.

Reliable Firmware Update Capability[edit]

OCA defines primitives that allow reliable update of device firmware over the network.

References[edit]

  1. ^ AES24-1-1999 (w2004): AES standard for sound system control - Application protocol for controlling and monitoring audio devices via digital data networks - Part 1: Principles, formats, and basic procedures. 2004: Audio Engineering Society, New York.
  2. ^ AES24-2-tu (w2004): PROPOSED DRAFT AES standard for sound system control - application protocol for controlling and monitoring audio devices via digital data networks - Part 2, data types, constants, and class structure (for Trial Use). 2004: Audio Engineering Society, New York.
  3. ^ OCA Alliance Website
  4. ^ Jeffrey Berryman, "Technical Criteria for Professional Media Networks," in Proceedings of AES 44th Conference on Networking , San Diego , 2011.
  5. ^ "Object-Oriented Programming". 
  6. ^ "Object-Oriented Design". 
  7. ^ American National Standards Institute. "E1-17: Architecture for Control Networks" . Definition of ACN. Package of 17 documents plus supporting files. At http://webstore.ansi.org.
  8. ^ Richard Foss and Andrew Eales, "Towards a Standard Model for Networked Audio Devices," in Proceedings of the AES 44th International Conference - Audio Networking , San Diego , 2011 . Includes a helpful overview of current media system control protocols.
  9. ^ Richard Foss and others, "The XFN Connection Management and Control Protocol," in Proceedings of the AES 44th International Conference - Audio Networking , San Diego , 2011 . XFN is the control protocol now standardized as AES64.
  10. ^ International Electrotechnical Commission, "Common control interface for networked digital audio and video products - Part 1: General," Standard IEC 62379-1, . At http://webstore.iec.ch .
  11. ^ International Electrotechnical Commission, "Common control interface for networked digital audio and video products – Part 2: Audio," Standard IEC 62379-2, September 2008 . At http://webstore.iec.ch .
  12. ^ M. Wright. (2002, March) , "The Open Sound Control 1.0 Specification". Latest complete specification as of this writing. Version 1.1 is in development. At http://opensoundcontrol.org/spec-1_0 .
  13. ^ A. Freed and A. Schmeder. (2009) "Features and Future of Open Sound Control version 1.1 for NIME" . Conference paper from NIME 2009 that outlines plans for OSC 1.1. NIME stands for "New Interfaces for Musical Expression". At http://cnmat.berkeley.edu/system/files/attachments/Nime09OSCfinal.pdf .
  14. ^ UPnP Forum. (2008, October) "UPnP Device Architecture 1.1" . Part of a document set downloadable as a zipfile at http://upnp.org/resources/upnpresources.zip .

External links[edit]