Viele, wenn nicht sogar alle GPRS-Anbieter nutzen dynamische IP-Adressierung für mobile Endgeräte in ihren Netzen. Die Netzbetreiber verwenden eine Architektur ähnlich dem Dynamic Host Control Protocol (DHCP) zur IP-Adressverwaltung. Dies stellt mobile Anwendungen vor eine Herausforderung, da sie sich in einem Netzwerk registrieren und potenziell mit jeder Verbindung eine neue IP-Adresse erhalten. Das mobile Endgerät muss dann die Benachrichtigung über die IP-Adresszuweisung vom Netzwerk an das System, das die Lösung bereitstellt, verwalten. Abbildung 1 veranschaulicht dieses Problem. Enfora
hat eine Architektur entwickelt, die dazu beiträgt, die potenziellen Probleme zu lösen, die entstehen können, wenn ein Systemhost die IP-Adresse von im Feld eingesetzten mobilen Endgeräten ermitteln muss. Die allgemeine Struktur und die erforderlichen Befehle werden im Folgenden detailliert beschrieben. Beispiele für verschiedene Implementierungen werden zur Verdeutlichung erläutert.
Es wurden zwei grundlegende Architekturen entwickelt, die miteinander interagieren, um den Prozess der Zuweisung einer neuen IP-Adresse zu verwalten. Diese Architekturen heißen Wakeup/Keep Alive und Friends.
Die Wakeup/Keep-Alive-Architektur dient dazu, einem bestimmten Server Zeit- und Zustellungsbestätigungen zu übermitteln, sobald eine neue IP-Adresse bezogen wird. Der Befehl ermöglicht außerdem die Definition eines Keep-Alive-Timers, der in einem festgelegten Intervall ein Datenpaket generiert. Dadurch kann der Server aktive Informationen für mehrere in seiner Anwendung verwendete IP-Adressen verwalten.
Die Friends-Modus-Architektur erlaubt die Definition mehrerer IP-Adressen, die Zugriff auf das Modem haben.
Diese Konstruktion verfolgt zwei Zwecke.
Eine Zugriffsebene ermöglicht die drahtlose Fernprogrammierung des Moduls über die Programmierschnittstelle (API). Diese Architektur wird in einem separaten Dokument detailliert beschrieben.
Der zweite Zweck dieser Architektur ist die Definition der IP-Adressen der Server, die in Verbindung mit den Wakeup-/Keep-Alive-Parametern verwendet werden.
Das Befehlsformat zur Definition der „Friends“ lautet wie folgt:
AT$FRIEND=
Freund-Nr.: (1–10) Gibt an, welcher Freund hinzugefügt oder ersetzt werden soll.
Server-Indikation: (0–1) Diese Kennzeichnung gibt an, ob der angegebene Freund als Server fungieren soll. 1 = Server-
IP: „(0–255).(0–255)-(0–255).(0–255)“
Es können bis zu 10 freundliche IP-Adressen definiert werden. Jede dieser Adressen kann auf das Modem zugreifen. Jeder Freund kann als Server identifiziert werden. Diese Freundesliste dient außerdem dazu, festzulegen, welche IP-Adressen über die Enfora-API Befehle drahtlos ausführen dürfen.
Der Befehl zur Definition der Wakeup/Keep-Alive-Architektur lautet wie folgt:
AT$WAKEUP =
<retry-period>
<wakeup-mode>
0 = Es werden keine Wecknachrichten gesendet.
1 = Senden Sie Nachrichten ab dem Empfang der neuen IP-Adresse alle<retry-period> Minuten.

2 = Senden Sie eine Bestätigungsnachricht mit dem Befehl at$acktm, sobald die neue IP-Adresse empfangen wurde.<retry-period> Minuten.
<retry-period>
Die Anzahl der Minuten, in denen die Keep-Alive-Anfrage an den Server gesendet wird. Null bedeutet, dass keine Wiederholungsversuche unternommen werden.
• Bei Verwendung dieses Befehls wird ein Ereignis der Gruppe 0 in der Ereignistabelle des Moduls generiert.
• Der Parameter
Die Bestätigungs- und Wiederholungsnachrichten werden in Verbindung mit Wakeup/Keep Alive verwendet.
Das Befehlsformat ist wie folgt:
AT$ACKTM:
<retry-period><IP-reselect>
<max-retry>
Die maximale Anzahl an Wecknachrichten, die das Modem an jeden Server sendet, sobald es die neue IP-Adresse empfängt oder die Keep-Alive-Phase abgelaufen ist.
Null bedeutet, dass keine Nachrichten gesendet werden sollen.
<retry-período>
Die Anzahl der Sekunden zwischen aufeinanderfolgenden Wiederholungsversuchen der Wecknachricht.
Null bedeutet, dass keine Wiederholungsversuche unternommen werden.
<IP-reselect>
1. IP-Neuauswahl deaktiviert.
2. Wenn auf keinem der definierten Friends-Server eine Bestätigungsnachricht eingegangen ist und die maximale Anzahl an Wiederholungsversuchen erreicht wurde, wird von einem Kommunikationsproblem ausgegangen und ein neuer IP-Neuauswahlprozess gestartet.
Nach dem Empfang der ersten oder einer neuen IP-Adresse prüft das Modem seine Freundesliste (beginnend mit dem ersten und bis zum zehnten Eintrag), um festzustellen, ob Server vorhanden sind. Wird ein Server gefunden, wird im mit dem Befehl `$ACKTM` festgelegten Intervall eine Wecknachricht gesendet, bis das angegebene Wiederholungslimit erreicht ist oder eine Bestätigungsnachricht empfangen wird. Dieser Vorgang wird für jede IP-Adresse in der Freundesliste wiederholt, bis die Liste abgearbeitet ist oder eine Bestätigung von einem Server in der Liste eingeht. Eine Bestätigung vom Server ist nicht erforderlich.
Ist Keep-Alive aktiviert, werden Wecknachrichten im mit dem Befehl `$WAKEUP` festgelegten Intervall wiederholt, nachdem die vorherige Wecksequenz abgeschlossen ist. Die Keep-Alive-Anfrage wird unabhängig davon gesendet, wann die vorherige Nachrichtensequenz bestätigt wurde.
Die Option zur automatischen IP-Neuauswahl ermöglicht es dem Modem, eine neue IP-Adresse aus dem Netzwerk zu beziehen, falls keine Verbindung hergestellt werden kann. Das Modem sendet Nachrichten an alle in der Freundesliste als Server definierten IP-Adressen. Empfängt das Modem keine Bestätigungsnachricht gemäß der Enfora-API aus den Serverprotokollen, bezieht es eine neue IP-Adresse aus dem Netzwerk.
Ein zusätzlicher Parameter, bestehend aus einem 20-stelligen Feld, ermöglicht die eindeutige Identifizierung des Geräts innerhalb des Systems. Dieser Parameter wird in die Nutzdaten des UDP-Pakets aufgenommen, wenn die Wakeup-/Keep-Alive-Daten übertragen werden.
Die Modemidentifizierung erfolgt wie folgt:
AT$MDMID =
<modem-identificador>
Zur Identifizierung des Modems wird ein 20-stelliger Bereich verwendet.
Abbildung 2 veranschaulicht die Verwendung von „Freunde“ mit einem einzelnen Server.
In diesem Beispiel ist der Enabler-IIIG so konfiguriert, dass er alle 20 Sekunden bis zu 10 Mal eine Wecknachricht an die IP-Adresse 168.121.100.1 sendet, oder bis er eine Bestätigung vom Server erhält. Der Enabler-IIIG sendet alle 60 Minuten eine Keep-Alive-Nachricht an den Server. Die IP-Neuwahl ist in diesem Beispiel deaktiviert.
Abbildung 3 veranschaulicht die Verwendung von „Freunde“ mit mehreren Servern.
In diesem Beispiel ist der Enabler-IIIG so konfiguriert, dass er das Weckpaket an den ersten Server in seiner Freundesliste sendet. Das Paket wird alle 20 Sekunden bis zu 10 Mal an diesen ersten Server gesendet, oder bis der Server mit einer Bestätigung antwortet. Geht nach 10 Versuchen keine Bestätigung ein, startet das Modem den Weckvorgang mit dem nächsten Server in der Liste. Dieser Vorgang wird (serverweise) fortgesetzt, bis die Freundesliste abgearbeitet ist oder die erste Bestätigung von einem Server empfangen wird. In diesem Beispiel werden in den ersten 200 Sekunden 10 Wakeup-Pakete an die Adresse 168.121.100.1 gesendet. Anschließend werden in den darauffolgenden 200 Sekunden weitere 10 Pakete an die Adresse 168.121.100.2 gesendet. Schließlich werden in den dritten 200 Sekunden 10 Wakeup-Pakete an die Adresse 168.121.100.3 gesendet. Erhält das Modem innerhalb dieser 600 Sekunden (10 Minuten) keine Bestätigung, sendet es bis zum Ende des nächsten Keep-Alive-Zeitraums keine Wakeup-Pakete mehr. In diesem Beispiel beträgt der Keep-Alive-Zeitraum 60 Minuten.
Die Option zur IP-Adressneuwahl ist aktiviert. Wenn das Modem am Ende der Aufwachphase von keinem der Server eine Bestätigungsnachricht empfängt, bezieht es eine neue IP-Adresse aus dem Netzwerk.
Weitere Informationen oder ein Angebot
José Adarve (M2M-Anwendungsingenieur, Venco Electrónica) und Angel Gutiérrez (M2M-Produktmanager, Venco Electrónica).