DVBLink – How tuner pooling works

I asked Oberon over at the DVBLogic forums if he could clarify how the tuner pooling works in the new version of DVBLink as it is causing a lot of confusion, this was his reply:-

This is simple, but at the same time a complicated topic. With the variety of tuners, their number and combinations of channels on them there is not a single best answer to how it should be done.

We have selected certain approach that we think is a good compromise, which will work for most of the situations.
Let me explain how it works and why we have selected it so that everyone can draw conclusion on how it will operate in his/her particular setup.

The boundary conditions are:
– DVBLink can have a variety of streaming sources:
– One or more sources (tuners) of the same or different types
– Channel line-ups of each source may have some common channels
– MediaCenter can handle no more than 4 tuners at the same time
– Tuners can be accessed from local machine as well as from remote MediaCenter and UPNP clients

We were thinking first to use the same scheme as it was in v1: map one DVBLink source to one DVBLink tuner. However that would put a hard restriction on a number of DVBLink sources that can be installed and used at the same time. Any other way to flexibly combine limitation of 4 tuners in MC and variety of tuner/channel combinations seemed to be too complex to understand and configure.

So we have ended up with the following approach:
All DVBLink tuners in a MediaCenter and network clients operate with logical DVBLink channels. Logical DVBLink channel is the virtual entity that combines several physical channels having the same content. Physical channel is exposed (e.g. tunable) directly by a particular source. DVBLink Server is responsible for finding free physical channel when logical channel is requested by a client.

UPNP clients see all logical channels. This means that they can ask anytime for a particular channel and DVBLink server will serve it as long as there are free tuners in its pool.

DVBLink Server puts all logical channels onto the DVBLink Tuner #1. DVBLink Tuner #2 gets all logical channels for which there is more than one physical channel. DVBLink Tuner #3 gets all logical channels for which there are more than two physical channels and so on – it is building up like a pyramid.
So the number of physical channels under single logical channels defines maximum number of tuners that can be used simultaneously by a single MediaCenter.
On the DVBLink server side number of channels that can be used at the same time is limited by the number of sources – local and network MediaCenters and UPNP clients working at the same time can utilize all available sources.

This scheme is a good compromise as it:
– Provides maximum benefit for the most common case: multiple tuners having the same channels
– Provides reasonable advantage for the tuners with partially the same line-ups
– Fully utilizes all available tuners when shared among local and network clients
– Is easy in configuration and implementation

Oberon also posted this as a reply in the forum and if you want to ask any questions I suggest you head over to the DVBLink2 forum at www.DVBLogic.com

One thing this reply did sort out for me was the order physical tuners were assigned to logical tuners I had thought it the other way round which didn’t make much sense as with this way round. Still not quite sure how this will avoid issues where say you have a DVB-T tuner and DVB-s tuner with some share channels but more DVB-S than DVB-T and if Media Center chooses to use the DVB-S tuner to record a channel that is shared then it cannot record another channel that is only on the DVB-S tuner. Hopefully DVBLogic are doing some prioritisation.

 

1 thought on “DVBLink – How tuner pooling works

  1. Oberon just added this over at the forum which answers my final question in the post:
    Forgot to mention that we will add the feature in next beta where source, having least mapped channels, will be selected first on channel change.

Leave a Reply