QNX TDP erlaubt jedem Gerät den Zugriff auf die Ressourcen jedes anderen Gerätes im Netzwerk, einschließlich Disks, Internetverbindungen, Datenbanken und Grafikdisplays – und zwar so, als wären diese Ressourcen auf dem lokalen System vorhanden. Diese Transparenz kann Hardwarekosten verringern, da Geräte ihre Ressourcen mit anderen teilen können, anstatt sie in mehrfacher Ausführung verbauen zu müssen. Verfügt beispielsweise ein Gerät über einen großen Flash-Speicher, so kann es dies gegenüber anderen Geräten bekannt geben und ihnen den Zugriff erlauben.
QNX TDP vereinfacht auch das Design von verteilten, hochverfügbaren Systemen. Eine Applikation kann zum Beispiel auf einen weit entfernten Dienst zugreifen, ohne dabei wissen zu müssen, wo dieser Dienst läuft oder ob er zur Fehlertoleranz auf mehrere Knoten repliziert ist. Dabei schickt die Applikation einfach eine Nachricht über Standard POSIX Calls ab und QNX TDP übermittelt die Nachricht zum richtigen Knoten.
"Obwohl heute fast jedes Gerät Netzwerk gebunden ist, haben die meisten Betriebssysteme es versäumt, Schritt zu halten. Daher müssen Entwickler bestimmte Programmierschnittstellen verwenden, um Applikationen für Standalone-Geräte zu schreiben und komplett andere, unterschiedliche Schnittstellen, um Applikationen zu schreiben, die sich über mehrere vernetzte Geräte verteilen lassen", sagt Kerry Johnson, Director of Product Management bei QNX Software Systems. "Mit QNX Transparent Distributed Processing aber können Entwickler ihre Applikationen unabhängig davon programmieren, wie diese später eingesetzt werden – auf einem einzelnen Gerät oder verteilt in einem großen Netzwerk."
In herkömmlichen Systemen ist der Zugriff auf Peripherie und systemnahe Softwaredienste auf anderen Netzwerkknoten sehr komplex: Entwickler müssen eine Art lokalen Proxy oder ein Gateway implementieren, zusammen mit einem Ermittlungsmechanismus und einem Protokoll, speziell für die Peripherietypen, auf die zugegriffen werden soll. Kombiniert mit dem Overhead eines Kommunikationsprotokolls wie TCP/IP kommt signifikanter Aufwand und eine erhöhte Latenzzeit hinzu.
Weit verteilte Multicore-Systeme
Für höchste Skalierbarkeit und Rechenleistung können Entwickler QNX TDP mit QNX symmetrischem Multiprocessing (SMP) und gebundenem Multiprocessing (BMP) kombinieren. QNX SMP und BMP erlaubt Entwicklern, die vollständige Parallelität von Multicore-Prozessoren zu nutzen, während QNX TDP eine beliebige Anzahl an Multicore-Prozessoren zu einem fehlertoleranten Cluster mit enormer Processing-Kapazität verbinden kann.
Netzwerkredundanz
Für höchste Verfügbarkeit und maximales Load-Balancing unterstützt QNX TDP mehrere Verbindungen zwischen CPUs. Fällt eine Verbindung aus, kann QNX TDP automatisch die Daten auf die verbleibenden Verbindungen umlenken, ohne den Verlust des Dienstes. Ferner kann QNX TDP Daten auf alle verfügbaren Verbindungen verteilen und somit den Durchsatz erhöhen.
Mehrere Applikationen
QNX TDP hat sich bereits in vielen Systemen bewiesen, einschließlich stark verteilter Steuerungsebenen in Core-Routern, Multi-Headed Infotainment-Systemen in Fahrzeugen und industriellen Systemen für verteiltes Monitoring, Management und Steuerung. Da QNX TDP über den Transport-Layer arbeitet, funktioniert es auf die immer gleiche Art und Weise, egal ob über LANs, Backplanes, proprietäre Switch-Fabric-Schaltungen, Bussysteme wie CAN und MOST oder sogar das Internet.
QNX TDP ist auch als QNet Networking bekannt.
Downloads Der QNX TDP Quellcode ist als Teil des QNX Core Networking 6.4 Projekts herunterladbar. Zum Download gehen Mitglieder der QNX Community auf das QNX Entwicklerportal Foundry27 und klicken auf den Link "Core Networking Source".