DE112012004935B4 - Netzwerkeinheiten-Konfigurationsverwaltung - Google Patents

Netzwerkeinheiten-Konfigurationsverwaltung Download PDF

Info

Publication number
DE112012004935B4
DE112012004935B4 DE112012004935.7T DE112012004935T DE112012004935B4 DE 112012004935 B4 DE112012004935 B4 DE 112012004935B4 DE 112012004935 T DE112012004935 T DE 112012004935T DE 112012004935 B4 DE112012004935 B4 DE 112012004935B4
Authority
DE
Germany
Prior art keywords
configuration
user
network device
command
network
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
DE112012004935.7T
Other languages
English (en)
Other versions
DE112012004935T5 (de
Inventor
c/o IBM UK Ltd. NI Science Park Graham Trevor
c/o IBM UK Ltd. Hamilton Kevin Michael
c/o IBM UK Ltd. Croy Timothy Robert
c/o IBM UK Ltd. Wallace David John
c/o IBM UK Ltd. NI Science Park Bradley Ivor
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112012004935T5 publication Critical patent/DE112012004935T5/de
Application granted granted Critical
Publication of DE112012004935B4 publication Critical patent/DE112012004935B4/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/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44589Program code verification, e.g. Java bytecode verification, proof-carrying code
    • 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
    • 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/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration 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/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • 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/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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Ein Verfahren und ein System zur Netzwerkeinheiten-Konfigurationsverwaltung werden bereitgestellt: Das Verfahren beinhaltet: Empfangen eines Satzes von Benutzerbefehlen für eine Konfiguration einer Netzwerkeinheit; Abrufen eines syntaktischen Modells einer Netzwerkeinheiten-Konfigurationsschnittstelle für einen Netzwerkeinheitentyp und Erzeugen einer modellierten Konfiguration einer aktuellen Konfiguration der Netzwerkeinheit; Vorhersagen des Effekts des Benutzerbefehls auf die modellierte Konfiguration, um eine vorhergesagte modellierte Konfiguration zu erzeugen; und Anwenden von Regeln für einen Benutzer und oder einen Netzwerkeinheitentyp, um zu ermitteln, ob der Befehl auf der Grundlage des vorhergesagten modellierten Konfiguration der Netzwerkeinheit erlaubt ist. Das Vorhersagen des Effekts des Benutzerbefehls sagt den Effekt eines Befehls, den der Benutzer eingibt, auf die Netzwerkeinheitenkonfiguration in nahezu Echtzeit vorher.

Description

  • TECHNISCHES GEBIET
  • Diese Erfindung betrifft das Gebiet der Netzwerkeinheiten-Konfigurationsverwaltung. Insbesondere betrifft die Erfindung die Verwaltung von Befehlsaktualisierungen an Netzwerkeinheitenkonfigurationen.
  • BISHERIGER STAND DER TECHNIK
  • Studien deuten darauf hin, dass über 60 % der Netzwerkausfälle durch Fehler verursacht werden, die von Benutzern begangen werden, während sie Netzwerkelementkonfigurationen ändern. Dies wird durch syntaktisch komplexe Befehlszeilenschnittstellen verschärft, die von vielen Netzwerkelementen verwendet werden. Zu vorhandenen Ansätzen zur Verringerung von Benutzerfehlern zählen: Bereitstellen von Hilfetext innerhalb der Schnittstelle selbst; Auto-Vervollständigen von Befehlen, wenn der Benutzer auf der Schnittstelle tippt; und Einschränkung des durch den Benutzer ausgebbaren Befehlssatzes auf der Grundlage von Sicherheitsberechtigungen. Keiner dieser Ansätze ist jedoch vollständig und Fehler sind nach wie vor sehr verbreitet, so dass zusätzliche Mechanismen erforderlich sind, welche die Anzahl von Fehlern weiter verringern könnten.
  • Ein beispielhafter Netzwerkkonfigurationsverwalter ist der IBM Tivoli Netcool Configuration Manager (ITNCM) (IBM, Tivoli und Netcool sind Marken der International Business Machines Corporation). Die Funktion der ITNCM-Anwendung liegt darin, es Benutzern zu ermöglichen, Netzwerkelemente einfach, zuverlässig und wiederholt zu konfigurieren. Die Mechanismen, die der ITNCM verwendet, um dies zu erreichen, sind hauptsächlich um die Verwendung eines Modells der Einheitenkonfigurationsschnittstelle herum aufgebaut. Das beschriebene Verfahren und das beschriebene System beruhen auf vorhandenen Netzwerkkonfigurationsverwaltern, wie beispielsweise dem ITNCM, und erweitern diese.
  • Bei einem Netzwerkelement handelt es sich um eine Einheit, die Teil eines Datenübertragungsnetzwerks ist. Jedes Netzwerkelement besitzt eine Konfiguration, bei der es sich um eine Reihe intern gespeicherter Einstellungen handelt, die beeinflussen, wie sie arbeitet. Die Konfiguration weist üblicherweise eine durch den Menschen lesbare Darstellung auf, welche die Einheit auf Anforderung, oftmals als reinen Text, bereitstellen kann. Das Netzwerkelement besitzt zudem eine Konfigurationsschnittstelle, bei der es sich um einen Mechanismus handelt, durch den die Konfiguration geändert werden kann, was oftmals mittels reiner Textbefehle erfolgt, die auf einer Befehlszeilenschnittstelle (command-line interface (CLI)) ausgegeben werden. Um ein Netzwerkelement einzurichten und zu verwalten, muss der menschliche Bediener verstehen, wie in der Datenübertragungsschnittstelle eingegebene Befehle wirken, um die Konfiguration zu beeinflussen.
  • Das ITNCM-System enthält eine Bibliothek von Modellen für unterschiedliche Einheiten (jedes Modell ist spezifisch für einen Typ oder eine Familie von Einheiten von einem Anbieter). Das Modell besitzt syntaktische, verhaltensorientierte und Darstellungs(rendering)-Aspekte. Beim vorhandenen ITNCM-Prozess wird die aktuelle Konfiguration von der Einheit abgerufen und unter Verwendung des syntaktischen Teils des Modells die native Konfiguration zum leichteren Umgang innerhalb der Anwendung in eine interne Darstellung der Konfiguration (eine XML(extended markup language)-Struktur) umgewandelt. Die Darstellungsaspekte des Modells werden durch die grafische Benutzeroberfläche (graphical user interface (GUI)) des Systems verwendet, um dem Benutzer die Konfiguration mit geeigneten Anmerkungen anzuzeigen, wie beispielsweise einer visuellen Angabe des zulässigen Bereichs für einen Parameter. Der Benutzer kann durch Bearbeiten der GUI-Darstellung oder Übernehmen einer zuvor gespeicherten Konfigurationsvorlage Änderungen an der Konfiguration vornehmen und dann anfordern, dass die Änderungen auf die Einheit angewendet werden. Unter Verwendung der syntaktischen und verhaltensorientierten Aspekte des Modells wandelt der ITNCM die auf die interne Darstellung der Konfiguration angewendeten Änderungen in eine Reihe von Befehlen um, die an die Einheit ausgegeben werden können, um ihre Konfiguration so zu beeinflussen, dass sie mit der internen ITNCM-Darstellung übereinstimmt.
  • Es ist wünschenswert, das Potenzial für menschliche Fehler beim Konfigurieren einer Einheit zu verringern, indem die Weisen eingeschränkt werden, auf die gewisse Benutzer Einheitenkonfigurationen ändern können - wodurch weniger erfahrene Techniker vom Ausgeben der potenziell destruktivsten Befehle abgehalten werden. Dies kann derzeit beim ITNCM erreicht werden, indem der Zugriff auf gewisse Teile der Konfiguration gesperrt wird, wenn sie auf der GUI dargestellt wird. Bei Kundenkontakten wurde jedoch herausgefunden, dass Netzwerktechniker auch Zugriff direkt auf die Befehlszeilenschnittstelle (CLI) verlangen.
  • Der ITNCM stellt einen Befehlszeilenschnittstellen-Zugriff mittels eines integrierten Einheitenterminals (integrated device terminal (IDT)) bereit, innerhalb dessen es einen Mechanismus gibt, um die Befehle einzuschränken, die ein Benutzer an eine Einheit übermitteln kann. Dies beruht jedoch auf einem simplen Textzeichenkettenvergleich, um Befehle zu sperren, und bürdet dem ITNCM-Administrator praktisch die ganze Arbeit auf, geeignete Textfilter festzulegen. Beim aktuellen Ansatz muss der Benutzer für jeden Einheitentyp detaillierte Kenntnisse der Befehlssyntax besitzen, und er erfordert das Aufbauen komplexer Sequenzen des Vergleichs von Mustern regulärer Ausdrücke.
  • Die WO 2011 / 088 898 A1 offenbart ein Verfahren und eine Vorrichtung zum Bewerten der Kompatibilität einer ausgewählten Netzwerkfunktion mit den Netzwerkfunktionen eines bestehenden Telekommunikationsnetzwerks, aufweisend ein Bereitstellen einer Abstraktion jeder Netzwerkfunktion in der Form eines Datenmodells , das die Beziehungen zwischen beliebigen Netzwerkelementen oder Knoten, Software-Elementen und Software-Funktionen definiert, die für jede Netzwerkfunktion erforderlich sind.
  • Die US 2009 / 0 222 540 A1 betrifft ein Netzwerkverwaltungssystem zum Verwalten eines Kommunikationsnetzwerks. Das System umfasst eine Inventardatenbank, die ein Netzwerkinventar speichert, das Informationen umfasst, die für Netzwerkressourcen des Kommunikationsnetzwerks repräsentativ sind. Das System umfasst Mittel zum Empfangen einer Änderungsanfrage, die eine an dem Netzwerk vorzunehmende Änderung spezifiziert, und eine Inventaraktualisierungskomponente, die angepasst ist, um das Netzwerk-Inventar als Reaktion auf die Änderungsanfrage zu modifizieren. Das System umfasst auch eine Implementierungskomponente, die angepasst ist, um auf die Inventardatenbank zuzugreifen, an dem Netzwerkbestand vorgenommene Modifikationen zu identifizieren und Konfigurationsdaten an das Netzwerk zu übertragen, um die Bestandsmodifikationen in dem Netzwerk zu implementieren.
  • Es ist daher ein Bedarf in der Technik vorhanden, das zuvor genannte Problem zu lösen.
  • KURZDARSTELLUNG DER ERFINDUNG
  • Aufgabe der Erfindung ist es, eine Verfahren zur effektiven Netzwerkeinheiten-Konfigurationsverwaltung sowie ein System Verfahren zur effektiven Netzwerkeinheiten-Konfigurationsverwaltung bereitzustellen. Aufgabe der Erfindung ist es des Weiteren, ein Computerprogrammprodukt zur effektiven Netzwerkeinheiten-Konfigurationsverwaltung sowie ein auf einem computerlesbaren Medium gespeichertes und in den internen Speicher eines digitalen Computers ladbares Computerprogramm bereitzustellen, das Software-Codeabschnitte aufweist, um im Falle, dass das Programm auf einem Computer ausgeführt wird, das Verfahren zur effektiven Netzwerkeinheiten-Konfigurationsverwaltung durchzuführen.
  • Die der Erfindung zugrunde liegenden Aufgaben werden mit den Merkmalen der unabhängigen Patentansprüche gelöst. Ausführungsformen der Erfindung sind in den abhängigen Ansprüchen angegeben.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Verfahren zur Netzwerkeinheiten-Konfigurationsverwaltung bereitgestellt, aufweisend: Empfangen eines Satzes von Benutzerbefehlen für eine Konfiguration einer Netzwerkeinheit; Abrufen eines syntaktischen Modells einer Netzwerkeinheiten-Konfigurationsschnittstelle für einen Netzwerkeinheitentyp und Erzeugen einer modellierten Konfiguration einer aktuellen Konfiguration der Netzwerkeinheit; Vorhersagen des Effekts der Benutzerbefehle auf die modellierte Konfiguration, um eine vorhergesagte modellierte Konfiguration zu erzeugen; und Anwenden von Regeln für einen Benutzer und/oder einen Netzwerkeinheitentyp, um zu ermitteln, ob die Befehle auf der Grundlage des vorhergesagten modellierten Konfiguration der Netzwerkeinheit erlaubt sind.
  • Gemäß einem zweiten Aspekt der vorliegenden Erfindung wird ein System für die Netzwerkeinheiten-Konfigurationsverwaltung bereitgestellt, aufweisend: einen Prozessor; eine Benutzereingabekomponente zum Empfangen eines Satzes von Benutzerbefehlen für eine Konfiguration einer Netzwerkeinheit; eine Modellierkomponente zum Abrufen eines syntaktischen Modells einer Netzwerkeinheiten-Konfigurationsschnittstelle für einen Netzwerkeinheitentyp und Erzeugen einer modellierten Konfiguration einer aktuellen Konfiguration der Netzwerkeinheit; eine modellgestützte Konfigurationsvorhersagekomponente zum Vorhersagen des Effekts des Benutzerbefehls auf die modellierte Konfiguration, um eine vorhergesagte modellierte Konfiguration zu erzeugen; und eine Regelkomponenten zum Anwenden von Regeln für einen Benutzer und oder einen Netzwerkeinheitentyp, um zu ermitteln, ob der Befehl auf der Grundlage des vorhergesagten modellierten Konfiguration der Netzwerkeinheit erlaubt ist.
  • Gemäß einem dritten Aspekt der vorliegenden Erfindung wird ein auf einem computerlesbaren Medium gespeichertes und in den internen Speicher eines digitalen Computers ladbares Computerprogramm bereitgestellt, das Software-Codebereiche umfasst, die bei Ausführung des Programms auf einem Computer die Schritte der Erfindung durchführen können.
  • Hinsichtlich eines weiteren Aspekts stellt die vorliegende Erfindung ein Computerprogrammprodukt für die Netzwerkeinheiten-Konfigurationsverwaltung bereit, wobei das Computerprogrammprodukt ein computerlesbares Speichermedium aufweist, das durch eine Verarbeitungsschaltung lesbar ist und Anweisungen zur Ausführung eines Verfahrens zum Durchführen der Schritte der Erfindung durch die Verarbeitungsschaltung speichert.
  • Figurenliste
  • Die vorliegende Erfindung wird nun in lediglich beispielhafter Weise unter Bezugnahme auf bevorzugte Ausführungsformen beschrieben, wie sie in den folgenden Figuren dargestellt sind:
    • 1 zeigt ein Blockschaubild eines Systems gemäß der vorliegenden Erfindung;
    • 2 zeigt ein Blockschaubild eines Computersystems, in dem die vorliegende Erfindung realisiert werden kann;
    • 3 zeigt einen Ablaufplan einer Ausführungsform eines Verfahrens gemäß der vorliegenden Erfindung; und
    • 4 zeigt ein schematisches Schaubild, das eine Ausführungsform eines Verfahrens gemäß der vorliegenden Erfindung zeigt.
  • DETAILLIERTE BESCHREIBUNG
  • Er ist ersichtlich, dass zur Einfachheit und Klarheit der Abbildung in den Figuren gezeigte Elemente nicht unbedingt maßstäblich gezeichnet wurden. Zum Beispiel können zur Klarheit die Abmessungen einiger der Elemente relativ zu anderen Elementen übertrieben dargestellt sein. Weiterhin können Bezugszeichen innerhalb der Figuren wiederholt werden, wo dies angemessen scheint, um entsprechende oder analoge Merkmale zu bezeichnen.
  • In der folgenden detaillierten Beschreibung werden zahlreiche spezifische Details aufgeführt, um ein umfassendes Verständnis der Erfindung zu ermöglichen. Der Fachmann versteht jedoch, dass die vorliegende Erfindung ohne diese spezifischen Details ausgeführt werden kann. In anderen Beispielen wurden bereits bekannte Verfahren, Vorgehensweisen und Komponenten nicht im Detail beschrieben, um die vorliegende Erfindung nicht zu verschleiern.
  • Ein Verfahren und ein System werden beschrieben, die ein vollständiges oder teilweises syntaktisches Modell einer Netzwerkeinheiten-Konfigurationsschnittstelle (d.h. die Befehle, die ausgegeben werden könnten) und ein Modell der aktuellen Netzwerkeinheitenkonfiguration verwenden, um in nahezu Echtzeit den Effekt der Befehle, die der Benutzer eingibt, auf die Netzwerkeinheitenkonfiguration vorherzusagen. Durch Anwenden einschränkender Regeln auf die vorhergesagte Konfiguration anstatt auf die durch den Benutzer getippten Textbefehle, kann eine genauere und wirksamere Einschränkung der Benutzeraktionen mit einer einfacheren Regeldefinition für den Administrator erreicht werden.
  • Ein Systemadministrator kann eine grafische Benutzeroberfläche (GUI) oder einen anderen Mechanismus verwenden, um einen Satz von Regeln zu definieren, welche die Weisen beschreiben, auf die der Benutzer die Konfiguration beeinflussen kann. Diese Regeln können Sätzen von Netzwerkeinheiten (auf der Grundlage von Anbieter, Familie, Rolle im Netzwerk usw.) und Sätzen von die GUI verwendenden Benutzern (auf der Grundlage von Gruppenmitgliedschaft) zugeordnet werden.
  • Zu Beispielen einiger Typen von Regeln, die definiert werden können, zählen die folgenden (hierbei handelt es sich um eine nicht abschließende Liste):
    • - Abschnitte der Konfiguration, die der Benutzer ändern darf/nicht ändern darf;
    • - Konfigurationsmuster, die verboten sind, z.B. Muster die einfache Einschränkungen wie beispielsweise „darf CDP nicht aktivieren“ (Cisco Discovery Protocol, Cisco ist eine Marke von Cisco Systems, Inc.) oder Muster, die komplexere Szenarien darstellen, die unterschiedliche Teile der Konfiguration miteinander in Beziehung setzen, wie beispielsweise „vorhandene ACLs (access control lists, Zugangskontrolllisten), die auf einer oder mehreren Schnittstellen in Verwendung sind, dürfen nicht bearbeitet werden“;
    • - Einschränkungen auf der Grundlage interner Richtlinien des Netzwerkbetreibers, z.B. „VLAN (virtual local area network, virtuelles lokales Netzwerk) 5 ist reserviert, und nur der Netzwerkadministrator darf es konfigurieren“; und
    • - Definierte Grenzen, innerhalb derer Parameter geändert werden dürfen (z.B. vermeiden, dass die Bandbreite einer Schnittstelle höher als 1Mbit/s gesetzt wird).
  • Wenn der Benutzer eine Konfigurationszeilenschnittstellen(CLI)-Sitzung mit einer Netzwerkeinheit startet, ruft der beschriebene Konfigurationsverwalter eine Kopie der aktuellen Konfiguration ab und wandelt sie in ein internes Darstellungsformat um. Wenn der Benutzer einen Befehl in die CLI-Sitzung eingibt, verwendet das System ein syntaktisches und verhaltensorientiertes Modell, um die Weise vorherzusagen, in der die Netzwerkeinheitenkonfiguration durch diesen Befehl geändert werden wird. Am Punkt, an dem der Benutzer den Prozess eines Sendens des Befehlspuffers an die Einheit startet, werden die relevanten Regeln auf die vorhergesagte Konfiguration angewendet, um zu ermitteln, ob das Senden der Befehle erlaubt werden soll.
  • Vielfältige Mechanismen können benutzt werden, um die Leistung des Regelabgleichs zu verbessern, wie beispielsweise Vorberechnen des gesammelten Effekts mehrerer relevanter Regeln für jeden Einheitensatz und jede Benutzergruppe; und Vorbearbeiten des Modells, um ein Format zu erzeugen, das für ein schnelles Suchen optimiert ist, wie beispielsweise eine binärer Baum.
  • Bei dem beschriebenen Verfahren und dem beschriebenen System beruhen Benutzereinschränkungen auf dem Endkonfigurationszustand der Netzwerkeinheit anstelle der zum Erreichen dieses Zustands ausgegebenen Befehle. In vielen Fällen gibt es mehrere unterschiedliche Arten, auf die derselbe Effekt erreicht werden kann: unterschiedliche Befehlssätze, die in Kombination dasselbe Ergebnis besitzen, in vielen Fällen von anderen Dingen abhängen, die zuvor auf der Einheit konfiguriert wurden, und durch Abkürzungen und alternative Befehlsschreibweisen auf der Einheitenkonfigurationsschnittstelle noch komplexer gemacht werden. Es ist äußerst komplex, Textfilterregeln herzustellen, welche den unerwünschten Befehlssatz sperren können, ohne auch Befehle zu sperren, auf die der Benutzer Zugriff haben muss, um seine Aufgaben durchzuführen. Durch Einschränken des Endkonfigurationszustands stattdessen muss sich der Administrator keine Gedanken über die vielen Wege machen, die zu diesem Endzustand führen könnten.
  • Unter Bezugnahme auf 1 zeigt ein Blockschaubild eine Ausführungsform des beschriebenen Systems 100.
  • Bei einer Netzwerkeinheit 110 handelt es sich um eine Einheit, die Teil eines Datenübertragungsnetzwerks ist und die eine Konfiguration 111 besitzt, bei der es sich um Einstellungen handelt, die festlegen, wie die Netzwerkeinheit 110 arbeitet.
  • Ein Netzwerkkonfigurationsverwalter 120 wird bereitgestellt, der ein Konfigurieren der Netzwerkeinheiten 110 ermöglicht. Zu vorhandenen Netzwerkkonfigurationsverwaltern 120 zählt als ein Beispiel der IBM Tivoli Netcool Configuration Manager (ITNCM). Der beschriebene Netzwerkkonfigurationsverwalter 120 besitzt zusätzliche Funktionalität, wie nachstehend weiter beschrieben.
  • Der Netzwerkkonfigurationsverwalter 120 kann eine Modellierkomponente 130 zum Bereitstellen und Verwenden eines Modells 131 in der Form eines syntaktischen und verhaltensorientierten Modells einer Netzwerkeinheiten-Konfigurationsschnittstelle für einen Typ von Netzwerkeinheit 110 enthalten. Das Modell 131 kann als Teil seiner Struktur eine Baumdarstellung aller möglichen Schlüsselwortbefehle beinhalten, die an diese Netzwerkeinheit 110 ausgegeben werden können.
  • Die Modellierkomponente 130 kann eine Konfigurationsabrufkomponente 132 zum Abrufen einer Kopie der aktuellen Konfiguration 111 der Netzwerkeinheit 110 und eine Konfigurationsmodellierkomponente 133 zum Bestücken des Modells und somit Ableiten einer modellierten Konfiguration 134 für die aktuelle Konfiguration der Netzwerkeinheit 110 beinhalten.
  • Der Netzwerkkonfigurationsverwalter 120 kann zudem eine modellgestützte Konfigurationsvorhersagekomponente 140 enthalten, die eine Befehlsverarbeitungskomponente 141 zum Verarbeiten eines durch einen Benutzer eingegebenen Befehls und eine Befehlseffektkomponente 142 zum Ermitteln des Effekts des Befehls auf die Konfiguration 111 der Netzwerkeinheit 110 enthalten, wodurch eine Version einer vorhergesagten modellierten Konfiguration 143 der modellierten Konfiguration 134 erzeugt wird.
  • Der Netzwerkkonfigurationsverwalter 120 kann zudem eine Regelkomponente 150 beinhalten, die eine Regelanwendekomponente 151 zum Anwenden vorgegebener Regeln 153 hinsichtlich Berechtigungen eines Benutzers, des Typs der Netzwerkeinheit 110 und weiterer Kriterien enthält. Die Regeln 153 können durch die Regelanwendekomponenten 151 auf die vorhergesagte modellierte Konfiguration 143 angewendet werden. Eine Befehlserlaubniskomponente 152 kann bereitgestellt werden, die einen Befehl an die Netzwerkeinheit 110 erlaubt oder verweigert.
  • Der Netzwerkkonfigurationsverwalter 120 kann eine Benutzereingabekomponente 160 enthalten, die eine Anmeldekomponente 161 enthält, damit sich ein Benutzer zu einer Konfigurationssitzung für eine Netzwerkeinheit 110 anmelden kann. Die Benutzereingabekomponente 160 kann zudem eine Befehlseingabekomponente 162 enthalten, mit der ein Benutzer vorgeschlagene Befehle eingeben kann, die durch die modellierende Vorhersagekomponente 140 modelliert werden.
  • Der Netzwerkkonfigurationsverwalter 120 kann zudem eine Befehlskomponente 170 enthalten, die eine Befehlspufferkomponente 171 enthalten kann, um durch den Benutzer eingegebene Befehle zu puffern, bis die die Befehle durch die Befehlserlaubniskomponente 152 erlaubt oder verweigert werden. Eine Pufferleerungskomponente 172 kann bereitgestellt werden, um Befehle aus einem Puffer zu leeren, wenn sie abgelehnt werden. Eine Befehlssendekomponente 173 kann bereitgestellt werden, um Befehlen an die Netzwerkeinheit 110 zu senden, wenn sie erlaubt werden.
  • Unter Bezugnahme auf 2 beinhaltet ein beispielhaftes System zum Realisieren von Aspekten der Erfindung ein Datenverarbeitungssystem 200, das zum Speichern und/oder Ausführen von Programmcode geeignet ist und mindestens einen Prozessor 201 enthält, der direkt oder indirekt über ein Bussystem 203 mit Speicherelementen verbunden ist. Zu den Speicherelementen können ein lokaler Speicher, der während der tatsächlichen Ausführung des Programmcodes eingesetzt wird, Massenspeicher und Cachespeicher zählen, welche die vorübergehende Speicherung mindestens eines Teils des Programmcodes bereitstellen, um die Anzahl des Abrufens von Code vom Massenspeicher während der Ausführung zu verringern.
  • Zu den Speicherelementen kann ein Systemspeicher 202 in der Form von Nur-Lese-Speicher (read only memory (ROM)) 204 und Speicher mit wahlfreiem Zugriff (random access memory (RAM)) 205 zählen. Ein grundlegendes Eingabe/Ausgabe-System (basic input/output system (BIOS)) 206 kann im ROM 204 gespeichert sein. Systemsoftware 207 kann im RAM 205 gespeichert sein und Betriebssystemsoftware 208 einschließen. Softwareanwendungen 210 können ebenfalls im RAM 205 gespeichert sein.
  • Das System 200 kann zudem ein Primärdatenspeichermittel 211 wie beispielsweise ein Magnetfestplattenlaufwerk und ein Sekundärdatenspeichermittel 212 wie beispielsweise ein Magnetplattenlaufwerk und ein optisches Plattenlaufwerk beinhalten. Die Laufwerke und ihre zugehörigen computerlesbaren Medien stellen nichtflüchtigen Datenspeicher von durch Computer ausführbaren Anweisungen, Datenstrukturen, Programmmodulen und anderen Daten für das System 200 bereit. Software-Anwendungen können auf dem Primär- und dem Sekundärdatenspeichermittel 211, 212 sowie dem Systemspeicher 202 gespeichert werden.
  • Das Computersystem 200 kann in einer Netzwerkumgebung arbeiten, in der logische Verbindungen zu einem oder mehreren entfernt angeordneten Computern über einen Netzwerkadapter 216 verwendet werden.
  • Eingabe/Ausgabe-Einheiten 213 können entweder direkt oder über zwischengeschaltete E/A-Steuereinheiten mit dem System verbunden sein. Ein Benutzer kann über Eingabeeinheiten wie beispielsweise eine Tastatur, eine Zeigeeinheit oder andere Eingabeeinheiten (zum Beispiel ein Mikrofon, ein Joystick, eine Spielesteuerung (game pad), eine Satellitenantenne, einen Scanner oder Ähnliches) Befehle und Informationen in das System 200 eingeben. Zu Ausgabeeinheiten können Lautsprecher, Drucker usw. zählen. Zudem ist eine Anzeigeeinheit 214 über eine Schnittstelle, wie beispielsweise einen Videoadapter 215, mit dem Systembus 203 verbunden.
  • Unter Bezugnahme auf 3 zeigt ein Ablaufplan 300 das beschriebene Verfahren, das durch einen modifizierten Netzwerkeinheiten-Konfigurationsverwalter ausgeführt wird. Bevor der Prozess starten kann, kann ein Satz von Regeln für einen Benutzer und/oder einen Typ oder ein Modell von Netzwerkeinheit definiert werden. Ein allgemeines syntaktisches und Verhaltensmodell wird für einen Netzwerkeinheitentyp oder ein Netzwerkeinheitenmodell erzeugt.
  • Eine Benutzersitzung kann für eine Netzwerkeinheit mit einer den Benutzer identifizierenden Benutzeranmeldung gestartet werden 301. Die aktuelle Netzwerkeinheitenkonfiguration kann abgerufen werden 302 und ein Modell für den Netzwerkeinheitentyp kann verwendet werden 303, um eine modellierte Konfiguration der aktuellen Konfiguration zu erzeugen.
  • Ein Satz von Benutzerbefehlen für die Netzwerkeinheit kann empfangen und gepuffert werden 304.
  • Das Modell kann verwendet werden 305, um den Effekt der Befehle auf die modellierte Konfiguration zu ermitteln, um eine vorhergesagte modellierte Konfiguration zu erzeugen.
  • Vordefinierte Regeln für den Benutzer und/oder den Netzwerkeinheitentyp können auf die vorhergesagte modellierte Konfiguration angewendet werden 306. Es wird ermittelt 307, ob der Benutzerbefehl durch die Regeln erlaubt ist. Wenn sie nicht erlaubt sind, können die Befehle abgebrochen werden 309 und der Puffer kann geleert werden 310, um die nicht erlaubten Befehle zu löschen. Wenn die Befehle durch die Regeln erlaubt sind. können die gepufferten Befehle abgerufen 308 und an die Netzwerkeinheit gesendet werden.
  • Unter Bezugnahme auf 4 zeigt ein schematisches Schaubild 400 eine Beispielausführungsform des Betriebs einer Netzwerkeinheitenkonfiguration. Die bereits in 1 eingeführten Elemente besitzen dieselbe Bezugsziffer.
  • Ein Benutzer kann über eine grafische Benutzeroberfläche 401 eines Netzwerkkonfigurationsverwalters oder einer Komponente, die in Verbindung mit einem Netzwerkkonfigurationsverwalter (als das System bezeichnet) agiert, eine direkte Konfigurierung einer Netzwerkeinheit 110 starten, indem er eine Sitzung öffnet und sich anmeldet.
  • Das System ruft eine Kopie der aktuellen Netzwerkeinheitenkonfiguration 111 in ihrem nativen Format auf und unter Verwendung des syntaktischen und verhaltensorientierten Modells 131 (hierin nachstehend als das Modell bezeichnet) der Konfigurationsschnittstelle für diesen speziellen Einheitentyp erzeugt eine Konfigurationsmodellierkomponente 133 eine modellierte Konfiguration 134. Weitere Details der modellierten Konfiguration 134 werden nachstehend angegeben.
  • Der Benutzer kann in der interaktiven Sitzung über die grafische Benutzeroberfläche 401 einen oder mehrere Befehle eingeben, die das System in Vorbereitung auf das Senden an die Netzwerkeinheit 110 puffert. Das System kann das Modell 131 (das als Teil seiner Struktur eine Baumdarstellung aller möglichen Schlüsselwortbefehle enthält, die an diese Einheit ausgegeben werden können) verwenden, um die durch den Benutzer eingegebenen Befehle eindeutig zu machen und zu erweitern. So wird zum Beispiel „int eth 0“ zu „interface ethernet 0“ erweitert.
  • Das System verwendet das Modell 131 um den Effekt der neu eingetippten Befehle auf die modellierte Konfiguration 134 zu ermitteln, um unter Verwendung der Befehlseffektkomponente 142 eine vorhergesagte modellierte Konfiguration 143 zu erzeugen. Weitere Details der Befehlseffektkomponente 142 werden nachstehend angegeben.
  • Das System führt unter Verwendung der Regelanwendekomponente 151 ein Regelanwenden aus, das den geeigneten Satz von regelgestützten Beschränkungen der vordefinierten Regeln 153 auf die neue vorhergesagte modellierte Konfiguration 143 anwendet. Die Regeln 153 werden aus der vollständigen Bibliothek von Regeln auf der Grundlage der Gruppenmitgliedschaften des Benutzers, des Typs und des Modells der Einheit und weiterer Kriterien ausgewählt. Weitere Details der Regelanwendekomponente 151 werden nachstehend angegeben.
  • Nach Abschluss der gesamten Regelverarbeitung wird das Ergebnis bewertet, und wenn dem Benutzer das Vornehmen dieser Änderung an der Netzwerkeinheit 110 erlaubt ist 402, übermittelt das System die Befehle an die Netzwerkeinheit 110. Wenn die Änderung nicht erlaubt ist, wird der Befehl abgebrochen 403 und der Benutzer informiert, dass es ihm nicht gestattet ist, diese Befehle zu senden, und der Puffer wird geleert.
  • MODELLIERTE KONFIGURATION
  • Die Netzwerkeinheitenkonfiguration kann eine Reihe von Zeichenketten enthalten, zum Beispiel:
    • interface GigabitEthernet0/1
      • - ip address 10.1.1.1 255.255.255.252
      • - ip access-group 1 in
      • - ip router isis
      • - duplex auto
      • - speed auto
      • - service-policy input NEWPOL
      end.
  • Bei dem syntaktischen und verhaltensorientierten Modell (dem Modell) kann es sich um eine Kombination aus Code und Metadaten handeln, durch die das System die Konfiguration in einem strukturierten Format ausdrücken kann, das dann einfacher zur Ansicht dargestellt und im System bearbeitet werden kann, zum Beispiel:
    • - <interface>
      1. 1. <GigabitEthernet>
      2. 2. <ARG.001>0/1 </ARG.001>
      3. 3. <ip>
        1. 1. <address>
          1. a. <ARG.001>10.1.1.1 </ARG.001>
          2. b. <ARG.002>255.255.255.252</ARG.002>
        2. 2. </address>
        3. 3. <access-group>
          1. a. <ARG.001>1 </ARG.001>
          2. b. <in/>
        4. 4. </access-group>
        5. 5. <router>
          1. a. <isis/>
        6. 6. </router>
      4. 4. </ip>
      5. 5. <duplex>
        1. 1. <auto/>
      6. 6. <duplex>
      7. 7. <speed>
        1. 1. <auto/>
      8. 8. </speed>
      9. 9. <service-policy>
        1. 1. <input>
          1. a. <ARG.001>NEWPOL</ARG.001>
        2. 2. </input>
      10. 10. </service-policy>
      11. 11. </GigabitEthernet>
    • - </interface>
  • BEFEHLSEFFEKTKOMPONENTE
  • Wenn der Benutzer einen Satz von Befehlen in die interaktive Sitzung der Netzwerkeinheit eintippt, kann das System zuerst die eingegebenen Befehle unter Verwendung des Befehlsabschnitts des syntaktischen Modells verarbeiten, um die eingegebenen Befehle zu identifizieren und eindeutig zu machen. Das System kann dann das Modell verwenden, um den Effekt dieser Befehle auf die gespeicherte strukturierte Konfiguration zu ermitteln. Das Modell kann die Befehlssyntax auf die Konfigurationssyntax beziehen, wo sich diese unterscheiden (zum Beispiel wenn die Befehle durch den Menschen lesbar sind, die Konfiguration jedoch als Tabelle ganzer Zahlen gespeichert ist) und drückt den Gesamteffekt des Befehlssatzes auf die Konfiguration aus. In manchen Fällen ist dies ziemlich offensichtlich, wenn eine gegebene Befehlszeichenkette direkt in die Konfigurationsdatei eingegeben wird, in vielen Fällen kann jedoch ein einzelner Befehl zu separaten Änderungen an mehreren Teilen der Konfiguration führen. Der eingegebene Befehlssatz kann mit jedem anderen auf komplexe Weisen interagieren und sich wechselseitig modifizieren, was das Modell beim Ermitteln des Gesamteffekts auf die Konfiguration berücksichtigen muss. Mithilfe des Modells wird es dem System ermöglicht, auf der Grundlage des gesamten verarbeiteten Befehlssatzes zu ermitteln, welche Teile der Konfiguration verändert werden müssen und welches die Gesamtänderungen in jedem Teil sein sollten.
  • In einem einfachen Beispiel wird der Befehl „no policy-map NEWPOL“ zum Löschen des gesamten Konfigurationsabschnitts führen, der in der modellierten Konfiguration wie gezeigt dargestellt wird:
    • - <policy-map>
      1. 1. <ARG.001>NEWPOL</ARG.001>
      2. 2. <class>
      3. 3. <ARG.001>fred</ARG.001>
      4. 4. <drop/>
      5. 5. </class>
    • - </policy-map>
  • Das System kann die Befehlszeichenkette unter Verwendung des Modells als Referenz verarbeiten und es kann als Ergebnis einen oder mehrere Abschnitte in der die Konfiguration darstellenden Struktur hinzufügen, modifizieren oder löschen. Wenn somit im vorstehenden Beispiel der Benutzer eine Befehlssequenz
    • - #conf t
    • - #int gi 0/1
    • - #dup fu
  • eingibt, wird das System das Modell verwenden, um, diese eindeutig zu machen und zu erweitern auf
    • - interface GigabitEthernet 0/1
    • - duplex full
  • und wird dann das Modell verwenden, um nachzuschlagen, welche Teile der modellierten Konfiguration durch diesen Befehl betroffen sind, und ihn entsprechend aktualisieren, in diesem Fall modifizieren:
    • - <interface>
      1. 1. <GigabitEthernet>
      2. 2. <duplex>
      3. 3. <full/>
      4. 4. </duplex>
  • Wenn es keine Abhängigkeiten von anderen Teilen der Konfiguration gibt, werden diese auch realisiert (Hinzufügungen, Modifizierungen und Löschungen anderer Zweige, falls angebracht). Befehlssequenzen, die auf der Grundlage der im Modell codifizierten Syntax und Wechselbeziehungen ungültig sind, können zurückgewiesen werden.
  • Das Ergebnis ist eine vorhergesagte modellierte Konfiguration für die Netzwerkeinheit, welche die Vorhersage des Systems dessen darstellt, was die Einheit tun würde, wenn sie diese Befehle empfangen würde, ausgedrückt im modellierten Konfigurationsformat.
  • REGELANWENDEKOMPONENTE
  • Regeln können unter Verwendung der GUI eingegeben und im System gespeichert werden. Der Teilsatz von Regeln, der unter allen Umständen angewendet werden kann, kann durch das System auf der Grundlage der Berechtigungen des Benutzers, des Typs der Einheit und weiterer relevanter Kriterien (wie möglicherweise die Netzwerkrolle der Einheit oder ein manueller administrativer Prozess, Regeln auf Einheiten zu beziehen) ermittelt werden.
  • Diese Regeln können im Hinblick auf die modellierte Konfiguration wie vorstehend gezeigt ausgedrückt werden und könnten so einfach sein wie „dieser Benutzer darf keinen Konfigurationszweig ändern, der sich auf eine Gigabit-Ethernet-Schnittstelle bezieht“ oder könnten sehr komplex sein und Abhängigkeiten von anderen Teilen der Konfiguration aufweisen, wie beispielsweise die nachstehenden Beispiele.
  • Die Regeln können an der kompletten vorhergesagten Konfiguration ausgeführt werden, wodurch der Administrator komplexe Beziehungen zwischen unterschiedlichen Teilen der Konfiguration ausdrücken kann, und wodurch dem System kritischerweise nicht nur erlaubt wird, die Auswirkung der vom Benutzer tatsächlich eingetippten Befehle zu bewerten, sondern dies auch innerhalb des Kontextes der zuvor vorhandenen Konfigurationszustands (d.h. Dinge, die der Benutzer nicht eingetippt hat) zu tun.
  • Beispiele:
    • 5. Der Benutzer darf die Duplex-Einstellung auf einer Gigabit-Ethernet-Schnittstelle nicht ändern (darf sie aber auf einer schnellen Ethernet-Schnittstelle ändern).
    • 6. Der Benutzer darf die Duplex-Einstellung auf einer Gigabit-Ethernet-Schnittstelle nicht ändern, wenn sich diese Schnittstelle im Teilnetz 172.2.x.x befindet.
    • 7. Zum Beispiel fügt auf einem Router der folgende Befehl eine Zeile zur Konfiguration hinzu.
  • - access-list 99 permit any
  • In diesem Beispiel kann der Konfiguration eine neue Konfigurationszeile hinzugefügt werden. Diese Änderung an der Konfiguration wird jedoch nicht zu einer Änderung am Verhalten der Netzwerkeinheit führen. Dieser Befehl erzeugt lediglich eine Einrichtung, die andernorts in der Konfiguration verwendet werden kann. Um diese Zeile aus der Konfiguration zu entfernen, kann der Benutzer den Befehl eingeben.
  • - no access-list 99
  • Dieser Befehl wird die gesamte Zugangsliste aus der Konfiguration entfernen. Es wird jedoch keine Warnung ausgegeben, wenn auf die Einrichtung andernorts in der Konfiguration Bezug genommen wird, die Konfiguration wird einfach mit einem verwaisten Bezug auf die Einrichtung belassen. Das Verhalten der Einheit wird sich ändern, sobald der Befehl ausgegeben wird. In diesem Beispiel könnte dies möglicherweise zu einem Sicherheitsleck führen.
  • Ein Haupterfordernis für und somit ein Hauptvorteil des hierein beschriebenen modellgestützten Befehlseinschränkungsmechanismus liegt darin, dass das Modell die Verknüpfungen zwischen Elementen in der Konfiguration bereitstellt. Das Verständnis der Verknüpfungen zwischen den Konfigurationselementen stellt die Fähigkeit bereit, zu verstehen, wie die Anwendung eines Befehls das Verhalten der Netzwerkeinheit beeinflussen wird.
  • Im gegebenen Beispiel wurde nur die Zeile der Konfiguration der Einheit geändert, es könnte jedoch die Bedeutung vieler Zeilen in der Konfiguration betroffen sein. Unter Verwendung des Modells ist es möglich, Richtlinienregeln zu erzeugen, die das Ausführen von Befehlen verhindern, die verwaiste Bezüge erzeugen würden.
  • Es wird das folgende Konfigurationsfragment betrachtet:
!
         - class-map match-all fred
         - match ip dscp af11
         !
         !
         policy-map NEWPOL
         - class fred
                 1. drop
                 !
                 interface GigabitEthernet0/1
         - ip address 10.1.1.1 255.255.255.252
         - ip access-group 1 in
         - ip router isis
         - duplex auto
         - speed auto
         - service-policy input NEWPOL
         end
         !
         !
         access-list 1 permit 10.0.0.0
         access-list 1 permit 172.20.3.15
         !
         access-list 2 permit 10.0.0.0
         access-list 2 deny 172.20.3.14
  • Regeln können konstruiert werden, die Folgendes durchsetzen: Dem Benutzer ist nicht erlaubt, irgendwelche Befehle auszuführen, welche Dienstrichtlinien oder ACLs ändern, die auf irgendeiner Schnittstelle in Verwendung sind, somit können „NEWPOL“, „class-map fred“ und die ACL „access-list 1“ nicht bearbeitet werden, es wird ihm jedoch erlaubt, „access-list 2“ zu ändern.
  • Der Stand der Technik für die Einschränkung von Benutzerkonfigurationsbefehlen kann wie folgt definiert werden:
    • Sei S der Satz aller Einheitenkonfigurationszustände;
    • Sei C der Satz aller gültigen und vollständigen Befehlszeichenketten für die Einheit.
  • Derzeit werden Benutzerbefehle durch Realisieren einer Funktion eingeschränkt:
    f:C->{wahr,falsch} wobei:
    • f(c) = wahr, wenn es sich bei c um einen erlaubten Befehl handelt;
    • f(c) = falsch, wenn es sich bei c um einen verbotenen Befehl handelt.
  • Beim beschriebenen Modell werden, anstatt eine rein syntaktische Einschränkung wie vorstehend durchzuführen, der aktuelle und der modellierte zukünftige Zustand wie folgt berücksichtigt:
    Definiere eine Funktion:
    g:C,S->S definiert durch:
    g(c,s) = der Konfigurationszustand einer Einheit, nachdem der Befehl c auf den Konfigurationszustand s angewandt wird.
  • Definiere dann eine Funktion:
    • - h:S->{wahr,falsch} definiert als:
    • - h(s) = wahr, wenn es sich um einen akzeptablen Konfigurationszustand handelt
    • - h(s) = falsch, sonst.
  • Wenn nun ein Befehl c übermittelt wird, berechne h(g(c,s)) und verwende die Ausgabe, um zu ermitteln, ob der Befehl erlaubt wird.
  • Die Netzwerkeinheiten-Konfigurationsverwaltung kann einem Kunden über ein Netzwerk als Dienst bereitgestellt werden.
  • Die Erfindung kann in Form einer vollständigen Hardware-Ausführungsform, einer vollständigen Software-Ausführungsform oder einer Ausführungsform, die sowohl Hardware- als auch Software-Elemente enthält, ausgeführt sein. In einer bevorzugten Ausführungsform ist die Erfindung in Software oder Programmcode ausgeführt, was Firmware, residente Software, Mikrocode usw. mit einschließt, ohne darauf beschränkt zu sein.
  • Die Erfindung kann in Form eines von einem von einem Computer verwendbaren oder computerlesbaren Medium zugänglichen Computerprogrammprodukts ausgebildet sein, das Programmcode zur Verwendung durch oder in Verbindung mit einem Computer oder einem beliebigen System zur Ausführung von Anweisungen bereitstellt. Zum Zwecke dieser Beschreibung kann es sich bei einem von einem Computer verwendbaren oder computerlesbaren Medium um jede beliebige Vorrichtung handeln, die das Programm zur Verwendung durch oder in Verbindung mit dem System, der Vorrichtung oder der Einheit zur Ausführung von Anweisungen beinhalten, speichern, übermitteln, verbreiten oder transportieren kann.
  • Bei dem Medium kann es sich um ein System (oder eine Vorrichtung oder Einheit) oder ein Verbreitungsmedium elektronischer, magnetischer, optischer, elektromagnetischer, Infrarot oder Halbleiter verwendender Art handeln. Zu Beispielen eines computerlesbaren Mediums zählen ein Halbleiter- oder Festkörperspeicher, Magnetband, eine Wechselcomputerdiskette, ein Speicher mit wahlfreiem Zugriff (RAM), ein Nur-Lese-Speicher (ROM), eine starre Magnetplatte und eine optische Platte. Zu aktuellen Beispielen für optische Platten zählen ein Compact-Disk-Nur-Lese-Speicher (CD-ROM), eine Schreib/Lese-Compact-Disk (CD-R/W) und eine DVD.
  • Claims (18)

    1. Verfahren zur Netzwerkeinheiten-Konfigurationsverwaltung, aufweisend: Empfangen (304) eines Satzes von Benutzerbefehlen für eine Konfiguration einer Netzwerkeinheit (110); Abrufen eines syntaktischen Modells (131) einer Netzwerkeinheiten-Konfigurationsschnittstelle für einen Netzwerkeinheitentyp und Erzeugen (303) einer modellierten Konfiguration (134) einer aktuellen Konfiguration der Netzwerkeinheit (110); Vorhersagen (305) des Effekts der Benutzerbefehle auf die modellierte Konfiguration (134), um eine vorhergesagte modellierte Konfiguration (143) zu erzeugen; und Anwenden (306) von Regeln für einen Benutzer und/oder einen Netzwerkeinheitentyp, um zu ermitteln, ob die Befehle auf der Grundlage der vorhergesagten modellierten Konfiguration (143) der Netzwerkeinheit (110) erlaubt sind.
    2. Verfahren nach Anspruch 1 oder Anspruch 2, wobei: das Vorhersagen (305) des Effekts der Benutzerbefehle den Effekt eines Befehls, den der Benutzer eingibt, auf die Netzwerkeinheitenkonfiguration in nahezu Echtzeit vorhersagt.
    3. Verfahren nach einem der Ansprüche 1 bis 3, beinhaltend: Definieren eines Satzes von Regeln (153), aufweisend Beziehungen zwischen einem Satz von Netzwerkeinheitentypen, einem Satz von Befehlen ausgebenden Benutzern und dem Satz von Konfigurationsänderungen, die vorzunehmen ihnen erlaubt ist.
    4. Verfahren nach einem der vorhergehenden Ansprüche, beinhaltend: Puffern (304) empfangener Benutzerbefehle, bis die Benutzerbefehle erlaubt oder verweigert werden.
    5. Verfahren nach einem der vorhergehenden Ansprüche, wobei das syntaktische Modell (131) verwendet wird, um einen durch einen Benutzer eingegebenen Befehl eindeutig zu machen und zu erweitern, und eine Baumdarstellung aller möglichen Schlüsselwortbefehle enthält, die an diesen Netzwerkeinheitentyp ausgegeben werden können.
    6. Verfahren nach einem der vorhergehenden Ansprüche, wobei es sich bei dem syntaktischen Modell (131) um eine Kombination aus Code und Metadaten handelt, die es ermöglicht, eine Konfiguration einer Netzwerkeinheit in einem Format auszudrücken, das zur Ansicht und Bearbeitung dargestellt werden kann.
    7. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Vorhersagen (305) des Effekts der Benutzerbefehle beinhaltet: Beziehen der Befehlssyntax auf die Konfigurationssyntax, wo sich diese unterscheiden; Ausdrücken des Effekts jedes Befehls auf die Konfiguration einschließlich Zuordnen jedes Befehlsschlüsselwortes zu einem Modellzweig oder Modellzweigen, auf den oder die er einen Effekt hat, und Ausdrücken jeglicher Übersetzungen, die ausgeführt werden müssen.
    8. Verfahren nach einem der vorhergehenden Ansprüche, wobei die vorhergesagte modellierte Konfiguration (143) für die Netzwerkeinheit (110) eine Vorhersage der Konfiguration darstellt, welche die Netzwerkeinheit annehmen würde, wenn sie die Benutzerbefehle empfangen würde, ausgedrückt in einem strukturierten Format.
    9. System zur Netzwerkeinheiten-Konfigurationsverwaltung, aufweisend: einen Prozessor; eine Benutzereingabekomponente (160) zum Empfangen eines Satzes von Benutzerbefehlen für eine Konfiguration einer Netzwerkeinheit (110); eine Modellierkomponente (130) zum Abrufen eines syntaktischen Modells (131) einer Netzwerkeinheiten-Konfigurationsschnittstelle für einen Netzwerkeinheitentyp und Erzeugen einer modellierten Konfiguration (134) einer aktuellen Konfiguration der Netzwerkeinheit (110); eine modellgestützte Konfigurationsvorhersagekomponente (140) zum Vorhersagen des Effekts des Benutzerbefehls auf die modellierte Konfiguration (134), um eine vorhergesagte modellierte Konfiguration (143) zu erzeugen; und eine Regelanwendekomponente (150) zum Anwenden von Regeln für einen Benutzer und/oder einen Netzwerkeinheitentyp, um zu ermitteln, ob die Befehle auf der Grundlage der vorhergesagten modellierten Konfiguration (143) der Netzwerkeinheit (110) erlaubt sind.
    10. System nach Anspruch 9, wobei: die modellgestützte Konfigurationsvorhersagekomponente (140) zum Vorhersagen des Effekts der Benutzerbefehle den Effekt der Reihe von Befehlen, die der Benutzer eingibt, auf die Netzwerkeinheitenkonfiguration in nahezu Echtzeit vorhersagt.
    11. System nach Anspruch 9 oder Anspruch 10, enthaltend: eine Regeldefinierkomponente zum Definieren eines Satzes von Regeln, aufweisend Beziehungen zwischen einem Satz von Netzwerkeinheitentypen, einem Satz von Befehlen ausgebenden Benutzern und einem Satz erlaubter Konfigurationsmodellaktualisierungen.
    12. System nach einem der Ansprüche 9 bis 11, enthaltend: eine Befehlspufferkomponente (171) zum Puffern der empfangenen Benutzerbefehle bis die vorgeschlagene Konfigurationsmodelländerung erlaubt oder verweigert wird.
    13. System nach einem der Ansprüche 9 bis 13, wobei das syntaktische Modell (131) verwendet wird, um einen durch einen Benutzer eingegebenen Befehl eindeutig zu machen und zu erweitern, und eine Baumdarstellung aller möglichen Schlüsselwortbefehle enthält, die an diesen Netzwerkeinheitentyp ausgegeben werden können.
    14. System nach einem der Ansprüche 9 bis 13, wobei es sich bei dem syntaktischen Modell (131) um eine Kombination aus Code und Metadaten handelt, die es ermöglicht, eine Konfiguration einer Netzwerkeinheit in einem Format auszudrücken, das zur Ansicht und Bearbeitung dargestellt werden kann.
    15. System nach einem der Ansprüche 9 bis 14, wobei die modellgestützte Konfigurationsvorhersagekomponente (140) zum Vorhersagen des Effekts des Benutzerbefehls enthält: Beziehen der Befehlssyntax auf die Konfigurationssyntax, wo sich diese unterscheiden; Ausdrücken des Effekts jedes Befehls auf die Konfiguration einschließlich Zuordnen jedes Befehlsschlüsselwortes zu einem Modellzweig oder Modellzweigen, auf den oder die er einen Effekt hat, und Ausdrücken jeglicher Übersetzungen, die ausgeführt werden müssen.
    16. System nach einem der Ansprüche 9 bis 15, wobei es sich bei dem System um einen Teil eines Netzwerkkonfigurationsverwalters (120) handelt.
    17. Computerprogrammprodukt zur Netzwerkeinheiten-Konfigurationsverwaltung, wobei das Computerprogrammprodukt aufweist: ein computerlesbares Speichermedium, das durch eine Verarbeitungsschaltung lesbar ist und Anweisungen zum Durchführen eines Verfahrens nach einem der Ansprüche 1 bis 8 zur Ausführung durch die Verarbeitungsschaltung speichert.
    18. Auf einem computerlesbaren Medium gespeichertes und in den internen Speicher eines digitalen Computers ladbares Computerprogramm, das Software-Codeabschnitte aufweist, um im Falle, dass das Programm auf einem Computer ausgeführt wird, das Verfahren nach einem der Ansprüche 1 bis 8 durchzuführen.
    DE112012004935.7T 2011-12-21 2012-12-10 Netzwerkeinheiten-Konfigurationsverwaltung Active DE112012004935B4 (de)

    Applications Claiming Priority (3)

    Application Number Priority Date Filing Date Title
    GB1122037.3A GB2497932A (en) 2011-12-21 2011-12-21 Network device modelling of configuration commands to predict the effect of the commands on the device.
    GB1122037.3 2011-12-21
    PCT/IB2012/057133 WO2013093702A1 (en) 2011-12-21 2012-12-10 Network device configuration management

    Publications (2)

    Publication Number Publication Date
    DE112012004935T5 DE112012004935T5 (de) 2014-08-28
    DE112012004935B4 true DE112012004935B4 (de) 2018-06-07

    Family

    ID=45572814

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    DE112012004935.7T Active DE112012004935B4 (de) 2011-12-21 2012-12-10 Netzwerkeinheiten-Konfigurationsverwaltung

    Country Status (5)

    Country Link
    US (1) US9621420B2 (de)
    CN (1) CN103999065B (de)
    DE (1) DE112012004935B4 (de)
    GB (2) GB2497932A (de)
    WO (1) WO2013093702A1 (de)

    Families Citing this family (15)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US8837491B2 (en) 2008-05-27 2014-09-16 Glue Networks Regional virtual VPN
    US9760528B1 (en) 2013-03-14 2017-09-12 Glue Networks, Inc. Methods and systems for creating a network
    US9928082B1 (en) 2013-03-19 2018-03-27 Gluware, Inc. Methods and systems for remote device configuration
    US9392538B2 (en) * 2014-04-23 2016-07-12 Verizon Patent And Licensing Inc. Automated wireless channel changing
    CN107431633A (zh) * 2015-02-12 2017-12-01 科锐安特股份有限公司 维护配置数据结构的方法和装置
    US9785412B1 (en) 2015-02-27 2017-10-10 Glue Networks, Inc. Methods and systems for object-oriented modeling of networks
    US10904082B1 (en) * 2015-09-09 2021-01-26 Amazon Technologies, Inc. Velocity prediction for network devices
    WO2018109792A1 (ja) * 2016-12-12 2018-06-21 株式会社Fuji 対基板作業システム
    US11182259B2 (en) * 2017-09-07 2021-11-23 Pismo Labs Technology Limited Configuration rollback based on the failure to satisfy predefined conditions
    CN112805984B (zh) * 2018-10-03 2022-09-23 华为技术有限公司 用于部署增量网络更新的系统
    CN109412856B (zh) * 2018-11-05 2022-06-03 深圳互联先锋科技有限公司 一种网络设备品牌无差异管理方法及系统
    CN112822031A (zh) * 2019-11-18 2021-05-18 中盈优创资讯科技有限公司 网络设备配置文件解析方法及装置
    US11349714B1 (en) * 2021-01-07 2022-05-31 Kyndryl, Inc. Cognitive command line interface for configuring devices
    US20230145526A1 (en) * 2021-11-05 2023-05-11 International Business Machines Corporation Predict new system status based on status changes
    CN114461309A (zh) * 2022-01-27 2022-05-10 联信弘方(北京)科技股份有限公司 指令自动编排及自动下发方法

    Citations (1)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US20090222540A1 (en) * 2005-11-18 2009-09-03 Richard Mishra Architecture for operational support system

    Family Cites Families (25)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    JP3184169B2 (ja) 1999-01-14 2001-07-09 エヌイーシーソフト株式会社 ネットワークデバイス設定管理システム、ネットワークデバイス設定管理方法およびネットワークデバイス設定管理プログラムを記録した記録媒体
    WO2000075788A1 (en) 1999-05-26 2000-12-14 Fujitsu Network Communications, Inc. Network element management system
    US7249170B2 (en) 2000-12-06 2007-07-24 Intelliden System and method for configuration, management and monitoring of network resources
    US7171458B2 (en) 2001-06-12 2007-01-30 International Business Machines Corporation Apparatus and method for managing configuration of computer systems on a computer network
    US7200548B2 (en) 2001-08-29 2007-04-03 Intelliden System and method for modeling a network device's configuration
    US7065562B2 (en) 2001-11-26 2006-06-20 Intelliden, Inc. System and method for generating a representation of a configuration schema
    US6959329B2 (en) 2002-05-15 2005-10-25 Intelliden System and method for transforming configuration commands
    US7461158B2 (en) 2002-08-07 2008-12-02 Intelliden, Inc. System and method for controlling access rights to network resources
    US20040078457A1 (en) 2002-10-21 2004-04-22 Tindal Glen D. System and method for managing network-device configurations
    US7620535B2 (en) * 2002-12-19 2009-11-17 Computer Associates Think, Inc. Method and apparatus for the simulation of computer networks
    US7523184B2 (en) 2002-12-31 2009-04-21 Time Warner Cable, Inc. System and method for synchronizing the configuration of distributed network management applications
    WO2004090672A2 (en) * 2003-04-02 2004-10-21 Network Clarity, Inc. Methods and systems for controlling network infrastructure devices
    US7676445B2 (en) * 2003-08-20 2010-03-09 International Business Machines Corporation Apparatus, system and method for developing failure prediction software
    GB2407657B (en) * 2003-10-30 2006-08-23 Vox Generation Ltd Automated grammar generator (AGG)
    US7693699B2 (en) 2005-08-19 2010-04-06 Opnet Technologies, Inc. Incremental update of virtual devices in a modeled network
    US8116439B1 (en) * 2005-08-19 2012-02-14 Avaya Inc. Call intrusion
    WO2007065471A1 (en) 2005-12-05 2007-06-14 Telefonaktiebolaget Lm Ericsson (Publ) A method and a system relating to network management
    CN101351992B (zh) 2006-01-27 2012-06-13 国际商业机器公司 自动克隆it资源结构的方法和系统
    US8106444B2 (en) * 2006-11-14 2012-01-31 Nec Corporation Semiconductor device
    US8484625B2 (en) * 2009-04-01 2013-07-09 Motorola Mobility Llc Method and apparatus to vet an executable program using a model
    US8897174B2 (en) 2009-09-18 2014-11-25 Netcracker Technology Corp. Network configuration management
    WO2011088898A1 (en) * 2010-01-22 2011-07-28 Telefonaktiebolaget L M Ericsson (Publ) Verification of compatibility among telecommunication network features
    GB2477921A (en) * 2010-02-17 2011-08-24 Sidonis Ltd Analysing a network using a network model with simulated changes
    JP5471666B2 (ja) * 2010-03-19 2014-04-16 富士通株式会社 ネットワーク管理装置、ネットワーク管理方法及びネットワーク管理プログラム
    US8661095B2 (en) * 2011-05-25 2014-02-25 Juniper Networks, Inc. Identifying scripting form of text commands for a network device

    Patent Citations (1)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US20090222540A1 (en) * 2005-11-18 2009-09-03 Richard Mishra Architecture for operational support system

    Also Published As

    Publication number Publication date
    GB2511258A (en) 2014-08-27
    GB2511258B (en) 2014-11-19
    GB2497932A (en) 2013-07-03
    DE112012004935T5 (de) 2014-08-28
    GB201122037D0 (en) 2012-02-01
    US9621420B2 (en) 2017-04-11
    GB201410603D0 (en) 2014-07-30
    WO2013093702A1 (en) 2013-06-27
    US20140379881A1 (en) 2014-12-25
    CN103999065B (zh) 2016-10-19
    CN103999065A (zh) 2014-08-20

    Similar Documents

    Publication Publication Date Title
    DE112012004935B4 (de) Netzwerkeinheiten-Konfigurationsverwaltung
    DE69832946T2 (de) Verteiltes System und Verfahren zur Steuerung des Zugriffs auf Netzmittel und Ereignismeldungen
    DE202011110895U1 (de) Echtzeitsynchronisierte Bearbeitung von Dokumenten durch mehrere Benutzer für das Bloggen
    DE112018004411T5 (de) Zugriffssteuerung in mikrodienst-architekturen
    DE112010004651T5 (de) 1Dynamische Zugangskontrolle für Dokumente in elektronischen Datenübertragungsvorgängen in einer Cloud-Computing-Umgebung
    DE10393571T5 (de) Verfahren und System zum Validieren logischer End-to-End-Zugriffspfade in Storage Area Netzwerken
    US20150172320A1 (en) Method and devices for access control
    EP3012761A1 (de) Schutz von softwaremodellen
    DE112021002245T5 (de) Verhindern einer unberechtigten bereitstellung von paketen in clustern
    DE112020000538T5 (de) Feinkörnige zugriffskontrolle auf token-grundlage
    DE102019131039A1 (de) Systeme und methoden für die live-validierung der gerätekonfiguration
    DE112015003926T5 (de) Publish/Subscribe-Messaging unter Verwendung einer Nachrichtenstruktur
    DE112018002954T5 (de) Bereitstellen eines konfigurationsabhängigen arbeitsablaufs
    DE112016002392T5 (de) Autorisierung in einem verteilten System unter Verwendung von Zugriffssteuerungslisten und Gruppen
    EP2772856A1 (de) Verfahren zum Ausführen von Tasks auf einem Produktions-Computersystem sowie Datenverarbeitungssystem
    DE102021130396A1 (de) Datenzugriffsüberwachung und -steuerung
    DE102020104871A1 (de) High performance compute-infrastruktur als service
    DE102014225538A1 (de) Verwaltungsvorrichtung und verwaltungsverfahren für eine verwaltungsvorrichtung
    DE112021006372T5 (de) Sichere bereitstellung einer datenverarbeitungsressource unter verwendung einer homomorphen verschlüsselung
    DE112020005526T5 (de) Reservieren eines oder mehrerer sicherheitsmodule für einen sicheren gast
    DE112020002859T5 (de) Verschlüsselter wissens-graph
    DE112018008066B4 (de) Virtualisierte Netzwerkfunktionen
    DE102021123288A1 (de) Regelbasiertes filtern zum sichern von kennwortanmeldungen
    DE112019002052T5 (de) Datenschutzsensibilisierung bei der bereitstellung von arbeitslasten
    EP3084675B1 (de) Datenzugriffskontrolle für wirtschaftsverfahren

    Legal Events

    Date Code Title Description
    R012 Request for examination validly filed
    R082 Change of representative

    Representative=s name: RICHARDT PATENTANWAELTE PART GMBB, DE

    Representative=s name: RICHARDT PATENTANWAELTE PARTG MBB, DE

    R079 Amendment of ipc main class

    Free format text: PREVIOUS MAIN CLASS: G06F0013000000

    Ipc: G06F0015177000

    Effective date: 20140729

    R016 Response to examination communication
    R018 Grant decision by examination section/examining division
    R084 Declaration of willingness to licence
    R020 Patent grant now final