-
Die
Erfindung betrifft das technische Gebiet der Datenübertragung
in einem Netzwerk verteilter Stationen, insbesondere in einem sogenannten „Heimnetzwerk".
-
Im
Besonderen betrifft die Erfindung eine Netzwerkverbindungsschalteinheit,
die zwischen sternförmig
angeordneten Netzwerkteilnehmerstationen gewünschte Verbindungen herstellt.
-
Hintergrund der Erfindung
-
Zur
Vernetzung von Geräten
im Heimbereich stehen unterschiedliche Heimnetzwerk-Standards zur
Verfügung.
-
Ein
Konsortium von Unternehmen, im Besonderen die Unternehmen der Computer-Industrie, federführend ist
Microsoft, haben eine Initiative für die Spezifizierung einer
Netzwerk-Steuersoftware basierend auf dem existierenden Internet-Protokoll (IP)
gestartet. Dieses Netzwerksystem ist unter dem Kürzel UPnP (Universal Plug and
Play) bekannt geworden. Bei diesem System ist die Spezifizierung nicht
primär
für Unterhaltungselektronik-Geräte erfolgt,
sondern es können
in dem Netzwerk auch andere Geräte
integriert sein, insbesondere Personalcomputer, Haushaltsgeräte der weißen Ware,
wie Kühlschränke, Mikrowellengeräte, Waschmaschinen,
oder auch Heizungssteuerungen, Lichtsteuerungen, Alarmanlagen usw.
Das bevorzugt verwendete Übertragungssystem
für die
Realisierung eines UPnP-Netzwerkes basiert auf dem bekannten Ethernet-Bus-System. Von diesem
Bus-System sind viele Varianten standardisiert, so daß im Heimnetzwerkbereich
die jeweils optimierte Variante ausgewählt werden kann.
-
Im
Heimnetzwerkbereich ist es zu empfehlen, eine sogenannte Sternverkabelung
basierend auf 2-Draht-Kupferkabel zu verwenden. Beispielsweise kann
die standardisierte 100 Mbit/s-Variante mit der Bezeichnung 100Base-TX
eingesetzt werden, bei der ein sogenanntes CAT/5-Kabel verwendet
wird, welches eine maximale Länge
von 100 m haben kann. Bei der Sternverkabelung werden die Kabel
zu den einzelnen Netzwerkstationen in einer Netzwerk-Verbindungsschalteinheit,
die auch als „Switch" oder als „Hub" bezeichnet wird,
zusammengeführt.
Eine solche Netzwerk-Verbindungsschalteinheit ist in der Lage, Datenpakete
zwischen den einzelnen Teilnehmerstationen zu vermitteln. Sie besitzt somit
eigene Steuerlogik und die dafür
erforderliche Software.
-
In
dem UPnP-Netzwerksystem ist es festgelegt, daß sich neue Stationen im Netzwerk
anmelden müssen
sowie abgeschaltete Stationen sich vom Netzwerk abmelden müssen. Dies
geschieht mit Spezialnachrichten, auf die später noch genauer eingegangen
wird.
-
Erfindung
-
Bei
dem vorgestellten Netzwerkszenario besteht das Problem, daß wenn eine
Netzwerkstation nicht regulär
abgeschaltet wird, sondern manuell einfach vom Netzwerk abgestöpselt wird,
für die
so vom Netzwerk verschwindende Netzwerkstation keine Möglichkeit
mehr besteht, die korrekte Abmeldungsbotschaft abzusetzen. Dadurch
kommt es zu Inkonsistenzen. Im Netzwerk werden Netzwerk-Geräte als noch
existent geführt,
obwohl sie nicht mehr im Netzwerk vorhanden sind. Das kann dazu
führen,
daß die anderen
Netzwerkstationen weiterhin versuchen, mit der fehlenden Netzwerkstation
zu kommunizieren, wodurch es zu unnötigen Datenübertragungsversuchen im Netzwerk
kommen kann. Diese Versuche werden erst nach Ablauf eines „Timeouts" abgebrochen; dadurch
ist das sendende Gerät
in dieser Zeit blockiert.
-
Für das geschilderte
Problem wird gemäß der Erfindung
eine Lösung
vorgeschlagen, die auf einer Erweiterung des Designs der zentralen
Netzwerk-Verbindungsschalteinheit basiert. Es ist die allgemeine
Idee der Erfindung, in der Netzwerk-Verbindungsschalteinheit Mittel vorzusehen,
die detektieren, ob eine Netzwerkstation vom Netzwerk abgestöpselt wird
und in dem Fall für
die dann fehlende Netzwerkstation die ordnungsgemäße Abmeldungsbotschaft
an die weiteren Netzwerkstationen zu verteilen.
-
Diese
Lösung
ist in dem unabhängigen
Anspruch 1 beansprucht. Um die ordnungsgemäße Abmeldebotschaft aussenden
zu können,
ist es vorteilhaft, wenn in der Netzwerkverbindungsschalteinheit Auswertemittel
vorgesehen sind, die die von den direkt angeschlossenen Geräten gesendeten
Anmelde- und Abmeldebotschaften auswerten und registrieren, so daß bei Erkennen
des manuellen Abstöpselns
einer Netzwerkstation auf die registrierten Informationen zurückgegriffen
werden kann und die ordnungsgemäße Abmeldungsbotschaft
erzeugt werden kann.
-
Durch
die in den abhängigen
Ansprüchen aufgeführten Maßnahmen
sind vorteilhafte Weiterbildungen und Verbesserungen der erfindungsgemäßen Vorrichtung
möglich.
-
Zeichnungen
-
Ausführungsbeispiele
der Erfindung sind in den Zeichnungen dargestellt und werden in
der nachfolgenden Beschreibung näher
erläutert.
Es zeigen:
-
1:
die Struktur eines sternförmigen Netzwerkes
mit einer zentralen Netzwerkverbindungsschalteinheit;
-
2:
ein Blockschaltbild der erfindungsgemäßen Netzwerkverbindungsschalteinheit;
-
3:
die Protokollarchitektur einer erfindungsgemäßen Netzwerkverbindungsschalteinheit;
-
4:
ein Flußdiagramm
für ein
Programm, mit dem die Auswertung von Anmeldebotschaften vorgenommen
werden kann;
und
-
5:
ein Flußdiagramm
für ein
Unterbrechungsprogramm, das die ordnungsgemäße Abmeldebotschaft erzeugt,
wenn das manuelle Abkoppeln einer Netzwerkstation erkannt worden
ist.
-
Beschreibung der Erfindung
-
In
der 1 ist ein sternförmiges Heimnetzwerk mit vier
Netzwerkstationen gezeigt. In der Mitte ist die zentrale Netzwerkverbindungsschalteinheit 11 dargestellt.
An diese Netzwerkverbindungsschalteinheit sind über vier Netzwerkverbindungsstellen 25 (auch „Ports" genannt), vier verschiedene
UPnP-Geräte
angeschlossen. Die Bezugszahl 10 bezeichnet einen Personalcomputer,
die Bezugszahl 12 einen digitalen Videorekorder, die Bezugszahl 13 einen
Camcorder und die Bezugszahl 14 ein TV-Gerät. Von der Netzwerk-Verbindungsschalteinheit 11 gehen
sternförmig
die Verbindungsleitungen zu den einzelnen Netzwerkstationen aus.
Als Übertragungssystem
für die
Datenübertragung
im Netzwerk wird das schon eingangs erwähnte Ethernet-Bus-System in
der Variante 100Base-TX eingesetzt. Für den gewählten Anwendungsfall wurde
diese Variante als ausreichend angesehen, jedoch kann in anderen
Anwendungsfällen
eine andere Variante als Übertragungssystem
angewendet werden. Wenn es auf noch höhere Datenraten ankommt, stehen
beispielsweise die sogenannten 1000Base-T oder 1000Base-SX oder 1000Base-LX
zur Verfügung.
Die letzteren beiden Varianten basieren dabei auf optischer Glasfasertechnologie.
Für Anwendungen
außerhalb
des Heimnetzwerkbereichs kämen
sogar Varianten mit einer maximalen Datenübertragungsrate von 10 Gbit/s
in Frage. Dies sind die sogenannten 10GBase-Varianten wie z. B. 10GBase-LX4.
-
Das
Ethernet-Bus-System stellt für
die höheren
Protokollschichten keine gesicherte Verbindung zur Verfügung, da Übertragungsrahmen
verloren gehen können.
Dies ist für
die Übertragung
vieler Nutzdaten nicht ausreichend, weshalb eine Sicherung der Übertragung
häufig
durch die höherliegenden
Protokollschichten erfolgen kann. Für das UPnP-Netzwerksystem ist
als nächsthöhere Protokollebene
das IP-Protokoll (Internet-Protokoll) auf der Höhe der Netzwerkschicht des
OSI-Schichtenmodells der Datenkommunikation vorgesehen. Die Sicherungsschicht
wird erst von dem darauf aufbauenden TCP-Protokoll (Transmission
Control Protocol) realisiert. Für
beide Protokollebenen, die nicht mehr Bestandteil des Ethernet-Standards
sind, gelten eigene Standardisierungen, auf die im Hinblick der
Offenbarung der Erfindung lediglich verwiesen wird. Die vollständige Protokollarchitektur,
die in dem UPnP-Netzwerksystem
festgelegt ist, kann aus der UPnP-Spezifikation (zu beziehen über www.upnp.org)
entnommen werden.
-
Im
folgenden wird auf den Aufbau der erfindungsgemäßen Netzwerk-Verbindungsschalteinheit 11 näher eingegangen.
Mit der Bezugszahl 20 ist die Schaltmatrix der Netzwerk-Verbindungsschalteinheit 11 bezeichnet. Über diese
können
beliebige Verbindungen zwischen den über die Netzwerkverbindungsstellen 25 angeschlossenen
Netzwerkstationen hergestellt werden. Zur Steuerung der Schaltmatrix 20 dient
in der Netzwerkverbindungschalteinheit 11 ein Mikro-Controller 22.
Dieser übernimmt
auch weitere Aufgaben in der Netzwerk-Verbindungsschalteinheit,
worauf nachfolgend noch genauer eingegangen wird.
-
In
der Schnittstellenschaltung 21 sind die für das Ethernet-Protokoll relevanten
Schaltungskomponenten angeordnet. Die Bezugszahl 23 bezeichnet eine
Speichereinheit bzw. einen Speicherbereich in einer solchen. Dieser
Speicher wird auch zur Registrierung der Informationen der gemäß der Erfindung auszuwertenden
Anmeldebotschaften benutzt. Mit der Bezugszahl 24 ist noch
ein Spezialregister innerhalb dieses Speicherbereichs bezeichnet,
das direkt mit in der Schnittstellenschaltung 21 vorgesehenen Detektionsmitteln 26 verknüpft ist,
die feststellen, ob eine Netzwerkverbindung manuell gelöst worden
ist. Zur Detektion solcher Ankopplungs- bzw. Abkopplungsereignisse
sind aus dem Stand der Technik mehrere Lösungen bekannt. Verwiesen wird
insbesondere auf die entsprechenden Detektionsmittel, die bei dem
seriellen Bus-Standard USB (Universal Serial Bus) benutzt werden. Ähnliche
Detektionsmittel sind auch für
das Bus-System IEEE-1394 und das Bussystem HDMI (High Definition
Multimedia Bus) bekannt. Vereinfacht gesagt, werden bei diesen Detektionsmitteln
durch das Abziehen eines Netzwerkverbindungssteckers bestimmte Kontakte
geöffnet oder
geschlossen, was zu dem Setzen oder Rücksetzen von zugeordneten Speicher-Flip-Flops
führt.
Bei der erfindungsgemäßen Lösung mit
dem Spezialregister 24, das in dem Speicherbereich 23 angesiedelt ist,
sind die Flip-Flop-Ausgänge direkt
zu dem Register gelegt, welches dann seitens des Mikro-Controllers 22 entsprechend
ausgelesen und ausgewertet werden kann.
-
Als
Netzwerkverbindungsstelle kommen die üblichen Steckverbinder für die Aufnahme
von den bekannten RJ45-Steckern
in Betracht.
-
In 3 ist
die besondere Protokollarchitektur gezeigt, die für ein erfindungsgemäßes Netzwerk-Verbindungsschaltgerät erforderlich
ist. Die beiden Ethernet-Protokollebenen Ethernet PHY und Ethernet
MAC sind auf den untersten Ebenen angeordnet. Darüber befindet
sich die schon erwähnte Protokollebene
IP. Auf der Ebene der Transportschicht ist dann das UDP-Protokoll
(User Datagram Protocol) angeordnet, welches ebenfalls keine gesicherte
Datenübertragung
unterstützt.
Dafür ist
dieses Protokoll allerdings dem gesicherten TCP-Protokoll (Transmission
Control Protocol) geschwindigkeitsmäßig überlegen.
-
Darüber ist
eine spezielle Version des HTTP-Protokolls angesiedelt (Hypertext
Transfer Protocol). Es handelt sich um das HTTPMU-Protokoll (HTTP
Multicast over UDP). Die HTTP-Nachrichten werden
also pauschal-adressiert über
die unteren UDP- und IP-Protokollebenen weitergeleitet.
-
Oberhalb
der HTTPMU-Protokollebene ist noch das SSDP-Protokoll (Simple Service Discovery Protocol)
vorgesehen. Die beiden obersten Protokollebenen SSDP und HTTPMU
brauchen dabei für
die erfindungsgemäße Lösung nicht
vollständig
implementiert zu sein. Nach der erfindungsgemäßen Lösung muß die Netzwerk-Verbindungsschalteinheit nur
die sogenannten UPnP-Notify-Nachrichten auswerten, um die Erfindung
zu realisieren. Das sind die Nachrichten, nach der die Netzwerk-Verbindungsschalteinheit
in den ausgehenden Paketen suchen muß, um festzustellen, ob es
sich um ein UPnP-Gerät
handelt. Eine solche UPnP-Notify-Nachricht sieht nach der UPnP-Spezifikation
wie folgt aus:
NOTIFY*HTTP/1.1
HOST: 239.255.255.250:1900
CACHE-CONTROL:
max-age = seconds until advertisement expires
LOCATION: URL
for UPnP description for root device
NT: search target
NTS:
ssdp:alive
SERVER: OS/version UPnP/1.0 product/version
USN:
advertisement UUID
-
Es
handelt sich wie erwähnt
dabei um eine sogenannte SSDP-Nachricht,
die nach dem HTTPMU-Standard als UDP-Paket versendet wird. Im oben
aufgeführten
Beispiel ist nur der generelle Aufbau einer solchen Notify-Nachricht
gezeigt. Die kursiv gesetzten Teile dieser Nachricht sind in einem
realen UPnP-Netzwerk durch konkrete Werte zu ersetzen. Als Beispiel
könnte
dann eine detaillierte UPnP-Notify-Nachricht wie folgt aussehen:
NOTIFY*HTTP/1.1
HOST:
239.255.255.250:1900
CACHE-CONTROL: max-age = 1800
LOCATION:
http://141.11.22.33/description.xml
NT: upnp:rootdevice
NTS:
ssdp:alive
SERVER: Sample OS/1.0 UPnP/1.0 test/1.0
USN: uuid:b0edf480-a246-1026-a884-c4201044470c::upnp:rootdevice
-
Zu
erwähnen
ist noch, daß die
Schlüsselinformationen
hinter den im allgemeinen Nachrichtenformat fett gedruckten Teilen
zu finden sind. Dabei handelt es sich zum einen um das Schlüsselwort „Notify", zum anderen die
Parameter NT und NTS. In der UPnP-Spezifikation sind ähnliche
Nachrichten auch für
andere Submodule vorgesehen. Bei ihnen ist dann allerdings die Parameter-Angabe
hinter dem Parameter NT: anders. Das für die Erfindung wichtige Modul
entspricht dem Eintrag „Root
Device", wie oben
bei der beispielhaften Anmeldungsbotschaft gezeigt. Wenn das zugehörige UPnP-Gerät vom Netzwerk
manuell abgestöpselt
wird, dann muß für dieses
Gerät die
entsprechende Abmeldungsbotschaft von der Netzwerk-Verbindungsschalteinheit 11 erzeugt
werden. Die entsprechende Abmeldungsbotschaft hat nach der UPnP-Spezifikation das
folgende generelle Format:
NOTIFY*HTTP/1.1
HOST: 239.255.255.250:1900
NT:
search target
NTS: ssdp:byebye
USN: uuid:advertisement
UUID
-
Für den konkreten
Beispielfall müßte die Netzwerk-Verbindungsschalteinheit
zur ordnungsgemäßen Erzeugung
der Abmeldungsbotschaft somit ein Paket erzeugen, bei dem hinter
dem Parameter NT: der Eintrag „UPnP:route
device" und bei
dem unter dem Parameter USN: der Wert eingetragen wurde, welchen
das Gerät
bei Versenden des Notify-Paketes, also der Anmeldungsbotschaft verwendet
hatte. Demgemäß sieht
die korrekte Abmeldungsbotschaft für dieses Beispiel wie folgt
aus:
NOTIFY*HTTP/1.1
HOST: 239.255.255.250:1900
NT:
upnp:rootdevice
NTS: ssdp:byebye
USN: uuid:b0edf480-a246-1026-a884-c4201044470c::upnp:rootdevice
-
In
der 4 ist ein Beispiel eines Programms für die Auswertung
der Anmeldebotschaften im Netzwerk seitens der zentralen Netzwerk-Verbindungsschalteinheit 11 in
Form eines Flußdiagramms dargestellt.
Die Auswertung solcher Anmeldebotschaften stellt sich vergleichsweise
einfach dar, weil der Kern der relevanten UPnP-Nachricht aus einfachem
ASCII-Text besteht, der in dem prinzipiellen Format Kopfzeile und
weitere Informationszeilen, die aus einem Kennwort, einem Doppelpunkt
und dem nachfolgenden Wert bestehen, angeordnet ist.
-
Der
Programmstart ist in 4 mit der Bezugszeile 30 bezeichnet.
In der nachfolgenden Abfrage 31 wird überprüft, ob das empfangene Paket
mit dem „Multicast-Übertragungs-Mode" versendet wurde.
Das läßt sich
an der Target-IP-Adresse
im „Header" des empfangenen
Paketes feststellen. In der oben aufgelisteten, beispielhaften Notify*HTTP/1.1-Botschaft ist die
Standard-Multicast-Adresse 239.255.255.250 und der Standard-Port
1900 angegeben. Für
den Fall, daß keine Multicast-Übertragung
vorlag, wird die Auswertung des Datenpaketes mit dem Schritt 36 beendet.
Wenn tatsächlich
das Datenpaket im Multicast-Mode übertragen wurde, folgt in der
Abfrage 32 die Überprüfung, ob
im nachfolgenden Teil des Datenpaketes die Zeile „Notify*HTTP/1.1" als weitere „Headerzeile" steht. Wenn das
nicht der Fall ist, wird das Programm erneut mit Programmschritt 36 beendet.
Wird die Abfrage positiv beschieden, dann werden alle nachfolgenden
Zeilen des Datenpaketes extrahiert bis zu der Stelle, wo eine Leerzelle
kommt. Die Auswertung der extrahierten Zeilen geschieht dann wie
dargestellt. Zunächst
wird in Abfrage 33 überprüft, ob hinter
dem Parameter NTS der Eintrag „ssdp:alive" vorkommt. Ist dies
nicht der Fall, wird das Programm wiederum mit Programmschritt 36 beendet.
Wenn dem so ist, so wird der jeweilige Wert für die Parameter „HOST", „NT" und „USN" in dem zugehörigen Speicherbereich 23 registriert.
Zusätzlich
wird im Programmschritt 35 die Multicast-IP-Adresse sowie
die Netzwerkverbindungsstelle 25 (Port-Nr.), über die
das zu analysierende Datenpaket empfangen wurde, mit in den internen
Speicherbereich 23 eingetragen. Anschließend ist
das Programm mit dem Programmschritt 36 beendet.
-
Eine
Erweiterung des erläuterten
Programms kann noch darin bestehen, daß zusätzlich auch die sogenannten
UPnP-Abmeldungsbotschaften
ausgewertet werden. Im Prinzip kann dasselbe Programm verwendet
werden, nur das in Abfrage 33 überprüft wird, ob hinter dem Parameter
NTS der Eintrag „ssdp:byebye" auftritt. In diesem
Fall handelt es sich um eine Abmeldungsbotschaft. Wenn dieser Eintrag
erkannt worden ist, werden dann ebenfalls wieder die Parametereinträge wie zuvor
erläutert ausgewertet.
Die zugehörigen
registrierten Parameter im internen Speicherbereich 23 müssen daraufhin gelöscht werden,
so daß bei
nachfolgender manueller Abkopplung des zugehörigen Gerätes von der Netzwerkverbindungsschalteinheit 11 keine
zusätzliche
Abmeldungsbotschaft erzeugt werden kann.
-
In
der 5 ist noch ein Flußdiagramm für ein Programm gezeigt, das
von der Netzwerk-Verbindungsschalteinheit 11 abgearbeitet
wird. Das Programm startet in Programmschritt 40. Dieses
Programm wird aber nur dann gestartet, wenn seitens der Netzwerkverbindungsschalteinheit 11 festgestellt wurde,
daß eine
der angeschlossenen Netzwerkstationen von einer der Netzwerk-Verbindungsstellen abgekoppelt
wurde. Dies wird durch die zuvor erläuterten Detektionsmittel 26 für das Abkoppeln
von Netzwerkstationen erkannt und an den Mikroprozessor 22 der
Netzwerk-Verbindungsschalteinheit 11 per Interrupt gemeldet.
Das Programm gemäß 5 entspricht
somit einer Interrupt-Service-Routine für den so ausgelösten Interrupt.
-
Im
Programmschritt 41 liest der Mikroprozessor 22 den
Eintrag in dem Spezialregister 24 aus. In diesem Spezialregister
ist durch Setzen eines Bits angezeigt, bei welcher der 4 Netzwerkverbindungsstellen 25 die
detektierte Abkopplung auftrat. Sodann erfolgt in dem Programmschritt 42 das
Auslesen der registrierten Parameter-Werte, für die über die abgekoppelte Netzwerkverbindungsstelle 25 verbundene Netzwerkstation.
Im Programmschritt 43 erfolgt noch das Auslesen der Multicast-IP-Adresse
und der Nummer der Netzwerksverbindungsstelle 25 (Port-Nummer).
Im Programmschritt 44 wird dann die ordnungsgemäße Abmeldungsbotschaft
für die
abgekoppelte Netzwerkstation erzeugt. Die dafür erforderlichen Parameter-Werte
und weiteren Angaben wurden in den Programmschritten 42 bis 43 ausgelesen.
Die fertige Abmeldungsbotschaft hat das Format, wie in dem oben
angegebenen Beispiel erläutert.
Mit dem Programmschritt 45 wird dann noch der zuvor gesetzte Eintrag
in dem Spezialregister 24 wieder gelöscht. Ebenfalls werden hier
auch die zugehörigen
Einträge für die abgemeldete
Netzwerkstation, wie bei einer regulären Abmeldung, aus dem Speicherbereich 23 entfernt.
Die Interrupt-Service-Routine wird mit dem Programmschritt 46 beendet.
Die Netzwerk-Verbindungsschalteinheit 11 ist
damit aktualisiert worden und wieder in den Ausgangszustand für weitere Überwachungsvor-gänge versetzt
worden.