Audio/Video Interconnectivity domain and analysis of ...

77
Audio/Video Audio/Video Interconnectivity domain Interconnectivity domain and analysis of and analysis of interoperability interoperability standards standards BY Khaleel Ali BY Khaleel Ali COMP 529 COMP 529

description

 

Transcript of Audio/Video Interconnectivity domain and analysis of ...

Page 1: Audio/Video Interconnectivity domain and analysis of ...

Audio/Video Interconnectivity Audio/Video Interconnectivity domain and analysis of domain and analysis of

interoperability standardsinteroperability standards

BY Khaleel AliBY Khaleel Ali

COMP 529COMP 529

Page 2: Audio/Video Interconnectivity domain and analysis of ...

Overview of the presentationOverview of the presentation

Different worlds of electronicsDifferent worlds of electronicsBrief history of PC including StatisticsBrief history of PC including StatisticsUPNP UPNP

Description, Implementation and problemsDescription, Implementation and problemsDigital Living Network Alliance (DLNA)Digital Living Network Alliance (DLNA)Some UPnP productsSome UPnP products

HAVIHAVIDescription, Implementation and problemsDescription, Implementation and problems

ConclusionConclusion

Page 3: Audio/Video Interconnectivity domain and analysis of ...

Three different worldsThree different worlds

Personal computer or PCPersonal computer or PCMonitor, printer, scanner, etcMonitor, printer, scanner, etc

Consumer electronic products or CEConsumer electronic products or CEStereo, receiver, DVD player etcStereo, receiver, DVD player etc

And MobileAnd MobileLaptop, PDA, cell phone etcLaptop, PDA, cell phone etc

Page 4: Audio/Video Interconnectivity domain and analysis of ...

Examples of some Consumer Examples of some Consumer electronic products (CE)electronic products (CE)

Page 5: Audio/Video Interconnectivity domain and analysis of ...

Examples of some Consumer Examples of some Consumer electronic products (CE)electronic products (CE)

Page 6: Audio/Video Interconnectivity domain and analysis of ...

Mobile worldMobile world

Page 7: Audio/Video Interconnectivity domain and analysis of ...

WHY IS THIS HAPPENING WHY IS THIS HAPPENING NOW AND WHAT ARE NOW AND WHAT ARE FACTORS THAT ARE FACTORS THAT ARE

CAUSING THIS CAUSING THIS INTERCONNECTIVITY OF PC, INTERCONNECTIVITY OF PC, CE AND MOBILE DEVICES ?CE AND MOBILE DEVICES ?

Page 8: Audio/Video Interconnectivity domain and analysis of ...

First factorFirst factor

Price of PC has dropped to the lowest Price of PC has dropped to the lowest level in history. level in history. 10 years ago, cost of computers was around 10 years ago, cost of computers was around

$3000 or more. Now one can buy a good $3000 or more. Now one can buy a good system for about $300. system for about $300. eMachine Cel-2.6GHz Desktop + 17" CRT + eMachine Cel-2.6GHz Desktop + 17" CRT +

Printer $210 after $400MIR from Bestbuy.comPrinter $210 after $400MIR from Bestbuy.com

Bundling PCs with online access servicesBundling PCs with online access servicesExtra rebates for signing up for an online service Extra rebates for signing up for an online service

Page 9: Audio/Video Interconnectivity domain and analysis of ...

Results of first factorResults of first factor

By the end of 1999, 52% of U.S By the end of 1999, 52% of U.S households had at least one PC, and 25% households had at least one PC, and 25% had multiple PCs according to had multiple PCs according to International Data Corporation. International Data Corporation.

By 2004 IDC expects 62% of households By 2004 IDC expects 62% of households in U.S. will have at least one PC and 43% in U.S. will have at least one PC and 43% will have multiple PCs. will have multiple PCs.

Most households have at least one CE Most households have at least one CE product.product.

Page 10: Audio/Video Interconnectivity domain and analysis of ...

Second factorSecond factor

Increasing growth of home-based Increasing growth of home-based officesofficesMore and more people are creating home More and more people are creating home

offices for their own businesses and for offices for their own businesses and for completing tasks for their fulltime jobs. completing tasks for their fulltime jobs.

This subsegment of the home networking This subsegment of the home networking marketplace is less price sensitive and much marketplace is less price sensitive and much more focused on the productivity returns of a more focused on the productivity returns of a given networking peripheral.given networking peripheral.

Page 11: Audio/Video Interconnectivity domain and analysis of ...

Third factorThird factor Increasingly Knowledgeable Consumers driving new Increasingly Knowledgeable Consumers driving new

applications. applications. Consumers are more educated now than ever about the Consumers are more educated now than ever about the

potential that PCs represent. potential that PCs represent. No longer satisfied with just word-processing and e-mail, many No longer satisfied with just word-processing and e-mail, many

consumers now demand Internet sharing, file sharing, gaming consumers now demand Internet sharing, file sharing, gaming both within the same household and across the Internet, both within the same household and across the Internet, peripheral sharing including networked printers and even DVD peripheral sharing including networked printers and even DVD video applications. video applications.

Consumers using the fullest extent of the Internet are early Consumers using the fullest extent of the Internet are early adopters, their needs and focus on a wide variety of applications adopters, their needs and focus on a wide variety of applications is already having an impact on how standards are defined and is already having an impact on how standards are defined and devices are designed and manufactured.devices are designed and manufactured.

Consumers are acquiring, viewing, and managing an increasing Consumers are acquiring, viewing, and managing an increasing amount of digital media on devices in the CE, mobile and PC amount of digital media on devices in the CE, mobile and PC domains. They want to enjoy this content easily and domains. They want to enjoy this content easily and conveniently – regardless of the source – across different conveniently – regardless of the source – across different devices and locations in the home.devices and locations in the home.

Page 12: Audio/Video Interconnectivity domain and analysis of ...

Results of second and third factorsResults of second and third factors

Users want faster home networks and access to Users want faster home networks and access to internet internet

Page 13: Audio/Video Interconnectivity domain and analysis of ...

Now can the three worlds ever Now can the three worlds ever merge?merge?

Personal computers (PC) and consumer Personal computers (PC) and consumer electronic products (CE) have always been electronic products (CE) have always been viewed as separate entities.viewed as separate entities. Speakers for computers, and stereo in a single room.Speakers for computers, and stereo in a single room. TV and then a monitor connected to a PC in a single TV and then a monitor connected to a PC in a single

room.room. But technologies exist that can interconnect PC But technologies exist that can interconnect PC

with CE.with CE. Common Digital media formats EX MP3, WAV, DVD, Common Digital media formats EX MP3, WAV, DVD,

MPEG etcMPEG etc We can transfer media using:We can transfer media using:

Wired and wireless networks as a backplane for Wired and wireless networks as a backplane for device connectivity.device connectivity.

Broadband Internet connections for high-speed Broadband Internet connections for high-speed access to Internet-based content.access to Internet-based content.

Page 14: Audio/Video Interconnectivity domain and analysis of ...

So what was causing the delay in So what was causing the delay in convergence?convergence?

Standards were missingStandards were missing a widely-adopted, standards-based network technology to allow a widely-adopted, standards-based network technology to allow

devices from the PC and CE worlds to offer their functionalities devices from the PC and CE worlds to offer their functionalities and advertise their services to other network devices. and advertise their services to other network devices.

Consumers wantConsumers want Products designed for the home should be easy to install, Products designed for the home should be easy to install,

provide obvious user value and be affordable.provide obvious user value and be affordable. Digital home products must interoperate with each other and Digital home products must interoperate with each other and

with existing consumer electronic devices such as TVs and with existing consumer electronic devices such as TVs and stereos.stereos.

Product Developer’s DilemmaProduct Developer’s Dilemma Open industry standards are often too flexible – products built by Open industry standards are often too flexible – products built by

different vendors all too often fail to interoperate well. Design different vendors all too often fail to interoperate well. Design choices should be narrowed through industry consensus to choices should be narrowed through industry consensus to better achieve interoperability.better achieve interoperability.

Current end-to-end solutions based on proprietary vertical Current end-to-end solutions based on proprietary vertical implementations bring products to market early but have little implementations bring products to market early but have little impact on rapidly establishing a new category of products.impact on rapidly establishing a new category of products.

Page 15: Audio/Video Interconnectivity domain and analysis of ...

THE STANDARDS HAVE ARRIVED

Page 16: Audio/Video Interconnectivity domain and analysis of ...

First standard UPnPFirst standard UPnP Universal Plug and Play Device Architecture Universal Plug and Play Device Architecture

(UPnP)(UPnP) Introduced in 1999 and backed by Microsoft, UPnP Introduced in 1999 and backed by Microsoft, UPnP

technology has been the preferred device discovery technology has been the preferred device discovery and control protocol.and control protocol.

UPnP is more than just a simple extension of the plug UPnP is more than just a simple extension of the plug and play peripheral model. There are more than and play peripheral model. There are more than 738 738 vendors in consumer electronics, computing, home vendors in consumer electronics, computing, home automation, home security, appliances, printing, automation, home security, appliances, printing, photography, computer networking, and mobile products. photography, computer networking, and mobile products.

Examples of UPnP devicesExamples of UPnP devices Scanners, cameras, CD players, internet gateways etcScanners, cameras, CD players, internet gateways etc Digital Media Adapters (DMAs), which allow the user to view Digital Media Adapters (DMAs), which allow the user to view

content from the PC on the TV.content from the PC on the TV. SOON Garage door openers, lights, and switches will be SOON Garage door openers, lights, and switches will be

available with UPnP technology.available with UPnP technology.

Page 17: Audio/Video Interconnectivity domain and analysis of ...

Network of devices UPnPNetwork of devices UPnP

Page 18: Audio/Video Interconnectivity domain and analysis of ...

So what is UPnP?So what is UPnP? UPnP UPnP

Supports peer-to-peer architecture that allows network Supports peer-to-peer architecture that allows network connectivity of intelligent appliances, wireless devices, and PCs connectivity of intelligent appliances, wireless devices, and PCs of all form factors. of all form factors.

Also supports DHCP and DNS servers and are used only if Also supports DHCP and DNS servers and are used only if available on the network. (optional)available on the network. (optional)

offers Easy-to-use, flexible and standard-based connectivity to offers Easy-to-use, flexible and standard-based connectivity to ad-hoc or unmanaged networks whether in home, small ad-hoc or unmanaged networks whether in home, small business, public spaces, or attached to the Internet. business, public spaces, or attached to the Internet.

Is designed to support zero-configuration, "invisible" networking, Is designed to support zero-configuration, "invisible" networking, and automatic discovery device categories from a wide range of and automatic discovery device categories from a wide range of vendors. vendors.

A device can dynamically join a network, obtain an IP address, A device can dynamically join a network, obtain an IP address, convey its capabilities, and learn about the presence and convey its capabilities, and learn about the presence and capabilities of other devices. capabilities of other devices.

A device can leave a network smoothly and automatically without A device can leave a network smoothly and automatically without leaving any unwanted state behind.leaving any unwanted state behind.

Page 19: Audio/Video Interconnectivity domain and analysis of ...

What is UPNP? (cont..)What is UPNP? (cont..)UPnP UPnP

leverages TCP/IP, UDP, HTTP, SOAP, the leverages TCP/IP, UDP, HTTP, SOAP, the Document Object Model, and XML and the Web Document Object Model, and XML and the Web technologies to enable networking in addition to technologies to enable networking in addition to control and data transfer.control and data transfer.

uses IP internetworking because uses IP internetworking because of its proven ability to span different physical mediaof its proven ability to span different physical mediato enable real world multiple-vendor interoperationto enable real world multiple-vendor interoperationand to connect with the Internet and many home and and to connect with the Internet and many home and

office intranets. office intranets. Further, via bridging, UPnP accommodates media Further, via bridging, UPnP accommodates media

running non-IP protocols when cost, technology, or running non-IP protocols when cost, technology, or legacy prevents the media or devices attached to it legacy prevents the media or devices attached to it from running IP. from running IP. 

Page 20: Audio/Video Interconnectivity domain and analysis of ...

The UPnP protocol stack The UPnP protocol stack

Page 21: Audio/Video Interconnectivity domain and analysis of ...

Devices in UPnPDevices in UPnPUPnP devicesUPnP devices

are a logical container with a unique type.are a logical container with a unique type.provide self-describing information such as provide self-describing information such as

the manufacturer, model name, and serial the manufacturer, model name, and serial number.number.

offer any number of services, each service offer any number of services, each service with its own unique service type. with its own unique service type.

services provide the real functionality. services provide the real functionality. may also contain other devices may also contain other devices

logical composition of devices allows the logical composition of devices allows the embedded device to be discovered and used embedded device to be discovered and used independently from the main container device. independently from the main container device.

Page 22: Audio/Video Interconnectivity domain and analysis of ...

Class diagram of the UPnP Device Class diagram of the UPnP Device

Page 23: Audio/Video Interconnectivity domain and analysis of ...

Device and their services in UPnPDevice and their services in UPnP UPnP device is similar to an object, the services UPnP device is similar to an object, the services

are like interfaces supported by the object, and are like interfaces supported by the object, and the actions in a service are like functions in an the actions in a service are like functions in an interface. interface.

Each service in a UPnP device may contain Each service in a UPnP device may contain any number of actions thatany number of actions that

Can have a set of input arguments Can have a set of input arguments return valuereturn value

Has a unique Service ID Uniform Resource Identifier Has a unique Service ID Uniform Resource Identifier (URI)(URI)

variables that represent that service's current status variables that represent that service's current status

Page 24: Audio/Video Interconnectivity domain and analysis of ...

Class diagram of UPnP Service Class diagram of UPnP Service

Page 25: Audio/Video Interconnectivity domain and analysis of ...

Control Points in UPnPControl Points in UPnP A control point is a network entity that invokes a device's A control point is a network entity that invokes a device's

functionality. functionality. In client/server computing terms, the control point is the In client/server computing terms, the control point is the

client and the device is the server. client and the device is the server. Control points invoke actions on services, providing any Control points invoke actions on services, providing any

required input parameters and receiving any output required input parameters and receiving any output parameters and possibly a return value. parameters and possibly a return value.

A control point discovers devices, invokes actions on a A control point discovers devices, invokes actions on a device's services, and subscribes to event notifications. device's services, and subscribes to event notifications.

A device, on the other hand, responds to invoked A device, on the other hand, responds to invoked actions, sends events when state variables change, and actions, sends events when state variables change, and supports a Web page for administrative controlsupports a Web page for administrative control

Page 26: Audio/Video Interconnectivity domain and analysis of ...

A control point invoking an action A control point invoking an action on a service on a service

Page 27: Audio/Video Interconnectivity domain and analysis of ...

How does UPnP work?How does UPnP work?1.1. AddressingAddressing

Device requests IP from DHCP if available.Device requests IP from DHCP if available.

2.2. Discovery Discovery Control points and/or devices must discover each Control points and/or devices must discover each

other.other.

3.3. Description Description Device sends its information to control pointDevice sends its information to control point

4.4. Control Control Control points can now send action messages to Control points can now send action messages to

device(s)device(s)

5.5. Eventing Eventing Changes in device status is sent to control pointChanges in device status is sent to control point

6.6. Presentation Presentation Device settingsDevice settings

Page 28: Audio/Video Interconnectivity domain and analysis of ...

AddressingAddressing is the process by which a device automatically acquires is the process by which a device automatically acquires

an IP address.an IP address. is the first step in the operation of a UPnP device. is the first step in the operation of a UPnP device. allows a device to join the network and to prepare to allows a device to join the network and to prepare to

communicate with other UPnP devices and control communicate with other UPnP devices and control points. points.

protocols are built in to UPnP devices which allow protocols are built in to UPnP devices which allow devices to join an IP network dynamically and to acquire devices to join an IP network dynamically and to acquire an address without user configuration. an address without user configuration.

takes into account whether a device is operating in an takes into account whether a device is operating in an unmanaged or managed network. unmanaged or managed network. A device first attempts to contact a DHCP service to acquire an A device first attempts to contact a DHCP service to acquire an

address. If it fails to locate a DHCP server, the device uses Auto-address. If it fails to locate a DHCP server, the device uses Auto-IP, which enables devices to select addresses without a DHCP IP, which enables devices to select addresses without a DHCP server being present to assign that address. The addresses are server being present to assign that address. The addresses are taken from a set of well-known, non-routable addresses. DHCP taken from a set of well-known, non-routable addresses. DHCP is a UDP-based protocol, while Auto-IP uses the Address is a UDP-based protocol, while Auto-IP uses the Address Resolution Protocol (ARP). Resolution Protocol (ARP).

Page 29: Audio/Video Interconnectivity domain and analysis of ...

DescriptionDescription Description allows devices to list the functionality they Description allows devices to list the functionality they

provide. provide. Description of devices and their services are contained in Description of devices and their services are contained in

XML-based description documents. XML-based description documents. Device descriptionDevice description document document contains device information contains device information

such as manufacturer, make, model, and serial number; such as manufacturer, make, model, and serial number; a list of services provided by the device; and a list of a list of services provided by the device; and a list of embedded devices. embedded devices.

A A service description documentservice description document contains detailed contains detailed information about a device's service, the actions that information about a device's service, the actions that service provides, and the service's parameters and service provides, and the service's parameters and return value. return value.

The description documents are used by control points in The description documents are used by control points in the device discovery process to learn more about a the device discovery process to learn more about a device. device.

Page 30: Audio/Video Interconnectivity domain and analysis of ...

Description diagramDescription diagram

Page 31: Audio/Video Interconnectivity domain and analysis of ...

DiscoveryDiscovery defines how a device announces its presence, and how control defines how a device announces its presence, and how control

points discover it. points discover it. A UPnP device is like a mini network server that can be discovered and A UPnP device is like a mini network server that can be discovered and

controlled by a UPnP control point. controlled by a UPnP control point. process enables control points to find devices and services of process enables control points to find devices and services of

interest and retrieve information about them. interest and retrieve information about them. Is done by Simple Service Discovery Protocol (SSDP).Is done by Simple Service Discovery Protocol (SSDP).

SSDP extends the HTTP (Hypertext Transfer Protocol) header to SSDP extends the HTTP (Hypertext Transfer Protocol) header to provide a simple multicast-based discovery protocol. provide a simple multicast-based discovery protocol.

Once a device has acquired an IP address, that device periodically Once a device has acquired an IP address, that device periodically advertises itself and its services on the network.advertises itself and its services on the network.

A device includes a URL of its device description XML document in its A device includes a URL of its device description XML document in its advertisement and discovery responses. advertisement and discovery responses.

That URL provides control points with the information those control That URL provides control points with the information those control points need to retrieve the device and service descriptions. points need to retrieve the device and service descriptions.

The description documents are retrieved by control points and parsed to The description documents are retrieved by control points and parsed to understand all about that device. understand all about that device.

A vendor can add extensions beyond the basic functions and include A vendor can add extensions beyond the basic functions and include those extensions in the description docs. That extension mechanism those extensions in the description docs. That extension mechanism allows a control point to prefer an optional or vendor-specific interface allows a control point to prefer an optional or vendor-specific interface over the standard one. over the standard one.

Page 32: Audio/Video Interconnectivity domain and analysis of ...

Discovery (Cont..)Discovery (Cont..)

Every service contained in a device maintains Every service contained in a device maintains three URLs that provide the information three URLs that provide the information necessary for control points to communicate with necessary for control points to communicate with that service: that service: The The ControlURLControlURL is where control points post is where control points post

requests to control the service. A UPnP device vendor requests to control the service. A UPnP device vendor specifies one for each device. specifies one for each device.

The The EventSubURLEventSubURL is where control points post is where control points post requests to subscribe to events. There is one requests to subscribe to events. There is one EventSubURL for each service in a device. EventSubURL for each service in a device.

The The DescriptionURLDescriptionURL tells control points the location tells control points the location to retrieve the service description document from. to retrieve the service description document from.

Page 33: Audio/Video Interconnectivity domain and analysis of ...

Discovery diagramDiscovery diagram

Page 34: Audio/Video Interconnectivity domain and analysis of ...

ControlControl Control is the UPnP phase when control points Control is the UPnP phase when control points

invoke the actions of a device's services. invoke the actions of a device's services. When a service receives a control message, that When a service receives a control message, that

service acts upon that message. service acts upon that message. UPnP relies on the Simple Object Access Protocol UPnP relies on the Simple Object Access Protocol

(SOAP) for device control. (SOAP) for device control. SOAP brings together XML and HTTP to provide a SOAP brings together XML and HTTP to provide a

Web-based messaging and remote procedure call Web-based messaging and remote procedure call mechanism. mechanism.

XML expresses the message content, while HTTP XML expresses the message content, while HTTP sends messages to their destination. sends messages to their destination.

SOAP is specified as a set of conventions that govern SOAP is specified as a set of conventions that govern the format and processing rules of SOAP messages. the format and processing rules of SOAP messages.

Page 35: Audio/Video Interconnectivity domain and analysis of ...

SOAPSOAP The SOAP message is the basic unit of communication between The SOAP message is the basic unit of communication between

peers. peers. SOAP messages are written in XML, making SOAP platform SOAP messages are written in XML, making SOAP platform

independent: any system capable of creating and parsing XML independent: any system capable of creating and parsing XML documents can send and receive SOAP messages. documents can send and receive SOAP messages.

The power of XML allows SOAP messages to be fairly complex in The power of XML allows SOAP messages to be fairly complex in structure and to transmit highly complex data types.structure and to transmit highly complex data types.

SOAP consists of four parts:SOAP consists of four parts: The SOAP envelope: An XML schema that defines a framework for The SOAP envelope: An XML schema that defines a framework for

describing what is in a message, how to process it, and whether that describing what is in a message, how to process it, and whether that processing is optional or mandatory.processing is optional or mandatory.

The SOAP encoding rules Another XML schema that defines a set of The SOAP encoding rules Another XML schema that defines a set of rules for expressing instances of application-defined data types.rules for expressing instances of application-defined data types.

The SOAP binding: A convention for using different transport protocols. The SOAP binding: A convention for using different transport protocols. SOAP can potentially be used in combination with a variety of other SOAP can potentially be used in combination with a variety of other transport protocols (however SOAP messages are most commonly transport protocols (however SOAP messages are most commonly carried by HTTP).carried by HTTP).

The SOAP RPC representation: A convention for representing remote The SOAP RPC representation: A convention for representing remote procedure calls and responses.procedure calls and responses.

Page 36: Audio/Video Interconnectivity domain and analysis of ...

EventingEventing An event is a message from a service to subscribed An event is a message from a service to subscribed

control points.control points. Events keep control points informed of changes in state Events keep control points informed of changes in state

associated with a service. associated with a service. Control points subscribe to events, and the service Control points subscribe to events, and the service

notifies interested control points of events.notifies interested control points of events. A control point interested in receiving notification of state A control point interested in receiving notification of state

variable changes subscribes to an event source by variable changes subscribes to an event source by sending a subscription request that includes: sending a subscription request that includes: The service of interest The service of interest A URL to which the events can be sent A URL to which the events can be sent A subscription time for the event notification A subscription time for the event notification A subscription is a request to receive all state variable changes. A subscription is a request to receive all state variable changes.

If a service accepts the subscription request, that service If a service accepts the subscription request, that service responds with a unique subscription identifier and the duration responds with a unique subscription identifier and the duration for the subscription. for the subscription.

The duration specifies the length of time that the subscription is The duration specifies the length of time that the subscription is valid and maintained by the service. valid and maintained by the service.

Page 37: Audio/Video Interconnectivity domain and analysis of ...

Eventing (cont..)Eventing (cont..) All subscribers are sent all event messages. Subscribers All subscribers are sent all event messages. Subscribers

receive event messages for all evented variables, and receive event messages for all evented variables, and event messages are sent regardless of the reason the event messages are sent regardless of the reason the state variable changed.state variable changed.

UPnP's only guarantees that a message gets delivered UPnP's only guarantees that a message gets delivered to a subscriber is that it the eventing protocol (GENA) to a subscriber is that it the eventing protocol (GENA) uses TCP for transport. uses TCP for transport.

When a subscription expires, the subscription identifier When a subscription expires, the subscription identifier becomes invalid, and the publisher stops sending event becomes invalid, and the publisher stops sending event messages to that subscriber. messages to that subscriber.

All subscriptions must be renewed periodically for the All subscriptions must be renewed periodically for the control points to continue to receive notifications. control points to continue to receive notifications.

To keep a subscription active, a control point must send To keep a subscription active, a control point must send a renewal message a renewal message beforebefore that subscription expires. that subscription expires.

When a control point no longer wants to receive events When a control point no longer wants to receive events from a service, the control point can cancel its from a service, the control point can cancel its subscription. subscription.

Page 38: Audio/Video Interconnectivity domain and analysis of ...

PresentationPresentation Presentation is the process where a device presents a Presentation is the process where a device presents a

browser-based user interface for manual user control browser-based user interface for manual user control and to allow viewing of that device's status.and to allow viewing of that device's status.

Each UPnP device contains an internal HTTP Web Each UPnP device contains an internal HTTP Web server and may provide a Web page for browser-based server and may provide a Web page for browser-based clients. clients.

That Web page serves as the device's manual interface That Web page serves as the device's manual interface that complements the device's programmatic SOAP-that complements the device's programmatic SOAP-based control interface. based control interface.

The browser-based interface is used to control the The browser-based interface is used to control the device, to change operational parameters, to view device device, to change operational parameters, to view device and service information, or for any other device-specific and service information, or for any other device-specific functionality implemented by the manufacturer. functionality implemented by the manufacturer.

The presentation page provides a simple, consistent way The presentation page provides a simple, consistent way to work with UPnP devices and requires no custom to work with UPnP devices and requires no custom software. software.

Page 39: Audio/Video Interconnectivity domain and analysis of ...

DIGITAL LIVING NETWORK ALLIANCE (DLNA) AND ITS

VISION• To have a computer (PC) or consumer To have a computer (PC) or consumer electronic product (CE) that controls electronic product (CE) that controls the whole house entertainment the whole house entertainment system(s).system(s).

• Reasons:Reasons:– Convenience and availabilityConvenience and availability

•All movies, music, pictures etc available on All movies, music, pictures etc available on any device in network.any device in network.

•Access to all equipment that are part of the Access to all equipment that are part of the network.network.

•Management of all equipment that are part of Management of all equipment that are part of the network.the network.

•Remote sharing of resources.Remote sharing of resources.

Page 40: Audio/Video Interconnectivity domain and analysis of ...

DLNA expectationsDLNA expectations

The Internet, mobile and broadcast islands will The Internet, mobile and broadcast islands will integrate through a seamless, interoperable integrate through a seamless, interoperable network that will provide a unique opportunity for network that will provide a unique opportunity for manufacturers and consumers alike.manufacturers and consumers alike.

Digital homes will contain one or more intelligent Digital homes will contain one or more intelligent platforms, such as an advanced set-top box platforms, such as an advanced set-top box (STB) or a PC. These intelligent platforms will (STB) or a PC. These intelligent platforms will manage and distribute rich digital content to manage and distribute rich digital content to devices such as TVs and wireless monitors from devices such as TVs and wireless monitors from devices such as digital stills cameras, devices such as digital stills cameras, camcorders and multimedia mobile phones.camcorders and multimedia mobile phones.

Page 41: Audio/Video Interconnectivity domain and analysis of ...

DLNA interoperability guidelines V1.0DLNA interoperability guidelines V1.0

Page 42: Audio/Video Interconnectivity domain and analysis of ...

DLNA interoperability guidelines V1.0 DLNA interoperability guidelines V1.0 (cont..)(cont..)

Page 43: Audio/Video Interconnectivity domain and analysis of ...

DLNA interoperability guidelines V1.0 DLNA interoperability guidelines V1.0 (cont..)(cont..)

Page 44: Audio/Video Interconnectivity domain and analysis of ...

UPnP products in marketUPnP products in market

Page 45: Audio/Video Interconnectivity domain and analysis of ...

Problems with UPnP

Page 46: Audio/Video Interconnectivity domain and analysis of ...

Problems with UPnP (cont..)

• DVD resolution is 720 x 540.

• The gross transfer rate is generally somewhere The gross transfer rate is generally somewhere between 12 and 14 Mbit/s, making the real rate between 12 and 14 Mbit/s, making the real rate around 5.5 to 6 Mbit/s. That's enough to play around 5.5 to 6 Mbit/s. That's enough to play MPEG-1/2 videos in (S)VCD and mid-range MPEG-1/2 videos in (S)VCD and mid-range DVD quality. This test was conducted by DVD quality. This test was conducted by Tomshardware.comTomshardware.com

• Price of UPnP entertainment center and other Price of UPnP entertainment center and other products is high.products is high.

Page 47: Audio/Video Interconnectivity domain and analysis of ...

SECOND STANDARD HAVISECOND STANDARD HAVI Home Audio Video interoperability (HAVi)Home Audio Video interoperability (HAVi)

provides a home networking standard for seamless provides a home networking standard for seamless interoperability between digital audio and video interoperability between digital audio and video consumer devices.consumer devices.

The main reason for having a dedicated HAVi is the The main reason for having a dedicated HAVi is the exchange of high quality digital video and audio exchange of high quality digital video and audio signals.signals.

HAVi is an initiative from eight major Consumer HAVi is an initiative from eight major Consumer Electronics companies: Grundig AG, Hitachi, Electronics companies: Grundig AG, Hitachi, Matsushita , Panasonic, Philips , Sharp, Sony Corp, Matsushita , Panasonic, Philips , Sharp, Sony Corp, Thomson Multimedia and Toshiba Corp.Thomson Multimedia and Toshiba Corp.

More than 30 companies are involved in the More than 30 companies are involved in the development of HAVI.development of HAVI.

Page 48: Audio/Video Interconnectivity domain and analysis of ...

HAVi architectureHAVi architecture The HAVi architecture is open, scaleable in The HAVi architecture is open, scaleable in

implementation complexity, platform-independent and implementation complexity, platform-independent and language neutral, i.e. HAVi can be implemented in any language neutral, i.e. HAVi can be implemented in any programming language and on any CPU or real-time programming language and on any CPU or real-time operating system.operating system.

In order to be able to handle both commands and In order to be able to handle both commands and multiple digital audio and video streams, HAVi uses the multiple digital audio and video streams, HAVi uses the digital IEEE-1394, 1394a and future extensions, and IEC digital IEEE-1394, 1394a and future extensions, and IEC 61883 interface standards network.61883 interface standards network. IEEE-1394 currently provides a bandwidth of up to 800 Mb/s and IEEE-1394 currently provides a bandwidth of up to 800 Mb/s and

is capable of isochronous communication which makes it is capable of isochronous communication which makes it suitable to simultaneously handle multiple real-time digital AV suitable to simultaneously handle multiple real-time digital AV streams. streams.

Longer transmission distances under the IEEE 1394 standard Longer transmission distances under the IEEE 1394 standard are near to completion and will allow the IEEE-1394 network to are near to completion and will allow the IEEE-1394 network to span multiple rooms in a home.span multiple rooms in a home.

Page 49: Audio/Video Interconnectivity domain and analysis of ...

A HAVi networkA HAVi network

Page 50: Audio/Video Interconnectivity domain and analysis of ...

Promises of HAViPromises of HAVi Time synchronization between different devices.

TV set might get the correct time from the broadcast stream and the other devices can query the TV and set their own clocks according to it.

Recording can be as simple as just browsing the program information, selecting the desired program and pressing one button to activate recording.

automatic directing of an oncoming videophone call to the TV screen or part of it and muting all other sounds.

camera placed outside the door detects movement, the picture is automatically connected to the TV screen notifying the user about a possible visitor.

Page 51: Audio/Video Interconnectivity domain and analysis of ...

Promises of HAVi (cont..)Promises of HAVi (cont..) The interoperability of HAVi devices not complex. Devices are hot-pluggable and they automatically

announce their presence and capabilities to other devices and configure themselves when connected to the Network. This saves the user from reading installation instructions and

configuring network addresses and drivers. HAVi standard promises to be future proof by

maintaining current functionality while making it easy to upgrade and add new capabilities.

Non-HAVi devices can also be connected to the network if at least one of the HAVi devices supports the interface the legacy device provides. Two categories of legacy devices are non-1394 devices 1394 devices not supporting the HAVi Architecture

Page 52: Audio/Video Interconnectivity domain and analysis of ...

HAVi’s Future-Proof Support the HAVi Architecture supports future devices and protocols through

several software-based mechanisms. These include: persistent device-resident information describing capabilities of devices a write-once, run-everywhere language (Java), used for software

extensions a device independent representation of user interface elements

Each HAVi-compliant device may contain persistent data concerning its user interface and device control capabilities. This information can include Java bytecode that can be uploaded and

executed by other devices on the home network. As manufacturers introduce new models with new features they can

modify the bytecode shipped with the device. The new functionality added to the bytecode mirrors the new features

provided by the device. Similarly new user interface elements can be added to the stored UI

representation on the device.

Page 53: Audio/Video Interconnectivity domain and analysis of ...

Plug-and-Play Support Home network consumer devices are easy to install, just

connect the cables and no configuration is necessary. In the HAVi Architecture, a device configures itself, and

integrates itself into the home network, without user intervention.

Home networking technology offers “hot” plug-and-play (not requiring the user to switch off devices), and safe and reliable connections.

Low-level communication services provide notification when a new device is identified on the network.

Installing a device on the home network will be simpler than stand-alone installation since new devices can obtain configuration information from those already on the network. a DTV receiving time signals via digital broadcast.

Page 54: Audio/Video Interconnectivity domain and analysis of ...

HAVi ArchitectureHAVi Architecture The HAVi architecture can be divided into

several different layers. On the bottom

there is always vendor specific hardware and software Application Programming Interface (API) that HAVi is built upon.

there is the connecting IEEE 1394 wiring, which HAVi devices use as a connecting medium.

Medium layer a media manager for IEEE 1394 is needed as well as a

messaging system. On top of the messaging system there are several software

modules: Registry, Event Manager, Stream Manager, Resource Manager, Device Control Modules (DCM) and DCM managers.

Top layer Havlets and application for user interaction with UI

mechanism

Page 55: Audio/Video Interconnectivity domain and analysis of ...

Diagram of HAVi ArchitectureDiagram of HAVi Architecture

Page 56: Audio/Video Interconnectivity domain and analysis of ...

HAVi ArchitectureHAVi Architecture 1394 Communication Media Manager – allows other software

elements to perform asynchronous and isochronous communication over 1394.

Messaging System – responsible for passing messages between software elements.

Registry – serves as a directory service, allows any object to locate another object on the home network.

Event Manager – serves as an event delivery service. An event is the change in state of an object or of the home network.

Stream Manager – responsible for managing real-time transfer of AV and other media between functional components.

Resource Manager – facilitates sharing of resources and scheduling of actions.

Device Control Module (DCM) – a software element used to control a device. Within a DCM code unit are code for the DCM itself plus code for Functional Component Modules (FCMs) for each functional component within the device.

DCM Manager – responsible for installing and removing DCM code units on FAV and IAV devices.

Page 57: Audio/Video Interconnectivity domain and analysis of ...

DCM is the heart of HAViDCM is the heart of HAVi The first DCM characteristic is how the DCM is obtained by the

controller: embedded DCM – a DCM that is part of the resident software on a

controller. uploaded DCM – a DCM that is obtained from some source external to

the controller and dynamically added to the software on the controller. The second characteristic is whether a DCM is platform (controller)

dependent or platform independent: native DCM – a DCM that is implemented for a specific platform, it may

include machine code for a specific processor or access platform specific APIs.

bytecode DCM – a DCM that is implemented in Java bytecode. Finally, DCMs can be distinguished by their functionality (or,

conversely, their range of use): standard DCM – a DCM that provides the standard HAVi APIs. Such a

DCM provides basic functionality but is able to control a wide range of devices.

proprietary DCM – a DCM that provides vendor-specific APIs (in addition to the standard HAVi APIs). Such a DCM would offer additional features and capabilities over a standard DCM but could control a narrower range of devices, perhaps only a specific device or model.

Page 58: Audio/Video Interconnectivity domain and analysis of ...

HAVi devicesHAVi devices

Page 59: Audio/Video Interconnectivity domain and analysis of ...

HAVi devices HAVi devices are classified into four categories

Full AV devices (FAV), Intermediate AV devices (IAV) Base AV devices (BAV) and Legacy AV devices (LAV).

HAVi compliant devices fall into the first 3 categories and all other devices belong to the 4th category.

FAVs and IAVs are controlling devices in the HAVi network. BAVs and LAVs are the devices they control.

Page 60: Audio/Video Interconnectivity domain and analysis of ...

Full AV devices (FAV), A Full AV device contains a complete set of the A Full AV device contains a complete set of the

software elements comprising the HAVi software elements comprising the HAVi Architecture. Architecture.

FAV supports a complex software environment. FAV supports a complex software environment. FAV devices have a runtime environment for FAV devices have a runtime environment for

Java bytecode. Java bytecode. This allows an FAV to upload bytecode from other This allows an FAV to upload bytecode from other

devices and so provide enhanced capabilities for their devices and so provide enhanced capabilities for their control. control.

Example of FAV devices areExample of FAV devices are Set Top Boxes (STB), Set Top Boxes (STB), Digital TV receivers (DTV), Digital TV receivers (DTV), general purpose home control devicesgeneral purpose home control devices and Home PC’s.and Home PC’s.

Page 61: Audio/Video Interconnectivity domain and analysis of ...

Intermediate AV (IAV) Intermediate AV devices are lower in cost

than FAV devices and more limited in resources. They do not provide a runtime environment for

Java bytecode.Cannot act as controllers for arbitrary devices

within the home network. IAV may provide native support for control

of particular devices on the home network.

Page 62: Audio/Video Interconnectivity domain and analysis of ...

Base AV devices (BAV) These devices implement future-proof behavior

by providing uploadable Java bytecode, but do not host any of the software elements of the HAVi Architecture.

These devices can be controlled by an FAV device via the uploadable bytecode or from an IAV device via native code.

The protocol between the BAV and its controller may or may not be proprietary.

Communication between a FAV or IAV device and a BAV device requires that HAVi commands be translated to and from the command protocol used by the BAV device.

Page 63: Audio/Video Interconnectivity domain and analysis of ...

Legacy AV devices (LAV)

LAV devices are devices that are not aware of the HAVi Architecture.

These devices use proprietary protocols for their control, and quite frequently have simple control-only protocols.

Such devices can work in the home network but require that FAV or IAV devices act as a gateway.

Communication between a FAV or IAV device and legacy device requires that HAVi commands be translated to and from the legacy command protocol.

Page 64: Audio/Video Interconnectivity domain and analysis of ...

HAVI configurationHAVI configuration

Page 65: Audio/Video Interconnectivity domain and analysis of ...

IAV or FAV as controller

Page 66: Audio/Video Interconnectivity domain and analysis of ...

IAV or FAV as Display

Page 67: Audio/Video Interconnectivity domain and analysis of ...

Interoperability in the HAVi Architecture

The first and foremost goal of the HAVi Architecture is to support interoperability between AV equipment. This includes existing equipment and future equipment.

Because of the need to support existing devices, and because of product cost considerations, the HAVi Architecture supports two levels of interoperability. Level 1 and Level 2.

The flexibility of choosing different levels of interoperability gives vendors the freedom to design and build devices at all points on the cost/capability spectrum.

Page 68: Audio/Video Interconnectivity domain and analysis of ...

Level 1 Interoperability

Level 1 interoperability addresses the general need to allow existing devices to communicate.

Level 1 interoperability defines and uses:a generic set of control messages

(commands) that enable one device to talk to another device

and a set of event messages that it should reasonably expect from the device.

Page 69: Audio/Video Interconnectivity domain and analysis of ...

Level 1 Interoperability (cont..) Device discovery

HAVi Architecture has adopted is to utilize Self Describing Device (SDD) data, required on all FAV, IAV and BAV devices.

SDD data contains information about the device which can be accessed by other devices.

Communication a general communication facility allowing applications to issue

requests to devices. This service is provided by the HAVi Messaging Systems and

DCMs. The application sends HAVi messages to DCMs, the DCM then

engages in proprietary communication with the device. HAVi message set:

is a well defined set of messages that must be supported by all devices of a particular class.

This ensures that a device can work with existing as well as future devices, irrespective of the manufacturer.

The HAVi message set includes those messages used for the DDI protocol and so allows DCMs (and applications) to construct a UI on display-capable IAVs and FAVs.

Page 70: Audio/Video Interconnectivity domain and analysis of ...

Level 2 Interoperability To support non-standard features of existing products

and to support future products, the HAVi Architecture allows uploaded DCMs as an alternative to

embedded DCMs. Uploaded DCMs are implemented in Java bytecode. Level 2 only requires that one device provide a runtime

environment for the uploaded DCM obtained from the new device.

The concept of uploading and executing bytecode also provides the possibility for applications called havlets.

Havlets may be device specific Havlets can be uploaded and installed by each FAV

device on the network. Havlet can be supplied by DCMs and/or the user via

Level 2 UI. Display-capable FAVs will allow a user to upload and

execute the havlet of any DCM or Application Module.

Page 71: Audio/Video Interconnectivity domain and analysis of ...

Security in HAViSecurity in HAVi

HAVi uses a two-level protection scheme.When a software element is created it is

assigned an access level which is one of trusted or untrusted.

When one software element sends a request to another software element the receiver decides whether or not to honor the request by examining the access level of the requester.

Page 72: Audio/Video Interconnectivity domain and analysis of ...

Security in HAViSecurity in HAVi All uploadable DCM code units shall be signed. The HAVi Certification Authority (HCA) also

issues several pairs of private key and public key to each vendor on request, with the HCA's digital signature for the vendor unique public key.

A HAVi-signed code unit includes some specific files necessary for authentication in the JAR file.

When an FAV is to install a HAVi-signed code unit, it has to verify the code unit with these files in advance to install the software element.

Page 73: Audio/Video Interconnectivity domain and analysis of ...

Certificate FileThe signature file is verified with the

‘vendor-unique public key’ which corresponds to the vendor-unique private key that is used to generate the signature.

The ‘vendor-unique public key’ must be certified by the HCA.

The verifier module in an FAV can find the ‘vendor-unique public key’ to verify the signature in this file, and shall verify whether the public key is trusted.

Page 74: Audio/Video Interconnectivity domain and analysis of ...

PROBLEMS WITH HAVI HAVi as a technology hasn’t been widely tested

and utilized in real environments. One of the most important goals is platform-

independent interoperability. FireWire still isn’t as flexible and has proven to be

very complicated to implement. The only guarantee is that devices of the same brand and

same and same kind of proprietary programming will most likely work together.

Until all the major problems with FireWire have been solved, they will hinder HAVi.

One important issue when dealing with home entertainment is digital rights management. HAVi has no digital rights management

Page 75: Audio/Video Interconnectivity domain and analysis of ...

PROBLEMS WITH HAVI (cont..) Faulty device might get an update containing a

virus which it then uploads to every other device. Cost of HAVi products are high. Very few products on market as of yet. Linux and java have problems such as real-time

resource management and making the memory footprint small enough.

Competition by UPnP, and now UPnP with Pre N technology.

Communication medium needed to connect to internet. HAVi doesn’t support XML and SOAP.

Page 76: Audio/Video Interconnectivity domain and analysis of ...

CONCLUSION HAVi or UPnPCONCLUSION HAVi or UPnP

No devices available for HAViNo devices available for HAViMore problems associated with HAViMore problems associated with HAViUPnP is fairly new but functionalUPnP is fairly new but functionalUPnP is in sync with today’s technologyUPnP is in sync with today’s technology

XML, SOAP, WEB, wireless etcXML, SOAP, WEB, wireless etc Bridge between UPnP and HAVi is missing or Bridge between UPnP and HAVi is missing or

just on paper.just on paper. Digital management and security in HAViDigital management and security in HAVi

Page 77: Audio/Video Interconnectivity domain and analysis of ...

REFERENCESREFERENCES DLNADLNA

http://http://www.dlna.org/news/DLNA_Overview.pdfwww.dlna.org/news/DLNA_Overview.pdf

UPnP ArchitectureUPnP Architecture http://http://www.upnp.orgwww.upnp.org// http://www.artima.com/spontaneous/upnp_digihome2.http://www.artima.com/spontaneous/upnp_digihome2.

htmlhtml

HAVIHAVI http://www.havi.org/pdf/white.pdfhttp://www.havi.org/pdf/white.pdf http://www.tml.hut.fi/Studies/Tik-111.590/2001s/paperhttp://www.tml.hut.fi/Studies/Tik-111.590/2001s/paper

s/jussi_teirikangas.pdfs/jussi_teirikangas.pdf http://www.xilinx.com/esp/consumer/http://www.xilinx.com/esp/consumer/

home_networking/pdf_files/havi/complete.pdfhome_networking/pdf_files/havi/complete.pdf