Complex simulation of TV-networks

Master Thesis

Complex simulation of TV networks

Agama’s product suite aims to make TV delivery transparent, from creation (the head-end) of TV services, all the way to consumption in the end-user’s devices. Therefore, we have products that analyze TV-services and the delivery of services from end-to-end.

At a high level, our products are:

  • Head-end analyzers: deep inspection of TV channels and assets for compliance and correctness
  • Network analyzers: broad analysis with focus on network metrics such as jitter and packetloss
  • CDM (Client Device Monitoring): usage & quality of consumed channels/assets in the devices (STB’s, phones, tablets, smart TV’s)

Description of the problem

The CDM system collects metrics from end-user devices, such as eg1, eg2, eg3. This ‘per-device data’ is collected and aggregated in different logical ways to create ‘group data’. For example, aggregation can be done based on the geographical location, DSLAM, device type, access technology, etc.

The problem at hand is to develop a data-simulator for demo & development purposes, that accurately simulates data from devices in the client device monitoring system, and errors that can occur in the system. The different data aggregations can be composed of overlapping groups of end-user devices.

The challenge is to understand and replicate the group behavior of different groups, provided that a base behavior of a single end-user has been established. As evaluation of the simulator, we can use in-house data from real systems to compare how statistically similar or different the simulated and real traffic of these groups are.

Profiling end-user devices (per-device data)

Looking at a whole tv-network, there are a few user profiles that generally dominate. For example, a user that watches TV a few hours each evening, or another that rents a video-on-demand once a month. The simulator is expected to recreate such behavior for different classes of end-users.

Statistical patterns in the data (group data)

Generating group data can be done by combining data from per-device data. Although this step is straight forward, we expect the group data to capture some important properties. When looking at many devices, some statistical patterns emerge. The simulator must be able to generate group data based on the composition of devices within that group. An example
configuration could be a group composed of 40% type 1 clients, 20% type 2, 20% type 3.

Furthermore, the group data generated from multiple per-device data must also replicate expected group behavior. This step depends very much on how per-device models are configured. Below are some of the expected group behaviors (such behaviors can change based on how the group is defined):

  • Device activity in a group follows a pattern with peak usage around 8pm
  • Many people change channel when commercials start (channel change pattern)
  • 20% of the TV channels are used 80% of the time

Simulating errors in head-end or network delivery

The simulator should be able to simulate some typical errors in a network. The challenge here is to compute which devices the errors affect. Which groups do the errors affect? How will the errors affect the collected data?

Example 1:

Error in a multicast switch in the IPTV part of the TV network (3% packet drop).

This error should affect only sessions consumed over multicast/IP and only for devices that according to the configuration are in the affected network segment. All groups with devices in this network segment should be affected in a reasonable way, i.e. this is an error that affects all IPTV sessions equally. Quality metrics will be affected according to a model. Counters: (packet loss, video decoding errors, frames with errors, …) affected as they should be – both for device and for group data.

Example 2:

Android devices with version 5.11 suddenly start to experience much more video stalls than other mobile devices. 

This is an example of a more generic error, errors that affect devices with certain metadata set. In this case, mobile devices with platform “android 5.11”. Again, the same challenges arise. The error should affect correct set of devices. Groups should be affected based on number of active devices of this kind in the group. counters/metrics should be affected according to a model (stalls, frames dropped, …)


To learn more about this master thesis or to apply, contact:

Aner Gusic

To learn more about this master thesis or to apply, contact:

Aner Gusic

Want to know more?

Would you like to know more about Agama and our story?