DE69826995T2 - Planungssystem für breitbandverbindungen mit mehreren diensten - Google Patents

Planungssystem für breitbandverbindungen mit mehreren diensten Download PDF

Info

Publication number
DE69826995T2
DE69826995T2 DE69826995T DE69826995T DE69826995T2 DE 69826995 T2 DE69826995 T2 DE 69826995T2 DE 69826995 T DE69826995 T DE 69826995T DE 69826995 T DE69826995 T DE 69826995T DE 69826995 T2 DE69826995 T2 DE 69826995T2
Authority
DE
Germany
Prior art keywords
network
clause
sub
endpoint
link
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.)
Expired - Lifetime
Application number
DE69826995T
Other languages
English (en)
Other versions
DE69826995D1 (de
Inventor
Colin Clive HAYBALL
Lawrence Nigel BRAGG
Forbes Niall Nr ROSS
Andrew Sawbridgeworth TUNNICLIFFE
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.)
Nortel Networks Ltd
Original Assignee
Nortel Networks Ltd
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
Priority claimed from GB9707398A external-priority patent/GB2324223A/en
Application filed by Nortel Networks Ltd filed Critical Nortel Networks Ltd
Application granted granted Critical
Publication of DE69826995D1 publication Critical patent/DE69826995D1/de
Publication of DE69826995T2 publication Critical patent/DE69826995T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

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/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5619Network Node Interface, e.g. tandem connections, transit switching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5625Operations, administration and maintenance [OAM]
    • H04L2012/5626Network management, e.g. Intelligent nets

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf Kommunikationsnetzwerke, insbesondere, jedoch nicht ausschließlich auf die Planung von Mehrdienste-Verbindungen in einem hierarchischen Breitband-Netzwerk.
  • Hintergrund der Erfindung
  • Breitband-Kommunikationsnetzwerke müssen eine Vielzahl von Diensten, in vielen Fällen in Kombination, über Transport- und Zugangsnetzwerke bereitstellen, die sich geografisch hinsichtlich ihrer Fähigkeiten und ihrer Dienstgüte-Parameter unterscheiden. Weiterhin werden Kommunikationsdaten in vielen Fällen verschiedenen Formen von Transformationen, wie z. B. Kompression und Umsetzung, als Teil ihrer Übertragung zwischen den beteiligten Parteien unterworfen.
  • Breitband-Netzwerke sind mit großer Wahrscheinlichkeit für eine ziemlich lange zukünftige Zeit hinsichtlich der Arten der Verbindungsmöglichkeiten, die sie bieten, und der verfügbaren Dienste-Überleiteinrichtungen heterogen. Es ergibt sich daher ein Problem bei der Bereitstellung eines Dienstes zur Erfüllung der Forderungen eines Endbenutzers hinsichtlich der Einrichtungen, die bei einem Diensteanbieter zur Verfügung stehen.
  • Die Planung von Verbindungen in hierarchischen Breitband-Kommunikationsnetzwerken beinhaltet in ähnlicher Weise ein Planen einer Route von Verbindungsstrecken und/oder Knoten in einem einfachen Netzwerk. Aufgrund des Vorhandenseins der Hierarchie in dem Breitband-Kommunikationsnetzwerk kann das Routing- oder Weglenkungsproblem zu einer Hierarchie von Weglenkungs-Teilproblemen führen. Ein klassischer Weglenkungsalgorithmus (beispielsweise der von Dijkstra) könnte angewandt werden, um eine Route zwischen zwei Knoten zu finden. Das gleiche Weglenkungsproblem könnte jedoch rekursiv auf Teilprobleme angewandt werden, die in dem hierarchischen Netzwerk entstehen, doch muss, wenn ein Teilproblem keine Lösung hat, eine Route höherer Ebene modifiziert werden.
  • Eine weitere Kompliziertheit in einem heterogenen Breitband-Netzwerk besteht in den unterschiedlichen Eigenarten von Verbindungsstrecken zwischen Knoten, beispielsweise kann eine Verbindungsstrecke zwischen zwei Knoten lediglich in der Lage sein, eine bestimmte Art von Daten zwischen den zwei Knoten zu übertragen. Verkehrsübertragungs- und/oder Transportcharakteristiken derartiger Knoten stellen ein „Verhalten" der Knoten dar. Daher muss eine entsprechende Hierarchie von Verhaltensregeln gefunden werden, um die Verkehrsübertragungs-Transportcharakteristiken einzelner Verbindungsstrecken und/oder Knoten zusätzlich zu der Route von Verbindungsstrecken und/oder Knoten selbst zu beschreiben, um vollständig eine Verbindung zu planen, die einen Dienst für einen Endbenutzer bereitstellt.
  • In dem US-Patent 4 999 833 (Lee) ist ein System beschrieben, das einen Satz von heuristischen Regeln auf einer Wissensbasis anwendet, um Verbindungspfade durch ein Netzwerk auszuwählen. Die Verbindungspfade werden jedoch aus einer Weglenkungsfolge auf der Grundlage einer einfachen Liste von Kommunikationsverbindungsstrecken ausgewählt, so dass es nicht möglich ist, die Transformation von Kommunikationsdaten als Teil ihrer Übertragung über das Netzwerk abzuwickeln. Weiterhin bezieht sich das System lediglich auf Funknetzwerke und nicht auf heterogene Netzwerke und beseitigt daher nicht die Probleme, die mit der Planung von Mehrdienste-Verbindungen über Transport- und Zugangsnetzwerke verbunden sind, die sich geografisch hinsichtlich ihrer Fähigkeiten und ihrer Dienstgüte-Parameter unterscheiden.
  • Zusammenfassung der Erfindung
  • Eine neuartige hier umrissene Lösung unterstützt die Schaffung und die Verwaltung von Breitbanddienste-Verbindungen in einer integrierten Weise, wobei eine Kombination einer strukturierten Modellierung und einer zielbasierten Routenfindung verwendet wird.
  • Gemäß einem ersten Gesichtspunkt der vorliegenden Erfindung wird ein Verfahren zur Erstellung eines Verbindungsplans geschaffen, der zumindest eine Verbindung zwischen einer Mehrzahl von Endpunkten in einem Netzwerk darstellt, das eine Vielzahl von Knoten und eine Vielzahl von Verbindungsstrecken umfasst, wobei jeder Knoten zumindest einen Endpunkt aufweist, der ihn mit einer Verbindungsstrecke verbindet, wobei jede Verbindungsstrecke sich zwischen zumindest einem Paar der Endpunkte erstreckt und jede Verbindungsstrecke einen Typ aufweist, wobei der Verbindungsplan Daten, die einen Satz der genannten Endpunkte beschreiben, und Daten umfasst, die die Arten der Verbindungsstrecken zwischen den Endpunkten beschreiben, wobei das Verfahren die folgenden Schritte umfasst:
    Schaffen einer geschichteten Datendarstellung von zumindest einem Teil der Netzwerke durch Schaffen einer Datendarstellung der Knoten, Verbindungsstrecken und Endpunkte der Verbindung; und
    Anwenden eines Algorithmus auf die Datendarstellung zur Erzeugung des Verbindungsplans,
    wobei das Verfahren dadurch gekennzeichnet ist, dass der Schritt der Schaffung einer Datendarstellung des zumindest einen Teils des Netzwerkes die Darstellung des zumindest einen Teils des Netzwerkes als Syntaxdaten umfasst, die die Knoten, Verbindungsstrecken und Endpunkte beschreiben, und dass der Schritt des Anwendens eines Algorithmus auf die Datendarstellung das Manipulieren der Syntaxdaten mit Hilfe einer Künstliche-Intelligenz-Technik umfasst, um den Verbindungsplan zu gewinnen.
  • Vorzugsweise umfasst eine Syntax-Datendarstellung eine Liste von zumindest einer Klausel, wobei jede derartige Klausel zumindest einen Ausdruck umfasst.
  • Diese Klauseln können Aussagen und Bedingungen umfassen.
  • Vorzugsweise arbeitet der Algorithmus so, dass er einen Ausdruck einer Klausel auswählt, die die Verbindung als Teilziel darstellt, und rekursiv versucht, das Teilziel zu lösen.
  • Dem Teilziel kann eine Priorität zugeordnet werden, und der Algorithmus wählt ein Teilziel mit einer höchsten Priorität aus.
  • Ein Algorithmus kann ein Teilziel auswählen, das eine Klausel mit den wenigsten Ausdrücken ist.
  • Der Algorithmus kann ein Teilziel entsprechend der Reihenfolge seiner Ausdrücke auswählen.
  • Der Algorithmus kann ein Teilziel mit einer niedrigsten Position in der Netzwerk-Hierarchie auswählen.
  • Der Algorithmus kann das Teilziel zufällig auswählen.
  • Der Algorithmus kann eine Klausel, mit der das Teilziel zu lösen ist, entsprechend einer Position der Klausel in der Liste von Klauseln auswählen.
  • Der Algorithmus kann eine Klausel, mit der das Teilziel zu lösen ist, durch Auswahl einer Klausel auswählen, die einen Ausdruck aufweist, der in dem Verbindungsplan eingeschlossen ist.
  • Der Algorithmus kann eine Klausel, mit der das Teilziel zu lösen ist, durch Auswählen einer Klausel auswählen, die in der Netzwerk-Hierarchie am niedrigsten steht.
  • Der Algorithmus kann eine Klausel, mit der das Teilziel zu lösen ist, durch Auswählen einer Klausel mit einem Ausdruck auswählen, der die kleinste Kapazität hat.
  • Der Algorithmus kann zufällig eine Klausel auswählen, mit der das Teilziel zu lösen ist.
  • Vorzugsweise stellen die Klauseln Daten dar, die Merkmale des Netzwerkes beschreiben, wobei die Merkmale aus dem folgenden Satz ausgewählt sind:
    Klassen von Netzwerkknoten;
    Endpunkte der Netzwerkknoten;
    Verbindungsstrecken des Netzwerkes;
    schematische Darstellungen der Verbindungsstrecken-Typen.
  • Ein derartiger Verbindungsstrecken-Typ kann aus dem folgenden Satz ausgewählt werden:
    Bindung;
    Realisierung;
    Verhalten;
    Enthaltensein (Containment).
  • Eine geografische Darstellung des Verbindungsplans kann beschrieben werden.
  • Der Verbindungsplan wird vorzugsweise als ein Satz von Verbindungen in dem Netzwerk realisiert.
  • Die Darstellung kann eine im Wesentlichen Prolog-artige Syntax umfassen.
  • Gemäß einem zweiten Gesichtspunkt der vorliegenden Erfindung wird eine Verbindungsplanungsvorrichtung zum Planen von zumindest einer Verbindung in einem Netzwerk geschaffen, das eine Vielzahl von Knoten und Verbindungsstrecken aufweist, wobei jeder Knoten zumindest einen Endpunkt aufweist, der ihn mit einer Verbindungsstrecke verbindet, wobei jede Verbindungsstrecke zwischen den Endpunkten einen Typ aufweist, wobei die Vorrichtung in der Lage ist, einen Verbindungsplan zu schaffen, der einen Satz von Endpunkten und den Arten von Verbindungsstrecken zwischen den Endpunkten umfasst, wobei die Vorrichtung Folgendes umfasst:
    Einrichtungen zur Schaffung einer geschichteten Datendarstellung von zumindest einem Teil des Netzwerkes durch Schaffen einer Datendarstellung der Knoten, Verbindungsstrecken und Endpunkte der genannten Verbindung; und eine Inferenzmaschine, die einen Algorithmus umfasst, der die Datendarstellungen verwendet, um den Verbindungsplan zu erzeugen, wobei die Vorrichtung dadurch gekennzeichnet ist, dass die Einrichtung zur Schaffung einer Datendarstellung von zumindest einem Teil des Netzwerkes so angeordnet ist, dass sie eine Syntax-Datendarstellung schafft, die die Knoten, Verbindungsstrecken und Endpunkte beschreibt, und dass die Inferenzmaschine eine Künstliche-Intelligenz-Einrichtung umfasst, die auf die Syntax-Datendarstellung einwirkt, um den Verbindungsplan zu erzeugen.
  • Diese Syntax-Datendarstellung kann eine Liste von zumindest einer Klausel umfassen, wobei jede Klausel zumindest einen Ausdruck umfasst.
  • Diese Klauseln können Horn-Klauseln umfassen.
  • Die Inferenzmaschine kann einen Ausdruck einer Klausel auswählen, die die Verbindung als Teilziel darstellt, und rekursiv versuchen, das Teilziel zu lösen.
  • Dem Teilziel kann eine Priorität zugeordnet werden, und die Inferenzmaschine wählt ein Teilziel mit einer höchsten Priorität aus.
  • Die Inferenzmaschine kann ein Teilziel auswählen, das eine Klausel mit den wenigsten Ausdrücken ist.
  • Die Inferenzmaschine kann ein Teilziel entsprechend der Ordnung seiner Ausdrücke auswählen.
  • Die Inferenzmaschine kann ein Teilziel mit einer niedrigsten Position in der Netzwerk-Hierarchie auswählen.
  • Die Inferenzmaschine kann das Teilziel zufällig auswählen.
  • Die Inferenzmaschine kann eine Klausel, mit der das Teilziel zu lösen ist, entsprechend einer Position der Klausel in der Liste von Klauseln auswählen.
  • Die Inferenzmaschine kann eine Klausel, mit der das Teilziel zu lösen ist, durch Auswählen der Klausel auswählen, die einen Ausdruck einschließt, die in dem Verbindungsplan enthalten ist.
  • Die Inferenzmaschine kann eine Klausel, mit der das Teilziel zu lösen ist, durch Auswählen einer Klausel auswählen, die in der Netzwerk-Hierarchie am niedrigsten ist.
  • Die Inferenzmaschine kann eine Klausel, mit der ein Teilziel zu lösen ist, durch Auswählen einer Klausel mit einem Ausdruck auswählen, der die kleinste Kapazität hat.
  • Die Inferenzmaschine kann zufällig eine Klausel auswählen, mit der das Teilziel zu lösen ist.
  • Die Klauseln können Daten darstellen, die Merkmale des Netzwerkes beschreiben, wobei die Merkmale aus dem folgenden Satz ausgewählt sind:
    Klassen der Netzwerkknoten;
    Endpunkte der Netzwerkknoten;
    Verbindungsstrecken der Netzwerke;
    schematische Darstellung der Verbindungsstreckenarten.
  • Eine Verbindungsstreckenart wird in geeigneter Weise aus dem folgenden Satz ausgewählt:
    Bindung;
    Realisierung;
    Verhalten;
    Enthaltensein (Containment).
  • Vorzugsweise umfasst die Verbindungsplanungsvorrichtung weiterhin eine Einrichtung zur Anzeige einer grafischen Darstellung des Verbindungsplans.
  • Die Verbindungsplan-Vorrichtung kann eine Einrichtung zur Realisierung des Verbindungsplans als einen Satz von Verbindungen in dem Netzwerk umfassen.
  • Entsprechend einem dritten Gesichtspunkt der vorliegenden Erfindung wird ein Verfahren zur Verarbeitung von Daten geschaffen, die ein hierarchisches Netzwerk beschreiben, das eine Vielzahl von Knoten, wobei jeder dieser Knoten einen Satz von Ausrüstungsposten umfasst, und eine Vielzahl von physikalischen Verbindungsstrecken umfasst, die die Vielzahl von Knoten verbinden, wobei das Verfahren dadurch gekennzeichnet ist, dass es die folgenden Schritte umfasst:
    Darstellen einer Knotenausrüstung als Syntaxdaten, die die Knotenausrüstung beschreiben;
    Darstellen einer Vielzahl von Fähigkeiten der Knotenausrüstungen durch Schaffen von Syntaxdaten, die die Fähigkeiten beschreiben;
    Darstellen der Verbindungsstrecken durch Syntaxdaten, die die Verbindungsstrecken beschreiben, wobei die Syntaxdaten eine Mehrzahl von Klauseln umfassen; und
    Manipulieren der Klauseln mit Hilfe einer Künstliche-Intelligenz-Technik zur Erzielung einer Lösung von Verbindungen, die in der Lage sind, in ein geschichtetes Verbindungsmodell transformiert zu werden, das für die Anwendung in dem Netzwerk geeignet ist.
  • Die Darstellung der Syntaxdatenfähigkeiten umfasst vorzugsweise:
    eine Knotenidentifikation;
    einen Eingangsdaten-Typ;
    einen Ausgangsdaten-Typ; und
    eine hierarchische Netzwerkschicht, auf der der Knoten erscheint.
  • Die Syntaxdaten-Verbindungsstrecken-Darstellung umfasst vorzugsweise Folgendes:
    zumindest zwei Knoten, die Endpunkte der Verbindungsstrecken darstellen; und
    eine hierarchische Netzwerkschicht, auf der die Verbindungsstrecke erscheint.
  • Die Darstellung kann eine im Wesentlichen Prolog-artige Syntax umfassen.
  • Gemäß einem weiteren Gesichtspunkt der vorliegenden Erfindung wird eine Netzwerk-Verwaltungsvorrichtung für ein Kommunikationsnetzwerk geschaffen, das eine Vielzahl von miteinander verbundenen Netzwerkelement-Geräten umfasst, wobei die Netzwerk-Verwaltungsvorrichtung Folgendes umfasst:
    eine Vielzahl von Gerätesteuerungen, die zumindest ein entsprechendes Netzwerkelement-Gerät steuern, wobei die Vielzahl von Gerätesteuerungen eine Vielzahl von Geräte-Teilsteuerungen umfasst;
    wobei eine Vielzahl von von einem Netzwerkelement-Gerät ausgeführten Funktionen jeweils durch eine entsprechende jeweilige Geräte-Teilsteuerung dargestellt ist, und dadurch gekennzeichnet, dass:
    ein Satz von Multimedien-Diensteverbindungen zwischen den Gerätesteuerungen vorgesehen ist, dass die Verbindungen in einer Weise angeordnet sind, die einen Multimedien-Dienst zwischen den Netzwerkelement-Geräten darstellt, und wobei jede Geräte-Teilsteuerung Folgendes umfasst:
    eine Datenspeichereinrichtung, die Syntaxdaten speichert, die eine Funktion eines Netzwerkelement-Gerätes beschreibt; und eine Einrichtung zur Erzeugung von Verwaltungssteuersignalen aus den gespeicherten Syntaxdaten zur Steuerung des Netzwerkelement-Gerätes.
  • Gemäß einem weiteren Gesichtspunkt der Erfindung wird ein Verfahren zur Steuerung eines Netzwerkes geschaffen, das eine Vielzahl von Netzwerkelement-Geräten umfasst, wobei jedes Gerät eine Vielzahl von Dienstefunktionen unterstützt, wobei das Verfahren die folgenden Schritte umfasst:
    Darstellen jedes Netzwerkelement-Gerätes durch eine entsprechende Gerätesteuerung;
    für jede Gerätesteuerung, Darstellen jeder Funktionsfähigkeit, die von einem entsprechenden Netzwerkelement-Gerät bereitgestellt wird, durch eine entsprechende Geräte-Teilsteuerung; wobei das Verfahren durch die folgenden Schritte gekennzeichnet ist:
    Verknüpfen einer Vielzahl der Teilsteuerungen von unterschiedlichen Gerätesteuerungen in einer Weise, die eine geschichtete Diensteverbindung darstellt, die von den Netzwerkelement-Geräten unterstützt wird, und wobei jede Geräte-Teilsteuerung Folgendes umfasst:
    ein Datenspeichermedium zum Speichern von Syntaxdaten, die eine Funktionalität eines Netzwerkelement-Gerätes beschreiben; und
    eine Steuersignal-Erzeugungseinrichtung zur Erzeugung von Steuersignalen aus den gespeicherten Syntaxdaten zur Steuerung einer Funktion des Netzwerkelement-Gerätes.
  • Kurze Beschreibung der Zeichnungen
  • Zum besseren Verständnis der Erfindung, und um zu zeigen, wie diese ausgeführt werden kann, werden nunmehr lediglich als Beispiel spezielle Ausführungsformen, Verfahren und Prozesse gemäß der vorliegenden Erfindung unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen:
  • 1 schematisch einen Teil eines Breitband-Netzwerkes zeigt (in der Praxis würde ein Breitband-Netzwerk hauptsächlich Teilschichten, Knoten und Verbindungen haben);
  • 2 ein Modell einer Architektur eines Netzwerk-Verwaltungssystems zur Verwaltung von Netzwerk-Elementen des Netzwerkes nach 1 zeigt;
  • 3 eine Anordnung einer Netzwerk-Steuerungsvorrichtung zur Steuerung einzelner Netzwerkelemente über das Netzwerk nach 1 hin weg zeigt;
  • 4 schematisch ein Anwendungsmodell zeigt, das ein hierarchisches Netzwerk darstellt, das Instanzen und Verbindungen zwischen den Instanzen umfasst;
  • 5 schematisch einen Algorithmus gemäß der bevorzugten Ausführungsform zeigt, der einen Erzeugungs-Darstellungsschritt, einen Lösungsspezifikations-Schritt und einen Lösungssuche-Schritt umfasst;
  • 6 schematisch Schritte zeigt, die während des Lösungssuche-Schrittes nach 5 ausgeführt werden, unter Einschluss eines Teilziel-Auswahlschrittes und eines Entscheidungs-Schrittes, wie ein ausgewähltes Teilziel zu lösen ist;
  • 7 schematisch Schritte zeigt, die während des Auswahl-Schrittes eines Teilziels zur Lösung nach 6 ausgeführt werden, unter Einschluss einer Teilziel-Auswahl entsprechend Betriebsart- und Prioritätsschritten und eines Verbindungs-Teilziel-Auswahlschrittes;
  • 8 Prioritäten und Betriebsarten zeigt, die mit Teilzielen verbunden sind, die von den in 7 gezeigten Schritten verwendet werden;
  • 9 Schritte zeigt, die während des Teilziel-Verbindungs-Auswahlschrittes nach 7 ausgeführt werden;
  • 10 Schritte zeigt, die während des Schrittes zur Entscheidung, wie das ausgewählte Teilziel zu lösen ist, nach 6 ausgewählt werden;
  • 11 ein vereinfachtes Anwendungsmodell zeigt;
  • 12 schematisch Schritte zeigt, die von der bevorzugten Ausführungsform ausgeführt werden können, während ein Verbindungsproblem gelöst wird, das sich auf das Anwendungsmodell nach 11 bezieht;
  • 13 die Ausführung der Schritte nach 12 an dem Anwendungsmodell nach 11 zeigt;
  • 14 weitere Schritte zeigt, die von der bevorzugten Ausführungsform des Anwendungsmodells nach 11 ausgeführt werden können; und
  • 15 die Ausführung der Schritte nach 14 auf das Anwendungsmodell nach 11 zeigt.
  • Ausführliche Beschreibung der besten Art der Ausführung der Erfindung
  • Es wird nunmehr in Form eines Beispiels die beste Ausführungsform beschrieben, die von den Erfindern zur Ausführung der Erfindung in Betracht gezogen wird. In der folgenden Beschreibung sind vielfältige spezielle Einzelheiten angegeben, um ein gründliches Verständnis der vorliegenden Erfindung zu liefern. Es ist jedoch für den Fachmann verständlich, dass die vorliegende Erfindung in die Praxis umgesetzt werden kann, ohne dass diese speziellen Einzelheiten verwendet werden. In anderen Fällen wurden gut bekannte Verfahren und Strukturen nicht im Einzelnen beschrieben, um die vorliegende Erfindung nicht unnötig zu verdecken.
  • In 1 ist schematisch ein Teil eines Breitband-Kommunikationsnetzwerkes gezeigt, das eine Vielzahl von Knoten und Verbindungsstrecken umfasst, und bei dem ein Verbindungs-Planungsproblem vorhanden ist, das unter Bezugnahme auf ein Hybrid-Netzwerk beschrieben wird, das asynchrone Übertragungsbetriebsart-(ATM-) und T1-Übertragungsknoten umfasst. Eine Endbenutzervorrichtung 100, beispielsweise ein Telefon, kann lediglich über ein Sprachsignal kommunizieren und ist mit einem öffentlichen Fernsprechwählnetz (PSTN) an einer Ortsnetzvermittlung verbunden. An einer anderen Seite des ATM-Netzwerkes 101 befindet sich ein Textgenerator-System 102. Irgendwo innerhalb des Bereichs des ATM-Netzwerkes 101 befindet sich ein Text-zu-Sprache-Konverter 103 zur Umwandlung von von dem Textgenerator erzeugten Text in Sprachesignale. Ein Zugang zwischen dem T1-Netzwerk 104 und dem ATM-Netzwerk 101 erfolgt über eine T1-ATM-Zugangsvorrichtung 105.
  • Das Problem bei diesem Beispiel besteht darin, dass ein Benutzer der Endbenutzervorrichtung 100 wünschen könnte, eine Sprachemitteilung von dem von dem Textgenerator 102 erzeugten Text zu empfangen. Der Textgenerator 102 erzeugt Textdatensignale, die in Sprachesignale durch den Text-zu-Sprache-Konverter 103 umgewandelt werden, die dann über das ATM-Netzwerk und das T1-Netzwerk über den T1-ATM-Zugangsknoten 105 an den Endbenutzer weitervermittelt werden. Ein Betreiber an dem Textgenerator 102 gibt Text ein, der von dem Endbenutzer 100 über dessen Telefongerät als ein Sprachesignal empfangen wird.
  • Dies ist ein Beispiel eines Multimedien-Diensteverbindungsproblems. Im Kontext von allgemeine Multimediendienste unterstützenden Hybrid-Netzwerken kann sich eine große Anzahl von Problemen dieser Art ergeben, beispielsweise Text zu Sprache-Umwandlung, Sprache zu Text-Umwandlung, Datenumwandlung usw. Diese Probleme sind möglicherweise äußerst kompliziert zu lösen und nur kompliziert unter Verwendung eines Netzwerk-Verwaltungssystems zu verwalten.
  • Ein Problem besteht darin, dass man nicht nur in der Lage sein muss, herauszufinden, wie die erforderliche Verbindungsfähigkeit herzustellen ist, um einen Ende-zu-Ende-Dienst zu erzielen, sondern man muss auch in der Lage sein, diese Verbindungsmöglichkeit auf Netzwerk-Verwaltungseinrichtungen umzusetzen, um die physikalische Ressourcen-Hardware zu verwalten, die diesen Dienst bereitstellt.
  • Bei der hier vorgeschlagenen Lösung werden die Verbindungsmöglichkeits- und Zusammenwirkungs- oder Netzanpassungsmöglichkeiten, die ein Breitband-Kommunikationsnetzwerk bietet, in Ausdrücken von Folgendem modelliert:
    • (i) verschiedene Transport- und Dienste-Teilschichten, Knoten und Verbindungen zwischen Knoten;
    • (ii) Querverbindungs- und Zusammenwirkungs- oder Netanpassungsfunktionen, die in Knoten unterstützt sind.
  • Die in diesem Beispiel erläuterten Fähigkeiten könnten dazu verwendet werden, eine Vielzahl von unterschiedlichen Benutzer-Diensten zu unterstützen, unter Einschluss der Einfügung von automatisch erzeugten Sprache-Fragmenten aus einer Bibliothek von Zeichenketten.
  • Die 2 und 3 zeigen ein spezielles Beispiel, wie die Netzwerkelement-Geräte nach 1 auf der Grundlage von Schreibweisen modelliert werden können, die in den synchronen digitalen Hierarchie-(SDH-) und ATM-Verwaltungsdomänen verwendet werden.
  • Die Schreibweise des in 2 gezeigten Modells beruht auf einem Anwendungsmodell-Konzept, wie dies in der früheren US-Patentanmeldung 08/921649 vom 27. August 1997 des gleichen Anmelders beschrieben ist, von dem eine Kopie hiermit eingereicht wird, und deren Inhalte durch diese Bezugnahme hier aufgenommen werden.
  • Ein Anwendungsmodell umfasst eine Darstellung einer Vielzahl von Anwendungsebenen-Elementen, die Elemente in einem Verwaltungssystem sind, die sich auf eine physikalische Ressource beziehen, wie z. B. ein Bauteil, ein zusammengesetztes Bauteil oder ein System, wobei die Funktionalität des Bauteils, des zusammengesetzten Bauteils oder Systems unabhängig von einer internen Struktur des Bauteils, des zusammengesetzten Bauteils oder Systems dargestellt ist.
  • Ein Anwendungsebenen-Element kann in der Lage sein, Verwaltungssignale zu tiefem, die sich auf alle Gesichtspunkte der Verwaltung einer Funktionalität eines Bauteils, eines zusammengesetzten Bauteils oder eines Systems unabhängig von der internen Struktur beziehen, wobei beispielsweise Signale bereitgestellt werden, die einen Status oder ein Betriebsverhalten eines eines Bauteils, eines zusammengesetzten Bauteils oder eines Systems in Ausdrücken einer Funktionalität unabhängig von ihrer internen Struktur beschreiben oder eine Steuerung eines Bauteils, eines zusammengesetzten Bauteils oder eines Systems unabhängig von dessen interner Struktur liefern. In geeigneter Weise sind Anwendungsebenen-Elemente aus einem Satz von verwalteten Objekten, beispielsweise gemäß der ITU-T TMN-Architekturnorm aufgebaut.
  • Ein Anwendungsmodell umfasst ein Modell für eine externe Schnittstelle, das heißt eine „Black Box"-Betrachtung von modellierten physikalischen Ressourcen, das von einem Menschen als Benutzer oder einem Anwendungsprogramm verwendet werden kann.
  • Ein Realisierungsmodell umfasst eine Darstellung einer Sammlung von Realisierungsebenen-Elementen, die physikalische Ressourcen darstellen und mit diesen in Schnittstellenverbindung stehen, und in denen die spezielle interne Auslegung dieser Ressourcen, das heißt die physikalischen und logischen Realisierungsdetails von physikalischen Ressourcen, dargestellt sind.
  • Jeder Knoten des Netzwerkes, der ein physikalisches Netzwerkelement-Gerät umfasst, wie z. B. den Textgenerator 102, den Text-zu-Sprache-Konverter 103, den T1-ATM-Zugangsknoten 105 und die Endbenutzervorrichtung 100, ist durch eine jeweilige Gerätesteuerung 300, 301, 302, 303 in einer Netzwerk-Steuerungsvorrichtung dargestellt, die betrieben wird, um Knotenelement-Geräte des Netzwerkes über Betriebs-Verwaltungs-Wartungs-(OAM-)Steuersignale zu steuern, die über das Netzwerk hinweg übertragen werden. Die Gerätesteuerungen können verwaltete Objekte umfassen, wie dies in den ITU-T TMN-Architektur-Spezifikationen beschrieben ist. Die Gerätesteuerungen 300303 sind so aufgebaut und miteinander verbunden, dass sie die Dienstefunktionalität darstellen, die von ihren entsprechenden jeweiligen Netzwerkelement-Geräten 102, 103, 105, 106 bereitgestellt wird. Beispielsweise unterstützt eine Textgenerator-Gerätesteuerung 200 eine ATM-Anschluss-Endpunktfunktion und eine Textverbindungs-Endpunktfunktion. In ähnlicher Weise unterstützt eine Text-zu-Sprache-Konvertergerät-Steuerung 301 ein Paar von ATM-Verbindungs-Endpunkt-Funktionen 204, 205, eine Textverbindungs-Endpunktfunktion 206 und eine Sprache-Verbindung-Endpunktfunktion 202 und eine Text-zu-Sprache-Umwandlungsfunktion 208.
  • Jede Gerätesteuerung 300303 umfasst eine Anzahl von Teilsteuerungen, die jeweils eine Funktion steuern, die von dem entsprechenden Netzwerkelement-Gerät bereitgestellt wird. Die Teilsteuerung kann verwaltete Objekte umfassen, wie dies in den ITU-T-Architekturspezifikationen beschrieben ist. Beispielsweise stellt der Textgenerator 102 eine ATM-Verbindungs-Endpunkt-Einrichtung bereit, die durch eine ATM-Verbindungs-Endpunkt-Teilsteuerung 309 gesteuert wird, und der Textgenerator 102 stellt einen Textverbindungs-Endpunkt bereit, der durch die Textverbindungs-Endpunktfunktion-Teilsteuerung 310 unterstützt wird. Jede Teilsteuerung ist als ein Datenspeichergerät, das die Funktionalität beschreibende Datensignale enthält, beispielsweise von einem Gerät bereitgestellte Funktionen, und als eine Einrichtung zur Erzeugung von Funktionssteuersignalen zur Steuerung dieser Funktionalität realisiert. Die Teilsteuerungen von unterschiedlichen Gerätesteuerungen in der Netzwerk-Verwaltungsvorrichtung sind über Signalkanäle miteinander verbunden, die Diensteverbindungen, Verbindungsstrecken, Pfade und Dienstefunktionen darstellen.
  • Um die Netzwerk-Steuerung aufzubauen, die die Vielzahl von Gerätesteuerungen und einem Bestandteil hiervon bildenden Teilsteuerungen nach 3 umfasst, wird zunächst das Netzwerk modelliert, was zu Funktionsmodell-Daten führt, die die Funktionalität und Verbindungsmöglichkeit angeben, wie dies schematisch in 2 gezeigt ist.
  • In 2 ist jedes Netzwerkelement-Gerät in Ausdrücken der Funktionen modelliert, die es bereitstellt, und in 3 ist die Netzwerk-Steuerung als ein Satz von Gerätesteuerungen und Teilsteuerungen aufgebaut, die die funktionelle Struktur der Netzwerkelement-Geräte als solche wiederspiegeln. Beispielsweise wird ein funktionelles Modell 200 ausgearbeitet, das das Textgenerator-Gerät 102 beschreibt. Das funktionelle Modell umfasst ein Modell 210 für einen ATM-Verbindungs-Endpunkt und ein Modell 211 für einen Textverbindungs-Endpunkt. Die Funktionsmodelle werden in einer Gerätesteuerung 300 realisiert und bilden einen Teil einer Netzwerk-Steuervorrichtung, wie z. B. eine ATM-Verbindungs-Endpunkt-Teilsteuerung 309 und eine Textverbindungs-Endpunkt-Teilsteuerung 310.
  • Verbindungen zwischen den Teilsteuerungen, die als Teil der Steuersignale eingebettet sind, die zu anderen Teilsteuerungen gesandt werden, werden für den Betrieb der entsprechenden Netzwerk-Elemente verwendet, um Verbindungen, Verbindungsstrecken, virtuelle Pfade und andere Dienste über das Netzwerk hinweg bereitzustellen. Durch Umkonfigurieren der Verbindungen zwischen Teilsteuerungen in den Gerätesteuerungen kann das Netzwerk verwaltet werden, weil diese Zwischenverbindungsmöglichkeit in den tatsächlichen Netzwerkelement-Geräten wiedergegeben wird, die die OAM-Steuersignale von der Netzwerk-Steuerung empfangen, um diese Umkonfigurationen an der Funktionalität der entsprechenden Netzwerkelement-Geräte zu realisieren.
  • Das Modell kann durch Übersetzen der Fähigkeiten jedes Knotens und der Verbindungen zwischen dem Knoten in eine Syntax formalisiert werden, die zum Auffinden einer Route oder eines Leitwegs geeignet ist.
  • Die grundlegenden Elemente der Syntax sind:
    Verbindung (connection) (S, X, Y),
    (was eine Schicht-S-Verbindung zwischen den Orten X und Y bedeutet) und:
    Transformation (transform) (S, T, X)
    (was eine Netanpassungsfunktion zwischen den Dienstetypen S und T am Knoten X bedeutet – reduziert auf eine Querverbindungsfunktion, wenn S = T ist).
  • In jedem der vorstehenden Fälle kann der Dienstetyp selbst in Ausdrücken einer geschichteten Struktur ausgedrückt werden, beispielsweise S = Sprache/ATM (was bedeutet, dass der Dienst ein Sprache über ATM-Dienst ist).
  • Das Verbindungsproblem wird nunmehr in Ausdrücken einer Planungsaufgabe gelöst, die ein Ende der gewünschten Diensteverbindung als Starzustand und das andere als ihren Zielzustand und jede Verbindungs- und/oder Transformationskonstruktion als einen Operator annimmt. Es können weitere Zwangsbedingungen hinzugefügt werden, um die Dienstgüteparameter oder andere Charakteristiken von Netzwerk-Komponenten hinzuzufügen. Eine bekannte Künstliche-Intelligenz-Technik kann somit angewandt werden, um ein Multimedien-Diensteverbindungsproblem dadurch zu lösen, dass eine optimierte oder zumindest arbeitsfähige Lösung von Verbindungen und Transformationen unter Verwendung der Verbindungsstrecken und Knoten als Komponenten der Lösung gefunden wird.
  • Sobald eine gültige Lösung gefunden wurde, kann der resultierende Plan in ein geschichtetes Verbindungsmodell zurücktransformiert werden, das für eine Anwendung in einer Netzwerk-Verwaltungsumgebung auf der Grundlage einer Netzwerk-Steuerungsvorrichtung geeignet ist.
  • Es folgt nunmehr ein Anwendungsbeispiel zum Modellieren der Fähigkeiten des Netzwerk-Beispiels nach 1. Die in 1 dargestellten Fähigkeiten können syntaktisch wie folgt dargestellt werden:
    Verbindung (Text/ATM, A, B)
    (was eine ATM-Textverbindung zwischen den Knoten A und B bezeichnet, das heißt Textdaten können zwischen den Orten A und B übertragen werden).
    Transformation (Text/ATM, Sprache/ATM, B)
    (was bedeutet, dass der Knoten B in der Lage ist, ATM-Textdaten in ATM-Sprachedaten umzuwandeln).
    Verbindung (Sprache/ATM, B, C)
    (was bedeutet, dass eine ATM-Spracheverbindung zwischen den Knoten B und C, das heißt Sprachedaten, zwischen den Orten B und C übertragen werden können).
    Transformation (Sprache/ATM, Sprache/T1, C)
    (was bedeutet, dass der Knoten C in der Lage ist, ATM-Sprachedaten in T1-Sprachedaten umzuwandeln).
    Verbindung (Sprache/T1, C, D)
    (was eine T1-Spracheverbindung zwischen den Knoten C und D bedeutet, das heißt Sprachedaten können zwischen den Orten C und D übertragen werden).
  • Das Planungsziel ist, Text am Knoten A mit Sprache am Knoten D zu verbinden. Die Lösung (eindeutig in diesem Beispiel) ist eine Verbindung A-B-C-D, wobei die Text-Sprache-Umwandlung am Knoten B ausgeführt wird und die Sprache-Querverbindung am Knoten C ausgeführt wird. Die Lösung kann zurück auf das Netzwerk-Modell in Form einer zusammengesetzten Verbindung 311 überlagert werden, wie dies in 3 gezeigt ist, wobei die zusammengesetzte Verbindung 311 syntaktisch wie folgt dargestellt werden kann:
    Verbindung (Text/ATM, A, B), Transformation (Text/ATM, Sprache/ATM, B), Verbindung (Sprache/ATM, B, C), Transformation (Sprache/ATM, Sprache/T1, C), Verbindung (Sprache/T1, C, D).
  • Es werden nunmehr mögliche Erweiterungen und andere Anwendungen der hier beschriebenen Verfahren erläutert. Die Verbindungsplanungstechnik, die vorstehend beschrieben wurde, könnte sehr stark durch die vorhergehende Ermittlung der „physikalischen" Verbindungstopologie jeder Verbindungsmöglichkeits-Diensteschicht erleichtert werden. Beispielsweise setzen ATM-Netzwerke die PNNI-(Private Netzwerkknoten-Schnittstellen-)Technologie ein, um es der ATM-Vermittlung und den Endbenutzer-Knoten zu ermöglichen, eine abstrakte Ansicht der ATM-Netzwerk-Topologie zu ermitteln (über eine Peer-zu-Peer-Wechselwirkung) und eine Weglenkung oder ein Routing von Verbindungen über die ermittelte Topologie über ausgewählte Routing-Algorithmen durchzuführen. Dieses Konzept könnte auf Verbindungsmöglichkeits-Dienste höherer Ebene angewandt werden, wobei möglicherweise mit ATM-Anpassungsschichten, insbesondere AAL2, begonnen wird. Die an jeder Verbindungsmöglichkeits-Diensteschicht verfügbaren Verbindungen können in Ausdrücken von virtuellen privaten Netzwerken (VPN's) betrachtet werden, die über die nächst niedrigere Verbindungsschicht konstruiert werden.
  • Ein weiteres Beispiel der Konfiguration einer Netzwerk-Verwaltung unter Verwendung des Verbindungsplanungsverfahrens ist die Bereitstellung und Konfiguration von verteilten Netzwerkelementen. Die Konfiguration und Bereitstellung von verteilten Netzwerkelementen verwendet die gleiche Technik, wie sie weiter oben beschrieben wurde, jedoch unter Anwendung auf eine „Mikrokosmos"-Ebene von Verbindungen innerhalb von Knoten. Ein Beispiel würde die Konfiguration einer Signalisierungs-Verbindungsstrecke zwischen einem Zugangsport und einem internen Rahmenverarbeitungsgerät sein. Diese Technik, verbunden mit einem Auslegungswerkzeug zur Unterstützung der Konstruktionssystem-Verwaltungsmodelle aus Bauteilfragmenten kann einen größeren Einfluss auf die Zeit und die Bemühungen haben, die bei der Verwaltungssystem-Entwicklung auftreten.
  • Eine weitere Formalisierung der syntaktischen Darstellung gemäß des bevorzugten Verfahrens wird nunmehr beschrieben, und zwar ebenso wie Algorithmen, die Al-Algorithmen einschließen, die vorzugsweise auf einer Netzwerk-Steuerungs-Arbeitsstation ausgeführt werden, und die auf Daten angewandt werden, die gemäß der syntaktischen Darstellung geschaffen werden, um sie bei der Lösung von Problemen zu realisieren, wie z. B. bei der Planung von Breitband-Verbindungen.
  • Ein bevorzugtes Ausführungsbeispiel und ein Verfahren gemäß der vorliegenden Erfindung wird mit Beispielen erläutert, von denen das erste in 4 der beigefügten Zeichnungen gezeigt ist.
  • Bei der bevorzugten Ausführungsform und dem Verfahren werden Daten, die zumindest einen Teil des hierarchischen Breitband-Netzwerkes und ein zu lösendes Verbindungsproblem beschreiben, unter Verwendung einer syntaktischen Darstellung, wie es weiter oben offenbart wurde, beschrieben. Ein Algorithmus wird auf die Netzwerk- und Problemdaten angewandt, der versucht, das Problem durch Erzeugen eines Verbindungsplans zu lösen, der einen Satz von Netzwerk-Knoten und/oder Verbindungsstrecken oder andere Daten umfasst, die Netzwerk-Ressourcen/Elemente beschreiben, die einer Verbindung zugeteilt werden können, um sie in dem Netzwerk zu realisieren. Die Erfinder ziehen in Betracht, dass die Verwendung des Algorithmus zur Erzeugung eines derartigen Verbindungsplans dazu verwendet werden kann, einen Satz von zu realisierenden Netzwerk-Verbindungen auszuwählen, der am besten bestimmte Kriterien erfüllen kann, beispielsweise eine ausgeglichene Benutzung von Netzwerk-Ressourcen usw.
  • Die hier beschriebenen Beispiele verwenden die Schreibweise und Konzepte, die in der anhängigen Anmeldung US 08/921 649 des gleichen Anmelders vom 27. August 1997 beschrieben sind. Das in 4 gezeigte Beispiel umfasst drei Klassen: TDM, AVJ und Cell Ace, wobei eine Instanz jeder Klasse mit 401, 408 bzw. 409 bezeichnet ist. 4 umfasst ein Anwendungsmodell (wie es in den vorstehend genannten Patentanmeldungen offenbart ist) der Instanzen. Ein Anwendungsmodell umfasst einen Satz von Objekten, die Funktionalitäten darstellen, die von realen physikalischen Ressourcen bereitgestellt werden, ohne dass die speziellen Realisierungseinzelheiten dieser grundlegenden physikalischen Ressourcen beschrieben werden.
  • 4 zeigt die Beziehungen zwischen den Komponenten des Anwendungsmodells. Die Beziehungen sind hier als „Verbindungen" beschrieben. Vier Arten von Verbindungen können vorhanden sein:
    • – Realisierungen: hier wird unter dem Ausdruck Realisierung eine Beziehung zwischen einem Anwendungsmodell und einem Realisierungsmodell verstanden.
    • – Verhalten: hier wird unter dem Ausdruck Verhalten eine Klasse, die ein Datentransformationsverhalten in einer physikalischen Ressource, beispielsweise ein Netzwerk-Gerät modelliert, oder eine Klasse in einem Anwendungsmodell verstanden, das eine Funktion modelliert, die durch das Anwendungsmodell dargestellt ist.
    • – Enthaltensein: hier wird unter dem Ausdruck Enthaltensein (Containment) ein untergeordnetes Element (beispielsweise ein verwaltetes Objekt) eines Anwendungsmodells verstanden, das einem Oberelement (verwalteten Objekt) des Anwendungsmodells untergeordnet ist. Ein untergeordnetes Element, das in einem übergeordneten Element enthalten ist, kann über das übergeordnete Element zugänglich sein.
    • – Bindungen: beispielsweise eine Datenübertragungsstrecke zwischen den Komponenten des Anwendungsmodells, das mit Hilfe einer physikalischen Verbindungsstrecke realisiert werden kann.
  • In einem Breitband-Verbindungs-Planungsproblem kann eine Lösung des Problems einem Satz von Verbindungsstrecken und/oder Knoten umfassen, die eine Route zwischen zwei Knoten bilden. Eine grafische Darstellung, wie sie beispielsweise in 4 gezeigt ist, kann ein Realisierungsmodell beschreiben, das im Einzelnen angibt, welche Knoten und/oder Verbindungsstrecken des Anwendungsmodells zur Realisierung der Verbindung verwendet werden können. Mögliche Routen von Verbindungsstrecken, die zwischen Knoten vorhanden sind, sollen hier als „physikalische Verbindungsstrecken" bezeichnet werden, und Routen, die einen Satz von physikalischen Verbindungsstrecken umfassen, die während der Ausführung oder als Ergebnis der Ausführung des Algorithmus ausgewählt werden, werden als „logische Verbindungsstrecken" bezeichnet. Enthaltenseins- oder Containment-Verbindungsstrecken 435 können als Linien zwischen Netzwerkknoten dargestellt werden, die eine Rautenform an einem Ende aufweisen, was anzeigt, dass ein Netzwerkknoten an dem Rautenende der Linie einen Netzwerkknoten an einem anderen Ende der Linie enthält. Eine Bindungs-Verbindungsstrecke zwischen Knoten kann durch gerade Linien 436 dargestellt werden. Eine Realisierungs-Verbindungsstrecke 437 kann durch gestrichelte Linien mit einem Pfeil an einem Ende gezeigt werden und gibt an, dass ein Knoten an dem Pfeilspitzenende der gestrichelten Linie einen Knoten an einem anderen Ende der Linie realisiert. Eine Verhaltens-Verbindungsstrecke 438, die zwischen zwei Knoten existiert, kann durch eine horizontale Linie dargestellt werden, wobei jedes Ende dieser Linie mit einem der Knoten verbunden ist und eine vertikale Linie in der Nähe der Mitte der horizontalen Linie an einem Kasten angebracht ist, der die Art der Verhaltens-Verbindungsstrecke anzeigt. Verbindungsstrecken treten üblicherweise zwischen Endpunkten von Instanzen auf, wobei die Endpunkte möglicherweise Ports beispielsweise an einer Vermittlung darstellen.
  • Ein „Port" ist in der Empfehlung G.805 als „ein Paar von einseitig gerichteten Ports" definiert. Ein einseitig gerichteter Port, wie er in der Empfehlung G.803 definiert ist, „stellt den Ausgang einer Streckenverbindungsquelle einer einseitig gerichteten Verknüpfungsverbindung oder den Eingang an eine Pfadabschluss-Senke oder eine einseitig gerichtete Verknüpfungsverbindung" dar. Logische Ports existieren innerhalb eines Netzwerk-Elementes und können ähnliche Ebenen-Strukturen und Charakteristiken wie physikalische Ports haben, weisen jedoch nicht tatsächlich eine Bindung an irgendeinen physikalischen Port außerhalb des Netzwerk-Elementes auf. Logische Ports können an eine Karte gebunden sein, oder sie können über eine Vielzahl von Karten hinweg schwimmend angeordnet sein. Die physikalischen oder logischen Ports einer Karte können alle vom gleichen Typ sein, oder es können sich mehrere unterschiedliche Arten von Ports auf einer Karte befinden, in Abhängigkeit von der speziellen Herstellung des Netzwerk-Elementes selbst.
  • Bestimmte physikalische oder logische Ports werden in der speziellen hier beschriebenen Realisierung als Endpunkte dargestellt. In dieser Beschreibung wird der Ausdruck „Endpunkt" dazu verwendet, einen Port zu beschreiben, der einen Empfangsport und (wahlweise) einen Sendeport umfasst.
  • In 4 erscheint eine TDM-Instanz 401 an der obersten Ebene einer Klassen-Ebenen-Hierarchie und enthält einen E1-Endpunkt 402 und einen RTA-Endpunkt 403. Die Endpunkte 402 und 403 sind durch ein Anpassungsverhalten 404 verknüpft. Der Endpunkt 402 enthält (423) einen SS7b-Endpunkt 405, und ein RTA-Endpunkt 403 enthält (424) einen SS7-Endpunkt 406. Die Endpunkte 405 und 406 sind durch ein Anpassungsverhalten 407 verknüpft, das in dem Anpassungsverhalten 404 enthalten ist.
  • Die Cell Ace-Instanz 408 erscheint an einer niedrigeren Ebene in der Klassen-Ebenen-Hierarchie als die TDM-Instanz 401 und enthält einen E1-Endpunkt 410 und einen ATM-Endpunkt 413. Der E1-Endpunkt 410 enthält (431) einen SS7-Endpunkt 416. Der ATM-Endpunkt 413 enthält (432) einen SS7-Endpunkt 417. Die Endpunkte 416 und 417 sind durch ein Anpassungsverhalten 428 verknüpft, das in dem Anpassungsverhalten 420 enthalten ist.
  • Die AVJ-Instanz 409 erscheint in der gleichen Ebene der Klassen-Ebenen-Hierarchie, wie die Cell Ace-Instanz 408 und enthält einen ATM-Endpunkt 412 und einen RTA-Endpunkt 411. Endpunkte 412 und 411 sind durch ein Anpassungsverhalten 422 verknüpft. Der ATM-Endpunkt 412 enthält (433) einen SS7-Endpunkt 415. Der RTA-Endpunkt 411 enthält (434) einen SS7-Endpunkt 414. Die Endpunkte 414 und 415 sind durch ein Anpassungsverhalten 430 verknüpft, das in dem Anpassungsverhalten 422 enthalten ist.
  • Der E1-Endpunkt 402 der TDM-Instanz 401 ist durch den E1-Endpunkt 410 der Cell Ace-Instanz 408 realisiert (418). Der RTA-Endpunkt 411 der AVJ-Instanz 409 ist durch den RTA-Endpunkt 403 der TDM-Instanz 401 realisiert (419). Der SS7-Endpunkt 405 der TDM-Instanz 401 ist durch den S7-Endpunkt 416 der Cell Ace-Instanz (408) realisiert (426).
  • Der SS7-Endpunkt 414 der AVJ-Instanz 409 ist durch den SS7-Endpunkt 406 der TDM-Instanz 401 realisiert (427). Der ATM-Endpunkt 413 der Cell Ace-Instanz 408 ist über die Bindung 421 mit dem Endpunkt 412 der AVJ-Instanz 409 verknüpft. Der SS7-Endpunkt 417 der Cell Ace-Instanz 408 ist durch die Bindung 429 mit dem SS7-Endpunkt 415 der AVJ-Instanz 409 verknüpft.
  • Die Daten, die das in 4 gezeigte Anwendungsmodell beschreiben, werden vorzugsweise als Eingang an den Algorithmus verwendet. Ebenso wie die Daten, die die auf das Anwendungsmodell bezogenen Klassen, Instanzen und Verknüpfungen beschreiben, können die Eingangsdaten ebenfalls Verhaltensregeln und wahlweise Teil-Realisierungsregeln für Architektur-Instanzen umfassen, die vordefinierte logische Verknüpfungen umfassen. Zusätzliche Eingangsdaten können ebenfalls verwendet werden, wie z. B. Endpunkttypen und Kapazitäten; Protokollerweiterungen; physikalische Verbindungsstrecken-Kapazitäten und Endpunkt-Typ-Realisierungsregeln. Wahlweise können auch teilweise Realisierungsmodelle, die aus vordefinierten logischen Verknüpfungen für Architektur-Klasseninstanzen bestehen, als Eingänge für den Algorithmus akzeptiert werden. In dem Beispiel nach 4 ist der Eingang in das teilweise Realisierungsmodell trivial, das heißt es enthält keine vordefinierten logischen Verknüpfungen.
  • Zusätzlich sollte der Eingang an den Algorithmus eine bestimmte Anwendungsmodell-Instanz umfassen, die bereitgestellt werden soll (typischerweise an der Spitze der Klassen-Ebenen-Hierarchie), das heißt das zu lösende Verbindungsproblem. In dem in 4 angegebenen Beispiel umfasst, die bereitzustellende bestimmte Instanz die TDM-Instanz 401. Der Endpunkt 402 und der RTA-Endpunkt 403 der TDM-Instanz E1 und das Anpassungsverhalten 404 zwischen diesen muss bereitgestellt werden, und außerdem die zwei SS7-Endpunkte 405 und 406 und das Anpassungsverhalten 407 zwischen diesen. Die Endpunkte werden vorzugsweise dadurch bereitgestellt, dass sie realisiert werden, das heißt, dass eine Folge von Verhaltensweisen zwischen den Realisierungs-Endpunkten usw. konstruiert wird, wie dies nachfolgend beschrieben wird. In dem Beispiel kann die Folge von konstruierten Verhaltensweisen wie folgt sein:
    adapt o adapt (adapt = Anpassung)
    entsprechend der Verhaltensregel:
    adapt = adapt o adapt.
  • Die Cell Ace-Instanz 408 und die AVJ-Instanz 409 haben Ausrüstungsmodelle und erfordern keine Bereitstellung.
  • 5 der beigefügten Zeichnungen zeigt Schritte, die typischerweise von dem Algorithmus ausgeführt werden, wenn versucht wird, ein Breitband-Verbindungs-Planungsproblem zu lösen. Im Schritt 501 wird eine Darstellung des Problems geschaffen, wobei die Problemdarstellung vorzugsweise die syntaktische Darstellung umfasst, wie sie hier beschrieben wurde, und sie wird in der Datenspeicherung der Netzwerksteuerung gespeichert. Eine Liste von einer oder mehreren Klauseln umfassenden Daten kann in eine Inferenzmaschine eingegeben werden. Nachdem der Algorithmus die Darstellung geschaffen hat, wird die Inferenzmaschine auf die Darstellung angewandt, um zu versuchen, eine Lösung des Problems zu finden. Eine Inferenzmaschine kann Regeln oder einen Algorithmus umfassen, die zur Lösung eines vorgegebenen Problems bestimmt sind, vorzugsweise durch Erzeugung von Inferenzen auf der Grundlage von Tatsachen und Regeln, wie z. B. denen, die durch die syntaktische Darstellung beschrieben werden. Die Inferenzmaschine umfasst vorzugsweise zwei Teile: eine Logikkomponente und eine Steuerkomponente. Im Schritt 502 legt die Logikkomponente der Inferenzmaschine fest, was es bedeutet, das Problems zu lösen, das heißt eine Definition, wie eine Instanz bereitgestellt werden sollte. Im Schritt 503 beschreibt die Steuerkomponente der Inferenzmaschine, wie die Logikkomponente auszuführen ist, das heißt wie sie verwendet wird, um nach der bestimmten Lösung zu suchen.
  • Die Darstellung eines Breitband-Verbindungsplanungsproblems, die im Schritt 501 geschaffen wird, kann die folgenden Daten umfassen:
    • – Klassen, die jeweils entweder als Ausrüstung oder Architektur deklariert werden (entsprechend den Ausrüstungs- und Architekturmodellen, wie sie in den vorstehend genannten Patentanmeldungen beschrieben sind, und die in die Klassen-Ebenen-Hierarchie eingebracht werden).
    • – Endpunkte mit eindeutigen Identifikationen.
    • – Endpunkt-Typen und -Kapazitäten.
    • – Physikalische Verbindungsstrecken (die explizit oder implizit definiert werden).
    • – Logische Verbindungsstrecken, die aus den physikalischen Verbindungsstrecken ausgewählt sind.
    • – Verhaltensregeln der Form b = b1 o ... o bN, worin der o-Operator die Zusammensetzung der Verhaltensweisen bezeichnet und einer binären Bindung zwischen Verhalten und Endpunkten entspricht. Familien von Verhaltensregeln können implizit definiert werden.
  • Bei der bevorzugten Ausführungsform können Modelle, physikalische Verbindungsstrecken, Verhaltensregeln und andere Informationen, die ein Anwendungsmodell und ein durch den Algorithmus zu lösendes Verbindungsplanungsproblem beschreiben, textförmig als Klauseln dargestellt werden. Klauseln, insbesondere Horn-Klauseln, bilden die Basis von Prolog, einer bekannten Logik-Programmiersprache (siehe beispielsweise Ivan Bratko, „Prolog: Programming for Artificial Intelligence", zweite Ausgabe, Addison Wesley, 1990). Die syntaktische Darstellung der bevorzugten Ausführungsform umfasst eine im Wesentlichen Prolog-artige Syntax (vorzugsweise mit zweckmäßigen Erweiterungen, wie z. B. S = {t(X)Ip(X)} für eine bestimmte Konstruktion. Die syntaktische Darstellung ist nicht notwendigerweise ein Prolog-Programm; sie umfasst vorzugsweise Daten, die einen Formalismus beschreiben, auf den die Inferenzmaschine des Algorithmus, in der vorstehend beschriebenen Weise angewandt wird.
  • Klauseln können von einem von drei Typen sein: Tatsachen, Regeln und Fragen. Jede Klausel endet üblicherweise mit einem Punkt (.). Tatsachen deklarieren Dinge, die unbedingt wahr sind, wobei beispielsweise
    Netzwerk (atm)
    deklariert, dass ein Objekt atm immer ein Netzwerk-Objekt ist. Jede Klausel kann zumindest ein Objekt umfassen, das als ein „Ausdruck" bezeichnet wird. In dem vorstehenden Beispiel bildet atm einen Ausdruck. Ein Ausdruck, der mit einem Kleinbuchstaben beginnt, kann als eine Konstante (oder ein „Atom") betrachtet werden. Ausdrücke, die mit Großbuchstaben beginnen, können als Variablen betrachtet werden. Ein Ausdruck innerhalb der Klammern einer Klausel kann als ein „Argument" bezeichnet werden, und ein Ausdruck, der vor den Klammern steht, als ein „Funktor".
  • Eine Regel umfasst vorzugsweise einen Bedingungsteil (auf der rechten Seite eines :-Symbols) und einen logischen Schlussteil (auf der linken Seite des :-Symbols). Der Schlussteil kann als ein Kopf der Regel-Klausel bezeichnet werden, und der Bedingungsteil kann als der Körper der Regelklausel bezeichnet werden. Wenn der Bedingungsteil wahr ist, so ist eine logische Konsequenz hiervon, dass der Schlussteil wahr ist.
  • Eine Frage kann eine Klausel umfassen, die eine Variable hat, die unbegrenzt ist, das heißt, von der nicht definiert ist, dass sie einen bestimmten Wert hat. Eine Frage kann unter Verwendung eines Inferenzmaschinen-Algorithmus beantwortet werden, der Tatsachen und Regeln verwendet, die zum Ersatz der Variable durch ein anderes Objekt definiert sind. In einer Frage, die eine oder mehrere unbegrenzte Variable umfasst, kann jede unbegrenzte Variable als ein Ziel ausgewählt werden, so dass alle Ziele in einer Frage erfüllt sein sollten. Die Erfüllung eines Ziels bedeutet, dass demonstriert wird, dass das Ziel logischerweise aus den definierten Tatsachen und Regeln folgt.
  • Das Ersetzen von Variablen beinhaltet hauptsächlich eine Anpassung von Ausdrücken. Zwei Ausdrücke stimmen überein, wenn sie identisch sind, oder wenn Variablen in beiden Ausdrücken durch Objekte in einer derartigen Weise ersetzt werden können, dass nach dem Ersetzen der Variablen die Ausdrücke identisch werden. Üblicherweise erfolgt in Prolog die Anpassung von Zielen in einer Reihenfolge von links nach rechts der in einer Klausel auftretenden Ausdrücke. Die bevorzugte Ausführungsform verwendet einen höher entwickelten Ziel-Auswahlprozess, wie er nachfolgend beschrieben wird.
  • Die syntaktische Darstellung kann eine Klasse durch die folgende Klausel spezifizieren:
    class_info (Class, Type, Level)
    worin Type (Typ) irgendeine Ausrichtung oder Architektur sein kann, was anzeigt, dass die Klasse zu einem Realisierungsmodell bzw. einem Anwendungsmodell gehört; Class (Klasse) eine alphanumerische Identifikation für die Klasse umfasst, und Level (Ebene) eine ganze Zahl umfasst, die die Position der Klasse in der Klassen-Ebenen-Hierarchie bezeichnet (0 bezeichnet üblicherweise die höchste Ebene). Somit können die Class_info-Klauseln für das in 4 gezeigte Beispiel wie folgt sein:
    class_info (TDM, architecture, 0) stellt die TDM-Klasse des Anwendungsmodells dar;
    class_info (Cell Ace, equipment, 1) stellt die Cell Ace-Klasse dar,
    class_info (AVJ, equipment, 1) stellt die AVJ-Klasse dar.
  • Die syntaktische Darstellungsklausel für einen Endpunkt umfasst vorzugsweise:
    endpoint (Class, Instance, Id)
    worin Class die Klasse ist, zu der der durch die Klausel dargestellte Endpunkt gehört, Instance (Instanz) einen Identifikationsausdruck für die Klasseninstanz des Endpunktes umfassen kann, und Id eine ganze Zahl ist, die für die Klasse eindeutig ist, wodurch die Endpunkt-Klausel eine eindeutige Identifikation für jeden Endpunkt in dem Problem wird. Alternativ kann Id eine tatsächliche Identifikation sein, die von der Netzwerk-Steuerung erzeugt wird.
  • Die syntaktische Darstellung kann weiterhin Kapazitätsdaten für Endpunkte zur Konsistenzprüfung von Bindungen oder für Verhaltensregeln- und physikalische Verbindungsstrecken-Schemas einschließen. Der Endpunkt und die Kapazitätsdaten können durch die folgende Klausel dargestellt werden:
    class_endpoint (Class, Id, Type, Capacity)
    worin Class, Id und Type genauso wie in einer Endpoint-(Endpunkt-)Klausel sein können und Capacity (Kapazität) eine ganze Zahl sein kann, die die Kapazität des durch die Klausel dargestellten Endpunktes beschreibt, beispielsweise die Bandbreiten-Kapazität darstellt. Der Algorithmus kann die Kapazitätsnutzung von Endpunkten durch andere Verbindungen berücksichtigen, wenn ein Verbindungsplan für die bestimmte Instanz berechnet wird.
  • Somit können für das in 4 gezeigte Problem die Class_endpoint-Klauseln wie folgt sein:
    class_endpoint(tdm, 1, e1, 0) für Endpunkt 402
    class_endpoint(tdm, 2, rta, 0) für Endpunkt 403
    class_endpoint(tdm, 3, ss7,0) für Endpunkt 405
    class_endpoint(tdm, 4, ss7,0) für Endpunkt 406
    class_endpoint(cell_ace, 1, e1, 0) für Endpunkt 410
    class_endpoint(cell_ace, 2, atm, 0) für Endpunkt 413
    class_endpoint(cell_ace, 3, ss7, 0) für Endpunkt 416
    class_endpoint(cell_ace, 4, ss7, 0) für Endpunkt 417
    class_endpoint(avj, 1, rta, 0) für Endpunkt 412
    class_endpoint(avj, 2, rta, 0) für Endpunkt 411
    class_endpoint(avj, 3, rta, 0) für Endpunkt 415
    endpoint(avj, 4, rta, 0) für Endpunkt 414
  • Endpunkt-Typen können von dem Algorithmus verwendet werden, um die Konsistenz von Endpunkt-Enthaltenseins-(Containment.) Regeln zu prüfen. Endpunkt-Typen können in einem physikalischen Verbindungsstrecken-Schema verwendet werden, beispielsweise um implizit das Verhalten zwischen allen Endpunkten zu einer gleichen Zeit in einer vorgegebenen Klasse anzugeben.
  • Der Endpunkt einer Instanz in dem Anwendungsmodell kann in der syntaktischen Darstellung durch die folgende Klausel gegeben werden:
    t(Class, Instance, Id)
    worin Class vorzugsweise die Klasse der Instanz ist, Instance ist die Klasseninstanz, in der der durch die Klausel dargestellte Endpunkt auftritt, und Id die Identifikation des Endpunktes darstellt.
  • Die Klausel für die syntaktische Darstellung für eine physikalische Verbindungsstrecke kann wie folgt sein:
    link(T1, T2, behavior)
    worin behavior (Verhalten) eines von Realisierungs-Bindungs-Umschließungs- oder spezielles Verhalten sein kann, dem ein Bindestrich (–) vorangestellt ist, der einen Typ der Verbindungsstrecke darstellt, beispielsweise dessen ITS-Natur, das heißt eine Fähigkeit oder Funktion der Verbindungsstrecke zwischen den Endpunkten T1 und T2. Somit können für das in 4 dargestellte Beispiel die Verbindungsstrecken-Klauseln Folgendes umfassen:
    link(tdm, 1, 1), t(tdm, 1, 2), -adapt) für das Anpassungsverhalten 404 zwischen den Endpunkten 402 und 403
    link(t(tdm, 1, 3), t(tdm, 1, 4) -adapt) für das Anpassungsverhalten 407 zwischen den Endpunkten 405 und 406
    link(t(tdm, 1, 1), t(cell_ace, 1, 1), realize) zur Realisierung der Verbindungsstrecke 418 zwischen den Endpunkten 402 und 410
    link(t(tdm, 1, 2), t(avj, 1, 2), realize) zur Realisierung der Verbindungsstrecke 419 zwischen den Endpunkten 403 und 411
    link(t(avj, 1, 1), t(avj, 1, 2), -adapt) zur Anpassung des Verhaltens 422 zwischen den Endpunkten 412 und 411
    link(t(avj, 1, 3), t(avj, 1, 4), -adapt) für das Anpassungsverhalten 430 zwischen den Endpunkten 415 und 414
    link(t(cell_ace, 1, 1), t(cell_ace 1, 2) -adapt) für das Anpassungsverhalten 402 zwischen den Endpunkten 410 und 413
    link(t(cell_ace, 1, 3), t(cell_ace, 1, 4), -adapt) für das Anpassungsverhalten 428 zwischen den Endpunkten 416 und 417
    link(t(cell_ace, 1, 2), t(avj, 1, 1), bind) für die Bindungs-Verbindungsstrecke 421 zwischen den End punkten 413 und 412
    link(t(tdm, N, 1), t(tdm, N, 3), contain) für die Enthaltenseins-Verbindungsstrecke 423 zwischen den Endpunkten 402 und 405
    link(t(tdm, N, 2), t(tdm, N, 4), contain) für die Enthaltenseins-Verbindungsstrecke 424 zwischen den Endpunkten 403 und 406
    link(t(cell_ace, N, 1), t(cell_ace, N, 3), contain) für die Enthaltenseins-Verbindungsstrecke 431 zwischen den Endpunkten 410 und 416
    link(t(cell_ace, N, 2), t(cell_ace, N4), contain) für die Enthaltenseins-Verbindungsstrecke 432 zwischen den Endpunkten 413 und 417
    link(t(avj, N, 1), t(avj, N, 3), contain) für die Enthaltenseins-Verbindungsstrecke 433 zwischen den Endpunkten 412 und 415
    link(t(avj, N, 2), t(avj, N, 4), contain) für die Enthaltenseins-Verbindungsstrecke 434 zwischen den Endpunkten 411 und 414
  • Symmetrische Regeln (die die meisten Bindungs- und Verhaltens-Verknüpfungen einschließen) erfordern zwei Klauseln. Beispielsweise:
    link(t(tdm, 1, 1), t(tdm, 1, 2), -adapt
    link(t(tdm, 1, 2), t(tdm, 1, 1), -adapt
  • Für Breitband-Verbindungs-Planungsprobleme mit einer realistischen Größe kann es unpraktisch sein, explizit Daten einzugeben, die alle physikalischen Verbindungsstrecken beschreiben. Daher können physikalische Verbindungsstrecken implizit definiert werden: beispielsweise unter Verwendung eines physikalischen Verbindungsstreckenschemas für das Verhalten von physikalischen Verbindungsstrecken in einer Instanz mit einer unbegrenzten Anzahl von Endpunkten, von denen irgendwelche zwei durch ein triviales Verhalten verknüpft sein können (das keine Auswirkung auf die übertragenen Daten hat):
    link(t(atm_switch, N, A), t(atm_switch, N, B), -trivial):-integer(A), integer(B)
    worin integer eine unbegrenzte Serie von ganzen Zahlen erzeugt. Alternativ kann anstelle von integer ein Prädikat verwendet werden, das eine Datenbank abfragt, die von der Netzwerk-Steuerung gespeichert wird, um eine Endpunkt-Identifikation zu gewinnen. Andere mögliche Verwendungen können Folgendes einschließen:
    • – Abwicklung von Realisierungen zwischen enthaltenen Endpunkten: wenn T1 physikalisch T2 realisiert, enthält T1 T3 und T2 enthält T4, wenn T3 physikalisch T4 realisiert. Die Hinzufügung einer Regel, die diese Realisierungs- und Enthaltenseinsverknüpfungen zu einer Verknüpfungsklausel beschreibt, kann dadurch erzielt werden, dass lediglich explizit Realisierungen zwischen Endpunkten an den oberen Enden von Enthaltenseinsverknüpfungen spezifiziert werden.
    • – Das Gruppieren von Sätzen von Instanzen durch eine Lokalisierung ermöglicht physikalische Verbindungsstrecken zwischen irgendwelchen zwei Endpunkten mit übereinstimmenden Typen an der gleichen Stelle.
    • – Die Spezifizierung von lediglich physikalischen Verbindungsstrecken zwischen Ausrüstungs-Endpunkten.
    • – Physikalische Verbindungsstrecken zwischen Architektur-Endpunkten können implizit sein.
  • Eine logische Verknüpfung kann durch die syntaktische Darstellung durch die folgende Klausel beschrieben werden:
    logical_link(T1, T2, Links, IM):-link (T1, T2, Link), add_logical)_link (T1, T1, Link, IM)
    worin der link-(Verbindungsstrecken-)Ausdruck eine physikalische Verbindungsstrecke darstellen kann, die für die Einfügung in die logische Verbindung ausgewählt ist, die durch die Klausel dargestellt ist (die als eine erste/Kopf-Verbindungsstrecke in einer Liste von Verbindungsstrecken betrachtet werden kann); add_logical_link kann ein Ausdruck zum Hinzufügen nachfolgender Verbindungsstrecken zu der Liste sein, die die logischen Verbindungsstrecken umfasst, und IM kann ein Ausdruck sein, der eine Variable für jedes mögliche Paar von Endpunkten enthält, wobei jede Variable begrenzt wird, wenn die zwei Endpunkte einer logischen Verbindungsstrecke zugeordnet werden.
  • Logical_link umfasst eine Aufzeichnung von erzeugten logischen Verbindungsstrecken, die während der Ausführung des Algorithmus geführt wird. Die Aufzeichnung ist vorzugsweise zurückverfolgbar, weil logische Verbindungsstrecken bei der Rückverfolgung entfernt werden. Wenn eine logische Verbindungsstrecke hinzugefügt wird, müssen andere logische Verbindungsstrecken in vielen Fällen verboten werden. Beispielsweise ist es nicht korrekt, ein logisches Verhalten zwischen den Endpunkten T1 und T2 und zwischen T3 und T4 auszuwählen, wenn T1 T3 enthält, und T4 T2 enthält. Diese Beziehung kann als „keine Klein-Flaschen-Regel" bezeichnet werden und kann durch Binden passender IM-Variablen an einen Spezialausdruck „forbidden" (verboten) realisiert werden. Weil variable Bindungen für das Verbieten logischer Verbindungsstrecken verwendet werden, werden diese in korrekter Weise bei der Rückverfolgung erneut freigegeben.
  • Eine Folge der Verwendung variabler Bindungen zur Darstellung logischer Verbindungsstrecken besteht darin, dass keine zwei Endpunkte durch mehr als eine Art von logischer Verbindungsstrecke gleichzeitig verbunden werden können, obwohl bei der Rückverfolgung unterschiedliche Verbindungsstrecken zugeordnet werden können. Eine weitere Konsequenz besteht darin, dass der Algorithmus die gleiche logische Verbindungsstrecke mehr als einmal ohne nachteilige Wirkung „schaffen" kann. Diese Eigenschaft ermöglicht es, dass ein teilweises Realisierungsmodell als Teil der Breitband-Verbindungs-Planungsproblem-Eingabe angegeben werden kann, einfach durch, Schaffung vordefinierter logischer Verbindungsstrecken.
  • Die syntaktische Darstellung kann Verhaltensregeln unter Verwendung der folgenden Klausel beschreiben:
    behavior_rule(b, [b1, ..., bN])
    die das Verhalten (behaviour) b = b1 o ... o bN darstellen kann, worin der o-Operator das Zusammenfügen von Verhalten bezeichnet und einer Bindung zwischen Endpunkten entspricht. Das triviale Verhalten kann wie folgt definiert werden:
    b = trivial o b = b o trivial
  • Die behavior_rule-Klausel kann verallgemeinert werden, um Operatoren einzuschließen, die Verbindungsstrecken anstelle von Bindungen entsprechen. Das Verhalten b1 ... bN kann weiterhin durch zusammengesetzte Ausdrücke gebildet sein, die Parameter als Argumente enthalten.
  • Familien von Verhaltensregeln können von der syntaktischen Darstellung durch Klauseln wie z. B. den folgenden beschrieben werden:
    behavior_rule(B, [B\Bs]:-behavior_rule_generator/B, Bs)
    behavior_rule(B, [trivial\Bs]): B\=trivial behavior_rule (B, bs)
    behavior_rule_generator(B, []):-behavior_rule_generator (B, [B\Bs])
  • Diese Klauseln können eine unbegrenzte Anzahl von Verhaltensweisen erzeugen, wie z. B.
    adapt = adapt
    adapt = adapt o adapt
    adapt = adapt o trivial o adapt ...
  • Diese Klauseln können verallgemeinert werden, um andere Operatoren und Regeln zu handhaben.
  • Die Eingabe für den Algorithmus schließt weiterhin die bestimmte bereitzustellende Instanz ein, das heißt ein Ziel des Breitband-Verbindungs-Planungsproblems. Die syntaktische Darstellung des Problemziels kann wie folgt sein:
    :-provision_instance(T1, T2, B, IM)
    worin T1 und T2 auf Endpunkte auf der gleichen Instanz begrenzt sind: B auf ein Verhalten und IM ist unbegrenzt. Die Lösung des Ziels bindet IM an eine Darstellung des Realisierungsmodells.
  • Die syntaktische Darstellung der bestimmten bereitzustellenden Instanz in dem Beispiel nach 4, das heißt die Endpunkte 1 und 2 der tdm-Instanz 401 kann wie folgt sein:
    :-provision_instance(t(tdm, 1, 1), t(tdm, 1, 2), adapt, IM)
  • Sobald die syntaktische Darstellung des Problems geschaffen wurde und in den Algorithmus eingegeben wurde, kann eine syntaktische Darstellung, die angibt, was es bedeutet, das Problem zu lösen, durch den Algorithmus im Schritt 502 durch die Logikkomponente der Inferenzmaschine geschaffen werden. Die Spezifikation ist vorzugsweise eine rekursive Beschreibung dessen, was es bedeutet, eine Instanz bereitzustellen, speziell von zwei ihrer Endpunkte und einer Verhaltens-Verknüpfung zwischen diesen.
  • Um das Breitband-Verbindungs-Planungsproblem zu lösen, muss die spezifizierte Instanz bis herunter zu den Ausrüstungsinstanzen bereitgestellt werden. Regeln für die Bereitstellung sind vorzugsweise:
    • – Zur Bereitstellung einer Instanz: vorgegeben sind zwei Endpunkte auf einer Anwendungsmodell-Instanz und ein logisches Verhalten zwischen diesen: wenn die Instanz „equipment" (Ausrüstungen) umfasst, so wird die Instanz bereitgestellt. wenn anderenfalls die Instanz eine Architektur umfasst, wird daher das Verhalten der Instanz und der zwei Endpunkte bereitgestellt.
    • – Zur Bereitzustellung eines Verhaltens: wenn ein Verhalten B vorgegeben ist, realisiere dessen zwei Endpunkte durch zwei andere Endpunkte (T1, T2) und stelle (T1, T2) bereit. Finde eine Verhaltensregel B = B1 o ... o BN und konstruiere eine Folge von logischen Verhalten B1 o ... o B1 und Bindungen zwischen T1 und T2. Stelle jeden neuen Endpunkt in der Folge bereit.
    • – Zur Bereitstellung eines Endpunktes: stelle irgendeinen Endpunkt bereit, der in ihm enthalten ist, und wenn dessen Anwendungsmodell-Klasse Architektur umfasst, so realisiere die Endpunkte durch einen anderen Endpunkt und stelle diesen Endpunkt ebenfalls bereit.
  • Die syntaktische Darstellung der Komponenten kann wie folgt sein:
    provision_instance (T1, T2, B, IM):-
    T1 = t(Class, Instance, Id1),
    class_info(Class, Type, _),
    logical_link(T1, T2, -B, IM),
    behavior_rule (B, Bs),
    provision_behavior(Type, Bs, T1, T2, IM).
    provision_behavior(equipment, Bs, T1, T2, IM).
    provision_behavior(architecture, Bs, T1 T2, IM):-
    logical_link(T1, T1R, realize, IM),
    logical_link(T2, T2R, realize, IM),
    construct_sequence(Bs, T1R, T2R, IM),
    provision_endpoints([T1R, T2R], IM).
    construct_sequence([Bs], T1, T2, IM):-
    logical_link(T1, T2, -B, IM),
    construct_sequence([B\Bs], T1, T2, IM):-
    logical_link(T1, TA, -B, IM),
    logical_link(TA, TB, bind, IM),
    provision_endpoints([TA, TB], IM),
    construct_sequence(Bs, TB, T2, IM).
    provision_endpoints([], IM).
    provision_endpoints([T\Ts], IM):-
    provision_endpoints(T, IM),
    provision_endpoints(Ts, IM).
    provision_endpoints(T, IM):-
    T = t(Class, Instance, Id),
    class_info(Class, Type, _),
    realize_endpoint(Type, T, IM)
    Ts = {TC\link(T, TC, contain)}
    provision_endpoints(Ts, IM).
    realize_endpoint(equipment, T, IM).
    realize_endpoint(architecture, T, IM):-
    logical_link(T, T1, realize, IM),
    provision_endpoint(T1, IM).
  • Im Schritt 503 wird die Steuerkomponente der Inferenzmaschine verwendet, um die Logikkomponente auszuführen. In der bevorzugten Ausführungsform verwendet der Algorithmus Künstliche-Intelligenz-Techniken, die dafür vorgesehen sind, eine effizientere Lösung für ein vorgegebenes Breitband-Verbindungs- und Planungsproblem zu erzielen. Die Künstliche-Intelligenz-Techniken schließen Folgendes ein:
    • – Hierarchische Planung: ein Planungsproblem kann in eine Hierarchie von Teilproblemen zerlegt werden, wobei das hierarchische Planungsprinzip zuerst Probleme höherer Ebene löst und die Probleme an den niedrigeren Ebenen als Einzelheiten behandelt, die später gelöst werden. Dies teilt üblicherweise große Probleme in besser behandelbare Teilprobleme auf. Wenn ein Teilproblem keine Lösung hat, so kann ein Weg gefunden werden, die Lösungen höherer Ebene zu modifizieren. Weil das Breitband-Verbindungs-Planungsproblem, das hier gemäß der bevorzugten Ausführungsform beschrieben wird, zwei natürliche Hierarchien hat, die Anwendungsmodell-Klassen-Ebenen-Hierarchien und die Instanzenebenen-Bereitstellungshierarchien, können diese als Hierarchien von einem Algorithmus verwendet werden, der das hierarchische Planungsprinzip beinhaltet. Wenn ein Teilproblem keine Lösung hat, so können Lösungen höherer Ebene durch Rückverfolgen modifiziert werden.
    • – Prinzip des ersten Fehlers: während einer Suche nach einer Lösung gibt es typischerweise eine Verknüpfung von zu lösenden Teilzielen, jeweils mit einer Anzahl von Lösungen, beispielsweise kann es mehrere Endpunkte geben, die mit anderen (nicht spezifizierten) Endpunkten gebunden werden müssen. Das Prinzip des ersten Fehlers empfiehlt die Auswahl eines Teilziels mit den wenigsten Lösungen. Das Prinzip führt zu einer höheren Wahrscheinlichkeit der Feststellung eines frühzeitigen Ausfalls der Suche. Zwei Spezialfälle des Prinzips des ersten Fehlers können besonders nützlich sein: wenn irgendein Teilziel keine Lösungen hat, dann wähle es aus und führe unmittelbar eine Rückverfolgung aus. Der Nutzen dieser Auswahl besteht darin, dass ein Ausfall eines Teilproblems so schnell wie möglich festgestellt werden sollte, um nutzlose Suchen an anderen Teilproblemen zu vermeiden. Wenn irgendein Teilziel exakt eine Lösung hat, so wähle es aus. Die Auswahl einer derartigen Lösung beinhaltet keine willkürlichen Auswahlen und kann daher nicht zu einer kombinatorischen Explosion führen, sondern kann neue Beschränkungen für andere Teilziele schaffen, was zu einer frühzeitigen Fehlerdetektion führen kann.
    • – Bergsteigen: eine intelligentere Variante einer eingehenden ersten Suche, die verwendet werden kann, wenn eine Auswertungsfunktion verfügbar ist. An jedem Punkt in der Suche ordnet eine Auswertungsfunktion einen Wert zu Alternativen zu, auf der Grundlage einer Schätzung, wie nahe die Suche an dem Ziel ist. Die Alternative mit der engsten Abschätzung wird ausgewählt. Wenn eine Rückverfolgung erfolgt, so wird eine nächstbeste Lösung versucht, und so weiter, bis alle Lösungen versucht wurden. Die bevorzugte Ausführungsform kann das Bergsteigerprinzip mit einer Auswertungsfunktion auf der Grundlage verschiedener Kriterien verwenden.
  • Der Algorithmus der bevorzugten Ausführungsform wendet vorzugsweise eine höhere Priorität auf das Prinzip des ersten Fehlers an, als auf das hierarchische Prinzip, und das Bergsteigen kann orthogonal angewandt werden. Die bevorzugte Ausführungsform der Steuerkomponente des Algorithmus verwendet vorzugsweise zwei Sätze von Regeln unter Verwendung ihrer Ausführung: Rechenregeln und Auswahlregeln.
  • 6 der beigefügten Zeichnungen zeigt Schritte, die von der Steuerkomponente während des Schrittes 503 nach 5 ausgeführt werden. Im Schritt 601 verwendet die Steuerkomponente ihre Rechenregel, um ein zu lösendes Teilziel auszuwählen. In Ausdrücken einer logischen Programmierung kann ein Teilziel ein Atom sein, das dadurch gelöst wird, dass es mit einem passenden Klausel-Anfangsteil in Übereinstimmung gebracht wird, das heißt ein Versuch, einen Satz von Werten für Variable in dem Teilziel derart zu bestimmen, dass die Wahrheit des Teilziels sich aus den Eingangsklauseln ergibt.
  • Die Rechenregel entscheidet eine Reihenfolge, in der die Teilziele gelöst werden, wobei die Reihenfolge der Teilziel-Auswahl dynamisch ist, was zu einer Gleichlenkungsstrategie führt. Die Regeln werden so gewählt, dass ein Hin- und Herschwanken vermieden wird, das heißt ein Eintreten in in eine Sackgassen-Situation, so dass eine Situation, bei der eine Verknüpfung von Teilzielen auftritt, von denen keines gelöst werden kann, vorzugsweise vermieden wird.
  • Im Schritt 602 entscheidet die Steuerkomponente, wie das ausgewählte Teilziel zu lösen ist, unter Verwendung der Auswahlregel. Im Schritt 603 wird gefragt, ob weitere Teilziele zu lösen sind, um das bestimmte Gesamt-Breitband-Verbindungsproblem zu lösen. Dies kann sich aus der rekursiven Eigenart der Inferenzmaschine ergeben, die es erforderlich macht, dass sie alle Ausdrücke in einer Klausel als Teilziele auswählt, um das Problem zu lösen. Wenn die im Schritt 603 gestellte Frage bejaht wird, so geht die Steuerung zurück zum Schritt 601, anderenfalls geht die Steuerung zum Schritt 604 weiter, bei dem die gefundene Lösung als Ausgang des Algorithmus zurückgeliefert werden kann.
  • 7 der beigefügten Zeichnungen zeigt die Schritte, die von der Rechenregel während des Schritts 601 nach 6 ausgeführt wird. Im Schritt 701 kann ein Teilziel entsprechend seiner Betriebsart ausgewählt werden, wobei die Betriebsart so ist, wie dies nachfolgend beschrieben wird. Im Schritt 702 kann ein Teilziel entsprechend seiner Priorität ausgewählt werden, wobei die Priorität so ist, wie dies nachfolgend beschrieben wird. Im Schritt 703 wird gefragt, ob ausgewählte Teilziele die gleiche Priorität haben. Wenn die im Schritt 703 gestellte Frage verneint wird, so geht die Steuerung zum Schritt 704 über, in dem ein Teilziel mit einem höchsten Prioritätswert ausgewählt wird. Wenn die im Schritt 703 gestellte Frage bejaht wird, so geht die Steuerung zum Schritt 705 über. Im Schritt 705 wird die Frage gestellt, ob die ausgewählten Teilziele ein Verbindungs-Teilziel umfassen. Wenn die im Schritt 705 gestellte Frage bejaht wird, so kann irgendein (zufälliges) Teilziel aus den ausgewählten Teilzielen ausgewählt werden. Wenn die im Schritt 705 gestellte Frage verneint wird, so geht die Steuerung zum Schritt 707 über, bei dem ein Verbindungs-Teilziel-Auswahlprozess ausgeführt werden kann.
  • 8 der beigefügten Zeichnungen zeigt die Betriebsarten und Prioritäten von Teilzielen, die während der Ausführung des Algorithmus auftreten kann. Betriebsarten werden durch Unterstreichung von Argumenten bezeichnet. Ein Teilziel kann ausgewählt werden, wenn seine unterstrichenen Argumente Nicht-Variablen sind und ihre doppelt unterstrichenen Argumente sind Grundausdrücke; Zustände ihrer Argumente können möglicherweise nicht betrachtet werden. Prioritäten können verwendet werden, um zwischen den Teilzielen eine Auswahl zu treffen, wenn mehrere auswählbar sind, wobei ein Teilziel mit einem höchsten Prioritätswert üblicherweise als erstes ausgewählt wird.
  • Figure 00410001
  • 9 der beigefügten Zeichnungen zeigt Schritte, die vorzugsweise von dem Algorithmus während des Verbindungs-Teilziel-Auswahlschrittes 707 nach 7 ausgeführt werden. Im Schritt 901 wird ein Verbindungs-Teilziel mit den wenigsten Lösungen ausgewählt. Diese Auswahl ist eine Anwendung des Prinzips des ersten Fehlers. Die Auswahl berücksichtigt vorzugsweise physikalische Verbindungsschemas, weil diese üblicherweise in einer Reihenfolge ausgeführt werden, um alle Lösungen zu finden, daher ist es nicht ausreichend, lediglich eine Anzahl von zusammenpassenden Klauseln zu zählen.
  • Im Schritt 902 wird die Frage gestellt, ob es immer noch eine Wahl von Verbindungs-Teilzielen gibt. Wenn die im Schritt 902 gestellte Frage bejaht wird, so geht die Steuerung auf den Schritt 903 über. Im Schritt 903 wählt der Algorithmus vorzugsweise das Verbindungs-Teilziel in einer Reihenfolge aus, die auf einem Wert seines Verbindungsargumentes beruht. Die Reihenfolge der Bevorzugung kann wie folgt sein: Verhalten, Bindung, Enthaltensein, Realisierung. Diese Auswahl ist eine Anwendung des hierarchischen Planungsprinzips, das die Lösung von Teilproblemen, die in der Bereitstellungshierarchie niedrig stehen, hinausschiebt, und auch die derjenigen, die eine niedrige Position in der Enthaltenseins-Hierarchie haben.
  • Im Schritt 904 wird die Frage gestellt, ob es noch eine Auswahl von Verbindungs-Teilzielen gibt. Wenn die im Schritt 904 gestellte Frage bejaht wird, so geht die Steuerung zum Schritt 905 über. Im Schritt 905 wird dann ein Verbindungs-Teilziel mit einer niedrigsten Position in der Klassen-Ebenen-Hierarchie ausgewählt, wie dies durch dessen class_info-Klausel ausgewählt wird. Die Position kann durch Summieren von Tiefen der Instanzen der Endpunkte der Verbindungen in der Klassenebenen-Hierarchie berechnet werden (wobei die oberste Ebene eine Tiefe von Null (0) aufweist. Diese Auswahl ist eine weitere Anwendung der hierarchischen Planung.
  • Im Schritt 906 wird eine Frage gestellt, ob es immer noch eine Auswahl von Verbindungs-Teilzielen gibt. Wenn die im Schritt 906 gestellte Frage bejaht wird, so geht die Steuerung auf den Schritt 907 über. Im Schritt 907 kann das Verbindungs-Teilziel in irgendeiner (zufälligen) Reihenfolge ausgewählt werden, und die Steuerung geht auf den Schritt 908 über.
  • Wenn eine in einem der Schritte 902, 904 oder 906 gestellte Frage verneint wird, so geht die Steuerung auf den Schritt 908 über. Im Schritt 908 kann das Verbindungs-Teilziel, das ausgewählt wurde, bevor die Steuerung zum Schritt 908 übergeben wurde, als ein Ausgang des Verbindungs-Teilziel-Auswahlschrittes 707 zurückgeliefert werden.
  • 10 der beigefügten Zeichnungen zeigt Schritte, die vorzugsweise von der Auswahlregel des Algorithmus ausgeführt werden, wenn dieser entscheidet, wie das ausgewählte Teilziel im Schritt 602 nach 6 zu lösen ist. Der Algorithmus entscheidet, wie das ausgewählte Teilziel zu lösen ist, indem er eine Klausel auswählt, die einen Ausdruck hat, der das Teilziel umfasst. Im Schritt 101 wird gefragt, ob ein ausgewähltes Teilziel ein Verbindungs-Teilziel ist. Wenn die im Schritt 1001 gestellte Frage verneint wird, so wird die Steuerung zum Schritt 1002 weitergegeben. Im Schritt 1002 wird eine Klausel, die der Algorithmus auswählt, um zu versuchen, das Teilziel zu lösen, entsprechend dessen textueller Ordnung gewählt, das heißt seiner Position in der Eingangsklausel-Liste des Algorithmus. Das Ergebnis des Schrittes 1002 kann dann als ein Ausgang des Schrittes 602 zurückgeliefert werden.
  • Wenn die im Schritt 1001 gestellte Frage bejaht wird, so geht die Steuerung auf den Schritt 1003 über. Im Schritt 1003 wird ein unbegrenztes Argument des Verbindungs-Teilziels ausgewählt. Das unbegrenzte Argument kann als ein „Ziel" bezeichnet werden. Eine Klausel, deren Ziel bereits eine logische Verbindung hat, wird vorzugsweise ausgewählt.
  • Im Schritt 1004 wird eine Frage gestellt, ob es immer noch eine Auswahl von Klauseln gibt. Wenn die im Schritt 1004 gestellte Frage bejaht wird, so geht die Steuerung auf den Schritt 1005 über. Im Schritt 1005 wird eine Klausel ausgewählt, deren Ziel in der Klassen-Ebenen-Hierarchie am niedrigsten ist. Diese Auswahl ist eine Anwendung des „Bergsteige"-Prinzips, das darauf gerichtet ist, die Bereitstellung mit so wenig Instanzen wie möglich zu erzielen.
  • Im Schritt 1006 wird eine Frage gestellt, ob es immer noch eine Auswahl von Klauseln gibt. Wenn die im Schritt 1006 gestellte Frage bejaht wird, so geht die Steuerung auf den Schritt 1007 über. Im Schritt 1007 wird eine Klausel ausgewählt, deren Zielkapazität am niedrigsten ist. Diese Auswahl ist eine weitere Anwendung des „Bergsteige"-Prinzips, das darauf gerichtet ist, die vergeudete Endpunkt-Kapazität zu einem Minimum zu machen.
  • Im Schritt 1008 wird eine Frage gestellt, ob es immer noch eine Auswahl von Klauseln gibt. Wenn die im Schritt 1008 gestellte Frage bejaht wird, so geht die Steuerung zum Schritt 1009 über. Im Schritt 1009 wird eine Klausel in irgendeiner (zufälligen) Reihenfolge ausgewählt, und die Steuerung geht zum Schritt 1010 über.
  • Wenn irgendeine der im Schritt 1004, 1006 oder 1008 gestellten Fragen verneint wird, so geht die Steuerung zum Schritt 1010 über. Im Schritt 1010 kann die Klausel, die von dem Algorithmus ausgewählt wurde, bevor die Steuerung zum Schritt 1010 übergeben wurde, als ein Ausgang des Schrittes 602 zurückgeliefert werden.
  • Es folgt ein verdichteter Verlauf, der zeigt, wie das Beispiel nach 4, das in den vorstehend beschriebenen Algorithmus in der syntaktischen Darstellung eingeführt wird, gelöst werden kann. Aus Gründen der Einfachheit zeigt der Verlauf nicht die Auswahlregel des Algorithmus und auch nicht alle die Künstliche-Intelligenz-Techniken, die zur Führung der Suche der Inferenzmaschine verwendet werden, doch zeigt sie die Art der gleichzeitigen Weglenkung der Rechenregel, die Verschachtelung der logischen Verknüpfungsauswahl und die Konstruktion der Verhaltensregeln. Es ist jedoch für den Fachmann zu erkennen, dass die unter Bezugnahme auf die 7, 9 und 10 erläuterten Algorithmus-Schritte unter Verwendung einer im Wesentlichen ähnlichen Verlaufstechnik realisiert und demonstriert werden könnten. Aus Gründen der Lesbarkeit wurden einige Zwischenschritte aus dem Verlauf fortgelassen, doch wird der Fachmann wiederum erkennen, dass diese Einzelheiten aus der vorstehenden Information abgeleitet werden können. Hier ist eine Variable IM, die die Darstellung des Algorithmus für das Realisierungsmodell enthält, als eine unbegrenzte Variable (aus Gründen der Kürze) gezeigt, doch werden ihre Inhalte immer dann zusammengefasst, wenn sie sich ändern (jedesmal dann, wenn ein add_logical_link-Teilziel gelöst wird).
  • Der Verlauf beginnt vorzugsweise mit einem Anfangsziel (zur Bereitstellung der tdm-Instanz 401):
    provision_instance(t(tdm, 1, 1), t(tdm, 1, 2), adapt, IM)
    und keinen logischen Verknüpfungen in IM (IM = []). Wähle provision_instance (genauer gesagt löse Atom mit diesem Prädikatsymbol auf):
    class_info(tdm, Type, _),
    T1 = t(tdm, 1, Id1),
    T2 = t(tdm, 1, Id2),
    logical_link(T1, T2, -B, IM),
    behavior_rule(B, Bs),
    provision_behavior(type, Bs, T1, T2, IM),
    provision_endpoints[T1, T2], IM),
  • Wähle class_info, = (twice), logical_link, behavior_rule, provision_endpoints aus:
    link(t(tdm, 1, Id 1), t(tdm, 1, Id2), -B,
    add_logical_link(t(tdm, 1, Id1), t(tdm, 1, Id2), -B, IM),
    behavior_rule_generator(B, BS1),
    provision_behavior(architecture, [B\Bs1], t(tdm, 1, Id1), t(tdm, 1, ID2), IM)
    provision_endpoint(t(tdm, 1, ID1), IM),
    provision_endpoint(t(tdm, 1, ID2), IM),
  • Nunmehr gibt es ein behavior_rule_generator-Teilziel, das noch nicht gelöst werden kann, weil seine Liste unbegrenzt ist. Der Algorithmus wird durch logische Verknüpfungen geführt, doch wird jede logische Verknüpfung unmittelbar auf eine Konsistenz gegenüber der teilweise konstruierten Verhaltensregel geprüft, die derzeit:
    B = B o Bs1 ist
    worin B und Bs1 unbegrenzt sind.
  • Nunmehr wähle Verknüpfung (link) und provision_behavior aus:
    add_logical_link(t(tdm, 1, 1), t(tdm, 1, 2), -adapt, IM),
    behavior_rule_generator(adpat, Bs1),
    logical_link(t(tdm, 1, 1), T1R, realize, IM),
    logical_link(t(tdm, 1, 2), T2R, realize, IM),
    construct_sequence([adapt\Bs1], T1R, T2R, IM),
    provision_endpoints([T1R, T2R, IM),
    provision_endpoints(t(tdm, 1, 1), IM),
    provision_endpoints(t(tdm, 1, 2), IM).
  • Das Lösen von link hat B auf Anpassung gebunden, so dass die Verhaltensregel nunmehr wie folgt ist:
    adapt = adapt o Bs1
  • Nunmehr wähle add_logical_link, logical_link(zweimal) und provision_endpoints:
    behavior_rule_generator(adapt, Bs1),
    link(t(tdm, 1, 1), T1R, realize, IM),
    add_logical_link(t(tdm, 1, 1), T1R, realize; IM),
    link(t(tdm, 1, 2), T2R, realize, IM),
    add_logical_link(t(tdm, 1, 2), T2R, realize, IM),
    construct_sequence([adapt\Bs1], T1R, T2R, IM),
    provision_endpoint(T1R, IM),
    provision_endpoint(T2R, IM),
    provision_endpoint(t(tdm, 1, 1), IM),
    provision_endpoint(t(tdm, 1, 2), IM).
  • Weil add_logical_link gelöst wurde, gibt es nunmehr einen nicht-leeren Wert von IM:
    t(tdm, 1, 1) adapt t(tdm, 1, 2)
    was das logische Anpassungsverhalten 404 zwischen den Endpunkten 1 und 2 der TDM-Instanz 401 ist. Nunmehr wähle beide link-Teilziele aus:
    behavior_rule_generator(adapt, Bs1),
    add_logical_link(t(tdm, 1, 1), t(cell_ace, 1, 1), realize, IM),
    construct_sequence([adapt\Bs1], t(cell_ace, 1, 1) t(avj, 1, 2), IM),
    provision_endpoint(t(cell_ace, 1, 1), IM),
    provision_endpoint(t(avj, 1, 2), IM),
    provision_endpoint(t(tdm, 1, 1), IM),
    provision_endpoint(t(tdm, 1, 2), IM),
    provision_endpoint(t(avj, 1, 2), IM),
    provision_endpoint(t(tdm, 1, 1), IM),
    provision_endpoint(t(tdm, 1, 2), IM)
  • Der Wert von IM ist nunmehr:
    t(tdm, 1, 1) adapt t(tdm, 1, 2)
    t(tdm, 1, 1) realize t(cell_ace, 1, 1),
    t(tdm, 1, 2) realize t(avj, 1, 2)
    t(cell_ace, 1, 1) adapt t(cell_ace, 1, 2)
  • Wähle add_logical_link und construct_sequence aus:
    behavior_rule_generator(adapt, [B]),
    provision_endpoint(t(cell_ace, 1, 2), IM),
    provision_endpoint(t(avj, 1, 1), IM),
    logical_link(t(avj, 1, 1), t(avj, 1, 2), -B, IM),
    provision_endpoint(t(cell_ace, 1, 1), IM),
    provision_endpoint(t(avj, 1, 2), IM),
    provision_endpoint(t(tdm, 1, 1), IM),
    provision_endpoint(t(tdm, 1, 2), IM)
  • Die derzeitige Verhaltensregel ist nunmehr:
    adapt = adapt o B
    und das IM ist nunmehr:
    t(tdm, 1, 1) adapt t(tdm, 1, 2)
    t(tdm, 1, 1) realize t(cell_ace, 1, 1),
    t(tdm, 1, 2) realize t(avj, 1, 2)
    t(cell_ace, 1, 1) adapt t(cell_ace, 1, 2)
    t(cell_ace, 1, 2) bind t(avj, 1, 1)
  • Wähle logical_link und behavior_rule_generator aus:
    provision_endpoint(t(cell_ace, 1, 2), IM),
    provision_endpoint(t(avj, 1, 1), IM),
    link(t(avj, 1, 1), t(avj, 1, 2, -adapt),
    add_logical_link(t(avj, 1, 2), -adapt, IM),
    provision_endpoint(t(cell_ace, 1, 1), IM),
    provision_endpoint(t(avj, 1, 2), IM),
    provision_endpoint(t(tdm, 1, 1), IM),
    provision_endpoint(t(tdm, 1, 2), IM)
  • Die Verhaltensregel ist nunmehr vollständig konstruiert:
    adapt = adapt o adapt
  • Wähle add_logical_link und link aus:
    provision_endpoint(t(cell_ace, 1, 2), IM),
    provision_endpoint(t(avj, 1, 1), IM),
    provision_endpoint(t(cell_ace, 1, 1), IM),
    provision_endpoint(t(avj, 1, 2), IM),
    provision_endpoint(t(tdm, 1, 1), IM),
    provision_endpoint(t(tdm, 1, 2), IM).
  • Das IM ist nunmehr:
    t(tdm, 1, 1) adapt t(tdm, 1, 2)
    t(tdm, 1, 1) realize t(cell_ace, 1, 1),
    t(tdm, 1, 2) realize t(avj, 1, 2)
    t(cell_ace, 1, 1) adapt t(cell_ace, 1, 2)
    t(cell_ace, 1, 2) bind t(avj, 1, 1)
    t(avj, 1, 1) adapt t(avj, 1, 2)
    weil der Klassentyp von jeder der cell_ace und avj-Instanzen equipment (Ausrüstung) ist, können alle die Teilziele gelöst werden, mit Ausnahme von:
    provision_endpoint(t(tdm, 1, 1))
    provision_endpoint(t(tdm, 1, 2))
  • Ein Lösen dieser Teilziele führt zu den enthaltenen Endpunkten t(tdm, 1, 3) und t (tdm, 1, 4). Das logische Verhalten adapt (Anpassung) findet sich zwischen diesen, und sie werden exakt wie in der vorstehenden Weise bereitgestellt, mit Ausnahme der Tatsache, dass kein weiterer Endpunkt existiert, und dass TDM mit dem folgenden Realisierungsmodell bereitgestellt wird, das für das Beispiel nach 4 alle physikalischen Verknüpfungen umfasst, die als logische Verknüpfungen ausgewählt sind:
  • Figure 00500001
  • Es folgt nunmehr ein zweites Beispiel der Ausführung des Algorithmus zur Lösung eines weiteren Breitband-Verbindungsproblems. 11 der beigefügten Zeichnungen zeigt eine grafische Darstellung, die ein vereinfachtes Anwendungsmodell darstellt. Alle physikalischen Bindungen und Realisierungen für das Anwendungsmodell sind auf der grafischen Darstellung gezeigt, obwohl das physikalische Verhalten nicht gezeigt ist. Um die Beschreibung des Diagramms und der Ausführung des Algorithmus auf einer syntaktischen Darstellung der Knoten und Verknüpfungen zu vereinfachen, die in der grafischen Darstellung gezeigt sind, sollten die folgenden Punkte bemerkt werden:
    • – Verhaltensregeln werden ignoriert
    • – es gibt kein Endpunkt-Enthaltensein, wir nehmen an, dass enthaltene Endpunkte (beispielsweise die vom Typ SS7) nicht existieren. Endpunkte sind als Ziffern in der Nähe von Klasseninstanzen gezeigt (die als ovale Kästen gezeigt sind). Realisierungsverknüpfungen sind wiederum mit gestrichelten Linien mit einer Pfeilspitze gezeigt, und Bindungs-Verknüpfungen sind als durchgezogene Linien gezeigt.
  • Das Beispiel nach 11 umfasst sechs Klassen: x, atm_switch, tdm, frame_processor, cell_ace und avj. Die Klasse x befindet sich an der obersten Ebene der Klassen-Ebenen-Hierarchie; tdm, frame_processor und atm_switch befinden sich auf einer Ebene unterhalb von x und avj, und cell_ace befinden sich auf einer dritten Ebene darunter. Eine erste Instanz der x-Klasse 1101 kann ihren Endpunkt 1 durch den Endpunkt 1 einer ersten tdm-Instanz 1102 realisiert haben (1115), und er kann auch durch den Endpunkt 1 einer zweiten tdm-Instanz 1103 realisiert sein (1113). Der Endpunkt 2 der x-Instanz 1101 kann durch den Endpunkt 2 der frame_processor-Instanz 1105 realisiert sein (1114).
  • Der Endpunkt 1 der tdm-Instanz 1102 kann durch den Endpunkt 1 einer ersten cell_ace-Instanz 1106 realisiert sein (1116). Der Endpunkt 2 der tdm-Instanz 1102 kann durch den Endpunkt 2 einer ersten avj-Instanz 1107 realisiert sein (1117). Der Endpunkt 1 der tdm-Instanz 1103 kann durch den Endpunkt 1 einer zweiten cell_ace-Instanz 1108 realisiert sein (1119). Der Endpunkt 2 der tdm-Instanz 1103 kann durch den Endpunkt 2 einer zweiten avj-Instanz 1109 realisiert sein (1118). Der Endpunkt 2 der cell_ace-Instanz 1108 und der Endpunkt 1 der avj-Instanz 1109 sind durch die Bindung 1128 verknüpft.
  • Der Endpunkt 1 der frame_processor-Instanz 1105 ist über die Bindung 1120 mit dem Endpunkt 2 der atm_switch-Instanz 1104 verknüpft. Der Endpunkt 1 der atm_switch-Instanz ist mit dem Endpunkt 2 einer dritten avj-Instanz 1110 durch die Bindung 1121 verknüpft. Der Endpunkt 3 der atm_switch-Instanz 1104 ist mit dem Endpunkt 2 einer vierten avj-Instanz 1111 durch die Bindung 1122 verknüpft. Der Endpunkt 4 der atm_switch-Instanz 1104 ist mit dem Endpunkt 2 einer fünften avj-Instanz 1112 durch die Bindung 1123 verknüpft.
  • Der Endpunkt 1 der avj-Instanz 1110 ist mit dem Endpunkt 2 der tdm-Instanz 1102 über eine Bindung 1125 verknüpft. Der Endpunkt 1 der avj-Instanz 1111 ist mit dem Endpunkt 2 der tdm-Instanz 1102 durch die Bindung 1126 verknüpft. Der Endpunkt 1 der avj-Instanz 1112 ist mit dem Endpunkt 2 der tdm-Instanz 1103 durch die Bindung 1127 verknüpft.
  • Die syntaktische Darstellung des in 11 gezeigten Anwendungsmodells kann im Wesentlichen ähnlich zu dem syntaktischen Darstellungsverfahren sein, das vorstehend beschrieben wurde. Beispielsweise können die Klauseln, die die Klassen des Beispiels definieren, wie folgt sein:
    class_info(x, architecture, 0)
    class_info(tdm, equipment, 1)
    class_info(frame_processor, equipment, 1)
    class_info(atm_switch, equipment, 1)
    class_info(avj, equipment, 2)
    class_info(cell_ace, equipment, 2)
  • Es ist für den Fachmann verständlich, dass Endpunkt-Definitionen gemäß der bevorzugten Ausführungsform auch für die Knoten nach 11 geschaffen werden können, beispielsweise kann der Endpunkt 2 der dritten avj-Instanz 1110 durch die folgende Klausel dargestellt werden:
    endpoint(avj, 3, 2)
  • Verbindungen oder Verknüpfungen zwischen den Knoten können weiterhin unter Verwendung der syntaktischen Darstellung geschaffen werden, beispielsweise kann die Realisierungsverknüpfung 1116 zwischen dem Endpunkt 1 der ersten tdm-Instanz 1102 und dem Endpunkt 1 der ersten cell_ace-Instanz 1106 durch die folgende Klause dargestellt werden:
    link (t(tdm, 1, 1), t(cell_ace, 1, 1), realize).
  • 1215 der beigefügten Zeichnungen zeigen zusammen mit der entsprechenden vorstehend angegebenen Beschreibung die Ausführung des Algorithmus gemäß der bevorzugten Ausführungsform, unter Einschluss der Verwendung der künstlichen Intelligenz-Techniken, wie z. B. erster Ausfall, „Bergsteigen" und hierarchisches Planen. Das Ergebnis der Ausführung des Algorithmus ist wiederum ein Realisierungsmodell (IM), das ausgewählte logische Verknüpfungen oder Verbindungen umfasst, die entsprechend der syntaktischen Darstellung ausgedrückt werden können.
  • 12 der beigefügten Zeichnungen zeigt Schritte, die von der bevorzugten Ausführungsform des Algorithmus ausgeführt werden können, während versucht wird, ein Breitband-Verbindungsproblem bei dem Anwendungsmodell nach 11 bis zum ersten Auftreten einer Rückwärtsverarbeitung des Algorithmus ausgeführt werden können. Im Schritt 1201 wird eine zu lösende Bereitstellungs-Instanz spezifiziert. In dem folgenden Beispiel wird die x-Instanz 1101 bereitgestellt. Die syntaktische Darstellung der darzustellenden spezifischen Instanz kann durch die folgende Klausel gegeben werden:
    provision_instance(t(x, 1, 1), t(x, 1, 2), adapt, IM)
  • Die x-Instanz 1101 weist zwei Endpunkte (die mit 1 und 2 numeriert sind) auf, die eine (in 11 nicht gezeigte) Verhaltensverknüpfung haben. Beide Endpunkte sollten realisiert werden, um das Breitband-Verbindungs-Planungsproblem zu lösen. Der Endpunkt 1 der x-Instanz 1201 kann auf zwei Arten realisiert werden (das heißt durch die tdm-Instanzen 1106 und 1103), während der Endpunkt 2 lediglich eine mögliche Realisierung hat (frame_processor-Instanz 1105). Die Anwendung des Prinzips des ersten Ausfalls des Algorithmus bewirkt, dass der Endpunkt 2 ausgewählt und durch die Realisierungsverknüpfung 1114 zum Endpunkt 2 von frame_processor 1105 realisiert wird. Dies kann in der syntaktischen Darstellung durch die folgende Klausel ausgedrückt werden:
    link(t(x, 1, 1), t(frame_processor, 1, 2), realize)
  • Im Schritt 1203 wählt die Anwendung des Prinzips des ersten Ausfalls des Algorithmus das Verhalten aus, das die Endpunkte 1 und 2 der frame_processor-Instanz 1105 verknüpft. Dies kann als eine logische Verknüpfung ausgedrückt werden, die zu dem Realisierungsmodell des Algorithmus in der syntaktischen Darstellung durch die folgende Klausel hinzugefügt wird:
    link(t(frame_processor, 1, 2), t(frame_processor, 1, 1), behavior)
  • Im Schritt 1204 bindet die Anwendung des Prinzips des ersten Ausfalls des Algorithmus den Endpunkt 1 der frame_processor-Instanz 1105 an den Endpunkt 2 der atm_switch-Instanz 1104 unter Verwendung der Bindungsverknüpfung 1120.
    link(t(frame_processor, 1, 1), t(atm_switch, 1, 2), bind)
    weil der Endpunkt 2 der atm_switch-Instanz 1105 drei mögliche Verhaltensverknüpfungen hat (die sie mit den Endpunkten 1, 3 und 4 der atm_switch-Instanz 1105 verknüpfen). Der Endpunkt 1 der x-Instanz 1101 hat jedoch lediglich zwei mögliche Realisierungen (die ihn mit dem Endpunkt 1 der tdm-Instanz 1102 oder dem Endpunkt 1 der tdm-Instanz 1103 verbinden). Die Anwendung des Prinzips des ersten Ausfalls des Algorithmus entscheidet daher, dass versucht werden sollte, den Endpunkt 1 der x-Instanz bereitzustellen, anstelle des Endpunktes 2 der atm_switch-Instanz 1104. Weil der Algorithmus keinen Grund hat, den Endpunkt 1 der tdm-Instanz 1102 gegenüber dem Endpunkt 1 der tdm-Instanz 1103 oder umgekehrt auszuwählen, wählt der Algorithmus (zufällig) den Endpunkt 1 der tdm-Instanz 1102 aus, was durch die Realisierungsverknüpfung 1115 verwirklicht wird.
    link(t(x, 1, 1), t(tdm, 1, 1), realize)
  • Im Schritt 1206 versucht das Prinzip des „Bergsteigens" des Algorithmus das Falten zwischen Bindungen, und so werden die Endpunkte 1 und 2 der tdm-Instanz 1102 durch ihre Verhaltensverknüpfung verknüpft:
    link(t(tdm, 1, 1), t(tdm, 1, 2), behavior)
  • Im Schritt 1207 hat der Endpunkt 2 der tdm-Instanz 1102 zwei mögliche Bindungen (zum Endpunkt 1 der avj-Instanz 1110 und zum Endpunkt 1 der avj-Instanz 1111), so dass die Anwendung des Prinzips des ersten Ausfalls des Algorithmus den Endpunkt 1 der tdm-Instanz 1102 durch den Endpunkt 1 der cell_ace-Instanz 1106 realisiert (1116):
    link(t(tdm, 1, 1), t(class_instance, 1, 1), realize)
  • Im Schritt 1208 wählt die Anwendung des Prinzips des ersten Ausfalls des Algorithmus eine Verhaltensverknüpfung aus, die die Endpunkte 1 und 2 der cell_ace-Instanz 1106 verknüpft:
    link(t(cell_ace, 1, 1), t(cell_ace, 1, 2)behavior)
  • An diesem Punkt gibt es keine möglichen Bindungen an dem Endpunkt 2 der cell_ace-Instanz 1106, so dass die Anwendung des Prinzips des ersten Ausfalls des Algorithmus ein unmittelbares Zurücksteigen hervorruft. 13 der beigefügten Zeichnungen zeigt schematisch die Schritte 12011208 nach 12, die an dem vereinfachten Anwendungsmodell nach 11 ausgeführt werden. Die ausgewählten logischen Verknüpfungen sind als dickere physikalische Verbindungsstrecken dargestellt, abgesehen von dem logischen Verhalten (zwischen den Endpunkten einer einzigen Instanz), die durch mit stärkeren Linien dargestellten Instanz-Kästen realisiert sind. Die Bezugsziffern 12011208 in 13 zeigen die Reihenfolge der Auswahl entsprechend den Schritten nach 12.
  • 14 der beigefügten Zeichnungen zeigt die Schritte, die von dem Algorithmus vorzugsweise nach dem Schritt 1208 nach 12 ausgeführt werden. Im Schritt 1401 führt der Algorithmus ein Zurücksteigen auf einen Auswahlpunkt aus, der im Schritt 1205 auftritt. Im Schritt 1402 versucht der Algorithmus eine alternative Realisierung des Endpunktes 1 der x-Instanz 1101 durch Realisieren (1113), des Endpunktes durch den Endpunkt 1 der tdm-Instanz 1103:
    link(t(x, 1, 1), t(tdm, 2, 1), realize)
  • Im Schritt 1403 verknüpft die Anwendung des Prinzips des ersten Ausfalls des Algorithmus die Endpunkte 1 und 2 der tdm-Instanz 1103 durch ein Verhalten:
    link(t(tdm, 2, 1), t(tdm, 2, 2), -behavior
  • Im Schritt 1404 bindet die Anwendung des Prinzips der hierarchischen Planung des Algorithmus den Endpunkt 2 der tdm-Instanz 1103 mit dem Endpunkt 1 der avj-Instanz 1112 durch Binden der Verknüpfung 1127:
    link(t(tdm, 2, 2), t(avj, 5, 1), bind)
  • Im Schritt 1405 verknüpft die Anwendung des Prinzips der hierarchischen Planung des Algorithmus die Endpunkte 1 und 2 der avj-Instanz 1112 durch ein Verhalten.
    link(t(avj, 5, 1), t(avj, 5, 2), behavior)
  • Im Schritt 1406 bindet die Anwendung des Prinzips der hierarchischen Planung des Algorithmus den Endpunkt 2 der avj-Instanz 1112 an den Endpunkt 4 der atm_switch-Instanz 1104 über die Bindungsverknüpfung 1123.
    link(t(avj, 5, 2), t(atm_switch, 1, 4), bind)
  • Im Schritt 1407 verzögert die Anwendung des Prinzips der hierarchischen Planung des Algorithmus die Bereitstellung der tdm-Instanz 1103, um Verknüpfungen zur avj-Instanz 1112 und zur atm_switch-Instanz 1114 zu konstruieren. Die Anwendung des Prinzips des ersten Ausfalls des Algorithmus übersteuert dessen Verwendung jedoch durch das Prinzip der hierarchischen Planung in diesem Fall und verzögert die Auswahl eines Verhaltens, das die atm_switch-Instanz 1104 verknüpft, und stellt stattdessen die tdm-Instanz 1103 bereit. Der Endpunkt 1 der tdm-Instanz 1103 wird durch den Endpunkt 1 der cell_ace-Instanz 1108 realisiert (1119):
    link(t(avj, 5, 2), t(atm_switch, 1, 4), bind)
  • Im Schritt 1408 verknüpft die Anwendung des Prinzips des ersten Ausfalls und der hierarchischen Planung des Algorithmus die Endpunkte 1 und 2 der cell_ace-Instanz 1108 durch ein Verhalten:
    link(t(cell_ace, 2, 1), t(cell_ace, 2, 2)behavior)
  • Im Schritt 1410 bindet die Anwendung der Prinzipien des ersten Ausfalls und der hierarchischen Planung des Algorithmus den Endpunkt 2 der cell_ace-Instanz 1108 an den Endpunkt 1 der avj-Instanz 1109 durch die Bindungsverknüpfung 1128:
    link(t(cell_ace, 2, 2), t (avj, 2, 1)bind)
  • Im Schritt 1411 verknüpft die Anwendung des Prinzips des ersten Ausfalls und der hierarchischen Planung des Algorithmus die Endpunkte 1 und 2 der avj-Instanz 1109 durch ein Verhalten:
    link(t(avj, 2, 1), t(avj, 2, 2), behavior)
  • Im Schritt 1411 realisiert (1118) die Anwendung des Prinzips des ersten Ausfalls des Algorithmus den Endpunkt 2 der tdm-Instanz 1103 durch den Endpunkt 2 der avj-Instanz 1109.
    link(t(avj, 2, 2), t(tdm, 2, 2), realize)
  • Im Schritt 1412 sind die einzigen zwei Endpunkte, die noch logische Verknüpfungen erfordern, die Endpunkte 2 und 4 der atm_switch-Instanz 1104:
    link(t(atm_switch, 1, 2), t(atm_switch, 1, 4), -behavior)
  • Die Anwendung des Prinzips des „Bergsteigens" des Algorithmus erhält ein Verhalten zwischen den zwei Endpunkten aus, wobei das Ziel bereits eine logische Verknüpfung hat. Ohne diese Heuristik könnten unterschiedliche Verhaltensweisen aufgerufen werden (beispielsweise eine Verknüpfung der Endpunkte 4 und 3 oder der Endpunkte 2 und 1 der atm_switch-Instanz 1104) was bewirken könnte, dass die zwei Enden der speziellen bereitzustellenden Instanz einander „verfehlen", was zu einem unnötigen Zurücksteigen führen würde.
  • 15 der beigefügten Zeichnungen zeigt eine Spur der Ausführung des Algorithmus in einer Weise ähnlich zu 13 unter Einschluss der Schritte 12011205 nach 12 und der Schritte 14011412 nach 14.
  • Damit kann das aus der Ausführung des Algorithmus, wie sie vorstehend beschrieben wurde, resultierende Realisierungsmodell wie folgt sein:
  • Figure 00580001
  • Die logischen Verknüpfungen in dem resultierenden Realisierungsmodell könnten dem Benutzer angezeigt werden, vorzugsweise über die Netzwerksteuerung, in irgendeiner geeigneten Form, beispielsweise durch eine Bildschirmanzeige, die die logischen Verknüpfungen auf einer grafischen Darstellung der Darstellung ähnlich der nach 15 hervorhebt, oder alternativ könnte eine Liste von Klauseln in der syntaktischen Darstellung geliefert werden, die die Lösung des Realisierungsmodells beschreibt. Das resultierende Realisierungsmodell könnte auch beispielsweise von einer Netzwerksteuerung verwendet werden, um die logischen Verknüpfungen für Verbindungen in dem physikalischen Netzwerk zu realisieren.

Claims (23)

  1. Verfahren zur Herstellung eines Verbindungsplans, der zumindest eine Verbindung zwischen einer Mehrzahl von Endpunkten in einem Netzwerk darstellt, das eine Vielzahl von Knoten (100, 102, 103, 105) und eine Vielzahl von Verbindungsstrecken umfasst, wobei jeder Knoten zumindest einen Endpunkt (206, 207) aufweist, der ihn mit einer Verbindungsstrecke verbindet, wobei jede Verbindungsstrecke sich zwischen zumindest einem Paar der Endpunkte erstreckt und jede Verbindungsstrecke einen Typ aufweist, wobei der Verbindungsplan Daten, die einen Satz der genannten Endpunkte beschreiben, und Daten umfasst, die die Typen der Verbindungsstrecken zwischen den Endpunkten beschreiben, wobei das Verfahren die folgenden Schritte umfasst: Schaffen einer geschichteten Darstellung von zumindest einem Teil des Netzwerkes durch Schaffen einer Datendarstellung der Knoten, Verbindungsstrecke und Endpunkte der Verbindung; und Anwenden eines Algorithmus auf die Datendarstellung zur Erzeugung des Verbindungsplans, wobei das Verfahren dadurch gekennzeichnet ist, dass der Schritt der Schaffung einer Datendarstellung des zumindest einen Teils des Netzwerkes die Darstellung des zumindest einen Teils des Netzwerkes als Syntaxdaten umfasst, die Knoten, Verbindungsstrecken und Endpunkte beschreiben, und dass der Schritt des Anwendens eines Algorithmus auf die Datendarstellung das Manipulieren der Syntaxdaten mit Hilfe einer Künstliche-Intelligenz-Technik umfasst, um den Verbindungsplan zu gewinnen.
  2. Verfahren nach nach einem der Anspruch 1, dadurch gekennzeichnet, dass eine Syntaxdaten-Darstellung eine Liste von zumindest einer Klausel umfasst, wobei jede Klausel zumindest einen Ausdruck umfasst.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die Klauseln Aussagen und Bedingungen umfassen.
  4. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass eine Syntaxdaten-Darstellung eine Liste mit zumindest einer Klausel umfasst, wobei jede Klausel zumindest einen Ausdruck umfasst, und wobei der Schritt des Anwendens eines Algorithmus zur Erzeugung des Verbindungsplans die Auswahl eines Ausdruckes (601) einer Klausel, der die Verbindung darstellt, als Teilziel und das rekursive Versuchen einer Lösung des Teilziels umfasst.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass dem Teilziel eine Priorität zugeordnet wird, und dass der Algorithmus als das Teilziel (704) ein Teilziel mit einer höchsten Priorität auswählt oder ein Teilziel (901) auswählt, das eine Klausel mit den wenigsten Ausdrücken ist, oder ein Teilziel (903) entsprechend einer Ordnung seiner Ausdrücke auswählt, oder ein Teilziel (905) mit einer niedrigsten Position in der Netzwerk-Hierarchie auswählt, oder ein Teilziel (907) zufällig auswählt.
  6. Verfahren nach Anspruch 4 oder 5, dadurch gekennzeichnet, dass der Algorithmus eine Klausel (1002), mit der das Teilziel zu lösen ist, entsprechend einer Position der Klausel in der Liste von Klauseln auswählt, oder eine Klausel (1003), mit der das Teilziel zu lösen ist, durch Auswählen einer Klausel mit einem Ausdruck, der in dem Verbindungsplan enthalten ist, auswählt, oder eine Klausel (1005), mit der das Teilziel zu lösen ist, durch Auswählen einer Klausel auswählt, die in der Netzwerk-Hierarchie am niedrigsten ist, oder eine Klausel (1007), mit der das Teilziel zu lösen ist, durch Auswählen einer Klausel mit einem Ausdruck auswählt, die eine kleinste Kapazität aufweist, oder eine Klausel (1009) zufällig auswählt, mit der das Teilziel zu lösen ist.
  7. Verfahren nach einem der Ansprüche 2–6, dadurch gekennzeichnet, dass die Klauseln Daten darstellen, die Merkmale des Netzwerkes darstellen, und dass die Merkmale aus aus dem folgenden Satz ausgewählt sind: Klassen der Netzwerkknoten, Endpunkte der Netzwerkknoten, Verbindungsstrecken des Netzwerkes; schematische Darstellungen der Verbindungsstrecken-Typen.
  8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Verbindungsstrecken-Typen aus dem folgenden Satz ausgewählt werden können: Bindung; Realisierung; Verhalten; Sicherheit.
  9. Verbindungsplanungsvorrichtung zum Planen von zumindest einer Verbindung in einem Netzwerk, das eine Vielzahl von Knoten und Verbindungsstrecken aufweist, wobei jeder Knoten zumindest einen Endpunkt aufweist, der ihn mit einer Verbindungsstrecke verbindet, wobei jede Verbindungsstrecke zwischen den Endpunkten einen Typ aufweist, wobei die Vorrichtung in der Lage ist, einen Verbindungsplan zu schaffen, der einen Satz von Endpunkten und den Typen von Verbindungsstrecken zwischen den Endpunkten umfasst, wobei die Vorrichtung Folgendes umfasst: Einrichtungen zur Schaffung einer geschichteten Datendarstellung von zumindest einem Teil des Netzwerkes durch Schaffen einer Datendarstellung der Knoten, Verbindungsstrecken und Endpunkte der genannten Verbindung; und eine Inferenzmaschine (503), die einen Algorithmus umfasst, der die Datendarstellungen verwendet, um den Verbindungsplan zu erzeugen, wobei die Vorrichtung dadurch gekennzeichnet ist, dass die Einrichtung zur Schaffung einer Datendarstellung von zumindest einem Teil des Netzwerkes so angeordnet ist, dass sie eine Syntaxdaten-Darstellung schafft, die die Knoten, Verbindungsstrecken und Endpunkte beschreibt, und dass die Inferenzmaschine eine Künstliche-Intelligenz-Einrichtung umfasst, die zur Einwirkung auf die Syntaxdaten-Darstellung ausgebildet ist, um den Verbindungsplan zu erzeugen.
  10. Vorrichtung nach Anspruch 9, dadurch gekennzeichnet, dass die Syntaxdaten-Darstellung eine Liste von zumindest einer Klausel umfasst, wobei jede Klausel zumindest einen Ausdruck umfasst.
  11. Vorrichtung nach Anspruch 10, dadurch gekennzeichnet, dass die Klausel eine Horn-Klausel umfasst.
  12. Vorrichtung nach einem der Ansprüche 9–11, dadurch gekennzeichnet, dass die Inferenzmaschine zur Auswahl eines Ausdruckes (601) einer Klausel ausgebildet ist, der die Verbindung als Teilziel darstellt, und rekursiv das Teilziel zu lösen versucht.
  13. Vorrichtung nach Anspruch 12, dadurch gekennzeichnet, dass dem Teilziel eine Priorität zugeordnet wird, und dass die Inferenzmaschine zur Auswahl eines Teilziels (704) mit einer höchsten Priorität oder zur Auswahl eines Teilziels (901), das eine Klausel mit den wenigsten Ausdrücken ist, oder zur Auswahl eines Teilziels (903) entsprechend einer Ordnung seiner Ausdrücke oder zur Auswahl eines Teilziels (905) mit einer niedrigsten Position in der Netzwerk-Hierarchie oder zur Auswahl eines Teilziels (907) in zufälliger Weise ausgebildet ist.
  14. Vorrichtung nach Anspruch 12 oder 13, dadurch gekennzeichnet, dass die Inferenzmaschine zur Auswahl einer Klausel (1002), mit der das Teilziel zu lösen ist, entsprechend einer Position der Klausel in der Liste von Klauseln, oder zur Auswahl einer Klausel (1003), mit der das Teilziel zu lösen ist, durch Auswahl einer Klausel, die einen in dem Verbindungsplan enthaltenen Ausdruck aufweist, oder zur Auswahl einer Klausel (1005), mit der das Teilziel zu lösen ist, durch Auswahl einer Klausel, die in der Netzwerk-Hierarchie am niedrigsten ist, oder zur Auswahl einer Klausel (1007), mit der das Teilziel zu lösen ist, durch Auswahl einer Klausel mit einem Ausdruck, der eine kleinste Kapazität aufweist, oder zur Auswahl einer Klausel (1009) in zufälliger Weise ausgebildet ist, mit der ein Teilziel zu lösen ist.
  15. Vorrichtung nach einem der Ansprüche 10–14, dadurch gekennzeichnet, dass die Klauseln Daten darstellen, die Merkmale des Netzwerkes beschreiben, wobei die Merkmale aus dem folgenden Satz ausgewählt sind: Klassen der Netzwerkknoten; Endpunkte der Netzwerkknoten; Verbindungsstrecken der Netzwerke, Schemas, die Verbindungsstrecken-Typen darstellen.
  16. Vorrichtung nach einem der Ansprüche 9–15, dadurch gekennzeichnet, dass die Verbindungsstrecken-Typen aus dem folgenden Satz ausgewählt sind: Bindung; Realisierung; Verhalten; Sicherheit.
  17. Verfahren zur Verarbeitung von Daten, die ein hierarchisches Netzwerk beschreiben, das eine Vielzahl von Knoten, wobei jeder Knoten einen Satz von Ausrüstungsposten umfasst, und eine Vielzahl von physikalischen Verbindungsstrecken umfasst, die die Vielzahl von Knoten miteinander verbinden, wobei das Verfahren dadurch gekennzeichnet ist, dass es die folgenden Schritte umfasst: Darstellen einer Knotenausrüstung als Syntaxdaten, die die Knotenausrüstung beschreiben; Darstellen einer Vielzahl von Fähigkeiten der Knotenausrüstungen durch Schaffen von Syntaxdaten, die die Fähigkeiten beschreiben; Darstellen der Verbindungsstrecken durch Syntaxdaten, die die Verbindungsstrecken beschreiben, wobei die Syntaxdaten eine Mehrzahl von Klauseln umfassen; und Manipulieren der Klauseln mit Hilfe einer Künstliche-Intelligenz-Technik zur Erzielung einer Lösung von Verbindungen, die in der Lage sind, in ein geschichtetes Verbindungsmodell transformiert zu werden, das für die Anwendung in dem Netzwerk geeignet ist.
  18. Verfahren nach Anspruch 17, dadurch gekennzeichnet, dass die Syntaxdaten-Fähigkeitsdarstellung Folgendes umfasst: eine Knotenidentifikation; einen Eingangsdaten-Typ; einen Ausgangsdaten-Typ und eine hierarchische Netzwerk-Schicht, auf der der Knoten erscheint.
  19. Verfahren nach Anspruch 17 oder 18, dadurch gekennzeichnet, dass die Syntaxdaten-Darstellung Folgendes umfasst: zumindest zwei Knoten, die Endpunkte der Verbindungsstrecken darstellen; und eine hierarchische Netzwerk-Schicht, auf der die Verbindungsstrecke erscheint.
  20. Verfahren nach einem der Ansprüche 17–19, dadurch gekennzeichnet, dass es eine im Wesentlichen Prolog-artige Syntax umfasst.
  21. Netzwerk-Verwaltungsvorrichtung für ein Kommunikationsnetzwerk, das eine Vielzahl von miteinander verbundenen Netzwerkelement-Geräten umfasst, wobei die Netzwerk-Verwaltungsvorrichtung Folgendes umfasst: eine Vielzahl von Geräte-Steuerungen (200, 201, 202, 203), die jeweils zur Steuerung von zumindest einem entsprechenden Netzwerkelement-Gerät ausgebildet sind, wobei die Vielzahl von Gerätesteuerungen eine Vielzahl von Geräte-Teilsteuerungen (206, 207) umfasst; wobei eine Vielzahl von von einem Netzwerkelement-Gerät ausgeführten Funktionen jeweils durch eine entsprechende jeweilige Geräte-Teilsteuerung (206, 207) dargestellt ist, dadurch gekennzeichnet, dass: ein Satz von Multimedien-Diensteverbindungen zwischen den Gerätesteuerungen bereitgestellt ist, wobei die Verbindungen in einer Weise angeordnet sind, die einen Multimedien-Dienst zwischen den Netzwerkelement-Geräten darstellt, und wobei jede Geräte-Teilsteuerung Folgendes umfasst: eine Datenspeichereinrichtung zum Speichern von Syntaxdaten, die eine Funktion eines Netzwerkelement-Gerätes beschreiben; und eine Einrichtung zur Erzeugung von Verwaltungssteuersignalen aus den gespeicherten Syntaxdaten zur Steuerung eines genannten Netzwerkelement-Gerätes.
  22. Netzwerk-Verwaltungsvorrichtung nach Anspruch 21, dadurch gekennzeichnet, dass die Geräte-Teilsteuerung eine Objektdaten-Darstellung umfasst.
  23. Verfahren zur Steuerung eines Netzwerkes mit einer Vielzahl von Netzwerkelement-Geräten, wobei jedes Gerät eine Vielzahl von Dienstefunktionen unterstützt, wobei das Verfahren die folgenden Schritte umfasst: Darstellen jedes Netzwerkelement-Gerätes durch eine entsprechende Gerätesteuerung; für jede Gerätesteuerung, Darstellen jeder Funktionsfähigkeit, die von einem entsprechenden Netzwerkelement-Gerät bereitgestellt wird, durch eine entsprechende Geräte-Teilsteuerung; wobei das Verfahren durch die folgenden Schritte gekennzeichnet ist: Verknüpfen einer Vielzahl der Teilsteuerungen unterschiedlicher Gerätesteuerungen in einer Weise, die eine geschichtete Diensteverbindung darstellt, die durch die Netzwerkelement-Geräte unterstützt ist, wobei jede Geräte-Teilsteuerung Folgendes umfasst: ein Datenspeichermedium zum Speichern von Syntaxdaten, die eine Funktionalität eines Netzwerkelement-Gerätes beschreiben; und Steuersignal-Generatoreinrichtungen zur Erzeugung von Steuersignalen aus den gespeicherten Syntaxdaten zur Steuerung einer Funktion des genannten Netzwerkelement-Gerätes.
DE69826995T 1997-04-11 1998-03-26 Planungssystem für breitbandverbindungen mit mehreren diensten Expired - Lifetime DE69826995T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB9707398A GB2324223A (en) 1997-04-11 1997-04-11 Network management
GB9707398 1997-04-11
US92164997A 1997-08-27 1997-08-27
US921649 1997-08-27
PCT/GB1998/000923 WO1998047307A1 (en) 1997-04-11 1998-03-26 Planning system for broadband multi-service connections

Publications (2)

Publication Number Publication Date
DE69826995D1 DE69826995D1 (de) 2004-11-18
DE69826995T2 true DE69826995T2 (de) 2005-03-10

Family

ID=26311365

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69826995T Expired - Lifetime DE69826995T2 (de) 1997-04-11 1998-03-26 Planungssystem für breitbandverbindungen mit mehreren diensten

Country Status (5)

Country Link
EP (1) EP0974240B1 (de)
AU (1) AU6844198A (de)
CA (1) CA2284554C (de)
DE (1) DE69826995T2 (de)
WO (1) WO1998047307A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134606A (ja) * 1999-11-09 2001-05-18 Ricoh Co Ltd 文書リンク記述方法、文書リンク生成装置および記憶媒体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4999833A (en) * 1985-05-06 1991-03-12 Itt Corporation Network connectivity control by artificial intelligence
EP0765582B1 (de) * 1994-06-13 2002-10-23 Telefonaktiebolaget Lm Ericsson Betriebsmittelmodell und -architektur für ein verbindungsbehandlungssystem
EP0733967B1 (de) * 1995-03-24 2005-02-09 Hewlett-Packard Company, A Delaware Corporation Verfahren und Anlage zur Ereignisüberwachung und Implementierung in einem Multirechnersystem
GB9511827D0 (en) * 1995-06-10 1995-08-09 Plessey Telecomm Broadband resources interface management

Also Published As

Publication number Publication date
EP0974240B1 (de) 2004-10-13
CA2284554A1 (en) 1998-10-22
AU6844198A (en) 1998-11-11
WO1998047307A1 (en) 1998-10-22
DE69826995D1 (de) 2004-11-18
EP0974240A1 (de) 2000-01-26
CA2284554C (en) 2007-03-13

Similar Documents

Publication Publication Date Title
DE60318471T2 (de) Extraktion von wissen mittels eines objektbasierten semantischen netzes
DE69319103T2 (de) Netzwerkverwaltungssystem
DE69412274T2 (de) Verfahren zur auswahl von verbindungen in netzen
EP0872090B1 (de) Verfahren zum bilden von leitweginformation
DE69533535T2 (de) Verfahren zur effizienten aggregation von verbindungsmetriken
DE69927929T2 (de) Verfahren und System zur Netzwerkverwaltung
DE69635648T2 (de) System und Verfahren zur Filterung eines Hochleistungsnetzwerk-Verwaltungsplans
DE69611542T2 (de) Verfahren und vorrichtung zum ermitteln verbindungsorientierter kommunikationsfigurationen
DE69609516T2 (de) Verfahren zur verwaltung dynamischer relationen zwischen objekten in dynamisch objektorientierten programmiersprachen
DE60116178T2 (de) Grundursachenanalyse in einer verteilten Netzwerk-Managementarchitektur
DE60129480T2 (de) Technik zur bestimmung von konnektivitätslösungen für netzwerkelemente
DE69433126T2 (de) Verfahren zum Einrichten von virtuellen Mehrfachsendeverbindungen
DE69628808T2 (de) Datenverarbeitungssystem
DE69310010T2 (de) Kosten-optimierte Weglenkung in einem Telekommunikationsnetz
DE69731614T2 (de) Netzübergreifende einrichtung und verfahren zur herstellung einer solchen einrichtung
DE68927086T2 (de) Datenvereinheitlichungssystem und -methode
DE69826298T2 (de) Verfahren und Vorrichtung zur Klassifikation von Netzwerkeinheiten in virtuellen LANs
DE69328164T2 (de) Systemverwaltungsverfahren und -vorrichtung.
DE602004005242T2 (de) Zentralisierte konfiguration von verwalteten objekten des link-scope-typs in netzwerken, die auf dem internet-protokoll (ip) basieren
DE69225101T2 (de) Verwaltungsverfahren von strukturierten Objekten
DE69322857T2 (de) Management in telecom und offenen systemen
US6600749B1 (en) Planning system for broadband multi-service connections
DE69210466T2 (de) Verfahren und Vorrichtung zur Verbindung von lokalen Netzwerken mit Weitbereichsnetzwerken
DE69826995T2 (de) Planungssystem für breitbandverbindungen mit mehreren diensten
EP1624614B1 (de) Automatische Planung von Netzwerkkonfigurationen

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R082 Change of representative

Ref document number: 974240

Country of ref document: EP

Representative=s name: G. KOCH UND KOLLEGEN, 80339 MUENCHEN, DE