15
UPnP TM Remote UI Markus Wischy Senior Architect Siemens

UPnP TM Remote UI Markus Wischy Senior Architect Siemens

Embed Size (px)

Citation preview

UPnPTM Remote UI

Markus Wischy

Senior Architect

Siemens

UPnP™ Remote UIExample user scenarios

A home PC remotely displaying application user interfaces on the living room television.

A DVR/set top box displays control menus on all televisions in the home.

UPnP™ Remote UIExample user scenarios

A home automation/security system displays controls and alerts on many UI devices

Home Server

UPnP events &control actions UPnP Remote UI

BridgeBridge

BridgeBridge

Proprietary protocol

UPnP™ Remote UIInformal vocabulary "Remoting" - running application logic

and user interface on different devices.

"Protocol" - the format of peer-to-peer communication between the application and remote UI (not standardized by UPnP (not standardized by UPnP Remote UI)Remote UI).

"Remote UI client device" - where the UI is executed/displayed.

"UI server" - exposes lists of remote-able applications and status of running applications.

UPnP™ Remote UI Overview

UPnP Remote UPnP Remote UI Server DevicesUI Server Devices

UPnP Remote UPnP Remote UI Server DevicesUI Server Devices

UPnP Remote UPnP Remote UI Client DevicesUI Client Devices

UPnP Remote UPnP Remote UI Client DevicesUI Client Devices

UI discovery Set / Manage

Connections

RemotingRemotingProtocolProtocol

RemotingRemotingProtocolProtocol

(Not standardized)(Not standardized)

UPnP RUI ServerUPnP RUI ServerServiceService

UPnP RUI ServerUPnP RUI ServerServiceService

UPnP RUI ClientUPnP RUI ClientServiceService

UPnP RUI ClientUPnP RUI ClientServiceService

UPnP™ Remote UISimple device definitions

UPnP Remote UI clientsclients: Have controls for connecting & administering

user interface sessions, May expose protocol-required information:

(display screen size, keyboard type, etc.)

UPnP Remote UI serversservers: Expose lists of remote-able UIs, Expose status of instantiated UIs and UI

sessions, Have controls for destroying instantiated,

unconnected UI’s

UPnP™ Remote UI Basic DCP

UPnP Remote UI serversservers advertise listings of remote-enabled UIs.

UPnP Remote UI control entitiescontrol entities match UI descriptions with remote clientclient capabilities and establish sessions. Note: communication protocol between UI and

client is not standardizednot standardized - vendors choose. Example protocols: MS RDP, Intel XRT,

EIA775, etc.

UPnP™ Remote UI Overview

General discovery and connection model #1

3. Select UI 3. Select UI 3. Select UI 3. Select UI

5. Protocol5. Protocol5. Protocol5. Protocol

ControlPoint2. Get available UIs2. Get available UIs2. Get available UIs2. Get available UIs

4. Call connect action 4. Call connect action 4. Call connect action 4. Call connect action

UPnP Remote UPnP Remote UI Server DevicesUI Server Devices

UPnP Remote UPnP Remote UI Server DevicesUI Server Devices

1. Get 1. Get protocol info protocol info

1. Get 1. Get protocol info protocol info

UPnP Remote UPnP Remote UI Client DevicesUI Client Devices

UPnP Remote UPnP Remote UI Client DevicesUI Client Devices

UPnP RUI ServerUPnP RUI ServerServiceService

UPnP RUI ServerUPnP RUI ServerServiceService

UPnP RUI ClientUPnP RUI ClientServiceService

UPnP RUI ClientUPnP RUI ClientServiceService

UPnP™ Remote UI Overview

UPnP RUI ServerUPnP RUI ServerControl pointControl point

UPnP RUI ServerUPnP RUI ServerControl pointControl point

General discovery and connection model #2

1. Push available1. Push availableUI listingUI listing

1. Push available1. Push availableUI listingUI listing

2. Select UI 2. Select UI 2. Select UI 2. Select UI

3. Protocol3. Protocol3. Protocol3. ProtocolUPnP Remote UPnP Remote

UI Client DevicesUI Client DevicesUPnP Remote UPnP Remote

UI Client DevicesUI Client Devices

UPnP RUI ClientUPnP RUI ClientServiceService

UPnP RUI ClientUPnP RUI ClientServiceService

UPnP™ Remote UI Overview

Additional capabilities: Push text messages

Laundryfinished

UPnPUPnPControl pointControl point

UPnPUPnPControl pointControl point

UPnP Remote UPnP Remote UI Client DevicesUI Client Devices

UPnP Remote UPnP Remote UI Client DevicesUI Client Devices

Laundry finishedLaundry finished

Laundryfinished

No remoting protocol neededNo remoting protocol needed

2. Call DisplayMessage2. Call DisplayMessage actionaction

2. Call DisplayMessage2. Call DisplayMessage actionaction

1. Find RUI Clients1. Find RUI Clients1. Find RUI Clients1. Find RUI Clients

UPnP™ Remote UIAdvanced DCP - MIRROR

Copy a UI currently connected to RUI Client Copy a UI currently connected to RUI Client AA to to RUI Client RUI Client BB

Call GetCurrentConnections() on Call GetCurrentConnections() on AA

Call Connect() on Call Connect() on BB using the UI info from using the UI info from AA

Fails: Fails: When multiple connections to the same UI are When multiple connections to the same UI are

not supported not supported When UI on When UI on AA is not compatible with is not compatible with BB

UPnP™ Remote UIAdvanced DCP - MOVE

Move a UI running on RUI client Move a UI running on RUI client AA to RUI client to RUI client BB

Call GetCurrentConnections() on Call GetCurrentConnections() on AA

Call GetCurrentConnections() on Call GetCurrentConnections() on BB - get - get ConnectionsUpdateIDConnectionsUpdateID value value

Calls Disconnect() on Calls Disconnect() on AA

Call Connect() on Call Connect() on BB using using ConnectionsUpdateIDConnectionsUpdateID value for client value for client BB, along UI info from , along UI info from AA

Fails when <lifetime> = Fails when <lifetime> = 00. Lifetime may be . Lifetime may be extended with SetUILifetime()extended with SetUILifetime()

UPnP™ Remote UIAdvanced DCP - RECONNECT

Reconnect to a disconnected UI. Reconnect to a disconnected UI.

Call GetCompatibleUIs() action on the RUI Server Call GetCompatibleUIs() action on the RUI Server and find the UI. and find the UI.

Call Connect() on a designated RUI Client device Call Connect() on a designated RUI Client device to reconnect to the original, targeted UI.to reconnect to the original, targeted UI.

Fails when <lifetime> =Fails when <lifetime> =00. Lifetime may be . Lifetime may be extended with SetUILifetime().extended with SetUILifetime().

Next Steps

Compile write up for usage of specific Compile write up for usage of specific remoting protocolsremoting protocols

For further information, please contact:For further information, please contact: Mark Walker ([email protected]) Markus A. Wischy

([email protected])

Foundation of the Connected Home