Client/Server mode

From SpinetiX Support Wiki

Jump to: navigation, search

This page is related to HMP200, HMP130, and HMP100 devices. For HMP350 and HMP300, see Live Source page.

Introduction

Client/Server mode (also called "Network mode") is a content pull method whereby the HMP is requesting and displaying an entire project located on a remote content server. To enable this mode, you need to configure a network project as primary content source, as detailed below.

Each resource included in the network project is verified & retrieved when it needs to be played, therefore the content server must be accessible all the time, if possible. And the network connection needs to be (very) fast, so that, for instance, a large video file could be downloaded and played in real-time. Some resources (like SVG files, images, small video files etc.) might be cached locally to minimize the network bandwidth, nevertheless, the Client/Server mode is generally not resilient to network failures.

But what happens when network failures occur? Well, the HMP tries to play the primary content source as much as possible, so if the content server is not reachable or the network is disconnected, the HMP tries to play the network content from its local cache, while waiting for the issue to be resolved. In some cases, it might also switch to the fallback source of content - the exact process is described in detail below.


Note Note: Serious testing & validation of the bandwidth and quality of the network should be done before using Client/Server mode in a production environment. In case of issues, you should switch to using Pull Mode instead.

Comparison with Pull Mode

Comparing to the Pull Mode, where the local project is synchronized with the server periodically, the Client/Server mode has the advantage of retrieving the new / changed resource as soon as is needed to be displayed. However, the disadvantage is that the connection between the HMP and the server must be reliable and must transmit the files fast enough when needed to be displayed (otherwise the resource will be displayed when available or skipped).

Configuration

Client/Server mode configuration

To enable the Client/Server mode on HMP200, HMP130, and HMP100 devices, follow these steps:

  1. Open HMP Control Center and go to the Content Settings page > Content Source tab.
  2. Set the "Primary source" option to "Network Project" and enter the network project location URI in the field appearing next to it.
    • This must be a valid HTTP(S) address, ending with a trailing slash, something like: http://synology-nas:5005/projects/MyProject/
    • The HMP looks for and tries to open the index.svg file in the root of the entered URI.
    • In case the network content cannot be played, the HMP uses the "Fallback source" - it is recommended to leave this option as "Local Storage".
  3. Click the "Apply" button to save the configuration.


Note Note: If the network location requires username and password to be accessed, then enter the credentials under Network Settings page > Credentials tab. See Web servers page for information on supported authentication schemes.

Process

This section describes in detail the actions done by the HMP when Client/Server mode is employed. For a quick description, see the introductory section above.

Right after configuring the network project as primary source, sub-process I is activated; the rest of actions done by the HMP follow from there.

Process I

The HMP tries to open the index.svg file in the root of the specified network location.

Process II

This sub-process is employed when the HMP starts playing the main index.svg of the network project.

Each time a resource included in the network project, including its main index.svg, needs to be played by the HMP, the following actions are done:

  1. If the resource is actively cached, then the HMP displays the resource from its local cache. This process continues to the next resource.
  2. Else, the HMP requests the status of the resource from the content server.
  3. If, for any reasons, the server cannot be contacted, then the HMP displays the resource from its local cache, or skips it. This process continues to the next resource.
    • This means that the HMP does not switch to the "Fallback source" in case that, for instance, the server is down or the HMP network cable was removed.
  4. If the server returns a status of:
    • not found (404 error) on main index.svg, then Process III is activated.
    • not found (404 error) on any other resource, then the HMP skips playing that resource. This process continues to the next resource.
    • new / changed, then the resource is marked for download.
    • unchanged, but the resource is not present on the HMP cache, then it is also marked for download.
  5. If the resource is marked for download, then the HMP downloads the resource from the server and adds it to its local cache (according to the caching directives).
  6. Finally, the HMP tries to display the resource from its local cache, otherwise, it skips that resource. This process continues to the next resource.

Process III

This sub-process is employed when the HMP decides that it cannot play the network project set as primary source.

In this case, the following actions are done:

  • The network project is temporarily discarded and the "Fallback source" is used instead.
  • The HMP checks every 5 minutes if the network project is accessible again. When that happens, then Process I is activated.

Notes

  • The HMP tries to play the content as much as possible from its local cache (to minimize the network bandwidth), however a stable network connection is necessary to regularly connect to the server and check for updates.
  • The HMP will use up to 70% of its free space for the cache, without overwrite any existing content.
  • Although possible, the "Fallback source" should not be set to a network project as well, because in case of network issues, the HMP might not be able to find any content and consequently, a black screen might be displayed - it is recommended to leave the "Fallback source" option as "Local Storage".
  • Do not use another HMP as content server, because this might have unexpected results on the client(s) and will definitely have a negative impact on the performance of the HMP used as server.

Tutorials

Here is a list of tutorials where Client / Server is used:

Troubleshooting

Network:

  • The HMP cannot connect to UNC paths - see the Web servers page for more details.
  • URLs are resolved using DNS; WINS is not supported by the HMP. You may use hostnames which are not Fully Qualified Domain Names, but they will only be resolved if your local DNS is properly configured.

Custom fonts:

  • Custom fonts cannot be used remotely, so they must be first installed on the player in order to be used - this is a known limitation. An workaround is to publish an Elementi project using those custom fonts, which can be used as fallback source, before activating the network project; you only need to do this once.
This page was last modified on 17 July 2019, at 19:59.