DE102021109179B4 - Verfahren und system zur verbesserten befehlsverwaltung in einem netzwerk - Google Patents

Verfahren und system zur verbesserten befehlsverwaltung in einem netzwerk Download PDF

Info

Publication number
DE102021109179B4
DE102021109179B4 DE102021109179.9A DE102021109179A DE102021109179B4 DE 102021109179 B4 DE102021109179 B4 DE 102021109179B4 DE 102021109179 A DE102021109179 A DE 102021109179A DE 102021109179 B4 DE102021109179 B4 DE 102021109179B4
Authority
DE
Germany
Prior art keywords
commands
switch
user group
expression
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102021109179.9A
Other languages
English (en)
Other versions
DE102021109179A1 (de
Inventor
Shaun Wackerly
Shaun Wakumoto
Sagar Bhanagay
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Enterprise Development LP
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Enterprise Development LP filed Critical Hewlett Packard Enterprise Development LP
Publication of DE102021109179A1 publication Critical patent/DE102021109179A1/de
Application granted granted Critical
Publication of DE102021109179B4 publication Critical patent/DE102021109179B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/28Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L41/0253Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using browsers or web-pages for accessing management information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

Verfahren zur Erleichterung eines erweiterten Berechtigungsmanagementsystems, das Folgendes umfasst:Erhalten eines kodierten Ausdrucks (120), der einer Benutzergruppe (150) eines Netzwerks (100) zugeordnet ist, wobei der kodierte Ausdruck einen Satz von kodierten Befehlen darstellt;Auswerten des kodierten Ausdrucks für einen ersten Switch (102) im Netzwerk, um einen ersten Satz von Befehlen (122) zu bestimmen, die die Benutzergruppe auf dem ersten Switch ausführen darf;Bestimmen der Gültigkeit des ersten Satzes von Befehlen für die Benutzergruppe durch Bestimmen, ob es einem jeweiligen Benutzer aus der Benutzergruppe erlaubt sein sollte, den ersten Satz von Befehlen auf dem ersten Switch auszuführen; undals Reaktion auf die Identifizierung eines Problems mit der Gültigkeit des ersten Satzes von Befehlen, Erzeugen einer Benachrichtigung, die das Problem anzeigt;Erhalten eines zweiten Satzes von Befehlen, die zuvor von der Benutzergruppe auf dem ersten Switch erteilt wurden; undVergleichen des ersten und zweiten Satzes von Befehlen, um das Vorhandensein von Inkonsistenzen festzustellen; wobei die Inkonsistenz eines oder mehrere der folgenden Merkmale anzeigt:ob ein zuvor erteilter Befehl der Benutzergruppe im ersten Satz von Befehlen fehlt; undob ein Befehl, der nicht von der Benutzergruppe erteilt wurde, im ersten Satz von Befehlen enthalten ist; undin Antwort auf eine Bestimmung des Vorhandenseins von Inkonsistenzen, Benachrichtigung über eine mögliche Fehlkonfiguration.

Description

  • HINTERGRUND
  • Die vorliegende Offenbarung bezieht sich auf Kommunikationsnetze. Genauer gesagt, bezieht sich die vorliegende Offenbarung auf ein Verfahren und ein System zur Erleichterung einer verbesserten Befehlsverwaltung für die Switches in einem Netzwerk.
  • Die US 2019/0007418 A1 zielt auf die Überwachung von Anweisungen eines Rechensystems.
  • Die US 7,376,719 B1 bezieht sich auf Computernetzwerke und insbesondere auf das Konfigurieren von Vorrichtungen innerhalb der Computernetzwerke.
  • KURZBESCHREIBUNG DER FIGUREN
    • 1 zeigt ein beispielhaftes Ausdrucksauswertungssystem, das eine verbesserte Befehlsverwaltung für die Switches in einem Netzwerk ermöglicht, gemäß einer Ausführungsform der vorliegenden Anmeldung.
    • 2A zeigt ein beispielhaftes Validierungsverfahren eines Ausdrucksauswertungssystems gemäß einer Ausführungsform der vorliegenden Anmeldung.
    • 2B zeigt einen beispielhaften historischen Analyseprozess eines Ausdrucksauswertungssystems gemäß einer Ausführungsform der vorliegenden Anmeldung.
    • 2C zeigt ein beispielhaftes Verfahren zur Erkennung von Ausreißern in einem Ausdrucksauswertungssystem gemäß einer Ausführungsform der vorliegenden Anmeldung.
    • 2D zeigt einen beispielhaften Richtlinienvalidierungsprozess eines Ausdrucksauswertungssystems in Übereinstimmung mit einer Ausführungsform der vorliegenden Anmeldung.
    • 3A zeigt eine beispielhafte Benutzerschnittstelle eines Ausdrucksauswertungssystems, die einen kodierten Ausdruck erzeugt, in Übereinstimmung mit einer Ausführungsform der vorliegenden Anmeldung.
    • 3B zeigt eine beispielhafte Benutzerschnittstelle eines Ausdrucksauswertungssystems, die einen kodierten Ausdruck zur Überprüfung darstellt, in Übereinstimmung mit einer Ausführungsform der vorliegenden Anmeldung.
    • 4A zeigt ein Flussdiagramm, das den Prozess eines Ausdrucksauswertungssystems veranschaulicht, das einen kodierten Ausdruck auswertet, gemäß einer Ausführungsform der vorliegenden Anmeldung.
    • 4B zeigt ein Flussdiagramm, das den Prozess eines Ausdrucksauswertungssystems veranschaulicht, das einen kodierten Ausdruck validiert, in Übereinstimmung mit einer Ausführungsform der vorliegenden Anmeldung.
    • 5 zeigt ein Flussdiagramm, das den Prozess eines Ausdrucksauswertungssystems veranschaulicht, das einen kodierten Ausdruck unter Verwendung einer Benutzerschnittstelle erzeugt, gemäß einer Ausführungsform der vorliegenden Anmeldung.
    • 6 zeigt ein beispielhaftes Computersystem, das ein Ausdrucksauswertungssystem erleichtert, gemäß einer Ausführungsform der vorliegenden Anmeldung.
    • 7 zeigt eine beispielhafte Vorrichtung, die ein Ausdrucksauswertungssystem erleichtert, in Übereinstimmung mit einer Ausführungsform der vorliegenden Anmeldung.
  • In den Abbildungen beziehen sich gleiche Ziffern auf die gleichen Elemente der Abbildung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende Beschreibung soll den Fachmann in die Lage versetzen, die Erfindung herzustellen und zu verwenden, und wird im Zusammenhang mit einer bestimmten Anwendung und deren Anforderungen gegeben. Verschiedene Modifikationen der offenbarten Ausführungsformen werden für den Fachmann leicht ersichtlich sein, und die hierin definierten allgemeinen Grundsätze können auf andere Ausführungsformen und -Anwendungen angewendet werden, ohne vom Geist und Umfang der vorliegenden Erfindung abzuweichen. Daher ist die vorliegende Erfindung nicht auf die gezeigten Ausführungsformen beschränkt, sondern hat den weitestgehenden Anwendungsbereich, der mit den Ansprüchen vereinbar ist. Die Erfindung wird durch die unabhängigen Ansprüche definiert; bevorzugte Ausführungsformen der Erfindung sind Gegenstand der abhängigen Ansprüche.
  • Übersicht
  • Das Internet ist das Übertragungsmedium für eine Vielzahl von Anwendungen, die auf physischen und virtuellen Geräten laufen. Diese Anwendungen haben eine steigende Nachfrage nach Bandbreite mit sich gebracht. Infolgedessen wetteifern die Gerätehersteller darum, größere Switches mit einer beträchtlichen Anzahl von Funktionen zu bauen. Die Verarbeitungskapazität eines Switches reicht jedoch möglicherweise nicht aus, um mit den komplexen Systemen, die auf solchen Switches laufen, Schritt zu halten. Beispielsweise kann ein Satz von Befehlen für einen bestimmten Benutzer einer Benutzergruppe konfiguriert werden, die einem oder mehreren Switches in einem Netzwerk zugeordnet ist. Jede Klasse von Switches kann jedoch unterschiedliche Fähigkeiten und Konfigurationen haben. Infolgedessen muss ein Administrator den Befehlssatz für jede Benutzergruppe und jede Switch-Klasse einzeln konfigurieren.
  • Insbesondere kann ein Switch die rollenbasierte Zugriffskontrolle (RBAC) erleichtern, mit der die Zugriffsebene für jeden Befehl für die Benutzer einer bestimmten Benutzergruppe definiert werden kann. Beispielsweise kann ein Administrator eines Netzwerks eine oder mehrere Benutzergruppen auf der Grundlage der Anforderungen des Netzwerks definieren. Jede Benutzergruppe kann mit einer Reihe von Befehlen verknüpft werden. Einem jeweiligen Benutzer der Benutzergruppe wird die Ausführung des Befehlssatzes auf einem Switch im Netzwerk erlaubt oder verweigert. Mit anderen Worten, wenn ein Befehl eine Übereinstimmung im Befehlssatz findet, wird allen Benutzern in dieser Benutzergruppe die Verwendung des Befehls entweder erlaubt oder verweigert. In der Regel wird standardmäßig der Zugriff auf alle Befehle verweigert, die nicht mit einem Befehl des Befehlssatzes übereinstimmen.
  • Eine Ausführungsform der vorliegenden Erfindung stellt ein Ausdrucksauswertungssystem bereit. Während des Betriebs kann das System einen kodierten Ausdruck erhalten, der einer Benutzergruppe eines Netzwerks zugeordnet ist, und den kodierten Ausdruck für einen ersten Switch auswerten, um einen ersten Satz von Befehlen zu bestimmen, den die Benutzergruppe auf dem ersten Switch ausführen darf. Der kodierte Ausdruck kann einen Satz von Befehlen kodieren. Das System kann dann die Gültigkeit des ersten Satzes von Befehlen für die Benutzergruppe bestimmen, indem es feststellt, ob ein entsprechender Benutzer der Benutzergruppe den ersten Satz von Befehlen auf dem ersten Switch ausführen darf. Wenn das System ein Problem mit der Gültigkeit des ersten Befehlssatzes feststellt, kann das System eine Benachrichtigung erzeugen, die das Problem anzeigt.
  • In einer Variante dieser Ausführungsform kann das System den kodierten Ausdruck für einen zweiten Switch im Netzwerk auswerten, um einen zweiten Satz von Befehlen zu bestimmen, den die Benutzergruppe auf dem zweiten Switch ausführen darf. Das System kann dann den ersten und den zweiten Satz von Befehlen vergleichen, um das Vorhandensein von Inkonsistenzen festzustellen.
  • In einer Variante dieser Ausführungsform kann das System einen zweiten Satz von Befehlen erhalten, die zuvor von der Benutzergruppe auf dem ersten Switch ausgegeben wurden, und den ersten und zweiten Befehlssatz vergleichen, um das Vorhandensein von Inkonsistenzen festzustellen.
  • In einer weiteren Variante zeigt die Inkonsistenz eines oder mehrere der folgenden Merkmale an:
    • (i) ob ein zuvor von der Benutzergruppe erteilter Befehl im ersten Satz von Befehlen fehlt, und
    • (ii) ob ein Befehl, der nicht von der Benutzergruppe erteilt wurde, im ersten Satz von Befehlen enthalten ist.
  • In einer Variante dieser Ausführungsform kann das System den kodierten Ausdruck auswerten, indem es eine dem ersten Switch zugeordnete Switch-Grammatik erhält und den ersten Satz von Befehlen bestimmt, indem es Befehle identifiziert, die dem kodierten Ausdruck in der Switch-Grammatik entsprechen. Die Switch-Grammatik kann eine strukturierte Darstellung von Befehlen enthalten, die von dem ersten Switch unterstützt werden.
  • In einer Variante dieser Ausführungsform kann das System eine Benutzerschnittstelle anzeigen, die einen Satz von Befehlen darstellt, die vom ersten Switch unterstützt werden, und eine Auswahl empfangen, die den ersten Satz von Befehlen aus dem Befehlssatz auswählt.
  • In einer weiteren Variante kann der Satz der Befehle in einen Satz von Befehlsgruppen eingeteilt werden. Das System kann dann einen Unterausdruck für eine entsprechende ausgewählte Befehlsgruppe erzeugen und einen oder mehrere erzeugte Unterausdrücke kombinieren, um den kodierten Ausdruck zu erzeugen.
  • In einer Variante dieser Ausführungsform kann das System die Gültigkeit des ersten Satzes von Befehlen bestimmen, indem es den ersten Satz von Befehlen für einen Benutzer auf einer Benutzeroberfläche darstellt und eine Rückmeldung des Benutzers über die Gültigkeit des kodierten Ausdrucks erhält.
  • In einer Variante dieser Ausführungsform kann das System für den ersten Satz von Befehlen einen Ausreißer in der Benutzergruppe auf der Grundlage der von einem jeweiligen Benutzer der Benutzergruppe erteilten Befehle bestimmen.
  • In einer Variante dieser Ausführungsform kann das System feststellen, ob der erste Befehlssatz mit einer Richtlinie übereinstimmt, die angibt, ob die Benutzergruppe den ersten Befehlssatz auf dem ersten Switch ausführen darf.
  • Die hier beschriebenen Ausführungsformen lösen das Problem der Validierung eines kodierten Ausdrucks, der einen Satz von Befehlen kodieren kann, die auf einem Switch ausgeführt werden können, indem (i) der kodierte Ausdruck, der den Satz von Befehlen aus dem kodierten Ausdruck abruft, für verschiedene Switch-Typen in einem Netzwerk ausgewertet wird, und (ii) die Gültigkeit für den kodierten Ausdruck für einen jeweiligen Switch-Typ bestimmt wird. Auf diese Weise kann jede Benutzergruppe des Netzwerks mit einem Satz von Befehlen konfiguriert werden, der unter den Switches des Netzwerks konsistent ist und mit historischen Daten übereinstimmen kann, bei denen es sich um die Befehle handeln kann, die zuvor von den Benutzern der Benutzergruppe erteilt wurden.
  • Mit bestehenden Technologien kann ein Administrator eine Reihe von Befehlen konfigurieren, die die Benutzer einer Benutzergruppe eines Netzwerks ausführen dürfen. Eine entsprechende Benutzergruppe kann einen oder mehrere Benutzer umfassen, die denselben Satz von Berechtigungen haben. Der Administrator kann die rollenbasierte Zugriffskontrolle (RBAC) verwenden, um den Satz von Befehlen zu konfigurieren. RBAC erleichtert die Kontrolle der Benutzer auf Befehlsebene, die festlegt, welche spezifischen Befehle ein Benutzer verwenden darf. Da die Anzahl der Befehle im Satz sehr groß sein kann, kann der Administrator mit RBAC eine Form der Kodierung (z. B. reguläre Ausdrücke) verwenden, um den Satz der Befehle genau zu identifizieren und so einen kodierten Ausdruck zu erzeugen. Allerdings kann es schwierig sein, den kodierten Ausdruck auf Konsistenz mit anderen Switches, historischen Daten und Änderungen zu überprüfen.
  • Um dieses Problem zu lösen, kann ein erweitertes Befehlsverwaltungssystem (ECM) einen entsprechenden kodierten Ausdruck für jede Art von Switches im Netzwerk auswerten. Um die Auswertung zu erleichtern, kann das System eine strukturierte Darstellung der von einem bestimmten Switch unterstützten Befehle und Konfigurationen pflegen. In einigen Ausführungsformen kann die strukturierte Darstellung auf der Switch-Grammatik basieren, die die Struktur der Befehle und Konfigurationen eines Switches definiert. Die Befehle können zum Beispiel in einem Grammatikbaum dargestellt werden. Ein Basis- oder Stammbefehl (z. B. „show“) kann ein übergeordneter Knoten des Baums sein, und die Varianten des Befehls (z. B. „show V”) können die Unterknoten des Knotens im Baum sein. Verschiedene Switch-Typen im Netzwerk können unterschiedliche Switch-Grammatiken haben. Ein Switch-Typ kann einer Switch-Klasse oder - Serie eines Switch-Anbieters oder einer Bereitstellungsschicht (z. B. einem Core- oder Edge-Switch) entsprechen. So kann die Switch-Grammatik eines Core-Switches beispielsweise keine Befehle für die Interaktion mit Client-Geräten enthalten.
  • Das System kann eine Benutzerschnittstelle bereitstellen, die es einem Administrator ermöglicht, einen kodierten Ausdruck für eine Benutzergruppe des Netzwerks zu definieren. Beispiele für die Benutzerschnittstelle können unter anderem eine Befehlszeilenschnittstelle (CLI), eine grafische Benutzerschnittstelle (GUI), eine Webschnittstelle, eine Berührungsschnittstelle, eine Bewegungsschnittstelle und eine Schnittstelle für virtuelle oder erweiterte Realität sein. Das System kann dann den kodierten Ausdruck auf der Grundlage der mit dem Switch verbundenen strukturierten Darstellung auswerten (oder dekodieren). Die Auswertung kann die Bestimmung einer Reihe von Befehlen umfassen, die dem kodierten Ausdruck entsprechen. Wenn der kodierte Ausdruck beispielsweise den regulären Ausdruck „show *“ enthält, kann der entsprechende Satz von Befehlen eine entsprechende Variante des Befehls „show“ enthalten. Der Satz der Befehle kann durch eine Datenstruktur, z. B. einen Baum, dargestellt werden.
  • Bei der Auswertung des kodierten Ausdrucks auf der Grundlage der strukturierten Darstellung, die dem Switch zugeordnet ist, kann das System den kodierten Ausdruck auf Konsistenz überprüfen. Enthält das Netzwerk beispielsweise einen anderen Switch-Typ (z. B. andere Klassen oder andere Hierarchien), kann das System den kodierten Ausdruck auch für den anderen Switch-Typ auf der Grundlage der zugehörigen strukturierten Darstellung auswerten. Das System kann dann die beiden Befehlssätze vergleichen, um sicherzustellen, dass für die Benutzergruppe in jeder Art von Switch die gleichen Berechtigungen konfiguriert sind. Eine entsprechende Berechtigung kann festlegen, was die Benutzer der Benutzergruppe auf einem Switch tun können und was nicht. Auch wenn verschiedene Arten von Switches unterschiedliche Befehle unterstützen, kann mit den gleichen Berechtigungen sichergestellt werden, dass die Ergebnisse der Befehle gleich sind. Wenn ein Administrator einen neuen kodierten Ausdruck für die Benutzergruppe ausgibt, kann das System den kodierten Ausdruck auswerten, um festzustellen, ob die zugrundeliegenden kodierten Befehle mit den früheren Befehlen dieser Benutzergruppe übereinstimmen.
  • Das System kann auch die Befehle überwachen, die von den Benutzern der Benutzergruppe erteilt werden. Das System kann die erteilten Befehle mit den zugrunde liegenden Befehlen eines kodierten Ausdrucks vergleichen, um Ausreißer in der Benutzergruppe zu identifizieren. Ein Ausreißer in einer Benutzergruppe kann ein Benutzer sein, dessen erteilte Befehle sich signifikant von den Befehlen unterscheiden, die von den übrigen Benutzern der Benutzergruppe erteilt werden. In einigen Ausführungsformen kann das System einen Satz von Richtlinien erhalten, der angibt, welcher Benutzer welche Befehle ausführen darf. Wenn der Administrator einen neuen kodierten Ausdruck für die Benutzergruppe ausgibt, kann das System den kodierten Ausdruck auswerten, um festzustellen, ob die zugrunde liegenden Befehle mit den Richtlinien übereinstimmen. Auf diese Weise kann das System sicherstellen, dass ein einer Benutzergruppe zugewiesener Befehl von den Benutzern der Benutzergruppe einheitlich verwendet wird und allen Benutzern der Benutzergruppe zugewiesen werden darf. Auf diese Weise kann das System die Komplexität der Verwaltung der kodierten Befehle verringern, ohne die Vorteile der Kodierung zu schmälern.
  • In dieser Offenbarung wird der Begriff „Switch“ in einem allgemeinen Sinne verwendet und kann sich auf jeden eigenständigen oder Fabric-Switch beziehen, der in einer beliebigen Netzwerkschicht arbeitet. Der Begriff „Switch“ ist nicht so zu verstehen, dass die Ausführungsformen der vorliegenden Erfindung auf Netzwerke der Schicht 2 beschränkt sind. Jedes Gerät, das Datenverkehr an ein externes Gerät oder einen anderen Switch weiterleiten kann, kann als „Switch“ bezeichnet werden. Jedes physische oder virtuelle Gerät (z. B. eine virtuelle Maschine/Switch, die auf einer Rechenvorrichtung arbeitet), das Datenverkehr an ein Endgerät weiterleiten kann, kann als „Switch“ bezeichnet werden. Beispiele für einen „Switch“ sind u. a. ein Schicht-2-Switch, ein Schicht-3-Router, ein Routing-Switch, eine Komponente eines Gen-Z-Netzwerks oder ein Fabric-Switch, der eine Vielzahl ähnlicher oder heterogener kleinerer physischer und/oder virtueller Switches umfasst.
  • Der Begriff „Paket“ bezieht sich auf eine Gruppe von Bits, die zusammen über ein Netzwerk transportiert werden können. Der Begriff „Paket“ ist nicht so zu verstehen, dass Ausführungsformen der vorliegenden Erfindung auf Schicht-3-Netzwerke beschränkt sind. Der Begriff „Paket“ kann durch andere Begriffe ersetzt werden, die sich auf eine Gruppe von Bits beziehen, wie z. B. „Nachricht“, „Rahmen“, „Zelle“, „Datagramm“ oder „Transaktion“. "
  • Netzwerkarchitektur
  • 1 zeigt ein beispielhaftes Ausdrucksauswertungssystem, das eine verbesserte Befehlsverwaltung für die Switches in einem Netzwerk ermöglicht, gemäß einer Ausführungsform der vorliegenden Anmeldung. Wie in 1 dargestellt, umfasst ein Netzwerk 100 die Switches 101, 102, 103, 104 und 105. In einigen Ausführungsformen ist das Netzwerk 100 ein Gen-Z-Netzwerk und ein entsprechender Switch des Netzwerks 100, z. B. Switch 102, ist eine Gen-Z-Komponente. Ein Gen-Z-Netzwerk kann eine speicher-semantische Struktur sein, die für die Kommunikation mit den Geräten in einer Computerumgebung verwendet werden kann. Durch die Vereinheitlichung der Kommunikationswege und die Vereinfachung der Software durch eine einfache Speichersemantik können Gen-Z-Komponenten Hochleistungslösungen für komplexe Systeme ermöglichen. In einem solchen Szenario basiert die Kommunikation zwischen den Switches im Netzwerk 100 auf einer speichersemantischen Struktur. In einigen weiteren Ausführungsformen ist das Netzwerk 100 ein Ethernet- und/oder IP-Netzwerk, und ein entsprechender Switch des Netzwerks 100, z. B. Switch 102, ist ein Ethernet-Switch und/oder IP-Router. In einem solchen Szenario erfolgt die Kommunikation zwischen den Switches im Netzwerk 100 auf der Grundlage von Ethernet und/oder IP.
  • Das Netzwerk 100 kann verschiedene Typen von Switches enthalten. Die Switches 101 und 102 können einen Switch-Typ 152 haben, und die Switches 103, 104 und 105 können einen Switch-Typ 154 haben. Die Switch-Typen können auf einem oder mehreren der folgenden Kriterien beruhen: Hardware-Fähigkeiten, Switch-Merkmale und Einsatztypen. So kann der Switch-Typ 152 beispielsweise Aggregat-Switches und der Switch-Typ 154 Edge-Switches bezeichnen. Ebenso kann der Switch-Typ 152 eine Plattform bezeichnen (z. B. eine Schalterreihe oder Schalterklasse) und der Switch-Typ 154 eine andere Plattform. Mit anderen Worten, ein Switch-Typ entspricht einer oder mehreren der folgenden Eigenschaften: einer Schalterklasse und einer Einsatzhierarchie.
  • Mit bestehenden Technologien kann ein Administrator eine Reihe von Befehlen für eine Benutzergruppe 150 des Netzwerks 100 konfigurieren. Die Benutzergruppe 150 kann einen oder mehrere Benutzer umfassen, die denselben Satz an Berechtigungen haben. Der Administrator kann RBAC verwenden, um den Satz von Befehlen zu definieren. RBAC erleichtert die Kontrolle auf Befehlsebene über die Benutzer der Benutzergruppe 150, um die spezifischen Befehle festzulegen, zu deren Verwendung die Benutzer der Benutzergruppe 150 berechtigt sind. Da die Anzahl der Befehle im Satz groß sein kann, ermöglicht RBAC dem Administrator, reguläre Ausdrücke zu verwenden, um den Satz der Befehle präzise zu identifizieren und so einen kodierten Ausdruck 120 zu erzeugen. Allerdings kann es schwierig sein, den kodierten Ausdruck 120 auf Konsistenz mit anderen Switches im Netzwerk 100, historischen Daten und Änderungen zu überprüfen.
  • Um dieses Problem zu lösen, kann das Netzwerk 100 von einem erweiterten Befehlsverwaltungssystem 110 verwaltet werden. Das System 110 kann auf einem mit dem Netzwerk 100 gekoppelten Computergerät 130 betrieben werden. Die Rechnereinheit 130 kann ein physisches Gerät (z. B. ein Server) oder ein virtuelles Gerät (z. B. eine virtuelle Maschine) sein. Das System 110 kann den kodierten Ausdruck 150 für jede Art von Switch im Netzwerk 100 auswerten. Zur Erleichterung des Auswertungsvorgangs kann das System 110 eine strukturierte Darstellung der Befehle und Konfigurationen pflegen, die von einem jeweiligen Switch des Netzwerks 100 unterstützt werden. In einigen Ausführungsformen kann die strukturierte Darstellung auf der Switch-Grammatik basieren, die die Struktur der Befehle und Konfigurationen eines Switches definiert. Die von den Switch-Typen 152 und 154 unterstützten Befehle können auf der Grundlage der Switch-Grammatiken 112 bzw. 114 definiert werden. Wenn z. B. der Switch-Typ 152 Core-Switches bezeichnet, kann die Switch-Grammatik 112 keine Befehle für die Interaktion mit Client-Geräten enthalten.
  • Das System 110 kann eine Benutzeroberfläche 170 bereitstellen, die es einem Administrator ermöglicht, einen kodierten Ausdruck 120 für die Benutzergruppe 150 am Switch 102 zu definieren. Das System 110 kann dann den kodierten Ausdruck 120 auf der Grundlage der mit dem Switch 102 verbundenen Switch-Grammatik 112 auswerten (oder dekodieren). Die Auswertung kann die Bestimmung eines Satzes von Befehlen 122 in der Switch-Grammatik 112 (z. B. in einem dem Switch-Typ 152 zugeordneten Grammatikbaum) umfassen, der dem kodierten Ausdruck entspricht. Wenn beispielsweise der kodierte Ausdruck 120 den regulären Ausdruck „show *“ enthält, kann der entsprechende Satz von Befehlen 122 eine entsprechende Variante des Befehls „show“ enthalten. Das System 110 kann die Befehle 122 in einer Datenstruktur, wie z. B. einem Baum, darstellen.
  • Nach der Auswertung des kodierten Ausdrucks 120 auf der Grundlage der Switch-Grammatik 112 kann das System 110 den kodierten Ausdruck 120 auf Konsistenz überprüfen. Da das Netzwerk 100 einen anderen Switch-Typ (d. h. Switch-Typ 154) enthält, kann das System 110 auch den kodierten Ausdruck 150 für den Switch-Typ 154 auf der Grundlage der Switch-Grammatik 114 auswerten, um den entsprechenden Satz von Befehlen 124 zu erhalten. Das System 110 kann dann die Befehlssätze 122 und 124 vergleichen, um sicherzustellen, dass für die Benutzergruppe 150 in den Switches, die zu den beiden Switch-Typen 152 und 154 gehören, die gleichen Berechtigungen konfiguriert sind. Eine entsprechende Berechtigung kann festlegen, was die Benutzer der Benutzergruppe 150 auf einem Switch tun können und was nicht. Auch wenn die Switch-Typen 152 und 154 unterschiedliche Befehle unterstützen, kann mit den gleichen Berechtigungen sichergestellt werden, dass die Befehle zu den gleichen Ergebnissen führen. Wenn ein Administrator den kodierten Ausdruck 120 für die Benutzergruppe 150 ausgibt, kann das System 110 außerdem den kodierten Ausdruck 120 auswerten, um festzustellen, ob die zugrundeliegenden kodierten Befehle 122 mit den zuvor von der Benutzergruppe 150 ausgegebenen Befehlen übereinstimmen (d. h. mit den Befehlen, die zuvor von den Benutzern der Benutzergruppe 150 an den Switches ausgegeben wurden).
  • Das System 110 kann auch die Befehle überwachen, die von den Benutzern der Benutzergruppe 150 erteilt werden. Das System 110 kann die erteilten Befehle mit den Befehlen 122 vergleichen, um Ausreißer in der Benutzergruppe 150 zu identifizieren. Ein Ausreißer in der Benutzergruppe 150 kann ein Benutzer sein, dessen erteilte Befehle sich erheblich von den Befehlen unterscheiden, die von den übrigen Benutzern der Benutzergruppe 150 erteilt werden. Darüber hinaus kann das System 110 eine Reihe von Richtlinien erhalten, die angeben, welcher Benutzer der Benutzergruppe 150 welche Befehle ausführen darf. Wenn der Administrator einen kodierten Ausdruck 120 für die Benutzergruppe 150 ausgibt, kann das System 110 außerdem den kodierten Ausdruck 120 auswerten, um festzustellen, ob die Befehle 122 den Richtlinien entsprechen. Auf diese Weise kann das System 110 sicherstellen, dass ein entsprechender Befehl in den Befehlen 122, die der Benutzergruppe 150 zugewiesen sind, gleichmäßig auf die Benutzer der Benutzergruppe 150 angewendet wird. Das System 110 kann auch sicherstellen, dass die Befehle 122 allen Benutzern der Benutzergruppe 150 zugewiesen werden können. Auf diese Weise kann das System 110 die Komplexität der Verwaltung von Befehlen reduzieren, die in kodierten Ausdrücken (z. B. unter Verwendung regulärer Ausdrücke) kodiert (oder dargestellt) sind, ohne die Vorteile der Kodierung zu verringern.
  • 2A illustriert einen beispielhaften Validierungsprozess eines Ausdrucksauswertungssystems gemäß einer Ausführungsform der vorliegenden Anmeldung. Wenn der kodierte Ausdruck 120 definiert ist, kann das System 110 den kodierten Ausdruck 120 über mehrere Switch-Typen 152 und 154 hinweg vergleichen. Dieser Vergleich kann es dem System 110 ermöglichen, festzustellen, ob die Benutzergruppe 150 über alle Switches hinweg identisch konfiguriert ist. Zu diesem Zweck kann das System 110 den kodierten Ausdruck 120 auf der Grundlage der in der Switch-Grammatik 112 definierten Befehle auswerten, um die für den Switch-Typ 152 konfigurierten dekodierten Befehle 122 zu ermitteln. Die Befehle 122 können die Befehle 212, 214, 216 und 218 umfassen. Das System 110 kann auch den kodierten Ausdruck 120 auf der Grundlage der in der Switch-Grammatik 114 definierten Befehle auswerten, um die für den Switch-Typ 154 konfigurierten dekodierten Befehle 124 zu bestimmen. Die Befehle 124 können die Befehle 212, 214, 210 und 218 umfassen.
  • Anhand der Auswertung kann das System 210 feststellen, dass die Befehle 216 und 210 für die Benutzergruppe 150 in den Switch-Typen 152 bzw. 154 unterschiedlich sind. Auf diese Weise kann das System 110 bestimmte Befehle, die die Benutzer der Benutzergruppe 150 verwenden dürfen oder nicht, miteinander in Beziehung setzen und die Unterschiede zwischen den Kodierungen im Hinblick auf funktionale Unterschiede bestimmen. Das System 110 kann einem Administrator die Befehle 216 und 210 zur Verfügung stellen, die für die Benutzergruppe 150 widersprüchliche Berechtigungen haben. Das System 110 kann diesen Konflikt in einer Benutzeroberfläche visuell hervorheben (mit gestrichelten Linien gekennzeichnet). In ähnlicher Weise kann das System 110 kodierte Ausdrücke, die für verschiedene Benutzergruppen definiert wurden, vergleichen, indem es die kodierten Ausdrücke über die Switch-Typen 152 und 154 hinweg auswertet. Wenn zum Beispiel zwei Benutzergruppen Benutzern entsprechen, die die gleiche Berechtigungsstufe haben sollten, kann das System 110 die kodierten Ausdrücke für die beiden Benutzergruppen auswerten und vergleichen.
  • Da Befehle, die mit dem kodierten Ausdruck 120 verbunden sind, auf mehrere Arten kodiert werden können, kann das System 110 den kodierten Ausdruck 120 auf der Grundlage jeder der mehreren Arten auswerten (oder dekodieren) und die dekodierten Befehle auf logische oder funktionale Äquivalenz vergleichen. Zum Beispiel können die Befehle [212-218], (212|214|216|218) und (Befehl 2121Befehl 2141Befehl 2161Befehl 218) funktional äquivalent sein. Das System 110 kann dann empfehlen, die logisch oder funktional gleichwertigen Benutzergruppen zu kombinieren. Dies kann zu einer effizienten Befehlsverwaltung führen, da weniger oder weniger komplexe Kodierungen eine geringere Anzahl von Überprüfungen verursachen, wenn ein Benutzer versucht, einen bestimmten Befehl zu verwenden.
  • 2B zeigt einen beispielhaften historischen Analyseprozess eines Ausdrucksauswertungssystems gemäß einer Ausführungsform der vorliegenden Anmeldung. Das System 110 kann Befehle zur Änderung von Konfiguration, Firmware und Topologie im Laufe der Zeit verfolgen und den jeweiligen Benutzer, der eine Änderung vorgenommen hat, aufzeichnen. In einigen Ausführungsformen kann das System 110 (und ein entsprechender Switch) eine Zeitseriendatenbank unterhalten, in der die umcodierten Informationen gespeichert werden. Wenn ein Administrator den kodierten Ausdruck 120 für die Benutzergruppe 150 aktualisiert, kann das System 110 historische Befehle 202 überprüfen, die von der Benutzergruppe 150 ausgegeben wurden. Das System 110 kann dann feststellen, ob ein Befehl in den historischen Befehlen 202 durch den aktualisierten kodierten Ausdruck 120 unzulässig ist und ob der aktualisierte kodierte Ausdruck 120 einem Befehl entspricht, der nicht in den historischen Befehlen 202 enthalten ist. Auf diese Weise kann ein Administrator feststellen, ob sich die Änderung auf die bisherigen Arbeitsabläufe auswirken könnte.
  • Für diese Bestimmung kann das System 110 den kodierten Ausdruck 120 auf der Grundlage der in der Switch-Grammatik 112 definierten Befehle auswerten, um die für den Switch-Typ 152 konfigurierten dekodierten Befehle 122 zu bestimmen. Die Befehle 122 können die Befehle 212, 214, 216 und 218 umfassen. Auf der anderen Seite können die historischen Befehle 202 die Befehle 212, 214, 218 und 220 enthalten. Durch den Vergleich der Befehle 122 und der historischen Befehle 202 kann das System 110 feststellen, dass der Befehl 220 in den historischen Befehlen 202 durch den aktualisierten kodierten Ausdruck 120 unzulässig geworden ist. Das System 110 kann auch feststellen, dass der aktualisierte kodierte Ausdruck 120 den Befehl 216 darstellt, der nicht von der Benutzergruppe 150 ausgegeben wurde (d. h. nicht in den historischen Befehlen 202). Das System 110 kann einen Administrator mit den Befehlen 216 und 220 versorgen. Das System kann dann den Administrator benachrichtigen und auf eine mögliche Fehlkonfiguration hinweisen, da der Befehl 216 erlaubt wurde, obwohl er zuvor nicht erlaubt war, und der Befehl 220 nicht erlaubt wurde, obwohl er zuvor erlaubt war. Das System 110 kann diesen Konflikt in einer Benutzeroberfläche visuell hervorheben (mit gestrichelten Linien gekennzeichnet).
  • Wie oben beschrieben, kann der Kodierungsmechanismus des kodierten Ausdrucks 120 (z. B. ein regulärer Ausdruck) mehrere Möglichkeiten zur Kodierung haben. Eine Kodierung kann weniger effizient und speicherintensiver sein als eine andere Kodierung. Durch die Überwachung einer aktuellen Ressourceneffizienz 230 von Befehlen 122 (z. B. Speicher- und Verarbeitungsressourcennutzung von Befehlen 122) auf den Switches (z. B. den Switches des Netzwerks 100 von 1) im Laufe der Zeit kann das System 110 feststellen, ob ein aktualisierter kodierter Ausdruck 120 eine ineffiziente Kodierung ist. Das System 110 kann dann eine Warnung generieren und diese an den Administrator weiterleiten. Das System 110 kann auch mögliche Optimierungen für den kodierten Ausdruck 120 vorschlagen. In einigen Ausführungsformen kann das System 110 die Informationen in der Zeitreihendatenbank verwenden, um festzustellen, wann ineffiziente Kodierungen eingeführt werden.
  • 2C zeigt ein beispielhaftes Verfahren zur Erkennung von Ausreißern in einem Ausdrucksauswertungssystem gemäß einer Ausführungsform der vorliegenden Anmeldung. Innerhalb der zulässigen Befehle kann das System 110 eine Aufzeichnung darüber führen, welcher Benutzer welchen Befehl erteilt hat (z. B. als Zeitserieninformation). Wenn die Benutzergruppe 150 die Benutzer 252, 254 und 256 umfasst, kann das System 110 feststellen, welcher Benutzer welchen Befehl aus den Befehlen 122 verwendet hat. Wenn die Benutzer 252 und 254 die Befehle 212 und 214 verwenden, während der Benutzer 256 den Befehl 218 verwendet, kann das System 110 den Benutzer 256 als Ausreißer erkennen. Um einen Ausreißer zu identifizieren, kann das System 110 einen beliebigen Mechanismus zur Erkennung von Ausreißern verwenden.
  • Beispielsweise kann das System 110 für jeden Benutzer die Anzahl der Befehle ermitteln, die sich mit Befehlen überschneiden, die von mindestens n Benutzern erteilt wurden. Wenn die Anzahl der sich überschneidenden Befehle für einen Benutzer unter einem Schwellenwert liegt, kann das System 110 den Benutzer als Ausreißer identifizieren. Auf diese Weise kann das System 110 den Benutzer 256 als Ausreißer identifizieren, selbst wenn er einen Befehl 218 verwendet hat, der im kodierten Ausdruck 120 erlaubt ist. Auf diese Weise kann ein Administrator überwachen, ob ein Benutzer mit erlaubten Befehlen böswillige Aktivitäten durchgeführt hat.
  • 2D zeigt einen beispielhaften Richtlinienvalidierungsprozess eines Ausdrucksauswertungssystems in Übereinstimmung mit einer Ausführungsform der vorliegenden Anmeldung. Ein Netzwerk kann von einer Hierarchie von Administratoren verwaltet werden, wobei verschiedene Administratoren unterschiedliche Ebenen des administrativen Zugriffs auf die Berechtigung für die Befehle haben können. Leitende Administratoren können auf der Grundlage einer oder mehrerer an die Benutzergruppen gerichteter Richtlinien zusätzliche Formen der Validierung einrichten, wie z. B. Konformitätsprüfung (z. B. eine Validierung, die erfolgen kann, bevor die Konfigurationsänderung an einen Switch übertragen wird) oder Änderungsvalidierung (z. B. eine Validierung, die erfolgen kann, nachdem die Konfigurationsänderung an einen Switch übertragen wurde). Für die Benutzergruppe 150 kann eine Richtlinie 260 eingerichtet werden. Die Richtlinie 260 kann eine oder mehrere Regeln enthalten. Jede Regel kann eine Konformitätsbedingung enthalten. Das System 110 kann feststellen, ob ein von einem Benutzer ausgeführter Befehl gegen eine Konformitätsbedingung verstößt. Das System 110 kann eine Validierung der kodierten Ausdrücke vornehmen, um zu verhindern, dass durch manuelles Versehen Fehler in die Netzwerkkonfiguration gelangen.
  • Beispielsweise kann das System 110 nach der Bereitstellung einer Änderung am kodierten Ausdruck 120 prüfen, ob der kodierte Ausdruck 120 mit der Richtlinie 260 übereinstimmt. Bei Feststellung einer Nichtübereinstimmung kann das System 110 einen „Fehler“-Status für den kodierten Ausdruck 120 ausgeben und die Administratoren warnen. Die Richtlinie 260 kann eine Regel 262 enthalten, die die Ausführung der Befehle 212 und 214 erlaubt, sowie eine Regel 264, die die Ausführung des Befehls 216 erlaubt. Beispielsweise kann die Regel 264 angeben, dass „nur Benutzer der Gruppe 150 den Befehl 216 ausführen dürfen“. Dies ermöglicht es einem Administrator, den Befehl 216 einzubinden und gleichzeitig den kodierten Ausdruck 120 für die Benutzergruppe 150 zu definieren.
  • Andererseits kann die Richtlinie 260 auch eine Regel 266 enthalten, die die Ausführung des Befehls 218 einschränkt. Beispielsweise kann die Regel 266 besagen, dass „nur erfahrene Administratoren den Befehl 218 aktivieren/deaktivieren können“. Wenn ein Administrator keinen ausreichenden Zugriff hat, um den Befehl 218 zu aktivieren/deaktivieren, kann dieser Administrator den Befehl 218 möglicherweise nicht in den kodierten Ausdruck 120 einbauen. Selbst wenn der Administrator den kodierten Ausdruck 120 für die Benutzergruppe 150 definiert, kann das System 110 den kodierten Ausdruck 120 nicht an die Switches des Switch-Typs 152 weiterleiten und einen leitenden Administrator zur Genehmigung benachrichtigen (z. B. eine Textnachricht oder E-Mail an den leitenden Administrator senden).
  • 3A zeigt eine beispielhafte Benutzeroberfläche eines Ausdrucksauswertungssystems, die einen kodierten Ausdruck erzeugt, gemäß einer Ausführungsform der vorliegenden Anmeldung. Das System 110 kann auch verwendet werden, um den kodierten Ausdruck 120 für den Switch-Typ 152 zu erzeugen. In einigen Ausführungsformen kann das System 110 einem Benutzer eine auswählbare Liste von Befehlen in der Benutzeroberfläche 170 bereitstellen, die in der Switch-Grammatik 112 verfügbar sind. Das System 110 kann die Liste der Befehle in Befehlsgruppen 302, 304 und 306 gruppieren. Jede Befehlsgruppe kann einem Basis- oder Stammbefehl entsprechen (z. B. „show“). Nach Auswahl einer Befehlsgruppe kann die Benutzeroberfläche 170 einzelne Befehle, die Varianten des Basisbefehls (z. B. „show X”) sein können, in Verbindung mit der ausgewählten Befehlsgruppe anzeigen. Durch erneute Auswahl der Befehlsgruppe können die Befehle auf der Benutzeroberfläche 170 ausgeblendet werden.
  • In diesem Beispiel kann die Befehlsgruppe 302 die Befehle 212 und 312, die Befehlsgruppe 304 den Befehl 214 und die Befehlsgruppe 306 die Befehle 314, 216 und 218 enthalten. Die Benutzerschnittstelle 170 kann einen jeweiligen Befehl mit einer Auswahlmöglichkeit darstellen. Der Benutzer kann einen oder mehrere Befehle aus der Liste der Befehle auswählen. In diesem Beispiel kann der Benutzer die Befehle 212, 214, 216 und 218 auswählen und die Auswahl abschicken. Das System 110 kann dann dynamisch Unterausdrücke 332, 334 und 336 konstruieren, die die Befehle in den Befehlsgruppen 302, 304 bzw. 306 auf der Grundlage der Switch-Grammatik 112 kodieren.
  • Das System 110 kann dann die Unterausdrücke 332, 334 und 336 kombinieren, um den kodierten Ausdruck 120 zu erzeugen. Jeder der Unterausdrücke 332, 334 und 336 kann ein regulärer Ausdruck sein. Auf diese Weise kann der kodierte Ausdruck 120 die ausgewählten Befehle 212, 214, 216 und 218 enthalten und die nicht ausgewählten Befehle 312 und 314 ausschließen. In einigen Ausführungsformen kann das System 110 einen iterativen Prozess anwenden, der eine Reihe von Heuristiken auf die Befehle 212, 214, 216 und 218 anwendet, um den kodierten Ausdruck 120 auf einen gewünschten Ausdruck (z. B. einen kompakten regulären Ausdruck) zu reduzieren. Die Heuristiken können auf ein gemeinsames Präfix reduzieren oder Abweichungen zusammenfassen.
  • Wenn der Benutzer beim Erzeugen des kodierten Ausdrucks 120 das System 110 anweist, einen kodierten Ausdruck für den Switch-Typ 154 zu erzeugen, kann das System 110 einen Unterschied zwischen den Switch-Grammatiken 112 und 114 feststellen. Das System 110 kann Befehle 322 und 210 identifizieren, die in der Switch-Grammatik 114 unterschiedlich sind. Das System 110 kann ein maschinelles Lernverfahren verwenden, um „ähnliche“ Befehle zu ermitteln. Beim Erstellen eines kodierten Ausdrucks für den Switch-Typ 154 kann das System 110 eine oder mehrere Aktionen für die Befehle 322 und 210 bestimmen. Die Aktionen können angeben, ob die Befehle 322 und 210 einbezogen oder ausgeschlossen werden sollen, wobei die Behandlung auf der Ähnlichkeit mit den Befehlen basiert, die dem kodierten Ausdruck 120 zugeordnet sind.
  • Wenn beispielsweise die Befehle 322 und 210 ähnliche Operationen wie die Befehle 312 bzw. 216 ausführen, kann das System 110 einen kodierten Ausdruck 340 erzeugen, der auf den früheren Auswahlentscheidungen des Benutzers für den Switch-Typ 152 basiert. Der kodierte Ausdruck 340 kann dann den Befehl 210 einschließen und den Befehl 322 ausschließen. Es ist zu beachten, dass der kodierte Ausdruck 340 eine Variante des kodierten Ausdrucks 120 für den Switch-Typ 154 sein kann. Das System 110 kann die Befehle auch auf der Benutzeroberfläche 170 anzeigen, damit die Benutzer die Befehle auswählen können. Die Benutzerschnittstelle 170 kann die Anzeige zum Erzeugen eines kodierten Ausdrucks für den Switch-Typ 154 anpassen, indem eine auswählbare Liste von Befehlen in der Benutzerschnittstelle 170 angezeigt wird, die in der Switch-Grammatik 114 verfügbar sind. Die Benutzeroberfläche 170 kann verschiedene Befehle 322 und 210 in Verbindung mit den Befehlsgruppen 302 bzw. 306 anzeigen. Der Benutzer kann dann die Befehle für die Erzeugung des kodierten Ausdrucks 340 auswählen.
  • In einigen Ausführungsformen kann das System 110 die historischen Daten, wie in Verbindung mit 2B beschrieben, mit der Erzeugung des kodierten Ausdrucks kombinieren. Das System 110 kann die Befehlshistorie für eine bestimmte Benutzergruppe analysieren, um die Befehle zu identifizieren, die ein bestimmter Benutzer verwendet hat. Das System 110 kann dann die Liste der historischen Befehle verwenden, um einen kodierten Ausdruck zu erzeugen, der zuvor verwendete Befehle zulässt. Wenn ein Administrator einen kodierten Ausdruck generiert, kann die Benutzeroberfläche 170 mit einer „Test“-Taste ausgestattet werden. Wenn der Administrator die Testtaste drückt, kann die Benutzeroberfläche 170 die Befehle anzeigen, die durch den vorgeschlagenen kodierten Ausdruck erlaubt und blockiert werden. Auf diese Weise kann der Administrator überprüfen, ob der kodierte Ausdruck das tut, was von ihm erwartet wird, bevor er den kodierten Ausdruck auf die Switches überträgt.
  • 3B zeigt eine beispielhafte Benutzerschnittstelle eines Ausdrucksauswertungssystems, die einen kodierten Ausdruck zur Überprüfung darstellt, in Übereinstimmung mit einer Ausführungsform der vorliegenden Anmeldung. Wenn eine Firmware für den Switch-Typ 152 aktualisiert wird, kann das System 110 die Unterschiede in den Befehlen bestimmen, die durch die beiden Firmware-Versionen, die der Switch-Grammatik 112 zugeordnet sind, ermöglicht werden. Das System 110 kann dann einen Bericht auf der Benutzeroberfläche 170 anzeigen. Der Bericht kann die Befehle enthalten, die für die aktuelle Kodierung möglicherweise nicht mehr verfügbar sind. Der Bericht kann auch die neuen Befehle enthalten, die für die neue Firmware-Version verfügbar werden. Die Benutzeroberfläche 170 kann zum Beispiel einen Bericht über eine Firmware-Änderung anzeigen, die mit dem kodierten Ausdruck 120 verbunden ist. Der Bericht kann zeigen, dass der Befehl 216 für den kodierten Ausdruck 120 nicht mehr verfügbar ist. Der Bericht kann auch anzeigen, dass ein neuer Befehl 316 verfügbar geworden ist, der kodiert werden kann.
  • Wenn das System 110 eine Konfigurationsänderung erhält, kann das System 110 außerdem alle Änderungen im kodierten Ausdruck 120 identifizieren, da die Konfigurationsänderung die Berechtigungen für die Befehle beeinflussen kann. Das System 110 kann einen Bericht über die Konfigurationsänderung erstellen. Der Bericht kann die Befehle anzeigen, die mit dem kodierten Ausdruck 120 verknüpft sind und die aufgrund der Konfigurationsänderung betroffen sein können. Eine solche Auswirkung kann Änderungen der Zugriffsebenen und der von der Änderung betroffenen Benutzer umfassen. Beispielsweise kann die Benutzeroberfläche 170 anzeigen, dass aufgrund einer Konfigurationsänderung die Befehle 212 und 218 von den Auswirkungen 352 bzw. 354 betroffen sind.
  • Es ist zu beachten, dass, obwohl in 3B Änderungen, nicht verfügbare Befehle und neue Befehle in der Benutzeroberfläche 170 dargestellt sind, diese Anzeigeelemente in der Benutzeroberfläche 170 nicht unbedingt zusammen erscheinen. Beispielsweise kann die Benutzeroberfläche 170 die Änderungen anzeigen, wenn eine Konfiguration, die den kodierten Ausdruck 120 betrifft, geändert wird. Andererseits kann die Benutzeroberfläche 170 die neuen und nicht verfügbaren Befehle anzeigen, wenn eine Firmware, die den kodierten Ausdruck 120 betrifft, aktualisiert wird.
  • Betrieb
  • 4A zeigt ein Flussdiagramm, das den Prozess eines Ausdrucksauswertungssystems veranschaulicht, das einen kodierten Ausdruck auswertet, in Übereinstimmung mit einer Ausführungsform der vorliegenden Anmeldung. Während des Betriebs kann das System einen kodierten Ausdruck erhalten, der für den Switch ausgegeben wurde (Vorgang 402) und die mit dem Switch verbundene Switch-Grammatik bestimmen (Vorgang 404). Das System kann dann die Befehle aus dem kodierten Ausdruck auf der Grundlage der Switch-Grammatik erzeugen (Vorgang 406). Anschließend kann das System die Befehle auf ihre Gültigkeit prüfen (Vorgang 408).
  • 4B zeigt ein Flussdiagramm, das den Prozess eines Ausdrucksauswertungssystems veranschaulicht, das einen kodierten Ausdruck validiert, in Übereinstimmung mit einer Ausführungsform der vorliegenden Anmeldung. Während des Betriebs kann das System einen Validierungstyp für Befehle bestimmen, die mit dem kodierten Ausdruck verbunden sind (Vorgang 452). Wenn der Validierungstyp Konsistenz ist (Vorgang 454), kann das System die Switch-Grammatik eines anderen Switch-Typs erhalten, den kodierten Ausdruck auswerten und die Befehle für beide Switch-Typen auf Konsistenz vergleichen (Vorgang 462). Andernfalls, wenn der Validierungstyp die historische Analyse ist (Vorgang 456), kann das System die historischen Befehle erhalten und die Befehle und die historischen Befehle auf Konsistenz und Effizienz vergleichen (Vorgang 464).
  • Handelt es sich bei der Validierungsart nicht um eine Konsistenz- oder historische Analyse, kann die Validierungsart eine Ausreißeranalyse sein (Vorgang 458). Das System kann dann die von einem bestimmten Benutzer der Benutzergruppe verwendeten Befehle ermitteln und Ausreißer feststellen (Vorgang 466). Andernfalls, wenn der Validierungstyp eine Richtlinienvalidierung ist (Vorgang 460), kann das System feststellen, ob die mit dem kodierten Ausdruck verbundenen Befehle gegen eine Richtlinie verstoßen (Vorgang 468). Wenn es sich bei der Validierungsart nicht um Konsistenz, historische Analyse, Ausreißeranalyse oder Richtlinienvalidierung handelt, kann das System die mit dem kodierten Ausdruck verbundenen Befehle zur Auswertung in der Benutzeroberfläche darstellen (Vorgang 470).
  • 5 zeigt ein Flussdiagramm, das den Prozess eines Ausdrucksauswertungssystems veranschaulicht, das einen kodierten Ausdruck unter Verwendung einer Benutzerschnittstelle erzeugt, gemäß einer Ausführungsform der vorliegenden Anmeldung. Während des Betriebs kann das System Befehlsgruppen in der Benutzerschnittstelle darstellen (Vorgang 502) und eine Auswahl einer Befehlsgruppe erhalten (Vorgang 504). Das System kann dann die Befehle der ausgewählten Befehlsgruppe darstellen (Vorgang 506) und eine Auswahl von Befehlen aus den dargestellten Befehlen erhalten (Vorgang 508).
  • Das System kann einen kodierten Unterausdruck für die ausgewählten Befehle erzeugen (Vorgang 510). Anschließend kann das System prüfen, ob die Auswahl übermittelt wurde (Vorgang 512). Ist dies nicht der Fall, kann das System fortfahren, eine Auswahl einer Befehlsgruppe zu erhalten (Vorgang 504). Wenn die Auswahl übermittelt wurde, kann das System die kodierten Unterausdrücke kombinieren, um einen kodierten Ausdruck zu erzeugen (Vorgang 514).
  • Beispiel-Computersystem und -Vorrichtung
  • 6 zeigt ein beispielhaftes Computersystem, das ein Ausdrucksauswertungssystem erleichtert, gemäß einer Ausführungsform der vorliegenden Anmeldung. Das Computer- und Kommunikationssystem 600 umfasst einen Prozessor 602, eine Speichervorrichtung 604 und eine Speichervorrichtung 608. Die Speichervorrichtung 604 kann eine flüchtige Speichervorrichtung (z.B. ein Dual In-Line Memory Module (DIMM)) umfassen. Darüber hinaus kann das Computer- und Kommunikationssystem 600 mit einer Anzeigevorrichtung 610, einer Tastatur 612 und einem Zeigegerät 614 verbunden sein. Die Speichereinrichtung 608 kann ein Betriebssystem 616, ein Ausdrucksauswertungssystem 618 und Daten 636 speichern. Das Ausdrucksauswertungssystem 618 kann den Betrieb des Systems 110 erleichtern.
  • Das Ausdrucksauswertungssystem 618 kann Anweisungen enthalten, die, wenn sie vom Computer- und Kommunikationssystem 600 ausgeführt werden, das Computer- und Kommunikationssystem 600 veranlassen können, die in dieser Offenbarung beschriebenen Verfahren und/oder Prozesse durchzuführen. Insbesondere kann das Ausdrucksauswertungssystem 618 Anweisungen zur Darstellung einer Benutzeroberfläche enthalten, die einen kodierten Ausdruck von einem Administrator erhalten und die Validierung eines kodierten Ausdrucks erleichtern kann (Logikblock 620 der Benutzeroberfläche (UI)). Das Ausdrucksauswertungssystem 618 kann auch Anweisungen zum Analysieren eines kodierten Ausdrucks zur Validierung enthalten (Analyselogikblock 622). Darüber hinaus kann das Ausdrucksauswertungssystem 618 auch Anweisungen zur Identifizierung eines Ausreißers in einer Benutzergruppe und zur Bestimmung, ob ein kodierter Ausdruck mit einer Richtlinie übereinstimmt, enthalten (Analyselogikblock 622).
  • Darüber hinaus kann das Ausdrucksauswertungssystem 618 Anweisungen zum Auswerten eines kodierten Ausdrucks auf der Grundlage einer Switch-Grammatik enthalten (Auswertungslogikblock 624). Das Ausdrucksauswertungssystem 618 kann auch Anweisungen zum Vergleichen von Befehlen enthalten, die einem kodierten Ausdruck über Switch-Typen hinweg und mit historischen Befehlen zugeordnet sind (Vergleichslogikblock 626). Das Ausdrucksauswertungssystem 618 kann Anweisungen zur Validierung eines kodierten Ausdrucks über eine Benutzeroberfläche enthalten (Validierungslogikblock 628).
  • Das Ausdrucksauswertungssystem 618 kann außerdem Anweisungen zum Senden und Empfangen von Nachrichten enthalten (Kommunikationslogikblock 630). Daten 636 können alle Daten enthalten, die den Betrieb des Ausdrucksauswertungssystems 618 erleichtern können. Daten 636 können unter anderem eine entsprechende Switch-Grammatik eines Netzwerks, Benutzergruppeninformationen, Zeitserieninformationen, die von einem entsprechenden Benutzer ausgeführte Befehle anzeigen, und einen entsprechenden kodierten Ausdruck, der für eine entsprechende Benutzergruppe definiert ist, umfassen.
  • 7 zeigt eine beispielhafte Vorrichtung, die ein Ausdrucksauswertungssystem erleichtert, gemäß einer Ausführungsform der vorliegenden Anmeldung. Die Datensatzverwaltungsvorrichtung 700 kann eine Vielzahl von Einheiten oder Vorrichtungen umfassen, die über einen verdrahteten, drahtlosen, Quantenlicht- oder elektrischen Kommunikationskanal miteinander kommunizieren können. Die Vorrichtung 700 kann unter Verwendung einer oder mehrerer integrierter Schaltungen realisiert werden und kann weniger oder mehr Einheiten oder Vorrichtungen als die in 7 gezeigten umfassen. Ferner kann die Vorrichtung 700 in ein Computersystem integriert oder als separates Gerät realisiert werden, das mit anderen Computersystemen und/oder Geräten kommunizieren kann. Insbesondere kann die Vorrichtung 700 Einheiten 702-712 umfassen, die ähnliche Funktionen oder Operationen wie die Module 620-630 des Computer- und Kommunikationssystems 600 von 6 ausführen, einschließlich: eine UI-Einheit 702; eine Analyseeinheit 704; eine Auswertungseinheit 706; eine Vergleichseinheit 708; eine Validierungseinheit 710; und eine Kommunikationseinheit 712.
  • Die in dieser ausführlichen Beschreibung beschriebenen Datenstrukturen und der Code werden in der Regel auf einem computerlesbaren Speichermedium gespeichert, bei dem es sich um ein beliebiges Gerät oder Medium handeln kann, das Code und/oder Daten zur Verwendung durch ein Computersystem speichern kann. Das computerlesbare Speichermedium umfasst unter anderem flüchtige Speicher, nichtflüchtige Speicher, magnetische und optische Speichervorrichtungen wie Disketten, Magnetbänder, CDs (Compact Discs), DVDs (Digital Versatile Discs oder Digital Video Discs) oder andere Medien, die in der Lage sind, heute bekannte oder später entwickelte computerlesbare Medien zu speichern.
  • Die im Abschnitt der ausführlichen Beschreibung beschriebenen Verfahren und Prozesse können als Code und/oder Daten verkörpert werden, die wie oben beschrieben in einem computerlesbaren Speichermedium gespeichert werden können. Wenn ein Computersystem den auf dem computerlesbaren Speichermedium gespeicherten Code und/oder die Daten liest und ausführt, führt das Computersystem die Verfahren und Prozesse aus, die als Datenstrukturen und Code verkörpert und in dem computerlesbaren Speichermedium gespeichert sind.
  • Die hier beschriebenen Verfahren und Prozesse können von Hardware-Modulen oder -Vorrichtungen ausgeführt werden und/oder in diesen enthalten sein. Zu diesen Modulen oder Geräten können unter anderem ein anwendungsspezifischer integrierter Schaltkreis (ASIC-Chip), ein feldprogrammierbares Gate-Array (FPGA), ein dedizierter oder gemeinsam genutzter Prozessor, der ein bestimmtes Softwaremodul oder ein Stück Code zu einem bestimmten Zeitpunkt ausführt, und/oder andere heute bekannte oder später entwickelte programmierbare logische Geräte gehören. Wenn die Hardware-Module oder -Vorrichtungen aktiviert werden, führen sie die in ihnen enthaltenen Methoden und Prozesse aus.
  • Die vorstehenden Beschreibungen von Ausführungsformen der vorliegenden Erfindung wurden nur zum Zwecke der Veranschaulichung und Beschreibung vorgelegt. Sie erheben keinen Anspruch auf Vollständigkeit und beschränken diese Offenbarung nicht. Dementsprechend werden viele Modifikationen und Variationen für den Fachmann auf dem Gebiet der Technik offensichtlich sein. Der Umfang der vorliegenden Erfindung wird durch die beigefügten Ansprüche definiert.

Claims (16)

  1. Verfahren zur Erleichterung eines erweiterten Berechtigungsmanagementsystems, das Folgendes umfasst: Erhalten eines kodierten Ausdrucks (120), der einer Benutzergruppe (150) eines Netzwerks (100) zugeordnet ist, wobei der kodierte Ausdruck einen Satz von kodierten Befehlen darstellt; Auswerten des kodierten Ausdrucks für einen ersten Switch (102) im Netzwerk, um einen ersten Satz von Befehlen (122) zu bestimmen, die die Benutzergruppe auf dem ersten Switch ausführen darf; Bestimmen der Gültigkeit des ersten Satzes von Befehlen für die Benutzergruppe durch Bestimmen, ob es einem jeweiligen Benutzer aus der Benutzergruppe erlaubt sein sollte, den ersten Satz von Befehlen auf dem ersten Switch auszuführen; und als Reaktion auf die Identifizierung eines Problems mit der Gültigkeit des ersten Satzes von Befehlen, Erzeugen einer Benachrichtigung, die das Problem anzeigt; Erhalten eines zweiten Satzes von Befehlen, die zuvor von der Benutzergruppe auf dem ersten Switch erteilt wurden; und Vergleichen des ersten und zweiten Satzes von Befehlen, um das Vorhandensein von Inkonsistenzen festzustellen; wobei die Inkonsistenz eines oder mehrere der folgenden Merkmale anzeigt: ob ein zuvor erteilter Befehl der Benutzergruppe im ersten Satz von Befehlen fehlt; und ob ein Befehl, der nicht von der Benutzergruppe erteilt wurde, im ersten Satz von Befehlen enthalten ist; und in Antwort auf eine Bestimmung des Vorhandenseins von Inkonsistenzen, Benachrichtigung über eine mögliche Fehlkonfiguration.
  2. Verfahren nach Anspruch 1, das ferner umfasst: Auswerten des kodierten Ausdrucks für einen zweiten Switch im Netzwerk, um einen zweiten Satz von Befehlen (124) zu bestimmen, den die Benutzergruppe auf dem zweiten Switch ausführen darf; und Vergleichen des ersten und zweiten Satzes von Befehlen, um das Vorhandensein von Inkonsistenzen festzustellen.
  3. Verfahren nach Anspruch 1, wobei die Auswertung des kodierten Ausdrucks umfasst: Erhalten einer Switch-Grammatik (112), die dem ersten Switch zugeordnet ist, wobei die Switch-Grammatik eine strukturierte Darstellung von Befehlen enthält, die von dem ersten Switch unterstützt werden; und Bestimmung des ersten Satzes von Befehlen durch Identifizierung von Befehlen, die dem kodierten Ausdruck in der Switch-Grammatik entsprechen.
  4. Verfahren nach Anspruch 1, das ferner umfasst: Darstellen einer Benutzerschnittstelle (170), die einen Satz von Befehlen (212, 214, 216, 218, 312, 314) darstellt, die von dem ersten Switch unterstützt werden; und Empfang einer Auswahl, die den ersten Satz von Befehlen aus dem Satz von Befehlen auswählt.
  5. Verfahren nach Anspruch 4, wobei der Satz von Befehlen in einen Satz von Befehlsgruppen (304, 306, 308) kategorisiert ist; und wobei das Verfahren ferner umfasst: Erzeugen eines Unterausdrucks (332, 334, 336) für eine entsprechende Befehlsgruppe, die ausgewählt wurde; und Kombination eines oder mehrerer erzeugter Unterausdrücke, um den kodierten Ausdruck zu erzeugen.
  6. Verfahren nach Anspruch 1, wobei das Bestimmen der Gültigkeit des ersten Satzes von Befehlen weiterhin umfasst: Darstellen des ersten Satzes von Befehlen über eine Benutzerschnittstelle; und Zulassen des Erhaltens einer Rückmeldung des Benutzers über die Gültigkeit des kodierten Ausdrucks.
  7. Verfahren nach Anspruch 1, das ferner umfasst, dass für den ersten Satz von Befehlen ein Ausreißer (256) in der Benutzergruppe auf der Grundlage von Befehlen bestimmt wird, die von einem jeweiligen Benutzer aus der Benutzergruppe erteilt werden.
  8. Verfahren nach Anspruch 1, das ferner die Bestimmung umfasst, ob der erste Satz von Befehlen mit einer Richtlinie übereinstimmt, die angibt, ob der Benutzergruppe die Ausführung des ersten Satzes von Befehlen auf dem ersten Switch erlaubt werden kann.
  9. Ein nicht-transitorisches computerlesbares Speichermedium, das Anweisungen speichert, die, wenn sie von einem Computer ausgeführt werden, den Computer veranlassen, ein Verfahren zur Erleichterung eines Ausdrucksauswertungssystems (618) durchzuführen, wobei das Verfahren Folgendes umfasst: Erhalten eines kodierten Ausdrucks (120), der einer Benutzergruppe (150) eines Netzwerks (100) zugeordnet ist, wobei der kodierte Ausdruck einen Satz von kodierten Befehlen darstellt; Auswerten des kodierten Ausdrucks für einen ersten Switch (102), um einen ersten Satz von Befehlen (122) zu bestimmen, die die Benutzergruppe auf dem ersten Switch ausführen darf; Bestimmen der Gültigkeit des ersten Satzes von Befehlen für die Benutzergruppe durch Bestimmen, ob es einem jeweiligen Benutzer aus der Benutzergruppe erlaubt sein sollte, den ersten Satz von Befehlen auf dem ersten Switch auszuführen; als Reaktion auf die Identifizierung eines Problems mit der Gültigkeit des ersten Satzes von Befehlen, Erzeugen einer Benachrichtigung, die das Problem anzeigt; Erhalten eines zweiten Satzes von Befehlen, die zuvor von der Benutzergruppe auf dem ersten Switch erteilt wurden; und Vergleichen des ersten und zweiten Satzes von Befehlen, um das Vorhandensein von Inkonsistenzen festzustellen, wobei die Inkonsistenz eines oder mehrere der folgenden Merkmale anzeigt: ob ein zuvor erteilter Befehl der Benutzergruppe im ersten Satz von Befehlen fehlt; und ob ein Befehl, der nicht von der Benutzergruppe erteilt wurde, im ersten Satz von Befehlen enthalten ist; und in Antwort auf eine Bestimmung des Vorhandenseins von Inkonsistenzen, Benachrichtigung über eine mögliche Fehlkonfiguration.
  10. Computerlesbares Speichermedium nach Anspruch 9, wobei das Verfahren ferner umfasst: Auswerten des kodierten Ausdrucks für einen zweiten Switch im Netzwerk, um einen zweiten Satz von Befehlen (124) zu bestimmen, den die Benutzergruppe auf dem zweiten Switch ausführen darf; und Vergleichen des ersten und zweiten Satzes von Befehlen, um das Vorhandensein von Inkonsistenzen festzustellen.
  11. Computerlesbares Speichermedium nach Anspruch 9, wobei das Auswerten des kodierten Ausdrucks umfasst: Erhalten einer Switch-Grammatik (112), die dem ersten Switch zugeordnet ist, wobei die Switch-Grammatik eine strukturierte Darstellung von Befehlen enthält, die von dem ersten Switch unterstützt werden; und Bestimmung des ersten Satzes von Befehlen durch Identifizierung von Befehlen, die dem kodierten Ausdruck in der Switch-Grammatik entsprechen.
  12. Computerlesbares Speichermedium nach Anspruch 9, wobei das Verfahren ferner umfasst: Darstellen einer Benutzerschnittstelle (170), die einen Satz von Befehlen (212, 214, 216, 218, 312, 314) darstellt, die von dem ersten Switch unterstützt werden; und Empfang einer Auswahl, die den ersten Satz von Befehlen aus dem Satz von Befehlen auswählt.
  13. Computerlesbares Speichermedium nach Anspruch 12, wobei der Satz von Befehlen in einen Satz von Befehlsgruppen (304, 306, 308) kategorisiert ist; und wobei das Verfahren ferner umfasst: Erzeugen eines Unterausdrucks (332, 334, 336) für eine entsprechende Befehlsgruppe, die ausgewählt wurde; und Kombination eines oder mehrerer erzeugter Unterausdrücke, um den kodierten Ausdruck zu erzeugen.
  14. Computerlesbares Speichermedium nach Anspruch 9, wobei das Bestimmen der Gültigkeit des ersten Satzes von Befehlen weiterhin umfasst: Darstellen des ersten Satzes von Befehlen über eine Benutzerschnittstelle; und Zulassen des Erhaltens einer Rückmeldung des Benutzers über die Gültigkeit des kodierten Ausdrucks.
  15. Computerlesbares Speichermedium nach Anspruch 9, wobei das Verfahren ferner umfasst, dass für den ersten Satz von Befehlen ein Ausreißer in der Benutzergruppe auf der Grundlage von Befehlen bestimmt wird, die von einem jeweiligen Benutzer aus der Benutzergruppe erteilt werden.
  16. Computerlesbares Speichermedium nach Anspruch 9, wobei das Verfahren ferner das Bestimmen umfasst, ob der erste Satz von Befehlen mit einer Richtlinie übereinstimmt, die angibt, ob der Benutzergruppe erlaubt werden kann, den ersten Satz von Befehlen auf dem ersten Switch auszuführen.
DE102021109179.9A 2020-06-01 2021-04-13 Verfahren und system zur verbesserten befehlsverwaltung in einem netzwerk Active DE102021109179B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/889,648 2020-06-01
US16/889,648 US11336527B2 (en) 2020-06-01 2020-06-01 Method and system for enhanced command management in a network

Publications (2)

Publication Number Publication Date
DE102021109179A1 DE102021109179A1 (de) 2021-12-02
DE102021109179B4 true DE102021109179B4 (de) 2023-09-14

Family

ID=78509346

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021109179.9A Active DE102021109179B4 (de) 2020-06-01 2021-04-13 Verfahren und system zur verbesserten befehlsverwaltung in einem netzwerk

Country Status (3)

Country Link
US (1) US11336527B2 (de)
CN (1) CN113765696B (de)
DE (1) DE102021109179B4 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11855831B1 (en) 2022-06-10 2023-12-26 T-Mobile Usa, Inc. Enabling an operator to resolve an issue associated with a 5G wireless telecommunication network using AR glasses

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376719B1 (en) 2004-04-14 2008-05-20 Juniper Networks, Inc. Automatic generation of configuration data using implementation-specific configuration policies
US20190007418A1 (en) 2017-06-29 2019-01-03 Amazon Technologies, Inc. Security policy monitoring service

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155534B1 (en) * 2002-10-03 2006-12-26 Cisco Technology, Inc. Arrangement for aggregating multiple router configurations into a single router configuration
US8620652B2 (en) * 2007-05-17 2013-12-31 Microsoft Corporation Speech recognition macro runtime
US8156213B1 (en) * 2009-07-27 2012-04-10 Juniper Networks, Inc. Merging network device configuration schemas
US9794227B2 (en) * 2014-03-07 2017-10-17 Microsoft Technology Licensing, Llc Automatic detection of authentication methods by a gateway
US10397232B2 (en) * 2015-06-25 2019-08-27 Amazon Technologies, Inc. Controlling user access to command execution
US9888039B2 (en) * 2015-12-28 2018-02-06 Palantir Technologies Inc. Network-based permissioning system
US20170359344A1 (en) * 2016-06-10 2017-12-14 Microsoft Technology Licensing, Llc Network-visitability detection control
US10439875B2 (en) * 2017-05-31 2019-10-08 Cisco Technology, Inc. Identification of conflict rules in a network intent formal equivalence failure
CN110870278B (zh) * 2017-06-29 2021-07-16 亚马逊技术有限公司 用于安全策略监视服务的方法和系统以及存储介质
US11218508B2 (en) * 2018-06-27 2022-01-04 Cisco Technology, Inc. Assurance of security rules in a network
US11341328B2 (en) * 2018-11-30 2022-05-24 Hewlett Packard Enterprise Development Lp Dynamic grammar augmentation for editing multiple network switch configuration files as a single file

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376719B1 (en) 2004-04-14 2008-05-20 Juniper Networks, Inc. Automatic generation of configuration data using implementation-specific configuration policies
US20190007418A1 (en) 2017-06-29 2019-01-03 Amazon Technologies, Inc. Security policy monitoring service

Also Published As

Publication number Publication date
US20210377121A1 (en) 2021-12-02
US11336527B2 (en) 2022-05-17
CN113765696B (zh) 2022-11-22
DE102021109179A1 (de) 2021-12-02
CN113765696A (zh) 2021-12-07

Similar Documents

Publication Publication Date Title
DE60205539T2 (de) Verfahren und Vorrichtung zum Verwalten von mehreren Netzwerkgeräten
DE112012004935B4 (de) Netzwerkeinheiten-Konfigurationsverwaltung
DE60213548T2 (de) Gerät zum Auffinden von Zugangsberechtigungswidersprüchen und Gerät zum Erzeugen von analysierenden Regeln
DE102017121758A1 (de) Intelligente Assistenz für wiederholte Aktionen
DE102013222290A1 (de) System und Verfahren zur gemeinsamen Nutzung von Ermittlungsergebnisdaten
DE102017121911A1 (de) Detektieren belangloser Social Media-Nachrichten
DE112020000538T5 (de) Feinkörnige zugriffskontrolle auf token-grundlage
DE112011104787B4 (de) Nutzung von Inhalten über persönliche Clouds
DE202011110895U1 (de) Echtzeitsynchronisierte Bearbeitung von Dokumenten durch mehrere Benutzer für das Bloggen
DE112012005033B4 (de) Systemübergreifende sichere Anmeldung
DE102015111820B4 (de) Auswählen eines Netzwerkes
DE112019000206T5 (de) Dynamisches Erstellen und Konfigurieren eines Lernmodells für Dialogagenten
DE102021109179B4 (de) Verfahren und system zur verbesserten befehlsverwaltung in einem netzwerk
DE112015003926T5 (de) Publish/Subscribe-Messaging unter Verwendung einer Nachrichtenstruktur
DE102019131039A1 (de) Systeme und methoden für die live-validierung der gerätekonfiguration
DE112018002954T5 (de) Bereitstellen eines konfigurationsabhängigen arbeitsablaufs
DE202015104128U1 (de) Datenzugriffssystem
DE112017004160T5 (de) Schützen eines Webservers vor einer nicht autorisierten Client-Anwendung
DE112021000224T5 (de) Verschlüsselung von message queues
DE112021005656T5 (de) Analyse der rollenerreichbarkeit mit transitiven tags
DE102021123288A1 (de) Regelbasiertes filtern zum sichern von kennwortanmeldungen
DE112021006508T5 (de) Bestärkendes lernen für eine Erstellung von Testsuiten
DE102004025264A1 (de) Datenverarbeitungseinrichtung und Verfahren zur Wiederherstellung eines Betriebszustandes
DE102019211089A1 (de) Vorrichtung und Verfahren zum Ergreifen von Gegenmaßnahmen gegen einen unbefugten Zugriff auf ein Fahrzeug
DE112021004115T5 (de) Sicherheitssystem für eine Segmentierung von Computerdatei-Metadaten

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, SPR, US

Free format text: FORMER OWNER: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, HOUSTON, TX, US

R082 Change of representative

Representative=s name: FLEUCHAUS & GALLO PARTNERSCHAFT MBB - PATENT- , DE

Representative=s name: FLEUCHAUS & GALLO PARTNERSCHAFT MBB PATENTANWA, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division