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
Top Related