-
TECHNISCHES GEBIET
-
Die vorliegende Offenbarung betrifft allgemein das Gebiet der Netzwerkverwaltung in einer IoT-Umgebung (IoT: Internet of Things - Internet der Dinge) und insbesondere eine Technik zum Erhalten von Informationen bezüglich IoT-Vorrichtungen, die mit einem Netzwerk verbunden sind.
-
HINTERGRUND
-
Eine IoT-Installation kann eine Vielzahl von IoT-Vorrichtungen beinhalten, die mit einem Netzwerk verbunden sind. Die IoT-Vorrichtungen können zum Beispiel unter anderem Sensoren und/oder Aktoren und/oder Steuerungen und/oder Netzwerkkomponenten beinhalten. In vielen IoT-Installationen ist keine ausreichende Dokumentation der Gesamteinrichtung (beispielsweise installierte Vorrichtungen, Eigenschaften der installierten Vorrichtungen usw.) verfügbar, oder die verfügbare Dokumentation ist veraltet. Vorrichtungsinformationen können über die Nutzung von Netzwerkverwaltungstools gesammelt werden. Bekannte Netzwerkverwaltungstools erfordern typischerweise, dass Endvorrichtungen spezifische Protokolle unterstützen, wie etwa unter anderem SNMP, ICMP, LLDP, um die Sichtbarkeit dieser Vorrichtungen zu ermöglichen.
-
KURZFASSUNG
-
Kurz gesagt sind Aspekte der vorliegenden Offenbarung auf eine auf künstlicher Intelligenz basierende Technik zum Erhalten von Informationen bezüglich mit einem Netzwerk verbundener IoT-Vorrichtungen ausgerichtet.
-
In einem ersten Aspekt ist ein System zum Erhalten von Informationen über eine mit einem Netzwerk verbundene IoT-Vorrichtung offenbart. Das System umfasst einen Datenverkehrssammelpunkt, der dazu ausgelegt ist, Dateneinheiten zu sammeln, die zu oder von einer spezifizierten IoT-Vorrichtung mehrerer mit einem Netzwerk verbundener IoT-Vorrichtungen kommuniziert werden. Das System umfasst ferner ein Datenverarbeitungsmodul, das dazu ausgelegt ist, quantitative Informationen bezüglich der Dateneinheiten zu verarbeiten, die zu oder von der spezifizierten IoT-Vorrichtung kommuniziert und über ein definiertes Zeitintervall gesammelt werden, um einen zeitlichen Fingerabdruck des Datenverkehrs der spezifizierten IoT-Vorrichtung zu erzeugen. Das System umfasst ferner ein Künstliche-Intelligenz-Modul, das dazu ausgelegt ist, ein Maschinenlernmodell zu nutzen, um Vorrichtungsidentifikationsinformationen der spezifizierten IoT-Vorrichtung aus dem zeitlichen Fingerabdruck des Datenverkehrs der spezifizierten IoT-Vorrichtung abzuleiten.
-
In einem zweiten Aspekt ist ein computerimplementiertes Verfahren zum Erhalten von Informationen über eine mit einem Netzwerk verbundene IoT-Vorrichtung offenbart. Das Verfahren umfasst Empfangen einer Sammlung von Dateneinheiten, die zu oder von einer spezifizierten IoT-Vorrichtung mehrerer mit einem Netzwerk verbundener IoT-Vorrichtungen kommuniziert werden. Das Verfahren umfasst ferner Verarbeiten quantitativer Informationen bezüglich der Dateneinheiten, die zu oder von der spezifizierten IoT-Vorrichtung kommuniziert und über ein definiertes Zeitintervall gesammelt werden, um einen zeitlichen Fingerabdruck des Datenverkehrs der spezifizierten IoT-Vorrichtung zu erzeugen. Das Verfahren umfasst ferner Ableiten von Vorrichtungsidentifikationsinformationen der spezifizierten IoT-Vorrichtung aus dem zeitlichen Fingerabdruck des Datenverkehrs der spezifizierten IoT-Vorrichtung unter Verwendung eines Maschinenlernmodells.
-
Andere Aspekte der vorliegenden Offenbarung implementieren Merkmale des oben beschriebenen Verfahrens in Rechensystemen und Computerprogrammprodukten.
-
Zusätzliche technische Merkmale und Vorteile können durch die Techniken der vorliegenden Offenbarung realisiert werden. Ausführungsformen und Aspekte der Offenbarung sind hierin ausführlich beschrieben und werden als Teil des beanspruchten Gegenstands angesehen. Für ein besseres Verständnis soll sich auf die ausführliche Beschreibung und die Zeichnungen bezogen werden.
-
Figurenliste
-
Die vorstehenden und andere Aspekte der vorliegenden Offenbarung werden am besten aus der folgenden ausführlichen Beschreibung verstanden, wenn diese in Verbindung mit den begleitenden Zeichnungen gelesen wird. Um die Besprechung irgendeines Elements oder irgendeiner Handlung leicht zu identifizieren, beziehen sich die wichtigste(n) Ziffer oder Ziffern in einer Bezugsnummer auf die Figurennummer, in der das Element oder die Handlung zuerst eingeführt wird.
- 1 veranschaulicht ein System zum Erhalten von Vorrichtungsinformationen gemäß einem Aspekt der vorliegenden Offenbarung.
- 2 veranschaulicht einen bekannten Typ von Ethernet-Frame.
- 3 veranschaulicht ein Beispiel für ein grafisches Bild, das einen Fingerabdruck des Datenverkehrs einer Vorrichtung repräsentiert.
- 4 ist ein Flussdiagramm, das ein computerimplementiertes Verfahren zum Erhalten von Vorrichtungsinformationen veranschaulicht, gemäß einem Aspekt der vorliegenden Offenbarung.
- 5 veranschaulicht eine beispielhafte Rechenumgebung, innerhalb der Aspekte der vorliegenden Offenbarung implementiert werden können.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Verschiedene Technologien, die sich auf Systeme und Verfahren beziehen, werden nun mit Bezug auf die Zeichnungen beschrieben, in denen gleiche Bezugsziffern durchweg gleiche Elemente repräsentieren. Die unten besprochenen Zeichnungen und die verschiedenen Ausführungsformen, die zum Beschreiben der Prinzipien der vorliegenden Offenbarung in diesem Patentdokument verwendet werden, sind nur veranschaulichend, und sollten in keinster Weise so ausgelegt werden, dass sie den Schutzumfang der Offenbarung beschränken. Fachleute auf dem Gebiet werden verstehen, dass die Prinzipien der vorliegenden Offenbarung in einer beliebigen geeignet angeordneten Einrichtung implementiert werden können. Es versteht sich, dass Funktionalität, die als durch bestimmte Systemelemente ausgeführt beschrieben ist, durch mehrere Elemente durchgeführt werden kann. Gleichermaßen kann beispielsweise ein Element dazu ausgelegt sein, Funktionalität durchzuführen, die als durch mehrere Elemente ausgeführt beschrieben ist. Die zahlreichen erfindungsgemäßen Lehren der vorliegenden Offenbarung werden mit Bezug auf beispielhafte nicht beschränkende Ausführungsformen beschrieben.
-
Aspekte der vorliegenden Offenbarung sind auf eine Technik basierend auf künstlicher Intelligenz (KI) zum Erhalten von Informationen bezüglich mit einem Netzwerk verbundener IoT-Vorrichtungen ausgerichtet. Eine zugrundeliegende Idee hier besteht darin, Informationen über den Datenverkehr, der zu oder von einer spezifizierten IoT-Vorrichtung gesendet wird, zu verwenden, um Vorrichtungsidentifikationsinformationen abzuleiten, wie etwa Vorrichtungstyp, und in manchen Fällen Vorrichtungstypvariante. Die Vorrichtungsidentifikationsinformationen werden aus einem Fingerabdruck des Datenverkehrs der spezifizierten IoT-Vorrichtung unter Verwendung eines Maschinenlernmodells abgeleitet. Das Modell kann an vorherigen Daten trainiert werden, um Fingerabdrücke des Datenverkehrs zu lernen, die das Verhalten einer großen Anzahl von Vorrichtungstypen/Vorrichtungstypvarianten charakterisieren.
-
Die vorliegenden Erfinder haben erkannt, dass das grundlegende Verhalten einer IoT-Vorrichtung bezüglich der Datenkommunikation einen Vorrichtungstyp oder sogar eine Vorrichtungstypvariante in einigen Fällen unterscheidbar charakterisiert. Das grundlegende Verhalten bezüglich der Datenkommunikation kann zum Beispiel basierend auf verwendeten Protokollen oder Datenpriorisierungsklassen oder Kommunikationsintensität oder Charakteristiken der ausgetauschten Daten (wie etwa Paketlänge, ausgewählte Inhalte usw.) oder beliebigen Kombinationen davon analysiert werden. Das erfindungsgemäße Konzept ermöglicht es, Informationen über IoT-Vorrichtungen zu erhalten, die Konnektivität mit einem Netzwerk aufweisen, ohne auf die Fähigkeiten (wie etwa Unterstützung spezifischer Protokolle) dieser Vorrichtungen angewiesen zu sein oder Anpassungen auf der Vorrichtungsseite notwendig zu machen.
-
Jetzt mit Bezug auf die Zeichnungen zeigt 1 ein System 100 gemäß einer veranschaulichenden beispielhaften Ausführungsform. Das System 100 ist dazu ausgelegt, Vorrichtungsinformationen bezüglich einer oder mehrerer IoT-Vorrichtungen zu erhalten, die mit einem Netzwerk 110 verbunden sind. Das Netzwerk 110 kann zum Beispiel und ohne Einschränkung unter mehreren anderen ein Lokalnetzwerk (LAN), ein drahtloses Lokalnetzwerk (WLAN), ein Weitbereichsnetzwerk (WAN) beinhalten. IoT-Vorrichtungen 102a, 102b, 102c, 102d können Daten über das Netzwerk 110 mittels einer oder mehrerer Netzwerkkomponenten wie etwa Switches, Router usw. kommunizieren. In dem veranschaulichenden Beispiel von 1 sind vier IoT-Vorrichtungen 102a, 102b, 102c, 102d identifiziert, die mit einem Router-Switch 104 an jeweiligen Anschlüssen 108a, 108b, 108c, 108d über jeweilige Links 106a, 106b, 106c, 106d verknüpft sind. Die Links 106a-d können zum Beispiel Ethernet-Kabel umfassen. In verschiedenen Ausführungsformen können eine oder mehrere der IoT-Vorrichtungen 102a-d mit dem Router-Switch 104 drahtlos verbunden sein, zum Beispiel über drahtlose Zugangspunkte (nicht gezeigt). In einigen Ausführungsformen kann der Router-Switch 104 dazu ausgelegt sein, auch als ein drahtloser Zugangspunkt zu fungieren. In einer Ausführungsform kann der Router-Switch 104 eine modulare Architektur aufweisen, die dazu ausgelegt ist, Verbindungen über mehrere anderen Arten von Schnittstellen zu unterstützen, wie etwa unter anderem serielle Schnittstellen, Tl-Schnittstellen.
-
Der Router-Switch 104, auch als ein Multi-Layer-Switch bezeichnet, ist eine einzige Vorrichtung, die dazu ausgelegt ist, Switching- und Routing-Funktionen auszuführen. Der Router-Switch 104 agiert als ein Switch, um Vorrichtungen zu verbinden, die sich auf demselben Subnet oder virtuellen LAN befinden, und weist eingebaute IP-Routing-Intelligenz auf, um auch als ein Router zu dienen. Der Router-Switch 104 ist mit Verarbeitungsfähigkeit versehen und umfasst zum Beispiel eine CPU 112 und einen Speicher 114. Der Router-Switch 104 kann somit Routing-Protokolle unterstützen, eingehende Datenpakete überprüfen und kann sogar Routing-Entscheidungen basierend auf der Quell- und Zieladresse vornehmen. In anderen Ausführungsformen können ein Switch und ein Router als separate Vorrichtungen eingesetzt werden. In noch anderen Ausführungsformen können die Routing- und Switching-Funktionen durch andere Netzwerkkomponenten implementiert werden, einschließlich unter anderem eine Netzwerksicherheitsvorrichtung, wie etwa eine Firewall. Ein Fachmann auf dem Gebiet wird verstehen, dass, obwohl ein einzelner Router-Switch 104 gezeigt ist, in der Praxis eine typische IoT-Installation mehrere Routing- und/oder Switching-Vorrichtungen umfassen würde, die mit einer Vielzahl von IoT-Vorrichtungen verbunden sind.
-
Das Netzwerk 110 beinhaltet auch einen Knoten, der als ein Gateway 116 fungiert. Das Gateway 116 kann einen Router, eine Firewall, einen Server oder eine beliebige andere Vorrichtung beinhalten, die ermöglicht, dass Datenverkehr zwischen den Vorrichtungen des Netzwerks 110 und einem oder mehreren externen Netzwerken 118, einschließlich unter anderem dem Internet, fließt.
-
Der Begriff „Internet-der-Dinge-Vorrichtung“ oder „IoT-Vorrichtung“ wird hierin verwendet, um sich auf eine Vorrichtung zu beziehen, die in der Lage ist, Daten über ein Netzwerk zu senden und/oder zu empfangen, ohne eine Mensch-zu-Mensch- oder Mensch-zu-Vorrichtung-Interaktion zu benötigen. Nicht beschränkende Beispiele für IoT-Vorrichtungen beinhalten verschiedene Arten von Sensoren, Aktoren, Steuerungen (z. B. programmierbare Logiksteuerungen), intelligenten elektronischen Vorrichtungen, Servern, sowie Netzwerkkomponenten wie etwa Routern, Switches, Firewalls usw. Somit sollte verstanden werden, dass, während die IoT-Vorrichtungen 102a-d und die Netzwerkkomponenten, wie etwa der Router-Switch 104 und das Gateway 116, in 1 zum Zweck der Veranschaulichung separat identifiziert sind, jede dieser Vorrichtungen innerhalb des Kontexts der vorliegenden Beschreibung und der Ansprüche als eine IoT-Vorrichtung verstanden wird.
-
Das Netzwerk 110 ist mit einem Netzwerkmanager 120 verbunden, der unter mehreren Funktionen dazu ausgelegt sein kann, Vorrichtungsinformationen über verbundene IoT-Vorrichtungen zu erhalten, gemäß einer Ausführungsform der vorliegenden Offenbarung. Der Netzwerkmanager 120 kann ein Rechensystem umfassen, das eine oder mehrere Rechenvorrichtungen beinhaltet, wie etwa die, die in 5 beschrieben sind. In einer nicht beschränkenden beispielhaften Ausführungsform kann der Netzwerkmanager 120 in einer Cloud-Rechenumgebung implementiert werden. In bestimmten anderen Ausführungsformen kann der Aspekt des Erhaltens von Vorrichtungsinformationen über verbundene IoT-Vorrichtungen in einem Netzwerkknoten mit der erforderlichen Rechenfähigkeit implementiert werden, einschließlich zum Beispiel dem Router-Switch 104.
-
Das System zum Erhalten von Vorrichtungsinformationen gemäß der vorliegenden Offenbarung beinhaltet mehrere Elemente/Module, wie nachstehen beschrieben. Diese Elemente/Module können über mehrere Rechenvorrichtungen verteilt sein oder können in einer einzigen Vorrichtung, wie unter anderem dem Router-Switch 104, eingebettet sein.
-
Grob gesagt beinhaltet das System 100 einen oder mehrere Datenverkehrssammelpunkte 122, ein Datenverarbeitungsmodul 124 und ein KI-Modul 126. Ein Datenverkehrssammelpunkt 122 sammelt Dateneinheiten, die zu oder von einer spezifizierten IoT-Vorrichtung aus mehreren mit dem Netzwerk 110 verbundenen IoT-Vorrichtungen kommuniziert werden. Der Begriff „oder“ ist in diesem Kontext in einem inklusiven Sinne gemeint, und ist als „und/oder“ zu verstehen. Das heißt, „Dateneinheiten, die zu oder von einer spezifizierten IoT-Vorrichtung kommuniziert werden“ ist als Dateneinheiten, die durch die spezifizierte IoT-Vorrichtung empfangen werden, und/oder Dateneinheiten, die durch die spezifizierte IoT-Vorrichtung gesendet werden, zu verstehen. Zum Zweck der Veranschaulichung ist die spezifizierte IoT-Vorrichtung hierin als die Vorrichtung 102a identifiziert, wobei verstanden werden soll, dass die beschriebene Technik entsprechend auf andere mit dem Netzwerk 110 verbundene IoT-Vorrichtungen angewendet werden kann. Das Datenverarbeitungsmodul 124 verarbeitet quantitative Informationen bezüglich der Dateneinheiten, die zu oder von der spezifizierten IoT-Vorrichtung 102a kommuniziert und über ein definiertes Zeitintervall gesammelt werden, um einen zeitlichen Fingerabdruck des Datenverkehrs der spezifizierten IoT-Vorrichtung 102a zu erzeugen. Ein zeitlicher Fingerabdruck des Datenverkehrs einer Vorrichtung ist eine temporäre Momentaufnahme eines Verhaltens der Vorrichtung in einem definierten Zeitintervall, die durch quantitative Eigenschaften von Dateneinheiten charakterisiert ist, die durch die Vorrichtung in dem definierten Zeitintervall gesendet und/oder empfangen werden. Das KI-Modul 126 nutzt ein Maschinenlernmodell, um Vorrichtungsidentifikationsinformationen der spezifizierten IoT-Vorrichtung 102a aus dem zeitlichen Fingerabdruck des Datenverkehrs der spezifizierten IoT-Vorrichtung 102a abzuleiten. Der Begriff „ableiten“ wird hierin im Sinne des logischen Folgerns oder Schlussfolgerns (zum Beispiel basierend auf definierten Regeln) durch ein trainiertes Maschinenlernmodell aus Eingangsdaten, die den zeitlichen Fingerabdruck des Datenverkehrs beinhalten, verwendet.
-
Der Begriff „Dateneinheit“ oder Protokolldateneinheit (PDU) bezieht sich auf eine einzelne Einheit von Informationen, die zwischen Entitäten eines Netzwerks in Form elektrischer Signale übertragen werden. Eine Dateneinheit besteht aus protokollspezifischen Steuerinformationen und Nutzdaten. Zum Beispiel: an der Datenverbindungsschicht bezieht sich eine Dateneinheit auf einen Frame; an der Netzwerkschicht bezieht sich eine Dateneinheit auf ein Paket; an der Transportschicht bezieht sich eine Dateneinheit auf ein Segment; und so weiter. Der Begriff „Dateneinheit“, wie in der vorliegenden Beschreibung und in den Ansprüchen verwendet, soll somit im weitesten Sinn als sich auf eine beliebige PDU beziehend verstanden werden.
-
Ein Datenverkehrssammelpunkt 122 ist ein Punkt, an dem Datenverkehr zu oder von einer spezifizierten IoT-Vorrichtung und/oder Verkehr bezüglich Zählern und/oder anderen quantitativen Maßen gesammelt wird. Ein Datenverkehrssammelpunkt 122 für eine spezifizierte IoT-Vorrichtung kann an einem oder mehreren mehrerer möglicher Punkte erstellt werden. In einer ersten Ausführungsform kann ein Datenverkehrssammelpunkt 122 für eine spezifizierte IoT-Vorrichtung 102a die Vorrichtung 102a selbst sein. In einer zweiten Ausführungsform kann ein Datenverkehrssammelpunkt 122 für eine spezifizierte IoT-Vorrichtung 102a ein Knoten des Netzwerks 110 sein, über den Dateneinheiten laufen, die zu oder von der Vorrichtung 102a kommuniziert werden. Solche Knoten können zum Beispiel Netzwerkkomponenten beinhalten, wie etwa Router, Switches, Gateways usw. In der gezeigten Ausführungsform kann ein Datenverkehrssammelpunkt 122 für die spezifizierte IoT-Vorrichtung 102a an dem Router-Switch 104 oder dem Gateway 116 erstellt werden. In einer dritten Ausführungsform kann ein Datenverkehrssammelpunkt 122 für eine spezifizierte IoT-Vorrichtung 102a einfach ein Anschluss einer mit der Vorrichtung 102a verknüpften Netzwerkkomponente sein, wie etwa der Anschluss 108a des Router-Switch 104. Datenverkehrssammelpunkte für andere mit dem Netzwerk verbundene IoT-Vorrichtungen können auf ähnliche Weise erstellt werden.
-
Ein Datenverkehrssammelpunkt 122 kann dazu ausgelegt sein, Datenverkehr, der zu oder von einer spezifizierten IoT-Vorrichtung 102a kommuniziert wird, auf verschiedene Weisen herauszufiltern.
-
In einem ersten Beispiel der Datenverkehrsfilterung kann der Datenverkehrssammelpunkt 122 Dateneinheiten, die zu oder von der spezifizierten IoT-Vorrichtung 102a kommuniziert werden, basierend auf einer Vorrichtungsadresse der spezifizierten IoT-Vorrichtung 102a sammeln. Die Vorrichtungsadresse kann zum Beispiel eine MAC-Adresse oder eine IP-Adresse der Vorrichtung 102a beinhalten. In verschiedenen Ausführungsformen, bei denen die spezifizierte IoT-Vorrichtung 102s zu einem virtuellen Lokalnetzwerk (VLAN) gehört, kann die zum Filtern von Datenverkehr verwendete Vorrichtungsadresse auch eine VLAN-Kennung beinhalten, die auf eine MAC-Adresse oder eine IP-Adresse abgebildet sein kann. In noch anderen Ausführungsformen kann die Filterung von Datenverkehr auf einer Vorrichtungsadresse/-kennung basierend, die über verschiedene Technologien gekapselt ist, wie etwa unter anderem Ethernet-VPN, VXLAN, MAC-on-MAC. Diese Art von Datenverkehrsfilterung nach Vorrichtungsadresse/-kennung kann zum Beispiel durch den Router-Switch 104 oder das Gateway 116 implementiert werden.
-
In einem zweiten Beispiel der Datenverkehrsfilterung kann der Datenverkehrssammelpunkt 122 Dateneinheiten sammeln, die über einen physischen Anschluss (z. B. Anschluss 108a) kommuniziert werden, der mit der spezifizierten IoT-Vorrichtung 102a verknüpft ist. In einigen Ausführungsformen kann beispielsweise, aber nicht beschränkt auf ein VLAN, ein physischer Anschluss eine oder mehrere an ihm konfigurierte virtuelle (oder logische) Schnittstellen aufweisen. In solchen Fällen kann nur Datenverkehr durch die mit der spezifizierten IoT-Vorrichtung verknüpfte virtuelle Schnittstelle herausgefiltert werden.
-
In einem dritten Beispiel der Datenverkehrsfilterung kann der Datenverkehrssammelpunkt 122 Dateneinheiten sammeln, die über eine Schaltung kommuniziert werden, die eine Kombination aus physischen Anschlüssen und/oder virtuellen Schnittstellen umfasst, die mit der spezifizierten IoT-Vorrichtung verknüpft sind. Als ein Beispiel kann in der in 1 gezeigten Konfiguration, falls das Gateway 116 als ein Datenverkehrssammelpunkt für die IoT-Vorrichtung 102a verwendet wird, Datenverkehr herausgefiltert werden, der über die folgende Schaltung kommuniziert wird, wobei die Schaltung eine Zwischenverbindung zwischen Folgendem umfasst: dem Anschluss 130 des Gateways 116 (oder einer virtuellen Schnittstelle, die an dem Anschluss 130 konfiguriert ist), dem Anschluss 128 des Router-Switch 104 (oder einer virtuellen Schnittstelle, die an dem Anschluss 128 konfiguriert ist) und dem Anschluss 108a des Router-Switch 104 (oder einer virtuellen Schnittstelle, die an dem Anschluss 108a konfiguriert ist).
-
Das Datenverarbeitungsmodul 124 wird durch eine Vorrichtung implementiert, die quantitative Eigenschaften der Dateneinheiten, die durch die spezifizierte IoT-Vorrichtung 102a über ein definiertes Zeitintervall gesendet/empfangen werden, in einen zeitlichen Fingerabdruck des Datenverkehrs der spezifizierten IoT-Vorrichtung 102a transformiert. Das Datenverarbeitungsmodul 124 kann an der Vorrichtung implementiert werden, an der der Datenverkehr gesammelt wird, oder an einer anderen Verarbeitungsvorrichtung, zum Beispiel durch Spiegeln des Datenverkehrs. In dem in 1 gezeigten Beispiel befindet sich das Datenverarbeitungsmodul 124 im Netzwerkmanager 120.
-
In einer beispielhaften Ausführungsform kann das Datenverarbeitungsmodul 124 dazu ausgelegt sein, quantitative Informationen zu verarbeiten, um statistische Informationen bezüglich der Dateneinheiten zu erzeugen, die durch die spezifizierte IoT-Vorrichtung über das definierte Zeitintervall gesendet und/oder empfangen werden. Die statistischen Informationen können sich zum Beispiel auf verwendete Kommunikationsprotokolle, die Protokolle an der Datenverbindungsschicht und/oder Netzwerkschicht beinhalten können, Datenpriorisierungsklassen und andere Charakteristiken wie etwa Länge oder ausgewählte Inhalte der Dateneinheiten beziehen.
-
Die statistischen Informationen können zum Beispiel die Anzahl von Dateneinheiten pro Zeitintervall pro Protokoll oder pro ausgewähltem Satz von Protokollen beinhalten. In einer Ausführungsform können Informationen über Protokolle aus Ethernet-Frames (Dateneinheiten in Datenverbindungs- oder Ethernet-Schicht), die durch die spezifizierte IoT-Vorrichtung gesendet/empfangen werden, von einem EtherType-Wert erhalten werden. Wie in 2 gezeigt, ist EtherType ein Zwei-Achtbitzeichen-Feld in einem Ethernet-Frame 200, dessen Wert angibt, welches Protokoll im Nutzdaten-Feld gekapselt ist (z. B. unter anderem IPv4, IPv6, Routing-Protokolle wie etwa OSPF, ISIS). Die grafische Darstellung der Anzahl von Ethernet-Frames pro Zeitintervall pro EtherType-Wert liefert eine zweckmäßige Technik zum Erzeugen statistischer Informationen über bestimmte Kommunikationsprotokolle, die das Verhalten der spezifizierten IoT-Vorrichtung charakterisieren können.
-
Alternativ oder zusätzlich können die statistischen Informationen die Anzahl von Dateneinheiten pro Zeitintervall pro Datenpriorisierungsklasse beinhalten. Ein Beispiel für eine Datenpriorisierungsklasse ist eine Dienstgüte(QoS - Quality of Service)-Klasse gemäß IEEE 802.1p, die in bestimmten Ethernet-Frame-Formaten eingekapselt sein kann, die ein VLAN-Tag (gemäß IEEE 802.1Q) zwischen der Quell-MAC-Adresse und den EtherType-Feldern beinhaltet, wie in 2 gezeigt. Ein anderes Beispiel für eine Datenpriorisierungsklasse beinhaltet eine DSCP-Markierung (DSCP: Differentiated Services Code Point - Codepunkt für differenzierte Dienste), die in einem Netzwerkschicht-Datenpaket spezifiziert ist.
-
Obwohl nur spezifische Beispiele in Verbindung mit gekapselten Protokollen, Datenpriorisierungsklassen usw. beschrieben wurden, versteht es sich, dass der beschriebene Ansatz bei mehreren anderen Kapselungstechnologien angewendet werden kann, wie etwa unter anderem Ethernet-VPN, VXLAN, MAC-on-MAC.
-
Alternativ oder zusätzlich zu dem Obigen können sich die statistischen Informationen auf Charakteristiken der Dateneinheiten beziehen, die durch die spezifizierte IoT-Vorrichtung gesendet/empfangen werden, wie etwa Dateneinheitslängenverteilung pro Zeitintervall und/oder Statistiken über ausgewählte Inhalte von Nutzdaten der Dateneinheiten (z. B. Datensegment, das einen Teil eines Videostroms enthält, Anwendungsschichtprotokolle wie etwa HTTP, HTTPS usw.) pro Zeitintervall, die die spezifizierte IoT-Vorrichtung unterscheidbar charakterisieren können.
-
Das KI-Modul 126 empfängt als Eingabe die statistischen Informationen vom Datenverarbeitungsmodul 124. Die statistischen Informationen, die vorverarbeitet werden können, bevor sie an das KI-Modul 126 weitergeleitet werden, repräsentieren einen zeitlichen Fingerabdruck des Datenverkehrs der spezifizierten IoT-Vorrichtung 102a. Das KI-Modul 126 setzt ein trainiertes Maschinenlernmodell ein. Das Maschinenlernmodell kann an vorherigen Daten trainiert werden, um Fingerabdrücke des Datenverkehrs zu lernen, die das Verhalten einer großen Anzahl von Vorrichtungstypen/Vorrichtungstypvarianten charakterisieren. In einer Ausführungsform kann das Maschinenlernmodell basierend auf den Trainingsdaten dazu ausgelegt sein, Regeln dafür zu definieren, wie aus dem eingegebenen zeitlichen Fingerabdruck des Datenverkehrs der IoT-Vorrichtung 102a Vorrichtungsidentifikationsinformationen der IoT-Vorrichtung 102a abzuleiten sind. Obwohl das KI-Modul 126 als sich im Netzwerkmanager 120 befindlich gezeigt ist, versteht es sich, dass sich das KI-Modul 126 in anderen Vorrichtungen befinden kann, einschließlich unter anderem des Router-Switch 104. In einigen Ausführungsformen kann das KI-Modul 126 über mehrere Rechenvorrichtungen hinweg verteilt sein.
-
Die durch das KI-Modul 126 abgeleiteten Vorrichtungsidentifikationsinformationen können Informationen über den Vorrichtungstyp beinhalten. Beispielsweise können die Vorrichtungsidentifikationsinformationen spezifizieren, ob die spezifizierte IoT-Vorrichtung 102a ein Sensor, ein Aktor, eine Steuerung, ein Switch, ein Router, ein Server usw. ist. In Abhängigkeit von der Spezifität des zeitlichen Fingerabdrucks des Datenverkehrs der IoT-Vorrichtung 102a können die Vorrichtungsidentifikationsinformationen ferner Informationen über die Vorrichtungstypvariante beinhalten. Beispielsweise können die Vorrichtungsidentifikationsinformationen spezifizieren, ob es sich bei der spezifizierten IoT-Vorrichtung 102a um einen Temperatur- oder einen Drucksensor, einen Dateiserver oder einen Webserver, eine Vorrichtung, die unter Verwendung eines spezifischen IoT-Protokolls (wie etwa PROFINET, GOOSE usw.) kommuniziert, handelt, bzw. die Vorrichtungsversion, das Versionsdatum und so weiter spezifizieren.
-
Die beschriebene Technik kann zum Beispiel mit dem Analysieren der Quell-MAC-Adresse von Dateneinheiten, die von der IoT-Vorrichtung 102a empfangen werden, oder der Ziel-MAC-Adresse von Dateneinheiten, die zu der IoT-Vorrichtung 102a gesendet werden, kombiniert werden, um einen Hersteller der IoT-Vorrichtung 102a basierend auf den ersten 6 Ziffern dieser MAC-Adresse und einem Nachschlagen in einer jeweiligen Tabelle zu identifizieren.
-
In einer spezifischen Ausführungsform der oben beschriebenen Technik kann das Datenverarbeitungsmodul 124 ein grafisches Bild aus den quantitativen Informationen bezüglich Dateneinheiten erzeugen, die durch die spezifizierte IoT-Vorrichtung 102a über ein definiertes Zeitintervall gesendet/empfangen werden. Das grafische Bild ist ein digitales Bild, das typischerweise ein zweidimensionales Bild ist, aber nicht notwendigerweise darauf beschränkt ist. In verschiedenen Ausführungsformen kann das grafische Bild, das den zeitlichen Fingerabdruck des Datenverkehrs der spezifizierten IoT-Vorrichtung 102a repräsentiert, basierend auf statistischen Informationen erzeugt werden, die sich zum Beispiel auf ein oder mehrere der Folgenden beziehen kann: verwendete Protokolle, Datenpriorisierungsklassen, Dateneinheitslängenverteilung, ausgewählte Inhalte der Dateneinheiten und so weiter.
-
3 zeigt ein vereinfachtes Beispiel eines zweidimensionalen Bildes 300, das aus statistischen Informationen bezüglich EtherType-Werten erzeugt wird. Hier werden alle möglichen EtherType-Werte, zunächst für gesendete Datenframes, dann für empfangene Datenframes, entlang der x-Achse 302 grafisch dargestellt. Die Anzahl von Datenframes, die pro Sekunde für den spezifischen EtherType-Wert gesendet/empfangen werden, sind entlang der y-Achse 304 gezeichnet. Das zweidimensionale Bild des resultierenden Histogramms repräsentiert einen zeitlichen Fingerabdruck des Datenverkehrs der spezifizierten IoT-Vorrichtung 102a. Das Bild 300 kann vorverarbeitet und an das KI-Modul 126 weitergeleitet werden. Das KI-Modul 126 klassifiziert das grafische Bild 300, das den zeitlichen Fingerabdruck des Datenverkehrs repräsentiert, in einen vieler gelernter Fingerabdrucktypen des Datenverkehrs, um die Vorrichtungsidentifikationsinformationen der spezifizierten IoT-Vorrichtung 102a abzuleiten. Das grafische Bild 300 ist zeitlich, und es wird erwartet, dass es sich bei unterschiedlichen Zeitintervallen ändert. Die statistischen Parameter werden so gewählt, dass die Charakteristiken des grafischen Bildes weiterhin stark genug sind, um das Verhalten der spezifizierten IoT-Vorrichtung 102a unterscheidbar mit einem gelernten Vorrichtungstyp zu assoziieren (analog zu einer KI-basierten Identifikation einer Katze oder eines Hundes). Für diesen Zweck kann das KI-Modul 126 ein Klassifizierungstyp-Maschinenlernmodell einsetzen, das unter Verwendung künstlicher neuronaler Netzwerke implementiert und unter Verwendung von Maschinenlerntools realisiert wird, die zum Beispiel Open-Source-Software wie etwa TensorFlow oder kommerzielle Tools beinhalten, die durch KI-Beschleunigungshardware erweitert sein können oder nicht.
-
In anderen Ausführungsformen, alternativ oder zusätzlich zu dem Erzeugen statistischer Informationen, können andere Techniken genutzt werden, um quantitative Informationen von den Dateneinheiten zu verarbeiten, die über ein definiertes Zeitintervall gesendet/empfangen werden, um einen zeitlichen Fingerabdruck des Datenverkehrs der spezifizierten IoT-Vorrichtung zu erzeugen. Als ein Beispiel kann das Datenverarbeitungsmodul 124 dazu ausgelegt sein, eine Zeitreihe aus den Dateneinheiten zu erzeugen, die durch die spezifizierte IoT-Vorrichtung 102a über das definierte Zeitintervall gesendet und/oder empfangen werden. Die Zeitreihe kann auf Datenpunkten basieren, die sich zum Beispiel auf verwendete Kommunikationsprotokolle, die Protokolle an der Datenverbindungsschicht und/oder Netzwerkschicht beinhalten können, Datenpriorisierungsklassen und andere Charakteristiken wie etwa Länge oder ausgewählte Inhalte der Dateneinheiten beziehen. Eine Zeitreihe kann verwendet werden, um einen Fingerabdruck des Datenverkehrs basierend auf einem dynamischen Verhalten der spezifizierten IoT-Vorrichtung 102a zu erzeugen (zum Beispiel ein Burst von Datenverkehr eines ersten Typs, gefolgt von einem Burst von Datenverkehr eines zweiten Typs). Dem Maschinenlernmodell im KI-Modul 126 können in der Trainingsphase Daten zugeführt werden, zum Beispiel einschließlich einer großen Anzahl von Figuren (grafischen Bildern) und/oder numerischer Daten, die eine Momentaufnahme des Verhaltens von Vorrichtungen hinsichtlich des Sendens und/oder Empfangens von Datenverkehr im Laufe der Zeit abbilden.
-
Die hierin beschriebene Technik kann zum Beispiel bei der Fehlerbehebung im Netzwerk Anwendung finden. In einer Anwendung kann die beschriebene Technik in Netzwerkwartungs- und -verwaltungstools integriert sein. In einer anderen Anwendung kann die beschriebene Technik als ein Hilfsmittel verwendet werden, wenn ein bestehendes Netzwerk erweitert wird.
-
Die beschriebene Technik realisiert eine Anzahl praktischer Vorteile. Beispielsweise erfordert die beschriebene Technik keine spezifische Kenntnis durch einen Bediener über ein Vorrichtungsidentifikationssystem. Ferner ist nicht erforderlich, dass die Regeln zur korrekten Identifikation manuell entworfen oder durchdacht werden. Das Verwenden von Maschinenlernverfahren vermeidet die Notwendigkeit, komplexe Entscheidungsregeln manuell vorzudefinieren. An der Vorrichtungsseite ist die beschriebene Technik nicht-intrusiv und erfordert keine spezifischen Anpassungen oder Fähigkeiten, wobei die Technik auch für Drittparteivorrichtungen funktionieren kann. Darüber hinaus ist die beschriebene Technik hinsichtlich dessen flexibel, welche Kommunikationseigenschaften betrachtet werden, wie viele Parameter verwendet werden, usw., und könnte auch mit Nichtkommunikationsparametern und/oder -eigenschaften kombiniert werden.
-
4 veranschaulicht ein computerimplementiertes Verfahren 400 zum Erhalten von Vorrichtungsinformationen gemäß einem Aspekt der vorliegenden Offenbarung. Das Verfahren kann durch eine Rechenvorrichtung ausgeführt werden, wie etwa unter anderem den Netzwerkmanager 120, den Router-Switch 104, oder kann über mehrere Rechenvorrichtungen ausgeführt werden. In einer Ausführungsform kann das Verfahren 400 als ein Cloud-Dienst ausgeführt werden. Es wird nicht beabsichtigt, dass 4 angibt, dass die Operationsblöcke des Verfahrens 400 in irgendeiner bestimmten Reihenfolge ausgeführt werden sollen oder dass alle der Blöcke des Verfahrens 400 in jedem Fall enthalten sein sollen. Zusätzlich kann das Verfahren 400 eine beliebige geeignete Anzahl zusätzlicher Operationen beinhalten.
-
Block 402 des Verfahrens 400 beinhaltet Empfangen einer Sammlung von Dateneinheiten, die durch eine spezifizierte IoT-Vorrichtung aus mehreren mit einem Netzwerk verbundenen IoT-Vorrichtungen gesendet und/oder empfangen werden. In einer Ausführungsform kann Block 402 Empfangen der Dateneinheiten, die durch die spezifizierte IoT-Vorrichtung gesendet und/oder empfangen werden, von einem Datenverkehrssammelpunkt über Spiegeln des Datenverkehrs beinhalten. Wie oben beschrieben, kann der Datenverkehrssammelpunkt zum Beispiel die spezifizierte IoT-Vorrichtung selbst oder ein Knoten des Netzwerks, über den Dateneinheiten laufen, die zu oder von der spezifizierten IoT-Vorrichtung kommuniziert werden, oder ein Anschluss einer Netzwerkkomponente, die mit der spezifizierten IoT-Vorrichtung verknüpft ist, sein.
-
Block 404 des Verfahrens 400 beinhaltet Verarbeiten quantitativer Informationen bezüglich der Dateneinheiten, die über ein definiertes Zeitintervall gesammelt werden, um einen zeitlichen Fingerabdruck des Datenverkehrs der spezifizierten IoT-Vorrichtung zu erzeugen. Wie oben beschrieben, kann das Verarbeiten der quantitativen Informationen zum Beispiel Erzeugen statistischer Informationen bezüglich der Dateneinheiten, die über das definierte Zeitintervall gesammelt werden, umfassen. Die statistischen Informationen können eines oder mehrere von Folgendem umfassen: Anzahl von Dateneinheiten pro Zeitintervall pro Protokoll oder pro ausgewähltem Satz von Protokollen, Anzahl von Dateneinheiten pro Zeitintervall pro Datenpriorisierungsklasse, Dateneinheitslängenverteilung pro Zeitintervall und Statistiken über ausgewählte Inhalte von Nutzdaten der Dateneinheiten pro Zeitintervall. Alternativ oder zusätzlich zu dem Erzeugen statistischer Informationen können andere Techniken (z. B. Erzeugen einer Zeitreihe) genutzt werden, um quantitative Informationen von den Dateneinheiten zu verarbeiten, die über ein definiertes Zeitintervall gesammelt werden, um einen zeitlichen Fingerabdruck des Datenverkehrs der spezifizierten IoT-Vorrichtung zu erzeugen. In einer Ausführungsform kann der Block 404 Erzeugen eines grafischen Bildes aus den quantitativen Informationen beinhalten, wobei das grafische Bild den zeitlichen Fingerabdruck des Datenverkehrs der spezifizierten IoT-Vorrichtung repräsentiert.
-
Block 406 des Verfahrens 400 beinhaltet Ableiten von Vorrichtungsidentifikationsinformationen der spezifizierten IoT-Vorrichtung unter Verwendung eines Maschinenlernmodells basierend auf dem zeitlichen Fingerabdruck des Datenverkehrs der spezifizierten IoT-Vorrichtung. Das Maschinenlernmodell kann an vorherigen Daten trainiert werden, um Regeln dafür zu definieren, wie Vorrichtungsidentifikationsinformationen aus dem zeitlichen Fingerabdruck des Datenverkehrs der spezifizierten IoT-Vorrichtung abzuleiten sind. In einer Ausführungsform kann der Block 406 Klassifizieren eines grafischen Bildes, das den zeitlichen Fingerabdruck des Datenverkehrs repräsentiert, in einen mehrerer gelernter Fingerabdrucktypen des Datenverkehrs unter Verwendung des Maschinenlernmodells beinhalten, um die Vorrichtungsidentifikationsinformationen der spezifizierten IoT-Vorrichtung abzuleiten.
-
5 veranschaulicht eine beispielhafte Rechenumgebung 500, die ein Computersystem 502 umfasst, und innerhalb der Aspekte der vorliegenden Offenbarung implementiert werden können. Das Rechensystem 502 kann zum Beispiel als ein Netzwerkmanager 120 konfiguriert sein, wie in 1 veranschaulicht. Computer und Rechenumgebungen, wie etwa das Computersystem 502 und die Rechenumgebung 500, sind Fachleuten auf dem Gebiet bekannt und werden somit hier nur kurz beschrieben. Es sollte angemerkt werden, dass, wenn Ausführungsformen der vorliegenden Offenbarung in einer Cloud-Umgebung implementiert werden, einige der in der beispielhaften Rechenumgebung 500 enthaltenen Elemente (z. B. Tastatur 536) möglicherweise nicht anwendbar sind.
-
Wie in 5 gezeigt, kann das Computersystem 502 einen Kommunikationsmechanismus wie etwa einen Systembus 504 oder einen anderen Kommunikationsmechanismus zum Kommunizieren von Informationen innerhalb des Computersystems 502 beinhalten. Das Computersystem 502 beinhaltet ferner einen oder mehrere Prozessoren 506, die mit dem Systembus 504 gekoppelt ist, zum Verarbeiten der Informationen. Die Prozessoren 506 können eine oder mehrere Zentralverarbeitungseinheiten (CPUs), Grafikverarbeitungseinheiten (GPUs) oder einen beliebigen anderen in der Technik bekannten Prozessor beinhalten.
-
Das Computersystem 502 beinhaltet auch einen Systemspeicher 508, der mit dem Systembus 504 gekoppelt ist, zum Speichern von Informationen und Anweisungen, die durch die Prozessoren 506 ausgeführt werden sollen. Der Systemspeicher 508 kann computerlesbare Speicherungsmedien in Form eines flüchtigen und/oder nichtflüchtigen Speichers beinhalten, wie etwa Nurlesespeicher (ROM) 510 und/oder Direktzugriffsspeicher (RAM) 512. Der Systemspeicher-RAM 512 kann andere dynamische Speicherungsvorrichtung(en) beinhalten (z. B. dynamischen RAM, statischen RAM und synchronen RAM). Der Systemspeicher-ROM 510 kann andere statische Speicherungsvorrichtung(en) beinhalten (z. B. programmierbaren ROM, löschbaren ROM und elektrisch löschbaren ROM). Zusätzlich kann der Systemspeicher 508 zum Speichern temporärer Variablen oder anderer Zwischeninformationen während der Ausführung von Anweisungen durch die Prozessoren 506 verwendet werden. Ein BIOS 514 (Basis Input/Output System), das die grundlegenden Routinen enthält, die dabei helfen, Informationen zwischen Elementen innerhalb des Computersystems 502, wie etwa während des Starts, zu transferieren, kann im Systemspeicher-ROM 510 gespeichert sein. Der Systemspeicher-RAM 512 kann Daten und/oder Programmmodule enthalten, die für die Prozessoren 506 unmittelbar zugänglich sind und/oder derzeit von diesen bearbeitet werden. Der Systemspeicher 508 kann zusätzlich zum Beispiel ein Betriebssystem 516, Anwendungsprogramme 518, andere Programmmodule 520 und Programmdaten 522 beinhalten.
-
Das Computersystem 502 beinhaltet auch eine Plattensteuerung 524, die mit dem Systembus 504 gekoppelt ist, um eine oder mehrere Speicherungsvorrichtungen zum Speichern von Informationen und Anweisungen zu steuern, wie etwa eine magnetische Festplatte 526 und ein entfernbares Medienlaufwerk 528 (z. B. Diskettenlaufwerk, Compact-Disc-Laufwerk, Bandlaufwerk und/oder Solid-State-Laufwerk). Die Speicherungsvorrichtungen können dem Computersystem 502 unter Verwendung einer geeigneten Vorrichtungsschnittstelle hinzugefügt werden (z. B. SCSI (Small Computer System Interface), IDE (Integrated Device Electronics), USB (Universal Serial Bus) oder FireWire).
-
Das Computersystem 502 kann auch eine Anzeigesteuerung 530 beinhalten, die mit dem Systembus 504 gekoppelt ist, um eine Anzeige 532, wie etwa unter anderem eine Kathodenstrahlröhre (CRT) oder Flüssigkristallanzeige (LCD), zum Anzeigen von Informationen für einen Computerbenutzer zu steuern. Das Computersystem 502 beinhaltet eine Benutzereingabeschnittstelle 534 und eine oder mehrere Eingabevorrichtungen, wie etwa eine Tastatur 536 und eine Zeigevorrichtung 538, zum Interagieren mit einem Computerbenutzer und Bereitstellen von Informationen an den einen oder die mehreren Prozessoren 506. Die Zeigevorrichtung 538 kann zum Beispiel eine Maus, ein Lichtgriffel, ein Trackball oder ein Trackpoint zum Kommunizieren von Richtungsinformationen und Befehlsauswahlen an den einen oder die mehreren Prozessoren 506 und zum Steuern der Cursorbewegung auf der Anzeige 532 sein. Die Anzeige 532 kann eine Touchscreen-Schnittstelle bereitstellen, die eine Eingabe zum Ergänzen oder Ersetzen der Kommunikation von Richtungsinformationen und Befehlsauswahlen durch die Zeigevorrichtung 538 ermöglicht.
-
Das Computersystem 502 kann einen Teil oder alle der Verarbeitungsschritte von Ausführungsformen der Offenbarung als Reaktion darauf durchführen, dass der eine oder die mehreren Prozessoren 506 eine oder mehrere Sequenzen mit einer oder mehreren Anweisungen ausführen, die in einem Speicher, wie etwa dem Systemspeicher 508, enthalten sind. Solche Anweisungen können von einem anderen computerlesbaren Speicherungsmedium, wie etwa einer magnetischen Festplatte 526 oder einem entfernbaren Medienlaufwerk 528, in den Systemspeicher 508 gelesen werden. Die magnetische Festplatte 526 kann einen oder mehrere Datenspeicher und Datendateien enthalten, die durch Ausführungsformen der vorliegenden Offenbarung verwendet werden. Datenspeicherinhalte und Datendateien können verschlüsselt sein, um die Sicherheit zu verbessern. Die Prozessoren 506 können auch in einer Mehrfachverarbeitungsanordnung eingesetzt werden, um die eine oder die mehreren Sequenzen von Anweisungen auszuführen, die im Systemspeicher 508 enthalten sind. In alternativen Ausführungsformen kann eine festverdrahtete Schaltungsanordnung anstelle von oder in Kombination mit Softwareanweisungen verwendet werden. Somit sind Ausführungsformen nicht auf irgendeine spezifische Kombination von Hardwareschaltungsanordnung und Software beschränkt.
-
Das Computersystem 502 kann mindestens ein computerlesbares Speicherungsmedium oder einen Speicher zum Halten von Anweisungen, die gemäß Ausführungsformen der Offenbarung programmiert sind, und zum Enthalten von Datenstrukturen, Tabellen, Datensätzen oder anderen hierin beschriebenen Daten beinhalten. Der Begriff „computerlesbares Speicherungsmedium“, wie hierin verwendet, bezieht sich auf ein beliebiges Medium, das bei der Bereitstellung von Anweisungen an den einen oder die mehreren Prozessoren 506 zur Ausführung teilnimmt. Ein computerlesbares Speicherungsmedium kann viele Formen annehmen, einschließlich unter anderem nichttransitorische, nichtflüchtige Medien, flüchtige Medien und Übertragungsmedien. Nicht beschränkende Beispiele für nichtflüchtige Medien beinhalten optische Platten, Solid-State-Laufwerke, Magnetplatten und magnetooptische Platten, wie etwa die magnetische Festplatte 526, oder das entfernbare Medienlaufwerk 528. Nicht beschränkende Beispiele für flüchtige Medien beinhalten dynamischen Speicher, wie etwa den Systemspeicher 508. Nicht beschränkende Beispiele für Übertragungsmedien beinhalten Koaxialkabel, Kupferdraht und Faseroptik, einschließlich der Drähte, die den Systembus 504 ausmachen. Übertragungsmedien können auch die Form von Akustik- oder Lichtwellen annehmen, wie etwa jene, die während Funkwellen- und Infrarot-Datenkommunikationen erzeugt werden.
-
Die Rechenumgebung 500 kann ferner das Computersystem 502 beinhalten, das in einer vernetzten Umgebung unter Verwendung logischer Verbindungen mit einem oder mehreren Ferncomputern, wie etwa einer entfernten Rechenvorrichtung 544, arbeitet. Die entfernte Rechenvorrichtung 544 kann ein Personal Computer (Laptop oder Desktop), eine mobile Vorrichtung, ein Server, ein Router, ein Netzwerk-PC, eine Peer-Vorrichtung oder ein anderer gewöhnlicher Netzwerkknoten sein und beinhaltet typischerweise viele oder alle der Elemente, die oben bezüglich des Computersystems 502 beschrieben sind. Wenn in einer Networking-Umgebung verwendet, kann das Computersystem 502 ein Modem 542 zum Herstellen von Kommunikationen über ein Netzwerk 540, wie etwa das Internet, beinhalten. Das Modem 542 kann über eine Netzwerkschnittstelle 546 oder über einen anderen geeigneten Mechanismus mit dem Systembus 504 verbunden sein.
-
Das Netzwerk 540 kann ein beliebiges in der Technik bekanntes Netzwerk oder System sein, einschließlich des Internets, eines Intranets, eines Lokalnetzwerks (LAN), eines Weitbereichsnetzwerks (WAN), eines städtischen Netzwerks (MAN), einer direkten Verbindung oder Reihe von Verbindungen, eines zellularen Telefonnetzes oder eines beliebigen anderen Netzwerks oder Mediums, das in der Lage ist, eine Kommunikation zwischen dem Computersystem 502 und anderen Computern (z. B. der entfernten Rechenvorrichtung 544) zu ermöglichen. Das Netzwerk 540 kann drahtgebunden, drahtlos oder eine Kombination davon sein. Drahtgebundene Verbindungen können unter Verwendung von Ethernet, USB (Universal Serial Bus), RJ-6 oder einer beliebigen anderen, in der Technik allgemein bekannten drahtgebundenen Verbindung implementiert werden. Drahtlose Verbindungen können unter Verwendung von WiFi, WiMAX und Bluetooth, Infrarot, zellularen Netzwerken, Satelliten oder eine beliebige andere, in der Technik allgemein bekannte drahtlose Verbindungsmethodik implementiert werden. Zusätzlich können mehrere Netzwerke alleine oder in Kommunikation miteinander arbeiten, um eine Kommunikation im Netzwerk 540 zu ermöglichen.
-
Die Ausführungsformen der vorliegenden Offenbarung können mit einer beliebigen Kombination von Hardware und Software implementiert werden. Zusätzlich können die Ausführungsformen der vorliegenden Offenbarung in einem Herstellungsartikel (z. B. einem oder mehreren Computerprogrammprodukten) mit zum Beispiel einem nichttransitorischen computerlesbaren Speicherungsmedium enthalten sein. In dem computerlesbaren Speicherungsmedium sind beispielsweise computerausführbare Programmanweisungen zum Bereitstellen und Ermöglichen der Mechanismen der Ausführungsformen der vorliegenden Offenbarung umgesetzt. Der Herstellungsartikel kann als Teil eines Computersystems eingeschlossen sein oder separat verkauft werden.
-
Das computerlesbare Speicherungsmedium kann eine greifbare Vorrichtung beinhalten, die Anweisungen zur Verwendung durch eine Anweisungsausführungsvorrichtung halten und speichern kann. Das computerlesbare Speicherungsmedium kann zum Beispiel eine elektronische Speicherungsvorrichtung, eine magnetische Speicherungsvorrichtung, eine optische Speicherungsvorrichtung, eine elektromagnetische Speicherungsvorrichtung, eine Halbleiterspeicherungsvorrichtung oder eine beliebige geeignete Kombination des Vorstehenden sein, ist aber nicht darauf beschränkt. Hierin beschriebene computerlesbare Programmanweisungen können von einem computerlesbaren Speicherungsmedium zu jeweiligen Rechen-/Verarbeitungsvorrichtungen oder über ein Netzwerk, zum Beispiel das Internet, ein Lokalnetzwerk, ein Weitbereichsnetzwerk und/oder ein drahtloses Netzwerk, zu einem externen Computer oder einer externen Speicherungsvorrichtung heruntergeladen werden.
-
Während verschiedene Aspekte und Ausführungsformen hierin offenbart wurden, werden Fachleuten auf dem Gebiet andere Aspekte und Ausführungsformen ersichtlich werden. Die verschiedenen hierin offenbarten Aspekte und Ausführungsformen dienen der Veranschaulichung und sollen nicht beschränkend sein, wobei der wahre Schutzumfang und Gedanke durch die folgenden Ansprüche angegeben wird.