The Digital Living Network Alliance, or DLNA for short, publishes a set of guidelines that describe how media content can be shared between devices commonly used in the home, such as a television, a printer, a laptop computer, or a smart phone. The DLNA defines a set of device classes, each of which performs one or more predefined roles. The easiest way to familiarize yourself with the fundamentals of the DLNA guidelines is to understand these device classes and how they interact with both each other and the end user.
The most common DLNA device classes are the Digital Media Sever (DMS), the Digital Media Player (DMP), the Digital Media Controller (DMC), and the Digital Media Renderer (DMR). A DMS is a server process that publishes media content on the local area network. This content can then be accessed by other DLNA enabled devices, such as a DMP, on the same network. A DMP is simply a media player that can search, browse, and play content published by DMSs. A DMC is an application that allows users to browse the contents of DMSs, typically from a handheld device, such as a tablet or a smart phone. Once the user locates the piece of media they are interested in, they select a DMR on which to play the media. A DMR is a server application that allows remote clients, such as DMCs, to use the device's display to play media.
Having familiarized ourselves with the basic DLNA device classes, we can now turn our attention to the most common use cases.
Two-Box Pull System Usage - (Export and Play Remote Media)
This is the classic Two-Box Pull System defined in the DLNA guidelines involves a user at a DMP or an M-DMP, which enables the user to find and play content that is advertised and distributed by a DMS or M-DMS.
In this case, the user wishes to play a file hosted on a DMS connected to their local area network. They use a DMP to browse through the content exposed by the DMS until they identify the file that they are interested in. They select the file and the DMP starts streaming it to their device where it is played. Note that this is the simplest use case. The user may wish to select a collection of files to play in sequence, such as a music album. In this case, once it has finished playing a file, the DMP will automatically begin to play the next file in the sequence. The user may also want to perform a search for a given file, rather than traversing the media server’s directory hierarchy. A sample DMP is depicted in the figure below. The DMP window is split into two panels. The left hand panel displays a list of available DMSs on the network. One DMS, called MyMedia, is selected and the results of a search, for all image content available on this server, are displayed in the right hand panel.
Three-Box System Usage
The Three-Box System Usage is described in the DLNA guidelines involves a user at a DMC or an M-DMC, which enables the user to find content on a DMS or M-DMS that in turn will be played on a user selected DMR.
The Digital Media Controller (DMC) presents an interface to the user that allows them to browse the media exposed by one or more DMSs. Once the user has located the desired media, they will select a Digital Media Renderer (DMR) to play the content. The DMC will ask the DMR to stream the contents from the DMS. In this scenario, the DMC will typically run on a handheld device, such as a tablet computer or a smart phone. The DMS may run on a set top box and the DMR could run on a laptop, a television, or a digital picture frame. No extra functionality is required in the DMS to support this use case. The only difference between this and the previous use case, is that the DMS serves two separate clients, the DMC and the DMR. In addition to playing the media, DMRs also allow DMCs to control media playback and to manipulate the display properties of the device on which the DMR runs. For example, the DMC can pause and fast forward the media and increase the device’s volume, etc.
Two-Box Push System Usage
The Two-Box Push System Usage is described in the DLNA guidelines involves a user at a Push Controller, which enables the user to distribute content to a DMR for playback purposes.
In two-box push, the client device pushes some local DLNA compatible content, which it has either downloaded or been used to create, to a DMR. No DMS is involved in this scenario. For example, a user downloads a movie to their tablet computer. However, rather than watching it on their tablet, they choose to push the content to the DMR running on their television. This use case is applicable to all applications that can be used to download or create media content.
Download System Usage
The Download System Usage is described in the DLNA guidelines involves a user at a Download Controller or an M-DMD, which enables the user to download content from a DMS or an M-DMS so that the Download Controller or the M-DMD has its own copy.
This is the opposite of the Upload System Usage use case. In this scenario, a download controller (M-DMD) downloads content from a DMS and stores it in its local storage, so that it can be consumed at a later date, when the device is no longer connected to the local area network. An example might be a user who downloads some music files to their smart phone so that they can listen to them on the way to work. This use case does not require any extra support from the DMS.
Upload System Usage
The Download System Usage is described in the DLNA guidelines involves a user at an Upload Controller or an M-DMU, which enables the user to send content to a DMS or an M-DMS with the Upload Device Option so that the DMS or the M-DMS can distribute the content to other endpoints.
Upload Synchronization System Usage
The Upload Synchronization System Usage is described in the DLNA guidelines involves a user at an Upload Synchronization Controller, which enables the user to reflect any changes to the local store of content into a DMS or an M-DMS with the Content Synchronization Device Option so that the DMS or the M-DMS can receive and distribute the new or changed content to other endpoints.
Download Synchronization System Usage
The Download Synchronization System Usage is described in the DLNA guidelines involves a user at a Download Synchronization Controller, which enables the user to obtain any changes to the store of content on a DMS or an M-DMS supporting the Content Synchronization Device Option.