Need for a Digital Interface - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

Need for a Digital Interface

Description:

'change' is represented by an event. work as subscription and notification model ... subscription service API : EventManager::Register. EventManager::Unregister ... – PowerPoint PPT presentation

Number of Views:88
Avg rating:3.0/5.0
Slides: 26
Provided by: cons46
Category:

less

Transcript and Presenter's Notes

Title: Need for a Digital Interface


1
Clement Lau HAVi Organization Sony
Electronics clement_at_arch.sel.sony.com
2
- Event Manager
  • a mechanism to signal a change of state of a
    software element or the network in general
  • change is represented by an event
  • work as subscription and notification model
  • an event is either posted only to local host or
    globally to all IAV/FAV in the network
  • fully transparent, no need to know the physical
    location of event poster or subscriber
  • easy API for posting / receiving events anywhere
    in network

3
Event Manager
  • three types of events
  • system event
  • vendor specific event
  • application specific event
  • system events are defined by the HAVi
    organization and can only be posted by trusted
    software elements
  • private events can be defined either by vendor or
    by application

4
Event Manager Model (subscriber)
  • a software element decides the list of events it
    wants to keep track of (the listen-to event
    list)
  • subscribes to the listen-to event list by
    sending a registration request to the local Event
    Manager
  • the registration request contains opcode of the
    function that the software element uses to
    process event notification
  • when any of the subscribed event is posted
    (anywhere in the network), the local Event
    Manager sends an event notification message to
    the software element

5
Event Manager Model (subscriber)
  • an event notification message contains the posted
    event, the posters SEID, and is delivered to the
    receiving software elements message callback
    function
  • the software element deciphers the event
    notification message, extracts the event handling
    function opcode, and invokes the function to
    perform actual processing of the event delivered

6
Event Manager Model (subscriber)
  • subscription service API
  • EventManagerRegister
  • EventManagerUnregister
  • EventManagerReplace
  • EventManagerAddEvent
  • EventManagerRemoveEvent

7
Event Manager Model (poster)
  • software element wishing to post an event (event
    poster) first construct the event to be posted
  • a request is sent to the local Event Manager to
    either post the event locally or globally to all
    remote Event Manager in the network
  • each Event Manager finds the list of local
    software elements interested in the event
  • for each interested software element, the Event
    Manager constructs an event notification message
    and sends it to the software element

8
Event Manager Model (poster)
  • if the event is to be posted globally, coordinate
    with all remote Event Managers to deliver the
    event to the remote nodes
  • posting of a global event is totally transparent
    to the poster in the sense that
  • it is not aware of the physical location of the
    notified software elements
  • semantically, it can safely assume that all
    software elements interested in the event
    regardless where they physically reside will get
    the notification

9
Event Manager Model (poster)
  • HAVi defines the protocol for a local Event
    Manager to coordinate with remote Event Managers
    to deliver an event globally to all interested
    software element in the network
  • event posting service API
  • EventManagerPostEvent
  • EventManagerForwardEvent (inter Event Manager
    only)

10
- DCM Manager
  • component responsible for installing and
    uninstalling DCM code units that act as agents
    for applications to access functionality/service
    provided by BAV/LAV (known as guest)
  • DCM code units for FAV/IAV (if present) are self
    managed
  • mandatory on FAV, optional on IAV (the FAV/IAV is
    known as host)
  • automatic installation of a DCM code unit when a
    guest is connected, uninstallation of the guests
    DCM code unit when it is disconnected from the
    network

11
DCM Manager
  • LAV is either 1394 (but not HAVi compliant)
    device or non 1394 device
  • non 1394 device
  • e.g., VCR with NTSC analog signal and hard front
    panel controls
  • 1394 device (non HAVi compliant)
  • e.g., DV camcorder

12
DCM Manager

control command
like proprietary protocol such as SLink
LAV device
like analog AV stream
13
DCM Manager

control command
SDD DCM DDI
IEC 61883 FCP
BAV device
IEC 61883 CMP
14
DCM Manager




Potential DCM hosts
SDD DCM FCM
Global DCM Manager decides on DCM host
15
DCM Manager
  • HAVi defines a default scheme to select a host
    whenever a new guest is found in the network,
    which will then install the DCM code unit for the
    guest
  • a set of user modifiable preferences can be used
    to guide the selection of host and the DCM code
    unit of a guest
  • four preferences
  • PREFER_VENDOR_HOST
  • PREFERRED_HOST
  • PREFERRED_URL
  • PREFERRED_URL_DEVICE

16
DCM Manager
  • a leader selection protocol is executed whenever
    there is a change of number of DCM Managers in
    network
  • one of the DCM Managers is selected as the
    leader, the rest are called followers
  • the leader inquires the followers for the state
    of DCM code units installed for all BAV/LAV found
    in network
  • if any BAV/LAV does not have an installed DCM
    code unit, the leader coordinates with followers
    to select the most suitable host to install the
    DCM code unit
  • host selection is either done by the default
    protocol or guided by preferences

17
DCM Manager
  • highlights of default host selection protocol
  • if the guest is a BAV, an eligible FAV capable of
    uploading its Java DCM code unit is selected
  • if the guest is a LAV or there isnt any node
    capable of uploading a BAV Java DCM code unit,
    any FAV/IAV capable of installing a proprietary
    embedded DCM code unit for the guest is selected
  • all conditions being equal, a host with the
    lowest number of installed DCM code unit is
    selected
  • for BAV, the URL stored in its SDD takes
    precedence over its built-in DCM code unit

18
DCM Manager
  • highlights of preference guided host selection
    (note if any step succeeds, the remaining steps
    are skipped)
  • if PREFERRED_HOST is specified and the host is a
    valid node in network, it is selected
  • if PREFERRED_VENDOR_HOST is TRUE, a host of the
    same vendor as the guest that is capable of
    hosting its DCM code unit is selected
  • any FAV capable of hosting the guest DCM code
    unit is selected
  • any IAV capable of hosting the guest DCM code
    unit is selected

19
DCM Manager
  • highlights of preference guided DCM code unit
    selection (note if any step succeeds, the
    remaining steps are skipped)
  • if PREFERRED_URL is specified and the selected
    host is a FAV, the Java DCM code unit stored in
    the specified URL is installed
  • for a BAV guest and if the selected host is a
    FAV, the Java DCM code unit stored in the
    location specified by the URL in its SDD is
    installed
  • for a BAV guest and if the selected host is a
    FAV, the built-in Java DCM code unit stored in
    its SDD is installed
  • a proprietary embedded DCM code unit is installed
    by the selected host

20
DCM Manager
  • the event DcmInstallIndication is posted at the
    end of the process indicating the status of the
    DCM code unit installation attempt
  • an application should subscribe to this event if
    it wants to know the result of a guest DCM code
    unit installation

21
DCM Manager
  • when a guest disappears from the network, each
    DCM Manager gets a Network Reset event
    notification
  • check if the node currently hosts the guest DCM
    code unit and automatically uninstall the code
    unit if it does
  • there is no need to involve the leader in this
    process, each DCM Manager performs this task
    autonomously
  • the event DcmUninstallIndication is posted at the
    end of the process indicating the status of the
    DCM code unit uninstallation attempt
  • an application should subscribe to this event if
    it wants to know the result of the guest code
    unit uninstallation

22
DCM Manager
  • DCM Manager service API
  • DcmManagerSetPreference
  • DcmManagerGetPreference
  • DcmManagerInstallDCM
  • DcmManagerUninstallDCM

23
Self Describing Device data (SDD)
  • data in a HAVi compliant device configuration ROM
    containing
  • descriptive information about the device (e.g.
    device class)
  • device capabilities (e.g. support level 2 GUI)
  • DCM code unit
  • data to construct DDI user interface graphical
    elements
  • proprietary vendor specific data
  • configuration ROM based on IEEE 1212r
    specification
  • DCM Manager reads SDD to determine if it is
    capable of hosting a DCM code unit (Java or
    embedded) of the device

24
Self Describing Device data (SDD)
  • HAVi Unit Directory in the configuration ROM
    contains actual SDD data
  • mandatory fields in HAVi Unit Directory
  • Specifier_ID (0x00A02D assigned to 1394 TA by
    IEEE)
  • Version (0x010008 assigned by HAVi)
  • HAVi Message Version (0x000100 assigned by HAVi)
  • HAVi_Device_Profile (24 bit immediate value)
  • HAVi_User_Preferred_Name (24 bit leaf offset)
  • HAVi_DCM (24 bit leaf offset)
  • HAVi_DCM_Profile (24 bit leaf offset)
  • HAVi_DCM_Reference (24 bit leaf offset)
  • HAVi_Device_Icon_Bitmap (24 bit leaf offset)

25
Self Describing Device data (SDD)
  • each leaf offset is the pointer to a 1212 leaf
    structure containing actual data for that field
  • for example, the HAVi_DCM_Profile field contains
    the offset to a leaf structure which in turn
    contains information about the DCM code unit such
    as its total size in bytes, required memory size
    of code segment, required memory size of data
    segment etc
  • non HAVi device do not have SDD and proprietary
    mechanism can be used by vendors to determine
    what these devices are (e.g. use AVC protocols)
Write a Comment
User Comments (0)
About PowerShow.com