-
Diese
Patentanmeldung ist mit den ebenfalls anhängigen US-Anmeldungen mit den Bezeichnungen "METHOD AND SYSTEM
FOR OPERATING VIRTUAL DEVICES BY MASTER CONTROLLERS IN A CONTROL
SYSTEM", Serien-Nr.
09/328,921, eingereicht am 9. Juni 1999 und "METHOD FOR DYNAMICALLY UPDATING MASTER
CONTROLLERS IN A CONTROL SYSTEM",
Serien-Nr. 09/328,885, eingereicht am 9. Juni 1999 verwandt.
-
TECHNISCHES
GEBIET DER ERFINDUNG
-
Diese
Erfindung bezieht sich allgemein auf Steuerungssysteme und genauer
auf ein Verfahren und ein System zum Übertragen von Daten zwischen Master-Steuerungseinrichtungen
in Steuerbereichsnetzwerken.
-
HINTERGRUND
DER ERFINDUNG
-
Durch
die Verwendung eines Steuerungssystems können verschiedene Vorrichtungen
oder Geräte
in einer Umgebung, wie etwa einem Eigenheim oder einem Geschäftsbetrieb,
computergesteuert werden, um eine automatisierte Umgebung zu bilden.
Die, gesteuerten Vorrichtungen können
zum Beispiel Heizungs-, Lüftungs-
und Klimaanlagen- (HKL-) Systeme, Beleuchtungssysteme, audiovisuelle
Systeme, Telekommunikationssysteme, Sicherheitssysteme, Überwachungssysteme
und Feuerschutzsysteme umfassen. Die Vorrichtungen können mit
vorrichtungssteuernden Geräten
gekoppelt sein, die durch die Verwendung eines Steuerbereichsnetzwerks
mit einer computerbasierten Master-Steuerungseinrichtung verbunden
sind. Ein oder mehrere Benutzerschnittstellengeräte, wie etwa ein berührungsempfindlicher
Bildschirm, können
ebenfalls mit dem Steuerbereichsnetzwerk verbunden sein, um Benutzereingaben
zu akzeptieren und den aktuellen Systemzustand anzuzeigen.
-
Traditionelle
Steuerungssysteme bieten typischerweise keine oder nur eine begrenzte
Unterstützung
für ein
Zusammenschalten mehrerer Master-Steuerungseinrichtungen und für die Unterstützung von
Datenübertragungen
zwischen mehreren Master-Steuereinrichtungen.
Die traditionell verfügbare
begrenzte Unterstützung
begrenzt die Möglichkeit
eines Benutzers, Steuerungssysteme und zugeordnete Geräte über logische
und geographische Grenzen zu verteilen und zu unterteilen.
-
Dokument
EP-A-0 812 086 beschreibt ein System, das Router verwendet, die
in der Lage sind, Daten an Ziele in der gesamten Welt weiterzuleiten. Dieses
Dokument beschäftigt
sich hauptsächlich
mit der Verfolgung der Bewegungen von Terminals von einem VLAN zu
einem anderen, nicht mit Inter-VLAN-Datenübertragungen.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Aus
dem Vorhergehenden ist ersichtlich, dass sich ein Bedarf an einem
Verfahren und einer Vorrichtung zum Bewirken einer Master-Steuerungseinrichtungs-Kommunikation
zwischen Steuerbereichsnetzwerken und Steuerbereichsnetzwerksystemen
ergeben hat.
-
Gemäß der vorliegenden
Erfindung werden ein Verfahren und ein System bereitgestellt, um
diesem Bedarf Rechnung zu tragen, die ein Kommunikationsnetzwerk,
eine erste Master-Steuerungseinrichtung und eine zweite Master-Steuerungseinrichtung
umfassen, wobei die erste und die zweite Master-Steuerungseinrichtung
mit dem Kommunikationsnetzwerk gekoppelt sind. Das Verfahren und
das System umfassen ferner eine Anzahl von Geräten, wobei eine erste Menge
der Geräte
mit der ersten Master-Steuerungseinrichtung gekoppelt ist und eine zweite
Menge der Geräte
mit der zweiten Master-Steuerungseinrichtung über das Kommunikationsnetzwerk
gekoppelt ist und wobei jedes Gerät mindestens einen Port hat.
Darüber
hinaus umfassen das Verfahren und das System ferner einen ersten Gerätemanager,
der der ersten Master-Steuerungseinrichtung zugeordnet ist, und
einen zweiten Gerätemanager,
der der zweiten Master-Steuerungseinrichtung
zugeordnet ist. Der erste Gerätemanager hält erste
Gerätezustandsdaten,
die der ersten Menge der Geräte
zugeordnet sind, und der zweite Gerätemanager hält zweite Gerätezustandsdaten,
die der zweiten Menge der Geräte
zugeordnet sind. Außerdem
umfassen das Verfahren und das System einen ersten Verbindungsmanager,
der der ersten Master-Steuerungseinrichtung
zugeordnet ist, und einen zweiten Verbindungsmanager, der der zweiten
Master-Steuerungseinrichtung zugeordnet ist. Der erste Verbindungsmanager
kann betrieben werden, um Daten von der ersten Menge von Geräten anzunehmen
und die Daten an die zweite Master-Steuerungseinrichtung weiterzuleiten,
und der zweite Verbindungsmanager kann betrieben werden, um die
Daten von der ersten Master-Steuerungseinrichtung anzunehmen und
die Daten an die zweite Menge der Geräte zu senden.
-
KURZE BESCHREIBUNG DER
ZEICHNUNGEN
-
Ein
besseres Verständnis
der vorliegenden Erfindung lässt
sich aus der detaillierten Beschreibung, die folgt, in Verbindung
mit den beigefügten Zeichnungen
erzielen, in denen:
-
1 ist
ein Blockdiagramm einer beispielhaften Ausgestaltung von Steuerbereichsnetzwerken,
die die vorliegende Erfindung einsetzt,
-
2 ist
ein detailliertes Blockdiagramm einer Master-Steuerungseinrichtung gemäß einer
Ausführungsform
der Lehren der vorliegenden Erfindung,
-
3 ist
ein detailliertes Blockdiagramm eines virtuellen Gerätes gemäß einer
Ausführungsform der
Lehren der vorliegenden Erfindung,
-
4 ist
ein Flussdiagramm, das ein Verfahren zum Weiterleiten von Daten
zwischen einer Vielzahl der Master-Steuerungseinrichtungen gemäß einer
Ausführungsform
der Lehren der vorliegenden Erfindung zeigt,
-
5 ist
ein Flussdiagramm, das ein Verfahren zum Betreiben virtueller Elemente
durch eine Master-Steuerungseinrichtung in einem Steuerbereichsnetzwerk
gemäß einer
Ausführungsform
der Lehren der vorliegenden Erfindung zeigt, und
-
6 ist
ein Flussdiagramm, das ein Verfahren zum dynamischen Aktualisieren
einer Master-Steuerungseinrichtung in einem Steuerbereichsnetzwerk
gemäß einer
Ausführungsform
der Lehren der vorliegenden Erfindung zeigt.
-
DETAILLIERTE
BESCHREIBUNG DER ERFINDUNG
-
Steuerbereichsnetzwerke
können
verwendet werden, um die typischen diskreten Systeme zu ersetzen,
die verwendet werden, um Objekte in einem Eigenheim oder einem Geschäftsbetrieb
zu steuern. Traditionell sind Objekte, wie etwa Lichtanlagen oder Videokassettenrekorder,
getrennt und manuell durch Lichtschalter und individuelle Fernbedienungen
gesteuert worden. Die vorliegende Erfindung ersetzt solche traditionellen
Systeme durch integrierte, elektronische Steuerbereichsnetzwerke,
um Objekte in einem Eigenheim oder einem Geschäftsbetrieb zu steuern.
-
1 ist
ein Blockdiagramm, das eine beispielhafte Ausgestaltung bzw. Konfiguration
von Steuerbereichsnetzwerken zeigt, die die vorliegende Erfindung
einsetzt. Eine verteilte Steuerbereichsnetzwerkkonfiguration 10 weist
in der offenbarten Ausführungsform
ein erstes Steuerbereichsnetzwerk 16 und ein zweites Steuerbereichsnetzwerk 18 auf.
In einer anderen Ausführungsform
der vorliegenden Erfindung bilden das erste und das zweite Steuerbereichsnetzwerk 16 und 18 ein
einziges Steuerbereichsnetzwerk. Das erste Steuerbereichsnetzwerk 16 weist
eine Anzahl von Steuerbereichsnetzwerksystemen 21, 23 und 26 ("CAN-Systeme") auf.
-
Jedes
CAN-System 21, 23 und 26 weist eine Master-Steuerungseinrichtung 28 (28A, 28B bzw. 28C)
auf, die in Verbindung mit 2 detaillierter
beschrieben werden. Master-Steuerungseinrichtung 28 bezeichnet
eine allgemeine Master-Steuerungseinrichtung, während 28A–C spezielle
Master-Steuerungseinrichtungen bezeichnen. In einer Ausführungsform
definiert eine Master-Steuerungseinrichtung ein CAN-System. Anders
ausgedrückt
gibt es eine Eins-zu-Eins-Übereinstimmung
zwischen CAN-Systemen und Master-Steuerungseinrichtungen. Jedem
CAN-System 21, 23 und 26 ist
ferner eine Systemkennung 27 zugeordnet. Die Systemkennung 27 wird
verwendet, um jedes CAN-System in einem bestimmten Steuerbereichsnetzwerk
eindeutig zu identifizieren. Die Systemkennung kann jeder Wert oder
Bezug sein, der geeignet ist, um verschiedene Systeme zu repräsentieren,
zum Beispiel ganze Zahlen, Gleitkommazahlen und Zeichenfolgen. In
einer Ausführungsform
ist die Systemkennung 27 ein nummerischer Wert, der aus
einer Kennung abgeleitet werden kann, die der jeweiligen Master-Steuerungseinrichtung 28A-C zugeordnet
ist. Eine Systemkennung ist in Bezug auf ein Steuerbereichsnetzwerk
eindeutig, aber kann von einem anderen Steuerbereichsnetzwerk wiederverwendet werden.
-
Um
ein klareres Verständnis
der vorliegenden Erfindung zu ermöglichen, wird ein Beispiel
vorgestellt. Unter Bezugnahme auf 1 können die CAN-Systeme 21, 23 und 26 jeweils
drei Räume
in einem Haus steuern, insbesondere ein Wohnzimmer, eine Küche und
ein Schlafzimmer. Unter Verwendung der CAN-Systeme werden verschiedene
zugeordnete externe Geräte 34 gesteuert.
Insbesondere steuert Gerät
1:1 (im Folgenden wird ein bestimmtes Gerät als "Gerät
A:B" bezeichnet,
wobei A die Gerätenummer
und B die Systemnummer ist, d.h. Gerät 1:1 ist das an die Master-Steuerungseinrichtung
1 gekoppelte Gerät
1) unter Bezugnahme auf die Geräte-
und Systemnummern, die in 1 gezeigt
sind, eine Sicherheitsalarmtafel, und Gerät 2:1 steuert einen Fernseher,
beide in dem Wohnzimmer. Gerät
1:2 ist ein Mikrowellenofen, und Gerät 2:2 steuert einen Lichtschalter,
beide in der Küche.
Gerät 1:3
steuert einen Videokassettenrekorder, und Gerät 2:3 steuert einen Wecker,
beide in dem Schlafzimmer.
-
Mit
jeder Master-Steuerungseinrichtung 28 kann ein entsprechender
Netzknoten 31 gekoppelt sein. In der offenbarten Ausführungsform
ist der Netzknoten 31 als von der Master-Steuerungseinrichtung 28 getrennt
gezeigt, jedoch kann der Netzknoten 31 integral mit der
Master-Steuerungseinrichtung 28 ausgebildet sein. Eine
Anzahl von Geräten kann
mit der Master-Steuerungseinrichtung 28 über den
Netzknoten 31 gekoppelt sein.
-
In
einer Ausführungsform
sind die Geräte 33 Slave-Geräte, die
für einen
richtigen Betrieb die Kopplung mit der Master-Steuerungseinrichtung 28 erfordern,
jedoch können
in den Geräten 33 verschiedene
Niveaus von Intelligenz und Fähigkeiten
enthalten sein, die für
einen richtigen Betrieb verschiedene Niveaus von Steuerung und Interaktion
mit der Master-Steuerungseinrichtung 28 erfordern können. Jedes
Gerät 33 hat
eine Gerätenummer 32,
die verwendet wird, um jedes Gerät 33 in
einem bestimmten CAN-System (wie etwa 21, 23 und 26)
eindeutig zu identifizieren. Die Gerätenummern 32 können jeder Wert
oder Bezug sein, der geeignet ist, um verschiedene Geräte zu repräsentieren,
zum Beispiel ganze Zahlen, Gleitkommazahlen und Zeichenfolgen. Darüber hinaus
sind die Gerätenummern 32 innerhalb
eines einzelnen CAN-Systems (wie etwa 21, 23 und 26)
einzigartig, aber können
in unterschiedlichen CAN-Systemen wiederverwendet werden.
-
Jedes
Gerät 33 weist
ferner eine Anzahl von Ports 35, eine Anzahl von Pegeln
(nicht gezeigt) und eine Anzahl von Kanälen (nicht gezeigt) auf. Die Ports 35,
Pegel und Kanäle
können
verwendet werden, um mit einem oder mehreren zugeordneten externen
Geräten 34 zu
kommunizieren, die durch das Gerät 33 gesteuert
werden. Die Geräte 33,
die verwendet werden, um zugeordnete externe Geräte 34 zu steuern,
können
Infrarotstrahler, Lichtschalter, integrierte Berührungsfelder und direkte Verbindungen mit
zugeordneten externen Geräten 34 umfassen. Zugeordnete
externe Geräte 34 können zum
Beispiel Videokassettenrekorder, Fernseher, Stereosysteme, Infrarotfernbedienungen
und Lampen umfassen.
-
Jede
Master-Steuerungseinrichtung 28 kann durch eine Intra-Master-Verbindung 36A, 36B und 36C mit
einer oder mehreren anderen Master-Steuerungseinrichtungen 28 gekoppelt
sein. Zum Beispiel ist die Master-Steuerungseinrichtung 28A durch
die Intramaster-Verbindung 36A mit der Master-Steuerungseinrichtung 28B gekoppelt.
Die Intra-Master-Verbindungen 36A–C können Ethernet-Verbindungen,
AXLinks-Verbindungen, LONTalk-Verbindungen, Fernnetzwerk-Verbindungen,
Lokalnetzwerk-Verbindungen, FTP-Verbindungen, Internet-Verbindungen,
faseroptische Verbindungen und andere geeignete Kombinationen elektrischer,
physikalischer und logischer Kommunikationssystem sein. Die Intra-Master-Verbindungen 36A–C können verwendet
werden, um eine Master-Steuerungseinrichtung 28A mit einer
oder mehreren anderen Master-Steuerungseinrichtungen 28B–C zu
koppeln, die in demselben oder anderen Steuerbereichsnetzwerken
(wie etwa 16 und 18) vorhanden sind, oder zwischen
unterschiedlichen CAN-Systemen
(wie etwa 21, 23 und 26). In der offenbarten
Ausfüh rungsform koppelt
die Intra-Master-Verbindung 36C das erste Steuerbereichsnetzwerk 16 über das
Internet 43 mit dem zweiten Steuerbereichsnetzwerk 18,
während andere
Intra-Master-Verbindungen 36A–B die
Master-Steuerungseinrichtungen 28A–C innerhalb eines einzigen
Steuerbereichsnetzwerks 16 koppeln.
-
Das
zweite Steuerbereichsnetzwerk 18 weist mindestens ein CAN-System 38 und
eine Master-Steuerungseinrichtung 28D auf. Das zweite Steuerbereichsnetzwerk 18 kann ähnlich wie
das erste Steuerbereichsnetzwerk 16 oder in jeder anderen
geeigneten Weise ausgestaltet sein und ist in einer Ausführungsform
mit der beispielhaften Master-Steuerungseinrichtung 28D gezeigt.
Das vorhergehende Beispiel fortsetzend kann das CAN-System 38 einen Sicherheitsdienst
zum häuslichen
Schutz darstellen. Der Sicherheitsdienst kann die verschiedenen
Geräte
in dem Haus fernbedienen, um eine erhöhte Sicherheit bereitzustellen,
wenn ein Hausbesitzer verreist ist. Genauer stellt ein Hausbesitzer
den Wecker in dem Schlafzimmer ein, um den Hausbesitzer für eine Geschäftsreise
aufzuwecken. Die Master-Steuerungseinrichtung 3 (28C) befiehlt
dann der Master-Steuerungseinrichtung 1 (28A), den Fernseher einzuschalten
und den Fernsehkanal auf die Morgennachrichten einzustellen. Nach
einer vorbestimmten Verzögerung,
wie etwa der Menge an Zeit, die der Hausbesitzer normalerweise in
der Dusche verbringt, sendet die Master-Steuerungseinrichtung 3 (28C)
einen weiteren Befehl an die Master-Steuerungseinrichtung 2 (28B)
und fordert, dass die Lichter in der Küche eingeschaltet werden, sodass
der Hausbesitzer Frühstück vorbereiten
kann. Nach dem Frühstück aktiviert
der Hausbesitzer unter Verwendung der Sicherheitsalarmtafel im Wohnzimmer
den Sicherheitsalarm und verlässt
das Haus. In Reaktion auf die Aktivierung des Sicherheitsalarms
schaltet die Master-Steuerungseinrichtung 1 (28A) den Fernseher unter
Verwendung des Gerätes
1:1 (über
das die Master-Steuerungseinrichtung 1 (28A) direkte Kontrolle
hat) und fordert von der Master-Steuerungseinrichtung 3 (28C),
die Lichter in der Küche mit
dem Gerät
2:2 auszuschalten. Dann sendet die Master-Steuerungseinrichtung 1 (28A)
einen weiteren Befehl an den Sicherheitsdienst des CAN-Systems 38,
der den Sicherheitsdienst informiert, dass das Haus für die Dauer
der Geschäftsreise
leer sein wird. Die Master-Steuerungseinrichtung (28D)
des Sicherheitsdienstes kann dann Befehle aussenden, die fordern,
dass die verschiedenen Master-Steuerungseinrichtungen in dem Haus
Lampen, Stereosysteme und Fernseher einschalten, um die Anwesenheit
einer Person in dem Haus zu simulieren, um Verbrechen abzuschrecken.
-
Die
Master-Steuerungseinrichtungen 28A–D können über die Verbindungen 36A–C auf
eine Anzahl von Inhalteanbietern 46 zugreifen. Die Inhalteanbieter 46 können jeden
der wohl bekannten Anbieter von Informationen im Internet 43 umfassen
und können
insbesondere auch eine Firmen-Internetseite umfassen, die Upgrades,
Verbesserungen und anderen Informationen liefern kann, die verwendet
werden, um Software oder Firmware in der Master-Steuerungseinrichtung 28 zu
aktualisieren oder zu modifizieren. Ein Internet-Browser 48 kann
verwendet werden, um die Master-Steuerungseinrichtungen 28A–D über das Internet 43 von einem entfernten
Ort zu manipulieren und zu steuern.
-
2 ist
ein Blockdiagramm, das Details der Master-Steuerungseinrichtung 28 zeigt.
Jede Master-Steuerungseinrichtung 28 weist einen Gerätemanager 51,
einen Verbindungsmanager 53, einen Nachrichtenverteiler
(message dispatcher) 56, einen TCP/IP-Stapel 79 und
Firmware 57 auf. Der Gerätemanager 51, der
Verbindungsmanager 53, der Nachrichtenverteiler 56 und
die Firmware 57 werden jeweils nur für eine beispielhafte Master-Steuerungseinrichtung 28 beschrieben,
aber haben auch für
jede spezielle Master-Steuerungseinrichtung 28A–D Geltung.
-
Der
Gerätemanager 51 hält bzw.
verwaltet Zustandsinformationen über
jedes Gerät 33,
das mit der Master-Steuerungs einrichtung 28 gekoppelt ist. Die
von dem Gerätemanager 51 gehaltenen
Zustandsinformationen enthalten Portinformationen, Zeichenfolgeninformationen,
Befehlsinformationen und Wartungsinformationen.
-
Die
Portinformationen enthalten eine Portzahl für jedes Gerät 33, die die Anzahl
der von jedem Gerät 33 unterstützten Ports 35 (1)
angibt. Jeder Port 35 kann einen oder mehrere Kanäle und einen oder
mehrere Pegel aufweisen. Die Kanäle
enthalten ferner Eingangskanäle
und Ausgangskanäle,
und die Pegel enthalten ferner Eingangspegel und Ausgangspegel.
Ferner werden jeweils für
jeden Kanal und Pegel jedes Ports an jedem Gerät 33 Kanalinformationen
und Pegelinformationen gehalten bzw. verwaltet. Die Kanalinformationen
halten den Zustand jedes Eingangskanals und jedes Ausgangskanals
an dem Port. In der offenbarten Ausführungsform können die
Kanalinformationen Informationen für 255 Eingangskanäle und 255
Ausgangskanäle
enthalten, die jedem Port 35 zugeordnet sind, aber das
Gerät 33 kann
eine andere Anzahl von Kanälen
festlegen. Außerdem
kann sich jeder Kanal in entweder einem An- oder einem Aus-Zustand befinden,
oder kann einen einzigen Binärwert
wie zum Beispiel hoch oder tief bzw. 0 oder 1 repräsentieren.
Die Kanäle
können
als Bitschalter verwendet werden, um verschiedene Informationen über das
Gerät 33 zu
repräsentieren.
In der offenbarten Ausführungsform
informiert das Gerät 33 den
Gerätemanager 51 von
der Anzahl der Kanäle,
die von jedem Port 35 an diesem Gerät 33 unterstützt wird,
wenn das Gerät 33 aktiviert,
zurückgesetzt
oder angeschaltet wird. Das Gerät 33 kann
den Gerätemanager 51 auch
zu einer anderen Zeit informieren oder die Anzahl unterstützter Kanäle dynamisch ändern.
-
Die
von dem Gerätemanager 51 gehaltenen bzw.
verwalteten Pegelinformationen können
verwendet werden, um im Unterschied zu den Kanalinformationen, die
Binärwertinformationen
verfolgen, einen Wert innerhalb eines Bereiches erlaubter Werte festzulegen,
der jedem Port 35 zugeordnet ist. In der offenbarten Ausführungsform
informiert das Gerät 33 den
Gerätemanager 51 von
der Anzahl von Pegeln, die von jedem Port 35 an diesem
Gerät 33 unterstützt wird,
wenn das Gerät 33 aktiviert,
zurückgesetzt
oder angeschaltet wird. Das Gerät 33 kann
den Gerätemanager 51 auch
zu einer anderen Zeit informieren oder die Anzahl unterstützter Pegel
dynamisch ändern.
-
Die
von dem Gerätemanager 51 für jedes Gerät gehaltenen
bzw. verwalteten Zeichenfolgeninformationen enthalten eine Zeichenfolgenlänge und einen
Zeichenfolgen-Datentyp oder Zeichenfolgen-Datentypen, die von dem
Gerät 33 unterstützt werden.
Die Zeichenfolgeninformationen werden verwendet, um Umwandlungen
zwischen unterstützten Zeichenfolgen-Datentypen
unterschiedlicher Geräte 33 durchzuführen. Wenn
zum Beispiel ein Gerät,
das 8-Bit-Zeichenwerte verwendet, um Zeichenfolgen darzustellen,
mit einem Gerät
kommunizieren muss, das 16-Bit-Zeichenwerte
verwendet, um Zeichenfolgen darzustellen, können die Zeichenfolgeninformationen
von dem Gerätemanager 51 verwendet
werden, um Umwandlungen zwischen den unterschiedlichen Zeichenfolgenformaten
der Geräte
durchzuführen.
-
Die
von dem Gerätemanager 51 für jedes Gerät gehaltenen
bzw. verwalteten Befehlsinformationen enthalten eine Befehlslänge und
einen Befehls-Datentyp oder Befehls-Datentypen, die von dem Gerät 33 unterstützt werden,
und können
verwendet werden, um nach Bedarf Umwandlungen zwischen Befehls-Datentypen
durchzuführen.
Wenn zum Beispiel ein Gerät,
das nur 8-Bit-Daten
für Befehle
unterstützt,
mit einem Gerät
kommunizieren muss, das Befehle unterstützt, die 16-Bit-Daten verwenden,
können
die Befehlsinformationen von dem Gerätemanager 51 verwendet
werden, um zwischen den unterstützten
Befehlstypen umzuwandeln, sodass die Geräte kommunizieren können.
-
Die
dem Gerät 33 zugeordneten
Wartungsinformationen können
eine Gerätetypkennung,
eine Seriennummer, eine Firmware-ID und eine Versionszeichenfolge
enthalten. Falls notwendig, können mehrere
Mengen von Wartungsinformationen für ein einziges gegebenes Gerät 33 gehalten
bzw. verwaltet werden. Zum Beispiel kann ein Gerät 33 mit sowohl einem
integrierten Netzwerkkommunikationschip als auch einer integrierten
CPU zwei Mengen von Wartungsinformationen enthalten, eine Menge für den Netzwerkchip
und eine Menge für
die CPU. Die Gerätetypkennung
kann einen nummerischen oder alphanummerischen Wert enthalten, der
den Typ des Gerätes
repräsentiert.
Zum Beispiel kann die Gerätetypkennung
ein bestimmtes Gerät 33 als
ein integriertes Berührungsfeld,
einen Lichtschalter oder eine Infrarotfernbedienung identifizieren.
Die Firmware-ID kann eine Kennung enthalten, die die aktuelle Firmware-Version
und kompatible Aktualisierungen repräsentiert.
-
Der
Gerätemanager 51 an
jeder Master-Steuerungseinrichtung 28 kann auch nicht-lokale Geräteinformationen
für Geräte 33 halten
bzw. verwalten, die nicht Teil des entsprechenden CAN-Systems der speziellen
Master-Steuerungseinrichtung 28A–D sind. Nicht-lokale
Geräte 33 sind
Geräte 33, die
nicht mit derselben Master-Steuerungseinrichtung 28 als
lokale Geräte 33 gekoppelt
sind. Die nicht-lokalen Geräteinformationen
können ähnlich zu den
für lokale
Geräte 33 gehaltenen
ebenfalls die Portinformationen, Kanalinformationen, Pegelinformationen,
Zeichenfolgeninformationen und Befehlsinformationen umfassen und
enthalten darüber
hinaus Benachrichtigungsinformationen für nicht-lokale Geräte 33.
Die Benachrichtigungsinformationen enthalten den Zustand von Anforderungen
für Ereignisse
von anderen Systemen. Die Benachrichtigungsinformationen lassen
es zu, dass die Geräte 33 Daten- und
Ereignisinformationen von nicht-lokalen Geräten 33 anfordern und
empfangen.
-
Der
Verbindungsmanager 53 arbeitet, um verschiedene physikalische
Schnittstellen zu verwalten, die eine RS232-Schnittstelle 63,
einen PhastLink-Schnittstelle 67 als AXLink-Schnittstelle 71 und eine
Ethernet-Schnittstelle 73 umfassen können. Der Verbindungsmanager 53 empfängt Informationen von
verschiedenen Schnittstellen 63, 67, 71 und 73 und
sendet die Daten mit, falls erforderlich, geeignet angewendeter
Formatierung an den Nachrichtenverteiler 56. Der Verbindungsmanager 53 stellt
ferner jedes Anwendungsschichtmanagement bereit, das die verschiedenen
Schnittstellen 63, 67, 71 und 73 erfordern.
Die Schnittstellen 63, 67, 71 und 73 können verwendet
werden, um Geräte 33 physikalisch
und elektrisch mit der Master-Steuerungseinrichtung 28 zu
koppeln. Die Schnittstellen 63, 67, 71 und 73 können auch
verwendet werden, um mit Intra-Master-Verbindungen 36 zu
kommunizieren, um eine Master-Steuerungseinrichtung 28 mit
einer anderen Master-Steuerungseinrichtung 28 zu verbinden.
Die Schnittstellen 63, 67, 71 und 73 können auch
verwendet werden, um die Master-Steuerungseinrichtungen 28A–D mit
dem Internet 43 zu koppeln. In einer Ausführungsform
ist das Internet 43 durch die Ethernet-Schnittstelle 73 an
der Master-Steuerungseinrichtung 28B mit der Master-Steuerungseinrichtung 28B gekoppelt.
-
Der
Verbindungsmanager 53 kann auch die Kommunikation mit einem
Proxy-Server 76 verwalten. Der Proxy-Server 76 stellt
ein alternatives Verfahren für
die Master-Steuerungseinrichtung 28B bereit, um mit dem
Internet 43 zu kommunizieren. Der Proxy-Server 76 stattet
die Master-Steuerungseinrichtung 28B mit einer größeren Sicherheit
gegenüber
einem Eindringen und Manipulationen von externen, nicht autorisierten
Benutzern bereit, die mit dem Internet 43 verbunden sind,
während
er eine Internet-Kommunikationsfunktionalität für die Master-Steuerungseinrichtung 28B bereitstellt.
-
Der
Nachrichtenverteiler 56 ist mit dem Verbindungsmanager 53 gekoppelt
und empfängt
Daten von dem Verbindungsmanager 53. Der Nachrichtenverteiler 56 ist
ferner mit einer Anzahl von Modulen 77 gekoppelt, die einen
Diagnosemanager 78, den Gerätemanager 51, einen
Konfigurationsmanager 86 und einen IP-Port-Manager 88 enthalten.
In einer Ausführungsform
können
die Module 77 auch einen FTP-Server 83 und einen
HTTP-Server 81 enthalten, die nicht mit dem Nachrichtenverteiler 56 gekoppelt sein
können.
-
Der
Nachrichtenverteiler 56 arbeitet, um von dem Verbindungsmanager 53 und
anderen Modulen 77 empfangene Daten an geeignete Module 77 weiterzuleiten.
Der Nachrichtenverteiler 56 verteilt die Daten von dem
Verbindungsmanager 53 und anderen Modulen 77,
wie etwa dem Diagnosemanager 78, dem Konfigurationsmanager 86 und
dem IP-Port-Manager 88, auf Basis des Inhalts der Daten,
der Verteilungsinformation von dem Verbindungsmanager 53 und
den Modulen 77 und anderer geeigneter Kriterien.
-
Der
Diagnosemanager 78 arbeitet, um den Betriebszustand der
Geräte 33 zu überwachen.
Der Diagnosemanager 78 kann spezielle Diagnosedaten untersuchen,
die von den Geräten 33 in
Abhängigkeit von
an die Geräte 33 gesendeten
Diagnosebefehlen erzeugt werden, und kann auch Fehlernachrichten untersuchen,
die von den Geräten 33 und
den Modulen 77 unabhängig
erzeugt werden.
-
Der
TCP/IP-Stapel 79 ist mit dem HTTP-Server 81 und
dem FTP-Server 83 gekoppelt und stellt TCP/IP-basierte
Protokoll- und Kommunikationsdienste
für die
Master-Steuerungseinrichtung 28, den HTTP-Server 81 und
den FTP-Server 83 bereit.
-
Der
HTTP-Server 81 stellt Hypertext Transport Protocol (HTTP)
Dienste für
die Master-Steuerungseinrichtung 28 bereit.
-
Der
HTTP-Server 81 kann verwendet werden, um Befehle zu empfangen
und auf diese zu antworten, die von einem Benutzer an einem entfernten Ort
erzeugt werden, wie etwa einem Benutzer, der den Internet-Browser 48 (1)
verwendet, um das erste oder zweite Steuerbereichsnetzwerk 16 und 18 zu
steuern. Der HTTP-Server 81 verarbeitet die Befehle über eine
CGI-Funktionseinheit 91.
Die CGI-Funktionseinheit 91 arbeitet, um CGI-Skripte zu interpretieren,
die Verhaltens- und Handhabungsanweisungen für Befehle definieren, die von
dem HTTP-Server 81 über das
Internet 43 empfangen werden. Die CGI-Funktionseinheit 91 stellt
Dienste bereit, die für
das Steuerbereichsnetzwerk (wie etwa 16 und 18),
die Master-Steuerungseinrichtungen 28A–D und die Geräte 33 geeignete
Sicherheits- und Fernbedienungsdienste
enthalten können.
Die CGI-Funktionseinheit 91 ist
ferner mit dem Gerätemanager 51 gekoppelt
und manipuliert die Geräte 33 über den
Gerätemanager 51.
-
Der
FTP-Server 83 stellt File Transfer Protocol (FTP) Dienste
für die
Master-Steuerungseinrichtung 28 bereit. Insbesondere kann
der FTP-Server 83 verwendet werden, um FTP-basierte Kommunikationen
für entfernte
Benutzer zur Verfügung
zu stellen, die mit der Master-Steuerungseinrichtung 28 über das
Internet 43 kommunizieren. Der FTP-Server 83 kann
verwendet werden, um zum Beispiel das Aktualisieren der Software
und Firmware, die die Master-Steuerungseinrichtung 28 steuern,
von einem entfernten Ort zu ermöglichen.
Ein Konfigurationsmanager 86 arbeitet, um die Master-Steuerungseinrichtung 28 in
geeigneter Weise zu konfigurieren und neu zu konfigurieren. Der
IP-Port-Manager 88 stellt geeignete Verwaltungsfähigkeiten
für die
verschiedenen Internet-Protokoll- (IP-) Funktionalitäten an der Master-Steuerungseinrichtung 28 bereit.
-
Der
Gerätemanager 51 ist
ferner mit einem Interpreter 93 und einem Manager für ladbare
Objekte 96 gekoppelt. Der Interpreter enthält eine
Versionskennung 94. Die Versionskennung 94 kann
eine Kennung enthalten, die die aktuelle Interpreterversion und
kompatible Aktualisierungen repräsentiert. Der
Interpreter 93 stellt eine Laufzeitinterpretation der Software
bereit, die verwendet wird, um die Master-Steuerungseinrichtungen 28 zu
betreiben und die Geräte 33 zu
steuern. Der Interpreter 93 kommuniziert mit dem Manager
für ladbare
Objekte 96, um den Master-Steuerungseinrichtungen 28,
den Modulen 77 und dem Interpreter 93 dynamisch
neue Funktionalität
hinzuzufügen.
-
Unter
Berücksichtigung
der rasanten Geschwindigkeit der Änderungen und Entwicklung in der
Computer- und Softwareindustrie werden während der Lebensdauer eines
Produktes häufig
neue Aktualisierungen, Korrekturen und Verbesserungen verfügbar. Diese
Aktualisierungen, Korrekturen und Verbesserungen stellen neue und
verbesserte Funktionalität
bereit und beheben Fehler in vorhergehenden Versionen der Software
und Hardware, die mit dem Produkt verbunden sind. Die Master-Steuerungseinrichtung 28 kann
in der folgenden Weise aktualisiert werden. In einer Ausführungsform
kann der Manager für
ladbare Objekte 96 in Verbindung mit dem FTP-Server 83 verwendet
werden, um Software- und Firmware-Aktualisierungen, -Korrekturen
und -Verbesserungen über
das Internet 43 von einem der Inhalteanbieter 46 abzurufen
und dann die durch die Korrekturen, Aktualisierungen und Verbesserungen bereitgestellte
neue Funktionalität
dem Gerätemanager 51,
dem Interpreter 93 und anderer Software und Firmware, die
mit der Master-Steuerungseinrichtung 28 verbunden ist,
dynamisch hinzuzufügen.
Die neue Funktionalität
kann unter Verwendung des Managers für ladbare Objekte 96 hinzugefügt werden.
Zunächst wird
durch einen Benutzer über
den FTP-Server 83 eine Kommunikationsverbindung mit einem
oder mehreren der Inhalteanbieter 46 hergestellt. Der Benutzer
kann den Internet-Browser 48 oder Geräte 33 verwenden, um
mit den Inhalteanbietern 46 zu kommunizieren. Dem Benutzer
wird dann eine Liste verfügbarer
Dateien angezeigt.
-
Der
Benutzer wählt
eine oder mehrere der verfügbaren
Dateien aus, die verwendet werden sollen, um die Master-Steuerungseinrichtung 28 zu
aktualisieren. Alternativ können
durch die Master-Steuerungseinrichtung 28 für den Benutzer
geeignete Dateien als eine Funktion der Firmware-Kennung 97 und
der Versionskennung 94 automatisch ausgewählt werden.
Andere Kriterien können
von dem Benutzer und der Master-Steuerungseinrichtung 28 beim
Auswählen
von Dateien verwendet werden, wie etwa andere Versions- und Identifikationsinformationen,
die anderen Elementen der Master-Steuerungseinrichtung 28 zugeordnet
sein können.
Zum Beispiel können
der Gerätemanager 51 und
der Verbindungsmanager 52 Versionskennungen enthalten,
die beim Auswählen
der geeigneten Dateien verwendet werden könnten. Die ausgewählten Dateien
können
verwendet werden, um sowohl Software als auch Firmware, entweder
einzeln oder in Kombination, an der Master-Steuerungseinrichtung 28 zu
aktualisieren. Zum Beispiel könnte
die Firmware 57 sowie Software, wie etwa der Gerätemanager 51,
der Interpreter 93 und der Verbindungsmanager 53,
aktualisiert werden. Andere Elemente der Master-Steuerungseinrichtung 28 könnten ebenfalls
aktualisiert werden.
-
Die
Firmware 57 stellt erforderliche geeignete Funktionalität auf einer
Hardwareebene für
die Master-Steuerungseinrichtung 28 bereit. In der offenbarten
Ausführungsform
steuert die Firmware 57 die Funktionen und Wechselwirkungen
der Schnittstellen 63, 67, 71 und 73.
Die Firmware 57 kann auch die Funktion verschiedener anderer
Hardware steuern, die Teile der Master-Steuerungseinrichtung 28 bildet. Die
Firmware 57 weist eine Firmware-Kennung 97 auf.
Die Firmware-Kennung 97 kann mit der Firmware 57 in
Zusammenhang stehende Identifikations- und Versionsinformationen
bereitstellen. Die Firmware-Kennung 57 kann
auch dazu dienen, kompatible Verbesserungen, Aktualisierungen und
Korrekturen zu identifizieren, die auf die Firmware 57 angewendet
werden können.
Die Firmware-Kennung 97 ist in einer Ausführungsform
ein alphanummerischer Wert, aber kann jede geeignete Darstellung
enthalten.
-
Der
Gerätemanager 51 kann
ferner betrieben werden, um eine Anzahl virtueller Elemente bereitzustellen,
die den Master-Steuerungseinrichtungen 28 zugeordneten
physikalischen Elementen entsprechen, wie etwa Geräten 33,
Ports 35, Pegeln, Kanälen,
Zeichenfolgen, Befehlen und Benachrichtigungen. Virtuelle Elemente
können
eine Anzahl von Eingangselementen, die mit Ausgangselementen jedes
verbundenen physikalischen Elementes gekoppelt sind, und eine Anzahl
von Ausgangselementen enthalten, die mit Eingangselementen jedes
verbundenen physikalischen Elementes gekoppelt sind. 3 ist
ein detailliertes Blockdiagramm eines speziellen virtuellen Elementes,
eines virtuellen Gerätes 58.
Das virtuelle Gerät 58 ist
ein logisches Konstrukt in dem Gerätemanager 51, das
verwendet werden kann, um das Verhalten einer Anzahl physikalischer Elemente
zu vereinen oder zu gruppieren. Zum Beispiel kann das virtuelle
Gerät 58 erzeugt
werden, indem der Befehl DEFINIERE KOMBINIERE(VirtuellesGerät, PhysikalischesGerät, PhysikalischesGerät) an den
Gerätemanager 51 ausgegeben
wird. Das virtuelle Gerät 58 weist
eine Anzahl von Eingangselementen, die mit Ausgangselementen jedes
verbundenen physikalischen Elementes gekoppelt sind, und eine Anzahl
von Ausgangselementen auf, die mit Eingangselementen jedes verbundenen
physikalischen Elementes gekoppelt sind.
-
Das
virtuelle Gerät 58 kann
einen virtuellen Port 61 aufweisen. Der virtuelle Port 61 arbeitet,
um eine Vielzahl von Ports 62A, 62B, 62C, 62D, 62E und 62F mit
zugeordneten Pegeln, Kanälen,
Zeichenfolgen und Befehlen an einer Gruppe von Geräten 64A, 64B und 64C mit
virtuellen Pegeln, virtuellen Kanälen, virtuellen Zeichenfolgen
und virtuellen Befehlen, die dem virtuellen Port 61 zugeordnet
sind, zu verbinden. Das virtuelle Gerät 58 hält bzw.
verwaltet unter Verwendung des virtuel len Ports 61 eine
logische Gerätedarstellung 65A, 65B und 65C (in 3 durch gestrichelte
Linien gezeigt) entsprechender physikalischer Geräte 64A–C und
eine logische Portdarstellung 66A, 66B und 66C entsprechender
physikalischer Ports 62A, 62D und 62F.
Zum Beispiel wird der virtuelle Port 61 von dem Gerätemanager 51 als
der erste Port (Port 1) von Gerät Nummer 4 dargestellt, das
dem Gerätemanager 51 als
eines der virtuellen Geräte 58 bekannt
ist. Der virtuelle Port 61 verbindet den Port 1 (62A)
von Gerät
1, Port 2 (62D) von Gerät 2
und Port 2 (62F) von Gerät 3. An Gerät 4, Port 1 (61) gesendete
Befehle oder Informationen werden von dem Gerätemanager 51 vervielfältigt und
einzeln an die verbundenen Geräte,
insbesondere Gerät
1, Port 1 (62A), Gerät
2, Port 2 (62D) und Gerät
3, Port 2 (62F), gesendet. In ähnlicher Weise lässt es die
Natur der Verbindungen zwischen dem virtuellen Gerät 4 und
den physikalischen Elementen zu, dass eine Änderung in dem Pegel von Port
2 (62D) von Gerät
2 durch den Gerätemanager 51 detektiert
und als eine Änderung
in dem virtuellen Pegel des virtuellen Gerätes 4, Port 1 (61)
behandelt wird. Die detektierte Änderung
in dem Pegel am Gerät
2, Port 2 (62D) wird an den entsprechenden Pegeln von Gerät 1, Port
1 (62A) und Gerät
3, Port 2 (62 F) durch den Gerätemanager 51 vervielfältigt und
wird an die Master-Steuerungseinrichtung 28 als eine Änderung
in dem virtuellen Gerät
4 (58) berichtet.
-
Außerdem begrenzt
es die Natur der Verbindung zwischen dem virtuellen Gerät 4 und
den physikalischen Elementen, dass eine Änderung in den Kanälen, Befehlen
und Zeichenfolgen von Port 2 (62D) von Gerät 2 durch
den Gerätemanager 51 detektiert und
als eine Änderung
in den entsprechenden virtuellen Kanälen, virtuellen Befehlen und
virtuellen Zeichenfolgen des virtuellen Geräts 4, Port 1 (61)
behandelt wird. Im Unterschied zu den Änderungen in den Pegeln wird
die detektierte Änderung
in den Kanälen,
Zeichenfolgen und Befehlen von Gerät 2, Port 2 (62D)
nicht durch den Gerätemanager 51 an
den entsprechenden Kanälen,
Zeichenfolgen und Befehlen von Gerät 1, Port 1 (62A)
und Gerät
3, Port 2 (62F) vervielfältigt. Anders gesagt werden
die Ausgangselemente des virtuellen Gerätes 58 (von dem virtuellen
Gerät 58 zu
den physikalischen Geräten 33)
in einem im Wesentlichen ähnlichen
oder identischen Zustand gehalten, während die Eingangselemente
(von dem physikalischen Gerät 33 zu
dem virtuellen Gerät 58)
sich nicht in einem im Wesentlichen ähnlichen oder identischen Zustand
befinden müssen.
-
Jedes
physikalische Element und virtuelle Element kann einen ihm zugeordneten
Zustand (nicht gezeigt) haben, wobei der Zustand verschiedene Datenwerte
darstellt, die dem entsprechenden Element zugeordnet sind. Ein Teil
des Zustands repräsentiert
die dem entsprechenden Element zugeordneten Pegel, und ein weiterer
Teil des Zustands repräsentiert
die Kanäle,
Zeichenfolgen und Befehle, die dem entsprechenden Element zugeordnet
sind. Virtuelle Elemente stellen eine logische Verbindung zwischen
dem Zustand des virtuellen Elements und des entsprechenden physikalischen
Elements bereit. Das Verhalten der physikalischen Elemente kann
gehalten bzw. verwaltet und aktualisiert werden, sodass der Teil
der Zustände,
der die Pegel der jeweiligen physikalischen und virtuellen Elemente
repräsentiert, identisch
oder im Wesentlichen ähnlich
zueinander ist. Der dem Pegel des virtuellen Elements zugeordnete
Teil des Zustands kann ähnlich
wie der Teil des Zustands, der den Pegeln der physikalischen Elemente
zugeordnet ist, gehalten bzw. verwaltet und aktualisiert werden,
sodass der den Pegeln des virtuellen Elements zugeordnete Teil des
Zustands des virtuellen Elements identisch oder im Wesentlichen ähnlich zu
dem Teil des Zustands des jeweiligen physikalischen Elementes ist,
der den Pegeln des physikalischen Elements zugeordnet ist. Die Verbindung zwischen
den Pegeln des virtuellen Elements und den Pegeln der physikalischen
Elemente wird erreicht, indem Befehle vervielfältigt und an den Pegeln des
virtuellen Elements gefundene Zustandsänderungen an die Pegel der
physikalischen Elemente weitergegeben werden, und ferner indem Befehle vervielfältigt und
Zustandsänderungen
von jedem der verbundenen physikalischen Elemente an das entsprechende
virtuelle Element und dann an die anderen verbundenen physikalischen
Elemente weitergegeben werden.
-
Im
Unterschied dazu wird das Verhalten der Kanäle, Zeichenfolgen und Befehle
der physikalischen Elemente gehalten bzw. verwaltet und aktualisiert,
sodass Änderungen
in dem weiteren Teil des Zustands des virtuellen Elements an den
weiteren Teil der Zustände
der entsprechenden physikalischen Elemente weitergegeben werden,
während Änderungen
in den weiteren Teilen der Zustände
in den physikalischen Elementen nur an das virtuelle Element weitergegeben
werden. Mit anderen Worten werden Änderungen in den Kanälen, Zeichenfolgen und
Befehlen des virtuellen Elements an alle der verbundenen physikalischen
Elemente weitergegeben, aber Änderungen
in den verbundenen physikalischen Elementen werden nur an das virtuelle
Element weitergegeben.
-
Zum
Beispiel wird eine Änderung
in dem dem Port 61 zugeordneten Zustand vervielfältigt und durch
die logische Portdarstellung 66A–66C an die physikalischen
Ports 62A, 62D und 62F weitergegeben.
In ähnlicher
Weise wird eine Änderung
in dem mit dem Pegel des physikalischen Ports 62A zugeordneten
Zustand an den virtuellen Port 61 weitergegeben und dann
durch den virtuellen Port 61 vervielfältigt und durch die logischen
Portdarstellungen 66A bzw. 66C an die physikalischen
Ports 62A und 62F weitergegeben. Im Unterschied
dazu wird eine Änderung
in dem mit den Kanälen,
Zeichenfolgen und Befehlen des physikalischen Ports 62A zugeordneten Zustand
nur an den virtuellen Port 61 weitergegeben.
-
Die
virtuellen Elemente werden von der Master-Steuerungseinrichtung 28 ähnlich wie
ihre jeweiligen physikalischen Ele mente behandelt. In einer Ausführungsform
kann die Verbindung zwischen virtuellen Elementen und physikalischen
Elementen zur Kompilierungszeit durchgeführt werden und kann durch Neuschreiben
und Neustarten des Programmcodes geändert werden, der verwendet
wird, um die Master-Steuerungseinrichtung 28 zu steuern.
In einer anderen Ausführungsform
kann die Verbindung zwischen virtuellen Elementen und physikalischen Elementen
zur Laufzeit dynamisch geändert
werden, ohne den zugrundeliegenden Programmcode für die Master-Steuerungseinrichtung 28 neu
laden zu müssen,
zum Beispiel indem der Wert einer Variablen in dem zugrundeliegenden
Programmcode geändert und
indem der Befehl ENTKOMBINIERE_KANÄLE(VirtuellesGerät) an den Gerätemanager 51 ausgegeben
wird. Virtuelle Elemente werden von der Master-Steuerungseinrichtung 28 in
derselben Weise wie die physikalischen Elemente behandelt, und die
virtuelle Natur der virtuellen Elemente ist nur dem Gerätemanager 51 bekannt.
-
4 ist
ein Flussdiagramm, das ein Verfahren zum Weiterleiten von Daten
zwischen Master-Steuerungseinrichtungen 28 zeigt. Das Verfahren beginnt
bei Schritt 98 mit der Aktivierung der Master-Steuerungseinrichtung 28.
Als Teil des Geräteaktivierungsschrittes 98 kann
die Master-Steuerungseinrichtung 28 jede für die Master-Steuerungseinrichtung 28 geeignete
Initialisierung und Startvorbereitung durchführen.
-
Aus
Gründen
der Einfachheit wird die gerade in Schritt 98 aktivierte
Master-Steuerungseinrichtung als die "aktivierte Master-Steuerungseinrichtung" bezeichnet, zum
Beispiel die Master-Steuerungseinrichtung 28A. Eine oder
mehrere Master-Steuerungseinrichtungen 28,
die unmittelbar mit der aktivierten Master-Steuerungseinrichtung
verbunden sind, werden als "verbundene
Master-Steuerungseinrichtungen" bezeichnet,
zum Beispiel die Master-Steuerungseinrichtung 28B, und
alle weiteren Master-Steuerungseinrichtungen 28, die mit
der aktivierten Master-Steuerungseinrichtung kommunizieren können, werden
als "andere Master-Steuerungseinrichtungen" bezeichnet, zum
Beispiel die Master-Steuerungseinrichtungen 28C und 28D.
-
Als
nächstes
geht das Verfahren zu Schritt 101 weiter, in dem die aktivierte
Master-Steuerungseinrichtung eine Verbindungstabellenanforderung
an alle Schnittstellen an der aktivierten Master-Steuerungseinrichtung
sendet. Die Verbindungstabellenanforderung ist eine Anforderung
von der aktivierten Master-Steuerungseinrichtung von allen Informationen,
die die verbundenen Master-Steuerungseinrichtungen in Bezug auf
die anderen Master-Steuerungseinrichtungen haben, und von Informationen
in Bezug auf die verbundenen Master-Steuerungseinrichtungen selbst.
Insbesondere fordert die aktivierte Master-Steuerungseinrichtung Informationen
in Bezug auf einen oder mehrere Wege an, die zwischen der aktivierten
Master-Steuerungseinrichtung und den verbundenen oder anderen Master-Steuerungseinrichtungen
existieren. Jeder Weg ist eine Folge von Master-Steuerungseinrichtungen,
die durchlaufen werden müssen,
um von einer Master-Steuerungseinrichtung zu einer anderen zu gelangen.
Zum Beispiel wird die aktivierte Master-Steuerungseinrichtung Wege von der aktivierten
Master-Steuerungseinrichtung zu verbundenen und anderen Master-Steuerungseinrichtungen
haben. Die aktivierte Master-Steuerungseinrichtung verwendet diese
Informationen, um Daten von Geräten 33,
die mit der aktivierten Master-Steuerungseinrichtung gekoppelt sind,
an Ziele bzw. Bestimmungsorte weiterzuleiten. Diese Wege werden
durch eine Verbindungstabelle dargestellt. Um jeden Weg darzustellen,
speichert die Verbindungstabelle die Master-Steuerungseinrichtung oder die Master-Steuerungseinrichtungen, durch
die Daten hindurchgelangen müssen,
um eine bestimmte Master-Steuerungseinrichtung zu erreichen. Zum
Beispiel ist unter Bezugnahme auf 1 die Master-Steuerungseinrichtung 28A mit
der Master-Steuerungseinrichtung 28B gekoppelt, und die Master-Steuerungseinrichtung 28B ist
mit der Master-Steuerungseinrichtung 28C gekoppelt,
sodass die Master-Steue rungseinrichtung 28A in der Verbindungstabelle
einen Weg von 28A zu 28B und einen Weg von 28A zu 28C durch 28B speichert.
-
Zu
Schritt 103 weitergehend empfängt die aktivierte Master-Steuerungseinrichtung 28A eine oder
mehrere Verbindungstabellen von einer oder mehreren der verbundenen 28B und
der anderen Master-Steuerungseinrichtungen 28C–D.
Dann aktualisiert die aktivierte Master-Steuerungseinrichtung 28A in
Schritt 106 eine interne Verbindungstabelle unter Verwendung
der einen oder der mehreren Verbindungstabellen, die von den verbundenen 28B und den
anderen Master-Steuerungseinrichtungen 28C–D empfangen wurden.
-
Um
diese Schritte weiter zu verdeutlichen, wird ein Beispiel der Schritte 98–106 dargestellt.
Unter Bezugnahme auf 1 sendet die Master-Steuerungseinrichtung 28A,
wenn sie aktiv wird (Schritt 98), eine Verbindungstabellenanforderung
(Schritt 101) an die Master-Steuerungseinrichtung 28B.
Die Master-Steuerungseinrichtung 28B sendet dann Verbindungstabellen,
die den Weg von der Master-Steuerungseinrichtung 28A zu
der Master-Steuerungseinrichtung 28B und den Weg von der
Master-Steuerungseinrichtung 28A zu der Master-Steuerungseinrichtung 28C durch
die Master-Steuerungseinrichtung 28B darstellen. Die Master-Steuerungseinrichtung 28B würde in die
Verbindungstabelle auch den Weg von der Master-Steuerungseinrichtung 28A zu der
Master-Steuerungseinrichtung 28D durch die Master-Steuerungseinrichtung 28B und
das Internet 43 aufnehmen. Nachdem die Master-Steuerungseinrichtung 28A die
Verbindungstabellen von der Master-Steuerungseinrichtung 28B empfangen
hat (Schritt 103), aktualisiert die Master-Steuerungseinrichtung 28A ihre
interne Verbindungstabelle, sodass, wenn eines der mit der Master-Steuerungseinrichtung 28A gekoppelten
Geräte 33 mit
einem der mit der Master-Steuerungseinrichtung 28B–D gekoppelten
Geräte 33 kommunizieren
muss, die Master-Steuerungseinrichtung 28A weiß, ob das
Zielgerät
von der Ma ster-Steuerungseinrichtung 28A erreichbar ist,
und, wenn das Zielgerät
erreichbar ist, über
welchen Weg die Daten weitergeleitet werden sollen. Die interne
Verbindungstabelle kann auch ein Ersatzgerät enthalten. Das Ersatzgerät ist eine
Master-Steuerungseinrichtung,
zu der die Master-Steuerungseinrichtung 28A Daten sendet,
wenn das Zielgerät
nicht erreichbar ist. Somit kommt das Ersatzgerät zum Einsatz, wenn die Master-Steuerungseinrichtung
nicht weiß,
wie das Zielgerät
zu kontaktieren ist. Das Ziel des Ersatzgerätes besteht darin, dass das Ersatzgerät sogar
dann weiß,
wie das Zielgerät
zu kontaktieren ist, wenn die das Ersatzgerät verwendende Master-Steuerungseinrichtung
dies nicht tat.
-
Das
Verfahren wird in Schritt 108 fortgesetzt, in dem eines
der mit der aktivierten Master-Steuerungseinrichtung (28A)
gekoppelten Geräte 33 Daten erzeugt,
die für
ein anderes Gerät 33 (das
Zielgerät) bestimmt
sind. Als nächstes
empfängt
die aktivierte Master-Steuerungseinrichtung (28A) in Schritt 111 die
Daten. Zu Schritt 113 weiter gehend untersucht die aktivierte
Master-Steuerungseinrichtung (28A) die von dem Gerät 33 empfangenen
Daten. Der Untersuchungsschritt 113 wird verwendet, um
zu bestimmen, welches Gerät
das Zielgerät
ist. Insbesondere wird das spezielle System bestimmt und das spezielle
Gerät innerhalb
des Systems. Zum Beispiel durch zu Rate ziehen der Systemnummer 27 und
einer dem Gerät 33 zugeordneten
Kennung.
-
Als
nächstes
wird in Schritt 116 der Ort des Ziel-Slave-Gerätes bestimmt.
Das Ziel-Slave-Gerät befindet
sich an einem von drei Orten: 1) das Zielgerät ist mit der aktivierten Master-Steuerungseinrichtung
(28A) gekoppelt, 2) das Ziel-Slave-Gerät
ist mit einer der verbundenen Master-Steuerungseinrichtungen (28B)
gekoppelt, oder 3) das Ziel-Slave-Gerät ist mit einer der anderen
Master-Steuerungseinrichtungen (28C–D) gekoppelt.
-
Dann
wird in dem Entscheidungsschritt 118, wenn das Zielgerät mit der
aktivierten Master-Steuerungseinrichtung (28A) gekoppelt
ist, dem JA-Zweig des Entscheidungsschrittes 118 gefolgt.
Der JA-Zweig des Entscheidungsschrittes 118 führt zum Schritt 121,
der die Daten an das Zielgerät überträgt, und
das Verfahren endet. Wenn das Zielgerät nicht mit der aktivierten
Master-Steuerungseinrichtung (28A) gekoppelt ist, dann
wird dem NEIN-Zweig des Entscheidungsschrittes 118 zum
Entscheidungsschritt 123 gefolgt.
-
In
dem Entscheidungsschritt 123 wird dann, wenn das Zielgerät mit einer
der verbundenen Master-Steuerungseinrichtungen (28B) gekoppelt
ist, dem JA-Zweig des Entscheidungsschrittes 123 gefolgt,
und das Verfahren geht zu Schritt 126 weiter. Im Schritt 126 überträgt die aktivierte
Master-Steuerungseinrichtung die Daten an die verbundene Master-Steuerungseinrichtung
(28B), an die das Zielgerät gekoppelt ist. Dann würde das
Verfahren von Schritt 126 zu dem Schritt 128 weitergehen,
in dem die verbundene Master-Steuerungseinrichtung (28B),
an die das Zielgerät
gekoppelt ist, die Daten zu dem Zielgerät übertragen würde, und das Verfahren würde enden.
Wenn das Zielgerät
nicht mit einer der verbundenen Master-Steuerungseinrichtungen (28B)
gekoppelt ist, dann wird dem NEIN-Zweig des Entscheidungsschrittes 123 zu
dem Entscheidungsschritt 131 gefolgt.
-
Zu
dem Entscheidungsschritt 131 weitergehend wird dann, wenn
das Zielgerät
mit einer der anderen Master-Steuerungseinrichtungen (28C–D)
gekoppelt ist, dem JA-Zweig des Entscheidungsschritts 131 gefolgt,
und das Verfahren geht weiter zum Schritt 133. Wenn das
Ziel-Slave-Gerät
nicht mit einer der anderen Master-Steuerungseinrichtungen (28C–D)
gekoppelt ist, dann wird dem NEIN-Zweig des Entscheidungsschrittes 131 zu
dem Schritt 136 gefolgt.
-
Wenn
dem JA-Zweig des Entscheidungsschrittes 131 gefolgt wird,
dann geht das Verfahren zu dem Schritt 133 weiter. Im Schritt 133 werden
die Daten von Master-Steuerungseinrichtung zu Master-Steuerungseinrichtung übertragen,
bis die Master-Steuerungseinrichtung
erreicht ist, mit der das Zielgerät gekoppelt ist. Die Daten
werden zunächst von
der aktivierten Master-Steuerungseinrichtung (28A) zu der
verbundenen Master-Steuerungseinrichtung
(28B) übertragen,
die die erste Master-Steuerungseinrichtung
auf dem Weg zu der Master-Steuerungseinrichtung ist, mit der das
Zielgerät
gekoppelt ist. Die verbundene Master-Steuerungseinrichtung, die
die Daten empfängt,
gibt die Daten dann an die nächste
Master-Steuerungseinrichtung auf dem Weg zu der Master-Steuerungseinrichtung
weiter, mit der das Zielgerät
gekoppelt ist. Die Daten werden weiter an weitere Master-Steuerungseinrichtungen
weitergegeben, bis die Master-Steuerungseinrichtung erreicht ist,
mit der das Zielgerät
gekoppelt ist.
-
Wenn
dem NEIN-Zweig des Entscheidungsschrittes 131 gefolgt wird,
dann geht das Verfahren zu dem Schritt 136 weiter, in dem
die Daten an das Ersatzgerät übertragen
werden. Wie oben beschrieben, stellt das Ersatzgerät eine Master-Steuerungseinrichtung
dar, an die die aktivierte Master-Steuerungseinrichtung Informationen überträgt, wenn
das Zielgerät
mit einer Master-Steuerungseinrichtung gekoppelt ist, die der aktivierten
Master-Steuerungseinrichtung (28A) nicht bekannt ist. Anders
gesagt übertragt
die aktivierte Master-Steuerungseinrichtung (28A), wenn
die aktivierte Master-Steuerungseinrichtung (28A) in ihrer
internen Verbindungstabelle keinen Weg zu der Master-Steuerungseinrichtung
hat, mit der das Zielgerät
gekoppelt ist, die Daten an die Ersatz-Master-Steuerungseinrichtung
in der Hoffnung, dass die Ersatz-Master-Steuerungseinrichtung einen
Weg zu der Master-Steuerungseinrichtung kennt, mit der das Zielgerät gekoppelt
ist.
-
Zu
dem Entscheidungsschritt 138 weitergehend bestimmt die
Ersatz-Master-Steuerungseinrichtung, nachdem die Daten im Schritt 136 zu
dem Ersatzgerät übertragen
worden sind, ob sie die Master-Steuerungseinrichtung kennt, mit
der das Ziel-Slave-Gerät gekoppelt
ist. Wenn das Ersatz-Master-Gerät
die Master-Steuerungseinrichtung kennt, mit der das Ziel-Slave-Gerät gekoppelt
ist, wird dem JA-Zweig des Entscheidungsschrittes 138 gefolgt,
und das Verfahren geht zu Schritt 133 weiter, um die Daten
wie oben beschrieben zu übertragen. Wenn
der Ersatz-Master die Master-Steuerungseinrichtung nicht kennt,
mit der ein Ziel-Slave-Gerät
gekoppelt ist, wird dem NEIN-Zweig des Entscheidungsschrittes 138 gefolgt,
und der Ersatz-Master überträgt die Daten
an seine Ersatz-Master-Steuerungseinrichtung
in der Hoffnung, dass seine Ersatz-Master-Steuerungseinrichtung die Master-Steuerungseinrichtung
kennt, mit der das Ziel-Slave-Gerät gekoppelt ist. Sobald die
Ersatz-Master-Steuerungseinrichtung die Daten empfängt, arbeitet
der Ersatz-Master in einer Weise ähnlich derjenigen der aktivierten
Master-Steuerungseinrichtung (28A), um zu versuchen, die
Master-Steuerungseinrichtung zu finden, mit der das Zielgerät gekoppelt
ist.
-
Die
Daten enthalten ferner einen Übertragungszähler, der
die Anzahl von Master-Steuerungseinrichtungen verfolgt, an die die
Daten übertragen worden
sind. Wenn der Übertragungszähler einen vorbestimmten
Punkt überschreitet,
dann wird das Zielgerät
als vollständig
unerreichbar betrachtet, die Daten werden verworfen und eine Fehlernachricht wird
erzeugt.
-
5 ist
ein Flussdiagramm, das ein Verfahren zum Betreiben virtueller Elemente
durch eine Master-Steuerungseinrichtung 28 in einem Steuerbereichsnetzwerk
(16 und 18) gemäß einer Ausführungsform
der Lehren der vorliegenden Erfindung zeigt. Das Verfahren beginnt
in Schritt 151, in dem das virtu elle Element definiert
wird. Wie vorher in Verbindung mit 3 angegeben,
ist das virtuelle Element ein logisches Konstrukt, das verwendet
wird, um physikalische Elemente, wie etwa Geräte 33, Ports 35,
Pegel, Kanäle,
Zeichenfolgen, Befehle und Benachrichtigungen, zu gruppieren. Das
virtuelle Element wird definiert, indem mindestens zwei physikalische
Elemente mit einem virtuellen Element verbunden werden. Mehrere
virtuelle Elemente können bestimmte
physikalische Elemente teilen, und mehrere physikalische Elemente
können
bestimmte virtuelle Elemente teilen. In einer Ausführungsform
ist das virtuelle Element das virtuelle Gerät 58, und die physikalischen
Elemente sind die Geräte 33 (im
Kontext der 5 als "physikalische Geräte 33" bezeichnet, um virtuelle und physikalische
Geräte
eindeutig zu unterscheiden).
-
Als
nächstes
geht das Verfahren zu dem Schritt 153 weiter, in dem ein
dem virtuellen Gerät 58 zugeordneter
Zustand des virtuellen Gerätes
mit Zuständen
physikalischer Geräte
verbunden wird, die jeweils physikalischen Geräten 33 zugeordnet
sind, die mit dem virtuellen Gerät 58 verbunden
sind. Im Allgemeinen haben virtuelle Elemente einen zugeordneten
Zustand, und physikalische Elemente haben ebenfalls einen zugeordneten
Zustand. Der Zustand eines virtuellen Gerätes stellt dem virtuellen Gerät zugeordnete
Datenwerte dar, und der Zustand eines physikalischen Gerätes stelle
eine Anzahl von Datenwerten dar, die dem physikalischen Gerät zugeordnet
sind. Der Zustand des virtuellen Gerätes und die jeweiligen Zustände physikalischer
Geräte sind
so verbunden, dass die Zustände
des virtuellen und der physikalischen Geräte in einem im Wesentlichen ähnlichen
Zustand gehalten werden können. Die
verbundenen Zustände
virtueller und physikalischer Geräte können auch in einem identischen
Zustand gehalten werden.
-
Das
Verfahren geht zu dem Entscheidungsschritt 156 weiter,
in dem eine Überprüfung in
Bezug auf eine Anforderung zur Än derung
des Zustandes des virtuellen Gerätes
durchgeführt
wird. Der Zustand des virtuellen Gerätes kann sich in Abhängigkeit
von einer Datenzustandsänderungsanforderung, die
an dem virtuellen Gerät 58 empfangen
wird, oder von anderen geeigneten Kriterien ändern. Wenn keine Anforderung
zur Änderung
des Zustandes des virtuellen Gerätes
detektiert wird, dann wird dem NEIN-Zweig des Entscheidungsschrittes 156 zu
dem Entscheidungsschritt 168 gefolgt. Wenn eine Anforderung
zur Änderung
des Zustandes des virtuellen Gerätes
detektiert wird, dann wird dem JA-Zweig des Entscheidungsschrittes 156 zu
dem Schritt 158 gefolgt.
-
Von
dem JA-Zweig des Entscheidungsschrittes 156 geht das Verfahren
zu dem Schritt 158 weiter, in dem das Verfahren den Zustand
des virtuellen Gerätes
in Abhängigkeit
von der Anforderung zur Änderung
des Zustandes des virtuellen Gerätes
aktualisiert. Dann vervielfältigt
das Verfahren in Schritt 161 die Änderung in dem Zustand des
virtuellen Gerätes. In
einer Ausführungsform
der vorliegenden Erfindung wird die Änderung in dem Zustand des
virtuellen Gerätes
vervielfältigt,
indem eine Datenzustandsänderungsanforderung
für jedes
entsprechende physikalische Gerät 33 erzeugt
wird, das mit dem virtuellen Gerät 58 verbunden
ist. Jede erzeugte Datenzustandsänderungsanforderung
ist darauf abgestimmt, um eine Änderung
in dem entsprechenden Zustand eines physikalischen Gerätes zu veranlassen,
die im Wesentlichen ähnlich
zu der Änderung
ist, die in dem Zustand des virtuellen Gerätes veranlasst wurde. Die veranlasste Änderung
in dem physikalischen Gerät kann
auch identisch mit der Änderung
in dem virtuellen Gerät
sein.
-
Als
nächstes
sendet das Verfahren in Schritt 163 die erzeugten Datenzustandsänderungsanforderungen
an entsprechende Geräte,
und in Schritt 166 werden die entsprechenden Zustände physikalischer Geräte in Abhängigkeit
von den entsprechenden erzeugten Datenzustandsänderungsanforderungen aktualisiert.
-
Zu
dem NEIN-Zweig des Entscheidungsschrittes 156 zurückkehrend,
geht das Verfahren zu dem Entscheidungsschritt 168 weiter,
in dem eine Überprüfung in
Hinblick auf eine Anforderung durchgeführt wird, einen oder mehrere
entsprechende Zustände
physikalischer Geräte
zu ändern.
Wenn keine Anforderung detektiert wird, einen oder mehrere Zustände physikalischer
Geräte
zu ändern,
dann wird dem NEIN-Zweig des Entscheidungsschrittes 168 zu dem
Schritt 183 gefolgt. Wenn eine Anforderung detektiert wird,
einen oder mehrere der Zustände
physikalischer Geräte
zu ändern,
dann wird dem JA-Zweig des Entscheidungsschrittes 168 zu
dem Schritt 171 gefolgt, in dem das Verfahren die entsprechenden Zustände physikalischer
Geräte
aktualisiert. Dann wird in dem Schritt 173 die Änderung
in dem entsprechenden Zustand eines physikalischen Gerätes vervielfältigt und
in Schritt 176 an das virtuelle Gerät 58 gesendet. In
einer Ausführungsform
der vorliegenden Erfindung wird eine Datenzustandsänderungsanforderung
an einem oder mehreren der entsprechenden physikalischen Geräte 33 empfangen,
und eine Kopie der empfangenen Datenzustandsänderungsanforderung wird an
das virtuelle Gerät 58 gesendet.
Zu Schritt 178 weitergehend aktualisiert das Verfahren
den Zustand des virtuellen Gerätes
in Abhängigkeit
von der Kopie der Datenzustandsänderungsanforderung
aus Schritt 173.
-
Als
nächstes
bestimmt das Verfahren in dem Entscheidungsschritt 181,
ob die Datenzustandsänderungsanforderungen
eine Änderung
in dem Zustand der Pegel bewirkt hat, die jeweils den physikalischen
Geräten 33 zugeordnet
sind. Wenn keine Zustandsänderung
in den Pegeln detektiert wird, sondern stattdessen in den Kanälen, Zeichenfolgen
und Befehlen, dann wird dem NEIN-Zweig des Entscheidungsschrittes 181 gefolgt,
und das Verfahren geht zurück
zu dem Schritt 156.
-
Wenn
eine Zustandsänderung
in den Pegeln detektiert wird, dann vervielfältigt das Verfahren die in dem
Zustand des virtuellen Gerätes
durch Kopie der Datenzustandsänderungsanforderung
aus Schritt 173 veranlasste Zustandsänderung durch Erzeugen mindestens
einer Datenzustandsänderungsanforderung
für jedes
physikalische Gerät 33,
das mit dem virtuellen Gerät 58 verbunden
ist, mit Ausnahme des physikalischen Geräts 33, das seinen
entsprechenden physikalischen Gerätezustand bereits in Schritt 171 aktualisiert
hat. Anders gesagt verbinden oder vereinen virtuelle Elemente das
Verhalten physikalischer Elemente in der Weise, dass eine Änderung
in dem Zustand des virtuellen Elements in den entsprechenden Zuständen physikalischer
Elemente reflektiert wird, die den verbundenen physikalischen Elementen
zugeordnet sind, und dass eine Änderung
in einem oder mehreren Zuständen
physikalischer Elemente in dem Zustand des virtuellen Elementes
und in den anderen entsprechenden Zuständen physikalischer Elemente
reflektiert wird. Somit reagiert das Verfahren in Schritt 181 auf
eine Änderung
in einem oder mehreren Zuständen
physikalischer Geräte,
die an dem virtuellen Gerät 58 weitergegeben
oder vervielfältigt
werden müssen
und auch an den anderen verbundenen physikalischen Geräten 33.
Daher muss keine erzeugte Zustandsänderungsanforderung für das physikalische
Gerät 33 erzeugt
werden, das die Zustandsänderung
in dem virtuellen Gerätezustand
und den anderen verbundenen physikalischen Gerätezuständen veranlasst, da der Zustand des
ausgeschlossenen Gerätes
bereits in Schritt 171 aktualisiert wurde. Das Verfahren
folgt dann dem JA-Zweig des Entscheidungsschrittes 181 zurück zu dem
Schritt 163, in dem die erzeugten Zustandsänderungsanforderungen,
die in Schritt 181 erzeugt wurden, an die entsprechenden
physikalischen Geräte 33 gesendet
werden.
-
Zu
dem NEIN-Zweig des Entscheidungsschrittes 168 zurückkehrend
geht das Verfahren zu dem Schritt 183 weiter, in dem das
Verfahren jegliche Modifikationen an den virtuellen Ele menten durchführt, die
durch Eingabe von dem Benutzer, der Master-Steuerungseinrichtung 28 oder
einer anderen geeigneten Eingabe, eines oder mehrere virtuelle Elemente
zu ändern,
angegeben werden. Modifikationen an den virtuellen Elementen können das
Verbinden zusätzlicher
physikalischer Elemente mit einem bestimmten virtuellen Element
oder bestimmten virtuellen Elementen, das Entfernen physikalischer
Elemente von einem bestimmten virtuellen Element oder bestimmten
virtuellen Elementen, das Erzeugen eines gänzlich neuen virtuellen Elementes
und das Löschen
eines vollständigen
virtuellen Elementes umfassen. In einer Ausführungsform wird der Modifikationsschritt 183 unter
Verwendung des virtuellen Gerätes 58 und
der physikalischen Geräte 33 durchgeführt. Das
Verfahren kehrt dann zu dem Schritt 156 zurück und fährt fort,
verbundene Zustände
virtueller und physikalischer Elemente zu verwalten, bis der Befehl
ausgegeben wird, das Verfahren zu beenden (nicht gezeigt).
-
6 ist
ein Flussdiagramm, das ein Verfahren zum dynamischen Aktualisieren
von Master-Steuerungseinrichtungen 28 in einem Steuerbereichsnetzwerk
(16 und 18) gemäß einer Ausführungsform
der Lehren der vorliegenden Erfindung zeigt. Das Verfahren beginnt
in Schritt 201, in dem die Master-Steuerungseinrichtung 28 eine
Verbindung mit einem entfernten Ort herstellt. In einer Ausführungsform
der vorliegenden Erfindung ist der entfernte Ort einer oder mehrere
der Inhalteanbieter 46, und die Verbindung zu den Inhalteanbietern 46 wird über das
Internet 43 unter Verwendung des FTP-Servers 83 (in 1 gezeigt)
hergestellt. Die Verbindung mit dem entfernten Ort kann automatisch
durch die Master-Steuerungseinrichtung 28, in Reaktion
auf eine Benutzereingabe oder in Reaktion auf jedes geeignete Kriterium
eingeleitet werden. Zum Beispiel könnte die Master-Steuerungseinrichtung 28 auf
Basis von Versionskennungen, die Software oder Firmware zugeordnet sind,
aktiv Aktualisierungen, Verbesserungen und Korrekturen suchen.
-
Als
nächstes
empfängt
das Verfahren in Schritt 203 eine Liste von Dateien, die
von dem entfernten Ort verfügbar
sind, oder ruft diese ab. Dann wählt
das Verfahren in Schritt 206 mindestens eine der Dateien
in der Liste aus. Die Auswahl kann manuell durch den Benutzer, automatisch
durch die Master-Steuerungseinrichtung 28 und
durch eine Kombination manueller Eingabe und automatischer Auswahl
durchgeführt
werden. Insbesondere kann die Auswahl auf einer oder mehreren Versionskennungen
und der Firmware-Kennung 97 (in 2 gezeigt)
basieren, aber es kann jedes andere geeignete Kriterium verwendet
werden.
-
Versionskennungen
werden verwendet, um die Version, das Alter, die Kompatibilität und andere Informationen
zu identifizieren, die mit Software an der Master-Steuerungseinrichtung 28 verbunden sind.
Software kann Inhalteanbieterschnittstellen zur Bereitstellung von
Kommunikationsdiensten mit verschiedenen Inhalteanbietern, andere
durch Benutzer oder Händler
hinzugefügte
Software oder andere geeignete Software umfassen. Zum Beispiel kann
ein Sicherheits- und Hausschutzdienst maßgeschneiderte Software auf
die Master-Steuerungseinrichtung 28 laden. Die Softwareelemente
können
jeweilige zugeordnete Kennungen haben, die durch das vorliegende
Verfahren verwendet werden können,
oder die verschiedenen Softwareelemente können Kennungen teilen.
-
Die
Firmware-Kennung 97 kann verwendet werden, um die Version,
das Alter, die Kompatibilität und
andere mit der Firmware 57 an der Master-Steuerungseinrichtung 28 verbundene
Kriterien zu bestimmen. Die Firmware 57 kann auch Firmware
enthalten, die mit den Schnittstellen 63, 67, 71 und 73, dem
Interpreter 93, jeglichen Modulen 77, dem Nachrichtenverteiler 56, der
CGI-Funktionseinheit 91, dem Proxy-Server 76 und
dem Verbindungsmanager 53 sowie jedem anderen geeigneten
Teil der Master-Steuerungseinrichtung 28, die in Firmware
implementiert ist, in Zusammenhang steht. Darüber hinaus können die
verschiedenen Firmwareteile individuelle Kennungen haben, die ihnen
zugeordnet sind, und sie können
dazu in der Lage sein, die Firmware-Kennung 97 zu teilen.
-
Die
Versionskennungen und die Firmware-Kennung 97 können alleine
oder in Kombination miteinander verwendet werden, um zu bestimmen,
welche Dateien in der Liste mit der Software und Firmware 57 an
der Master-Steuerungseinrichtung 28 kompatibel sind, sowie,
ob die Dateien in der Liste älter
oder neuer als die Software und Firmware 57 an der Master-Steuerungseinrichtung 28 sind.
-
Dann
werden in Schritt 208 die in Schritt 206 ausgewählten Dateien
von dem entfernten Ort abgerufen. Zu Schritt 211 weitergehend
können
die Software und die Firmware entweder einzeln oder zusammen aktualisiert
werden.
-
Die
Software kann aktualisiert werden, während die Software in Benutzung
ist. Anders gesagt muss die Master-Steuerungseinrichtung 28 nicht
zurückgesetzt
oder in irgendeiner wesentlichen Weise unterbrochen werden, um die
Software unter Verwendung der zum Aktualisieren der Software ausgewählten Dateien
zu aktualisieren. Die Firmware kann ebenfalls aktualisiert werden,
ohne die Master-Steuerungseinrichtung 28 zurückzusetzen
oder zu unterbrechen. In einer Ausführungsform wird der Manager für ladbare
Objekte 96 (in 2 gezeigt) verwendet, um die
Software und Firmware 57 an der Master-Steuerungseinrichtung 28 zu
aktualisieren.
-
Auf
Grundlage der ausgewählten
Dateien kann die Master-Steuerungseinrichtung 28 oder
der Benutzer feststellen, dass nur die Software oder nur die Firmware 57 aktualisiert
werden muss. Wenn das Verfahren feststellt, dass nur die Software
aktualisiert werden muss, dann wird nur die Software aktualisiert. In ähnlicher
Weise wird, wenn das Verfahren feststellt, dassn nur die Firmware
aktualisiert werden muss, dann nur die Firmware aktualisiert. Die
Software und Firmware 57 können auch gemeinsam aktualisiert
werden, zum Beispiel indem beide gleichzeitig aktualisiert werden.
-
Sobald
die Software und/oder Firmware aktualisiert worden sind endet das
Verfahren, bis es wieder entweder automatisch durch die Master-Steuerungseinrichtung 28,
in Reaktion auf eine Benutzereingabe oder in Reaktion auf andere
geeignete Kriterien aufgerufen wird.
-
Die
vorliegende Erfindung stellt eine Anzahl technischer Vorteile bereit.
Ein solcher technischer Vorteil besteht in der Möglichkeit zuzulassen, dass mehrere
Master-Steuerungseinrichtungen kommunizieren und Daten untereinander
weiterleiten. Ein weiterer solcher technischer Vorteil besteht in
der Möglichkeit
zuzulassen, dass mehrere Master-Steuerungseinrichtungen in separaten
Steuerbereichsnetzwerken kommunizieren und Daten untereinander weiterleiten.
Ein weiterer technischer Vorteil besteht in der Möglichkeit,
das Internet zur Kommunikation zwischen Master-Steuerungseinrichtungen
zu verwenden und zuzulassen, dass ein Benutzer die Master-Steuerungseinrichtungen
unter Verwendung eines Internet-Browsers über das Internet steuert. Noch
ein weiterer technischer Vorteil besteht in der Möglichkeit,
verteilte und untereinander verbundene Steuerbereichsnetzwerke und
Steuerbereichsnetzwerkssysteme zu unterstützen, was eine logische und
geographische Aufteilung von Geräten
zulässt.