32
Introduction to Introduction to HAVi (Home A/V Interoperabi HAVi (Home A/V Interoperabi lity) lity) 배배배 ([email protected]) 배배배배배배배배배배 배배배 S/W 배배배배배

Introduction to HAVi (Home A/V Interoperability) 배유석 ([email protected]) 인터넷정보가전연구부 컴퓨터 S/W 기술연구소

Embed Size (px)

Citation preview

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

12

HAVi ConfigurationHAVi Configuration

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

16

HAVi Software ArchitectureHAVi Software Architecture

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)

Q & A Q & A