Content deleted Content added
m Link repair: Github -> GitHub - You can help! |
m →Implementations: HTTP to HTTPS for SourceForge |
||
(20 intermediate revisions by 13 users not shown) | |||
Line 1:
{{Short description|Network protocols for control of entertainment technology equipment}}
{{Refimprove|date=January 2012}}
{{Infobox protocol
'''Architecture for Control Networks''' ('''ACN''') is a suite of [[network protocol]]s for control of entertainment technology equipment, particularly as used in live performance or large scale installations. For example, lighting, audio or special effects equipment. ACN is maintained by [[PLASA|Professional Lighting and Sound Association]] and its first official release was [[ANSI]] Standard E1.17-2006 - Entertainment Technology - Architecture for Control Networks. The standard was subsequently revised and released as ANSI E1.17-2010.▼
| name = Architecture for Control Networks
| image = <!--without [[File:...]] syntax-->
| caption =
| standard = [[ANSI]] Standard E1.17-2006
| developer = <!--organization(s) involved in development-->
| introdate = <!--{{Start date|YYYY|MM|DD}}-->
| industry = <!--industries used (such as PC/Chemical/Multimedia)-->
| connector = <!--connector(s) usable with protocol-->
| hardware = <!--examples of compatible hardware-->
| range = <!--{{convert|X|mi|abbr=on}}-->
| newer = <!--superseded by which protocol-->
}}
▲'''Architecture for Control Networks''' ('''ACN''') is a suite of [[network protocol]]s for control of entertainment technology equipment, particularly as used in live performance or large
ACN was initially designed to be layered on top of [[User Datagram Protocol|UDP/IP]] and therefore will run over most [[Internet Protocol|IP]] transports including standard, inexpensive [[Ethernet]] and [[802.11]] (Wi-Fi) networks.▼
▲ACN was initially designed to be layered on top of [[User Datagram Protocol|UDP/IP]] and therefore will run over most [[Internet Protocol|IP]] transports including standard, inexpensive [[Ethernet]] and [[802.11]] ([[Wi-Fi]]) networks.
==Protocol architecture==
ACN defines a common protocol architecture, two major network protocols (SDT, DMP), a device description language (DDL) and a number of ‘E1.17 Profiles for Interoperability’ (known as ''EPI''s or ''[[#Interoperability
The breakdown of ACN into sub-protocols,
===Common Architecture===
The common architecture specification defines a format of nested
===
Session Data Transport (SDT) is a [[reliable multicast]] transport protocol which operates over [[User Datagram Protocol|UDP/IP]] which can be used to group peers within a network into ''sessions'' and deliver messages to them individually or as a group.
===
Device Management Protocol (DMP) represents any device as a set of addressable properties which represent its current or desired state. Monitoring or control by a controller is achieved by setting or examining the values of those properties. To avoid the inefficiencies of polling, in addition to simply reading property values (using a ''Get-Property'' message) DMP provides a subscription mechanism whereby a device will asynchronously send event messages to all subscribed controllers when the value of a property changes.
DMP expects that its connections can provide reliability so that ''Set-Property'' and ''Event'' messages which form a large part of the operational bandwidth in a show situation do not require explicit acknowledgement at the DMP level. In the E1.17 standard and the majority of systems SDT provides this reliability but DMP has also been operated using TCP to provide its reliable connections.
Line 27 ⟶ 42:
The size in bits, representation, read/write accessibility and function of each property in a DMP device is not determined by the protocol which only defines the mechanism to read and/or write the property value. Instead, that information must either be provided externally by a device description written in DDL or in limited cases may be pre-programmed by fore-knowledge of specific device types.
===
Device Description Language (DDL) allows a machine parsable description of the interface and capabilities of any device to be defined.<ref name="EngArts">{{Cite web|url=http://www.engarts.com/ddl/index.html|title=Device Description Language}}</ref> This description can be interpreted by a controller which may then automatically configure itself for controlling that device. The description not only provides the address and property mapping information which is necessary for DMP to operate but it can also contain a huge amount of information on the functionality, capabilities and semantics of the device in an extensible format which allows a controller to extract the features it needs for its specific context while skipping over information which is not relevant to its needs.<ref>{{Cite web |url=http://powers.media.mit.edu/wiki/upload/E1-17ACN2006DDL.pdf |title=ANSI E1.17-2006 Architecture for Control Networks - Device Description Language (DDL) |archive-url=https://web.archive.org/web/20141129101447/http://powers.media.mit.edu/wiki/upload/E1-17ACN2006DDL.pdf |archive-date=2014-11-29 |url-status=dead }}</ref>
DDL is an [[XML]] based language and descriptions are contained in a small number of [[XML]] documents. In normal ACN systems the description for a device may be downloaded from the device
===Interoperability profiles===
==External
Due to its modular nature ACN has been easy to extend.
Line 50 ⟶ 65:
==Implementations==
An early [[Open-source software|open-source]] implementation of ACN was released as OpenACN<ref>{{cite web |url=
There is another open source ACN project<ref>{{cite web|url=https://github.com/HakanL/ACN|title=Architecture for Control Networks project home page|website=[[GitHub]] |accessdate=2022-03-09}}</ref> which is implemented in [[C Sharp (programming language)|C#]]. This aims to provide a full [[managed code]] implementation and includes code for several other related protocols.
E1.31 (Streaming DMX over ACN) is supported on [[Linux]] ([[ARM architecture|ARM]], [[Intel 80386|i386]], [[x86-64]]) and [[Macintosh]] ([[PowerPC]]; i386, x86-64) by the Open Lighting Architecture.<ref>{{cite web |url=http://opendmx.net/index.php/OLA |title=Open Lighting Architecture |accessdate=2012-01-05}}</ref>
A [[Rust (programming language)|Rust]] implementation of E1.31 can be found on [[GitHub]].<ref>{{cite web |url=https://github.com/
ACN has been deployed in proprietary implementations by a number of companies, including its use by
== See also ==
Line 72 ⟶ 87:
==External links==
* [https://web.archive.org/web/20060111182052/http://www.esta.org/tsp/working_groups/CP/projs.html ESTA's Technical Standards Program]
[[Category:Stage lighting]]
[[Category:Internet Standards]]
[[Category:Application layer protocols]]
|