Introduction to HAVi (Home A/V Interoperability) 배유석 ([email protected])...
Transcript of Introduction to HAVi (Home A/V Interoperability) 배유석 ([email protected])...
Introduction to Introduction to HAVi (Home A/V Interoperability)HAVi (Home A/V Interoperability)
배유석([email protected])
인터넷정보가전연구부컴퓨터 S/W 기술연구소
2
Home Network ClassificationHome Network Classification
▣ Data NetworkData Network◈ Jini, UPnP, HomeRF, BluetoothJini, UPnP, HomeRF, Bluetooth◈ USBUSB
▣ A/V NetworkA/V Network◈ HAVi, VESA (HWW)HAVi, VESA (HWW)◈ IEEE1394IEEE1394
▣ Control NetworkControl Network◈ OSGiOSGi◈ LonWorks, X.10, CEBusLonWorks, X.10, CEBus
3
NetworkNetworkcameracamera
CommunicationsCommunicationsand controland control
HomeRFHomeRF
HubHub
Power linePower line
networknetwork
HomePNAHomePNAPhone line networkPhone line network
Public networksPublic networksPSTN, InternetPSTN, Internet
PrinterPrinter
CameraCamera ScannerScanner
Web Web phonephone
IEEE 1394IEEE 1394
EntertainmentEntertainmentCenterCenter
ConnectingConnecting EverythingEverythingPowerful, but complex Powerful, but complex
infrastructureinfrastructure
4
X-10, CEBusX-10, CEBus
Phone line, RF, Ethernet, Phone line, RF, Ethernet, power linepower line
1394, fast RF, 1394, fast RF, otherother
HomeHomeAutomationAutomation
ControlControl Control + dataControl + data Control + dataControl + data+ multimedia+ multimedia
19991999 2000+2000+
Device sharingDevice sharingShared Internet accessShared Internet accessCommunicationsCommunicationsMulti-player gamingMulti-player gaming
MultimediaMultimediadistributiondistribution
-1998-1998
Media and Function EvolutionMedia and Function EvolutionStandards will coexistStandards will coexist
5
What’s HAVi?What’s HAVi?▣ AbstractAbstract
◈ Consumer Electronics(CE) industry standardConsumer Electronics(CE) industry standard◈ Support various vendor, brand’s Digital AV deviceSupport various vendor, brand’s Digital AV device
ss◈ Transfer and manipulate digital AV data between dTransfer and manipulate digital AV data between d
evicesevices◈ Not control network Not control network
– cf. LonWorks (Lightning, Climate Control, and etc)cf. LonWorks (Lightning, Climate Control, and etc)
▣ HistoryHistory◈ Sony, Matsushita, Philips, Thomson, Hitachi, Sony, Matsushita, Philips, Thomson, Hitachi,
Toshiba, Sharp, Grundig, Toshiba, Sharp, Grundig, SamsungSamsung, Sun , Sun MicrosystemsMicrosystems
◈ Core Spec is published in May Core Spec is published in May 19981998◈ HAVi Spec. 1.0 is published in January 2000HAVi Spec. 1.0 is published in January 2000◈ HAVi device & DemoHAVi device & Demo in March 2000in March 2000
6
InteroperabilityInteroperability
▣ InteroperabilityInteroperability◈ HAVi device detects each otherHAVi device detects each other◈ HAVi protocol is used to communicateHAVi protocol is used to communicate◈ Various vendors will support HAVi to coopeVarious vendors will support HAVi to coope
raterate
▣ Benefits of interoperabilityBenefits of interoperability◈ User will do only power-onUser will do only power-on◈ Independent of vendor and brandIndependent of vendor and brand◈ Accept new device to network easilyAccept new device to network easily
7
Network Environment for HAViNetwork Environment for HAVi
▣ IEEE-1394 busIEEE-1394 bus◈ Backbone of HAVi networkBackbone of HAVi network
– Plug-N-Play, Self ConfigurationPlug-N-Play, Self Configuration– Bandwidth is 100-400MbpsBandwidth is 100-400Mbps– Asynchronous, Isochronous transfer protocolAsynchronous, Isochronous transfer protocol– FireWire(Apple), i.Link(Sony) : accepted for digital dFireWire(Apple), i.Link(Sony) : accepted for digital d
evicesevices
◈ How does HAVi relate to IP?How does HAVi relate to IP?– IP is open network protocol for distributed InternetIP is open network protocol for distributed Internet– HAVi uses closed protocol for in-home networkHAVi uses closed protocol for in-home network– Web Access API for HAVi devices with IP stackWeb Access API for HAVi devices with IP stack
Home Gateway with IP over 1394
8
HAVi NetworkHAVi Network
▣ Clustering of IEEE-1394 devicesClustering of IEEE-1394 devices◈ I-TV, Set-Top Box, Cable Modem - controller I-TV, Set-Top Box, Cable Modem - controller ◈ Camcorder, Digital audio, VCR - controlled deviceCamcorder, Digital audio, VCR - controlled device◈ Configured in distributed environmentConfigured in distributed environment
9
HAVi SpecialityHAVi Speciality▣ Legacy devicesLegacy devices
◈ Support non-HAVi 1394 devicesSupport non-HAVi 1394 devices▣ Future-proofFuture-proof
◈ Accept new device easilyAccept new device easily– SDD (Self Describing Data)SDD (Self Describing Data)– JRE (Java Run-time Environment)JRE (Java Run-time Environment)– DDI (Data Driven Interaction): Independent UI of deviceDDI (Data Driven Interaction): Independent UI of device
▣ Plug-and-PlayPlug-and-Play◈ Detect new device and configure network automatiDetect new device and configure network automati
callycally▣ FlexibleFlexible
◈ Can use various devices of vendor, brandCan use various devices of vendor, brand◈ Support multiple H/W platforms (from CEs to ServSupport multiple H/W platforms (from CEs to Serv
ers)ers)
10
HAVi SDD (Self Describing DatHAVi SDD (Self Describing Data)a)
▣ What?What?◈ IEEE 1212 addressing schemeIEEE 1212 addressing scheme◈ Configuration ROMConfiguration ROM
▣ ConfigurationConfiguration◈ Root directoryRoot directory
– vendor, Model_ID, instance dirvendor, Model_ID, instance directory offset, unit directory offectory offset, unit directory offsetset
◈ Instance DirectoryInstance Directory– HAVi unit directory offsetHAVi unit directory offset– IEC61883 unit directory offsetIEC61883 unit directory offset
◈ HAVi unit directoryHAVi unit directory– spec_id,version, DCM_Profile, spec_id,version, DCM_Profile,
DCM_Reference, IconDCM_Reference, Icon◈ IEC 61883 unit directoryIEC 61883 unit directory
– spec_id, version, …spec_id, version, …
IEC 61883unit directory
HAVi unit directory
Root directory
Instance directory
ROMbase(FFFF F000 0000)
11
HAVi ModelHAVi Model
▣ Control ModelControl Model◈ Controller(FAV, IAV), Controlled Controller(FAV, IAV), Controlled
device(BAV, LAV)device(BAV, LAV)◈ Embedded DCM(non-Java), Uploaded Embedded DCM(non-Java), Uploaded
DCM(Java)DCM(Java)▣ Device ModelDevice Model
◈ DCM(Device Control Module)DCM(Device Control Module)◈ FCM(Functional Component Module)FCM(Functional Component Module)
▣ Device ClassificationDevice Classification◈ FAV > IAV > BAV > LAVFAV > IAV > BAV > LAV
13
HAVi Basic DefinitionHAVi Basic Definition
▣ Software ElementSoftware Element◈ middle layermiddle layer between platform specific AP between platform specific AP
Is and platform independent applicationsIs and platform independent applications◈ network management(CMM), network management(CMM), ◈ device abstraction(DCM, FCM)device abstraction(DCM, FCM)◈ inter-device communication(MSG)inter-device communication(MSG)◈ UI management(DDI, Havlet)UI management(DDI, Havlet)
14
Device Control ModuleDevice Control Module
▣ an interface for controlling an interface for controlling general funcgeneral functionstions of a device of a device
▣ has a zero or more FCMshas a zero or more FCMs▣ registered in the registered in the RegistryRegistry and communi and communi
cate with other HAVi objects via the cate with other HAVi objects via the MeMessaging Systemssaging System
15
Functional Component ModuleFunctional Component Module
▣ an interface for controlling an interface for controlling specific funspecific functional componentctional component of a device of a device
▣ represent the represent the functionalityfunctionality of an device of an device▣ registered in the registered in the RegistryRegistry and communi and communi
cate with other HAVi objects via the cate with other HAVi objects via the MeMessaging Systemssaging System
17
Communication Media ManagerCommunication Media Manager▣ Packet Transfer, ReceivePacket Transfer, Receive
◈ Low-level Packet Send and Receive using 1394 busLow-level Packet Send and Receive using 1394 bus◈ Read, Write, Lock transactionRead, Write, Lock transaction◈ Asynchronous Packet Receive Notify etc.Asynchronous Packet Receive Notify etc.
▣ GUID(Global Unique ID)GUID(Global Unique ID)◈ Unique ID for a 1394 device Unique ID for a 1394 device ◈ NodeId is changed but GUID is fixedNodeId is changed but GUID is fixed◈ node-vendor ID (24bits)+unique chipset number(40node-vendor ID (24bits)+unique chipset number(40
bits)bits)▣ Network ResetNetwork Reset
◈ Posted when network topology is changedPosted when network topology is changed◈ Send notification to Event Manager Send notification to Event Manager
18
Messaging SystemMessaging System
▣ Message Send LayerMessage Send Layer◈ SEID (Software Element ID)SEID (Software Element ID)
– Unique ID for All S/W ElementsUnique ID for All S/W Elements– GUID(64bits) + SwHandle(16bits) allocated by MSGGUID(64bits) + SwHandle(16bits) allocated by MSG
◈ Message Transfer modeMessage Transfer mode– simple, reliable (include synchronize)simple, reliable (include synchronize)
◈ TAM(Transportation Adaptation Module)TAM(Transportation Adaptation Module)– The unit of transfer between two S/W elementsThe unit of transfer between two S/W elements– Fragmentation and ordering of a HAVi messageFragmentation and ordering of a HAVi message– IEC 61883 FCP(Function Control Protocol) PacketIEC 61883 FCP(Function Control Protocol) Packet
19
General HAVi Message FormatGeneral HAVi Message Format
▣ DestSEID : Receiving SE, SourceSEID : Sending SEDestSEID : Receiving SE, SourceSEID : Sending SE▣ ProtocolType : HAVi_RMI ProtocolType : HAVi_RMI ▣ MessageType: simple, reliable MessageType: simple, reliable ▣ MessageNumber: Unique 8bit number to distinguish messageMessageNumber: Unique 8bit number to distinguish message▣ MessageLength :The Length of MessageBody(header, parameters)MessageLength :The Length of MessageBody(header, parameters)
20
Event ManagerEvent Manager
▣ SE registers interesting events to the Event ManagerSE registers interesting events to the Event Manager
▣ SE posts a Event to the local Event ManagerSE posts a Event to the local Event Manager▣ Event Manager has a Internal table for registered Event Manager has a Internal table for registered
EventsEvents▣ If a posted event is If a posted event is globalglobal then forward to all Event then forward to all Event
ManagersManagers
SESE
MSGMSG
EventEventManagerManager
InternalInternalTableTable
MSGMSG
RegisterRegister
NotifyNotify
AddAddSearchSearch
PostPostRemote Remote
EventEventManagerManager
forwardforward
21
RegistryRegistry
SESE
MSGMSG
RegistryRegistry DatabaseDatabase
MSGMSG
RegisterRegister
RetrieveRetrieveGetGet
RetrieveRetrieve
▣ Has Registry Database Has Registry Database ◈ (SEID, Attribute) Records(SEID, Attribute) Records
– attribute : ATT_DEVICE_MANUF, “sony”attribute : ATT_DEVICE_MANUF, “sony”◈ Support simple or complex query APISupport simple or complex query API
22
Device ControlDevice Control
▣ All HAVi devices have DCM All HAVi devices have DCM ◈ Support APIs for UI, device controlSupport APIs for UI, device control◈ FCMs exist related a DCMFCMs exist related a DCM◈ Control : IAV (embedded DCM), FAV (JRE)Control : IAV (embedded DCM), FAV (JRE)◈ UI - IAV : DDI controller, FAV : havlet or Java application UI - IAV : DDI controller, FAV : havlet or Java application
IAV- or FAV- FAV+IAV+
Controlled device
DDI controller
DDI controller havlethavletFCMFCM
DCMDCM
DDIprotocol
ProprietaryProtocol
1394
23
DCM Code UnitDCM Code Unit
▣ DCM code unitDCM code unit◈ Code Unit file (DCM, FCM, install code), Profile fileCode Unit file (DCM, FCM, install code), Profile file◈ self-extracted JARself-extracted JAR◈ HAVi device has SDD which contains DCM code unitHAVi device has SDD which contains DCM code unit◈ DCM manager gets some DCM code unit when power-upDCM manager gets some DCM code unit when power-up
DCM ManagerDCM Manager
DCMDCM
CMMCMM
FCM 1FCM 1 FCM nFCM n
RegistryRegistry
DCM Code UnitDCM Code Unit
24
DCM ManagerDCM Manager▣ Manages DCM Code UnitsManages DCM Code Units
◈ Install/Remove DCM Code Unit for a HAVi deviceInstall/Remove DCM Code Unit for a HAVi device◈ Check Profile, install Code Unit ->DCM ->FCM Check Profile, install Code Unit ->DCM ->FCM
▣ Preference ManagementPreference Management◈ Only one Code Unit exists on a HAVi NetworkOnly one Code Unit exists on a HAVi Network◈ Choose a Host which Code Unit will be installed Choose a Host which Code Unit will be installed
– Find a host has same vendor as device : FAV->IAVFind a host has same vendor as device : FAV->IAV– If above conditions are same then choose the host has loIf above conditions are same then choose the host has lo
wer loadwer load◈ Choose the Code Unit will be installedChoose the Code Unit will be installed
– SDD has DCM Code Unit or URL SDD has DCM Code Unit or URL – URL -> SDD’s DCM Code Unit URL -> SDD’s DCM Code Unit
25
Stream Manager (1/2)Stream Manager (1/2)▣ provide end-to-end isochronous streamingprovide end-to-end isochronous streaming▣ TermsTerms
◈ PlugPlug– component which a stream is coming in or going outcomponent which a stream is coming in or going out– FC plug, device plugFC plug, device plug– source plug, sink plugsource plug, sink plug
◈ ConnectionConnection– internal connection, external connectioninternal connection, external connection– fc plug -> device plug ---> device plug->fc plugfc plug -> device plug ---> device plug->fc plug
◈ Stream typeStream type– Media representation (like CD audio, video, etc)Media representation (like CD audio, video, etc)
◈ Transport typeTransport type– Transport system (like IEC61883, INTERNAL, CABLE)Transport system (like IEC61883, INTERNAL, CABLE)
◈ Transmission formatTransmission format– Transmission protocol (like IEC61883, FMT_FDF)Transmission protocol (like IEC61883, FMT_FDF)
◈ ChannelChannel– Resource provided by a transport mechanism to build connectioResource provided by a transport mechanism to build connectio
nn
26
Stream Manager (2/2)Stream Manager (2/2)
▣ Support all APIs for end-to-end streamingSupport all APIs for end-to-end streaming◈ internal connections, external connections internal connections, external connections ◈ Manage transport system resourcesManage transport system resources◈ Manage connection mapManage connection map◈ Check plug compatibilityCheck plug compatibility◈ Recovery all connections when Network Reset occursRecovery all connections when Network Reset occurs
Host 1 Host 2Controlled
device2
Streammanager1
Streammanager1
Streammanager2
Streammanager2
DCMplug1DCMplug1
DCMplug2DCMplug2
FCMplug1FCMplug1
FCMplug2FCMplug2
Controlleddevice1
27
Resource Manager (1/2)Resource Manager (1/2)▣ DefinitionDefinition
◈ ResourceResource– Network Resource like bandwidth, channelNetwork Resource like bandwidth, channel– Device Resource is FCMsDevice Resource is FCMs
◈ ReservationReservation– To use a service, reserve all resources for itTo use a service, reserve all resources for it– Client, contender, all-or-nothingClient, contender, all-or-nothing
◈ SharingSharing– Some devices permit multiple clients to share itSome devices permit multiple clients to share it– Access: primary (full control), secondary (limited control)Access: primary (full control), secondary (limited control)
◈ Negotiation and PreemptionNegotiation and Preemption– NIR(Non-Intrusive Reservation)NIR(Non-Intrusive Reservation)– NIR fails then negotiate with Resource ManagerNIR fails then negotiate with Resource Manager– If client allows preemption then preempt it or failsIf client allows preemption then preempt it or fails
28
Resource Manager (2/2)Resource Manager (2/2)
▣ ReservationReservation◈ Client1 gets the information of FCM (VCR2) from RegistryClient1 gets the information of FCM (VCR2) from Registry◈ Try NIR through RM1Try NIR through RM1◈ Preemption request to client2 through RM1Preemption request to client2 through RM1◈ RM1 reserves FCM (VCR2) through RM2RM1 reserves FCM (VCR2) through RM2
29
Similar TechnologiesSimilar Technologies
▣ Jini (Sun Microsystems)Jini (Sun Microsystems)◈ Infrastructure, Programming Model, ServiceInfrastructure, Programming Model, Service
▣ UPnP (MS, Intel)UPnP (MS, Intel)◈ Discovery, Description, UsageDiscovery, Description, Usage
▣ OSGi (Cisco, Sun)OSGi (Cisco, Sun)◈ Open Service GatewayOpen Service Gateway
▣ HWW (Samsung)HWW (Samsung)◈ IP-based VESA-HNIP-based VESA-HN
▣ LonMark (Echelon)LonMark (Echelon)◈ Control network: LonWorksControl network: LonWorks
30
Future Home NetworkFuture Home Network
Sony, Sun and Philips agree to Sony, Sun and Philips agree to develop gateway software develop gateway software
(January 1999)(January 1999)
JiniJini UPnPUPnP
HP develops software to allowHP develops software to allowdevices with Java executiondevices with Java executionEnvironment to run underEnvironment to run under
UPnP (April 1999)UPnP (April 1999)
Microsoft announces interconnections Microsoft announces interconnections with HAVi under UPnp specification with HAVi under UPnp specification
(January 1999)(January 1999)
HAViHAVi
31
ConclusionConclusion
▣ HAVi HAVi ◈ Connects Digital CEs with IEEE 1394 busConnects Digital CEs with IEEE 1394 bus◈ Supports Intelligent devices and Legacy deSupports Intelligent devices and Legacy de
vicesvices◈ Has Middleware to support interoperability Has Middleware to support interoperability ◈ It is easy to accept advanced device (with It is easy to accept advanced device (with
JRE)JRE)◈ Has closed in-home network protocolHas closed in-home network protocol◈ Can connect to outside through a Gateway Can connect to outside through a Gateway
(Modem, Web APIs) (Modem, Web APIs)