-
Hintergrund
-
Ein Netz kann durch miteinander verbundene Netzgeräte (Zugangspunkte, Switches usw.) und Controller verbunden sein. Damit ein Netzwerk eingerichtet werden kann, müssen diese Controller und Netzwerkgeräte genau bereitgestellt und konfiguriert werden.
-
Figurenliste
-
Die vorliegende Offenbarung wird in Übereinstimmung mit einer oder mehreren verschiedenen Ausführungsformen unter Bezugnahme auf die folgenden Figuren im Detail beschrieben. Die Figuren dienen lediglich der Veranschaulichung und stellen lediglich typische oder beispielhafte Ausführungsformen dar.
- 1A ist eine beispielhafte Darstellung eines Computersystems, das automatisch ein Netzwerk unter Verwendung von ZTP (Zero Touch Provisioning) einrichtet, gemäß den in der vorliegenden Offenbarung beschriebenen Ausführungsformen.
- 1B ist eine beispielhafte Darstellung einer Rechnerkomponente innerhalb des Rechnersystems von 1A, die gemäß den in der vorliegenden Offenbarung beschriebenen Ausführungsformen automatisch ein Netzwerk einrichtet.
- 2 ist eine beispielhafte Darstellung eines Netzes mit verschiedenen Standorten innerhalb einer gemeinsamen Gruppe gemäß den in der vorliegenden Offenlegung beschriebenen Ausführungsformen.
- 3 ist eine beispielhafte Darstellung eines Netzes mit verschiedenen Standorten innerhalb einer gemeinsamen Gruppe und verschiedenen Standorten aus verschiedenen Gruppen gemäß den in der vorliegenden Offenbarung beschriebenen Ausführungsformen.
- 4 ist ein beispielhaftes Flussdiagramm, das veranschaulicht, wie Steuerungen geclustert werden, um in einem Netzwerk eingesetzt zu werden, Netzwerkgeräte auf Netzwerke abgebildet werden und der Datenverkehr von Client-Geräten von Netzwerkgeräten zu Steuerungen getunnelt wird, gemäß den in der vorliegenden Offenlegung beschriebenen Ausführungsformen.
- 5 ist ein beispielhaftes Flussdiagramm, das veranschaulicht, wie ein neues Netzwerkgerät hinzugefügt und in ein Netzwerk integriert wird, gemäß den in der vorliegenden Offenbarung beschriebenen Ausführungsformen.
- 6 ist ein beispielhaftes Flussdiagramm, das veranschaulicht, wie ein Netzwerkgerät aus einem Netzwerk entfernt wird, gemäß den in der vorliegenden Offenlegung beschriebenen Ausführungsformen.
- 7 ist ein Beispiel für eine Computerkomponente, die zur Implementierung verschiedener Merkmale der in der vorliegenden Offenbarung beschriebenen Ausführungsformen verwendet werden kann.
-
Die Figuren sind nicht erschöpfend und beschränken die vorliegende Offenbarung nicht auf die genaue Form, die offengelegt wird.
-
Detaillierte Beschreibung
-
Die rasant steigende Nachfrage nach Datenzugriff hat dazu geführt, dass kabelgebundene und drahtlose Netzwerke, einschließlich lokaler Netze (LAN), drahtloser lokaler Netze (WLAN), Weitverkehrsnetze (WAN), Unternehmens-, SD (Software-Defined)-WAN-, SD-Filial- oder Einzelhandelsnetze, schnell und bequem bereitgestellt werden müssen.
-
Derzeit kann die Einrichtung von Netzen durch die manuelle Eingabe von Konfigurationen und Einstellungen von Steuerungen und Netzgeräten verlangsamt werden.
-
Zu den derzeitigen Problemen bei der Netzeinführung gehört insbesondere die Notwendigkeit, Konfigurationen und Einstellungen von Steuergeräten und Netzgeräten einzeln manuell einzugeben, um die Steuergeräte einem bestimmten Einsatzort zuzuordnen und die Übertragung und den Empfang von Daten zu und von einem Client-Gerät an einem Zugangspunkt zu einem bestimmten Steuergerät einzurichten. Dadurch kann sich nicht nur die Bereitstellung verlangsamen, sondern es können auch Fehler während des manuellen Prozesses auftreten.
-
Die hier beschriebenen Ausführungsformen gehen diese technischen Probleme an, indem sie Cluster von Controllern oder Gateways (im Folgenden „Controller“) an einem Standort erstellen, Netzwerkgeräte, z. B. Zugangspunkte und/oder Switches, den Controllern zuordnen und Daten von den Zugangspunkten und/oder Switches zu einem bestimmten Controller tunneln, wobei Zero Touch Provisioning (ZTP) verwendet wird. ZTP ermöglicht die Einrichtung eines Netzwerks durch die Konfiguration der Controller und der Netzwerkgeräte ohne oder mit nur minimalem manuellen Eingriff. Insbesondere entfällt durch ZTP die Notwendigkeit, manuell einzugeben, dass jedes Netzwerkgerät zu einem bestimmten Netzwerk gehört, dass jeder Controller zu diesem Netzwerk gehört und dass der Datenverkehr von den Netzwerkgeräten zu einem der Controller geleitet werden soll. Darüber hinaus erübrigt ZTP das manuelle Herunterladen und/oder Installieren bestimmter Einstellungen oder Konfigurationen auf den Netzwerkgeräten, wie z. B. Software oder Firmware, die Betriebseinstellungen und/oder Protokolle sowie Sicherheitsmerkmale enthalten. In einigen Ausführungsformen kann ein entfernter Server, z. B. ein Cloud-Server, die Cluster erstellen und Daten von Zugangspunkten zu den Clustern tunneln. Die Erstellung von Clustern von Controllern kann den Empfang eines Hinweises beinhalten, dass Controller zu einem Standort eines Netzwerks hinzugefügt werden sollen, die Erkennung des Vorhandenseins von Controllern und das Hinzufügen der Controller zu dem Standort. Der Hinweis kann von einem Benutzer kommen, der die Zugehörigkeit der Steuergeräte zu dem Standort kennzeichnet, markiert oder anderweitig angibt. Außerdem kann der entfernte Server einen Hinweis darauf erhalten, dass Zugangspunkte und/oder Switches zu einem Standort gehören. Unter Verwendung oder auf der Grundlage der Angaben kann der entfernte Server die Steuergeräte und die Zugangspunkte und/oder Schalter am Standort erkennen, die im Netz einzusetzenden Steuergeräte gruppieren und die Zugangspunkte und/oder Schalter den Steuergeräten zuordnen. Der entfernte Server kann Daten von einem Zugangspunkt und/oder Switch zu einem Controller tunneln oder umleiten. In einigen Ausführungsformen kann der Tunneling-Prozess das Umleiten von Daten von Zugangspunkten und/oder Switches zu Controllern auf der Grundlage eines Lastausgleichs sowohl an den Zugangspunkten und/oder Switches als auch an den Controllern des Standorts umfassen. Dementsprechend können diese Zugangspunkte und/oder Switches als automatisch geclustert, zugeordnet und getunnelt betrachtet werden, da außer den anfänglichen Angaben, dass Controller und Zugangspunkte und/oder Switches zu einem gemeinsamen Standort gehören, keine manuellen Eingaben seitens eines Benutzers erforderlich sind. Die Einrichtung kann sowohl WAN- (Wide Area Network) als auch LAN- (Local Area Network) Funktionen an diesem Standort ermöglichen.
-
1A ist eine beispielhafte Darstellung einer Umgebung 100 mit einem Computersystem 130, das eine automatische Bereitstellung durchführt, indem es Zugangspunkte und/oder Switches und Controller erkennt, alle Controller, die zu einem bestimmten Standort gehören, zu einem Cluster zusammenfasst und den Datenverkehr von den Zugangspunkten zu den Controllern tunnelt. Die Umgebung 100 umfasst Zugangspunkte 110, 111, 112, 113 und 114, ein Client-Gerät 102, das Daten von einem oder mehreren der Zugangspunkte 110, 111, 112, 113 und 114 überträgt und empfängt, sowie Steuerungen 120 und 122. Obwohl die Zugangspunkte der Einfachheit halber dargestellt sind, können zumindest einige der Zugangspunkte durch Switches ersetzt werden. Es ist mehr als ein Controller verfügbar, um Redundanz zu gewährleisten, so dass bei einem Ausfall eines Controllers einer oder mehrere der anderen Controller den Verlust der Datenübertragung oder eine anderweitige Beeinträchtigung der Funktion des Netzwerks verhindern können. Wenn ein Controller gewartet oder aufgerüstet wird, kann der Datenverkehr in der Zwischenzeit auf den oder die anderen Controller umgeleitet werden, um eine Verlangsamung zu vermeiden.
-
. Das Rechnersystem 130 kann eine Rechnerkomponente 131 und eine Datenbank 132 enthalten. Das Rechensystem 130 kann einen entfernten Server enthalten, so dass die automatische Bereitstellung von den Zugangspunkten oder den Steuergeräten ausgelagert werden kann, wodurch die jeweilige Belastung der Zugangspunkte und der Steuergeräte verringert wird. Darüber hinaus können die Komponenten des Computersystems 130 im Gegensatz zum Betriebssystem der Zugangspunkte 110, 111, 112, 113 und 114 jederzeit problemlos aktualisiert oder geändert werden, wodurch die Effizienz und Wirksamkeit der Bereitstellung verbessert wird.
-
Wie in 1B gezeigt, kann die Rechnerkomponente 131 eine Erkennungsmaschine 140, eine Clustering-Maschine 141 und eine Tunneling-Maschine 142 umfassen. Das Erkennungsmodul 140 kann einen Hinweis darauf erhalten, dass bestimmte Steuergeräte (z. B. Steuergeräte 120 und 122) und Netzwerkgeräte (z. B. Zugangspunkte 110, 111, 112, 113 und 114) bei der Konfiguration des Netzwerks zu einem Standort hinzugefügt werden sollen. Das Erkennungsmodul 140 kann auch die einzelnen Steuerungen und Zugangspunkte 110, 111, 112, 113 und 114 erkennen. Die Erkennung kann zum Beispiel über die Erkennung von IDs (z. B. BSSIDs (Basic Service Set Identifiers) oder MAC-Adressen (Media Access Control)) der Zugangspunkte erfolgen. In einigen Ausführungsformen können die Steuerungen 120 und 122 stationär sein. In anderen Ausführungsformen können die Steuerungen mobil sein. Wenn die Steuergeräte 120 und 122 mobil sind, kann das Erkennungsmodul 140 einen Hinweis darauf erhalten, dass ein Steuergerät einen Standort verlassen hat oder in einen Standort eingezogen ist, und das Steuergerät aus dem Cluster entfernen oder hinzufügen.
-
Die Clustering-Engine 141 kann die Steuergeräte 120 und 122 am Standort gruppieren und die Zugangspunkte 110, 111, 112, 113 und 114 den Steuergeräten 120 und 122 am Standort überlagern oder zuordnen. Die Clustering-Engine 141 kann an jeden der Zugangspunkte 110, 111, 112, 113 und 114 ein Image einschließlich der erforderlichen Software oder Firmware zusammen mit Konfigurationsinformationen senden und/oder darauf installieren. In einigen Beispielen können das Bild und/oder die Konfigurationsinformationen, die für jeden der Zugangspunkte 110, 111, 112, 113 und 114 spezifisch sein können, in der Datenbank 132 gespeichert werden. Das Bild und die Konfigurationsinformationen können erforderlich sein, damit die Zugangspunkte 110, 111, 112, 113 und 114 angeschlossen und in einem Netzwerk des Standorts eingesetzt werden können. Die Konfigurationsdatei kann in Form einer Konfigurationsdatei und/oder eines Skripts vorliegen. Die Clustering-Engine 141 kann zunächst das Image auf jedem der Zugangspunkte 110, 111, 112, 113 und 114 installieren und anschließend die in der Konfigurationsdatei angegebenen Konfigurationsinformationen anwenden und/oder das Skript ausführen. In einigen Beispielen kann die Clustering-Engine 141 auch Betriebssystem-Updates, Patches und Bugfixes, Sicherheitsfunktionen wie Firewall- oder Verschlüsselungseinstellungen und andere Funktionen an einen oder alle Zugangspunkte 110, 111, 112, 113 und 114 übertragen. Die Verschlüsselungseinstellungen können zum Beispiel Protokolle umfassen, die dem WEP-Standard (Wired Equivalent Privacy), dem WPA-Standard (WiFi Protected Access) oder dem EAP-Standard (Extensible Authentication Protocol) entsprechen. Die Clustering-Engine 141 kann eine Bestätigung erhalten, dass die Zugangspunkte 110, 111, 112, 113 und 114 das Image erfolgreich installiert und die Konfigurationsinformationen korrekt angewendet haben. Die Clustering-Engine 141 kann den Controllern 120 und 122 und den Zugangspunkten 110, 111, 112, 113 und 114 eine SSID (Service Set Identifier) des Netzwerks zuweisen, so dass die Controller 120 und 122 und die Zugangspunkte 110, 111, 112, 113 und 114 mit einem gemeinsamen Netzwerk verbunden sind. Die Clustering-Engine 141 kann ferner Daten des vorgenannten Prozesses in einem Protokoll aufzeichnen, einschließlich der Start- und Endzeiten der Installation des Bildes und der Anwendung der Konfigurationsinformationen, bestimmter Schnittstellen, die zur Übertragung des Bildes und der Konfigurationsinformationen verwendet werden, der Dateinamen der Konfigurationsinformationen und der Bilddateien, bestimmter Speicherorte der Konfigurationsinformationen und der Bilddateien sowie der zum Abrufen der Konfigurationsinformationen und der Bilddateien verwendeten Protokolle. Auf diese Weise muss ein Benutzer das Bild, die Konfigurationsinformationen und andere Einstellungen, die für jeden der Zugangspunkte 110, 111, 112, 113 und 114 erforderlich sind, nicht manuell herunterladen.
-
Als nächstes kann die Tunneling-Engine 142 Tunnel oder Kommunikationskanäle zwischen jedem der zugeordneten Zugangspunkte 110, 111, 112, 113 und 114 und den Cluster-Controllern 120 und 122 einrichten. So kann jeder der geclusterten Zugangspunkte 110, 111, 112, 113 und 114 jedem der geclusterten Controller zugeordnet werden. Die Zuordnung kann die Zuordnung einer SSID, die das Netzwerk identifiziert, zu jedem der Zugangspunkte 110, 111, 112, 113 und 114 sowie zu den Cluster-Controllern 120 und 122 umfassen. In einigen Ausführungsformen kann die SSID zuvor von einem Benutzer eingestellt worden sein. Die SSID kann von jedem der Zugangspunkte 110, 111, 112, 113 und 114 an Client-Geräte gesendet werden, die versuchen, sich mit dem Netzwerk zu verbinden. Handelt es sich bei dem Netzwerk um ein kabelgebundenes Netzwerk, können Switch-Ports von Switches in dem kabelgebundenen Netzwerk auf die Cluster-Controller 120 und 122 abgebildet werden. Zu den Tunneln kann ausnahmslos jeder Tunnel gehören, der eine L2-Kapselung für den Datenverkehr bereitstellt, einschließlich GRE (Generic Route Encapsulation) oder VxLAN (Virtual Extensible Local Area Network) zur Übertragung von Multicast-, Broadcast- oder Nicht-IP-Datenpaketen oder ein IPSec-Tunnel (Internet Protocol Security) zur Übertragung von Unicast-Datenpaketen. Auf diese Weise kann jeder der Zugangspunkte 110, 111, 112, 113 und 114 oder alternativ die Switches über Kommunikationskanäle zu jedem der Cluster-Controller 120 und 122 verfügen. Während der Datenübertragung können Daten von einem der Zugangspunkte 110, 111, 112, 113 und 114 zu einem der Cluster-Controller 120 und 122 getunnelt werden, basierend auf Kriterien, einschließlich, aber nicht beschränkt auf die Lasten jedes der Zugangspunkte 110, 111, 112, 113 und 114 und die Lasten jedes der Cluster-Controller 120 und 122. In einigen Beispielen können die Belastungen Verkehrsmengen oder Verkehrsdurchsätze an jedem der Zugangspunkte 110, 111, 112, 113 und 114 und an jedem der Cluster-Controller 120 und 122 umfassen. Die Verkehrsmengen können in absoluten Zahlen oder relativ zu einer Kapazität jedes der Zugangspunkte 110, 111, 112, 113 und 114 und jedes der Cluster-Controller 120 und 122 definiert werden. Die Tunneling-Engine 142 erleichtert außerdem die Verschlüsselung von Daten bei der Übertragung, indem sie kryptografische Schlüssel an die Zugangspunkte 110, 111, 112, 113 und 114 sowie die Cluster-Controller 120 und 122 verteilt. Auf diese Weise können die Daten während der Übertragung verschlüsselt werden, um die Datensicherheit zu gewährleisten.
-
In 1B kann die Datenbank 132 Daten, wie z. B. Protokolldaten, speichern, die von der Erkennungsmaschine 140, der Clustering-Maschine 141 und derTunneling-Maschine 142 erfasst wurden. Die Daten können Konfigurationen 150 für jeden Standort oder jede Gruppe enthalten. Eine Gruppe kann Einsätze von Controllern und Zugangspunkten von verschiedenen Standorten umfassen, die dieselbe Netzwerkadresse, wie z. B. eine vom Zugangspunkt gesendete SSID (Service Set Identifier), und/oder Netzwerkkonfigurationseigenschaften teilen, wie in den 2 und 3 gezeigt wird. Standorte können sich auf Standorte oder Zweigstellen einer Netzeinrichtung beziehen. Allerdings sind verschiedene Standorte innerhalb derselben Gruppe dennoch voneinander getrennt oder isoliert. Insbesondere kann ein Zugangspunkt, der zu einem Standort gehört, nicht zu einem Controller getunnelt werden, der zu einem anderen Standort gehört, selbst wenn der Zugangspunkt und der Controller zu einer gemeinsamen Gruppe gehören, wie z. B. in einem Szenario einer Zweigstelleneinrichtung. Die Daten können ferner die Netzwerkadressen 151 jedes Standorts oder jeder Gruppe, die zu jedem Standort oder jeder Gruppe gehörenden Controller 152, die zu jedem Standort oder jeder Gruppe gehörenden Zugangspunkte 153, die Lasten jedes Zugangspunkts 154 und die Lasten jedes Controllers 155 enthalten. Die Daten in der Datenbank 132 können verwendet werden, um die Einstellungen eines Netzes an einem Standort und/oder einer Gruppe zu verwalten und den Datenverkehr zwischen den Zugangspunkten und den Steuergeräten dynamisch auszugleichen.
-
2 zeigt eine Implementierung eines drahtlosen oder drahtgebundenen Netzes an verschiedenen Standorten 230 und 250, die nach dem oben in 1A und 1B beschriebenen Verfahren eingerichtet werden können.
-
Das Netz an einem ersten Standort 230 kann Steuergeräte 231 und 232 sowie Zugangspunkte 243, 244, 245, 246, 247 und 248 umfassen. Eine beliebige Anzahl von Controllern und Zugangspunkten kann am ersten Standort 230 implementiert werden, obwohl vorzugsweise mindestens zwei Controller am zweiten Standort 250 zur Redundanz implementiert werden sollten. Die Steuergeräte 231 und 232 können als beliebige der in 1A dargestellten Steuergeräte 120 und 122 implementiert werden, während die Zugangspunkte 243, 244, 245, 246, 247 und 248 als beliebige der in 1A dargestellten Zugangspunkte 110, 111, 112, 113 und 114 implementiert werden können. Am ersten Standort 230 kann der Zugangspunkt 243 auf die Steuergeräte 231 und 232 abgebildet werden. So können Daten vom Zugangspunkt 243 je nach Lastausgleichserwägungen an einen der Controller 231 oder 232 getunnelt werden, aber ein bestimmtes Datenpaket, das über den Zugangspunkt 243 übertragen wird, wird nur an einen der Controller 231 oder 232 getunnelt. Insbesondere können Tunnel oder Kommunikationskanäle vom Zugangspunkt 243 zu beiden Steuergeräten 231 und 232 es ermöglichen, dass ein bestimmtes Datenpaket vom Zugangspunkt 243 zu einem der Steuergeräte 231 oder 232 übertragen oder getunnelt wird. Wenn jedoch ein bestimmtes Datenpaket vom Zugangspunkt 243 zum Steuergerät 231 getunnelt wird, dann würde dieses Datenpaket nicht auch zum Steuergerät 232 getunnelt, um eine doppelte Verarbeitung zu vermeiden. Die Entscheidung, ob ein bestimmtes Datenpaket zum Controller 231 oder zum Controller 232 getunnelt wird, kann davon abhängen, welcher Controller einen geringeren Verkehrsdurchsatz aufweist, entweder in absoluten Zahlen oder in relativen Zahlen, angepasst an die Kapazitäten der Controller 231 und 232. Wenn beispielsweise der Controller 231 einen geringeren Verkehrsdurchsatz als der Controller 232 aufweist, kann das betreffende Datenpaket an den Controller 231 statt an den Controller 232 getunnelt werden. Ein anderes Beispiel: Beträgt der Verkehrsdurchsatz an der Steuereinheit 231 40 % ihrer Kapazität und der Verkehrsdurchsatz an der Steuereinheit 232 50 % ihrer Kapazität, so kann das gegebene Datenpaket an die Steuereinheit 231 statt an die Steuereinheit 232 getunnelt werden. So kann ein bestimmtes Datenpaket zu einer Steuereinheit getunnelt werden, die im Verhältnis zu ihrer Kapazität einen niedrigeren oder geringeren Verkehrsdurchsatz hat. Ebenso können Tunnel zwischen jedem der Zugangspunkte 244, 245, 246, 247 und 248 und den Controllern 231 und 232 auf ähnliche oder gleiche Weise wie oben beschrieben eingerichtet werden. Zugangspunkte und/oder Steuerungen können zum ersten Standort 230 hinzugefügt oder von dort entfernt werden, und die Tunnelverbindung zwischen den verbleibenden oder neuen Zugangspunkten und/oder Steuerungen kann wiederhergestellt werden.
-
In der Zwischenzeit kann ein Netzwerk am zweiten Standort 250 die Controller 251 und 252 sowie die Zugangspunkte 253, 254, 255, 256, 257 und 258 umfassen. Der erste Standort 230 und der zweite Standort 250 können eine gemeinsame Netzwerkkonfiguration und/oder Netzwerk-ID wie eine SSID haben, aber die Zugangspunkte 243, 244, 245, 246, 247 und 248 am ersten Standort 230 können von den Controllern 251 und 252 am zweiten Standort 250 isoliert sein, was bedeutet, dass Daten von den Zugangspunkten 243, 244, 245, 246, 247 und 248 nicht zu den Controllern 251 und 252 getunnelt werden können. Ebenso können die Zugangspunkte 253, 254, 255, 256, 257 und 258 des zweiten Standorts von den Steuergeräten 231 und 232 am ersten Standort 230 isoliert sein. Eine solche Anordnung kann Teil einer Zweigstellenbereitstellung oder einer verteilten Unternehmensbereitstellung sein oder einer Zweigstellenbereitstellung oder einer verteilten Unternehmensbereitstellung ähneln. Auf diese Weise kann die Computerkomponente 131 Netzwerke auf vielseitige Weise einrichten, indem sie verschiedene Standorte in eine gemeinsame Gruppe aufteilt, so dass Zugangspunkte am ersten Standort 230 nicht auf Controller am zweiten Standort 250 zugreifen können und Zugangspunkte am zweiten Standort 250 nicht auf Controller am ersten Standort 230.
-
3 ist eine beispielhafte Darstellung eines Netzes, das verschiedene Standorte innerhalb einer gemeinsamen Gruppe und verschiedene Standorte aus verschiedenen Gruppen umfasst, in Übereinstimmung mit den in der vorliegenden Offenbarung beschriebenen Ausführungsformen.
-
In 3 gehören ein erster Standort 330 und ein zweiter Standort 350 zu einer ersten Gruppe 340, was bedeutet, dass sie eine erste gemeinsame Netzwerkkonfiguration und/oder eine erste Netzwerk-ID wie eine SSID teilen, während ein dritter Standort 370 und ein vierter Standort 390 zu einer zweiten Gruppe 380 gehören, was bedeutet, dass sie eine zweite (z. B. von der ersten gemeinsamen Netzwerkkonfiguration verschiedene) gemeinsame Netzwerkkonfiguration und/oder eine zweite Netzwerk-ID teilen. Somit bilden der erste Standort 330 und der zweite Standort 350 die erste gemeinsame Gruppe 340, während der dritte Standort 370 und der vierte Standort 390 die zweite gemeinsame Gruppe 380 bilden.
-
In 3 kann ein Netzwerk am ersten Standort 330 Controller 331 und 332 sowie Zugangspunkte 343, 344, 345, 346, 347 und 348 umfassen. Am ersten Standort 330 kann eine beliebige Anzahl von Controllern und Zugangspunkten implementiert werden, obwohl vorzugsweise mindestens zwei Controller zu Redundanzzwecken am ersten Standort 330 implementiert werden sollten. Die Steuergeräte 331 und 332 können als beliebige der in 1A dargestellten Steuergeräte 120 und 122 implementiert werden, während die Zugangspunkte 343, 344, 345, 346, 347 und 348 als beliebige der in 1A dargestellten Zugangspunkte 110, 111, 112, 113 und 114 implementiert werden können. Am ersten Standort 330 kann der Zugangspunkt 343 den Steuergeräten 331 und 332 zugeordnet werden. So können Daten vom Zugangspunkt 343 je nach Lastausgleichserwägungen zu einem der Controller 331 oder 332 getunnelt werden, aber ein bestimmtes Datenpaket, das über den Zugangspunkt 343 übertragen wird, kann nur zu einem der Controller 331 oder 332 getunnelt werden, und zwar in ähnlicher oder gleicher Weise wie oben in Bezug auf 2 beschrieben. Ebenso können Tunnel zwischen jedem der Zugangspunkte 344, 345, 346, 347 und 348 und den Steuergeräten 331 und 332 eingerichtet werden.
-
In der Zwischenzeit kann ein Netzwerk am zweiten Standort 350 die Controller 351 und 352 sowie die Zugangspunkte 353, 354, 355, 356, 357 und 358 umfassen. Am zweiten Standort 350 kann eine beliebige Anzahl von Controllern und Zugangspunkten implementiert werden, obwohl vorzugsweise mindestens zwei Controller zu Redundanzzwecken am zweiten Standort 350 implementiert werden sollten. Die Steuergeräte 351 und 352 können als beliebige der in 1A dargestellten Steuergeräte 120 und 122 implementiert werden, während die Zugangspunkte 353, 354, 355, 356, 357 und 358 als beliebige der in 1A dargestellten Zugangspunkte 110, 111, 112, 113 und 114 implementiert werden können. Am zweiten Standort 350 kann der Zugangspunkt 353 auf die Controller 351 und 352 abgebildet werden. So können Daten vom Zugangspunkt 353 je nach Lastausgleichserwägungen zu einem der beiden Controller 351 oder 352 getunnelt werden, aber ein bestimmtes Datenpaket, das über den Zugangspunkt 353 übertragen wird, kann nur zu einem der Controller 351 oder 352 getunnelt werden, und zwar auf ähnliche oder gleiche Weise wie oben in Bezug auf 2 beschrieben. Ebenso können Tunnel zwischen jedem der Zugangspunkte 344, 345, 346, 347 und 348 und den Steuergeräten 331 und 332 eingerichtet werden.
-
In der Zwischenzeit kann ein Netzwerk am dritten Standort 370 Controller 371 und 372 sowie Zugangspunkte 373, 374, 375 und 376 umfassen. Am dritten Standort 370 kann eine beliebige Anzahl von Steuergeräten und Zugangspunkten implementiert werden, obwohl vorzugsweise mindestens zwei Steuergeräte zu Redundanzzwecken am dritten Standort 370 implementiert werden sollten. Die Steuergeräte 371 und 372 können als beliebige der in 1A dargestellten Steuergeräte 120 und 122 implementiert werden, während die Zugangspunkte 373, 374, 375 und 376 als beliebige der in 1A dargestellten Zugangspunkte 110, 111, 112, 113 und 114 implementiert werden können. Am dritten Standort 370 kann der Zugangspunkt 373 auf die Controller 371 und 372 abgebildet werden. So können Daten vom Zugangspunkt 373 je nach Lastausgleichserwägungen zu einem der Controller 371 oder 372 getunnelt werden, aber ein bestimmtes Datenpaket, das über den Zugangspunkt 373 übertragen wird, kann nur zu einem der Controller 371 oder 372 getunnelt werden, und zwar in ähnlicher oder gleicher Weise wie oben in Bezug auf 2 beschrieben. Ebenso können Tunnel zwischen jedem der Zugangspunkte 373, 374, 375 und 376 und den Controllern 371 und 372 eingerichtet werden.
-
In der Zwischenzeit kann ein Netzwerk am vierten Standort 390 Steuergeräte 391 und 392 sowie Zugangspunkte 393, 394, 395 und 396 umfassen. Am vierten Standort 390 kann eine beliebige Anzahl von Controllern und Zugangspunkten implementiert werden, obwohl vorzugsweise mindestens zwei Controller zu Redundanzzwecken am vierten Standort 390 implementiert werden sollten. Die Steuergeräte 391 und 392 können als beliebige der in 1A dargestellten Steuergeräte 120 und 122 implementiert werden, während die Zugangspunkte 393, 394, 395 und 396 als beliebige der in 1A dargestellten Zugangspunkte 110, 111, 112, 113 und 114 implementiert werden können. Am dritten Standort 390 kann der Zugangspunkt 393 auf die Steuergeräte 391 und 392 abgebildet werden. So können Daten vom Zugangspunkt 393 je nach Lastausgleichserwägungen zu einem der Controller 391 oder 392 getunnelt werden, aber ein bestimmtes Datenpaket, das über den Zugangspunkt 393 übertragen wird, kann nur zu einem der Controller 391 oder 392 getunnelt werden, und zwar in ähnlicher oder gleicher Weise wie oben in Bezug auf 2 beschrieben. Ebenso können Tunnel zwischen jedem der Zugangspunkte 393, 394, 395 und 396 und den Controllern 391 und 392 eingerichtet werden.
-
Ein Zugangspunkt an einem bestimmten Standort kann von den Steuergeräten an jedem anderen Standort isoliert sein. Daher kann der Zugangspunkt 343 von den Controllern 351, 352, 371, 372, 391 und 392 isoliert sein, um nur ein Beispiel zu nennen. Auf diese Weise kann das Computersystem 130 vielseitig eingesetzt werden, um Netzwerke an verschiedenen Standorten und mit gemeinsamen Netzwerkkonfigurationen und/oder IDs sowie Netzwerke an verschiedenen Standorten und mit unterschiedlichen Netzwerkkonfigurationen und/oder IDs einzurichten, wobei die Netzwerke an verschiedenen Standorten und Gruppen getrennt bleiben.
-
4 zeigt eine Computerkomponente 400, die einen oder mehrere Hardwareprozessoren 402 und maschinenlesbare Speichermedien 404 enthält, die einen Satz maschinenlesbarer/maschinenausführbarer Befehle speichern, die, wenn sie ausgeführt werden, den/die Hardwareprozessor(en) 402 veranlassen, ein illustratives Verfahren zum Clustern von Controllern, die in einem Netzwerk eingesetzt werden sollen, zum Abbilden von Zugangspunkten oder Switches auf das Netzwerk und zum Tunneln von Datenverkehr von Client-Geräten an den Zugangspunkten oder den Switches zu den Controllern durchzuführen. Es ist zu beachten, dass zusätzliche, weniger oder alternative Schritte in ähnlicher oder alternativer Reihenfolge oder parallel im Rahmen der verschiedenen hier erörterten Ausführungsformen durchgeführt werden können, sofern nicht anders angegeben. Die Rechnerkomponente 400 kann wie die Rechnerkomponente 131 von 1A und 1B implementiert werden. Die maschinenlesbaren Speichermedien 404 können geeignete maschinenlesbare Speichermedien umfassen, die in 7 beschrieben sind.
-
In Schritt 406 kann/können der/die Hardwareprozessor(en) 402 maschinenlesbare/maschinenausführbare Anweisungen ausführen, die in den maschinenlesbaren Speichermedien 404 gespeichert sind, um eine Anzeige zu empfangen, dass die Steuerungen der Zugangspunkte oder Schalter und die Zugangspunkte oder Schalter zu einem Netzwerk des Standorts gehören. Als Nächstes, in Schritt 408, können der/die Hardware-Prozessor(en) 402 die Steuerungen der Zugangspunkte oder Schalter und der Zugangspunkte oder Schalter an einem Standort erkennen. Als Nächstes, in Schritt 410, können der (die) Hardware-Prozessor(en) 402 die im Netz einzusetzenden Steuerungen automatisch gruppieren. Als Nächstes, in Schritt 412, können der/die Hardware-Prozessor(en) 402 automatisch die Zugangspunkte oder die Switches den Controllern zuordnen. In Schritt 414 können der oder die Hardware-Prozessoren 402 den Datenverkehr von Client-Geräten, die über die Zugangspunkte oder die Switches auf das Netz zugreifen, automatisch zu einer der Steuerungen tunneln.
-
5 zeigt eine Computerkomponente 500, die einen oder mehrere Hardwareprozessoren 502 und maschinenlesbare Speichermedien 504 enthält, die einen Satz von maschinenlesbaren/maschinenausführbaren Befehlen speichern, die, wenn sie ausgeführt werden, den/die Hardwareprozessor(en) 502 veranlassen, ein illustratives Verfahren zum Hinzufügen eines neuen Zugangspunkts und zum Einbinden dieses neuen Zugangspunkts in ein Netzwerk durchzuführen. Es sollte anerkannt werden, dass es zusätzliche, weniger oder alternative Schritte geben kann, die in ähnlicher oder alternativer Reihenfolge oder parallel im Rahmen der verschiedenen hier erörterten Ausführungsformen durchgeführt werden, sofern nicht anders angegeben. Die Rechnerkomponente 500 kann wie die Rechnerkomponente 131 von 1A und 1B implementiert werden. Die maschinenlesbaren Speichermedien 504 können geeignete maschinenlesbare Speichermedien umfassen, wie sie in 7 beschrieben sind. Die Methoden. Die Schritte oder Entscheidungen von 5 stellen eine Erweiterung der Schritte 406, 408, 410, 412 und 414 von 4 dar.
-
In Schritt 506 können der (die) Hardwareprozessor(en) 502 maschinenlesbare/maschinenausführbare Anweisungen ausführen, die in den maschinenlesbaren Speichermedien 504 gespeichert sind, um eine Anzeige zu empfangen, dass ein neuer Zugangspunkt oder ein neuer Switch zum Netzwerk hinzugefügt werden soll. In Schritt 508 kann der (die) Hardwareprozessor(en) 502 als Reaktion auf den Empfang des Hinweises den neuen Zugangspunkt oder den neuen Switch automatisch zum Netzwerk hinzufügen. In Schritt 510 kann der (die) Hardware-Prozessor(en) 502 einen Tunnel zwischen dem neuen Zugangspunkt oder dem neuen Switch und den Controllern aufbauen. In Schritt 512 kann/können der/die Hardware-Prozessor(en) 502 den Datenverkehr zwischen den Zugangspunkten oder den Switches und dem neuen Zugangspunkt oder dem neuen Switch, der zu den Steuergeräten getunnelt werden soll, neu zuordnen.
-
6 zeigt eine Computerkomponente 600, die einen oder mehrere Hardwareprozessoren 602 und maschinenlesbare Speichermedien 604 enthält, auf denen ein Satz maschinenlesbarer/maschinenausführbarer Anweisungen gespeichert ist, die, wenn sie ausgeführt werden, den/die Hardwareprozessor(en) 602 veranlassen, ein illustratives Verfahren zum Entfernen eines Zugangspunkts oder eines Switches aus einem Netzwerk durchzuführen. Es sollte anerkannt werden, dass es zusätzliche, weniger oder alternative Schritte geben kann, die in ähnlicher oder alternativer Reihenfolge oder parallel im Rahmen der verschiedenen hier erörterten Ausführungsformen durchgeführt werden, sofern nicht anders angegeben. Die Datenverarbeitungskomponente 600 kann wie die Datenverarbeitungskomponente 131 von 1A und 1B implementiert werden. Die maschinenlesbaren Speichermedien 604 können geeignete maschinenlesbare Speichermedien umfassen, die in 7 beschrieben sind. Die Methoden. Die Schritte oder Entscheidungen von 6 stellen eine Erweiterung der Schritte 406, 408, 410, 412 und 414 von 4 dar.
-
In Schritt 606 können der (die) Hardwareprozessor(en) 602 maschinenlesbare/maschinenausführbare Anweisungen ausführen, die in den maschinenlesbaren Speichermedien 604 gespeichert sind, um eine Anzeige zu empfangen, dass ein Zugangspunkt oder ein Switch aus dem Netzwerk entfernt werden soll. In Schritt 608 kann der (die) Hardwareprozessor(en) 502 als Reaktion auf den Empfang des Hinweises den Zugangspunkt oder den Switch aus dem Netzwerk entfernen. In Schritt 609 kann/können der/die Hardware-Prozessor(en) 602 die Tunnel zwischen dem entfernten Zugangspunkt oder dem entfernten Switch und den Controllern entfernen. In Schritt 610 kann der (die) Hardware-Prozessor(en) 502 den Datenverkehr zwischen den verbleibenden zweiten Zugangspunkten oder zweiten Switches neu aufteilen, damit er zu den zweiten Steuergeräten getunnelt wird.
-
7 zeigt ein Blockdiagramm eines beispielhaften Computersystems 700, in dem verschiedene der hier beschriebenen Ausführungsformen implementiert werden können. Das Computersystem 700 umfasst einen Bus 702 oder einen anderen Kommunikationsmechanismus zur Übermittlung von Informationen sowie einen oder mehrere Hardware-Prozessoren 704, die zur Verarbeitung von Informationen mit dem Bus 702 verbunden sind. Bei dem/den Hardware-Prozessor(en) 704 kann es sich zum Beispiel um einen oder mehrere Allzweck-Mikroprozessoren handeln.
-
Das Computersystem 700 umfasst auch einen Hauptspeicher 706, z. B. einen Speicher mit wahlfreiem Zugriff (RAM), einen Cache und/oder andere dynamische Speichergeräte, die mit dem Bus 702 verbunden sind, um Informationen und Anweisungen zu speichern, die vom Prozessor 704 ausgeführt werden sollen. Der Hauptspeicher 706 kann auch zum Speichern von temporären Variablen oder anderen Zwischeninformationen während der Ausführung von Anweisungen verwendet werden, die vom Prozessor 704 ausgeführt werden sollen. Wenn solche Befehle in Speichermedien gespeichert werden, auf die der Prozessor 704 zugreifen kann, wird das Computersystem 700 zu einer Spezialmaschine, die so angepasst ist, dass sie die in den Befehlen angegebenen Operationen ausführen kann.
-
Das Computersystem 700 umfasst außerdem einen Festwertspeicher (ROM) 708 oder ein anderes statisches Speichergerät, das mit dem Bus 702 verbunden ist, um statische Informationen und Anweisungen für den Prozessor 704 zu speichern. Ein Speichergerät 710, wie z. B. eine Magnetplatte, eine optische Platte oder ein USB-Stick (Flash-Laufwerk) usw., ist vorgesehen und mit dem Bus 702 verbunden, um Informationen und Anweisungen zu speichern.
-
Das Computersystem 700 kann über den Bus 702 mit einer Anzeige 712, z. B. einer Flüssigkristallanzeige (LCD) (oder einem Berührungsbildschirm), verbunden sein, um einem Computerbenutzer Informationen anzuzeigen. Ein Eingabegerät 714, einschließlich alphanumerischer und anderer Tasten, ist mit dem Bus 702 gekoppelt, um Informationen und Befehlsauswahlen an den Prozessor 704 zu übermitteln. Eine andere Art von Benutzereingabegerät ist die Cursorsteuerung 716, wie z. B. eine Maus, ein Trackball oder Cursorrichtungstasten zur Übermittlung von Richtungsinformationen und Befehlsauswahlen an den Prozessor 704 und zur Steuerung der Cursorbewegung auf dem Display 712. In einigen Ausführungsformen können die gleichen Richtungsinformationen und Befehlsauswahlen wie bei der Cursorsteuerung über den Empfang von Berührungen auf einem Touchscreen ohne Cursor implementiert werden.
-
Das Computersystem 700 kann ein Benutzerschnittstellenmodul zur Implementierung einer grafischen Benutzeroberfläche enthalten, das in einem Massenspeichergerät als ausführbare Softwarecodes gespeichert werden kann, die von dem/den Computergerät(en) ausgeführt werden. Dieses und andere Module können beispielsweise Komponenten wie Softwarekomponenten, objektorientierte Softwarekomponenten, Klassenkomponenten und Aufgabenkomponenten, Prozesse, Funktionen, Attribute, Prozeduren, Unterprogramme, Segmente von Programmcode, Treiber, Firmware, Mikrocode, Schaltkreise, Daten, Datenbanken, Datenstrukturen, Tabellen, Arrays und Variablen umfassen.
-
Im Allgemeinen kann sich der hier verwendete Begriff „Komponente“, „System“, „Engine“, „Datenbank“, „Datenspeicher“ und dergleichen auf eine in Hardware oder Firmware verkörperte Logik oder auf eine Sammlung von Softwareanweisungen beziehen, die möglicherweise Ein- und Ausstiegspunkte haben und in einer Programmiersprache wie z. B. Java, C oder C++ geschrieben sind. Eine Softwarekomponente kann kompiliert und zu einem ausführbaren Programm verknüpft werden, in einer dynamischen Link-Bibliothek installiert werden oder in einer interpretierten Programmiersprache wie BASIC, Perl oder Python geschrieben sein. Es versteht sich von selbst, dass Softwarekomponenten von anderen Komponenten oder von sich selbst aus aufrufbar sein können und/oder als Reaktion auf erkannte Ereignisse oder Unterbrechungen aufgerufen werden können. Softwarekomponenten, die für die Ausführung auf Computergeräten konfiguriert sind, können auf einem computerlesbaren Medium, wie z. B. einer Compact Disc, einer digitalen Videodisc, einem Flash-Laufwerk, einer Magnetplatte oder einem anderen greifbaren Medium, oder als digitaler Download bereitgestellt werden (und können ursprünglich in einem komprimierten oder installierbaren Format gespeichert sein, das vor der Ausführung eine Installation, Dekomprimierung oder Entschlüsselung erfordert). Ein solcher Softwarecode kann teilweise oder vollständig in einem Speicher des ausführenden Computergeräts zur Ausführung durch das Computergerät gespeichert werden. Softwareanweisungen können in Firmware, wie z. B. einem EPROM, eingebettet sein. Darüber hinaus können die Hardwarekomponenten aus verbundenen Logikeinheiten wie Gattern und Flipflops und/oder aus programmierbaren Einheiten wie programmierbaren Gatteranordnungen oder Prozessoren bestehen.
-
Das Computersystem 700 kann die hierin beschriebenen Techniken unter Verwendung von kundenspezifischer festverdrahteter Logik, einem oder mehreren ASICs oder FPGAs, Firmware und/oder Programmlogik implementieren, die in Kombination mit dem Computersystem bewirkt oder programmiert, dass das Computersystem 700 eine Spezialmaschine ist. Gemäß einer Ausführungsform werden die hierin beschriebenen Techniken vom Computersystem 700 als Reaktion auf den/die Prozessor(en) 704 ausgeführt, der/die eine oder mehrere Sequenzen von einem oder mehreren im Hauptspeicher 706 enthaltenen Befehlen ausführt/ausführen. Solche Anweisungen können in den Hauptspeicher 706 von einem anderen Speichermedium, wie z. B. dem Speichergerät 710, eingelesen werden. Die Ausführung der im Hauptspeicher 706 enthaltenen Befehlssequenzen veranlasst den/die Prozessor(en) 704, die hier beschriebenen Prozessschritte durchzuführen. In alternativen Ausführungsformen können festverdrahtete Schaltungen anstelle von oder in Kombination mit Softwareanweisungen verwendet werden.
-
Der Begriff „nichtflüchtige Medien“ und ähnliche Begriffe, wie sie hier verwendet werden, beziehen sich auf alle Medien, die Daten und/oder Befehle speichern, die den Betrieb einer Maschine in einer bestimmten Weise bewirken. Solche nichtflüchtigen Medien können nichtflüchtige Medien und/oder flüchtige Medien umfassen. Zu den nichtflüchtigen Medien gehören beispielsweise optische oder magnetische Festplatten, wie die Speichervorrichtung 710. Zu den flüchtigen Medien gehören dynamische Speicher, wie der Hauptspeicher 706. Zu den gängigen Formen nichtflüchtiger Medien gehören beispielsweise Disketten, flexible Platten, Festplatten, Solid-State-Laufwerke, Magnetbänder oder andere magnetische Datenspeichermedien, CD-ROMs, andere optische Datenspeichermedien, physische Medien mit Lochmustern, RAM, PROM und EPROM, FLASH-EPROM, NVRAM, andere Speicherchips oder - kassetten sowie deren vernetzte Versionen.
-
Nicht-transitorische Medien unterscheiden sich von Übertragungsmedien, können aber in Verbindung mit ihnen verwendet werden. Übertragungsmedien sind an der Übertragung von Informationen zwischen nicht-transitorischen Medien beteiligt. Zu den Übertragungsmedien gehören z. B. Koaxialkabel, Kupfer- und Glasfaserkabel, einschließlich der Drähte, aus denen der Bus 702 besteht. Übertragungsmedien können auch in Form von Schall- oder Lichtwellen auftreten, wie sie bei der Datenkommunikation über Funk und Infrarot erzeugt werden.
-
Das Computersystem 700 umfasst auch eine Kommunikationsschnittstelle 718, die mit dem Bus 702 verbunden ist. Die Netzwerkschnittstelle 718 stellt eine Zwei-Wege-Datenkommunikationsverbindung zu einer oder mehreren Netzwerkverbindungen her, die mit einem oder mehreren lokalen Netzwerken verbunden sind. Bei der Kommunikationsschnittstelle 718 kann es sich beispielsweise um eine ISDN-Karte (Integrated Services Digital Network), ein Kabelmodem, ein Satelliten modern oder ein Modem handeln, um eine Datenkommunikationsverbindung zu einer entsprechenden Art von Telefonleitung herzustellen. Ein weiteres Beispiel: Die Netzwerkschnittstelle 718 kann eine LAN-Karte (Local Area Network) sein, um eine Datenkommunikationsverbindung zu einem kompatiblen LAN (oder einer WAN-Komponente zur Kommunikation mit einem WAN) herzustellen. Es können auch drahtlose Verbindungen implementiert werden. In jeder dieser Implementierungen sendet und empfängt die Netzwerkschnittstelle 718 elektrische, elektromagnetische oder optische Signale, die digitale Datenströme mit verschiedenen Informationstypen übertragen.
-
Eine Netzverbindung ermöglicht in der Regel die Datenkommunikation über ein oder mehrere Netze zu anderen Datengeräten. So kann eine Netzverbindung beispielsweise eine Verbindung über ein lokales Netz zu einem Host-Computer oder zu Datengeräten eines Internetdienstanbieters (ISP) herstellen. Der ISP wiederum bietet Datenkommunikationsdienste über das weltweite Paketdatenkommunikationsnetz an, das heute gemeinhin als „Internet“ bezeichnet wird. Sowohl das lokale Netz als auch das Internet verwenden elektrische, elektromagnetische oder optische Signale, die digitale Datenströme übertragen. Die Signale über die verschiedenen Netze und die Signale auf der Netzverbindung und über die Kommunikationsschnittstelle 718, die die digitalen Daten zum und vom Computersystem 700 übertragen, sind Beispiele für Übertragungsmedien.
-
Das Computersystem 700 kann über das/die Netzwerk(e), die Netzwerkverbindung und die Kommunikationsschnittstelle 718 Nachrichten senden und Daten, einschließlich Programmcode, empfangen. In dem Internet-Beispiel könnte ein Server einen angeforderten Code für ein Anwendungsprogramm über das Internet, den ISP, das lokale Netzwerk und die Kommunikationsschnittstelle 718 übertragen.
-
Der empfangene Code kann vom Prozessor 704 bei seinem Empfang ausgeführt und/oder in der Speichervorrichtung 710 oder einem anderen nichtflüchtigen Speicher zur späteren Ausführung gespeichert werden.
-
Jeder der in den vorangegangenen Abschnitten beschriebenen Prozesse, Methoden und Algorithmen kann in Code-Komponenten verkörpert und vollständig oder teilweise durch diese automatisiert werden, die von einem oder mehreren Computersystemen oder Computerprozessoren mit Computerhardware ausgeführt werden. Das eine oder die mehreren Computersysteme oder Computerprozessoren können auch so betrieben werden, dass sie die Ausführung der entsprechenden Vorgänge in einer „Cloud Computing“-Umgebung oder als „Software as a Service“ (SaaS) unterstützen. Die Prozesse und Algorithmen können teilweise oder vollständig in anwendungsspezifischen Schaltkreisen implementiert sein. Die verschiedenen oben beschriebenen Merkmale und Verfahren können unabhängig voneinander verwendet oder auf verschiedene Weise kombiniert werden. Verschiedene Kombinationen und Unterkombinationen sollen in den Anwendungsbereich dieser Offenlegung fallen, und bestimmte Verfahrens- oder Prozessblöcke können in einigen Implementierungen weggelassen werden. Die hier beschriebenen Methoden und Prozesse sind auch nicht auf eine bestimmte Reihenfolge beschränkt, und die damit verbundenen Blöcke oder Zustände können in anderen geeigneten Reihenfolgen, parallel oder auf andere Weise ausgeführt werden. Blöcke oder Zustände können zu den offengelegten Beispielen hinzugefügt oder aus ihnen entfernt werden. Die Ausführung bestimmter Operationen oder Prozesse kann auf Computersysteme oder Computerprozessoren verteilt werden, die sich nicht nur auf einer einzigen Maschine befinden, sondern über eine Reihe von Maschinen verteilt sind.
-
Wie hierin verwendet, kann eine Schaltung in jeder Form von Hardware, Software oder einer Kombination davon implementiert werden. Beispielsweise können ein oder mehrere Prozessoren, Controller, ASICs, PLAs, PALs, CPLDs, FPGAs, logische Komponenten, Software-Routinen oder andere Mechanismen implementiert werden, um eine Schaltung zu bilden. Bei der Implementierung können die verschiedenen hier beschriebenen Schaltungen als diskrete Schaltungen implementiert werden, oder die beschriebenen Funktionen und Merkmale können teilweise oder insgesamt auf eine oder mehrere Schaltungen aufgeteilt werden. Auch wenn verschiedene Merkmale oder Funktionselemente einzeln als getrennte Schaltungen beschrieben oder beansprucht werden, können diese Merkmale und Funktionen von einer oder mehreren gemeinsamen Schaltungen gemeinsam genutzt werden, und eine solche Beschreibung soll nicht voraussetzen oder implizieren, dass getrennte Schaltungen erforderlich sind, um diese Merkmale oder Funktionen zu implementieren. Wenn eine Schaltung ganz oder teilweise mit Software implementiert ist, kann diese Software so implementiert werden, dass sie mit einem Computer- oder Verarbeitungssystem arbeitet, das in der Lage ist, die beschriebene Funktionalität auszuführen, wie z. B. das Computersystem 700.
-
Wie hierin verwendet, kann der Begriff „oder“ sowohl im einschließenden als auch im ausschließenden Sinne verstanden werden. Darüber hinaus ist die Beschreibung von Ressourcen, Vorgängen oder Strukturen im Singular nicht so zu verstehen, dass der Plural ausgeschlossen wird. Bedingte Ausdrücke, wie z. B. „kann“, „könnte“, „könnte“ oder „kann“, sind, sofern nicht ausdrücklich anders angegeben oder im Kontext anders verstanden, im Allgemeinen so zu verstehen, dass bestimmte Ausführungsformen bestimmte Merkmale, Elemente und/oder Schritte umfassen, während andere Ausführungsformen diese nicht umfassen.
-
Die in diesem Dokument verwendeten Begriffe und Ausdrücke sowie deren Abwandlungen sind, sofern nicht ausdrücklich anders angegeben, nicht einschränkend, sondern offen zu verstehen. Adjektive wie „konventionell“, „traditionell“, „normal“, „Standard“, „bekannt“ und Begriffe mit ähnlicher Bedeutung sind nicht so zu verstehen, dass sie den beschriebenen Gegenstand auf einen bestimmten Zeitraum oder auf einen zu einem bestimmten Zeitpunkt verfügbaren Gegenstand beschränken, sondern sollten so verstanden werden, dass sie konventionelle, traditionelle, normale oder Standardtechnologien umfassen, die jetzt oder zu einem beliebigen Zeitpunkt in der Zukunft verfügbar oder bekannt sein können. Das Vorhandensein erweiternder Wörter und Ausdrücke wie „eine oder mehrere“, „mindestens“, „aber nicht beschränkt auf“ oder ähnliche Ausdrücke in einigen Fällen ist nicht so zu verstehen, dass der engere Fall beabsichtigt oder erforderlich ist, wenn solche erweiternden Ausdrücke nicht vorhanden sind.