Eine weitere Herausforderung stellt sich mit der Auswahl des richtigen Protokolls auf der Anwendungsschicht. Hier wäre natürlich das http-Protokoll ideal, weil es mit den Webbrowsern weit verbreitet ist. Allerdings ist der Aufwand auf der Serverseite zur Analyse von http recht groß, weil die in ASCII codierten Befehle zerlegt werden müssen. Deswegen erscheint eine Implementierung auch nur auf leistungsfähigeren Knoten (Cortex-M3 oder aufwärts) sinnvoll. Aus diesem Grund wurde im vergangenen Jahr in RFC 7252 von der IETF das Constrained Application Protocol (CoAP) definiert, das in Bezug auf das Request-Response-Paradigma an http angelehnt ist. Im Unterschied zu http wird bei CoAP aber ein codierter Methodenaufruf auf einen Uniform Resource Identifier (URI) verwendet, der eine Zuordnung im Server zulässt.
Die CoAP-Spezifikation wurde von der Constrained RESTful environments (CoRE) Working Group erarbeitet. Wie der Name dieser Gruppe schon signalisiert, war ein Kerngedanke die Organisation durch RESTful Services, also durch Dienste, die der Representational state transfer (REST)-Abstraktion folgen. Darüber hi-naus werden auch Multicast-Dienste unterstützt, was für viele reale Anwendungen praktische Vorteile bringt. Auch werden grundsätzliche Möglichkeiten zur Diensteerkennung (Resource Discovery) und zur Beobachtung (Observing Resources) von Ressourcen unterstützt.
Für den Zugriff auf einen CoAP-Server existieren die drei in Bild 1 gezeigten Architekturen:
Allerdings wird zunehmend deutlich, dass die CoAP-Spezifikation allein immer noch nicht ausreichend ist, um herstellerübergreifend interoperable Produkte bereitzustellen. Der Grund: CoAP definiert nur die Struktur der Anfrage, nicht die Codierung selbst. Entsprechend müssen nun auch noch die Datenmodelle, die Profile, spezifiziert werden, um diese semantische Eindeutigkeit zu bieten. Zum Erreichen dieser Eindeutigkeit befindet sich die Branche gegenwärtig in einem lebhaften Diskussionsprozess, wobei verschiedene, teilweise konkurrierende Ansätze am Start stehen. Diese sind zwar logisch gesehen unabhängig von 6LoWPAN, werden aber eigentlich nur in diesem Zusammenhang gesehen und vorangetrieben:
Die ETSI-M2M-Gruppe folgt aber auch dem Ansatz, weitere eigene Profile zu definieren. Hierbei steht sie in einer gewissen Konkurrenz mit der Open Mobile Alliance (OMA), die vor allem aus der Sicht der Mobilen Geräte (Smartphones etc.) und der damit verbundenen Betriebssysteme und Entwicklungsumgebungen sowie der Bereitstellung von backend-basierten Serversystemen denkt. Diese definiert z.B. den Lightweight M2M-(LWM2M)-Stack, der die Managementebene beschreibt. Parallel dazu hat die IPSO-Alliance die Ver-sion 1.0 ihrer Objektbeschreibungen publiziert. Sowohl LWM2M als auch IPSO verwenden dieselbe Funktionsstruktur; beide Definitionen können direkt auf CoAP aufgesetzt werden.
Schließlich existieren auch verschiedene integrative Ansätze, die unmittelbar versuchen, eine Metaebene zu definieren, die die wichtigsten Strukturen der Implementierungsmöglichkeiten der Profile abbilden kann.