F2F April 7, Enumeration & Connection Management presented by Chris Pane
F2F April 7, Intent Present a straw man vision of how an AVB stream enumeration and connection protocol could work for Present vision from a top down, end to end point of view. Details will follow.
F2F April 7, Definitions Controller – An entity on the network that provides runtime stream allocation and connection requests. AMP – AVB Management Protocol Channel - Media Content Node – Element in the property tree that represents a hierarchical level. Property – A settable entity on a channel.
F2F April 7, Requirements Atomic creation/removal of streams. Configuration of streams (channels, settings) Runtime channel status updates (Renamed input) Error handling back to controller. Must support the ability to learn about already configured streams (i.e. Multiple Controllers). Listeners and Talkers must be able to restore state without the controller present on network.
F2F April 7, Assumptions An AVB network can be comprised of Talkers/Listeners and Controllers. The IP address of Talkers and Listeners have already been provided and decided upon (via Discovery). Talkers and Listeners have already allocated their stream address ranges via MAAP. The scope is limited to stream creation, connection and teardown only.
F2F April 7, AVB Network startup flow Zero Configuration (IP Address/Svc Discovery) Control Link Handshake Enumerate Stream Connection Mgmt SRP
F2F April 7, Control Link TCP Client Server Model Talkers/Listeners - Servers Controllers - Clients Once established, AMP enumeration and stream connection management commands can flow.
F2F April 7, Example 1: Network Device Configuration SPDIF_Right Video Out 1 Controller SPDIF_Left Video In 1 AMP TCP/IP Connection
F2F April 7, Property Tree Properties are presented to clients in a tree fashion (similar to a hierarchical filesystem). A minimal subset of properties are defined and must exist in all implementations. Wild card queries are supported Client can request that a place in the properties tree is maintained by the server during life of control link
F2F April 7, Proposed property Tree
F2F April 7, System Node (/System) All devices must provide the /System Node It will contain system information such as Current Streams Device specific settings (Vendor ID, Manufacture Id, …) ….others
F2F April 7, AMP Commands Handshake – Used to establish protocol parameters for use on the control link. ACK – Acknowledge response when no data is expected back from a command. EnumerateNode– Used to request from a device that it list a set of nodes given a specified node path on the tree.
F2F April 7, AMP Commands (Continued) EnumerateProps – Request that a device enumerate the properties that may exist on a given node. GetProp – Request the possible property values for a given property. SetAnchor – Request that the device remember the location within the property tree that the user is currently at. Stays valid until control link is broken. PublishStream – Request that a specified stream be created atomically given the channels and properties that are specified in the command invocation. ListenStream – Request that a listener connect to a stream.
F2F April 7, AMP Device Example
F2F April 7, AMP Device Example (Continued) When a device is processing a Publish stream request, it will be taking care of the SRP Talker/Listener SRP logic A stream publish can fail if: The caller has requested something that can’t be handled by the device “Hard Fail” An SRP request fails, causing a “Soft Failure” condition
F2F April 7, Open Items Multiple controller configurations Locate Functionality ? Redundant Streams ? Protocol Design Document