# TR-369

TR-369, auch User Services Platform (USP) genannt, ist wie sein Vorgänger TR-069 ein vom Broadband-Forum entwickelter Protokoll-Standard für die Verwaltung und Analyse von Geräten, verbunden mit einem Netzwerk. Dieser technische Standard definiert Protokoll, Architektur und Datenmodell der Anwendungsschicht zur Kommunikation zwischen Anbieter/Kunde und einem oder mehreren Geräten.

## Entstehung

Da das alte Protokoll (entstanden 2004) durch die immer größer werdende Anzahl kommunikationsfähiger Geräte in einem Haushalt nicht mehr ausreichte, war eine Anpassung notwendig. Basierend auf TR-069 wurde 2018 das neue Protokoll mit einem größeren Funktionsumfang veröffentlicht. Diese Funktionen erlauben es, mehrere Geräte gleichzeitig zu analysieren und zu verwalten.

## Architektur

Die USP besteht aus einem Netzwerk aus Controllern und Agents, die über ein Message Transfer Protokoll (MTP) miteinander kommunizieren. Die Kommunikation zwischen den jeweiligen Endpunkten ist permanent etabliert (Always-On), um die Anzahl von Verbindungs-Aufbau-Nachrichten zu minimieren und den Nachrichtenfluss im Netzwerk möglichst gering zu halten.
Ein Agent besteht aus einem Instantiated Data Model (IDM) und einem Supported Data Model (SDM). Das IDM fasst alle Service-Elemente, die mit dem Agenten verbunden sind, zusammen. Es beinhaltet Status, Objekte, Unterobjekte, Parameter, Ereignisse und ausführbare Kommandos der Service-Elemente, die bei der Konfiguration hinterlegt wurden. Das SDM hingegen beinhaltet alle Objekte, Unterobjekte, Parameter, Ereignisse und ausführbare Kommandos der Service-Elemente, die dem Agenten zur Verfügung stehen. Demnach haben beispielsweise zwei baugleiche Geräte, dasselbe SDM, können aber je nach Konfiguration, verschiedene IDMs aufweisen.
Ein Agent wird von einem oder mehreren Controllern angesprochen, um einen Dienst an einem oder mehreren Service-Elementen auszuführen. Der Controller umfasst eine Anwendungs-Logik mit Einstellungen und kann eine Datenbank mit den verbundenen Agenten sowie deren Fähigkeiten und Status aufweisen. Er agiert als Interface für Benutzeranwendungen, die über die User Services Plattform Zugriff zu den Service-Elementen erlangen möchten.

## Stärken des TR-369
### Effizienter Nachrichtenfluss

Durch die Always-on-Verbindung zwischen den Parteien wird die Anzahl an Nachrichten im Netz minimiert. Die digitale Datenverarbeitung und die Nutzung von relativen Pfaden zu Verzeichnissen verkleinern die übermittelten Daten.

### Sichere Nachrichten

Durch Nutzung von Ende-zu-Ende-Verschlüsselung ist es möglich, einen Sitzungskontext zu hinterlegen, welcher Integrität, Sicherheit und Segmentierung der Nachrichten ermöglicht.

### Multi-Stakeholder-Architektur

Das Protokoll ermöglicht es, dass mehrere Nutzer Zugriff zu verschiedenen Service-Elementen erhalten können. Beispielsweise könnten zwei Firmen, jeweils mit unterschiedlichen Berechtigungen, damit beauftragt werden, die gleichen Geräte zu verwalten.

### Device-Lifecycle-Management

Durch das Protokoll ist es möglich, Einfluss auf den gesamten Lebenszyklus eines Gerätes zu nehmen. Das können z. B. Servicebereitstellung, Geräteauthentifizierung oder -Konfiguration sein.

### Mehrere Kommunikationsprotokolle

Durch die Verwendung von MTPs als flexible Transportschicht können Agent und Controller sich auf das optimale Kommunikationsprotokoll für den jeweiligen Anwendungszweck einigen. Aktuell sind MTPs für folgende Protokolle spezifiziert: STOMP, CoAP, MQTT sowie WebSockets.

### Abwärtskompatibilität

Um das alte Protokoll TR-069 weiterhin verwenden zu können, wurde das Device:2-Datenmodell vom Vorgänger übernommen und erweitert. TR-369 kann also parallel zu TR-069 agieren.

### Benachrichtigungen

Controller sind in der Lage, gewisse Ereignisse zu abonnieren. Sie werden bei Eintreffen des Ereignisses benachrichtigt und können umgehend handeln.