Architecture for Control Networks: Difference between revisions

Content deleted Content added
Rearrange for better flow, update links and references and add newer developments.
Yobot (talk | contribs)
m WP:CHECKWIKI error fixes using AWB (10381)
Line 7:
==Protocol architecture==
 
ACN defines a common protocol architecture, two major network protocols (SDT, DMP), a device description language (DDL) and a number of ‘E1‘E1.17 Profiles for Interoperability’Interoperability’ (known as ''EPI''s or ''Interoperability Profiles'') which define how elements of the ACN architecture must be used in a particular context to achieve interoperability. For example, by providing specific values or ranges for timing parameters to be used in a particular network environment.
 
The breakdown of ACN into sub-protocols, Interoperability Profiles and other small pieces has been criticized as making ACN hard to read and understand but it makes the architecture highly modular and cleanly layered and this has allowed many of the pieces to be operated in other contexts or replaced or revised without changing the other pieces. For example, DMP has been operated over TCP as well as over SDT as defined in the initial standard, DDL has been adapted with little change to describe devices accessed by DMX512 or ANSI E1.31, and several Interoprability Profiles have seen major revision or replacement without disturbing the other parts of the standard.
Line 17:
===SDT (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. Messages delivery is ordered and messages may be selectively sent [[Reliability (computer networking)|reliably or unreliably]] on a message-by-message basis (reliability is very important for some data while avoiding the time and resource overhead of the reliabilty mechanism is beneficial for others). The reliabilty mechanism also provides online status so a component will detect when a connection is broken. SDT provides a high degree of fine tuning over the trade-off between latency, reiability levels and resource requirements and availability of large numbers of concurrent sessions means they are a powerful tool for grouping and managing components whose functions are related or whose communication requirements are similar.
 
===DMP (Device Management Protocol)===
Line 35:
===Interoperability profiles===
 
'''Interoperability Profiles''' ('''EPI'''s) are provided in ANSI E1.17 for initial [[service discovery]] in a system; for allocation of [[multicast address]]es when used on UDP and [[IPv4]]; for [[Port_Port (computer_networkingcomputer networking)|UDP port]] allocation when multicasting, for [[IP address]] assignment in conformant systems, for protocol timeouts in specific environments and so on. Other EPIs which conform to the ACN Architecture have been developed outside the ANSI E1.17 standard (see below).
 
==External Extensions==
Line 52:
An early open-source implementation of ACN was released as OpenACN<ref>{{cite web |url=http://sourceforge.net/projects/openacn/ |title=OpenACN |accessdate=2011-08-25}}</ref> and is available on SourceForge. This has been ported to a wide range of platforms but is limited in its scope and does not implement any DDL support.
 
A more recent and much more complete implementation in C is 'Acacian',<ref>{{cite web |url=http://WWW.ACACIAN.ORG/ |title=Acacian |accessdate=2014-08-10}}</ref>, which includes more features and DDL support.
 
There is yet another open source ACN project<ref>{{cite web|url=http://acn.codeplex.com/|title=Architecture for Control Networks project home page|accessdate=5 October 2011}}</ref> on [[Codeplex]] which is implemented in C#. This aims to provide a full managed code implementation and includes code for several other related protocols.