Question on information

Hey there folks,

I’ve been looking into systems for third party data collection as part of a design project for my final year of university. I don’t need any programming level information yet as I’m unsure which method of data collection I’m going to be using (I’m currently looking at Opensync, TR-369 and XMiDT). Due to this, I was wondering if there were any high level articles or documents on XMiDT to try and get familiar with the system before I move forward. I’m simply looking for short answer questions on things like what it can monitor, how to implement XMiDT on newer (or older if possible) devices, how it collects data and things like that.

If this isn’t allowed please let me know and I’ll remove it immediately!

Feel free to ask your questions. It will probably be easiest to submit generic questions against the central repo. This will make it easier to search for later down the line.

Most of docs about deploying xmidt is here. If you have any questions about the specific services, please create an issue against the specific service because that means we need to improve our docs.

Is there any specific method to submitting questions against the repo? I’ve been reading through it for the past few hours and haven’t had much luck finding answers to my questions or a place to post them.

Go ahead and post your questions here.

Excellent. Sorry for the delay. I wanted to talk to my supervisor and ensure I was going to be asking the right questions to better understand my endgoal with XMiDT.

  1. Can XMiDT monitor any home system? I’m assuming it can monitor things like smartphones, set-top boxes and smart TV’s. I’m wondering about things like Managed video services, Voice services or security services. While most of these are extensions of some hardware, I’m interested in XMiDT’s monitoring capabilities of these and overall network health specifically.

  2. Branching out slightly from Q1. I can’t seem to find any implicit yes or no answer on XMiDT’s abilities to monitor Broadband service quality, in-home wireline quality and in-home Wifi quality. I’ve seen bits and pieces from Talaria (https://github.com/xmidt-org/talaria/blob/master/talaria.yaml) that have not been overly useful. I can’t seem to find anything saying it can monitor network/gateway health.

  3. Is XMiDT only applicable to Windows platforms? Can it be used on a smart phone in the form of an application or something similar? Additionally, how is it deployed in the XMiDT system and who maintains it?

  4. I’m Having trouble identifying the primary monitoring application XMiDT employs. I have seen Prometheus, Tr1d1um, and Codex been referenced in different situations buy am unsure of when to apply which application. From what I understand, Prometheus acts as a database while Tr1d1um supply’s data about devices and Codex supply’s information about the network servers

  5. If I wanted to collect stats from devices or if I wanted to make changes to some of these devices would I use the tr1d1um objects?

  6. I’m not entirely familiar with Web Routing Protocol and have seen many different things on WRP from google. To clarify; If I am going to be monitoring/ service assuring, would I need to worry about WRP as a way of communicating with devices or do I need to use interfaces like Tr1d1um to do so?

@Swhiffen hopefully the following answers your questions:

  1. XMiDT is not a monitoring system. It provided pipes to talk to devices.
    XMiDT can be leveraged to monitor devices but this will require work on either
    side of XMiDT. i.e. code will need to be developed on the device side to
    receive messages from parodus and on the cloud side to communicate with either caduceus or scytale.

  2. XMiDT does not check or monitor quality of service.
    Messages external to XMiDT get forwarded to parodus which then gets delivered to
    the service on the box. For more information on how parodus delivers messages
    refer to this doc

  3. XMiDT is cross platform, you might have to compile to your specific architecture.
    Refer to the build steps on how to do this.
    You would have to deploy and manage the xmidt cluster.
    It sounds like you cluster is relatively small, and you could get away with the
    docker compose.
    If you are looking to build something a little beefier refer to xmidt.io.

  4. Prometheus is an external tool, that collects
    metrics from the XMiDT microservices (talaria, scytale, etc) to get viability on
    how well XMiDT is performing. This does not explicitly show how the network is
    doing, it is used to see if the microservices are performing.

  5. You can use any message format; the message must be contained in the WRP when
    communicating with scytale. Tr1d1um is a TR-181 object translation service for scytale.

  6. WRP is the spec used by XMiDT, you can read more on the spec here.
    If you are interacting with just tr1d1um you do not need to worry about WRP.

There is a go implementation of parodus for some simple testing, but it does not
contain all the features as the c implementations does. Here are some examples
of device side code with some curl requests.


Thank you very much for this spectacular reply.

I have two more questions if that is acceptable:
I’m having trouble finding if XMiDt has been implemented by anyone besides Comcast. Is there any information on this publicly available?
I’m trying to verify third party access of information. If a third party was looking to access the messages transmitted and received from XMiDT, would the third party access this via Prometheus? Or would it use another core routing process implemented by XMiDT?

There are other deployments of the XMiDT services, but we are not at liberty to say who they are.

Currently, the only way to receive device generated messages (as opposed to a request/response interaction) is via a Caduceus subscription. Prometheus is only used for operational metrics of our deployed services and have nothing to do with the raw data coming from connected devices.

Awesome. Thank you very much for all the help. You’ve all been great!