Title: HAVi Fast Track Application Development Seminar
1HAVi Fast TrackApplication Development Seminar
Home Audio Video interoperability
2Communication Media Manager, Messaging
System and Registry
Amal Prabhu Sony Electronics amal_at_arch.sel.sony.co
m
3Communication Media Manager
- System service that provides 1394 network
services - Implemented as a software element in every IAV
and FAV device - Services Provided
- Presents GUID representation of devices to HAVi
modules - Provides Async request and indication services
- Using Event Manager services, posts events that
reflect bus resets and device plugging and
unplugging
4Messaging System Introduction
- System service that provides the basic message
transfer service - Implemented as a software element in every IAV
and FAV device - Two Components
- Message Handling Layer
- Transport Adaptation Module (TAM)
5MS Services Allocation of SEID
- Every software element (SE) registers with MS a
callback function and obtains a unique address - These addresses are called Software Element
IDentifier (SEID) - SEID Composes of 64 bit Global Unique ID (GUID)
of the device and 16 bit unique handle - MS uses SEIDs to deliver HAVi messages to the
software elements
6MS Services Message Transfer - I
- Delivers HAVi messages to SE in the network. The
message is delivered in the callback function of
the SE - Supports two modes of data transfer
- simple mode
- reliable mode
- Simple mode No control performed
- Reliable mode MS uses acknowledgements for
ensuring the delivery of messages
7MS Services Message Transfer - III
Simple Mode
IAV 1
IAV 2
MsgSendSimple()
Simple message
Invoke callback
Call returns
SE A
MS 1
MS 2
SE B
8MS Services Message Transfer - IV
Reliable Mode
IAV 1
IAV 2
MsgSendReliable()
Reliable message
Invoke callback
Callback returns
Ack/nak message
Call returns
SE A
MS 1
MS 2
SE B
9MS Services Message Transfer - V
Request Response Protocol
IAV 1
IAV 2
SEID B
MsgSendRequest()
Reliable message
Invoke callback
Callback returns
Ack message
Call returns
API called
MsgSendResponse()
Reliable/Simple message
Invoke callback
Ack/Noak message
Call returns
SE A
MS 1
MS 2
SE B
10MS Services Supervision
- With the aid of Event Manager services, MS
provides Watches/Supervision services - A SE can monitor the existence of any other SE
using this service - Example If a SE A monitors watches SE B, and SE
B ceases to exist, SE A is notified in its
callback about the disappearance of SE B
11MS Services Notification
- Using Event Manager services MS provides certain
notification services in HAVi - MS posts following events
- SystemReady() - Indicates that HAVi stack is
initialized and operational - MsgLeave() - Indicates that a SE has unregistered
from HAVi - MsgTimeOut() - Indicates that a certain message
did not get acknowledged within 30 s (HAVi
specified time out)
12Transport Adaptation Module (TAM)
- Provides 1394 services to the message handling
layer - Uses FCP command register to send and receive
HAVi messages/fragments of messages - Implements the fragmentation and reassembly of
larger HAVi messages
13Registry Introduction - I
- System service that provides directory service in
a HAVi network - Implemented as a software element in every IAV
and FAV device - Maintains a database of the local software
elements that have registered with it
14Registry Introduction - II
- Each entry in the Registry consists of SEID and
the attributes of the software element - Clients can retrieve attributes of any SEID in
the network or SEIDs that match certain attribute
criteria using the Registry API - Clients can register in the registry so that they
can be visible in HAVi network - If necessary the Registry uses Registry protocol
to retrieve results from other Registry to
satisfy a query
15Registry Attributes
- An Attribute consists of
- Class of the attribute
- Name if the attribute
- Value
- Two classes of attributes
- System
- Private
- System attributes are those that are defined by
HAVi specification - SE with private attribute should preferably have
a system attribute associated with it
16Registry System Attributes
Following attributes are defined in HAVi
Specification
- SoftwareElemenType
- VendorId
- HUID
- TargetId
- InterfaceId
- DeviceClass
- GuiReq
- MediaFormatId
- DeviceManufacturer
- DeviceModel
- SoftwareElementManufacturer
- SoftwareElementVersion
- AvLanguage
- UserPreferredName
17Registry Services Registration
- Clients are register or unregister from the HAVi
registry using this service - Following API provides this service
- RegisterElement()
- UnregisterElement()
18Registry Services Query
- Clients can query the registry to obtain a list
of SE that satisfy certain attributes - Clients can query the registry to obtain the
attributes of a certain SE - Following API provides this service
- RetrieveElement()
- GetElement()
- MultipleGetElement()
19Registry Services Notification
- Using Event Manager services Registry provides
certain notification services in HAVi - Registry posts following events
- NewSoftwareElement() - Indicates that a new SE
has registered with HAVi Registry - GoneSoftwareElement() - Indicates that an SE has
unregistered from HAVi Registry
20Registry Protocol
IAV 1
IAV 2
MsgSendRequest( GetElement(Query))
MsgSendRequest()
Reliable message
Invoke callback
API called
MsgSendResponse(Query Result)
Simple message
Invoke callback
MsgSendResponse(Query Result)
SE A
REG 1
MS 1
MS 2
REG 2
21Home Audio-Video interoperability