1.3 Overview

After a network-connected device establishes a remote session with a host PC, the users on the remote device can interact with the shell running on the host. The purpose of DSMN is for the remote device to monitor the shell status on the host. For this, DSMN provides a remote procedure call (RPC)-like interface via which the host can notify the shell status to the remote host. In addition, the host can retrieve the Quality Windows Audio/Video Experience (qWAVE) information of the device via DSMN.

This protocol uses the Device Services Lightweight Remoting Protocol as specified in [MS-DSLR] to enable the remoting of services between the host and the client over a reliable point-to-point channel.

DSMN is implemented and offered by the remote device (acting in this case as the stub) while the host acts as the proxy, in DSLR nomenclatures. For a more detailed definition of these roles, see [MS-DSLR]. DSMN contains the following messages/functions:

  • ShellDisconnect

  • ShellIsActive

  • Heartbeat

  • GetQwaveSinkInfo

The following block diagram shows the relationship between the host and the device.<1>

Architecture and operation of the DSMN Protocol

Figure 1: Architecture and operation of the DSMN Protocol