DE60125720T2 - Kommunikationsnetz - Google Patents

Kommunikationsnetz Download PDF

Info

Publication number
DE60125720T2
DE60125720T2 DE60125720T DE60125720T DE60125720T2 DE 60125720 T2 DE60125720 T2 DE 60125720T2 DE 60125720 T DE60125720 T DE 60125720T DE 60125720 T DE60125720 T DE 60125720T DE 60125720 T2 DE60125720 T2 DE 60125720T2
Authority
DE
Germany
Prior art keywords
node
service
strategy
service request
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60125720T
Other languages
English (en)
Other versions
DE60125720D1 (de
Inventor
Christopher Mark Suffolk ROADKNIGHT
William Ian Woodbridge MARSHALL
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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by British Telecommunications PLC filed Critical British Telecommunications PLC
Application granted granted Critical
Publication of DE60125720D1 publication Critical patent/DE60125720D1/de
Publication of DE60125720T2 publication Critical patent/DE60125720T2/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/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Description

  • Diese Erfindung bezieht sich auf das Gebiet des Netzmanagements und insbesondere auf das Management komplexer Datenkommunikationsnetze.
  • Kommunikationsnetze, wie z. B. das Internet, sind wahrscheinlich die komplexesten Maschinen, die durch die Menschheit gebaut worden sind. Die Anzahl möglicher Ausfallzustände in einem Hauptnetz ist so groß, dass es sogar unmöglich ist, sie zu zählen. Die Bestimmung des Zustands, in dem sich das Netz zu irgendeinem Zeitpunkt befindet, mit großer Genauigkeit ist deshalb nicht möglich. Außerdem sind die Datennetze, wie z. B. das Internet, einer Mischung aus einer deterministischen und einer stochastischen Last unterworfen (siehe V. Paxson und S. Floyd, "Wide Area Traffic: The Failure of Poisson Modelling", IEEE/ACM Transactions on Networking 3, (3), S. 226-244, 1995, u. S. Gribble und E. Brower, "System Design Issues for Internet Middleware Services: Deductions from a Large Client Trace", Proceedings of the USENIX Symposium on Internet Technologies and Systems (USITS '87), Dezember 1997). Die Reaktion des Netzes auf diesen Verkehrstyp ist chaotisch (siehe M. Abrams u. a., "Caching Proxies: Limitations and Potentials ", Proc. 4th Inter. World-Wide Web Conference, Boston, MA, Dez. 1995), wobei folglich die Variation des Netzzustandes im hohen Grade divergent ist und genauere Vorhersagen der Netzleistung eine Kenntnis des aktuellen Netzzustandes erfordern, die genauer ist, als sie erhalten werden kann. Künftige Netze, die eine vergrößerte Intelligenz besitzen werden, werden noch komplexer sein und ein weniger gefügiges Management besitzen. Es ist ein Netzmanagement-Paradigma erforderlich, das die Netzleistung angesichts fraktaler Anforderungen ohne ausführliche Kenntnis des Zustands des Netzes aufrechterhalten kann und das den nicht erwarteten künftigen Anforderungen gerecht werden kann.
  • Goldszmidt, G. S.,: 'Load Management for scaling up Internet services', NOMS '98, 1998 IEEE Network Operations and Management Symposium, New Orleans, LA, 15.-20. Feb. 1998, IEEE Network Operations and Management Symposium, New York, NY:IEEE, USA, Bd. 3 CONF. 10, 15. Februar 1998 (1998-02-15), Seiten 828-835, XP000793430, ISBN: 0-7803-4352-2, beschreibt ein Netz, in dem das Management der Last mit einer Anwendung ausgeführt wird, die als NetDispatcher bezeichnet wird. Die Anforderungen, die mit virtuellen IP-Adressen adressiert sind, werden zum NetDispatcher-Host weitergeleitet, der sie dann entsprechend den Informationen, die er über die aktuellen Lasten der Server besitzt, einem von mehreren ähnlichen Servern zuordnet.
  • EP-A-0 384 339 beschreibt ein Computer-Netz, das einen Makler-Mechanismus besitzt, der Dienstanforderungen von Client-Vorrichtungen empfängt und diese anhand einer Netzstrategie, die durch einen Netzingenieur bestimmt und periodisch gewartet wird, einer geeigneten Server-Vorrichtung zuordnet. Ein Server, dem eine Anforderung von einer Client-Vorrichtung zugeordnet wird, prüft seinen eignen aktuellen Status und vergleicht diesen mit einer lokalen Strategie, die durch einen Netzingenieur bestimmt und periodisch gewartet wird, wobei er, falls der Vergleich günstig ist, den angeforderten Dienst ausführt.
  • Biologisch angeregte Algorithmen (z. B. genetische Algorithmen [GAs] und neuronale Netze) sind in vielen Fällen erfolgreich verwendet worden, in denen gute Lösungen für schwierige (hier wird der Begriff 'schwierig' verwendet, um ein Problem darzustellen, das unter Verwendung von Brechstangenverfahren rechnerisch unmöglich ist) Probleme dieses Typs erforderlich sind (siehe C. M. Roedknight u. a., "Modelling of complex environmental data", IEEE Transactions on Neural Networks, Bd. 8, Nr. 4, S. 852-862, 1887, u. D. Goldberg, "Genetic Algorithms in Search, Optimization and Machine Learning", Addison-Wesley, 1989). Sie simulieren evolutionäre Verfahren oder neuronale Aktivierungswege in Software, wobei diese dann als Problemlösungswerkzeuge wirken. Sie können dies tun, weil sie den Zugang eines unbeschriebenen Blattes zur Problemlösung verwenden, sie können aus Erfolgen und Misserfolgen lernen, wobei sie aufgrund mehrerer adaptiver Rückkopplungsschleifen die Optima in einem fraktalen Suchraum schnell finden können.
  • Gemäß einem ersten Aspekt der vorliegenden Erfindung wird ein Knoten geschaffen, wie er im Anspruch 1 dargelegt ist. Es ist bevorzugt, dass, wenn der Aktivitätsindikator einen ersten oberen Schwellenwert erreicht, dann der Knoten eine oder mehrere Knotenstrategien exportieren kann. Dies schafft den Vorteil, dass die Strategien erfolgreicher Knoten für die mögliche Verwendung durch andere Knoten exportiert werden können. Außerdem kann, wenn der Aktivitätsindikator einen zweiten oberen Schwellenwert erreicht, dann der Knoten alle Knotenstrategien kopieren, um einen Klon des Knotens zu erzeugen. Der zweite obere Schwellenwert kann ein Wert des Aktivitätsindikators sein, der größer als der erste obere Schwellenwert ist, oder er kann während einer gegebenen Zeitdauer den ersten oberen Schwellenwert halten. Der Vorteil dessen besteht darin, dass die Knoten, die während längerer Perioden fortgesetzt erfolgreich sind, kopiert werden, was das Überleben der Angepasstesten sicherstellt.
  • Es ist außerdem bevorzugt, dass, wenn der Aktivitätsindikator einen ersten unteren Schwellenwert erreicht, dann der Knoten eine weitere Knotenstrategie importieren kann. Dies schafft den Vorteil, dass erfolglose Knoten Strategien von erfolgreichen Knoten erwerben können, um die erfolglosen Knoten zu verbessern. Wenn der Aktivitätsindikator einen zweiten unteren Schwellenwert erreicht, dann kann außerdem der Knoten eine freigegebene Knotenstrategie unterdrücken und eine inaktive Knotenstrategie freigeben. Der zweite untere Schwellenwert kann ein Wert des Aktivitätsindikators sein, der niedriger als der erste untere Schwellenwert ist, oder er kann während einer gegebenen Zeitdauer den ersten unteren Schwellenwert halten. Dies schafft den Vorteil, dass unproduktive Strategien aufgegeben werden können, damit andere Strategien verwendet werden können. Wenn außerdem der Aktivitätsindikator einen zweiten unteren Schwellenwert erreicht und der Knoten keine inaktiven Knotenstrategien besitzt, dann kann der Knoten sich selbst löschen. Der Vorteil dessen besteht darin, dass die Knoten, die während längerer Perioden fortgesetzt erfolglos sind, aus dem Netz entfernt werden, so dass die Verarbeitung der Dienstanforderungen in den erfolgreichen Knoten konzentriert werden kann.
  • Außerdem können eine oder mehrere der Variable innerhalb einer Knotenstrategie zufällig verändert: werden, was erlaubt, dass die Heterogenität der Knotenstrategien im Netz vorteilhaft vergrößert wird. Das Mehrfachdienst-Kommunikationsnetz kann unter Verwendung eines Datenträgers, der Computerknotenmittel umfasst, implementiert sein, wie oben beschrieben worden ist.
  • Gemäß einem zweiten Aspekt der Erfindung wird ein Mehrfachdienst-Kommunikationsnetz geschaffen, wie es im Anspruch 17 dargelegt ist. Vorzugsweise ist das Kommunikationsnetz so konfiguriert, dass es einen zusätzlichen Dienst durch das Einfügen einer zusätzlichen Knotenstrategie in das Netz verarbeitet. Die zusätzliche Knotenstrategie kann so in das Mehrfachdienst-Kommunikationsnetz eingefügt werden, dass ein Knoten die zusätzliche Knotenstrategie importieren kann oder alternativ die zusätzliche Knotenstrategie direkt in einen vorhandenen Knoten eingefügt werden kann. Als eine weitere Alternative kann die zusätzliche Knotenstrategie direkt in einen neu erzeugten Knoten eingefügt werden.
  • Dies schafft den Vorteil, dass das Netz hochgerüstet werden kann, indem einfach eine neue Strategie hinzugefügt wird, die einem oder mehreren der Netzknoten erlaubt, den neuen Diensttyp zu verarbeiten. Dies beseitigt jede Notwendigkeit, das Netz oder irgendeinen Teil von ihm abzubauen, damit Hardware und/oder Software ersetzt oder neu konfiguriert wird, wie es gegenwärtig erforderlich ist.
  • Das Mehrfachdienst-Kommunikationsnetz kann unter Verwendung eines Datenträgers, der Computerknotenmittel umfasst, implementiert sein, wie oben beschrieben worden ist.
  • Gemäß einem dritten Aspekt der Erfindung wird ein Verfahren zum Betreiben eines Knotens geschaffen, wie es im Anspruch 22 dargelegt ist.
  • Gemäß einem vierten Aspekt der Erfindung wird ein Verfahren zum Hochrüsten eines Mehrfachdienst-Kommunikationsnetzes geschaffen, wie es im Anspruch 24 dargelegt ist. Dies schafft den Vorteil, dass das Netz hochgerüstet werden kann, indem einfach eine neue Strategie hinzugefügt wird, die einem oder mehreren der Netzknoten erlaubt, den neuen Diensttyp zu verarbeiten. Dies beseitigt jede Notwendigkeit, das Netz oder irgendeinen Teil von ihm abzubauen, damit Hardware und/oder Software ersetzt oder neu konfiguriert wird, wie es gegenwärtig erforderlich ist.
  • Ein Typ der Dienstanforderungen kann in Übereinstimmung mit einer angepassten Knotenstrategie vorzugsweise verarbeitet werden. Es ist bevorzugt, dass die bevorzugte Verarbeitung der Dienstanforderung durch eine Dienstanforderungsfunktion bestimmt wird, in der die Dienstanforderungsfunktion die Lebensdauer oder alternativ der aus der Verarbeitung der Dienstanforderung abgeleitete Wert sein kann.
  • Gemäß einem fünften und einem sechsten Aspekt der Erfindung werden Befehle, die in einem Prozessor implementierbar sind, wie sie im Anspruch 29 dargelegt sind, bzw. ein Trägermedium, wie es im Anspruch 30 dargelegt ist, geschaffen.
  • Die Erfindung wird nun lediglich beispielhaft unter Bezugnahme auf die folgenden Figuren beschrieben, worin:
  • 1 eine schematische Darstellung eines Mehrfachdienst-Kommunikationsnetzes gemäß der vorliegenden Erfindung zeigt;
  • 2 eine schematische Darstellung der Reaktion eines Mehrfachdienst-Kommunikationsnetzes gemäß der vorliegenden Erfindung auf verschiedene Niveaus des Netzverkehrs zeigt;
  • 3 eine graphische Darstellung der Reaktion eines Mehrfachdienst-Kommunikationsnetzes gemäß der vorliegenden Erfindung auf die Einführung von neuen Diensttypen in das Netz zeigt;
  • 4 eine graphische Darstellung der Reaktion eines Mehrfachdienst-Kommunikationsnetzes gemäß der vorliegenden Erfindung zeigt, wenn verschiedenen Typen der Dienstanforderung verschiedene Verarbeitungswerte zugeordnet sind; und
  • 5 eine graphische Darstellung der Reaktion eines Mehrfachdienst-Kommunikationsnetzes gemäß der vorliegenden Erfindung zeigt, wenn verschiedenen Typen der Dienstanforderung verschiedene Lebensdauerwerte zugeordnet sind.
  • 1 zeigt ein Mehrfachdienst-Kommunikationsnetz 10, das eine Anzahl untereinander verbundener Knoten 20 umfasst. Diese Knoten können einen oder mehrere von einer Anzahl von Prozessen ausführen, die notwendig sind, um das Mehrfachdienstnetz 10 zu unterstützen, z. B. eine ATM-Vermittlung, einen WWW-Server, einen IP-Router, einen SMTP-Mail-Server, einen Domänennamenserver (DNS) usw. Die Anwender des Mehrfachdienstnetzes 10 sind in eine Anzahl von Gemeinschaften 30 unterteilt. Diese Gemeinschaften sind geographisch verteilt und besitzen verschiedene Anforderungen an das Mehrfachdienstnetz hinsichtlich des Typs der Anforderung und der Anzahl der gemachten Anforderungen (in 1 sind verschiedene Typen der Anforderungen durch die Buchstaben a, b, c u. d angegeben, wobei jeder Buchstabe eine Anforderung für einen anderen Dienst darstellt und die Häufigkeit jedes Buchstabens die Anzahl der für diesen Dienst gemachten Anforderungen darstellt). Während der Zeit verändert sich die Anzahl der Gemeinschaften 30, die das Netz 10 verwenden, wobei sich die Art und der Umfang der Netznutzung jeder Gemeinschaft in einer selbstähnlichen deterministischen Weise ändern (siehe I. Marshall u. a., "Performance Implications of WWW traffic statistics", http: //www.wtc2000.org vorgelegt). Außerdem ver ändert sich die Anzahl der durch das Netz bereitgestellten Dienste während der Zeit, wie neue Dienstes eingeführt und einige Dienste veraltet werden und aus dem Netz entfernt werden.
  • Ein Zugang zum Management eines derartigen Netzes würde darin bestehen, zu bewirken, dass alle Knoten alle Typen von Anforderungen verarbeiten können, wobei jeder Knoten eine ausreichende Kapazität besitzt, damit er alle an diesem Knoten empfangenen Anforderungen verarbeiten kann. Dies würde jedoch zu einer sehr ineffizienten Verwendung der Betriebsmittel führen, da praktisch jeder Knoten überdimensioniert sein würde und einen Überschuss an Kapazität besitzen würde, sowohl hinsichtlich des Typs der Dienstanforderungen als auch der Anzahl der Dienstanforderungen, die jeder Knoten verarbeiten können würde.
  • Ein weiterer Zugang würde darin bestehen, jeden Knoten auf die Verarbeitung einer festen Teilmenge der verschiedenen Dienste, die durch das Netz unterstützt werden, einzuschränken und eine feste Kapazität der Verarbeitungsfähigkeit für jeden Diensttyp bei jedem Knoten bereitzustellen. Indem innerhalb des Netzes in Bezug auf den Typ und die Anzahl von durch die Gemeinschaften in der Nähe erzeugten Dienstanforderungen Knoten festgelegt werden, die verschiedene Verkehrstypen optimal verarbeiten können, wird es möglich, die meisten Dienstanforderungen zu erfüllen. Es muss irgendeine Managementschicht innerhalb des Netzes geben, so dass die Dienstanforderungen über das Netz "ausgeglichen" werden können, indem die Dienstanforderungen, die durch die lokalen Knoten nicht abgewickelt werden können, zu entfernteren Knoten gesendet werden, wie sich die Dienstanforderungen über das Netz verändern. Der Nachteil dieses Zugangs besteht darin, dass, wie sich die Gemeinschaften ändern und wie sich die Dienstanforderungen der Gemeinschaften ändern, der Ort und/oder die Verarbeitungsfähigkeiten der Knoten weniger optimal werden, was eine Zunahme des Zwischenknotenverkehrs verursacht, wie die Dienstanforderungen zu einem geeigneten Knoten weitergeleitet werden, was den Management-Zusatzaufwand des Netzes vergrößert. Für ein Netz mit N untereinander verbundenen Knoten gibt es N2 Zwischenknotenbeziehungen, deren Management ausgeführt werden muss, was ein derartiges Managementschema schwer beeinflussbar macht, wenn N groß wird (z. B. viel größer als 1000).
  • Gemäß der vorliegenden Erfindung sind die in 1 gezeigten Knoten in der Hauptsache autonom, wobei ihr Verhalten durch eine Menge von Strategien gesteuert wird, die eine Analogie in der genetischen Struktur von Bakterien findet. Diese Analogie ist mit der metabolischen Diversität und den evolutionären Reaktionen der Bakterien konsistent. Der Darwinsche Mechanismus der Evolution umfasst einen einfachen Algorithmus des 'Überlebens des Angepasstesten' (C. Darwin, "The Origin of the Species by Means of Natural Selection", New American Library, New York). Während ein Darwinsches Modell unzweifelhaft auf sich langsam ändernde Arten innerhalb einer sich langsam ändernden Umgebung anwendbar ist, verursacht das Fehlen eines Mechanismus zum Austausch von Informationen innerhalb einer Generation Probleme, wenn es auf Umgebungen angewendet wird, die sehr schnelle Änderungen erfahren.
  • Die Bakterien sind eine Menge metabolisch verschiedener, einfacher, einzelliger Organismen. Ihre interne Struktur ist einfacher als die vieler anderer Typen lebender Zellen, wobei sie keine membranbegrenzten Kerne oder Organellen und eine kurze kreisförmige DNS aufweist. Dies ist so, weil die genetische Struktur der Bakterien relativ einfach ist. Es ist demonstriert worden, dass nur etwa 250 Gene erforderlich sind, um ein unabhängiges, sich selbst erhaltendes Bakterium zu codieren, wobei im hohen Grade kompetente Bakterien, von denen das ganze Genom bekannt ist, nur 2000-3000 Gene besitzen. Im Ergebnis können sich Bakterien innerhalb von 30 Minuten nach der 'Geburt' reproduzieren. Es ist gesagt worden, dass die bakterielle Evolution den 'Darwinismus übertrifft' (D. Caldwell u. a., "Do Bacterial Communities transcend Darwinism?", Advances in Microbial Ecology, Bd. 15. S. 105-191, 1997), wobei eine geschlechtslose Reproduktion, die das Überleben des Angepasstesten sicherstellt, und ein mehr Lamarkscher Mechanismus der Evolution parallel auftreten (Lamark war ein französischer Wissenschaftler des 18. Jahrhunderts, der argumentierte, dass die Evolution auftritt, weil die Organismen Merkmale erben können, die durch ihre Vorfahren während der Lebenszeit erworben worden sind), wobei die Individuen während ihrer Lebenszeit in Reaktion auf Umweltbelastungen Elemente ihres genetischen Materials, die als Plasmide bekannt sind, austauschen und die erworbenen charakteristischen Merkmale an ihre Nachkommen weitergeben können.
  • Die Plasmid-Migration erlaubt eine schnellere Reaktion auf plötzliche Änderungen in maßgeblichen Umweltfaktoren, wobei sie als ein Lernmechanismus modelliert werden kann. Es ist gezeigt worden, dass das Aufrechterhalten der Angepasstheit in einer komplexen sich ändernden Landschaft der Angepasstheit eine Evolution zusammen mit einem schnellen Lernmechanismus erfordert. Es ist lebenswichtig, dass das Lernen kontinuierlich stattfindet, wobei es kein Off-line-Training wie bei vielen auf neuronalen Netzen basierenden Zugängen erfordert. Wenn eine Population von E.coli (ein gewöhnliches Bakte rium) in eine neue Umgebung eingeführt wird, beginnt die Anpassung sofort (siehe R. E. Lenski und M. Travisano, "Dynamics of Adaptation and Diversification", Proc. Nat. Acad. Sci. 91: 6808-6814, 1994), wobei signifikante Ergebnisse innerhalb weniger Tage offensichtlich sind (d. h. O(1000) Generationen). Ungeachtet der schnellen Anpassung sind bakterielle Gemeinschaften außerdem bemerkenswert stabil. Fossilien von Gemeinschaften (Stromatoliten), die vor 3,5 Milliarden Jahren in Australien lebten, erscheinen zu den heutigen Gemeinschaften völlig gleich, die in der Shark Bay an Australiens Westküste leben. Die Bakterien besitzen folglich viele der Eigenschaften (Einfachheit, Elastizität, schnelle Reaktion auf Änderungen), die für Netzentitäten erwünscht sind.
  • In ähnlichen biologischen Systemen, wie z. B. Protocyten, wo die Wahrscheinlichkeit des Auftretens einer Mutation während des Kopierens eines Gens etwa 1 in einer Milliarde beträgt, kann die adaptive Evolution innerhalb von 1 m Generationen (O(1000) Jahren) auftreten. Die GAs entwickeln sich typischerweise viel schneller, weil die Generationenzeit O(100) ms beträgt und die Mutationsrate auf 1 in einer Million erhöht ist, wobei jedoch die Anpassung immer noch nur mit Änderungen in einer Zeitskala von O(10) s umgehen kann. Unter Verwendung des bakteriellen Lernens (des Plasmid-Austauschs) in einem GA verbessert sich dies zu O(10) ms, wobei sich seine Leistung beträchtlich verbessert, wenn er einer schnellen Änderung gegenübersteht.
  • Die Menge der Strategien spezifiziert, welchen Typ der Dienstanforderung der Knoten verarbeiten kann (z. B. a, b, c oder d aus 1), und eine Regel oder Regeln, die bestimmen, ob der Knoten die Dienstanforderung annimmt. Jeder Knoten besitzt eine bestimmte Anzahl von Strategien, wobei diese Strategien bestimmen, wie der Knoten auf die sich ändernde Umgebung des Netzes reagiert (in derselben Weise wie das genetische Material eines Bakteriums bestimmt, wie das Bakterium auf seine Umgebung reagiert). Die Strategien nehmen die Form {x, y, z} an, wobei:
    • x eine Funktion ist, die den Typ des angeforderten Dienstes darstellt;
    • y eine Funktion ist, die in Abhängigkeit von der Anzahl der Dienstanforderungen, die sich in dem Knoten in der Warteschlange befinden, bestimmt, ob eine Dienstanforderung angenommen wird; und
    • z eine Funktion ist, die in Abhängigkeit vom Aktivitätsniveau des Knotens bestimmt, ob eine Dienstanforderung angenommen wird.
  • Der 'Wert', den ein Knoten aus der Verarbeitung einer Dienstanforderung ableiten kann, würde das Empfangen von Einnahmen von einem Anwender oder einem Netz- oder Dienstanbieter sein (dies ist analog zu einem Bakterium, das Energie aus dem Umwandeln von Ressourcen gewinnt, so dass das Bakterium überleben und sich potentiell reproduzieren kann). Die Menge der Einnahmen hängt vom Typ der Dienstanforderung ab, die durch den Knoten verarbeitet wird, wobei einige Dienstanforderungen wichtiger sind und folglich eine größere Vergütung liefern, wenn sie verarbeitet werden.
  • Jeder Knoten kann irgendeine Anzahl von Strategien besitzen. Freigegebene Knoten (d. h. ein Knoten, der Dienstanforderungen verarbeitet) besitzen eine oder mehrere freigegebene Strategien (d. h. Strategien, die sich in Gebrauch befinden, um die Reaktion des Knotens zu bestimmen), wobei sie außerdem eine Anzahl inaktiver Strategien besitzen können (d. h. einmal freigegebene Strategien, die nicht länger verwendet werden, um die Reaktion des Knotens zu bestimmen). Die inaktiven Strategien können erneut freigegeben werden, während freigegebene Strategien unterdrückt werden können, wobei sie inaktiv werden.
  • Die Anwenderanforderungen für einen Dienst werden durch den (die) Knoten empfangen, der (die) sich von der Anwendergemeinschaft, die die Dienstanforderung erzeugt, am nächsten beim Eintrittspunkt in das Netz befindet (befinden). Wenn der Knoten die Anforderung verarbeiten kann, dann tritt die Anforderung in eine Warteschlange ein, wobei jeder Knoten die Elemente, die in seiner Eingangswarteschlange ankommen, nach einem 'FIFO-Prinzip' bewertet. Falls die Dienstanforderung an der Spitze der Warteschlange einer verfügbaren Strategie entspricht, wird die Dienstanforderung verarbeitet, wobei der Knoten 'belohnt' wird (d. h. die Einnahmen für den Netz- oder Dienstbetreiber erzeugt werden), wobei dann die Anforderung aus der Warteschlange gelöscht wird. Wenn die Dienstanforderung keiner der freigegebenen Strategien des Knotens entspricht, dann wird die Anforderung zu einem benachbarten Knoten weitergeleitet, wobei kein Entgelt gegeben wird. Je mehr Zeit ein Knoten bei der Verarbeitung von Dienstanforderungen verbraucht, desto beschäftigter ist er, wobei die durch den Knoten erzeugten Entgelte (oder Einnahmen) zunehmen. Wenn umgekehrt ein Knoten nicht viele Dienstanforderungen empfängt, für die er eine freigegebene Strategie besitzt, dann ist der Knoten nicht beschäftigt, wobei durch diesen Knoten wenig Entgelte (oder Einnahmen) erzeugt werden. Wenn ein Knoten, der Dienstanforderungen, für die er eine freigegebene Strategie besitzt, mit einer größeren Rate empfängt, als er diese Anforderungen verarbeiten kann, dann wächst die Länge der Warteschlange der Dienst anforderungen. Dies führt zu einer Zunahme der Zeit, die es dauert, um eine Dienstanforderung zu verarbeiten, wobei folglich ein schlechter Dienst an die Anwendergemeinschaften geliefert wird.
  • Um diese unerwünschten Wirkungen zu verringern, würde es erwünscht sein, dass die Knoten, die nicht beschäftigt sind und/oder die kleine Warteschlangenlängen besitzen, die Merkmale der Knoten erwerben können, die beschäftigt sind und/oder große Warteschlangenlängen besitzen. Ein Verfahren, durch das dies erreicht werden kann, besteht im Übernehmen eines Schemas, das ein Analogon der Plasmid-Migration in Bakterien ist. Die Plasmid-Migration umfasst Gene von gesunden Individuen, die in die Umgebung verbreitet oder kopiert und anschließend in das genetische Material von weniger gesunden Individuen absorbiert werden. Falls die Plasmid-Migration schwache Stämme nicht unterstützt, ihre Angepasstheit zu vergrößern, sterben diese schließlich. Wenn folglich ein Knoten eine Warteschlangenlänge oder einen Aktivitätsindikator besitzt, die bzw. der einen oberen Schwellenwert erreicht, dann wird eine der Strategien des Knotens zufällig in einen 'Strategiepool' kopiert, der für alle Knoten zugänglich ist. Alternativ kann der Knoten die erfolgreichste Strategie (hinsichtlich des Erzeugens von Einnahmen während einer gegebenen jüngeren Periode) oder irgendeine andere Strategie in den 'Strategiepool' kopieren. Wenn ein Knoten einen Aktivitätsindikator und/oder eine Warteschlangenlänge besitzt, der bzw. die einen unteren Schwellenwert erreicht, dann wird aus dem Strategiepool eine Strategie zufällig ausgewählt und durch den Knoten erworben. Wenn der Strategiepool leer ist, dann muss der Knoten warten, bis ein 'erfolgreicher' Knoten eine Strategie zum Strategiepool hinzufügt. Die Schwellenwerte (sowohl der obere als auch der untere) müssen für die Warteschlangenlänge nicht die gleichen wie für den Aktivitätsindikator sein.
  • Wenn ein Knoten den oberen Schwellenwert für die Warteschlangenlänge oder für den Aktivitätsindikator während einer gegebenen Zeitdauer aufrechterhält (d. h. der Knoten seinen Erfolg aufrechterhält), dann kann der Knoten sich selbst klonen, indem er einen weiteren Knoten erzeugt, der die gleiche Menge von Strategien wie der Elternknoten besitzt. Dies ist das Analogon zu einem gesunden Bakterium mit einer reichlichen Nahrungsversorgung, das sich durch binäre Spaltung reproduziert, um völlig gleiche Nachkommen zu erzeugen. Alternativ kann dieser Prozess des Klonens durch die Warteschlangenlänge oder den Aktivitätsindikator des Knotens eingeleitet werden, die bzw. der einen zweiten oberen Schwellenwert erreicht, wobei dieser zweite obere Schwellenwert größer als der erste obere Schwellenwert ist. Wenn umgekehrt ein Knoten den unteren Schwellenwert für die Warteschlangenlänge oder für den Aktivitätsindikator während einer gegebenen Zeitdauer aufrechterhält (d. h. die Untätigkeit des Knotens wird aufrechterhalten), dann werden einige oder alle der freigegebenen Strategien des Knotens gelöscht, wobei irgendwelche inaktiven Strategien aktiviert werden. Wenn der Knoten keine inaktiven Strategien besitzt, dann wird der Knoten ausgeschaltet, sobald alle freigegebenen Strategien gelöscht worden sind. Dies ist das Analogon zum bakteriellen Tod aufgrund von Nahrungsentzug.
  • Der Analogie mit der bakteriellen Evolution folgend wird geglaubt, dass eine niedrigere Rate der Anpassung an die Umweltänderungen gegenüber einer schnelleren Rate der Anpassung bevorzugt ist, weil eine schnellere Rate bedeuten kann, dass die Netzknoten in einer evolutionären "Sackgasse" ohne die genetische Diversität enden, um mit den nachfolgenden Umweltänderungen fertigzuwerden. Dies kann erreicht werden, indem zufällige Änderungen der Knotenstrategien bevorzugt werden, anstatt die Übernahme erfolgreicher Strategien oder die Verwerfung erfolgloser Strategien zu bevorzugen.
  • Das andere Verfahren, durch das die Knotenstrategien verändert werden können, ist zu zufälligen genetischen Mutationen analog, die in einem Bakterium auftreten. Die Strategiemutationen kann z. B. die zufällige Änderung eines einzigen Wertes in einer Strategie umfassen. Wenn eine Strategie die Form:
    Nimm die Anforderung für den Dienst a an, falls der Aktivitätsindikator < 80 % ist,
    besitzen würde, dann könnten zulässige Mutationen
    Nimm die Anforderung für den Dienst c an, falls der Aktivitätsindikator < 80 % ist, oder
    Nimm die Anforderung für den Dienst a an, falls der Aktivitätsindikator < 60 % ist, oder
    Nimm die Anforderung für den Dienst a an, falls die Warteschlangenlänge < 80 % ist,
    enthalten (die Mutation ist fettgedruckt angegeben).
  • Simulationen haben gezeigt, dass die Mutationen einzelner Werte stabile Systeme mit ziemlich niedrigen Mutationsraten verursachen. Während es möglich sein würde, Mutationen mehrerer Werte zu besitzen (z. B. 'Nimm die Anforderung für den Dienst a an, falls der Aktivitätsindikator < 80 % ist' mutiert zu 'Nimm die Anforderung für den Dienst b an, falls die Warteschlangenlänge < 20 % ist'), kann dies zu einem instabilen System führen. Die Ergebnisse der Simula tionen zeigen, dass infolge der langfristigen selbststabilisierenden adaptiven Art der Bakteriengemeinschaften, die durch die Knotenstrategien nachgeahmt wird, ein Netzmanagementalgorithmus, der auf der bakteriellen genetischen Struktur und den Umweltreaktionen basiert, einen geeigneten Zugang schafft, um ein stabiles Netz autonomer Knoten zu erzeugen. Der obige Zugang macht jeden Knoten innerhalb des Netzes für sein eigenes Verhalten verantwortlich, so dass das Netz als eine Gemeinschaft von zellularen Automaten modelliert wird. Jedes Mitglied dieser Gemeinschaft optimiert egoistisch seinen eigenen lokalen Zustand, dieser 'Egoismus' ist aber als ein stabiles Gemeinschaftsmodell für Sammlungen lebender Organisten nachgewiesen worden (R. Dawkins, "The Selfish Gene", Oxford University Press, 1976), wobei gezeigt worden ist, dass die Partitionierung eines Systems in sich egoistisch anpassende Teilsysteme ein lebensfähiger Zugang zum Lösen komplexer und nichtlinearer Probleme ist (S. Kauffman u. a., "Divide and Coordinate; Coevolutionary Problem Solving", ftp://flp.santafe.edu/pub/wgm/patch.ps). Folglich wird durch eine Menge von Zellen, die für ihren eigenen Nutzen und nicht für den Gesamtnutzen des Netzes wirken, eine Stabilität des Gesamtnetzes geschaffen, wobei dieses Selbstmanagement der Knoten die meisten der Netzmanagementprobleme auf hoher Ebene beseitigt.
  • Die Erfinder haben eine Simulation eines Netzes gemäß der vorliegenden Erfindung (und der oben beschriebenen Art) implementiert. Das Simulationssystem unterstützt bis zu zehn verschiedene Diensttypen, aber im Interesse der Einfachheit bezieht sich die folgende Erörterung auf eine Teilmenge von vier von diesen Diensttypen; A, B, C, D, wobei sie auf einem rechtwinkligen Gitter mit 400 Vertizes basiert (was lediglich ein Beispielwert und für das Arbeiten der Erfindung nicht entscheidend ist). Das System wird initialisiert, indem eine Zufallsauswahl der Vertizes mit freigegebenen Knoten bevölkert wird. Diese anfänglichen Knoten besitzen eine Zufallsauswahl von Strategien, die definieren, wie jeder Knoten die Dienstanforderungen abwickelt. Diese Strategien besitzen eine Anzahl von Variablen und werden in der Form {x, y, z} dargestellt, wobei:
    • x eine Funktion ist, die den angeforderten Diensttyp darstellt;
    • y eine Funktion zwischen 0 und 200 ist, die als der Wert in einer Anweisung der Form Nimm die Anforderung für den Dienst [Val(x)] an, falls die Warteschlangenlänge < Val(y) ist, interpretiert wird; und
    • z eine ganze Zahl zwischen 0 und 100 ist, die als der Wert in einer Anweisung der Form Nimm die Anforderung für den Dienst [Val(x)] an, falls die Beschäftigtkeit < Val(z%) ist, interpretiert wird.
  • Ein Knoten, der eine Anzahl von Strategien besitzt, ist als {x1, y1, z1, x2, y2, z2: ... :xi, yi, zi} dargestellt.
  • Die Anforderungen werden in das System eingegeben, indem Folgen von Zeichen, die die Dienstanforderungen darstellen, bei jedem Vertex in dem Feld eingespeist werden. Falls der Vertex mit einem Knoten bevölkert ist, treten die Elemente in eine Eingangswarteschlange des Knotens ein. Wenn es bei dem Vertex keinen Knoten gibt, dann werden die Anforderungen zu einem benachbarten Vertex weitergeleitet. Jeder Knoten bewertet die Dienstanforderungen, die in seiner Eingangswarteschlange ankommen, nach einem 'FIFO-Prinzip'. Wenn die Anforderung an der Spitze einer Knotenwarteschlange einer verfügbaren Regel entspricht, dann wird die Anforderung ver arbeitet, wird der Knoten für das Ausführen der Anforderung belohnt und wird die Anforderung aus der Eingangswarteschlange gelöscht. Wenn es keine Übereinstimmung zwischen der Dienstanforderung und den Strategien des Knotens gibt, dann wird die Anforderung zu einem weiteren Vertex weitergeleitet, wobei durch den Knoten kein Entgelt erhalten wird. Jeder Knoten kann nur vier Anforderungen pro Messperiode (die künftig als eine Epoche bezeichnet wird) verarbeiten. Je mehr Zeit ein Knoten beim Verarbeiten der Anforderungen verbraucht, als desto beschäftigter wird er gesehen und desto größer ist der Wert seines Aktivitätsindikators. Der Aktivitätsindikator kann bestimmt werden, indem die Aktivität in der gegenwärtigen Epoche berechnet wird, wenn z. B. der Knoten in der gegenwärtigen Epoche drei Anforderungen verarbeitet hat und 25 'Punkte' des Entgelts für jede verarbeitete Anforderung erzeugt werden, dann würde der Aktivitätsindikator 75 sein. Um jedoch alle plötzlichen Änderungen im Verhalten, die auf eine im hohen Grade dynamische Umgebung zurückzuführen sind, zu dämpfen, ist es bevorzugt, den Aktivitätsindikator in der vorhergehenden Epoche mit dem Aktivitätsindikator für die gegenwärtige Epoche zu kombinieren. Es ist für das simulierte Netz festgestellt worden, dass ein geeignetes Verhältnis des vorhergehenden Indikators zum gegenwärtigen Indikator 0,8:0,2 beträgt. Wenn z. B. in dieser Epoche der Knoten drei Anforderungen verarbeitet hat, wobei jede 25 Punkte erzeugt, und der Knoten einen Aktivitätsindikator von 65 für die vorhergehende Epoche besessen hat, dann ist der Aktivitätsindikator für die gegenwärtige Epoche 67. Es ist zu sehen, dass sich das Verhältnis zwischen den zwei Indikatoren bei jedem System verändert und davon abhängt, wie dynamisch das System ist. Es sollte außerdem angegeben werden, dass die Auswahl von vier Verarbeitungsschritten pro Epoche eine beliebige Wahl ist und dass andere Werte für diesen Parameter über nommen werden können. Der Plasmid-Austausch, wie er oben beschrieben worden ist, wurde in der Simulation modelliert, wobei, wenn ein Knoten durch den Austausch von Strategien mehr als vier freigegebenen Strategien besitzt, dann die neueste Strategie, die zu erwerben ist, unterdrückt wird (d. h. als gegenwärtig inaktiv registriert wird), so dass zu jedem Zeitpunkt nicht mehr als vier Strategien in einem Knoten freigegeben sind (obwohl diese Grenze von vier freigegebenen Strategien eine beliebige Grenze ist und verändert werden kann). Wenn ein Knoten 4 freigegebene Strategien besitzt und eine aus dem Strategiepool erwirbt, dann wird die aus dem Pool erworbene Strategie nicht unterdrückt, sondern es wird eine der vorher vorhandenen Strategien unterdrückt. Es können andere Auswahlkriterien angewendet werden, wenn Strategien unterdrückt werden, z. B. das Unterdrücken der am wenigsten erfolgreichen Strategie oder der Strategie, die am längsten freigegeben gewesen ist, usw.
  • Gegenwärtig werden die Werte für die Warteschlangenlänge und den zeitlich gemittelten Aktivitätsindikator als die Grundlage für die Austauschhandlungen verwendet, wobei die Bewertung alle fünf Epochen ausgeführt wird. Wenn die Warteschlangenlänge oder der Aktivitätsindikator über einem Schwellenwert liegt, dann wird eine der Strategien des Knotens in einen 'Strategiepool' kopiert, der für alle Knoten zugänglich ist. In diesem Beispiel betrugen beide Schwellenwerte 50, wobei es offensichtlich ist, dass dieser Wert nur ein Beispiel ist, wobei andere Schwellenwerte ausgewählt werden können und es keine Notwendigkeit gibt, dass der Schwellenwert für die Warteschlangenlänge gleich dem Schwellenwert des Aktivitätsindikators ist. Die Schwellenwerte bestimmen die Anzahl der Knoten, die sich reproduzieren können, um das System zu besetzen, wobei sie geeignet gewählt werden sollten, um den Leistungsanforderungen des Systems zu entsprechen. Falls der Knoten während vier Bewertungsperioden fortgesetzt den Schwellenwert überschreitet, werden seine freigegebenen Strategien gelöscht. Falls irgendwelche inaktiven Strategien vorhanden sind, werden diese freigegeben, wenn es jedoch keine inaktiven Strategien gibt, dann wird der Knoten ausgeschaltet. Dies ist das Analogon zum bakteriellen Tod aufgrund von Nahrungsentzug. Wenn z. B. ein Knoten, der die Strategie {a, 40, 50: c, 10, 5} besitzt, einen Aktivitätsindikator besitzt, der größer als 50 ist, wenn er bewertet wird, legt er eine zufällige Strategie (z. B. {c, 10, 5} in den Strategiepool. Wenn ein Knoten mit dem Genom {b, 2, 30: d, 30, 25} später als untätig betrachtet wird, kann er diese Strategie importieren, wobei er zu {b, 2, 30: d, 30, 25: c, 10, 5} wird. Wenn die importierte Strategie den Aktivitätsindikator des Knotens nicht vergrößert, so dass der Knoten nicht länger untätig ist, dann kann eine weitere Strategie importiert werden; wenn es keine weitere zu importierende Strategie gibt, dann kann der Knoten gelöscht werden.
  • Für diese implementierte Simulation wurde eine Visualisierungsumgebung erzeugt. Die Visualisierungsumgebung schafft eine Schnittstelle, wo die Netzlast und andere Parameter in vielen Arten verändert werden können, wobei dadurch erlaubt wird, dass in einer flexiblen Weise Belastungen in das System eingeführt werden. Es kann z. B. bewirkt werden, dass sich das Verhältnis der Anforderungen für die vier Dienste während der Zeit verändert, wie bewirkt werden kann, dass sich die Gesamtzahl der Anforderungen pro Einheitszeit während der Zeit verändert. Es wurde eine 'Petrischale', die bis zu 400 Knoten aufnehmen kann, verwendet, um den Systemzustand anzuzeigen. In die Simulation wurden in einem Versuch, die Knoten zu zwingen, das Verhalten des Bakteriums in einer sich ändernden Umgebung zu modellieren, Regeln eingeführt, die die Re produktion und die Evolution einschließlich der Plasmid-Migration (wie oben beschrieben worden ist) steuern. 2 zeigt, was geschieht, wenn eine anfängliche niedrige Last vergrößert und dann verringert wird. Jeder Stamm der Knoten, der einen einzigen Anforderungstyp verarbeiten kann, ist in 2a durch einen Code dargestellt, der die Farbe darstellt, die verwendet wird, um den Stamm durch den Simulator anzuzeigen, z. B. R [Rot], G [Grau], B [Blau] usw. Wenn die Last zunimmt (2b), nimmt die Größe der vorhandenen Kolonien zu, wobei Kolonien neuer Stämme der Knoten aufgrund der Mutation und der Plasmid-Migration erscheinen. Komplexere Stämme mit der Fähigkeit, mehr als einen Dienstanforderungstyp abzuwickeln, wurden durch eine Kombination dieser Farben dargestellt, ein Knoten, der z. B. die durch Rot und Blau angezeigten Stämme verarbeiten konnte, wird durch P [Purpur] angezeigt (siehe die 2a u. 2b). 2c zeigt die Reaktion auf eine Abnahme der Last. Wie in echten bakteriellen Gemeinschaften verursacht eine Abnahme der Nahrung eine große Menge des Zelltods, aber außerdem eine Zunahme der Diversität (die durch die Zunahme der Anzahl verschiedener Knotenstämme gezeigt ist), da mehr Plasmid-Migration und Mutation auftreten.
  • Es ist sofort offensichtlich, dass die oben angegebenen Steuerparameter lediglich beispielhaft sind und vorgesehen sind, um die vorliegende Erfindung zu veranschaulichen. Die optimalen Werte der verschiedenen Parameter verändern sich von System zu System in Abhängigkeit von ihrer Größe, ihrem dynamischen Konstanten, ihren Wachstumsraten usw.
  • Das obenbeschriebene System besitzt sehr signifikante Vorteile, wenn neue Dienste zu einem Mehrfachdienstnetz hinzugefügt wer den. Traditionell ist es notwendig, das Netz abzubauen und die erforderliche Hardware hinzuzufügen, die Software zu aktualisieren usw., so dass das Netz den (die) neuen Dienst(e) tragen kann. Unter Verwendung eines Netzes gemäß der vorliegenden Erfindung ist es möglich, einen neuen Dienst durch das Hinzufügen neuer Funktionalität zu vorhandenen Knoten bereitzustellen, so dass sie mit verschiedenen Dienstanforderungen umgehen können, die dem neuen Dienst zugeordnet sind.
  • Das einfachste Verfahren, um dies auszuführen, besteht darin, den Knotenstrategien zu erlauben, zu mutieren, so dass eine Strategie den neuen Typ der Dienstanforderung(en) verarbeiten kann. Wenn eine Strategie mutiert, so dass sie einen neuen Dienstanforderungstyp verarbeiten kann, dann besitzt der Knoten eine reichliche Nahrungsquelle, wobei er die Verteilung der neu mutierten Strategie durch die Knotenpopulation durch Plasmid-Migration und/oder durch Reproduktion unterstützt. Wenn die Mutation zu einem Knoten führt, der einen Diensttyp verarbeiten kann, der noch nicht in das Netz eingeführt worden ist, dann kann der Knoten leicht aussterben, was zur Unterdrückung der weniger nützlichen Mutation führt. Es kann bevorzugt sein, irgendeine Form der Einschränkung an das Ausmaß der Mutation zu besitzen, die zu versuchen erlaubt ist, und ein derartiges Vorkommen zu minimieren. Der Mutationsbereich für die Strategien muss offensichtlich erlauben, dass alle in Gebrauch befindlichen Dienstanforderungstypen dafür auszuwählen sind.
  • Ein weiteres Verfahren zum Freigeben von Knoten, um neue Typen von Dienstanforderungen zu verarbeiten, besteht darin, die Strategiemenge eines vorhandenen Knoten so zu modifizieren, dass er den neuen Diensttyp abwickeln kann. Um dies zu tun, ist es notwendig, den Knoten während einer kurzen Zeitdauer zu sperren, aber die verteilte Art des Netzes bedeutet, dass die anderen Knoten reagieren, um den fehlenden Knoten aufzunehmen. Es ist möglich, die Strategie entweder als eine freigegebene Strategie oder als eine inaktive Strategie in die Strategiemenge einzuführen, obwohl es wahrscheinlicher ist, dass eine freigegebene Strategie schnell durch das Netz verbreitet wird. Weitere Verfahren, um dem Netz zu ermöglichen, neue Diensttypen zu bewältigen, enthalten die Einfügung von einem oder mehreren neuen Knoten, die eine Anzahl von Strategien besitzen, von denen einige ermöglichen, dass der neue Typ der Dienstanforderung verarbeitet wird, oder die Einfügung geeigneter Strategien in den Strategiepool, von wo die erfolglosen Knoten diese Strategien erwerben können.
  • 3a zeigt die Reaktion der Simulation auf das Einfügen eines neuen Typs von Dienstanforderungen zum gleichen Zeitpunkt, zu dem den Knotenstrategien erlaubt wird, zu mutieren, um den neuen Diensttyp zu verarbeiten (die vertikale Linie in der graphischen Darstellung bei etwa 500 Epochen zeigt das Einfügen des neuen Typs von Anforderungen an). Der neue Typ der Dienstanforderung wird durch die massiven Kreise in 3a angezeigt, wobei die anderen Typen der Dienstanforderungen durch die offenen Quadrate dargestellt sind. Die mittlere Zeit, um den neuen Typ der Dienstanforderung zu verarbeiten, steigt scharf an, da zuerst nur wenige Knoten geeignete Knotenstrategien besitzen, die mittlere Verarbeitungszeit fällt aber, wie diese Strategien durch Migration und Reproduktionen verbreitet werden. Die graphische Darstellung fällt dann auf null, was darstellt, dass die Strategie infolge des Fehlens von Dienstanforderungen, die gemacht werden, inaktiv gemacht wird. Die mittlere Ver arbeitungszeit für den neuen Typ der Dienstanforderung steigt dann abermals an, wie die Strategie erneut freigegeben wird, wobei die mittlere Verarbeitungszeit bald einen stationären Zustand erreicht, der mit denen der anderen Typen der Dienstanforderung vergleichbar ist. 3b zeigt eine ähnliche graphische Darstellung, die die Reaktion der Simulation auf die gleichzeitige Einführung eines neuen Typs der Dienstanforderung und die Einspeisung einer geeigneten Knotenstrategie in den Strategiepool darstellt. Wie vorher steigt die mittlere Verarbeitungszeit für den neuen Typ der Dienstanforderung steil an, wie die Dienstanforderungen gemacht werden, sie fällt aber auf einen stationären Wert, wie die Knotenstrategien für den neuen Typ der Dienstanforderung durch das Netz verbreitet werden.
  • Zurückzuführen auf die evolutionäre Art des Netzes nimmt, wenn ein gegebener Diensttyp nicht umfassend verwendet wird, dann die Anzahl der Knoten, die für diesen Diensttyp geeignete Strategien besitzen, ab, da die Knoten aussterben oder sich anpassen, um andere Diensttypen zu verarbeiten. Wenn das Entfernen eines in Gebrauch befindlichen Diensttyps aus dem Netz erforderlich ist, dann können die oben umrissenen Verfahren umgekehrt angewendet werden, so dass die Knotenstrategien nicht mutieren können, so dass der Diensttyp verarbeitet werden kann, anwendbare Strategien aus den Knoten oder dem Strategiepool gelöscht werden können usw.
  • Die Erfinder haben außerdem eine zweite Simulation eines Netzes gemäß der vorliegenden Erfindung (und der oben beschriebenen Art) implementiert. Dieses zweite Simulationssystem kann bis zu zehn verschiedene Diensttypen unterstützen, aber die folgende Erörterung bezieht sich auf eine Simulation unter Verwendung einer Teilmenge von fünf von diesen Diensttypen; A, B, C, D u. E, wobei sie auf einem rechtwinkligen Gitter mit 400 Vertizes basiert.
  • Die Einzelheiten der Simulation sind die gleichen wie für die oben beschriebene erste Simulation, mit Ausnahme, dass der aus der Verarbeitung einer Dienstanforderung abgeleitete Wert für jede verschiedene Dienstanforderung verschieden ist: Hier erzeugt die Verarbeitung der Dienstanforderung A ein Entgelt von 40, erzeugt die Verarbeitung der Dienstanforderung B ein Entgelt von 35, erzeugt die Verarbeitung der Dienstanforderung C ein Entgelt von 30, erzeugt die Verarbeitung der Dienstanforderung D ein Entgelt von 25 und erzeugt die Verarbeitung der Dienstanforderung E ein Entgelt von 20. Es dauert 25 ms, dass ein Knoten irgendeine der Dienstanforderungen verarbeitet, ungeachtet des Typs der Anforderung, wobei eine Umleitung einer Dienstanforderung von einem Knoten zu einem weiteren 4 ms dauert. Wenn eine Dienstanforderung für irgendeinen Typ durch einen Knoten nicht innerhalb von 15 Epochen (d. h. 1500 ms) für die Verarbeitung angenommen wird, dann wird die Dienstanforderung aus der Warteschlange gelöscht, weil sie ihren Wert der Lebensdauer überschritten hat.
  • 4a zeigt die mittlere Anzahl von Anforderungen, die während einer Simulation, die ausgeführt wurde, wie oben beschrieben worden ist, von den Knoteneingangswarteschlangen fallengelassen werden. Um der Klarheit willen sind die Linien, die die Diensttypen B und D anzeigen, aus der graphischen Darstellung weggelassen worden. Alle Diensttypen erfahren anfangs beim Beginn der Simulation eine große Spitze fallengelassener Anforderungen, die auf die Anzahl von Knoten im simulierten Netz zurückzuführen ist, die nicht ausreichend ist, um alle Dienstanforderungen zu verarbeiten. Da durch die Knotenkopie zusätzliche Knoten erzeugt werden, nimmt die Anzahl der fallengelassenen Dienstanforderungen ab, bis ein stationärer Wert erreicht wird, obwohl es mit der vereinzelten Spitze, die in der graphischen Darstellung auftritt, eine gewisse Störung um diesen stationären Wert gibt. Es wird angegeben, dass im Allgemeinen die Anzahl der Anforderungen, die fallengelassen wird, um so geringer ist, je größer der aus der Verarbeitung einer Dienstanforderung abgeleitete Wert ist, d. h., die Anzahl der fallengelassenen Anforderungen des Typs A ist typischerweise keiner als die Anzahl der fallengelassenen Anforderungen des Typs C, während die Anforderungen des Typs E öfter als die anderen Typen der Anforderung fallengelassen werden (diesem Trend folgen die Diensttypen B u. D, obwohl dies in 4a nicht gezeigt ist).
  • 4b zeigt das mittlere Alter in Epochen der Dienstanforderungen, wenn sie durch einen Knoten im simulierten Netz verarbeitet werden. Die graphische Darstellung zeigt, dass ein stationärer Wert relativ schnell erreicht wird (obgleich einige zufällige Fluktuationen um den stationären Wert enthalten sind). Der durch 4b angezeigte allgemeine Trend ist, dass, je größer der aus der Verarbeitung einer Dienstanforderung abgeleitete Wert ist, das Alter der Anforderung um so niedriger ist, wenn sie verarbeitet wird, d. h., die Diensttypen mit höherem Wert werden gegenüber den Diensttypen mit niedrigerem Wert bevorzugt verarbeitet. Folglich ist aus 4b ersichtlich, dass im Durchschnitt die Dienstanforderungen des Typs A schneller als die Dienstanforderungen des Typs C verarbeitet wurden und dass die Dienstanforderungen des Typs C schneller als die Dienstanforderungen des Typs E verarbeitet wurden (diesem Trend folgen die Diensttypen B u. D, obwohl dies in 4b nicht gezeigt ist).
  • Die 5a und 5b zeigen die Ergebnisse aus einer dritten experimentellen Simulation, in der es 5 verschiedene Diensttypen A-E gibt, wobei die verschiedenen Diensttypen in gleichen Verhältnissen angefordert werden. Der aus der Verarbeitung einer Dienstanforderung abgeleitete Wert beträgt 25 Punkte für alle verschiedenen Diensttypen, wobei wie in der obenbeschriebenen zweiten Simulation jede Verarbeitung einer Dienstanforderung in einem Knoten 25 ms dauert, während eine Umleitung einer Dienstanforderung zu einem anderen Knoten 4 ms dauert.
  • In dieser zweiten Simulation besitzt jedoch der Diensttyp A einen Wert der Lebensdauer von 10 Epochen, besitzt der Diensttyp B einen Wert der Lebensdauer von 20 Epochen, besitzt der Diensttyp C einen Wert der Lebensdauer von 30 Epochen, besitzt der Diensttyp D einen Wert der Lebensdauer von 40 Epochen und besitzt der Diensttyp E einen Wert der Lebensdauer von 50 Epochen. Alle anderen Aspekte der Simulation, wie z. B. die Regeln und die Schwellenwerte bezüglich der Plasmid-Migration, der Strategie-Export/Import-Ereignisse usw., sind so wie sie oben für die zweite Simulation beschrieben worden sind.
  • 5a zeigt die mittlere Anzahl der Dienstanforderungen, die jede Epoche für die Diensttypen A, C u. E fallengelassen werden (die Daten für die Diensttypen B u. D sind um der Klarheit willen aus der graphischen Darstellung ausgeschlossen worden). 5a zeigt am Anfang der Simulation eine relativ große Spitze in der mittleren Anzahl der fallengelassenen Dienstanforderungen für alle Diensttypen, die auf die Anzahl der Knoten im simulierten Netz zurückzuführen ist, die nicht ausreichend sind, um alle Dienstanforderungen zu verarbeiten. Da durch die Knotenkopie zusätzliche Knoten erzeugt werden, nimmt die Anzahl der fallengelassenen Dienstanforderungen ab, bis ein stationärer Wert erreicht wird. Die mittlere Anzahl der Anforderungen des Typs A ist sowohl während der anfänglichen 'Netzwachstums'-Phase als auch während der stationären Phase der Simulation signifikant größer als die für die anderen Diensttypen. Obwohl während der 'Netzwachstums'-Phase die mittlere Anzahl der fallengelassenen Dienstanforderungen des Typs E größer als die Anzahl der fallengelassenen Dienstanforderungen des Typs C ist, ist im Allgemeinen während der stationären Phase das Gegenteil wahr.
  • 5b zeigt das mittlere Alter der Dienstanforderungen, wenn sie für die oben erörterte Simulation verarbeitet werden. 5b zeigt eine anfängliche Spitze im mittleren Alter der Dienstanforderungen, die in der Linie für den Diensttyp E am ausgeprägtesten ist, bevor ein approximierter stationärer Wert schnell erreicht wird. Der approximierte stationäre Wert für den Diensttyp A ist kleiner als der für die beiden Typen C u. E, wobei der mittlere Wert für die Dienstanforderungen des Typs C geringfügig kleiner als der für die Dienstanforderungen des Typs E ist. 5b zeigt, dass sich die simulierten Netzknoten angepasst haben, um vorzugsweise die Dienstanforderungen zu verarbeiten, die eine niedrigere Lebensdauer besitzen.
  • Aus den Simulationsergebnissen ist ersichtlich, dass es möglich ist, verschiedene Dienstqualitäten innerhalb eines derartigen Netzes zu erzeugen, indem der aus der Verarbeitung einer Dienstanforderung und/oder der Lebensdauer für eine Dienstanforderung abgeleitete Wert definiert wird. Die durch das Netz bereitgestellte Dienstqualität (QoS) kann durch die Netzbetreiber oder den Diensteanbieter gesteuert werden, der konstante Werte für diese Variable für verschiedene Typen der Dienstanforderungen definiert oder für den gleichen Dienst verschiedene Klassen der QoS verfügbar hat, wobei der Anwender eine gewünschte Klasse der QoS auswählt. Alternativ können die Anwender ein geeignetes Niveau der QoS oder ein Kostenniveau, für dessen Bezahlung sie vorbereitet sind, wählen, wobei diese Wahl dann in eine geeignete Kombination des Dienstanforderungswertes und/oder der Lebensdauer übersetzt wird. Außerdem kann der QoS-Prozeß transparenter sein, wobei die Anwender direkt den Dienstanforderungswert und/oder die Lebensdauer für einige oder alle ihrer Netztransaktionen auswählen.
  • Ein Beispiel eines derartigen Mehrfachdienstnetzes ist, wie es durch M. Fry u. A. Ghosh, "Application Level Active Networking", verfügbar von http://dmir.socs.uts.edu.au/projects/alan/papers/cnis.ps beschrieben ist. Das Netz würde eine Anzahl ausgedehnter aktiver Netzknoten (ANNs) enthalten, wobei jeder ANN einen großen Prozessor-Cluster, z. B. bis zu 200 Prozessoren, umfasst, wobei jeder Prozessor einen dynamischen Proxylet-Server (DPS) und etwa 10 virtuelle Java-Maschinen (JVMs) ausführt, von denen jede ein oder mehrere Proxylets enthält (ein Proxylet ist ein kleines Programm, das einen aktiven Netzdienst, wie z. B. die Umcodierung eines Datenbetriebsmittels von einem Format in ein weiteres, z. B. von einem QuickTime-Videostrom in einen RealTime-Videostrom oder vom CD-Format-Audio in MP3-Format-Audio, implementiert).
  • Jeder DPS steuert und implementiert die oben erörterten algorithmischen Regeln, die die Aktivitätsindikatorniveaus bestimmen, bei denen die Knoten sich reproduzieren, Knotenstrategien exportieren, Knotenstrategien importieren usw. können. Die JVMs sind die Knoten (d. h. analog zum Bakterium), wobei die Proxylets (oder die Strategien, die auf die Proxylets zeigen und die Ausführung autorisierten) die Knotenstrategien (d. h. die Gene der Bakterien) schaffen.
  • In Gebrauch sind die Proxylets hauptsächlich Mehranwendervorrichtungen, aber sie können durch einen einzelnen Anwender installiert und verwendet werden. Ein Proxylet kann durch einen Anwender installiert werden, der dann fortfährt, das Proxylet zu belasten, indem er geeignete Dienstanforderungen macht (dies ist zum Setzen einer Knotenstrategie in einen Knoten und dann dem Einspeisen einiger Anforderungen für den Dienst, den sie repräsentiert, analog). Nur bei sehr niedrigen Verkehrslasten ist ein gegebenes Proxylet nicht in allen ANNs vorhanden, dies verursacht aber eine effiziente Verwendung der Netzbetriebsmittel, da die Proxylets nur in Reaktion auf eine Anwenderanforderung ausgeführt werden und an einem zweckmäßigen Ort im Netz ausgeführt werden.
  • Die Knoten des simulierten Netzes besitzen keine Kenntnis des Konzepts eines ANN oder der Grenzen zwischen den verschiedenen ANNs, die ein Netz umfassen. Die Hauptgründe dafür bestehen darin, die Komplexität der Knotenoperationen zu minimieren, und in der Fuzzy-Natur der Grenzen in einem Cluster-Modell.
  • Die Simulation zeigt, dass ein derartiges aktives Netz implementierbar sein sollte und dass vernünftige Leistungsniveaus erreicht werden. Die Fähigkeit zum Management der Verteilung der neuen Dienste über derartige Netze ist außerdem erfolgreich simuliert worden.

Claims (30)

  1. Knoten (20), der bei der Bildung eines Mehrfachdienst-Kommunikationsnetzes (10), das mehrere ähnliche Knoten (20) umfasst, verwendet werden kann, wobei der Knoten (20) Datenverarbeitungsmittel und Datenspeichermittel enthält und so betreibbar ist, dass er eine oder mehrere Knotenstrategien speichern kann, wobei die oder jede Knotenstrategie umfasst: (i) einen Dienstanforderungsidentifizierer, der den Typ der Dienstanforderung, auf den die Knotenstrategie bezogen ist, identifiziert; und (ii) ein oder mehrere Dienstanforderungskriterien, die einen oder mehrere Bedingungen spezifizieren, die erfüllt sein müssen, damit der Knoten (20) eine wartende Dienstanforderung des Typs, der durch den Dienstanforderungsidentifizierer identifiziert wird, in Übereinstimmung mit der Strategie verarbeitet; dadurch gekennzeichnet, dass der Knoten (20) ferner einen Aktivitätsindikator umfasst, der eine Angabe des Zeitbetrags in einer vorgegebenen Messperiode, der von dem Knoten (20) für die Verarbeitung von Dienstanforderungen verbraucht wird, bereitstellt, und dass der Knoten (20) Mittel umfasst, um eine oder mehrere der einen oder der mehreren gespeicherten Knotenstrategien in Abhängigkeit von dem Aktivitätsindikator zu verändern.
  2. Knoten (20) nach Anspruch 1, bei dem die Veränderungsmittel so betreibbar sind, dass sie einen oder mehrere der folgenden Schritte ausführen: Ändern des Status einer gespeicherten Knotenstrategie von Freigegeben nach Gesperrt oder umgekehrt; zufälliges Verändern einer Variable in einer gespeicherten Knotenstrategie; Löschen einer gespeicherten Knotenstrategie; und Importieren einer neuen Knotenstrategie.
  3. Knoten (20) nach Anspruch 1 oder 2, der Mittel umfasst, um dann, wenn der Aktivitätsindikator einen ersten oberen Schwellenwert erreicht, eine oder mehrere der Knotenstrategien zu exportieren.
  4. Knoten (20) nach Anspruch 1, 2 oder 3, der Mittel umfasst, um dann, wenn der Aktivitätsindikator einen zweiten oberen Schwellenwert erreicht, sämtliche Knotenstrategien zu kopieren, um einen Klon des Knotens zu generieren.
  5. Knoten nach Anspruch 4, bei dem der zweite obere Schwellenwert ein Wert des Aktivitätsindikators ist, der größer als der erste obere Schwellenwert ist.
  6. Knoten nach Anspruch 4, bei dem der zweite obere Schwellenwert das Halten des Aktivitätsindikators auf dem ersten oberen Schwellenwert für eine vorgegebene Zeitdauer ist.
  7. Knoten nach einem vorhergehenden Anspruch, der Mittel umfasst, um dann, wenn der Aktivitätsindikator einen ersten unteren Schwellenwert erreicht, eine weitere Knotenstrategie zu importieren.
  8. Knoten nach Anspruch 7, der Mittel umfasst, um dann, wenn der Aktivitätsindikator einen zweiten unteren Schwellenwert erreicht, eine freigegebene Knotenstrategie zu löschen und eine inaktive Knotenstrategie freizugeben.
  9. Knoten nach Anspruch 8, bei dem der zweite untere Schwellenwert ein Wert des Aktivitätsindikators ist, der niedriger als der erste untere Schwellenwert ist.
  10. Knoten nach Anspruch 8, bei dem der zweite untere Schwellenwert das Halten des Aktivitätsindikators auf dem ersten unteren Schwellenwert für eine vorgegebene Zeitdauer ist.
  11. Knoten nach einem der Ansprüche 8 bis 10, der Mittel umfasst, um dann, wenn der Aktivitätsindikator einen zweiten unteren Schwellenwert erreicht und der Knoten keine inaktiven Knotenstrategien besitzt, sich selbst zu deaktivieren.
  12. Knoten nach einem der vorhergehenden Ansprüche, der Mittel umfasst, um eine Variable innerhalb einer Knotenstrategie zufällig zu ändern.
  13. Knoten nach einem der vorhergehenden Ansprüche, bei dem wenigstens eine der Knotenstrategien so beschaffen ist, dass sie einen der Typen von Dienstanforderungen vorzugsweise verarbeitet.
  14. Knoten nach Anspruch 13, ferner gekennzeichnet durch Mittel zum Bestimmen bevorzugter Verarbeitungen der Dienstanforderung mittels einer Dienstanforderungsfunktion.
  15. Knoten nach Anspruch 14, bei dem die Dienstanforderungsfunktion die Lebensdauer ist.
  16. Knoten nach Anspruch 14, bei dem die Dienstanforderungsfunktion der Wert ist, der aus der Verarbeitung der Dienstanforderung abgeleitet wird.
  17. Mehrfachdienst-Kommunikationsnetz, das mehrere Knoten umfasst, wovon jeder in Übereinstimmung mit einem der vorhergehenden Ansprüche ausgebildet ist und die miteinander verbunden sind, um ein Kommunikationsnetz zu bilden.
  18. Mehrfachdienst-Kommunikationsnetz nach Anspruch 17, wobei das Kommunikationsnetz so konfiguriert ist, dass es einen zusätzlichen Dienst durch Einfügen einer zusätzlichen Knotenstrategie in das Netz verarbeitet.
  19. Mehrfachdienst-Kommunikationsnetz nach Anspruch 18, bei dem die zusätzliche Knotenstrategie in das Mehrfachdienst-Kommunikationsnetz in der Weise eingefügt wird, dass ein Knoten die zusätzliche Knotenstrategie importieren kann.
  20. Mehrfachdienst-Kommunikationsnetz nach Anspruch 19, bei dem die zusätzliche Knotenstrategie direkt in einen Knoten eingefügt wird.
  21. Mehrfachdienst-Kommunikationsnetz nach Anspruch 19, bei dem ein Knoten erzeugt wird und die zusätzliche Knotenstrategie direkt in diesen Knoten eingefügt wird.
  22. Verfahren zum Betreiben eines Knotens, der geeignet ist, um bei der Bildung eines Mehrfachdienst-Kommunikationsnetzes, das mehrere ähnliche Knoten umfasst, verwendet zu werden, wobei das Verfahren umfasst: Speichern einer oder mehrerer Knotenstrategien; und Betreiben des Knotens in Übereinstimmung mit der einen oder der mehreren gespeicherten Knotenstrategien; wobei die oder jede Knotenstrategie umfasst: (i) einen Dienstanforderungsidentifizierer zum Identifizieren des Typs der Dienstanforderung, auf den die Knotenstrategie bezogen ist; und (ii) ein oder mehrere Dienstanforderungskriterien, die eine oder mehrere Bedingungen spezifizieren, die erfüllt sein müssen, damit der Knoten eine wartende Dienstanforderung des Typs, der durch den Dienstanforderungsidentifizierer identifiziert wird, in Übereinstimmung mit der Strategie verarbeitet; dadurch gekennzeichnet, dass der Knoten einen Aktivitätsindikator umfasst, der eine Angabe des Zeitbetrags in einer vorgegebenen Messperiode, der von dem Dienstanforderungen verarbeitenden Knoten verbraucht wird, bereitstellt, und dass das Verfahren zusätzlich den Schritt des Veränderns einer oder mehrerer der einen oder aller gespeicherter Knotenstrategien in Abhängigkeit von dem Aktivitätsindikator umfasst.
  23. Verfahren zum Betreiben eines Mehrfachdienst-Kommunikationsnetzes, das das Betreiben mehrerer Knoten in Übereinstimmung mit dem Verfahren nach Anspruch 22 und das Weiterleiten von Dienstanforderungen, für die ein Knoten keine geeignete, freigegebene Strategie besitzt, zu einem benachbarten Knoten umfasst.
  24. Verfahren zum Betreiben eines Knotens nach Anspruch 22, ferner dadurch gekennzeichnet, dass ein Typ der Dienstanforderungen bevorzugt in Übereinstimmung mit einer angepassten Knotenstrategie verarbeitet wird.
  25. Verfahren zum Betreiben eines Knotens nach Anspruch 24, ferner dadurch gekennzeichnet, dass die bevorzugte Verarbeitung der Dienstanforderung durch eine Dienstanforderungsfunktion bestimmt wird.
  26. Verfahren zum Betreiben eines Knotens nach Anspruch 24, bei dem die Dienstanforderungsfunktion die Lebensdauer ist.
  27. Verfahren zum Betreiben eines Knotens nach Anspruch 24, bei dem die Dienstanforderungsfunktion der Wert ist, der aus der Verarbeitung der Dienstanforderung abgeleitet wird.
  28. Verfahren zum Hochrüsten eines Mehrfachdienst-Kommunikationsnetzes in der Weise, dass das Netz einen zusätzlichen Dienst verarbeiten kann, wobei das Netz mehr als einen Knoten aufweist, wovon jeder so konfiguriert ist, dass er einen oder mehrere Dienste in Übereinstimmung mit einer oder mit mehreren Knotenstrategien verarbeiten kann, wobei jede Knotenstrategie umfasst: (i) einen Dienstanforderungsidentifizierer zum Identifizieren des Typs der Dienstanforderung, auf den die Knotenstrategie bezogen ist; und (ii) ein oder mehrere Dienstanforderungskriterien, die eine oder mehrere Bedingungen spezifizieren, die erfüllt sein müssen, damit der Knoten eine wartende Dienstanforderung des Typs, der durch den Dienstanforderungsidentifizierer identifiziert wird, in Übereinstimmung mit der Strategie verarbeitet; wobei das Verfahren den Schritt des Einfügens einer zusätzlichen Strategie in das Netz umfasst, wobei die Strategie so konfiguriert ist, dass sie einen Knoten freigibt, damit er den zusätzlichen Dienst verarbeiten kann.
  29. Befehle, die in einem Prozessor implementierbar und so beschaffen sind, dass sie, wenn sie auf einem elektronischen Prozessor ausgeführt werden, den elektronischen Prozessor dazu veranlassen, dass er das Verfahren nach einem der Ansprüche 22 bis 28 ausführt.
  30. Trägermedium, das die in einem Prozessor implementierbaren Befehle nach Anspruch 29 trägt.
DE60125720T 2000-02-08 2001-01-24 Kommunikationsnetz Expired - Lifetime DE60125720T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP00300961 2000-02-08
EP00300961 2000-02-08
EP00302746 2000-03-31
EP00302746 2000-03-31
PCT/GB2001/000272 WO2001059991A2 (en) 2000-02-08 2001-01-24 Communications network

Publications (2)

Publication Number Publication Date
DE60125720D1 DE60125720D1 (de) 2007-02-15
DE60125720T2 true DE60125720T2 (de) 2007-11-08

Family

ID=26072997

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60125720T Expired - Lifetime DE60125720T2 (de) 2000-02-08 2001-01-24 Kommunikationsnetz

Country Status (6)

Country Link
US (1) US7478162B2 (de)
EP (1) EP1254409B1 (de)
AT (1) ATE350706T1 (de)
CA (1) CA2399646C (de)
DE (1) DE60125720T2 (de)
WO (1) WO2001059991A2 (de)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE350706T1 (de) 2000-02-08 2007-01-15 British Telecomm Kommunikationsnetzwerk
GB0022561D0 (en) * 2000-09-14 2000-11-01 British Telecomm Communications network
EP1368932A1 (de) * 2001-03-13 2003-12-10 BRITISH TELECOMMUNICATIONS public limited company Kommunikationsnetzwerk
EP1759492B1 (de) 2004-06-22 2019-06-12 British Telecommunications public limited company Funk-ad-hoc-netzwerk
US8260917B1 (en) * 2004-11-24 2012-09-04 At&T Mobility Ii, Llc Service manager for adaptive load shedding
WO2007000175A1 (en) * 2005-06-28 2007-01-04 Telecom Italia S.P.A. Indication of service availability for a user terminal
US20080034090A1 (en) * 2005-09-29 2008-02-07 Nortel Networks Limited Tender-Bid Method and Architecture For Intelligent Network Resource Deployment
US9106606B1 (en) 2007-02-05 2015-08-11 F5 Networks, Inc. Method, intermediate device and computer program code for maintaining persistency
GB0706149D0 (en) * 2007-03-29 2007-05-09 British Telecomm A method of operating a telecommunications network
US8266289B2 (en) * 2009-04-23 2012-09-11 Microsoft Corporation Concurrent data processing in a distributed system
US8595154B2 (en) * 2011-01-26 2013-11-26 Google Inc. Dynamic predictive modeling platform
US10404549B2 (en) 2016-07-28 2019-09-03 At&T Intellectual Property I, L.P. Applying machine learning to heterogeneous data of existing services to generate a new service
US10719777B2 (en) 2016-07-28 2020-07-21 At&T Intellectual Propery I, L.P. Optimization of multiple services via machine learning

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5341477A (en) 1989-02-24 1994-08-23 Digital Equipment Corporation Broker for computer network server selection
EP0384339B1 (de) * 1989-02-24 1997-04-02 Digital Equipment Corporation Makler für die Auswahl von Rechnernetzwerkservern
IL99923A0 (en) 1991-10-31 1992-08-18 Ibm Israel Method of operating a computer in a network
CA2177488C (en) * 1993-11-30 2001-11-20 Nicolae Marius Busuioc Communications network management
US5970064A (en) 1997-06-12 1999-10-19 Northern Telecom Limited Real time control architecture for admission control in communications network
US5963447A (en) * 1997-08-22 1999-10-05 Hynomics Corporation Multiple-agent hybrid control architecture for intelligent real-time control of distributed nonlinear processes
US6718387B1 (en) 1997-12-10 2004-04-06 Sun Microsystems, Inc. Reallocating address spaces of a plurality of servers using a load balancing policy and a multicast channel
GB2332809A (en) 1997-12-24 1999-06-30 Northern Telecom Ltd Least cost routing
JP3439337B2 (ja) * 1998-03-04 2003-08-25 日本電気株式会社 ネットワーク管理システム
US6272544B1 (en) * 1998-09-08 2001-08-07 Avaya Technology Corp Dynamically assigning priorities for the allocation of server resources to completing classes of work based upon achievement of server level goals
US6728748B1 (en) * 1998-12-01 2004-04-27 Network Appliance, Inc. Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet
JP5113963B2 (ja) 1998-12-03 2013-01-09 ノーテル・ネットワークス・リミテッド インターネットにアクセスする加入者への所望のサービス・ポリシーの提供
US6393474B1 (en) * 1998-12-31 2002-05-21 3Com Corporation Dynamic policy management apparatus and method using active network devices
US6473851B1 (en) * 1999-03-11 2002-10-29 Mark E Plutowski System for combining plurality of input control policies to provide a compositional output control policy
US7145869B1 (en) 1999-03-17 2006-12-05 Broadcom Corporation Method for avoiding out-of-ordering of frames in a network switch
US6628610B1 (en) * 1999-06-28 2003-09-30 Cisco Technology, Inc. Methods and apparatus for managing a flow of packets using change and reply signals
US6701342B1 (en) * 1999-12-21 2004-03-02 Agilent Technologies, Inc. Method and apparatus for processing quality of service measurement data to assess a degree of compliance of internet services with service level agreements
ATE350706T1 (de) 2000-02-08 2007-01-15 British Telecomm Kommunikationsnetzwerk
US6477150B1 (en) * 2000-03-03 2002-11-05 Qualcomm, Inc. System and method for providing group communication services in an existing communication system
US6982955B1 (en) 2000-03-28 2006-01-03 British Telecommunications Public Limited Company Communications network
GB0022561D0 (en) 2000-09-14 2000-11-01 British Telecomm Communications network
EP1221786A1 (de) 2001-01-09 2002-07-10 BRITISH TELECOMMUNICATIONS public limited company Entwurf von Kommunikationsnetzen
US7668958B2 (en) 2001-10-18 2010-02-23 Intel Corporation Method for discovery and routing using a priori knowledge in the form of application programme within mobile AD-HOC networks
US8060013B1 (en) 2001-08-15 2011-11-15 Intel Corporation Establishing communications between devices within a mobile ad hoc network
EP1368932A1 (de) 2001-03-13 2003-12-10 BRITISH TELECOMMUNICATIONS public limited company Kommunikationsnetzwerk

Also Published As

Publication number Publication date
ATE350706T1 (de) 2007-01-15
CA2399646A1 (en) 2001-08-16
WO2001059991A3 (en) 2002-03-14
US7478162B2 (en) 2009-01-13
DE60125720D1 (de) 2007-02-15
CA2399646C (en) 2008-06-10
US20030014538A1 (en) 2003-01-16
EP1254409B1 (de) 2007-01-03
EP1254409A2 (de) 2002-11-06
WO2001059991A2 (en) 2001-08-16

Similar Documents

Publication Publication Date Title
DE60125720T2 (de) Kommunikationsnetz
DE60317925T2 (de) Steuerung von netzwerkverkehr in einer peer-to-peer umgebung
DE69829830T2 (de) Weglenkungsverfahren unter Anwendung eines genetischen Algorithmus
DE602005005471T2 (de) Peer-to-peer-netze
DE602005001883T2 (de) Überlagerte Daten, Selbstorganisierte überlagerte Metadaten, und Mehrfachsendung auf Anwendungsebene
DE69736422T2 (de) Verfahren und Vorrichtung für eine hybride Serverkommunikationsstruktur zwischen gleichen Schichten
DE60031274T2 (de) Mehrfachanschlussverfahren und -gerät für vituelle ports
DE60109709T2 (de) Datenverwaltungsrahmenwerk für Verfahrensverwaltung
DE69925897T2 (de) Verwaltung von gruppenadressen in mobilendgeräten
DE60205539T2 (de) Verfahren und Vorrichtung zum Verwalten von mehreren Netzwerkgeräten
DE602005000862T2 (de) Datenverteilungssystem basierend auf einer Punkt-zu-Punkt Architektur
DE60033119T2 (de) System zur automatischen Voraussage der Arbeitszeit von Anrufzentraleagenten in einer Umgebung mit Agenten mit mehreren Fähigkeiten
DE60208659T2 (de) Skalierbare ressourcenermittlung und rekonfiguration für verteilte rechnernetze
DE60216918T2 (de) Verfahren und computersystem zur auswahl eines randservercomputers
DE69826298T2 (de) Verfahren und Vorrichtung zur Klassifikation von Netzwerkeinheiten in virtuellen LANs
DE102020113347A1 (de) Ausführung von containerisierten prozessen innerhalb der beschränkungen der verfügbaren host-knoten
DE69815819T2 (de) Adaptives verteiltes informationsnetzwerk
DE602004008415T2 (de) System und Verfahren zum Aufrechterhalten der Netzwerkverbindung
US20040071147A1 (en) Communications network
DE102011016866A1 (de) One-to-one metching in a contact center
DE10205108A1 (de) System und Verfahren zum Zugreifen auf Softwarekomponenten in einer verteilten Netzwerkumgebung
DE602004009819T2 (de) Instrumentationssystem und verfahren zur schätzung von kenngrössen eines dezentralisierten netzwerks
US6982955B1 (en) Communications network
US7346704B2 (en) Layered communications network with adaptively distributed nodal policies
Marshall et al. Adaptive management of an active service network

Legal Events

Date Code Title Description
8364 No opposition during term of opposition