DE69829830T2 - Weglenkungsverfahren unter Anwendung eines genetischen Algorithmus - Google Patents

Weglenkungsverfahren unter Anwendung eines genetischen Algorithmus Download PDF

Info

Publication number
DE69829830T2
DE69829830T2 DE1998629830 DE69829830T DE69829830T2 DE 69829830 T2 DE69829830 T2 DE 69829830T2 DE 1998629830 DE1998629830 DE 1998629830 DE 69829830 T DE69829830 T DE 69829830T DE 69829830 T2 DE69829830 T2 DE 69829830T2
Authority
DE
Germany
Prior art keywords
response time
response
path
estimated
estimation
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
DE1998629830
Other languages
English (en)
Other versions
DE69829830D1 (de
Inventor
Takahisa Kawasaki-shi Hatakeyama
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of DE69829830D1 publication Critical patent/DE69829830D1/de
Publication of DE69829830T2 publication Critical patent/DE69829830T2/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/08Learning-based routing, e.g. using neural networks or artificial intelligence

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Description

  • Hintergrund der Erfindung
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf eine Vorrichtung zum Auswählen eines optimalen Pfads in einer Netzumgebung, wo Knoten über ein Netz verteilt und lokalisiert sind. Insbesondere auf eine Vorrichtung, welche einen optimalen Pfad schätzt und auswählt, der zum Senden von Daten und ihrer Antwort gemäß einer Antwortzeit pro Datenlängeneinheit von Transmissionsdaten oder von Antwortdaten verwendet wird, wenn ein Knoten Dienstanforderungsdaten zu einem anderen Knoten unter den mehrfachen Knoten sendet, die über das Netz verteilt sind, und die Antwort auf die gesendeten Daten vom Transmissionszielknoten zum Transmissionsursprungsknoten zurückgeführt wird.
  • Beschreibung der verwandten Technik
  • Mit der raschen Popularisierung des Internet in den letzten Jahren ist die Menge von über das Internet gesendeten/empfangenen Daten signifikant gestiegen. Der Typ und Zweck der über das Internet zu sendenden/empfangenden Daten sind vielfältig. Beispielsweise sind die Daten einer von einem WWW-Server heruntergeladenen Homepage, die Dateidaten jedes Typs von über einen FTP-Server übertragener Software, E-mails von einer Firma oder einer Einzelperson diversifiziert.
  • In einer solchen Situation können Internet-Benutzer häufig lange Zeit damit verbringen, Daten von einer angeforderten Homepage herunterzuladen, das heißt die Homepage anzuzeigen, oder eine Datei herunterzuladen. Dies ist darauf zurückzuführen, dass die Benutzer nicht bestimmen können, welcher Server am effizientesten ist, obwohl Spiegelserver vorgesehen sind.
  • Da die Netztopologie kompliziert wird, und die Knoten konfiguration eines Netzes ständig variiert, ändert sich zusätzlich ein optimaler Netzpfad dynamisch und signifikant in seiner Form und seiner Zeit. Daher ist die Auswahl eines optimalen Pfads für Netzadministratoren oder Netztechniker schwieriger.
  • Herkömmliche Protokolle zum Auswählen eines Pfads sammeln jedoch die Informationen wie die Anzahl von Routern (Hop Count), die zwischen einer Transmissionsursprungsadresse und einer Transmissionszieladresse angeordnet sind, und eine Bandbreite (maximale Datenflussrate), und der Verkehr (tatsächliche Datenflussrate), etc., und berechnen einen Pfad unter Verwendung dieser Informationselemente als Indices, in jedem Repeater. Mit diesen Techniken werden die Antwortzeiten pro Datenlängeneinheit von Transmissiondaten und der Antwortdaten nicht zur Berechnung der Pfadauswahl verwendet, wenn ein Knoten die Daten sendet, die einen Dienst von einem anderen Knoten anfordern, und dieser Knoten die Daten zurückführt, die auf die Transmissionsdaten antworten.
  • Als typische Beispiele der herkömmlichen Leitwegprotokolle können RIP und OSPF angegeben werden.
  • Das RIP (Routing Information Protocol: RFC 1058) ist ein dynamisches Leitweg-Informationsaustauschprotokoll zwischen Routern oder zwischen einem Router und einem Host in einem autonomen System. Das RIP setzt einen Distanzvektoralgorithmus ein und wird von vielen UNIX-Systemen und Routern verwendet. Gemäß dem RIP wird die Anzahl von Routern (Hop Count), über die Daten ein Transmissionsziel erreichen, zwischen einem Router und seinem benachbarten Router zu vorherbestimmten Zeitintervallen ausgetauscht, und ein Kommunikationspfad wird ausgewählt, um den Hop Count zu minimieren. Es ist zu beachten, dass der Hop Count, der verwaltet werden kann, bis zu 15 beträgt.
  • Das OSPF (Open Shortest Path First: RFC 1583) setzt einen Verknüpfungszustandsalgorithmus ein. Gemäß diesem Protokoll werden Netzverknüpfungsinformationen (Verknüpfungszustand) zwischen Routern ausgetauscht, und jeder der Router wählt einen optimalen Kommunikationspfad auf der Basis der Verknüpfungsinformationen aus. Das OSPF kann einen Pfad mit optimalen Kosten unter Berücksichtigung von einer Netzlast, Leitungskosten/geschwindigkeit, einer Verzögerung, etc., auswählen, und verteilt eine Last durch das Sichern von Pfaden, die dasselbe kosten.
  • Zusätzlich ist das Beispiel, bei dem ein genetischer Algorithmus auf das RIP angewendet wird, als Arbeit mit dem Titel "An Adaptive Network Routing Algorithm Employing Path Genetic Operators (Seventh International Conference on Genetic Algorithms (ICGA '97))" von Masaharu Munetomo, Yoshiaki Takai, Yoshiharu Sato, et al., 1977, geoffenbart.
  • Der genetische Algorithmus (GA) ist eine Technik, die den Vererbungsmechanismus von Lebewesen simuliert und anwendet. In der Evolution der Lebewesen kann eine Kreuzung von Chromosomen, die ein Individuum besitzt, oder eine Mutation eines Gens in einem Chromosom auftreten, wenn ein neues Individuum (Kind) von einem alten Individuum (Elternteil) geboren wird. Ein Individuum, das sich an die Umgebung nicht anpassen kann, wird nicht ausgewählt, und ein anpassungsfähiges Individuum überlebt und wird ein Elternteil eines neuen Nachkommen. Auf diese Weise überlebt eine Gruppe von Individuen, die sich an die Umgebung anpassen können. Bis zu welchem Grad sich jedes Individuum an die Umgebung anpasst, wird von einem Chromosom oder einem Genom bestimmt.
  • Beim genetischen Algorithmus wird ein Kandidat für eine Lösung eines kombinatorischen Optimierungsproblems als Zeichenfolge repräsentiert, die einem Chromosom entspricht, das eine eindimensionale Genfolge ist. Eine optimale Lösung wird gesucht, indem wiederholt genetische Operationen wie Selektion durch Selbstreproduktion, Kreuzung, Mutation, etc., für eine Gruppe von Lösungskandidaten (die als Individuen bezeichnet werden) vorgenommen werden. Die oben beschriebene Zeichenfolge kann auch eine Zahlenfolge sein, die beispielsweise durch "0" und "1" repräsentiert wird.
  • Hier entspricht die Evolution eines Lebewesens einem Prozess, dass sich der Wert einer Zielfunktion (Funktion zum Evaluieren des Fitnessgrads eines Lösungskandidaten) für einen Lösungskandidaten einem Optimalwert nähert. Eine Fitnessgradfunktion, deren Wert größer ist, wenn sie die Zielfunktion optimaler macht, wird für eine Zeichenfolge (Chromosom) definiert. Die Auswahloperation ist eine Operation zum Berechnen des Evaluierungswerts jeder Zeichenfolge unter Verwendung der Fitnessgradfunktion, Wählen einer Zeichenfolge mit einem höheren Evaluierungswert aus der Gruppe von Lösungskandidaten, und Definieren der ausgewählten Folge als Gruppe von Lösungskandidaten einer nächsten Generation. Die Mutationsoperation ist eine Operation zum Ersetzen einiger Bits (einiger Gene), die in einer Zeichenfolge (Bitfolge) enthalten sind, wobei ihre Werte zufällig invertiert werden (wenn das ursprüngliche Bit "1" ist, wird es durch "0" ersetzt, und umgekehrt). Die Kreuzungsoperation ist eine Operation zum Austauschen von Teilen von zwei Zeichenfolgen.
  • Durch die Wiederholung dieser Operationen kann eine Zeichenfolge mit einem höheren Evaluierungswert erhalten werden, das heißt ein Lösungskandidat zur weiteren Optimierung der Zielfunktion. Es wird angegeben, dass genetische Algorithmen zur Lösung eines Optimierungsproblems einer diskreten Variablen geeignet sind, die groß ist und mehrfache Maxima aufweist, und außerdem können sie leicht auf das oben beschriebene Optimierungsproblem angewendet werden. Daher werden diese Algorithmen verbreitet verwendet.
  • In der oben beschriebenen Arbeit von Munetomo et al. wird ein Ersatzleitweg durch einen genetischen Algorithmus generiert, der die Mutations- und Kreuzungsoperationen zusätzlich zu einem Vorgabeleitweg in einer Leitwegtabelle, der in einer Leitwegtabelle generiert wird, in einer solchen Weise verwendet, dass jeder Router den Hop Count auf der Basis des RIP minimiert. Die Wahrscheinlichkeiten (Frequenzen) der so generierten Pfade werden gemäß einer Kommunikationswartezeit bestimmt, wenn jeder der Pfade verwendet wird. Wenn der Evaluierungswert auf der Basis der Wartezeit niedriger wird als ein vorherbestimmter Wert, wird dieser genetische Algorithmus angewendet, und ein anderer neuer Pfad wird generiert.
  • Hier zeigt die Mutationsoperation eine Operation an, um beispielsweise einen Router auf seinen benachbarten Router unter einen Pfad strukturierenden Routern zu ändern, und einen neuen Pfad zu bilden, indem der kürzeste Pfad zwischen dem geänderten Router und einem Transmissionsursprungsknoten und der kürzeste Pfad zwischen dem Router und einem Transmissionszielknoten verbunden werden. Die Kreuzungsoperation ist eine Operation zum Wählen einer Kombination von Routern, die in beiden des oben beschriebenen Paars von Pfaden enthalten sind, Wählen eines Routers aus der Kombination, Ersetzen aller an einem Leitweg zwischen dem Router und einem Transmissionszielknoten existierenden Router; und Generieren eines neuen Pfads.
  • Zusätzlich offenbart das US-Patent 5 504 894 "Workload Manager for achieving transaction class response time goals in a multiprocessing system" den Mechanismus zum Zuordnen einer Transaktion, deren Klasse gleich ist wie jene der Transaktion eines Transaktionsverarbeitungsservers zum Vornehmen eines optimalen Prozesses auf der Basis einer Antwortzeit der Transaktion.
  • Mit dem oben beschriebenen Mechanismus wird die Transaktion in Klassen geteilt, für jede von diesen wird eine mittlere Antwortzeit des Transaktionsprozesses berechnet. Ferner wird eine Zielantwortzeit für jede der Klassen eingestellt, und ein Leistungsindex wird aus der Zielantwortzeit für jede der Klassen ermittelt.
  • Beim Empfang einer Transaktion ermittelt der oben beschriebene Mechanismus einen Schätzleistungsindex, wenn die Transaktion für jeden der Transaktionsverarbeitungsserver verarbeitet wird, der diese Transaktion möglicherweise vornehmen kann, und ordnet den Prozess der Transaktion dem Transaktionsverarbeitungsserver zu, der den Schätzleistungsindex für alle Klassen am höchsten macht.
  • Mit diesem Mechanismus wird bestimmt, welchem Server der Transaktionsprozess zuzuordnen ist, auf der Basis der Antwortzeiten vorhergehender Transaktionsprozesse, und die Datenlänge und die Antwortzeit pro Datenlängeneinheit, die für die Verarbeitung der Transaktion verwendet werden, werden nicht berücksichtigt. Zusätzlich soll dieser Mechanismus nicht den Netzpfad steuern, der verwendet wird, um die Daten zu senden, die für die Verarbeitung der Transaktion für den Server erforderlich sind, der die Transaktion verarbeitet. Selbstverständlich werden die Anzahl von Knoten auf dem Netzdaten-Transmissionspfad zwischen dem Client und dem Server, der die Transaktion verarbeitet, die Differenz in der Bandbreite jedes der den Datentransmissionspfad strukturierenden Kommunikationspfade, etc., nicht berücksichtigt.
  • Mit herkömmlichen Pfadauswahlvorrichtungen müssen die Antwortzeiten von Kombinationen aller Knoten auf allen Pfaden geschätzt werden, um die Antwortzeit einer Kombination willkürlicher benachbarter Pfade zu schätzen. Um solche Schätzungen vorzunehmen, müssen die Mengen weitergeleiteter Daten am Eingang und Ausgang für alle Knoten auf allen Pfaden gemessen werden, und die Schätzergebnisse müssen an einem Punkt gesammelt werden. Die Mengen weitergeleiteter Daten können jedoch nicht in Abhängigkeit von einem Knoten gemessen werden. Auch wenn die Mengen gemessen werden können, können sie nicht für die Schätzung der Antwortzeit verwendet werden, wenn das Benachrichtigungsformat gemessener Daten verschieden ist.
  • Auch wenn ein Knoten die Fähigkeit hat, über die Mengen weitergeleiteter Daten zu benachrichtigen, kann zusätzlich aus Sicherheitsgründen, etc., in Abhängigkeit von einem Knotenoperator über diese nicht häufig benachrichtigt werden. Daher können bei den herkömmlichen Pfadauswahlvorrichtungen die Echtzeitmengen weitergeleiteter Daten an einem bestimmten Knoten in vielen Fällen nicht existieren, so dass die Antwortzeit nicht geschätzt werden kann.
  • Ferner sammeln die herkömmlichen Leitwegprotokolle für eine Pfadauswahl die Informationen wie die Anzahl von Routern (Hop Count), die zwischen einer Transmissionsursprungsadresse und einer Transmissionszieladresse angeordnet sind, eine Bandbreite (eine maximale Datenflussrate), und der Verkehr (eine tatsächliche Datenflussrate), etc., und bestimmen einen Pfad unter Verwendung dieser Informationselemente als Indices in jedem Repeater wie einem Router, etc. Diese Bestimmung wird jedoch lokal durch jeden Repeater gemäß den von einem Router und seinem benachbarten Router vorgesehenen Informationen vorgenommen, und der Pfad wird nicht durch die Evaluierung der Gesamtleistung des Pfads von der Transmissionsursprungsadresse zur Transmissionszieladresse ausgewählt, die auch die Leistungen eines Netz-Repeaters wie eines Schalters, eines Routers, eines Clients und eines Servers enthält. Demgemäß werden bei den herkömmlichen Pfadauswahlvorrichtungen beispielsweise die Schaltfähigkeit eines Routers, der Cache-Verteilungseffekt von WWW/PROXY-Servern, etc., nicht als Leistungsinformationen betrachtet, so dass ein optimaler Pfad für einen Benutzer, der einen Client verwendet, das heißt der Pfad, dessen Antwortzeit auf eine tatsächliche Anforderung kurz ist, nicht immer ausgewählt wird. Da die Ordnung der Verarbeitungszeit innerhalb eines Knotens herkömmlich niedriger ist als jene einer Pfadweiterleitungszeit, hat die Verarbeitungszeit zusätzlich nahezu keinen Einfluss auf die Schätzung der Antwortzeit. Mit dem neueren Auftreten eines LAN (wie eines Gigabit-Ethernets, etc.), eines WAN (B-ISDN, implementiert durch einen ATM, etc.) oder eines Gigabit-Routers, deren Verarbeitungsgeschwindigkeiten viel schneller sind als jene eines internen Busses eines Computers, hat jedoch die Verarbeitungszeit innerhalb eines Knotens einen signifikanten Einfluss auf die gesamte Antwortzeit.
  • Ferner kann bei den herkömmlichen Pfadauswahlvorrichtungen ein einem Client benachbarter Repeater nur in einer statischen Weise ausgewählt werden. Das heißt, es ist unmöglich, einen Pfad auf dynamische Weise auszuwählen, da die Leistung jedes Repeaters dynamisch variiert.
  • Darüber hinaus kann bei den herkömmlichen Pfadauswahlvorrichtungen die kooperative Operation zwischen Pfadauswahlvorrichtungen nicht implementiert werden. Beispielsweise ist es unmöglich, einen Repeater in Abhängigkeit von einem Cache-Typ zu bestimmen, und zu verhindern, dass die Inhalte eines Caches in Repeatern existieren.
  • Darüber hinaus kann bei den herkömmlichen Pfadauswahlvorrichtungen jeder Client möglicherweise dieselbe Schätzung auf der Basis derselben Daten vornehmen, wenn ein ähnlicher Leitwegalgorithmus von jedem Client verwendet wird. Als Ergebnis können alle Clients denselben Knoten als Pfad verwenden, was zu einer extrem abgebauten Antwortzeit führt.
  • DE-A-19528563 offenbart eine Vorrichtung und ein Verfahren gemäß dem Oberbegriff der entsprechenden unabhängigen Ansprüche.
  • Gemäß diesem Stand der Technik wird ein genetischer Algorithmus verwendet, um einen gesamten Satz von Pfaden zu optimieren.
  • Zusammenfassung der Erfindung
  • Eine Aufgabe der vorliegenden Erfindung ist, eine Vorrichtung, ein Verfahren und ein Speichermedium zum autonomen Auswählen eines optimalen Pfads vorzusehen, durch das Aufzeichnen von Transmissionsdaten und Antwortzeiten pro Datenlängeneinheit von Antwortdaten, die von einem Transmissionszielknoten zu einem Transmissionsursprungsknoten zurückgeführt werden, und durch das Schätzen der Antwortzeit für jeden Pfad unter Verwendung der aufgezeichneten Informationen, wenn die einen Dienst anfordernden Daten vom Transmissionsursprungsknoten zum Transmissionszielknoten gesendet werden.
  • Eine weitere Aufgabe der vorliegenden Erfindung ist, eine Vorrichtung zum Auswählen eines Pfads unter Verwendung einer tatsächlichen Antwortzeit pro Datenlängeneinheit vorzusehen, die unter Berücksichtigung der Leistungen aller Repeater auf einem Pfad zusätzlich zur Leistung eines Pfads zwischen Knoten ermittelt wird.
  • Ein Aspekt der vorliegenden Erfindung sieht eine Pfadauswahlvorrichtung zum Auswählen eines Netzpfads von Daten, die von einem Transmissionsursprungsknoten zu einem Transmissionszielknoten gesendet werden, und eines Netzpfads von Daten, die von dem Transmissionszielknoten zu dem Transmissionsursprungsknoten zurückgeführt werden, in einer Umgebung, wo Knoten über ein Netz verteilt und lokalisiert sind, vor. Die Vorrichtung umfasst: eine Pfadberechnungseinheit zum Ermitteln einer geschätzten Antwortzeit unter Verwendung geschätzter Informationen für jeden Pfad, der den Transmissionsursprungsknoten und den Transmissionszielknoten verknüpfen kann, und zum Senden einer Dienstanforderungsmeldung unter Verwendung eines Pfads mit der minimalen geschätzten Antwortzeit, wenn die Dienstanforderungsmeldung vom Transmissionsursprungsknoten zum Transmissionszielknoten gesendet wird, um den Dienst des Transmissionszielknotens anzufordern; eine Antwortinformations-Verwaltungseinheit zum Speichern, als Antwortinformationen, der Informationen über die Transmission der Dienstanforderungsmeldung, welche zumindest den Pfad, über den die Meldung gesendet wird, und die Anforderungsdatenlänge der Dienstanforderungsmeldung enthalten, wenn die Dienstanforderungsmeldung durch die Pfadberechnungseinheit gesendet wird, und zum Speichern, als Antwortinformationen, der Informationen über einen Empfang der Antwort, welche zumindest die Datenlänge der Antwort und den Wert über die Antwortzeit enthalten, die ab der Transmission der Dienstanforderungsmeldung bis zum Empfang der Antwort erforderlich ist, wenn die Antwort auf die Dienstanforderungsmeldung von dem Transmissionszielknoten zum Transmissionsursprungsknoten zurückgeführt wird; und eine Schätzinformations-Verwaltungseinheit zum Aktualisieren der Inhalte der geschätzten Informationen auf der Basis der Antwortinformationen, wenn die Antwort von der Antwortinformations-Verwaltungseinheit empfangen wird. Mit dieser Konfiguration kann die Antwortzeit eines Pfads geschätzt werden, auch wenn ein Teil der Informationen über den Pfad nicht ermittelt werden kann, wodurch die Antwortzeit auf der Basis der gesamten Antwortleistung des Pfads geschätzt wird, die die Leistungen eines Netz-Repeaters, eines Clients, eines Servers, etc., enthält.
  • Außerdem verwendet die vorliegende Erfindung einen ge netischen Algorithmus (GA) in der Schätzinformations-Verwaltungseinheit.
  • Die geschätzten Informationen enthalten zumindest ein Antwortzeit-Schätzindividuum, wobei das Antwortzeit-Schätzindividuum eine Bitfolge enthält, die ein Chromosom und einen Fitnessgrad signifiziert, und das Chromosom zumindest einen Genblock enthält, der einem Parameter einer Antwortzeit-Schätzfunktion entspricht.
  • Die Schätzinformations-Verwaltungseinheit umfasst eine Generationsänderungseinheit zur Generationsänderung des Chromosoms beim Empfang der Antwort auf die Dienstanforderungsmeldung.
  • Die Generationsänderungseinheit umfasst:
    eine Fitnessgrad-Berechnungseinheit zum Berechnen der geschätzten Antwortzeit unter Verwendung des Parameters der Antwortzeit-Schätzfunktion, welcher in jedem Genblock eingestellt ist, der in dem Antwortzeit-Schätzindividuum enthalten ist, Zuweisen eines größeren Werts zu dem Fitnessgrad eines Antwortzeit-Schätzindividuums, das eine genauere Antwortzeit schätzt, und Zuweisen eines größeren Lebensdauerwerts für das Antwortzeit-Schätzindividuum, wenn der Fitnessgrad höher wird;
    eine Antwortzeit-Schätzindividuum-Löscheinheit zum Bestimmen eines Antwortzeit-Schätzindividuums, dessen Lebensdauer abläuft, und Löschen des Antwortzeit-Schätzindividuums; und
    eine Antwortzeit-Schätzindividuum-Generiereinheit zum Auswählen einer Vielzahl existierender Antwortzeit-Schätzindividuen mit einem höheren Fitnessgrad mit einer höheren Wahrscheinlichkeit, und Vornehmen einer genetischen Operation mit einer vorherbestimmten Wahrscheinlichkeit für ein Chromosom eines beliebigen der Vielzahl von Antwortzeit-Schätzindividuen, um ein neues Antwortzeit-Schätzindividuum zum Ergänzen des von der Antwortzeit-Schätzindividuum-Löscheinheit gelöschten Antwortzeit-Schätzindividuums zu generieren.
  • Der optimale Pfad wird autonom durch das Entwickeln des Antwortzeit-Schätzindividuums mit einer Wiederholung eines Generationsänderungsprozesses geschätzt, der von der Generationsänderungseinheit vorgenommen wird, um zu ermöglichen, dass die optimale Antwortzeit dynamisch geschätzt wird.
  • Weitere Aspekte der Erfindung sehen ein Verfahren und ein computerlesbares Speichermedium vor, wie in den beigeschlossenen Ansprüchen definiert.
  • Kurze Beschreibung der Zeichnungen
  • Die vorliegende Erfindung wird durch die folgende detaillierte Beschreibung bessern verständlich, die in Verbindung mit den beigeschlossenen Zeichnungen zu lesen ist, in denen:
  • 1A und 1B Blockbilder sind, welche die Konfiguration eines Computernetzes 100 zeigen, bei dem eine Pfadauswahlvorrichtung gemäß einer ersten bevorzugten Ausführungsform der vorliegenden Erfindung angewendet wird;
  • 2 ein Flussdiagramm ist, das den von einem Client vorgenommenen Prozess zeigt;
  • 3A und 3B Beispiele der Datensätze zeigen, die in einer PROXY-Tabelle und einer WWW-Servertabelle enthalten sind;
  • 4A und 4B die Formate von Datensätzen zeigen, die in einer Schätzindividuentabelle und einer tatsächlichen Antwortzeittabelle enthalten sind;
  • 5 das Beispiel der Struktur eines Genblocks eines Chromosoms zeigt;
  • 6 ein Flussdiagramm ist, das den Prozess zum Ermitteln eines Pfads mit der minimalen geschätzten Antwort zeit zeigt;
  • 7 ein Flussdiagramm ist, das den Prozess zur Aktualisierung eines Schätzindividuums zeigt;
  • 8 ein Flussdiagramm ist, das den Prozess zur Änderung von Generationen zeigt;
  • 9 ein Flussdiagramm ist, das den Prozess zum Generieren eines Schätzindividuums in einer Schule zeigt;
  • 10A und 10B Blockbilder sind, welche die Konfiguration eines Computernetzes 200 zeigen, bei dem eine Pfadauswahlvorrichtung gemäß einer zweiten bevorzugten Ausführungsform der vorliegenden Erfindung angewendet wird;
  • 11A und 11B Blockbilder sind, welche die Konfiguration eines Computernetzes 300 zeigen, bei dem eine Pfadauswahlvorrichtung gemäß einer dritten bevorzugten Ausführungsform der vorliegenden Erfindung angewendet wird; und
  • 12 ein Blockbild ist, das die Hardware-Konfiguration eines Clientcomputers 1000 zeigt.
  • Beschreibung der bevorzugten Ausführungsformen
  • Im Nachstehenden sind die Erläuterungen über bevorzugte Ausführungsformen gemäß der vorliegenden Erfindung unter Bezugnahme auf die beigeschlossenen Zeichnungen vorgesehen. Dieselben oder ähnliche Abschnitte, die in den Zeichnungen gezeigt sind, werden mit denselben Bezugszahlen oder Symbolen bezeichnet.
  • 1A und 1B sind Blockbilder, welche die Konfiguration von zwei Computernetzen 100 und 100A zeigen, bei denen eine Pfadauswahlvorrichtung gemäß einer ersten bevorzugten Ausführungsform der vorliegenden Erfindung angewendet wird. Das Computernetz 100, wie in 1A gezeigt, umfasst eine Dienste anbietende Servergruppe 110, eine PROXY-Servergruppe 120, eine Clientgruppe 130, ein Weitverkehrsnetz (WAN) 140, das viele Netz-Repeater enthält, wie das Internet, etc., und ein lokales Netz (LAN) 150. Sowohl die Dienste anbietende Servergruppe 110 als auch die PROXY-Servergruppe 120 sind mit dem Netz 140 verbunden. Die Clientgruppe 130 ist mit der PROXY-Servergruppe 120 über das LAN 150 so verbunden, dass sie die PROXY-Servergruppe 120 selektiv verwenden kann. Die Clientgruppe 130A, wie in 1B gezeigt, kann mit dem Netz 140 nicht über die PROXY-Servergruppe 120A direkt verbunden sein.
  • 1A zeigt ein Segmentsystem, das aus der PROXY-Servergruppe 120, der Clientgruppe 130 und dem LAN 150 besteht. Tatsächlich sind Segmentsysteme mit dem Weitverkehrsnetz 140 verbunden.
  • Die Dienste anbietende Servergruppe 110 besteht aus Servern 111, 112, 113, ..., etc., von denen jeder mit dem Netz 140 verbunden ist. Die Dienste anbietende Servergruppe 110 bietet auch Spiegelserver. Der Server 111 enthält beispielsweise zwei Spiegelserver, wohingegen der Server 112 einen Spiegelserver enthält. Ein Spiegelserver ist ein Server zum Speichern von Daten, die von einem anderen Server gespeichert und wie sie sind kopiert werden. Spiegelserver, die identische Daten speichern, sind beispielsweise an Seiten im Internet lokalisiert. Wie es häufig der Fall ist, wird der Spiegelserver installiert, um eine Netzlast durch die Verteilung gleichzeitig durch viele Clientgruppen 130 erfolgender Serverzugriffe zu reduzieren, und die Konzentration von Zugriffen auf einen Server auf einer populären WWW (World Wide Web)- oder FTP (File Transfer Protocol)-Seite zu verhindern.
  • Die PROXY-Servergruppe 120 besteht aus Servern 121, 122, etc., von denen jeder mit dem Netz 140 verbunden ist. Ein PROXY-Server hat eine "Firewall"-Fähigkeit zum Schützen der Informationswerte in einem internen Netz wie einem Unternehmensnetz gegen ein externes Netz wie das Internet, etc., auf das jeder zugreifen kann; und eine "PROXY-Server"-Fähigkeit zum Akzeptieren einer Dienstanforderung, die von einem Client in dem internen Netz an das externe Netz gestellt wird, und zum Verarbeiten der Anforderung statt dessen. Durch die Verwendung des PROXY-Servers kann der Client in dem internen Netz auf das externe Netz zugreifen und kann von den Servern in verschiedensten externen Netzen, etc., vorgesehene Dienste über den PROXY-Server anfordern, ohne sich der Existenz einer Firewall bewußt zu sein. Zusätzlich hat der PROXY-Server auch die Fähigkeit, die Daten, auf die in letzter Zeit ein Zugriff erfolgt ist, oder die Daten, auf die häufig zugegriffen wird, im Cache zu speichern. Wenn die Clientgruppe 130 auf diese Daten zugreift, führt der PROXY-Server die in seinem eigenen Cache-Speicher gespeicherten Daten zurück, ohne auf die Dienste anbietende Servergruppe 110 über das Netz 140 zuzugreifen. Auf diese Weise kann die Clientgruppe 130 gewünschte Daten von der PROXY-Servergruppe 120 erhalten, wodurch der gesamte Verkehr des Netzes 140 reduziert wird, und die Antwort an die Clientgruppe 130 beschleunigt wird.
  • Die Clientgruppe 130 besteht aus Clients 131, 132, ..., etc. Ein Benutzer stellt eine Dienstanforderung von der Clientgruppe 130 an die Dienste anbietende Servergruppe 110 über die PROXY-Servergruppe 120 und das Netz 140. Als typischstes Beispiel kann der Prozess angegeben werden, wo eine in der Dienste anbietenden Servergruppe 110 gespeicherte HTML-Datei, etc., von einem in der Clientgruppe 130 enthaltenen WWW-Browser heruntergeladen wird, und eine gewünschte Homepage auf dem Bildschirm des Benutzers in der Clientgruppe 130 angezeigt wird. In diesem Fall dient die Dienste anbietende Servergruppe 110 als WWW-Server. Ein WWW-Server wird auch als Web-Server bezeichnet. In dem WWW-Server wird ein "httpd (Hyper Text Transfer Protocol Daemon)" genannter Dämon-Prozess gemäß einer Anforderung aufgerufen, die von einem WWW-Browser eines Clients unter Verwendung eines "http"-Protokolls gesendet wird. Mit diesem Prozess werden angeforderte Daten wie eine HTML (Hyper Text Markup Language)-Datei, die eine Homepage beschreibt, eine als Teil zu verwendende Bilddatei, etc., zum WWW-Browser des Clients gesendet.
  • Die Clientgruppe 130 greift auf die Dienste anbietende Servergruppe 110 über die PROXY-Servergruppe 120 in den meisten Fällen wie in 1A gezeigt zu. Die Clientgruppe 130A kann jedoch diesen Zugriff nicht über die PROXY-Servergruppe 120A vornehmen, wie in 1B gezeigt.
  • Es ist zu beachten, dass die in dieser Beschreibung bezeichnete Clientgruppe 130 so auszulegen ist, dass sie sowohl die Clientgruppe 130 als auch einzelne Clients 131, 132, ... enthält.
  • Jeder der Clients, beispielsweise der Client 131, enthält eine Pfadberechnungseinheit 131A, eine Antwortinformations-Verwaltungseinheit 131B, eine Schätzinformations-Verwaltungseinheit 131C und eine Pfadinformations-Verwaltungseinheit 131D. Auch der Client 132 enthält Einheiten (Pfadberechnungseinheit 132A, Antwortinformations-Verwaltungseinheit 132B, eine Schätzinformations-Verwaltungseinheit 132C und eine Pfadinformations-Verwaltungseinheit 132D) ähnlich jenen des Clients 131, obwohl sie in 1A und 1B nicht gezeigt sind. Auch andere Clients haben ähnliche Einheiten.
  • Hier werden die jeweiligen in der Clientgruppe 130 enthaltenen Einheiten erläutert, indem der Client 131 als Beispiel herangezogen wird. Die Pfadberechnungseinheit 131A bestimmt einen optimalen Kommunikationspfad von dem Client 131 zu einem Transmissionsziel (Spiegelserver) unter Verwendung der geschätzten Informationen, die von der Schätzinformations-Verwaltungseinheit 131C vorgesehen werden, einer tat sächlichen Antwortzeit, und von Spiegel- und PROXY-Servernamen, die von der Pfadinformations-Verwaltungseinheit 131D vorgesehen werden; und sendet eine gewünschte Dienstanforderung über den bestimmten Pfad.
  • Beim Empfang der Antwort auf die von der Pfadberechnungseinheit 131A gesendete Dienstanforderung speichert die Antwortinformations-Verwaltungseinheit 131B die Informationen über die Antwort wie die tatsächliche Antwortzeit, etc., und liefert der Schätzinformations-Verwaltungseinheit 131C die gespeicherten Informationen.
  • Die Schätzinformations-Verwaltungseinheit 1310 liefert die letzten geschätzten Informationen an die Pfadberechnungseinheit 131A gemäß der von dieser gestellten Anforderung, und aktualisiert die geschätzten Informationen beim Empfang der Informationen wie der tatsächlichen Antwortzeit, etc., von der Antwortinformations-Verwaltungseinheit 131B.
  • Die Pfadinformations-Verwaltungseinheit 131D speichert die Informationen wie die Spiegel- und PROXY-Servernamen, etc., und liefert diese Informationselemente gemäß der von der Pfadberechnungseinheit 131A gestellten Anforderung.
  • Der Pfad, den wir hier betrachten, ist der Pfad, der grundsätzlich durch die Verknüpfung des Pfads (Hinweg), auf dem die Clientgruppe 130 eine Anforderung zur Dienste anbietenden Servergruppe 110 sendet, und des Pfads (Rückweg), auf dem die Dienste anbietende Servergruppe 110 eine Antwort an die Clientgruppe 130 sendet, erhalten wird. Normalerweise sind die Start- und Endadresse des Pfads identisch. Der Prozess, wo die Clientgruppe 130 eine Dienstanforderung sendet, und der Prozess, wo die Clientgruppe 130 eine Antwort empfängt, sind jedoch voneinander unabhängig. Wenn verschiedene Clientgruppen 130 jeweils diese Prozesse vornehmen, können die Start- und Endadresse manchmal verschieden sein. Es ist zu beachten, dass die Start- und Endadresse des Pfads ver schieden sind, obwohl der Pfad in einem solchen Fall im Wesentlichen sowohl als Hin- als auch als Rückweg dient.
  • Für die an einen WWW-Server zu stellende Dienstanforderung sind der Hin- und Rückweg der Anforderungsmeldung normalerweise identisch. Das heißt, eine Antwort wird zurückgeführt, indem der Pfad invers verfolgt wird, auf dem die Clientgruppe 130 die Anforderung an die Dienste anbietende Servergruppe 110 sendet. Da der Hin- und Rückweg jedoch manchmal verschieden sein können, ist es zweckmäßig, dass der Pfad als jener behandelt wird, der durch die Verknüpfung des Hin- und Rückwegs erhalten wird.
  • Als Nächstes wird die Erläuterung über den gesamten Prozessfluss des Clients 131 mit Bezugnahme auf das in 2 gezeigte Flussdiagramm vorgesehen. Die vorliegende Erfindung setzt einen genetischen Algorithmus (GA) ein, um einen optimalen Pfad zu schätzen. Eine solche Schätzung ist ein Element, welches zu einer Kategorie gehört, die als etwas anerkannt wird, das als "kombinatorisches Optimierungsproblem" bezeichnet wird.
  • Gemäß der vorliegenden Erfindung eliminiert die Verwendung des GA die Notwendigkeit der Vornahme der Berechnung, die herkömmlich auf der Basis aller Umgebungsdaten vorgenommen wird, jedesmal wenn ein Pfad ausgewählt wird. Es ist ausreichend, nur Bit für Bit eine Differenz eines Schätzindividuums (Schätzparameter) zu berechnen, die aufgrund einer Netzumgebungsänderung auftritt.
  • Somit wird mit dem GA ein Schätzindividuum, das einer sich ständig ändernden Netzumgebung (aufgrund etwa einer Leitungsunterbrechung, einer Leitungserweiterung, einer Zunahme oder Abnahme der Anzahl von Benutzern, einer Änderung der Dienstpopularität, etc.) entspricht, durch das Ändern der Generation des Schätzindividuums erzeugt, jedesmal wenn die Netzumgebungs-Änderungsinformationen (wie neu ge messene Antwortzeitdaten) erhalten werden.
  • Für jedes neu generierte Schätzindividuum werden Gene (Chromosomen) eingestellt, um an verschiedenste Umgebungsänderungen angepasst werden zu können. Die Verwendung des GA ermöglicht es nämlich dem System gemäß dieser bevorzugten Ausführungsform, durch die Schätzung jedes zukünftigen Änderungsmusters in Abhängigkeit vom Bedarf angepasst zu werden, wenn sich die Umgebung ändert. Es ist jedoch zu beachten, dass die für dieses Schätzindividuum geeigneten Kreuzungs- und Mutationsoperationen vorgenommen werden müssen, um jede Änderung zu schätzen.
  • 2 ist ein Flussdiagramm, das den von einem Client vorgenommenen Prozess zeigt. Der Prozess wird beschrieben, indem er in jeweilige Sequenzen von Schritten für die oben beschriebenen Einheiten (die Pfadberechnungseinheit 131A, die Antwortinformations-Verwaltungseinheit 131B, die Schätzinformations-Verwaltungseinheit 131C und die Pfadinformations-Verwaltungseinheit 131D) geteilt wird. Die in der linkesten Sequenz beschriebenen Schritte (Schritte S100, S101, etc.) sind beispielsweise von der Pfadberechnungseinheit 131A vorzunehmen, wohingegen der in der rechtesten Sequenz beschriebene Schritt (S102) von der Pfadinformations-Verwaltungseinheit 131D vorzunehmen ist. Hier kann die Anforderung von jedem der Clients 131, 132, ..., durch das Weiterleiten durch einen der PROXY-Server 121, 122, ..., gesendet werden, um die Anforderung an die Dienste anbietende Servergruppe 110 zu stellen, von der angenommen wird, dass sie aus Spiegelservern besteht.
  • Wenn beispielsweise der Client 131 zuerst eine Adresse einer gewünschten Homepage spezifiziert, um die Seite mit einem WWW-Browser anzusehen, etc., stellt die Pfadberechnungseinheit 131A eine Dienstanforderung, das heißt die Anforderung, die die spezifizierte Homepage beschreibende HTML-Datei und ihre assoziierten Daten auf einen repräsentativen Servernamen an dieser Adresse herunterzuladen (Schritt S100).
  • Dann fordert die Pfadberechnungseinheit 131A eine Spiegelserver-Namensliste und eine PROXY-Server-Namensliste, die dem repräsentativen Servernamen entsprechen, der Pfadinformations-Verwaltungseinheit 131D innerhalb des Clients 131 an (Schritt S101). 3A zeigt ein Beispiel von Datensätzen, die in einer PROXY-Tabelle 160 enthalten sind, in der die jeweiligen Datensätze 161, 162, 163, etc., die mit dem Client 131 assoziierten PROXY-Servernamen speichern. 3B zeigt ein Beispiel von Datensätzen, die in einer WWW-Servertabelle 170 enthalten sind, in der die jeweiligen Datensätze 171, 172, 173, ..., die repräsentativen Namen von WWW-Servern und die Spiegelservernamen, die den Servern entsprechen, speichern. In dem in dieser Figur gezeigten Beispiel werden Spiegelserver "www1.BBB.com", "www2.BBB.com" und "www3.BBB.com" gespeichert, die einem Server mit dem Namen "www.BBB.com" entsprechen. Eine Dienstanforderung kann an einen dieser vier Server gestellt werden. Es ist zweckmäßig, dass beide der Tabellen 160 und 170 in einem Speicher jedes der Clients 131, 132, ... eingerichtet sind. Sie können jedoch an einer externen Speicheranordnung jedes der Clients 131, 132, ... eingerichtet werden oder können in einem geeigneten Datenbankserver dieses Systems eingerichtet werden, der in dieser Figur nicht gezeigt ist, zur gemeinsamen Nutzung durch die Clients 131, 132, ...
  • Die Pfadinformations-Verwaltungseinheit 131D, an welche die Pfadberechnungseinheit 131A eine Anforderung für die Spiegelserver-Namensliste und die PROXY-Server-Namensliste stellt, die dem repräsentativen Servernamen entsprechen, sendet an die Pfadberechnungseinheit 131A die Spiegelserver-Namensliste und die PROXY-Server-Namensliste, die diese Dienstanforderung erfüllen können (Schritt S102). Wenn der Dienste anbietende Server, der die Dienstanforderung sendet, keinen Spiegelserver hat, oder wenn der Client 131 einen Zugriff nicht über einen PROXY-Server vornimmt, ist ein Zugriff auf die PROXY-Tabelle 160 oder auf die WWW-Servertabelle 170 nicht erforderlich.
  • Als Nächstes fordert die Pfadberechnungseinheit 131A ein optimales Schätzindividuum und eine tatsächliche Antwortzeit der Schätzinformations-Verwaltungseinheit 131C an (Schritt S103). Die Pfadberechnungseinheit 131A kann die Zeiteinstellung, zu der sie das Schätzindividuum der Schätzinformations-Verwaltungseinheit 131C anfordert, gemäß einer Lebensdauer oder einem Fitnessgrad des Schätzindividuums unter Berücksichtigung einer Kommunikationslast, etc., anpassen. Es besteht keine Notwendigkeit, diese Anforderung in Schritt S103 immer zu stellen. Beim Empfang der Anforderung sucht die Schätzinformations-Verwaltungseinheit 131C eine Schätzindividuentabelle 180 und eine tatsächliche Antwortzeittabelle 190, die im Nachstehenden beschrieben werden, und sendet die notwendigen Datensätze an die Pfadberechnungseinheit 131A (Schritt S104).
  • 4A zeigt das Format eines Datensatzes 181 eines Schätzindividuums, das in der Schätzindividuentabelle 180 enthalten ist, wohingegen 4B das Format eines Datensatzes 191 zeigt, der in der tatsächlichen Antwortzeittabelle 190 enthalten ist. Diese Tabellen sind normalerweise in einem Datenbankserver in dem Computernetz 100 eingerichtet, und jeder der Clients 131, 132, ... kann auf diese Bezug nehmen und diese aktualisieren.
  • Der Datensatz 181 jedes Schätzindividuums in der Schätzindividuentabelle 180 enthält eine Identifikationsnummer, einen Adressenort, den Fitnessgrad, eine Lebensdauer, ein Generierdatum und eine Generierzeit, eine Chro mosomenlänge und Gene 182 (8 Blöcke von 0 bis 7), die ein Chromosom strukturieren, wie in 4A gezeigt.
  • Die Identifikationsnummer ist eine einzigartige Nummer zum Identifizieren eines Schätzindividuums.
  • Der Adressenort speichert die Adresseninformationen, die anzeigen, wo der Datensatz 181 des Schätzindividuums in der Schätzindividuentabelle 180 startet.
  • Der Fitnessgrad ist ein Grad zum Bestimmen, wie genau die Antwortzeit einer Dienstanforderung, die die Clientgruppe 130 an die Dienste anbietende Servergruppe 110 stellt, geschätzt werden kann. In dem genetischen Algorithmus überlebt ein Schätzindividuum mit einem höheren Fitnessgrad mit einer höheren Wahrscheinlichkeit, so dass eine Schätzindividuengruppe einer nächsten Generation gebildet wird, indem das Schätzindividuum mit dem höheren Fitnessgrad zentriert wird.
  • Der in dieser Ausführungsform verwendete Fitnessgrad wird durch die folgende Gleichung repräsentiert.
    Figure 00220001
    worin "RIR" (Recency Influence Rate) eine neueste Einflussrate ist, und "RIRi" ein Index ist, der anzeigt, wie groß die Differenz ist, die zwischen der Zeit, zu der eine "i"-te tatsächliche Antwortzeit gemessen wird, und der Zeit existiert, zu der der Fitnessgrad berechnet wird. "RIRi" wird repräsentiert durch RIRi = e(-C1 × cnew × TAi),worin "C1" eine positive Konstante ist, und "TAi" ein Wert ist, der erhalten wird durch das Subtrahieren der Zeit, zu der die "i"-te tatsächliche Antwortzeit gemessen wird, von der Zeit, zu der "RIRi" verwendet wird. "cnew" wird im Nachstehenden beschrieben. "dRTi" ist ein Absolutwert der Differenz zwischen der geschätzten Antwortzeit des Zeitpunkts, zu dem die "i"-te tatsächliche Antwortzeit gemessen wird, und der tatsächlichen Antwortzeit.
  • Wenn alle "dRTi" "0" sind, das heißt wenn die tatsächliche Antwortzeit mit der geschätzten Antwortzeit zu jeder Messzeit übereinstimmt, wird der Fitnessgrad "1", welcher der höchste ist. Je näher die Werte der "dRTi" bei "0" liegen, das heißt je höher die Anzahl von Fällen ist, wo die Differenz zwischen der tatsächlichen Antwortzeit und der geschätzten Antwortzeit zu jeder Messzeit klein ist, desto näher liegt der Wert des Fitnessgrads bei "1". Dies bedeutet, dass das Schätzindividuum mit einem höheren Fitnessgrad mehr überlegene Gene hat. Je näher der Fitnessgrad eines Schätzindividuums bei "1" liegt, desto überlegener sind dementsprechend die Gene eines Schätzindividuums.
  • Die Lebensdauer wird durch die folgende Gleichung repräsentiert.
    Lebensdauer = (der Wert des Fitnessgrads eines Schätzindividuums – ein Mindestwert des Fitnessgrads in einer Schule)/(1 – der Mindestwert des Fitnessgrads in der Schule) × ein Maximalwert einer Lebensdauer in der Schule,
    wobei die Schule eine Untergruppe einer Schätzindividuengruppe ist (die als Populationsdomäne bezeichnet wird). Die Änderung von Generationen wird in Schuleinheiten vorgenommen, und ein Schätzindividuum mit einem niedrigeren Fitnessgrad wird ausgewählt. Die Schätzindividuengruppe, das heißt die Populationsdomäne, ist ein Bereich, wo Gene gekreuzt werden. Die Anzahl von Schulen kann willkürlich in Abhängigkeit von dem Grad des Erzielens des Wachstums, das gemäß dem Maßstab des Generationsänderungsprozesses variiert, und von einer Prozesslast, etc., bestimmt werden.
  • Wenn, wie aus der oben beschriebenen Erläuterung der Gleichung (1) hervorgeht, 0 < Fitnessgrad ≦ 1, und wenn der Fitnessgrad eines Schätzindividuums der Mindestwert in einer Schule ist, wird der Wert der Lebensdauer des Schätzindividuums "0". Je näher der Fitnessgrad eines Schätzindividuums beim Maximalwert in einer Schule liegt, desto größer ist der Wert der Lebensdauer des Schätzindividuums. Das heißt, der Wert der Lebensdauer des Schätzindividuums wird größer, je näher der Fitnessgrad des Schätzindividuums bei "1" liegt. Das Schätzindividuum wird gelöscht als jenes, dessen Lebensdauer abläuft, wenn es die Bedingung erfüllt:
    "Generierdatum und -zeit eines Schätzindividuums + seine Lebensdauer < aktuelles Datum und aktuelle Zeit"
  • Je größer der Wert der Lebensdauer des Schätzindividuums ist, desto länger bleibt das Individuum daher in der Schule.
  • Das Generierdatum und die Generierzeit zeigen die Daten und die Zeit an, wenn ein Schätzindividuum generiert wird.
  • Die Chromosomenlänge zeigt die Länge eines Chromosoms an, das durch Genblöcke (Schemata) strukturiert ist. Gemäß dieser bevorzugten Ausführungsform sind die Genblöcke als Koeffizienten definiert, die im Nachstehenden detailliert beschrieben werden. Sie können mit einem anderen Koeffizienten addiert oder durch einen anderen Koeffizienten ersetzt werden. Die Chromosomenlänge zeigt die Länge des gesamten Chromosoms in einem solchen Fall an, wodurch leicht Genoperationen mit einer Anwendung, etc., vorgenommen werden.
  • Das Chromosom besteht aus 8 Genblöcken (Schemata) 0 bis 7, von denen jeder ein Datenformat hat, das beispielsweise durch einen "int type" in Java definiert wird. In dieser Ausführungsform werden die Genblöcke 0, 1 und 4 bis 7 verwendet. Diesen Genblöcken 0, 1 und 4 bis 7, und den übrigen nicht verwendeten Genblöcken 2 und 3 können willkürliche Werte zugeordnet werden, um vorzugsweise zu bewirken, dass sich ein Schätzindividuum entwickelt.
  • 5 zeigt ein Beispiel der Struktur der Genblöcke 182, die in Chromosom bilden.
  • In diesem Beispiel werden die folgenden Werte den Genblöcken 0, 1 und 4 bis 7 zugeordnet.
  • Genblock 0: ein neuester Einflusskoeffizient (cnew)
  • Der neueste Einflusskoeffizient wird verwendet, um die oben beschriebene neue Einflussrate "RIR" zu berechnen. Dieser Koeffizient ist ein Index, der anzeigt, wie stark die Differenz zwischen der Zeit, zu der die tatsächliche Antwortzeit gemessen wird, und der Zeit, zu der "RIR" berechnet wird, den Fitnessgrad beeinflusst.
  • Genblock 1: ein Distanzeinflusskoeffizient (cdist)
  • Der Distanzeinflusskoeffizient wird verwendet, um eine Distanzeinflussrate "DIR" zu berechnen. Dies ist ein Index, der anzeigt, wie die Distanz zwischen der Clientgruppe 130 und der Dienste anbietenden Servergruppe 110 den Fitnessgrad beeinflusst. "DIR" wird verwendet, um eine geschätzte Antwortzeit zu berechnen, die im Nachstehenden zu beschreiben ist.
  • Genblöcke 4 bis 7: Distanzeinflusskoeffizienten (csnetl bis csnet4)
  • IP-Adressen werden in 4 Gruppen in 8 Bits geteilt, indem sie mit Perioden abgegrenzt werden. Die Genblöcke 4 bis 7 sind Indices, die die Einflussgrade der Distanz zwischen der Clientgruppe 130 und der Dienste anbietenden Servergruppe 110 auf jede der Gruppen anzeigen. Der Distanzeinflusskoeffizient (csnetl) des Genblocks 4 zeigt den Einfluss der Distanz auf die erste linkeste 8 Bit-Gruppe der IP- Adressen an. Der Distanzeinflusskoeffizient (csnet2) des Genblocks 5 zeigt den Einfluss der Distanz auf die zweite linke 8 Bit-Gruppe der IP-Adressen an. Der Distanzeinflusskoeffizient (csnet3) des Genblocks 6 zeigt den Einfluss der Distanz auf die dritte linke 8 Bit-Gruppe der IP-Adressen an. Der Distanzeinflusskoeffizient (csnet4) des Genblocks 7 zeigt den Einfluss der Distanz auf die letzte 8 Bit-Gruppe der IP-Adressen an.
  • Diese Distanzeinflusskoeffizienten der Genblöcke 4 bis 7 werden verwendet, um einen Intersubnetz-Distanzeinflusskoeffizienten "DE" zu berechnen, der zur Berechnung von "DIR" verwendet wird.
  • Die oben beschriebenen Genblöcke 0 bis 7, die ein Chromosom strukturierende Schemata sind, werden zuerst mit einer "Random"-Funktion, etc., zufällig eingestellt. Danach werden sie gemäß einem genetischen Algorithmus wachsen, so dass sie sich zu einer optimalen Bitfolge entwickeln.
  • Der Datensatz 191 der tatsächlichen Antwortzeittabelle 190, wie in 4B gezeigt, enthält eine Identifikationsnummer, eine Transmissionsursprungsadresse, eine Transmissionszieladresse, einen Pfad, eine tatsächliche Antwortzeit, eine Anforderungsdatenlänge, eine Antwortdatenlänge, und ein Anforderungsdatum und eine Anforderungszeit.
  • Die Identifikationsnummer ist eine einzigartige Nummer zum Identifizieren des Datensatzes der tatsächlichen Antwortzeit.
  • Die Transmissionsursprungsadresse ist eine Adresse der Clientgruppe 130, die eine Dienstanforderung stellt.
  • Die Transmissionszieladresse ist eine Adresse der Transmissionszieladresse, an die die Clientgruppe 130 die Dienstanforderung stellt, das heißt die Adresse der Dienste anbietenden Servergruppe 110.
  • Der Pfad zeigt den Pfad an, auf dem die Clientgruppe 130 die Meldung zur Anforderung des Diensts an die Dienste anbietende Servergruppe 110 sendet, und den Pfad, auf dem die Dienste anbietende Servergruppe 110 die Meldung zum Antworten auf die Anforderung an die Clientgruppe 130 sendet. Er speichert die Identifikationsinformationen aller passierten Knoten, wie ein Router, ein Server, etc. In dieser Beschreibung enthält der einfach als Pfad bezeichnete Ausdruck seine beiden Enden, das heißt die Transmissionsursprungsadresse und die Transmissionszieladresse. Da der Datensatz 191 die Transmissionsursprungsadresse und die Transmissionszieladresse enthält, können diese Elemente von Knotenadresseninformationen nicht enthalten sein, wenn die Adresse eines Transmissionsursprungsknotens und jene einer Transmissionszieladresse identisch sind.
  • Die tatsächliche Antwortzeit ist ein Zeitbetrag pro Datenlängeneinheit, der tatsächlich zum Senden der Antwort auf die Dienstanforderung von der Dienste anbietenden Servergruppe 110 zur Clientgruppe 130 erforderlich ist, nachdem die Clientgruppe 130 die Dienstanforderung an die Dienste anbietende Servergruppe 110 stellt. Die tatsächliche Antwortzeit (RT) wird durch die folgende Gleichung repräsentiert. RT = (2 × RTraw)/(Lreq + Lres),worin "RTraw" der Zeitbetrag ist, der tatsächlich zum Senden der Antwort auf die Dienstanforderung von der Dienste anbietenden Servergruppe 110 zur Clientgruppe 130 erforderlich ist, nachdem die Clientgruppe 130 die Dienstanforderung an die Dienste anbietende Servergruppe 110 stellt. "Lreq" ist eine Anforderungsdatenlänge, und "Lres" ist eine Antwortdatenlänge. Die tatsächliche Antwortzeit "RT" zeigt nämlich den Zeitbetrag an, der zum Austauschen der Daten, deren Länge (Lreq + Lres) ist, zwischen der Clientgruppe 130 und der Dienste anbietenden Servergruppe 110 erforderlich ist.
  • Die Einheit der tatsächlichen Antwortzeit "RT" ist beispielsweise ms/Bit.
  • Die Anforderungsdatenlänge "Lreq" ist die Länge der Meldung zum Stellen der Dienstanforderung von der Clientgruppe 130 an die Dienste anbietende Servergruppe 110. Die Länge dieser Meldung, wie der Meldung zum Instruieren einer Homepage-Anzeige oder der Meldung zum Instruieren eines Herunterladens einer Datei gemäß einem FTP, kann in den meisten Fällen kurz sein.
  • Die Antwortdatenlänge "Lres" ist die Länge der Meldung, die von der Dienste anbietenden Servergruppe 110 zur Clientgruppe 130 ansprechend auf die von der Clientgruppe 130 gestellte Dienstanforderung gesendet wird. Die Länge dieser Meldung, wie der Meldung zum Antworten auf die Instruktion einer Homepage-Anzeige oder der Meldung zum Antworten auf die Instruktion zum Herunterladen einer Datei, kann in Abhängigkeit von der Größe der Homepage oder der Datei signifikant variieren. Insbesondere die Länge der Meldung zum Antworten auf eine Instruktion zum Herunterladen kann manchmal einige Megabytes betragen.
  • Da die tatsächliche Antwortzeit "RT" die Informationen der Anforderungsdatenlänge und der Antwortdatenlänge enthält, müssen diese Informationselemente nicht in der tatsächlichen Antwortzeittabelle 190 gespeichert werden. Sie werden jedoch hier für eine zukünftige Expansion, etc., reserviert. Wenn ein solcher Informationseinschluss von einem Standpunkt der Datenkapazität nicht zweckmäßig ist, können diese zwei Informationselemente, das heißt die Anforderungsdatenlänge und die Antwortdatenlänge, aus der tatsächlichen Antwortzeittabelle 190 ausgeschlossen werden.
  • Das Anforderungsdatum und die Anforderungszeit sind das Datum und die Zeit, wenn die Clientgruppe 130 eine Dienstanforderung an die Dienste anbietende Servergruppe 110 stellt.
  • Wenn der Fitnessgrad oder eine geschätzte Antwortzeit, die im Nachstehenden zu beschreiben ist, berechnet wird, werden die Daten der tatsächlichen Antwortzeit verwendet. Die Signifikanz der Daten der tatsächlichen Antwortzeit variiert jedoch in Abhängigkeit davon, ob die Zeit, zu der die Daten der tatsächlichen Antwortzeit erhalten werden, entweder vor oder nach der Zeit ist, zu der die Berechnung vorgenommen wird. Daher ist das Anforderungsdatum und die Anforderungszeit ein wichtiges Element in dieser bevorzugten Ausführungsform gemäß der vorliegenden Erfindung.
  • Es wird erneut auf Schritt S105 von 2 Bezug genommen. In diesem Schritt ermittelt die Pfadberechnungseinheit 131A entsprechende IP-Adressen auf der Basis der Spiegel- und PROXY-Servernamen. Wenn der Spiegelserver und der PROXY-Server der Clientgruppe 130 bekannt sind, sind die Informationen der IP-Adressen normalerweise in ihrem Speicher, etc., gespeichert. Daher können die IP-Adressen aus dem Speicher, etc., erhalten werden. Wenn die IP-Adressen für die Clientgruppe 130 neu (unbekannt) sind, können die dem Spiegelserver und dem PROXY-Server entsprechenden Adressen durch einen Zugriff auf die Tabelle erhalten werden, die in einem DNS (Domain Name System)-Server in einer vorherbestimmten Domäne gespeichert ist.
  • Als Nächstes werden verfügbare Pfade zwischen Spiegelservern und PROXY-Servern berücksichtigt. Dann wird die geschätzte Antwortzeit für jeden der Pfade auf der Basis des Schätzindividuums und der tatsächlichen Antwortzeit ermittelt, die aus der Schätzinformations-Verwaltungseinheit 131C erhalten werden, und der Pfad mit der minimalen geschätzten Antwortzeit wird ausgewählt (Schritt S106). Der ermittelte Pfad ist der Pfad, der den Spiegelserver und den PROXY-Server enthält. Es ist zu beachten, dass die Pfadberechnungseinheit 131A zumindest einen der möglicherweise verfügbaren Pfade zwischen dem Spiegelserver und dem PROXY-Server kennen muss. Vorteilhafterweise kann diese Einheit die Informationen von zumindest einem verfügbaren Pfad mit einer Methode sammeln, die von einem herkömmlichen Leitwegprotokoll eingesetzt wird.
  • Dann stellt die Pfadberechnungseinheit 131A eine Dienstanforderung an die Dienste anbietende Servergruppe 110 unter Verwendung des ermittelten Pfads, der den Spiegelserver und den PROXY-Server enthält (Schritt S107), und übergibt die Steuerung an die Antwortinformations-Verwaltungseinheit 131B. Zu dieser Zeit speichert die Antwortinformations-Verwaltungseinheit 131B in der tatsächlichen Antwortzeittabelle 190 das Anforderungsdatum und die Anforderungszeit, wenn die Clientgruppe 130 die Dienstanforderung stellt, die Anforderungsdatenlänge, die Transmissionsursprungsadresse, die Transmissionszieladresse, und den in Schritt S106 ausgewählten Pfad als neue Datensätze (Schritt S108).
  • Als Nächstes empfängt die Antwortinformations-Verwaltungseinheit 131B die Antwort auf die Dienstanforderung von der Dienste anbietenden Servergruppe 110 (Schritt S109). Beim Empfang der Antwort nimmt eine vorherbestimmte Anwendung, etc., einen notwendigen Prozess vor, um den Dienst für einen Benutzer vorzusehen, obwohl dies in 2 nicht gezeigt ist. Beim Empfang der Antwort beispielsweise auf die Anforderung zum Instruieren einer Homepage-Anzeige zeigt ein WWW-Browser, etc., die Homepage in Stufen gemäß den empfangenen Daten an. Oder beim Empfang der Antwort auf die Anforderung zum Instruieren des Herunterladens einer Datei gemäß einem FTP, etc., lädt ein FTP-Programm die Datei herunter und zeigt den Empfangsstatus der Antwortdaten in Echtzeit an.
  • Beim Empfang der gesamten Antwort auf die Dienstanfor derung von der Dienste anbietenden Servergruppe 110 speichert die Antwortinformations-Verwaltungseinheit 131B die tatsächliche Antwortzeit und die Antwortdatenlänge des Dienstes in der tatsächlichen Antwortzeittabelle 190 zusätzlich zu den Datensätzen, die in Schritt S108 neu generiert werden (Schritt S110). Dann sendet die Antwortinformations-Verwaltungseinheit 131B die tatsächliche Antwortzeit und den Pfad, der in Schritt S108 gespeichert wurde, zur Schätzinformations-Verwaltungseinheit 131C (Schritt S111).
  • Beim Empfang der tatsächlichen Antwortzeit und des Pfads von der Antwortinformations-Verwaltungseinheit 131B aktualisiert die Schätzinformations-Verwaltungseinheit 131C das Schätzindividuum auf der Basis der empfangenen Informationen (Schritt S112).
  • 6 ist ein Flussdiagramm, das den Prozess zum Ermitteln eines Pfads mit der minimalen geschätzten Antwortzeit zeigt. Diese Figur zeigt die Details von Schritt S106 von 2. In Schritt S106 werden möglicherweise verfügbare Pfade zwischen einem Spiegelserver und einem PROXY-Server ermittelt, die geschätzte Antwortzeit für jeden der Pfade wird auf der Basis des Schätzindividuums und der tatsächlichen Antwortzeit ermittelt, die von der Schätzinformations-Verwaltungseinheit 131C erhalten werden, und der Pfad mit der minimalen geschätzten Antwortzeit wird ausgewählt.
  • Die Pfadberechnungseinheit 131A ermittelt zuerst eine Liste möglicherweise verfügbarer Pfade aus der Spiegelserver-Namensliste und der PROXY-Server-Namensliste (Schritt S200). Dann wählt die Pfadberechnungseinheit 131A den ersten Pfad aus der Pfadliste aus (Schritt S201). Als Nächstes ermittelt die Pfadberechnungseinheit 131A die geschätzte Antwortzeit jedes der Pfade, die in Schritt S200 ermittelt wurden, unter Verwendung des Schätzindividuums und der tatsächlichen Antwortzeit, die von der Schätzinformations-Ver waltungseinheit 131A vorgesehen werden (Schritt S202). Die tatsächliche Antwortzeit zu dieser Zeit ist normalerweise tatsächliche Antwortzeiten, die aus Datensätzen mit identischen Pfaden in der tatsächlichen Antwortzeittabelle 190 erhalten werden. Wenn die Anzahl von Stücken von Daten, deren tatsächliche Antwortzeiten gleich sind wie jene des ausgewählten Pfads, unzureichend ist, das heißt wenn die Anzahl von Datensätzen, deren tatsächliche Antwortzeiten gleich sind wie jene des ausgewählten Pfads, ziemlich klein ist in der tatsächlichen Antwortzeittabelle, kann die geschätzte Antwortzeit unter Verwendung von mehr Datensätzen 191 der tatsächlichen Antwortzeiten ermittelt werden, deren Pfade dem ausgewählten Pfad ähnlich sind, oder mehr neuesten Datensätzen 191 der tatsächlichen Antwortzeit, etc., als jene, die für den Fall desselben Pfads verwendet werden.
  • Wenn beispielsweise die tatsächliche Antwortzeit vorher für denselben Pfad wie den ausgewählten Pfad berechnet wurde, werden 5 Stücke der tatsächlichen Antwortzeitdaten verwendet, um die geschätzte Antwortzeit zu berechnen. Wenn keine tatsächliche Antwortzeit für denselben Pfad wie den ausgewählten Pfad gemessen wurde, werden 10 Stücke der neuesten tatsächlichen Antwortzeitdaten verwendet, um die geschätzte Antwortzeit zu berechnen, ungeachtet der Pfade.
  • Die Gleichung zum Ermitteln der geschätzten Antwortzeit ist wie folgt:
    Figure 00320001
    worin RIRi die neueste Einflussrate eines "i"-ten ausgewählten Pfads ist, und ihr Inhalt oben beschrieben ist. DIRi ist die Distanzeinflussrate für den "i"-ten ausgewähl ten Pfad, die durch die folgende Gleichung repräsentiert wird: DIRi = 1/(C2 × e–C3 × cdist × DEi + 1),worin "C2" und "C3" positive Konstanten sind, "cdist" der Distanzeinflusskoeffizient ist, und "DEi" der Einflussgrad der durch eine IP-Adresse evaluierten Distanz ist. Dies wird Intersubnetz-Distanzeinflusskoeffizient genannt. Für den ausgewählten Pfad wird angenommen, dass die Nummer jedes Knotens auf dem Pfad "j" ist, und die Nummer von Knoten auf dem Pfad, der Pfadserver enthält, wie die Clientgruppe 130, die PROXY-Servergruppe 120, etc., und die Dienste anbietende Servergruppe 110, "M" ist. Es wird auch angenommen, dass die 8 Bit-Gruppen von IP-Adressen an den jeweiligen Knoten auf dem Pfad, dessen geschätzte Antwortzeit zu ermitteln ist, "T1j", "T2j", "T3j" und "T4j" von links sind; und die 8 Bit-Gruppen von IP-Adressen an den jeweiligen Knoten auf dem Pfad, der tatsächlich verwendet wird, um die tatsächliche Antwortzeit zu ermitteln, die zum Vornehmen einer Schätzung verwendet wird, "Rlij", "R2ij", "R3ij" und "R4ij" von links sind. Zu dieser Zeit kann DEi durch die folgende Gleichung (3) repräsentiert werden:
    Figure 00330001
    worin Ck = e–C4 × csnetk.
  • Es ist zu beachten, dass "C4" eine positive Konstante ist, und "csnetk" von "csnetl" bis "csnet4" in Abhängigkeit vom Wert von k variiert. Diese Werte signifizieren die Gewichte der Distanzen der vier 8 Bit-Gruppen von IP-Adressen, wie oben beschrieben. Wenn zwei IP-Adressen in den vier 8 Bit-Gruppeneinheiten mit der oben beschriebenen Gleichung (3) verglichen werden, wird angenommen, dass die Differenz zwischen den Gruppen auf der linken Seite größer ist als jene zwischen den Gruppen auf der rechten Seite hinsichtlich der Distanzen (die Differenz zwischen Gruppen, die der linken Seite näher sind, ist nämlich größer). Daher haben "csnet4" "csnet3", "csnet2" und "csnetl" normalerweise einen größeren Wert in dieser Reihenfolge.
  • Ferner kann die Anzahl von Repeatern auf zwei verglichenen Pfaden manchmal verschieden sein. In einem solchen Fall werden die Anzahlen von Repeatern auf den beiden Pfaden identisch gemacht, indem temporär eine geeignete Adresse an einem geeigneten Ort auf dem Pfad mit einer kleineren Anzahl von Repeatern eingestellt wird. Als Ergebnis wird die Gleichung (3) in diesem Fall verfügbar.
  • "RTi" ist die tatsächliche Antwortzeit des "i"-ten ausgewählten Pfads.
  • Als Nächstes wird bestimmt, ob der Wert der so ermittelten Antwortzeit kleiner ist als der geschätzte Antwortzeit-Mindestwert oder nicht (Schritt S203). Der anfängliche Wert des geschätzten Antwortzeit-Mindestwerts ist ein großer Wert wie eine unendliche Zahl, etc. Wenn der Wert über die geschätzte Antwortzeit kleiner ist als der geschätzte Antwortzeit-Mindestwert ("JA" in Schritt S203), wird der aktuell ausgewählte Pfad als Pfad mit der minimalen geschätzten Antwortzeit eingestellt (Schritt S204). Normalerweise werden die Informationen zum Identifizieren dieses Pfads in einem vorherbestimmten Bereich gespeichert. Dann wird der Wert der ermittelten geschätzten Antwortzeit dem geschätzten Antwortzeit-Mindestwert zugeordnet (Schritt S205), und der Prozess geht zu Schritt S206. Da der anfängliche Wert über den geschätzten Antwortzeit-Mindestwert extrem groß ist, geht die Berechnung der ersten geschätzten Antwortzeit immer durch diese Schritte.
  • Wenn der Wert über die geschätzte Antwortzeit gleich dem geschätzten Antwortzeit-Mindestwert oder größer als dieser ist ("NEIN" in Schritt S203), geht der Prozess zu Schritt S206 eines Bestimmungsprozesses, wo bestimmt wird, ob irgendein noch zu verarbeitender Pfad in der in Schritt S202 ermittelten Pfadliste übrig ist oder nicht. Wenn "JA" in Schritt S206, wird der nächste Pfad aus der Pfadliste ausgewählt (Schritt S208), und der Prozess geht zu Schritt S202 zurück. Wenn kein noch zu verarbeitender Pfad übrig ist ("NEIN" in Schritt S207), wird ein optimaler Pfad bestimmt (Schritt S207), und der Prozess ist vollendet. Der Pfad, der als jener mit der minimalen geschätzten Antwortzeit eingestellt wird, wird nämlich als optimaler Pfad bestimmt, wenn der Prozess zu Schritt S207 geht. In diesem Fall ist der geschätzt Antwortzeit-Mindestwert die geschätzte Antwortzeit dieses optimalen Wegs.
  • 7 ist ein Flussdiagramm, das den Prozess zur Aktualisierung eines Schätzindividuums zeigt. Diese Figur zeigt die Details von Schritt S112 von 2. Beim Empfang der tatsächlichen Antwortzeit und ihres Pfads von der Antwortinformations-Verwaltungseinheit 131B aktualisiert die Schätzinformations-Verwaltungseinheit 131C das Schätzindividuum auf der Basis der empfangenen Informationen.
  • Die Schätzinformations-Verwaltungseinheit 131C bestimmt zuerst, ob die tatsächliche Antwortzeit und der Pfad von der Antwortinformations-Verwaltungseinheit 131B gesendet werden oder nicht (Schritt S300). Wenn "NEIN" in Schritt S300, wiederholt die Schätzinformations-Verwaltungseinheit 1310 diesen Bestimmungsprozess. Wenn "JA" in Schritt S300, ermittelt die Schätzinformations-Verwaltungseinheit 131C das erste Schätzindividuum in der mit der Clientgruppe 130 assoziierten Schule (Schritt S301). Hier wird auf eine Schule abgezielt, welche der Clientgruppe 130 entspricht, die den Prozess vornimmt.
  • Als Nächstes ermittelt die Schätzinformations-Verwaltungseinheit 131C die geschätzte Antwortzeit des empfangenen Pfads für das Schätzindividuum innerhalb der ermittelten Schule (Schritt S302). Wenn zu dieser Zeit die Anzahl von Stücken von Daten, deren tatsächliche Antwortzeiten gleich sind wie jene des empfangenen Pfads, unzureichend ist, das heißt wenn die Anzahl von Datensätzen der tatsächlichen Antwortzeiten, deren Pfade gleich sind wie jene des empfangenen Pfads, einige beträgt, kann eine Schätzung unter Verwendung von mehr Datensätzen 191 der tatsächlichen Antwortzeiten vorgenommen werden, deren Pfade dem empfangenen Pfad ähnlich sind, und von mehr Datensätzen 191 der neuesten tatsächlichen Antwortzeit als jenen, die in dem Fall desselben Pfads verwendet werden.
  • Der Prozess von Schritt S302 wird für alle Schätzindividuen in der Schule wiederholt.
  • Die Gleichung zum Ermitteln der geschätzten Antwortzeit ist oben beschrieben.
  • Ferner werden der Fitnessgrad und die Lebensdauer für jedes der Schätzindividuen aus der geschätzten Antwortzeit, die in Schritt S302 ermittelt wird, der tatsächlichen Antwortzeit, die von der Antwortinformations-Verwaltungseinheit 131B ermittelt wird, und der tatsächlichen Antwortzeit, die in einem willkürlichen Datensatz 191 in der tatsächlichen Antwortzeittabelle 190 gespeichert wird, etc., erhalten, so dass die entsprechenden Elemente des entsprechenden Datensatzes in der Schätzindividuentabelle 180 aktualisiert werden (Schritt S303).
  • Als Nächstes wird bestimmt, ob irgendein Schätzindividuum in der Schule übrig ist oder nicht (Schritt S304). Wenn "JA" in Schritt S304, wird das nächste Schätzindividuum in der Schule ermittelt, und der Prozess in und nach Schritt S302 wird vorgenommen (Schritt S306). Wenn "NEIN" in Schritt S304, wird der Generationsänderungsprozess vorgenommen (Schritt S305). Dann geht der Prozess zu Schritt S300 zurück, wo der Bestimmungsprozess vorgenommen wird.
  • 8 ist ein Flussdiagramm, das den Generationsänderungsprozess zeigt. Diese Figur zeigt die Details von Schritt S305 in 7. In diesem Prozessfluss wird die Änderung von Generationen für ein Schätzindividuum in einer Schule vorgenommen, das mit dem in 6 gezeigten Prozessfluss aktualisiert wird, einschließlich eines Schätzindividuums in einer anderen Schule.
  • Die Schätzinformations-Verwaltungseinheit 131C ermittelt die Anzahl von Schätzindividuen, deren Lebensdauer abläuft, unter den Schätzindividuen in der Schule, die mit ihrem eigenen Client 131 assoziiert ist (Schritt S400). Wenn die Bedingung "das Generierdatum und die Generierzeit eines Schätzindividuums + Lebensdauer < aktuelles Datum und aktuelle Zeit" erfüllt ist, wird bestimmt, dass die Lebensdauer abgelaufen ist. Wenn kein Schätzindividuum existiert, dessen Lebensdauer abgelaufen ist ("NEIN" in Schritt S401), wird der Generationsänderungsprozess beendet. Wenn auch nur ein Schätzindividuum existiert, dessen Lebensdauer abgelaufen ist ("JA" in Schritt S401), wird ein Schätzindividuum von der Schätzinformations-Verwaltungseinheit 131C der Clientgruppe 130 ermittelt, die mit einer anderen Schule assoziiert ist (Schritt S402). Dieser Prozess wird zum Ermitteln eines optimalen Pfads vorgenommen, der als Gesamtsystem kooperativ ist, indem ein Schätzindividuum in einer anderen Schule ermittelt und involviert wird, und zum Reflektieren der Informationen einer anderen Schule auf den Generierprozess eines neuen Schätzindividuums, der in Schritt S403 vorgenommen wird.
  • Als Nächstes generiert die Schätzinformations-Verwaltungseinheit 131C neue Schätzindividuen, die bestimmt werden durch die Anzahl von Schätzindividuen, deren Lebensdauer abgelaufen ist, aus den Schätzindividuen in der Schule, die mit ihrem eigenen Client assoziiert ist, und den Schätzindividuen in einer anderen Schule (Schritt S403). Nachdem die neuen Schätzindividuen generiert sind, werden die Schätzindividuen, deren Lebensdauer abgelaufen ist, gelöscht (Schritt S404). Dann ist der Prozess vollendet.
  • 9 ist ein Flussdiagramm, das den Prozess zum Generieren eines Schätzindividuums in einer Schule und die Details des in 8 gezeigten Schritts S403 zeigt. In diesem Prozessfluss wird ein neues Schätzindividuum generiert, indem Kreuzungs- und Mutationsoperationen für Schätzindividuen in der Schule, die mit ihrem eigenen Client assoziiert ist, oder für Schätzindividuen in einer anderen Schule gemäß einem genetischen Algorithmus vorgenommen werden.
  • Die Schätzinformations-Verwaltungseinheit 131C wählt zuerst Väter, deren Anzahl gleich ist wie jene der Schätzindividuen, deren Lebensdauer in Schritt S401 als abgelaufen bestimmt wird, aus den Schätzindividuen in der Schule, die mit ihrem eigenen Client assoziiert ist, oder aus den Schätzindividuen in einer anderen Schule aus (Schritt S500). Ähnlich wählt die Schätzinformations-Verwaltungseinheit 131C Mütter, deren Anzahl gleich ist wie jene der Schätzindividuen, deren Lebensdauer in Schritt S401 als abgelaufen bestimmt wird, aus den Schätzindividuen in der Schule, die mit ihrem eigenen Client assoziiert ist, oder aus den Schätzindividuen in einer anderen Schule aus. Zur Zeit dieser Auswahloperationen wird ein Schätzindividuum mit einem höheren Fitnessgrad grundsätzlich mit einer höheren Wahrscheinlichkeit ausgewählt. Als Ergebnis werden Schätzindividuen, die Väter oder Mütter werden, ungeachtet ihrer eigenen Schulen ausgewählt. Die Schätzindividuen aus ihren eigenen Schulen müssen in einem gewissen Ausmaß zurückgelassen werden, um den Fitnessgrad für ihre eigenen Umgebungen biologisch zu verbessern.
  • Als Nächstes wird die Kreuzungsoperation zwischen diesen beiden Schätzindividuen als Vater und Mutter vorgenommen (Schritt S502). In diesem Beispiel wird eine Hälfte der Schätzindividuen (das heißt die Schätzindividuen, deren Anzahl gleich ist wie jene der Schätzindividuen, deren Lebensdauer als abgelaufen bestimmt wird) von den Väter- und Mütter-Schätzindividuen (ihre Gesamtsumme ist nämlich das Doppelte der Anzahl von Schätzindividuen, deren Lebensdauer abgelaufen ist) mit der Kreuzungsoperation generiert. Dann wird die Mutationsoperation vorgenommen (Schritt S503), so dass die Schätzindividuen, deren Anzahl gleich ist wie jene der Schätzindividuen, deren Lebensdauer abgelaufen ist, zuletzt generiert werden.
  • Die generierten Schätzindividuen werden zur Schätzindividuentabelle 180 als neue Datensätze hinzugefügt (Schritt S504). In verschiedenster Weise kann überlegt werden, wie beispielsweise die oben beschriebenen Kreuzungs- und Mutationsoperationen vorzunehmen sind, wo und wie viele Kreuzungspunkte einzustellen sind, oder wo und wie viele Bits, die für die Mutationsoperation zu invertieren sind, einzustellen sind. Hier kann ein beliebiges Verfahren eingesetzt werden, um eine bevorzugte geschätzte Antwortzeit zu ermitteln. Es ist jedoch zweckmäßig, dass diese Einstellungen so zufällig wie möglich vorgenommen werden, um zu verhindern, dass die Generationsänderung gestoppt wird.
  • 10A und 10B sind Blockbilder, welche die Konfiguration von zwei Computernetzen 200 und 200A zeigen, bei denen eine Pfadauswahlvorrichtung gemäß einer zweiten bevorzugten Ausführungsform der vorliegenden Erfindung angewendet wird. Das Computernetz 200, wie in 10A gezeigt, bei dem eine Pfadauswahlvorrichtung angewendet wird, umfasst eine Dienste anbietende Servergruppe 210, eine PROXY-Servergruppe 220, eine Clientgruppe 230, eine Servergruppe 260, ein Weitverkehrsnetz 240, das viele Netz-Repeater enthält, wie das Internet, und ein LAN 250. Die Dienste anbietende Servergruppe 210 und die PROXY-Servergruppe 220 sind jeweils mit dem Netz 240 verbunden. Die Clientgruppe 230 und die Servergruppe 260 sind mit dem Netz 240 über das LAN 250 und die PROXY-Servergruppe 220 verbunden. Die Servergruppe 260 ist eine Gruppe von Servern, von denen jeder für Clients 231, 232, ... in der Clientgruppe 230 gemeinsam genutzte Ressourcen und eine Serverfähigkeit vorsieht. Die Servergruppe 260 ist von der Dienste anbietenden Servergruppe 210 verschieden, die in einem weiteren Verkehr zu verwenden ist, wie WWW-Server. Obwohl die Servergruppe 260 und die Clientgruppe 230 über das LAN 250 in 10A miteinander verbunden sind, können sie in einer willkürlichen Weise verbunden sein.
  • Auch die Clientgruppe 230A und die Servergruppe 260A können direkt mit dem Netz 240 nicht über das LAN und die PROXY-Servergruppe 220A verbunden sein, wie in 10B gezeigt.
  • Ähnlich dem in 1A und 1B gezeigten Computernetz 100 besteht die Dienste anbietende Servergruppe 210 aus Servern 211, 212, 213, ..., die mit dem Netz 240 verbunden sind. Die Dienste anbietende Servergruppe 210 ist auch als Spiegelserver vorgesehen. Der Server 211 enthält beispielsweise 2 Spiegelserver, wohingegen der Server 212 1 Spiegelserver enthält.
  • Die PROXY-Servergruppe 220 besteht aus Servern 221, 222, ..., die mit dem Netz 240 verbunden sind.
  • Die Clientgruppe 230 besteht aus Clients 231, 232, ..., von denen Benutzer Dienstanforderungen an die Dienste anbie tende Servergruppe 210 über die PROXY-Servergruppe 220 und das Netz 240 stellen, wie in 10A gezeigt. Benutzer können auch direkt Dienstanforderungen an die Dienste anbietenden Server 261, 262, ... stellen, wie in 10B gezeigt.
  • Die Clientgruppe 230 greift häufig auf die Dienste anbietende Servergruppe 210 über die PROXY-Servergruppe 220 zu, wie in 10A gezeigt. Die Clientgruppe 230A kann jedoch auf die Dienste anbietende Servergruppe 210 nicht über die PROXY-Servergruppe 220A zugreifen, wie in 10B gezeigt. In der in 10A gezeigten Konfiguration kann die Clientgruppe 230 auf die Dienste anbietende Servergruppe 210 über die Servergruppe 260 zugreifen, die durch das LAN 250 verbunden ist.
  • Jeder der Clients, beispielsweise der Client 231, enthält eine Pfadberechnungseinheit 231A und eine Antwortinformations-Verwaltungseinheit 231B. Auch der Client 232 enthält Einheiten ähnlich jenen des Clients 231, obwohl dies in
  • 10A und 10B nicht gezeigt ist. Andere Clients haben auch ähnliche Einheiten.
  • Die Pfadberechnungseinheit 231A und die Antwortinformations-Verwaltungseinheit 231B haben dieselben Fähigkeiten wie jene der Pfadberechnungseinheit 131A und der Antwortinformations-Verwaltungseinheit 131B, die in dem Client 131 in der in 1A und 1B gezeigten Pfadauswahlvorrichtung enthalten sind.
  • Die Servergruppen 260 und 260A bestehen aus Servern 261, 262, ...
  • Gemäß der zweiten bevorzugten Ausführungsform der vorliegenden Erfindung, die in 10A und 10B gezeigt ist, enthalten die Servergruppen 260 und 260A eine Schätzinformations-Verwaltungseinheit 261A und eine Pfadinformations-Verwaltungseinheit 261B. Die Schätzinformations-Verwaltungseinheit 261A und die Pfadinformations-Verwaltungseinheit 261B entsprechen im Wesentlichen der Schätzinformations-Verwaltungseinheit 131C und der Pfadinformations-Verwaltungseinheit 131D. Die in der zweiten bevorzugten Ausführungsform implementierten Fähigkeiten sind gleich wie die in der ersten bevorzugten Ausführungsform implementierten, ausgenommen die Datenaustauschoperation zwischen den jeweiligen Einheiten der Clientgruppe 230 und der Servergruppe 260, die manchmal über das LAN 250 vorgenommen werden kann.
  • Die Schätzinformations-Verwaltungseinheit 261A und die Pfadinformations-Verwaltungseinheit 261B werden jedoch von der Servergruppe 260 betrieben, so dass die Last, wenn die Clientgruppe 230 eingeführt wird, oder die Last, wenn die Netzkonfiguration geändert wird, reduziert wird, oder die Daten der Schätzindividuentabelle oder der tatsächlichen Antwortzeittabele, die in der Servergruppe 26 gespeichert werden können, intensiv und gemeinsam verwaltet werden können.
  • 11A und 11B sind Blockbilder, welche die Konfiguration eines Computernetzes 300 und 300A zeigen, bei dem eine Pfadauswahlvorrichtung gemäß einer dritten bevorzugten Ausführungsform der vorliegenden Erfindung angewendet wird.
  • In 11A sind eine Dienste anbietende Servergruppe 310 und eine PROXY-Servergruppe 320 über ein Netz 340 miteinander verbunden. Die PROXY-Servergruppe 320 ist mit einem LAN 350 verbunden. Zusätzlich sind sowohl die Clientgruppe 330 als auch die Servergruppe 360 mit dem LAN 350 verbunden. Auch die Clientgruppe 330A und die Servergruppe 360A können direkt mit dem Netz 340 nicht über das LAN 350 und die PROXY-Servergruppe 320A verbunden sein, wie in 11B gezeigt.
  • Die Dienste anbietende Servergruppe 310 besteht aus Dienste anbietenden Servern 311, 312, 313, ..., wohingegen die PROXY-Servergruppe 320 aus PROXY-Servern 321, 322, ... besteht. Diese Servergruppen 310 und 320 haben Konfigurationen ähnlich jenen der Servergruppen 110 und 120 in der oben beschriebenen ersten bevorzugten Ausführungsform. Die Clientgruppe 330 besteht aus Clients 331, 332, ..., die eine Konfiguration ähnlich jener der Clientgruppe 230 in der zweiten bevorzugten Ausführungsform haben.
  • Die Clients 331, 332, ... enthalten eine Pfadberechnungseinheit 331A und eine Antwortinformations-Verwaltungseinheit 331B ähnlich den Clients 231, 232, ... in der zweiten bevorzugten Ausführungsform. Die Pfadberechnungseinheit 331A und die Antwortinformations-Verwaltungseinheit 331B haben dieselben Fähigkeiten wie jene der Pfadberechnungseinheit 131A und der Antwortinformations-Verwaltungseinheit 131B in der ersten bevorzugten Ausführungsform.
  • Die Servergruppe 360 besteht aus Servern 361, 362, 363, ... Der Server 361 enthält eine Pfadinformations-Verwaltungseinheit 361B und eine Pfadinformations-Sendeeinheit 361C. Der Server 362 enthält eine Schätzinformations-Verwaltungseinheit 362C und eine Schätzinformations-Aktualisierungseinheit 362E. Die Pfadinformations-Verwaltungseinheit 361B hat nahezu dieselbe Fähigkeit wie jene der Pfadinformations-Verwaltungseinheit 131D in der ersten bevorzugten Ausführungsform. Die Pfadinformations-Sendeeinheit 3610 sendet Spiegel- und PROXY-Servernamen, die von der Pfadinformations-Verwaltungseinheit 361B vorgesehen werden, zur Pfadberechnungseinheit 331A. Die Schätzinformations-Verwaltungseinheit 362C hat eine Fähigkeit, die nahezu gleich ist wie jene der Schätzinformations-Verwaltungseinheit 162C in der ersten bevorzugten Ausführungsform. Sie liefert der Pfadberechnungseinheit 331A die neuesten geschätzten Informationen über das LAN 350, wie in 11A gezeigt (oder nicht über das LAN, wie in 11B gezeigt). Die Inhalte der geschätzten Informationen sind ähnlich jenen der geschätzten Infor mationen in der ersten bevorzugten Ausführungsform. Beim Empfang der Informationen der tatsächlichen Antwortzeit von der Antwortinformations-Verwaltungseinheit 331B über das LAN 350, wie in 11A gezeigt (oder nicht über das LAN, wie in 11B gezeigt), aktualisiert die Schätzinformations-Aktualisierungseinheit 362E die geschätzten Informationen, welche die Schätzinformations-Verwaltungseinheit 362C der Pfadberechnungseinheit 331A liefert.
  • Die Konfigurationen der Pfadauswahlvorrichtungen gemäß der ersten, zweiten und dritten Ausführungsform sind bloße Beispiele. Die Konfiguration der jeweiligen Einheiten wie der Pfadberechnungseinheit, der Antwortinformations-Verwaltungseinheit, der Schätzinformations-Verwaltungseinheit, der Pfadinformations-Verwaltungseinheit, der Schätzinformations-Aktualisierungseinheit, etc., kann mit einem willkürlichen Verbindungsverfahren auf verschiedensten Wegen implementiert werden. Für Fachleute ist es jedoch klar, dass die vorliegende Erfindung bei allen möglichen Konfigurationen angewendet werden kann, ohne vom Zweck und Umfang der vorliegenden Erfindung abzuweichen.
  • Ferner bezieht sich diese Beschreibung auf das Beispiel, bei dem der optimale Weg zwischen einem Client und einem Dienste anbietenden Server nur durch einen Client ausgewählt wird, oder durch eine Kooperation zwischen dem Client und dem Dienste anbietenden Server. Eine solche Fähigkeit kann jedoch durch einen Router oder einen IP-Schalter, etc., oder durch einen Schalter, etc., in einem WAN wie einem Paketvermittlungsnetz, etc., implementiert werden.
  • 12 ist ein Blockbild, das ein Beispiel der Hardware-Konfiguration eines Clientcomputers 1000 zeigt, der die Fähigkeiten der Clientgruppe 130 implementiert, die in dem oben beschriebenen Computernetz 100 enthalten ist. Beide der Clientgruppen 230 und 330, und die Servergruppen 260 und 360 in den Computernetzen 200 und 300 gemäß der zweiten und dritten bevorzugten Ausführungsform der vorliegenden Erfindung haben ähnliche Konfigurationen.
  • Der Clientcomputer 1000 besteht aus einer CPU 1001, einer Speichereinheit 1002, einem Speicher 1003, einer Anzeigeeinheit 1004, einer Eingabeeinheit 1005, einer Druckeinheit 1006 und einer Netzschnittstelleneinheit 1007, die alle mit einem Bus 1008 verbunden sind. Die CPU 1001 führt die jeweiligen Fähigkeiten der Einheiten 131A bis 131D aus, die in 1A und 1B gezeigt sind. Die Speichereinheit 1002 speichert ein Programm zum Implementieren der jeweiligen Fähigkeiten der Einheiten 131A bis 131D, die von der CPU 1001 ausgeführt werden, und die Daten, die für die Pfadauswahlvorrichtung gemäß der vorliegenden Erfindung erforderlich sind, wie die Schätzindividuentabelle 180, etc.
  • In den Speicher 1003 wird das Programm zum Implementieren der jeweiligen Fähigkeiten der Einheiten 131A bis 131D geladen, die von der CPU (Central Processing Unit – Zentraleinheit) 1001 ausgeführt werden. In dem Speicher 1003 werden die Daten der Schätzindividuentabelle 180, etc., in Abhängigkeit vom Bedarf entwickelt. Bei der Pfadauswahlvorrichtung gemäß der vorliegenden Erfindung muss ein Pfad mit der minimalen geschätzten Antwortzeit durch das dynamische Vergleichen der geschätzten Antwortzeit jedes Pfads ausgewählt werden. Daher ist es zweckmäßig, dass die für einen solchen dynamischen Prozess erforderlichen Daten in dem Speicher 1003 entwickelt werden, dessen Zugriffszeit kurz ist.
  • Die Anzeigeeinheit 1004 kann manchmal notwendig sein, um einen Benutzerschnittstellenbildschirm zum Vornehmen einer Eingabe anzuzeigen, wie die Spezifikation einer Netzadresse oder die anfängliche Einstellung des Systems, etc.
  • Normalerweise ist die Anzeigeeinheit 1004 eine Anzeigeanordnung wie eine CRT (Cathode Ray Tube – Kathodenstrahlröhrenanzeige), eine LCD (Liquid Crystal Display – Flüssigkristallanzeige), etc.
  • Die Eingabeeinheit 1005 ist eine Einheit, mit der ein Benutzer die oben beschriebenen Eingaben vornimmt oder eine Instruktion an den Benutzerschnittstellenbildschirm der Anzeigeeinheit 1004 erteilt. Diese Einheit wird durch eine Eingabeanordnung implementiert, die aus einer Tastatur, einer Maus, etc., besteht.
  • Die Druckeinheit 1006 ist eine Druckanordnung, wie ein Laserdrucker, etc., zum Drucken der in der Speichereinheit 1002 gespeicherten Daten, etc., gemäß der über die Eingabeeinheit 1005 erteilten Benutzerinstruktion.
  • Die Netzschnittstelleneinheit 1007 ist eine Einheit zum Verbinden des Clientcomputers 1000 (der Clientgruppe 130) mit der PROXY-Servergruppe 120 über das LAN 150. Wenn diese Verbindung über ein öffentliches Leitungsnetz oder eine Standleitung implementiert wird, sind Netzverbindungsanordnungen wie ein Modem, ein Terminal-Adapter, eine DSU, ein Router, etc., erforderlich. In diesem Fall ist die Netzschnittstelleneinheit 1007 eine Kommunikationsschnittstellenanordnung, die diese Anordnungen enthält. In der Verbindungsform gemäß der zweiten bevorzugten Ausführungsform, die in 10 gezeigt ist, ist die Netzschnittstelleneinheit 1007 als LAN-Schnittstelle implementiert, die eine Verbindung mit der Servergruppe 260 vornimmt, und enthält die Fähigkeit für eine Verbindung mit der PROXY-Servergruppe 220 über das LAN.
  • Der Bus 1008 ist eine gemeinsam genutzte Transmissionsleitung zum Senden/Empfangen von Daten, Befehlen, etc., zwischen den oben beschriebenen Einheiten 1001 bis 1007.
  • Mit der Pfadauswahlvorrichtung gemäß der vorliegenden Erfindung kann die Antwortzeit einer Kombination willkürlicher benachbarter Pfade geschätzt werden, auch wenn die Antwortdaten einiger Repeater auf einem bestimmten Pfad nicht gesammelt werden können. Das heißt, gemäß der vorliegenden Erfindung ermöglicht die Verwendung der tatsächlichen Antwortzeit (RT) pro Datenlängeneinheit, dass die Antwortzeit eines Zielpfads auf der Basis einer vorher gespeicherten tatsächlichen Antwortzeit pro Datenlängeneinheit des Zielpfads geschätzt wird, auch wenn die Informationen der Menge weitergeleiteter Daten von jedem Knoten unzureichend ist. Auch wenn die tatsächlich Antwortzeit pro Datenlängeneinheit des Pfads, der derselbe ist wie der zu schätzende Pfad, nicht gespeichert ist, wird zusätzlich eine erforderliche Anzahl vorheriger tatsächlicher Antwortzeiten pro Datenlängeneinheit eines Pfads ausgewählt, der dem zu schätzenden Pfad ähnlich ist, und ein Mittelwert tatsächlicher Antwortzeiten, nachdem sie gewichtet wurden, wird berechnet und verwendet, wodurch die Antwortzeit des Zielpfads geschätzt werden kann.
  • Zusätzlich wird, mit dem Pfadauswahlverfahren unter Verwendung der tatsächlichen Antwortzeit pro Datenlängeneinheit gemäß der vorliegenden Erfindung, die gesamte Antwortleistung des Pfads von einer Transmissionsursprungsadresse zu einer Transmissionszieladresse, die auch die Leistungen eines Netz-Repeaters, eines Clients und eines Servers enthält, evaluiert, so dass ein optimaler Pfad auf der Basis dieser Informationen ausgewählt werden kann.
  • Ferner kann, mit dem Pfadauswahlverfahren gemäß der vorliegenden Erfindung, ein Repeater benachbart einem Client dynamisch gemäß einer dynamischen Änderung seiner Repeater-Leistung ausgewählt werden.
  • Darüber hinaus kann, mit dem Pfadauswahlverfahren gemäß der vorliegenden Erfindung, eine kooperative Operation zwi schen Pfadauswahlvorrichtungen implementiert werden. Beispielsweise wird ein zu verwendender Repeater in Abhängigkeit von einem Cache-Typ bestimmt, so dass die Inhalte eines Caches gesteuert werden können, um in Repeatern nicht dupliziert zu werden.
  • Darüber hinaus kann, mit dem Pfadauswahlverfahren gemäß der vorliegenden Erfindung, auch wenn ein halber Kommunikationspfad von Transaktionsdaten ein auswählbares Netz mit mehrfachen Pfaden mit einer unterschiedlichen Bandbreite ist, eine Antwortzeit geschätzt werden.
  • Darüber hinaus können, mit dem Pfadauswahlverfahren gemäß der vorliegenden Erfindung, die folgenden Effekte unter Verwendung eines genetischen Algorithmus erzielt werden.
  • Mit der Zunahme der Anzahl von Knoten und Pfadmustern, die auszuwählen sind, erhöht sich der Berechnungsbetrag zum Schätzen eines optimalen Pfads signifikant. Die Verwendung des genetischen Algorithmus ermöglicht jedoch, dass ein optimaler Pfad mit einem relativ kleinen Berechnungsbetrag in einer kurzen Periode trotz der steigenden Komplexität eines Netzes geschätzt wird.
  • Darüber hinaus ist es mit dem genetischen Algorithmus ausreichend, eine Differenz eines Schätzindividuums (Schätzparameters) zu berechnen, die aufgrund einer Netzumgebungsänderung in Graden auftritt. Im Gegensatz zu den herkömmlichen Pfadauswahlverfahren erfordert das Pfadauswahlverfahren gemäß der vorliegenden Erfindung nicht die Vornahme einer Berechnung auf der Basis der gesamten Umgebungsdaten, jedesmal wenn ein Pfad ausgewählt wird.
  • Darüber hinaus kann die Verwendung des genetischen Algorithmus dynamisch die Konzentration des Verkehrs des Pfads, dessen Antwortzeit signifikant abgebaut wird, oder eines bestimmten Knotens auf einem Pfad verhindern. Da jeder Client völlig verschiedene Schätzindividuen (Chromosomen) hat, wird niemals dieselbe Schätzung vorgenommen. Das heißt, eine kooperative Schätzung wird vorgenommen. Beispielsweise wird es automatisch zur Situation kommen, wo ein Client A exklusiv einen Knoten C verwendet, während ein Client B exklusiv einen Knoten D verwendet.
  • Die oben beschriebenen Effekte der vorliegenden Erfindung beweisen experimentell, dass die Leistung das Doppelte der Leistungen der herkömmlichen Systeme in einer vorherbestimmten Netzumgebung betragen kann.

Claims (27)

  1. Pfadauswahlvorrichtung zum Auswählen eines Netzpfads von Daten, die von einem Transmissionsursprungsknoten (131, 231, 331) zu einem Transmissionszielknoten (111, 211, 311) gesendet werden, und eines Netzpfads von Daten, die von dem Transmissionszielknoten (111, 211, 311) zu dem Transmissionsursprungsknoten (131, 231, 331) zurückgeführt werden, in einer Umgebung (100, 200, 300), wo Knoten über ein Netz (140, 240, 340) verteilt und lokalisiert sind, mit: einer Pfadberechnungseinrichtung (131A, 231A, 331A) zum Ermitteln einer geschätzten Antwortzeit für jeden von Pfaden, die den Transmissionsursprungsknoten (131, 231, 331) und den Transmissionszielknoten (111, 211, 311) verbinden können, unter Verwendung geschätzter Informationen, und Senden einer Dienstanforderungsmeldung unter Verwendung eines Pfads mit einer minimalen geschätzten Antwortzeit, wenn der Transmissionsursprungsknoten (131, 231, 331) die Dienstanforderungsmeldung zum Transmissionszielknoten (111, 211, 311) sendet, um einen Dienst des Transmissionszielknotens (111, 211, 311) anzufordern; einer Antwortinformations-Verwaltungseinrichtung (131B, 231B, 331B) zum Speichern, als Antwortinformationen, von Informationen über eine Transmission der Dienstanforderungsmeldung, welche zumindest einen Pfad, auf dem die Transmission vorgenommen wird, und eine Anforderungsdatenlänge der Dienstanforderungsmeldung enthalten, in Entsprechung zu der Transmission der Dienstanforderungsmeldung durch die Pfadberechnungseinrichtung (131A, 231A, 331A), und ferner Speichern, als Antwortinformationen, von Informationen über einen Empfang einer Antwort, welche zumindest eine Antwortdatenlänge der Antwort und einen Wert über eine Antwortzeit enthalten, die ab der Transmission der Dienstanforderungs meldung bis zum Empfang der Antwort erforderlich ist, wenn der Transmissionsursprungsknoten (131, 231, 331) die Antwort auf die Dienstanforderungsmeldung von dem Transmissionszielknoten (111, 211, 311) empfängt; und einer Schätzinformations-Verwaltungseinrichtung (131C, 261A, 362C) zum Aktualisieren von Inhalten der geschätzten Informationen auf der Basis der Antwortinformationen in Entsprechung zu dem Empfang der Antwort durch die Antwortinformations-Verwaltungseinrichtung (131B, 231B, 331B); dadurch gekennzeichnet, dass: für jeden der Knoten, die geschätzten Informationen zumindest ein Antwortzeit-Schätzindividuum (181) enthalten, wobei das Antwortzeit-Schätzindividuum (181) eine Bitfolge enthält, die ein Chromosom und einen Fitnessgrad signifiziert, und das Chromosom zumindest einen Genblock enthält, der einem Parameter einer Antwortzeit-Schätzfunktion entspricht; wobei die Schätzinformations-Verwaltungseinrichtung (131C, 261A, 362C) eine Generationsänderungseinrichtung zur Generationsänderung des Chromosoms beim Empfang der Antwort auf die Dienstanforderungsmeldung enthält; welche Generationsänderungseinrichtung umfasst: eine Fitnessgrad-Berechnungseinrichtung zum Berechnen der geschätzten Antwort unter Verwendung des Parameters der Antwortzeit-Schätzfunktion, welcher in jedem Block eingestellt ist, der in dem Antwortzeit-Schätzindividuum (181) enthalten ist, Zuweisen eines größeren Werts für den Fitnessgrad eines Antwortzeit-Schätzindividuums (181), das eine genauere Antwortzeit schätzt, und Zuweisen eines größeren Lebensdauerwerts für das Antwortzeit-Schätzindividuum (181), wenn der Fitnessgrad höher wird; eine Antwortzeit-Schätzindividuum-Löscheinrichtung zum Bestimmen eines Antwortzeit-Schätzindividuums (181), dessen Lebensdauer abläuft, und Löschen des Antwortzeit-Schätzindividuums (181); und eine Antwortzeit-Schätzindividuum-Generiereinrichtung zum Auswählen einer Vielzahl existierender Antwortzeit-Schätzindividuen (181) mit einem höheren Fitnessgrad mit einer höheren Wahrscheinlichkeit, und Vornehmen einer genetischen Operation mit einer vorherbestimmten Wahrscheinlichkeit für ein Chromosom eines beliebigen der Vielzahl von Antwortzeit-Schätzindividuen (181), um ein neues Antwortzeit-Schätzindividuum (181) zum Ergänzen des von der Antwortzeit-Schätzindividuum-Löscheinrichtung gelöschten Antwortzeit-Schätzindividuums (181) zu generieren, und wobei: der optimale Pfad autonom durch das Entwickeln des Antwortzeit-Schätzindividuums (181) mit einer Wiederholung eines Generationsänderungsprozesses geschätzt wird, der von der Generationsänderungseinrichtung vorgenommen wird, um zu ermöglichen, dass die optimale Antwortzeit dynamisch geschätzt wird.
  2. Pfadauswahlvorrichtung nach Anspruch 1, bei welcher die Pfadberechnungseinrichtung (131A), Antwortinformations-Verwaltungseinrichtung (131B) und Schätzinformations-Verwaltungseinrichtung (131C) von dem Transmissionsursprungsknoten (131) vorgesehen werden.
  3. Pfadauswahlvorrichtung nach Anspruch 1, bei welcher die Pfadberechnungseinrichtung (131A) und die Antwortinformations-Verwaltungseinrichtung (131B) von dem Transmissionsursprungsknoten (131) vorgesehen werden, und die Schätzinformations-Verwaltungseinrichtung (261A, 362C) von einem anderen Knoten (261, 326) in der Umgebung (100, 200, 300) vorgesehen wird.
  4. Pfadauswahlvorrichtung nach Anspruch 1, 2 oder 3, bei welcher: der Wert über die Antwortzeit eine tatsächliche Antwortzeit ist, die eine Antwortzeit pro Datenlängeneinheit anzeigt, und die tatsächliche Antwortzeit durch eine folgende Gleichung erhalten wird: tatsächliche Antwortzeit = (2 × die Antwortzeit)/(die Anforderungsdatenlänge + die Antwortdatenlänge)
  5. Pfadauswahlvorrichtung nach Anspruch 1, 2, 3 oder 4, bei welcher: jede einer Vielzahl von Schulen, die die geschätzten Informationen und die Antwortinformationen enthalten, in Entsprechung zu zumindest einer Schätzinformations-Verwaltungseinrichtung (131C, 261A, 362C) gebracht wird; wobei innerhalb der Generationsänderungseinrichtung, die in der Schätzinformations-Verwaltungseinrichtung (131C, 261A, 362C) enthalten ist: die Fitnessgrad-Berechnungseinrichtung die Antwortinformationen in einer anderen Schule verwenden kann, wenn sie die geschätzte Antwortzeit berechnet; und die Antwortzeit-Schätzindividuum-Generiereinrichtung ein Antwortzeit-Schätzindividuum (181) in einer anderen Schule auswählen kann, wenn sie ein existierendes Antwortzeit-Schätzindividuum (181) auswählt, um ein neues Antwortzeit-Schätzindividuum (181) für eine entsprechende Schule zu generieren; und bei welcher ein Pfad geschätzt wird, während er sich kooperativ mit anderen Knoten verhält, zu denen die Schätzinformations-Verwaltungseinrichtung (131C, 261A, 362C) gehört, die mit einer anderen Schule in Entsprechung gebracht wurde.
  6. Pfadauswahlvorrichtung nach einem der vorhergehenden Ansprüche, bei welcher die geschätzte Antwortzeit ermittelt wird unter Verwendung von: tatsächlichen Antwortzeiten in einer Vielzahl von Stücken von Antwortinformationen, die durch den Empfang einer Vielzahl von Antworten erhalten werden; einem ersten Index, der anzeigt, wie groß die Differenz ist, die zwischen einer Zeit, zu der jede der tatsächlichen Antwortzeiten gemessen wird, und einer Zeit existiert, zu der der Fitnessgrad zugewiesen wird; und einem zweiten Index, der anzeigt, wie eine Distanz eines Pfads zwischen dem Transmissionsursprungsknoten (131, 231, 331) und dem Transmissionszielknoten (111, 211, 311), an dem jede der tatsächlichen Antwortzeiten gemessen wird, eine Berechnung der geschätzten Antwortzeit beeinflusst.
  7. Pfadauswahlvorrichtung nach Anspruch 6, bei welcher die geschätzte Antwortzeit berechnet wird auf der Basis von: den tatsächlichen Antwortzeiten in der Vielzahl von Stücken von Antwortinformationen, die durch den Empfang der Vielzahl von Antworten erhalten werden, und Zeiten, zu denen die tatsächlichen Antwortzeiten gemessen werden; einem Koeffizienten eines Neuheitsgrads der Zeit, zu der jede der tatsächlichen Antwortzeiten gemessen wird, einem Koeffizienten der Distanz des Pfads, dessen Schätzzielpfad und tatsächliche Antwortzeit gemessen werden, und einem Koeffizienten, der ein Gewicht der Distanz jedes Teils von Adresseninformationen über jeden Knoten auf jedem Pfad anzeigt, dessen Schätzzielpfad und tatsächliche Antwortzeit gemessen werden, die in den jeweiligen Genblöcken (182) in dem Antwortzeit-Schätzindividuum (181) gespeichert werden; und einer Konstante des Neuheitsgrads der Zeit, zu der jede der tatsächlichen Antwortzeiten gemessen wird, und einer Konstante der Distanz, deren Schätzzielpfad und tatsächliche Antwortzeit gemessen werden.
  8. Pfadauswahlvorrichtung nach Anspruch 7, bei welcher der Fitnessgrad erhalten wird auf der Basis von: den tatsächlichen Antwortzeiten in der Vielzahl von Stücken von Antwortinformationen, die durch den Empfang der Vielzahl von Antworten erhalten werden; einem Index, der anzeigt, wie groß die Differenz ist, die zwischen der Zeit, zu der jede der tatsächlichen Antwortzeiten gemessen wird, und der Zeit existiert, zu der der Fitnessgrad von der Fitnessgrad-Berechnungseinrichtung zugewiesen wird; und einem Absolutwert einer Differenz zwischen der geschätzten Antwortzeit, die von der Fitnessgrad-Berechnungseinrichtung berechnet wird, wenn jede der tatsächlichen Antwortzeiten gemessen wird, und jeder der tatsächlichen Antwortzeiten.
  9. Pfadauswahlvorrichtung nach Anspruch 8, bei welcher der Fitnessgrad berechnet wird auf der Basis von: der geschätzten Antwortzeit; den tatsächlichen Antwortzeiten in der Vielzahl von Stücken von Antwortinformationen, die durch den Empfang der Vielzahl von Antworten erhalten werden, und den Zeiten, zu denen die tatsächlichen Antwortzeiten gemessen werden; einem Koeffizienten des Neuheitsgrads der Zeit, zu der jede der tatsächlichen Antwortzeiten gemessen wird, die in jedem Genblock (182) in dem Antwortzeit-Schätzindividuum (181) gespeichert wird; und der Konstante des Neuheitsgrads der Zeit, zu der jede der tatsächlichen Antwortzeiten gemessen wird.
  10. Pfadauswahlvorrichtung nach Anspruch 7, bei welcher: die geschätzte Antwortzeit ermittelt wird unter Verwendung von den tatsächlichen Antwortzeiten RTi (i = 1 bis N) in der Vielzahl von Stücken von Antwortinformationen, die durch den Empfang der Vielzahl von Antworten erhalten werden, den Zeiten, zu denen die tatsächlichen Antwortzeiten gemessen werden, einem neuesten Einflusskoeffizienten (cnew), einem Distanzeinflusskoeffizienten (cdist), und vier Intersubnetz-Distanzeinflusskoeffizienten (csnet1, csnet2, csnet3 und csnet4), die in jedem Genblock (182) in dem Antwortzeit-Schätzindividuum (181) gespeichert werden, auf der Basis einer Gleichung:
    Figure 00560001
    worin RIRi = e(–C1 × cnew × TAi) (C1 ist eine positive Konstante, und TAi ist ein Wert, der erhalten wird durch das Subtrahieren einer Zeit, zu der eine "i"-te tatsächliche Antwortzeit gemessen wird, von einer Zeit, zu der die geschätzte Antwortzeit berechnet wird), und DIRi = 1/(C2 × e–C3 × cdist × DEi + 1)(worin C2 und C3 positive Konstanten sind, und
    Figure 00560002
    (worin "j" eine Nummer jedes Knotens auf einem Pfad der "i"-ten Antwortinformationen ist, und "M" eine Nummer von Knoten auf dem Pfad ist, der den Transmissionsursprungsknoten und den Transmissionszielknoten enthält. Eine IP-Adresse des "j"-ten Knotens auf dem Schätzzielpfad ist als T1j, T2j, T3j und T4j repräsentiert, und eine "j"-te IP-Adresse jedes Knotens auf dem Pfad der Antwortinformationen ist als "R1ij", "R2ij", "R3ij" und "R4ij" repräsentiert)), und Ck = e(–C4 × csnetk) (C4 ist eine positive Konstante).
  11. Pfadauswahlvorrichtung nach Anspruch 9, bei welcher: der Fitnessgrad ermittelt wird unter Verwendung der tatsächlichen Antwortzeiten RTi (i = 1 bis N) in der Vielzahl von Stücken von Antwortinformationen, die durch den Empfang der Vielzahl von Antworten erhalten werden, der Zeiten, zu denen die tatsächlichen Antwortzeiten gemessen werden, und eines neuesten Einflusskoeffizienten (cnew), der in jedem Genblock (182) in dem Antwortzeit-Schätzindividuum (181) gespeichert wird, auf der Basis einer Gleichung
    Figure 00570001
    worin RIRi = e(–C1 × cnew × TAi) (C1 ist eine positive Konstante, und TAi ist ein Wert, der erhalten wird durch das Subtrahieren einer Zeit, zu der eine "i"-te tatsächliche Antwortzeit RTi gemessen wird, von einer Zeit, zu der die tatsächliche Antwortzeit gemessen wird), und dRTi ein Absolutwert einer Differenz zwischen der Schätzantwort, wenn die "i"-te tatsächliche Antwortzeit RTi berechnet wird, und der tatsächlichen Antwortzeit RTi ist.
  12. Pfadauswahlvorrichtung nach einem der vorhergehenden Ansprüche, bei welcher: der Wert der Lebensdauer erhalten wird durch eine Gleichung Lebensdauer = ((der Fitnessgrad des Antwortzeit-Schätzindividuums (181) – ein Mindestwert des Fitnessgrads)/(1 – der Mindestwert des Fitnessgrads)) × ein Maximalwert der Lebensdauer.
  13. Pfadauswahlvorrichtung nach Anspruch 5, bei welcher: der Wert der Lebensdauer erhalten wird durch eine Gleichung Lebensdauer = ((der Fitnessgrad des Antwortzeit-Schätzindividuums (181) – ein Mindestwert des Fitnessgrads in einer Schule)/(1 – der Mindestwert des Fitnessgrads in der Schule)) × ein Maximalwert der Lebensdauer in der Schule.
  14. Pfadauswahlvorrichtung nach einem der vorhergehenden Ansprüche, ferner mit: einer Pfadinformations-Verwaltungseinrichtung (131D, 261B, 361B) zum Vorsehen zumindest eines Spiegelservernamens, der einem Namen eines repräsentativen Servers entspricht, wenn der Transmissionsursprungsknoten (131, 231, 331) die Dienstanforderungsmeldung zu dem repräsentativen Server sendet; und Vorsehen zumindest eines Namens eines PROXY-Servers (121, 221, 321), der zum Senden der Dienstanforderungsmeldung verwendet werden kann, wenn der Transmissionsursprungsknoten (131, 231, 331) die Dienstanforderungsmeldung über einen PROXY-Server sendet.
  15. Pfadauswahlverfahren zum Auswählen eines Netzpfads von Daten, die von einem Transmissionsursprungsknoten (131, 231, 331) zu einem Transmissionszielknoten (111, 211, 311) gesendet werden, und eines Netzpfads von Daten, die von dem Transmissionszielknoten (111, 211, 311) zu dem Transmissionsursprungsknoten (131, 231, 331) zurückgeführt werden, in einer Umgebung (100, 200, 300), wo Knoten über ein Netz (140, 240, 340) verteilt und lokalisiert sind, welches die Schritte umfasst: einen Pfadberechnungsschritt des Ermittelns einer geschätzten Antwortzeit für jeden Pfad, der den Transmissionsursprungsknoten (131, 231, 331) und den Transmissionszielknoten (111, 211, 311) verbinden kann, unter Verwendung geschätzter Informationen, und des Sendens einer Dienstanforderungsmeldung unter Verwendung eines Pfads mit einer minimalen geschätzten Antwortzeit, wenn der Transmissionsursprungsknoten (131, 231, 331) die Dienstanforderungsmeldung zum Transmissionszielknoten (111, 211, 311) sendet, um einen Dienst des Transmissionszielknotens (111, 211, 311) anzufordern; einen Antwortinformations-Verwaltungsschritt des Speicherns, als Antwortinformationen, von Informationen über eine Transmission der Dienstanforderungsmeldung, welche zumindest einen Pfad, auf dem die Transmission vorgenommen wird, und eine Anforderungsdatenlänge der Dienstanforderungsmeldung enthalten, in Entsprechung zu der Transmission der Dienstanforderungsmeldung durch den Pfadberechnungsschritt, und ferner des Speicherns, als Antwartinformationen, von Informationen über einen Empfang einer Antwort, welche zumindest eine Antwortdatenlänge der Antwort und einen Wert über eine Antwortzeit enthalten, die ab der Transmission der Dienstanforderungsmeldung bis zum Empfang der Antwort erforderlich ist, wenn der Transmissionsur sprungsknoten (131, 231, 331) die Antwort auf die Dienstanforderungsmeldung von dem Transmissionszielknoten (111, 211, 311) empfängt; und einen Schätzinformations-Verwaltungsschritt des Aktualisierens von Inhalten der geschätzten Informationen auf der Basis der Antwortinformationen in Entsprechung zu dem Empfang der Antwort durch den Antwortinformations-Verwaltungsschritt; dadurch gekennzeichnet, dass: für jeden der Knoten, die geschätzten Informationen zumindest ein Antwortzeit-Schätzindividuum (181) enthalten, wobei das Antwortzeit-Schätzindividuum (181) eine Bitfolge enthält, die ein Chromosom und einen Fitnessgrad signifiziert, und das Chromosom zumindest einen Genblock enthält, der einem Parameter einer Antwortzeit-Schätzfunktion entspricht; wobei der Schätzinformations-Verwaltungsschritt einen Generationsänderungsschritt der Generationsänderung des Chromosoms beim Empfang der Antwort auf die Dienstanforderungsmeldung enthält; welcher Generationsänderungsschritt umfasst einen Fitnessgrad-Berechnungsschritt des Berechnens der geschätzten Antwortzeit unter Verwendung des Parameters der Antwortzeit-Schätzfunktion, welcher in jedem Genblock eingestellt ist, der in dem Antwortzeit-Schätzindividuum (181) enthalten ist, des Zuweisens eines größeren Werts für den Fitnessgrad des Antwortzeit-Schätzindividuums (181), das eine genauere Antwortzeit schätzt, und des Zuweisens eines größeren Lebensdauerwerts für das Antwortzeit-Schätzindividuum (181), wenn der Fitnessgrad höher wird; einen Antwortzeit-Schätzindividuum-Löschschritt des Bestimmens eines Antwortzeit-Schätzindividuums (181), dessen Lebensdauer abläuft, und des Löschens des Antwortzeit-Schätzindividuums (181); und einen Antwortzeit-Schätzindividuum-Generierschritt des Auswählens einer Vielzahl existierender Antwortzeit-Schätzindividuen (181) mit einem höheren Fitnessgrad mit einer höheren Wahrscheinlichkeit, und des Vornehmens einer genetischen Operation mit einer vorherbestimmten Wahrscheinlichkeit für ein Chromosom eines beliebigen der Vielzahl von Antwortzeit-Schätzindividuen (181), um ein neues Antwortzeit-Schätzindividuum (181) zum Ergänzen des von dem Antwortzeit-Schätzindividuum-Löschschritt gelöschten Antwortzeit-Schätzindividuums (181) zu generieren, und wobei: der optimale Pfad autonom durch das Entwickeln des Antwortzeit-Schätzindividuums (181) mit einer Wiederholung eines Generationsänderungsprozesses geschätzt wird, der von dem Generationsänderungsschritt vorgenommen wird, um zu ermöglichen, dass die optimale Antwortzeit dynamisch geschätzt wird.
  16. Pfadauswahlverfahren nach Anspruch 15, bei welchem: der Wert über die Antwortzeit eine tatsächliche Antwortzeit ist, die eine Antwortzeit pro Datenlängeneinheit anzeigt, und die tatsächliche Antwortzeit durch eine Gleichung erhalten wird: tatsächliche Antwortzeit = (2 × die Antwortzeit)/(die Anforderungsdatenlänge + die Antwortdatenlänge)
  17. Pfadauswahlverfahren nach Anspruch 16, bei welchem: jede einer Vielzahl von Schulen, die die geschätzten Informationen und die Antwortinformationen enthalten, in Entsprechung zu zumindest einem Schätzinformations-Verwaltungsschritt gebracht wird; wobei innerhalb des Generationsänderungsschritts, der in dem Schätzinformations-Verwaltungsschritt enthalten ist: der Fitnessgrad-Berechnungsschritt die Antwortinformationen in einer anderen Schule verwenden kann, wenn er die geschätzte Antwortzeit berechnet; und der Antwortzeit-Schätzindividuum-Generierschritt ein Antwortzeit-Schätzindividuum (181) in einer anderen Schule auswählen kann, wenn er ein existierendes Antwortzeit-Schätzindividuum (181) auswählt, um ein neues Antwortzeit-Schätzindividuum (181) für eine entsprechende Schule zu generieren; und bei welchem: ein Pfad geschätzt wird, während er sich kooperativ mit einem System verhält, das den Schätzinformations-Verwaltungsschritt ausführt, der mit einer anderen Schule in Entsprechung gebracht wurde.
  18. Pfadauswahlverfahren nach Anspruch 15, bei welchem die geschätzte Antwortzeit ermittelt wird unter Verwendung von: tatsächlichen Antwortzeiten in einer Vielzahl von Stücken von Antwortinformationen, die durch den Empfang einer Vielzahl von Antworten erhalten werden; einem ersten Index, der anzeigt, wie groß die Differenz ist, die zwischen einer Zeit, zu der jede der tatsächlichen Antwortzeiten gemessen wird, und einer Zeit existiert, zu der der Fitnessgrad zugewiesen wird; und einem zweiten Index, der anzeigt, wie eine Distanz eines Pfads zwischen dem Transmissionsursprungsknoten (131, 231, 331) und dem Transmissionszielknoten (111, 211, 311), an dem jede der tatsächlichen Antwortzeiten gemessen wird, eine Berechnung der geschätzten Antwortzeit beeinflusst.
  19. Pfadauswahlverfahren nach Anspruch 18, bei welchem die geschätzte Antwortzeit berechnet wird auf der Basis von: den tatsächlichen Antwortzeiten in der Vielzahl von Stücken von Antwortinformationen, die durch den Empfang der Vielzahl von Antworten erhalten werden, und Zeiten, zu denen die tatsächlichen Antwortzeiten gemessen werden; einem Koeffizienten eines Neuheitsgrads der Zeit, zu der jede der tatsächlichen Antwortzeiten gemessen wird, einem Koeffizienten der Distanz des Pfads, dessen Schätzzielpfad und tatsächliche Antwortzeit gemessen werden, und einem Koeffizienten, der ein Gewicht der Distanz jedes Teils von Adresseninformationen über jeden Knoten auf jedem Pfad anzeigt, dessen Schätzzielpfad und tatsächliche Antwortzeit gemessen werden, die in den jeweiligen Genblöcken (182) in dem Antwortzeit-Schätzindividuum (181) gespeichert werden; und einer Konstante des Neuheitsgrads der Zeit, zu der jede der tatsächlichen Antwortzeiten gemessen wird, und einer Konstante der Distanz, deren Schätzzielpfad und tatsächliche Antwortzeit gemessen werden.
  20. Pfadauswahlverfahren nach Anspruch 19, bei welchem der Fitnessgrad erhalten wird auf der Basis von: den tatsächlichen Antwortzeiten in der Vielzahl von Stücken von Antwortinformationen, die durch den Empfang der Vielzahl von Antworten erhalten werden; einem Index, der anzeigt, wie groß die Differenz ist, die zwischen der Zeit, zu der jede der tatsächlichen Antwortzeiten gemessen wird, und der Zeit existiert, zu der der Fitnessgrad berechnet wird; und einem Absolutwert einer Differenz zwischen der geschätzten Antwortzeit, die berechnet wird, wenn die tatsächlichen Antwortzeiten gemessen werden, und jeder tatsächlichen Antwortzeit.
  21. Pfadauswahlverfahren nach Anspruch 20, bei welchem der Fitnessgrad berechnet wird auf der Basis von: der geschätzten Antwortzeit; den tatsächlichen Antwortzeiten in der Vielzahl von Stücken von Antwortinformationen, die durch den Empfang der Vielzahl von Antworten erhalten werden, und der Zeit, zu der jede der tatsächlichen Antwortzeiten gemessen wird; dem Koeffizienten des Neuheitsgrads der Zeit, zu der jede der tatsächlichen Antwortzeiten gemessen wird, die in jedem Genblock (182) gespeichert wird, der in dem Antwortzeit-Schätzindividuum (181) enthalten ist; und der Konstante des Neuheitsgrads der Zeit, zu der jede der tatsächlichen Antwortzeiten gemessen wird.
  22. Pfadauswahlverfahren nach Anspruch 19, bei welchem: die geschätzte Antwortzeit ermittelt wird unter Verwendung von tatsächlichen Antwortzeiten RTi (i = 1 bis N) in einer Vielzahl von Stücken von Antwortinformationen, die durch den Empfang einer Vielzahl von Antworten erhalten werden, Zeiten, zu denen die tatsächlichen Antwortzeiten gemessen werden, einem neuesten Einflusskoeffizienten (cnew), einem Distanzeinflusskoeffizienten (cdist), und vier Intersubnetz-Distanzeinflusskoeffizienten (csnetl, csnet2, csnet3 und csnet4), die in jedem Genblock (182) in dem Antwortzeit-Schätzindividuum (181) gespeichert werden, auf der Basis einer Gleichung:
    Figure 00640001
    worin RIRi = e(–C1 × cnew × TAi) (C1 ist eine positive Konstante, und TAi ist ein Wert, der erhalten wird durch das Subtrahieren einer Zeit, zu der eine "i"-te tatsächliche Antwortzeit gemessen wird, von einer Zeit, zu der die geschätzte Antwortzeit berechnet wird), und DIRi = 1/(C2 × e–C3 × cdist × DEi + 1)(worin C2 und C3 positive Konstanten sind, und
    Figure 00650001
    (worin "j" eine Nummer jedes Knotens auf einem Pfad der "i"-ten Antwortinformationen ist, und "M" eine Zahlt von Knoten auf dem Pfad ist, der den Transmissionsursprungsknoten und den Transmissionszielknoten enthält. Eine IP-Adresse des "j"-ten Knotens auf dem Schätzzielpfad ist als T1j, T2j, T3j und T4j repräsentiert, und eine "j"-te IP-Adresse jedes Knotens auf dem Pfad der Antwortinformationen ist als "R1ij", "R2ij", "R3ij" und "R4ij " repräsentiert)), und Ck = e(–C4 × csnetk) (C4 ist eine positive Konstante).
  23. Pfadauswahlverfahren nach Anspruch 21, bei welchem: der Fitnessgrad ermittelt wird unter Verwendung von tatsächlichen Antwortzeiten RTi (i = 1 bis N) in einer Vielzahl von Stücken von Antwortinformationen, die durch den Empfang einer Vielzahl von Antworten erhalten werden, Zeiten, zu denen die tatsächlichen Antwortzeiten gemessen werden, und einem neuesten Einflusskoeffizienten (cnew), der in jedem Genblock (182) in dem Antwortzeit-Schätzindividuum (181) gespeichert wird, auf der Basis einer Gleichung
    Figure 00660001
    worin RIRi = e(–C1 × cnew × TAi) (C1 ist eine positive Konstante, und TAi ist ein Wert, der erhalten wird durch das Subtrahieren einer Zeit, zu der eine "i"-te tatsächliche Antwortzeit RTi gemessen wird, von der Zeit, zu der die tatsächliche Antwortzeit gemessen wird), und dRTi ein Absolutwert einer Differenz zwischen der Schätzantwort, wenn die "i"-te tatsächliche Antwortzeit RTi berechnet wird, und der tatsächlichen Antwortzeit RTi ist.
  24. Pfadauswahlverfahren nach Anspruch 15, bei welchem: der Wert der Lebensdauer erhalten wird durch eine Gleichung Lebensdauer = ((der Fitnessgrad des Antwortzeit-Schätzindividuums (181) – ein Mindestwert des Fitnessgrads)/(1 – der Mindestwert des Fitnessgrads)) × ein Maximalwert der Lebensdauer.
  25. Pfadauswahlverfahren nach Anspruch 17, bei welchem: der Wert der Lebensdauer erhalten wird durch eine Gleichung Lebensdauer = ((der Fitnessgrad des Antwortzeit-Schätzindividuums (181) – ein Mindestwert des Fitnessgrads in einer Schule)/(1 – der Mindestwert des Fitnessgrads in der Schule)) × ein Maximalwert der Lebensdauer in der Schule.
  26. Pfadauswahlverfahren nach Anspruch 15, welches ferner umfasst: einen Pfadinformations-Verwaltungsschritt des Vorsehens zumindest eines Spiegelservernamens, der einem Namen eines repräsentativen Servers entspricht, wenn der Transmissionsursprungsknoten (131, 231, 331) die Dienstanforderungsmeldung zu dem repräsentativen Server sendet; und des Vorsehens zumindest eines Namens eines PROXY-Servers (121, 221, 321), der zum Senden der Dienstanforderungsmeldung verwendet werden kann, wenn der Transmissionsursprungsknoten (131, 231, 331) die Dienstanforderungsmeldung über einen PROXY-Server sendet.
  27. Computerlesbares Speichermedium, welches ein Programm speichert, das ein Verfahren zum Auswählen eines Pfads implementiert, auf dem eine Dienstanforderung von einem Transmissionsursprungsknoten (131, 231, 331) zu einem Transmissionszielknoten (111, 211, 311) über ein Netz (140, 240, 340) gesendet wird, in einer Umgebung (100, 200, 300), wo Knoten über das Netz (140, 240, 340) verteilt und lokalisiert sind, um einen Computer anzuweisen, die Schritte durchzuführen: Ermitteln einer geschätzten Antwortzeit für jeden Pfad, der den Transmissionsursprungsknoten (131, 231, 331) und den Transmissionszielknoten (111, 211, 311) verbinden kann, unter Verwendung geschätzter Informationen, und Senden der Dienstanforderungsmeldung unter Verwendung eines Pfads mit einer minimalen geschätzten Antwortzeit, wenn der Transmissionsursprungsknoten (131, 231, 331) eine Dienstanforderungsmeldung zum Transmissionszielknoten (111, 211, 311) sendet, um einen Dienst des Transmissionszielknotens (111, 211, 311) anzufordern; Speichern, als Antwortinformationen, von Informationen über eine Transmission der Dienstanforderungsmeldung, welche zumindest einen Pfad, auf dem die Transmission vorgenommen wird, und eine Anforderungsdatenlänge der Dienstanforderungsmeldung enthalten, in Entsprechung zu der Transmission der Dienstanforderungsmeldung durch den Pfadberechnungsschritt, und ferner Speichern, als Antwortinformationen, von Informationen über einen Empfang einer Antwort, welche zumindest eine Antwortdatenlänge der Antwort und einen Wert über eine Antwortzeit enthalten, die ab der Transmission der Dienstanforderungsmeldung bis zum Empfang der Antwort erforderlich ist, wenn der Transmissionsursprungsknoten (131, 231, 331) die Antwort auf die Dienstanforderungsmeldung von dem Transmissionszielknoten (111, 211, 311) empfängt; und Aktualisieren von Inhalten der geschätzten Informationen auf der Basis der Antwortinformationen in Entsprechung zu dem Empfang der Antwort; wobei, für jeden der Knoten, die geschätzten Informationen zumindest ein Antwortzeit-Schätzindividuum (181) enthalten, wobei das Antwortzeit-Schätzindividuum (181) eine Bitfolge enthält, die ein Chromosom und einen Fitnessgrad signifiziert, und das Chromosom zumindest einen Genblock enthält, der einem Parameter einer Antwortzeit-Schätzfunktion entspricht; der Schätzinformations-Verwaltungsschritt einen Generationsänderungsschritt der Generationsänderung des Chromosoms beim Empfang der Antwort auf die Dienstanforderungsmeldung umfasst; der Generationsänderungsschritt umfasst: einen Fitnessgrad-Berechnungsschritt des Berechnens der geschätzten Antwortzeit unter Verwendung des Parameters der Antwortzeit-Schätzfunktion, welcher in jedem Genblock eingestellt ist, der in dem Antwortzeit-Schätzindividuum (181) enthalten ist, des Zuweisens eines größeren Werts zu dem Fitnessgrad des Antwortzeit-Schätzindividuums (181), das eine genauere Antwortzeit schätzt, und des Zuweisens eines größeren Lebensdauerwerts für das Antwortzeit-Schätzindividuum (181), wenn der Fitnessgrad höher wird; einen Antwortzeit-Schätzindividuum-Löschschritt des Bestimmens eines Antwortzeit-Schätzindividuums (181), dessen Lebensdauer abläuft, und des Löschens des Antwortzeit-Schätzindividuums (181); und einen Antwortzeit-Schätzindividuum-Generierschritt des Auswählens einer Vielzahl existierender Antwortzeit-Schätzindividuen (181) mit einem höheren Fitnessgrad mit einer höheren Wahrscheinlichkeit, und des Vornehmens einer genetischen Operation mit einer vorherbestimmten Wahrscheinlichkeit für ein Chromosom eines beliebigen der Vielzahl von Antwortzeit-Schätzindividuen (181), um ein neues Antwortzeit-Schätzindividuum (181) zum Ergänzen des von dem Antwortzeit-Schätzindividuum-Löschschritt gelöschten Antwortzeit-Schätzindividuums (181) zu generieren, und wobei: der optimale Pfad autonom durch das Entwickeln des Antwortzeit-Schätzindividuums (181) mit einer Wiederholung eines Generationsänderungsprozesses geschätzt wird, der von dem Generationsänderungsschritt vorgenommen wird, um zu ermöglichen, dass die optimale Antwortzeit dynamisch geschätzt wird.
DE1998629830 1997-12-05 1998-10-22 Weglenkungsverfahren unter Anwendung eines genetischen Algorithmus Expired - Lifetime DE69829830T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP33554397 1997-12-05
JP33554397A JP3665460B2 (ja) 1997-12-05 1997-12-05 分散自律協調型の応答時間チューニングによる経路選択システム、方法、及び記録媒体

Publications (2)

Publication Number Publication Date
DE69829830D1 DE69829830D1 (de) 2005-05-25
DE69829830T2 true DE69829830T2 (de) 2005-11-17

Family

ID=18289763

Family Applications (1)

Application Number Title Priority Date Filing Date
DE1998629830 Expired - Lifetime DE69829830T2 (de) 1997-12-05 1998-10-22 Weglenkungsverfahren unter Anwendung eines genetischen Algorithmus

Country Status (4)

Country Link
US (1) US6542468B1 (de)
EP (1) EP0921661B1 (de)
JP (1) JP3665460B2 (de)
DE (1) DE69829830T2 (de)

Families Citing this family (167)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6016307A (en) 1996-10-31 2000-01-18 Connect One, Inc. Multi-protocol telecommunications routing optimization
US6665702B1 (en) 1998-07-15 2003-12-16 Radware Ltd. Load balancing
US6728809B1 (en) * 1999-09-09 2004-04-27 Matsushita Electric Industrial Co., Ltd. Time-out control apparatus, terminal unit, time-out control system and time-out procedure
US6639900B1 (en) * 1999-12-15 2003-10-28 International Business Machines Corporation Use of generic classifiers to determine physical topology in heterogeneous networking environments
US6725272B1 (en) * 2000-02-18 2004-04-20 Netscaler, Inc. Apparatus, method and computer program product for guaranteed content delivery incorporating putting a client on-hold based on response time
JP4145460B2 (ja) * 2000-03-06 2008-09-03 富士通株式会社 ネットワーク制御装置及び通信ネットワーク
JP3575381B2 (ja) * 2000-03-24 2004-10-13 日本電気株式会社 リンクステートルーティング用通信装置及びリンクステートルーティング用通信方法
JP4690628B2 (ja) * 2000-05-26 2011-06-01 アカマイ テクノロジーズ インコーポレイテッド エンドユーザのコンテント要求を何れのミラーサイトが受信すべきかを決定する方法
US7404005B1 (en) * 2000-06-09 2008-07-22 International Business Machines Corporation Method, system, and program for selecting one of multiple paths to communicate with a device
US6947977B1 (en) * 2000-06-09 2005-09-20 Metadigm Llc Scalable transaction system for a network environment
JP2002014927A (ja) * 2000-06-28 2002-01-18 Nomura Holding Inc 複数の関連サイトによるインターネット情報サービスシステム
US6981055B1 (en) 2000-08-22 2005-12-27 Internap Network Services Corporation Method and system for optimizing routing through multiple available internet route providers
US6766354B1 (en) * 2000-09-28 2004-07-20 Intel Corporation Speed sensitive content delivery in a client-server network
US7114003B2 (en) * 2000-10-18 2006-09-26 Nortel Networks Limited Content networks
US20020073197A1 (en) * 2000-12-11 2002-06-13 Ibm Corporation Method and apparatus for customizing performance of a browser for a given network connection
US7325030B2 (en) 2001-01-25 2008-01-29 Yahoo, Inc. High performance client-server communication system
US7003572B1 (en) * 2001-02-28 2006-02-21 Packeteer, Inc. System and method for efficiently forwarding client requests from a proxy server in a TCP/IP computing environment
US20020138596A1 (en) * 2001-03-09 2002-09-26 Matthew Darwin Method to proxy IP services
US20020143946A1 (en) * 2001-03-28 2002-10-03 Daniel Crosson Software based internet protocol address selection method and system
US7080138B1 (en) * 2001-04-11 2006-07-18 Cisco Technology, Inc. Methods and apparatus for content server selection
US7062562B1 (en) * 2001-04-11 2006-06-13 Cisco Technology, Inc. Methods and apparatus for content server selection
US20020188647A1 (en) * 2001-06-12 2002-12-12 Dovi Mark A. Method and apparatus for optimizing data transfers between processes
US8352582B2 (en) 2001-06-28 2013-01-08 Koninklijke Philips Electronics N.V. Temporal proximity to verify physical proximity
US7082124B1 (en) * 2001-07-10 2006-07-25 Cisco Technology, Inc. Method and apparatus for computing primary and alternate paths in mixed protection domain networks
US7111074B2 (en) * 2001-07-24 2006-09-19 Pluris, Inc. Control method for data path load-balancing on a data packet network
US20030079018A1 (en) * 2001-09-28 2003-04-24 Lolayekar Santosh C. Load balancing in a storage network
US7092378B1 (en) * 2001-12-10 2006-08-15 At & T Corp. System for utilizing a genetic algorithm to provide constraint-based routing of packets in a communication network
US7110995B2 (en) * 2002-02-27 2006-09-19 International Business Machines Corporation Apparatus and method for generating graphic presentation of estimated time of completion of a server request
US7103671B2 (en) * 2002-03-14 2006-09-05 Yahoo! Inc. Proxy client-server communication system
US7634569B2 (en) * 2003-04-23 2009-12-15 Microsoft Corporation Match making based on proximity measures between devices
US8078756B2 (en) * 2003-06-03 2011-12-13 Cisco Technology, Inc. Computing a path for an open ended uni-directional path protected switched ring
JP4458412B2 (ja) * 2003-12-26 2010-04-28 株式会社進化システム総合研究所 パラメータ調整装置
KR100811727B1 (ko) * 2004-01-09 2008-03-11 닛본 덴끼 가부시끼가이샤 부하분산방법, 노드 및 제어프로그램이 기록된 컴퓨터로 읽을 수 있는 매체
CA2564967C (en) 2004-04-30 2014-09-30 Commvault Systems, Inc. Hierarchical systems and methods for providing a unified view of storage information
US8266406B2 (en) 2004-04-30 2012-09-11 Commvault Systems, Inc. System and method for allocation of organizational resources
US8180883B1 (en) 2004-08-02 2012-05-15 Cisco Technology, Inc. Method and system for processing directives included in management events
US8244913B1 (en) 2004-10-13 2012-08-14 Progress Software Corporation Replication horizon determination with an independent distributed database system
US20060168113A1 (en) * 2005-01-25 2006-07-27 Taiwan Semiconductor Manufacturing Co., Ltd. File transfer management systems and methods
US9059867B2 (en) 2005-03-02 2015-06-16 Cisco Technology, Inc. Technique for selecting a path computation element based on response time delay
JP4165517B2 (ja) * 2005-03-08 2008-10-15 コニカミノルタビジネステクノロジーズ株式会社 ネットワーク印刷指示方法及びプログラム
US7721061B1 (en) * 2005-06-22 2010-05-18 Hewlett-Packard Development Company, L.P. Method of predicting response time for storage request
US20070014241A1 (en) * 2005-07-14 2007-01-18 Banerjee Dwip N Resolver caching of a shortest path to a multihomed server as determined by a router
US20070033395A1 (en) * 2005-08-02 2007-02-08 Macrovision Method and system for hierarchical license servers
US7660807B2 (en) 2005-11-28 2010-02-09 Commvault Systems, Inc. Systems and methods for cataloging metadata for a metabase
JP4648181B2 (ja) * 2005-12-16 2011-03-09 富士通株式会社 データ解析装置、データ解析方法、及びそのプログラム
US20200257596A1 (en) 2005-12-19 2020-08-13 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
US8655850B2 (en) 2005-12-19 2014-02-18 Commvault Systems, Inc. Systems and methods for resynchronizing information
US20110010518A1 (en) 2005-12-19 2011-01-13 Srinivas Kavuri Systems and Methods for Migrating Components in a Hierarchical Storage Network
US7651593B2 (en) 2005-12-19 2010-01-26 Commvault Systems, Inc. Systems and methods for performing data replication
US8572330B2 (en) 2005-12-19 2013-10-29 Commvault Systems, Inc. Systems and methods for granular resource management in a storage network
EP1974296B8 (de) 2005-12-19 2016-09-21 Commvault Systems, Inc. System und verfahren zur durchführung einer datenreplikation
US8930496B2 (en) 2005-12-19 2015-01-06 Commvault Systems, Inc. Systems and methods of unified reconstruction in storage systems
US7606844B2 (en) 2005-12-19 2009-10-20 Commvault Systems, Inc. System and method for performing replication copy storage operations
EP2001174A4 (de) * 2006-03-29 2010-04-21 Nec Corp Kommunikationsverfahren, knoten und steuerprogramm
US20070253334A1 (en) * 2006-04-26 2007-11-01 Chetan Mehta Switch routing algorithm for improved congestion control & load balancing
US9137043B2 (en) * 2006-06-27 2015-09-15 International Business Machines Corporation System, method and program for determining a network path by which to send a message
US8726242B2 (en) 2006-07-27 2014-05-13 Commvault Systems, Inc. Systems and methods for continuous data replication
US20080147878A1 (en) * 2006-12-15 2008-06-19 Rajiv Kottomtharayil System and methods for granular resource management in a storage network
US8677091B2 (en) * 2006-12-18 2014-03-18 Commvault Systems, Inc. Writing data and storage system specific metadata to network attached storage device
JP2009005256A (ja) * 2007-06-25 2009-01-08 Hitachi Ltd 通信制御システムおよび通信制御装置
US8326814B2 (en) 2007-12-05 2012-12-04 Box, Inc. Web-based file management system and service
US8667175B2 (en) * 2008-03-13 2014-03-04 Cisco Technology, Inc. Server selection for routing content to a client using application layer redirection
US8355344B1 (en) * 2008-07-23 2013-01-15 Sprint Communications Company L.P. Storage area network edge-core interswitch link optimization
US9178842B2 (en) * 2008-11-05 2015-11-03 Commvault Systems, Inc. Systems and methods for monitoring messaging applications for compliance with a policy
JP5061372B2 (ja) * 2008-11-06 2012-10-31 Necアクセステクニカ株式会社 ウェブ検索システム、ウェブ検索方法、およびウェブ検索プログラム
US8204859B2 (en) 2008-12-10 2012-06-19 Commvault Systems, Inc. Systems and methods for managing replicated database data
US9495382B2 (en) 2008-12-10 2016-11-15 Commvault Systems, Inc. Systems and methods for performing discrete data replication
US8504517B2 (en) 2010-03-29 2013-08-06 Commvault Systems, Inc. Systems and methods for selective data replication
US8725698B2 (en) 2010-03-30 2014-05-13 Commvault Systems, Inc. Stub file prioritization in a data replication system
US8504515B2 (en) 2010-03-30 2013-08-06 Commvault Systems, Inc. Stubbing systems and methods in a data replication environment
WO2011150391A1 (en) 2010-05-28 2011-12-01 Commvault Systems, Inc. Systems and methods for performing data replication
GB2500356A (en) 2011-01-20 2013-09-18 Box Inc Real time notification of activities that occur in a web-based collaboration environment
US9015601B2 (en) 2011-06-21 2015-04-21 Box, Inc. Batch uploading of content to a web-based collaboration environment
US9063912B2 (en) 2011-06-22 2015-06-23 Box, Inc. Multimedia content preview rendering in a cloud content management system
US9652741B2 (en) 2011-07-08 2017-05-16 Box, Inc. Desktop application for access and interaction with workspaces in a cloud-based content management system and synchronization mechanisms thereof
GB2503625A (en) 2011-07-08 2014-01-01 Box Inc Collaboration sessions in a workspace on cloud-based content management system
US9197718B2 (en) 2011-09-23 2015-11-24 Box, Inc. Central management and control of user-contributed content in a web-based collaboration environment and management console thereof
US9323890B2 (en) 2011-10-07 2016-04-26 Naoki Hayashi Optimal solution search method and optimal solution search device
US8515902B2 (en) 2011-10-14 2013-08-20 Box, Inc. Automatic and semi-automatic tagging features of work items in a shared workspace for metadata tracking in a cloud-based content management system with selective or optional user contribution
WO2013062599A1 (en) 2011-10-26 2013-05-02 Box, Inc. Enhanced multimedia content preview rendering in a cloud content management system
US9098474B2 (en) 2011-10-26 2015-08-04 Box, Inc. Preview pre-generation based on heuristics and algorithmic prediction/assessment of predicted user behavior for enhancement of user experience
US8990307B2 (en) 2011-11-16 2015-03-24 Box, Inc. Resource effective incremental updating of a remote client with events which occurred via a cloud-enabled platform
GB2500152A (en) 2011-11-29 2013-09-11 Box Inc Mobile platform file and folder selection functionalities for offline access and synchronization
US9019123B2 (en) 2011-12-22 2015-04-28 Box, Inc. Health check services for web-based collaboration environments
US9904435B2 (en) 2012-01-06 2018-02-27 Box, Inc. System and method for actionable event generation for task delegation and management via a discussion forum in a web-based collaboration environment
US11232481B2 (en) 2012-01-30 2022-01-25 Box, Inc. Extended applications of multimedia content previews in the cloud-based content management system
US9965745B2 (en) 2012-02-24 2018-05-08 Box, Inc. System and method for promoting enterprise adoption of a web-based collaboration environment
US9195511B2 (en) * 2012-03-05 2015-11-24 Accenture Global Services Limited Differentiated service-based graceful degradation layer
US9195636B2 (en) 2012-03-07 2015-11-24 Box, Inc. Universal file type preview for mobile devices
US9170979B2 (en) * 2012-03-23 2015-10-27 Arm Limited Converging interconnect node controlling operation related to associated future item in dependence upon data predicted based on current transaction data item passing through
JP5853819B2 (ja) 2012-03-29 2016-02-09 富士通株式会社 制御プログラム、制御方法、記憶制御装置および情報処理システム
US9054919B2 (en) 2012-04-05 2015-06-09 Box, Inc. Device pinning capability for enterprise cloud service and storage accounts
US9575981B2 (en) 2012-04-11 2017-02-21 Box, Inc. Cloud service enabled to handle a set of files depicted to a user as a single file in a native operating system
US9396216B2 (en) 2012-05-04 2016-07-19 Box, Inc. Repository redundancy implementation of a system which incrementally updates clients with events that occurred via a cloud-enabled platform
US9691051B2 (en) 2012-05-21 2017-06-27 Box, Inc. Security enhancement through application access control
US9027108B2 (en) 2012-05-23 2015-05-05 Box, Inc. Systems and methods for secure file portability between mobile applications on a mobile device
US8914900B2 (en) 2012-05-23 2014-12-16 Box, Inc. Methods, architectures and security mechanisms for a third-party application to access content in a cloud-based platform
US8892523B2 (en) 2012-06-08 2014-11-18 Commvault Systems, Inc. Auto summarization of content
US9021099B2 (en) 2012-07-03 2015-04-28 Box, Inc. Load balancing secure FTP connections among multiple FTP servers
US9712510B2 (en) 2012-07-06 2017-07-18 Box, Inc. Systems and methods for securely submitting comments among users via external messaging applications in a cloud-based platform
GB2505072A (en) 2012-07-06 2014-02-19 Box Inc Identifying users and collaborators as search results in a cloud-based system
US9792320B2 (en) 2012-07-06 2017-10-17 Box, Inc. System and method for performing shard migration to support functions of a cloud-based service
US9237170B2 (en) 2012-07-19 2016-01-12 Box, Inc. Data loss prevention (DLP) methods and architectures by a cloud service
US9794256B2 (en) 2012-07-30 2017-10-17 Box, Inc. System and method for advanced control tools for administrators in a cloud-based service
US8868574B2 (en) 2012-07-30 2014-10-21 Box, Inc. System and method for advanced search and filtering mechanisms for enterprise administrators in a cloud-based environment
US9369520B2 (en) 2012-08-19 2016-06-14 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
US8745267B2 (en) 2012-08-19 2014-06-03 Box, Inc. Enhancement of upload and/or download performance based on client and/or server feedback information
GB2507161B (en) * 2012-08-19 2014-11-12 Box Inc Enhancement of upload and/or download performance based on client and/or server feedback information
GB2513671A (en) 2012-08-27 2014-11-05 Box Inc Server side techniques for reducing database workload in implementing selective subfolder synchronization in a cloud-based environment
US9135462B2 (en) 2012-08-29 2015-09-15 Box, Inc. Upload and download streaming encryption to/from a cloud-based platform
US9195519B2 (en) 2012-09-06 2015-11-24 Box, Inc. Disabling the self-referential appearance of a mobile application in an intent via a background registration
US9311071B2 (en) 2012-09-06 2016-04-12 Box, Inc. Force upgrade of a mobile application via a server side configuration file
US9117087B2 (en) 2012-09-06 2015-08-25 Box, Inc. System and method for creating a secure channel for inter-application communication based on intents
US9292833B2 (en) 2012-09-14 2016-03-22 Box, Inc. Batching notifications of activities that occur in a web-based collaboration environment
US10200256B2 (en) 2012-09-17 2019-02-05 Box, Inc. System and method of a manipulative handle in an interactive mobile user interface
US9553758B2 (en) 2012-09-18 2017-01-24 Box, Inc. Sandboxing individual applications to specific user folders in a cloud-based service
US10915492B2 (en) 2012-09-19 2021-02-09 Box, Inc. Cloud-based platform enabled with media content indexed for text-based searches and/or metadata extraction
US9959420B2 (en) 2012-10-02 2018-05-01 Box, Inc. System and method for enhanced security and management mechanisms for enterprise administrators in a cloud-based environment
US9705967B2 (en) 2012-10-04 2017-07-11 Box, Inc. Corporate user discovery and identification of recommended collaborators in a cloud platform
US9495364B2 (en) 2012-10-04 2016-11-15 Box, Inc. Enhanced quick search features, low-barrier commenting/interactive features in a collaboration platform
US9665349B2 (en) 2012-10-05 2017-05-30 Box, Inc. System and method for generating embeddable widgets which enable access to a cloud-based collaboration platform
JP5929682B2 (ja) * 2012-10-09 2016-06-08 富士通株式会社 ネットワーク設計装置、ネットワーク設計方法、ネットワーク設計プログラム
JP5982343B2 (ja) 2012-10-17 2016-08-31 ボックス インコーポレイテッドBox, Inc. クラウドベース環境におけるリモートキー管理
US9756022B2 (en) 2014-08-29 2017-09-05 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US10235383B2 (en) 2012-12-19 2019-03-19 Box, Inc. Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment
US10379988B2 (en) 2012-12-21 2019-08-13 Commvault Systems, Inc. Systems and methods for performance monitoring
US9396245B2 (en) 2013-01-02 2016-07-19 Box, Inc. Race condition handling in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
US9953036B2 (en) 2013-01-09 2018-04-24 Box, Inc. File system monitoring in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
EP2755151A3 (de) 2013-01-11 2014-09-24 Box, Inc. Funktionalitäten, Merkmale und der Benutzeroberfläche eines Synchronisationsclient zu einer Cloud-basierten Umgebung
EP2757491A1 (de) 2013-01-17 2014-07-23 Box, Inc. Konfliktlösung, Wiederversuchbedingungsverwaltung und Handhabung von Problemdateien für den Synchronisations-Client zu einer Plattform auf Cloud-Basis
US10725968B2 (en) 2013-05-10 2020-07-28 Box, Inc. Top down delete or unsynchronization on delete of and depiction of item synchronization with a synchronization client to a cloud-based platform
US10846074B2 (en) 2013-05-10 2020-11-24 Box, Inc. Identification and handling of items to be ignored for synchronization with a cloud-based platform by a synchronization client
US9633037B2 (en) 2013-06-13 2017-04-25 Box, Inc Systems and methods for synchronization event building and/or collapsing by a synchronization component of a cloud-based platform
US9805050B2 (en) 2013-06-21 2017-10-31 Box, Inc. Maintaining and updating file system shadows on a local device by a synchronization client of a cloud-based platform
US10110656B2 (en) 2013-06-25 2018-10-23 Box, Inc. Systems and methods for providing shell communication in a cloud-based platform
US10229134B2 (en) 2013-06-25 2019-03-12 Box, Inc. Systems and methods for managing upgrades, migration of user data and improving performance of a cloud-based platform
JP2015019338A (ja) * 2013-07-12 2015-01-29 富士通株式会社 モジュール配備決定装置、モジュール配備決定システム及びモジュール配備決定方法
US9535924B2 (en) 2013-07-30 2017-01-03 Box, Inc. Scalability improvement in a system which incrementally updates clients with events that occurred in a cloud-based collaboration platform
CN103428770B (zh) * 2013-07-30 2016-03-09 北京邮电大学 异构无线网络多连接并行传输中的流量分配方法
US9474967B2 (en) * 2013-08-02 2016-10-25 Activision Publishing, Inc. Internet distance-based matchmaking
US9535909B2 (en) 2013-09-13 2017-01-03 Box, Inc. Configurable event-based automation architecture for cloud-based collaboration platforms
US8892679B1 (en) 2013-09-13 2014-11-18 Box, Inc. Mobile device, methods and user interfaces thereof in a mobile device platform featuring multifunctional access and engagement in a collaborative environment provided by a cloud-based platform
US10509527B2 (en) 2013-09-13 2019-12-17 Box, Inc. Systems and methods for configuring event-based automation in cloud-based collaboration platforms
US9213684B2 (en) 2013-09-13 2015-12-15 Box, Inc. System and method for rendering document in web browser or mobile device regardless of third-party plug-in software
GB2518298A (en) 2013-09-13 2015-03-18 Box Inc High-availability architecture for a cloud-based concurrent-access collaboration platform
US9704137B2 (en) 2013-09-13 2017-07-11 Box, Inc. Simultaneous editing/accessing of content by collaborator invitation through a web-based or mobile application to a cloud-based collaboration platform
US10866931B2 (en) 2013-10-22 2020-12-15 Box, Inc. Desktop application for accessing a cloud collaboration platform
US10530854B2 (en) 2014-05-30 2020-01-07 Box, Inc. Synchronization of permissioned content in cloud-based environments
US9602514B2 (en) 2014-06-16 2017-03-21 Box, Inc. Enterprise mobility management and verification of a managed application by a content provider
WO2016019169A1 (en) * 2014-07-30 2016-02-04 Futurewei Technologies, Inc. Method and apparatus for reducing response time in information-centric networks
US10574442B2 (en) 2014-08-29 2020-02-25 Box, Inc. Enhanced remote key management for an enterprise in a cloud-based environment
US9894119B2 (en) 2014-08-29 2018-02-13 Box, Inc. Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms
US10038731B2 (en) 2014-08-29 2018-07-31 Box, Inc. Managing flow-based interactions with cloud-based shared content
US10275320B2 (en) 2015-06-26 2019-04-30 Commvault Systems, Inc. Incrementally accumulating in-process performance data and hierarchical reporting thereof for a data stream in a secondary copy operation
US10176036B2 (en) 2015-10-29 2019-01-08 Commvault Systems, Inc. Monitoring, diagnosing, and repairing a management database in a data storage management system
US10540516B2 (en) 2016-10-13 2020-01-21 Commvault Systems, Inc. Data protection within an unsecured storage environment
US10326862B2 (en) 2016-12-09 2019-06-18 Chicago Mercantile Exchange Inc. Distributed and transactionally deterministic data processing architecture
WO2018123051A1 (ja) * 2016-12-28 2018-07-05 株式会社日立製作所 情報処理システム及び方法
US10831591B2 (en) 2018-01-11 2020-11-10 Commvault Systems, Inc. Remedial action based on maintaining process awareness in data storage management
US20190251204A1 (en) 2018-02-14 2019-08-15 Commvault Systems, Inc. Targeted search of backup data using calendar event data
US10642886B2 (en) 2018-02-14 2020-05-05 Commvault Systems, Inc. Targeted search of backup data using facial recognition
US20200192572A1 (en) 2018-12-14 2020-06-18 Commvault Systems, Inc. Disk usage growth prediction system
CN111385208B (zh) * 2018-12-29 2022-08-09 广州市百果园信息技术有限公司 路由选择方法、装置、计算机设备及存储介质
EP3716537A1 (de) * 2019-03-25 2020-09-30 Siemens Aktiengesellschaft Verfahren zur datenkommunikation, netzwerkknoten, computerprogramm und computerlesbares medium
US11042318B2 (en) 2019-07-29 2021-06-22 Commvault Systems, Inc. Block-level data replication
US11809285B2 (en) 2022-02-09 2023-11-07 Commvault Systems, Inc. Protecting a management database of a data storage management system to meet a recovery point objective (RPO)
US12056018B2 (en) 2022-06-17 2024-08-06 Commvault Systems, Inc. Systems and methods for enforcing a recovery point objective (RPO) for a production database without generating secondary copies of the production database

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4706080A (en) * 1985-08-26 1987-11-10 Bell Communications Research, Inc. Interconnection of broadcast networks
US5255345A (en) * 1988-02-17 1993-10-19 The Rowland Institute For Science, Inc. Genetic algorithm
US5504894A (en) 1992-04-30 1996-04-02 International Business Machines Corporation Workload manager for achieving transaction class response time goals in a multiprocessing system
US5359593A (en) 1993-08-26 1994-10-25 International Business Machines Corporation Dynamic bandwidth estimation and adaptation for packet communications networks
EP1202028A1 (de) * 1994-09-08 2002-05-02 Matsushita Electric Industrial Co., Ltd. Routenauswahlverfahren und -system
US6044075A (en) * 1994-12-15 2000-03-28 International Business Machines Corporation Apparatus and method for routing a communication in a network
GB2299729B (en) * 1995-04-01 1999-11-17 Northern Telecom Ltd Traffic routing in a telecommunications network
US5881051A (en) * 1995-07-10 1999-03-09 International Business Machines Management of route testing in packet communications networks
US6078652A (en) * 1995-07-21 2000-06-20 Call Manage, Ltd. Least cost routing system
DE19528563C2 (de) * 1995-08-03 1997-11-06 Siemens Ag Verfahren zur Bewertung von mindestens zwei mehrteiligen Kommunikationsverbindungen zwischen zwei Kommunikationspartnern in einem Mehrknotennetzwerk
EP1816436A3 (de) * 1997-01-29 2007-08-15 Matsushita Electric Industrial Co., Ltd. Routensuchverfahren und -Vorrichtung
GB9702458D0 (en) * 1997-02-06 1997-03-26 British Telecomm Adaptive distributed information network
JP3662097B2 (ja) * 1997-08-12 2005-06-22 Kddi株式会社 経路選択方法
GB2332809A (en) * 1997-12-24 1999-06-30 Northern Telecom Ltd Least cost routing

Also Published As

Publication number Publication date
JPH11168505A (ja) 1999-06-22
EP0921661A3 (de) 2003-09-10
EP0921661A2 (de) 1999-06-09
US6542468B1 (en) 2003-04-01
EP0921661B1 (de) 2005-04-20
DE69829830D1 (de) 2005-05-25
JP3665460B2 (ja) 2005-06-29

Similar Documents

Publication Publication Date Title
DE69829830T2 (de) Weglenkungsverfahren unter Anwendung eines genetischen Algorithmus
DE602005005471T2 (de) Peer-to-peer-netze
DE69838739T2 (de) Verfahren und Vorrichtung zum Darstellen und Verwenden von Netzwerktopologiedaten
DE69419027T4 (de) Mindestkosten-leitwegsauswahl in verteilten kommunikationsnetzen
DE69916928T2 (de) Zugriffsverfahren und Server für Netzwerkverzeichnis
DE68923489T2 (de) Verfahren zur Auswahl eines optimalen Weges zwischen Knoten in einem Datenkommunikationsnetz.
DE68918765T2 (de) Verfahren zur wirksamen Aktualisierung der Knotentopologiedatenbanken in einem Datenkommunikationsnetzwerk.
DE60129480T2 (de) Technik zur bestimmung von konnektivitätslösungen für netzwerkelemente
DE69815819T2 (de) Adaptives verteiltes informationsnetzwerk
DE69025846T2 (de) Verfahren zur Verwendung gespeicherter partieller Bäume zur Berechnung eines Weges in einem Datenkommunikationsnetz
DE69628718T2 (de) Netzwerk - Topologie-Verwaltungssystem
DE69227665T2 (de) Verfahren zum Betrieb eines Rechners in einem Netz
DE602004005785T2 (de) Dynamische Leitweglenkung in einem inhaltbasierten verteilten Netzwerk
DE69332751T2 (de) Server und Klient
DE69534334T2 (de) Stapelübertragungssystem und -verfahren für graphische Hochleistungsdarstellung von Netztopologie
DE69533535T2 (de) Verfahren zur effizienten aggregation von verbindungsmetriken
DE19882235B4 (de) Verwendung von Web-Technologie für Teilnehmerverwaltungsaktivitäten
DE3882822T2 (de) Verfahren zur Betriebsmittellokalisierung in Rechnernetzen.
DE69626181T2 (de) Verfahren zur Zulassungssteuerung und Leitweglenkung von virtuellen Verbindungen
DE69533349T2 (de) Persistenzspezifizierungssystem und Verfahren für Hochleistungssubkarten auf Anfrage
DE60317925T2 (de) Steuerung von netzwerkverkehr in einer peer-to-peer umgebung
DE60033700T2 (de) Verfahren zur Auslieferung von Information an mobile Computer Cache Server benutzend
DE69834129T2 (de) Verfahren und system zum vorausladen von informationen
DE69331054T2 (de) Verfahren und Gerät zur automatischen Verteilung einer Netztopologie in Haupt- und Nebentopologie
DE60117818T2 (de) Verwaltung des ersetzens von daten in einem zwischenspeicher auf einem knoten aufgrund von zwischenspeichern anderer knoten

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: SEEGER SEEGER LINDNER PARTNERSCHAFT PATENTANWAELTE