DE60030508T2 - Netzwerkzustandsserver, Informationsverteilungssystem, Steuerverfahren, und Speichermedium zur Speicherung eines Steuerungsprogramms - Google Patents

Netzwerkzustandsserver, Informationsverteilungssystem, Steuerverfahren, und Speichermedium zur Speicherung eines Steuerungsprogramms Download PDF

Info

Publication number
DE60030508T2
DE60030508T2 DE60030508T DE60030508T DE60030508T2 DE 60030508 T2 DE60030508 T2 DE 60030508T2 DE 60030508 T DE60030508 T DE 60030508T DE 60030508 T DE60030508 T DE 60030508T DE 60030508 T2 DE60030508 T2 DE 60030508T2
Authority
DE
Germany
Prior art keywords
server
information distribution
site
access
information
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
DE60030508T
Other languages
English (en)
Other versions
DE60030508D1 (de
Inventor
Tsukasa Ogino
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Application granted granted Critical
Publication of DE60030508D1 publication Critical patent/DE60030508D1/de
Publication of DE60030508T2 publication Critical patent/DE60030508T2/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1021Server selection for load balancing based on client or server locations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich auf einen Netzstatus-Server zum Verteilen von Daten mit großer Kapazität auf einem Netz, ein Informationsverteilungssystem, ein Steuerungsverfahren und einen Speicherträger zum Speichern eines Steuerungsprogramms.
  • Insbesondere bezieht sich die vorliegende Erfindung auf einen Netzstatus-Server, ein Informationsverteilungssystem, ein Steuerungsverfahren und einen Speicherträger zum Speichern eines Steuerungsprogramms, wenn eine Vielzahl von verstreuten/arrangierten Informationsverteilungs-Servern (dispersed/arranged information distribution servers) gesteuert wird.
  • Relevanter Stand der Technik
  • Als eine von Informationsverteilungstechniken unter Verwendung des Internets ist im Allgemeinen das World-Wide Web (auf das im Folgenden als Web Bezug genommen ist) verwendet worden. Diese Technik umfasst: ein Betreiben einer Web-Server-Software auf einem allgemeinen Computer (einer Informationsverarbeitungseinrichtung); und ein Verteilen von Informationen wie beispielsweise in einer HTML-Sprache beschriebenen Inhalten (Zeichen, graphische Darstellungen, Tabellen und dergleichen). Der Computer als ein Client (auf den im Folgenden als den Zugriffs-Client Bezug genommen ist), der auf einen Server zugreift, kann über ein Netz mit dem Server verbunden sein, und eine freie Durchsicht (perusal) ist mit einer Universaldurchsichtssoftware (einem Browser) möglich. In den letzten Jahren ist eine für die ganze Welt zugängliche Web-Server-Site erschienen, und die Bedeutung hat weiter zugenommen. Wenn von der ganzen Welt in einer konzentrierten Art und Weise auf den Web-Server zugegriffen wird, wird demgegenüber eine große Last auf das Verbindungsnetz und den Web-Server gelegt. Zum Lösen des Problems werden derzeit mehrere Techniken als Gegenmaßnahmen vorgeschlagen. Die Techniken werden unter Bezugnahme auf 6 und 7 kurz beschrieben.
  • Zuerst wird ein System, in dem wie in 6 gezeigt ein virtueller Hostcomputer genutzt wird, als eine Technik zum Verstreuen von auf den Web-Server konzentrierten Zugriffen vorgeschlagen. Dies zielt auf ein Verstreuen der vorstehend beschriebenen Last auf eine Vielzahl von Servern ab. Bei diesem Beispiel wird es angenommen, dass der Zugriffs-Client auf eine URL (Zugriffsadresse) von www.abcde.jp zugreift. Bei dem Zugriff auf www.abcde.jp wird zuerst auf den virtuellen Hostcomputer zugegriffen. Der virtuelle Hostcomputer beabsichtigt, die Zugriffe anhand der Lastsituation der jeweiligen untergeordneten Web-Server passend zu verstreuen. Tatsächlich verteilt jeder von www1, www2, www3 als Antwort auf den Zugriff von dem Client vorbestimmte Informationen, aber nur der virtuelle Hostcomputer nimmt den Zugriff zum passenden Verstreuen des Zugriffs an. Überdies wird ein Transfersystem durch einen TCP-Verbindungs-Sprung bzw. TCP-Verbindungs-Hop (TCP connection hop) vorgeschlagen. Das System wird unter Bezugnahme auf 7 beschrieben. Wenn ein Zugriff von dem Client vorhanden ist, wird zuerst auf www1 zugegriffen. In dem www1 arbeitet ein Terminplaner bzw. Scheduler und wählt den optimalen Web-Server www3 aus und antwortet auf den Zugriff von dem Client. Im Einzelnen antwortet der www1 ständig auf eine Zugriffsanforderung, und der optimale Web-Server (www1, www2, www3) antwortet. In diesem System ist die Zugriffsverstreuung in der Planungsfunktion beabsichtigt.
  • Das vorstehend beschriebene herkömmliche Zugriffsverstreuungssystem weist jedoch die folgenden Probleme auf.
    • 1) Wenn der in 6 gezeigte virtuelle Hostcomputer genutzt wird, tritt ein Problem dahingehend auf, dass eine als ein ausschließlicher virtueller Hostcomputer dienende Vorrichtung getrennt notwendig ist.
    • 2) Wenn der ausschließliche virtuelle Hostcomputer vorübergehend alle die Zugriffe annimmt und wenn viele Zugriffe vorhanden sind, wirft überdies die Verarbeitungsfähigkeit des virtuellen Hostcomputers ein Problem auf. Im Einzelnen gibt die Verarbeitungsfähigkeit des virtuellen Hostcomputers im Wesentlichen die Verarbeitungsfähigkeit der Web-Server-Site (der Site, in der der Web-Server arbeitet) an.
    • 3) Überdies wird in dem System des virtuellen Hostcomputers der Zugriff in der Server-Site, in der der virtuelle Hostcomputer vorhanden ist, angenommen, der Zugriff des Web-Servers in seiner eigenen Server-Site wird nivelliert, und die jeweiligen virtuellen Hostcomputer sind für die mit den verstreuten/arrangierten Web-Servern versehenen jeweiligen Web-Server-Sites notwendig. Überdies müssen vorbestimmte verschiedene URLs bei den jeweiligen virtuellen Hostcomputern eingestellt werden. Daher tritt ein Problem dahingehend auf, dass der zugreifende Client die verstreute/arrangierte Web-Server-Site selbst auswählen muss.
    • 4) Da der zugreifende Client die Web-Server-Site auswählt, tritt zudem ein Problem dahingehend auf, dass die Zugriffe auf die jeweiligen Web-Server-Sites nicht nivelliert werden können. Das Transfersystem durch den TCP-Verbindungs-Hop wie in 7 gezeigt weist jedoch anders als das System des virtuellen Hostcomputers einen Vorteil dahingehend auf, dass ein Mechanismus zum vorübergehenden Annehmen des ausschließlichen Zugriffs nicht getrennt notwendig ist.
    • 5) Die Zugriffe werden jedoch auf den Web-Server, in dem der Scheduler permanent stationiert ist, konzentriert. Falls bei dem Web-Server, in dem der Scheduler permanent stationiert ist, Schwierigkeiten hervorgerufen werden, tritt daher ein Problem dahingehend auf, dass die ganze Server-Site nicht funktionieren kann.
    • 6) Überdies kann bei diesem System der Zugriff auf die verstreute/arrangierte Web-Server-Site nicht optimal gesteuert werden. Da das System zum Zweck des Nivellierens des durch den Scheduler verwalteten Zugriffs in der Web-Server-Site (in ihrem eigenen Netz) gebildet ist, müssen vorbestimmte verschiedene URLs auf ähnliche Weise wie bei dem vorstehend beschriebenen virtuellen Site-System bei den jeweiligen Web-Server-Sites eingestellt werden. Daher ist ein Problem dahingehend vorhanden, dass der zugreifende Client die verstreute/arrangierte Web-Server-Site selbst auswählt.
    • 7) Da der zugreifende Client die Web-Server-Site auswählt, können zudem ähnlich wie bei dem vorstehend beschriebenen virtuellen Site-System die Zugriffe auf die jeweiligen Web-Server-Sites nicht nivelliert werden.
  • Es ist aus Locating Nearby Copies of Replicated Internet Servers, James D. Guyton and Michael F. Schwartz, 8282 Computer Communication Review 25 (1995) Oktober, Nr. 4, New York, US bekannt, gemäß einer Netztopologie unter einer Sammlung von Nachbildungs-Servern zu wählen. Wenn ein Client einen Mess-Server um eine Liste von Nachbildungs-Servern bittet, durchsucht der Server eine Datenbank nach Servern in der Nähe des Clients.
  • Weiterer Stand der Technik unter Art. 54 (3) und (4) EPÜ ist die EP-A-0959601, die nach dem Prioritätsdatum der vorliegenden Anmeldung veröffentlicht wurde und ein Bereitstellen einer Server-Auswahl für gespiegelte Sites beschreibt. Eine Benutzeranforderung wird an einen Optimierer-Namens-Server weitergeleitet, um eine beste Strecke (route) für den Benutzer zu bestimmen.
  • Ausgestaltungen der vorliegenden Erfindung sind in den beiliegenden Patentansprüchen definiert.
  • Andere Merkmale und Vorteile der Patenterfindung werden aus der folgenden Beschreibung in Verbindung mit den beigefügten Zeichnungen, in denen gleiche Bezugszeichen überall in den Figuren davon die gleichen oder ähnliche Teile bezeichnen, ersichtlich.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Die beigefügten Zeichnungen, die in die Patentschrift integriert sind und einen Teil von ihr bilden, veranschaulichen Ausführungsbeispiele der Erfindung und dienen zusammen mit der Beschreibung zum Erläutern der Prinzipien der Erfindung.
  • 1 zeigt eine erläuternde Ansicht eines Aufbaus gemäß einem Ausführungsbeispiel der vorliegenden Erfindung.
  • 2 zeigt eine erläuternde Ansicht einer Funktion und eines Betriebs gemäß dem Ausführungsbeispiel der vorliegenden Erfindung.
  • 3A, 3B, 3C, 3D und 3E zeigen Flussdiagramme, die die Funktion und den Betrieb gemäß dem Ausführungsbeispiel der vorliegenden Erfindung darstellen.
  • 4 zeigt eine erläuternde Ansicht, die die Funktion und den Betrieb eines NS-Servers gemäß dem Ausführungsbeispiel der vorliegenden Erfindung darstellt.
  • 5 zeigt eine erläuternde Ansicht, die die Funktion und die Rolle gemäß dem Ausführungsbeispiel der vorliegenden Erfindung darstellt.
  • 6 zeigt eine erläuternde Ansicht eines herkömmlichen Systems des virtuellen Hostcomputers.
  • 7 zeigt eine erläuternde Ansicht eines herkömmlichen Systems des TCP-Verbindungs-Hops.
  • 8 zeigt eine graphische Darstellung, die eine Näherungskurve während einer Näherung von gesammelten Informationen mit einer vorbestimmten Funktion darstellt.
  • 9 zeigt ein Blockschaltbild eines Computers, der durch einen NS-Server, einen Informationsverteilungs-Server und einen Strecken-Server der vorliegenden Erfindung realisiert werden kann.
  • 10 zeigt eine schematische Ansicht, die einen Speicherträger zum Speichern eines Programmcodes und eine Übertragungsvorrichtung zum Übertragen des Programmcodes darstellt.
  • 11 zeigt eine Bilddarstellung, die die Speicherbelegung des Speicherträgers zum Speichern eines Netzstatus-Server-Steuerungsprogramms oder eines Informationsverteilungssystemsteuerungsprogramms bei der vorliegenden Erfindung darstellt.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSBEISPIELE
  • Ein Ausführungsbeispiel der vorliegenden Erfindung wird im Folgenden unter Bezugnahme auf die Zeichnungen ausführlich beschrieben. 1 zeigt eine Aufbausystemdarstellung eines Optimaler-Server-Auswahlsystems des Ausführungsbeispiels.
  • Es ist ein Beispiel, bei dem das Internet als eine Kommunikationseinrichtung zwischen jeweiligen Sites verwendet wird, gezeigt. In 1 greift eine Endgerätseiten-Site (terminal side site) 1 auf einen Informationsverteilungs-Server (information distributing server) zu, und eine Server-Site 2 ist mit einem Zugegriffene-Informationen-Verteilungs-Server (auf den im Folgenden als den Informationsverteilungs-Server oder den Web-Server Bezug genommen ist) versehen. In diesem Fall bedeutet die Site den gleichen logischen Netzblock und gibt zum Beispiel den Adressblock von Klasse B oder C als eine Netzadressenklasse an. Selbst wenn der Block sich physisch an der gleichen Stelle befindet, kann er selbstverständlich als die Site betrachtet werden. Überdies ist bei dem vorliegenden Ausführungsbeispiel die Server-Site 2 verstreut und eingerichtet, um eine Hochgeschwindigkeitsverteilung von Informationen mit großer Kapazität durchzuführen. 1 zeigt verstreute/arrangierte Server-Sites 12. Ein Bezugszeichen 3 bezeichnet das Internet als eine Kommunikationseinrichtung zwischen den jeweiligen Sites. Bei dem vorliegenden Ausführungsbeispiel ist die Kommunikationseinrichtung zwischen den Sites das Internet, aber sie ist nicht darauf beschränkt, und es können zum Beispiel ein Paketkommunikationsnetz, ein öffentliches Netz (Telefonnetz) und dergleichen verwendet werden.
  • Ein Endgerät 4 greift auf den Informationsverteilungs-Server zu und ist eine Informationsverarbeitungseinrichtung, in der bei dem vorliegenden Ausführungsbeispiel ein für den Informationsverteilungs-Server (Web-Server) zugänglicher Standard-Browser installiert ist. Ein Endgerätseiten-Router 5 ist ein Router zum Durchführen der Pfadsteuerung des Inneren und Äußeren einer Zugriffsseiten-Site. Ein Site-Seiten-Router (site side router) 6 ist ein Router zum Durchführen der Pfadsteuerung des Inneren und Äußeren der mit dem Informationsverteilungs-Server versehenen Site.
  • In einem Informationsverteilungs-Server 7 arbeiten eine Web-Server-Software 8 als eine Standardinformationsverteilungssoftware und eine bei dem vorliegenden Ausführungsbeispiel neu vorbereitete Agentensoftware 9. Die Web-Server-Software 8 ist eine mit einer Funktion des Transferierens von in HTML-Sprache geschriebenen Informationen im Ansprechen auf eine Anforderung von außen versehene Server-Software. Überdies ist die Agentensoftware 9 eine mit verschiedenen Server-Betriebssituationen und Angaben für die Web-Server-Software 8 versehene Software. Zusätzlich ist es selbstverständlich, dass der Informationsverteilungs-Server mit der durch die Web-Server-Software 8 und die Agentensoftware 9 integriert gebildeten Software arbeiten kann.
  • Die jeweiligen Site-Seiten-Router 6 werden mit den dann, wenn die jeweiligen Sites die anderen Sites über das Internet (Netz) sehen, erhaltenen Pfadinformationen versehen. Ein Strecken-Server 10 ist mit einer Funktion des Erhaltens von Pfadinformationen (zum Beispiel BGP-Informationen, RIP-Informationen, OSPF-Informationen und dergleichen) von den jeweiligen Site-Seiten-Routern 6 versehen. Überdies weist der Strecken-Server 10 eine Funktion des Übertragens der Pfadinformationen zu einem Netzstatus-Server (auf den im Folgenden als den NS-Server Bezug genommen ist) 11 auf.
  • Der NS-Server 11 weist den Agenten 9 zum Messen von verschiedenen Betriebszuständen der mit den verstreuten/arrangierten Informationsverteilungs-Servern versehenen Site 2 und der Informationsverteilungs-Server in der Site 12 auf und erhält und speichert Messergebnisse. Überdies misst der Agent 9 die Netzzustände (zum Beispiel Überlastungsgrad, Router-Schrittanzahl, Paketverlustverhältnis, Antwortzeit und dergleichen) zwischen der Endgerätseiten-Site 1, die die Informationen angefordert hat, und den jeweiligen Informationsverteilungs-Servern 2 und 12, und der NS-Server 11 erhält und speichert die durch den Agenten 9 gemessenen Netzzustände. Zudem erhält der NS-Server 11 die Informationen von dem Strecken-Server 10, um den Netzabstand zwischen der Endgerätseiten-Site 1, die die Informationen angefordert hat, und den mit den jeweiligen Informationsverteilungs-Servern versehenen Sites 2 und 12 zu erhalten.
  • Zusätzlich befinden sich in 1 der Strecken-Server 10 und der NS-Server 11 in der Site 2, sind aber nicht auf die Site 2 beschränkt und können sich in einer beliebigen anderen Site befinden.
  • Als Nächstes wird ein Betrieb zum Steuern des Zugriffs auf den optimalen Web-Server bei dem vorliegenden Ausführungsbeispiel beschrieben. Zuerst zeigt 2 eine schematische Ansicht des Web-Server-Zugriffs. In diesem Fall ist ein Betrieb, der dann durchgeführt wird, wenn das Endgerät 4 der Site 1 auf den Web-Server zugreift, konkret gezeigt. Es ist ein Fall gezeigt, in dem das Endgerät 4 in dem autonomen System (AS bzw. autonomous system) 1 auf den mit der Zugriffsadresse (auf die im Folgenden als URL Bezug genommen ist) der Web-Site von www.abcde.jp versehenen Web-Server zugreift. Zuerst wird zum Erhalten der IP-Adresse des Ziel-Web-Servers ein nächstgelegener Domänennamen-Server (DNS) in seinem Netz (Site 1) anhand der URL erfragt, und die entsprechende IP-Adresse (adr1) wird empfangen (201). Anschließend wird durch die IP-Adresse (adr1) auf die gewünschte Web-Site (die Web-Site mit der URL von www.abcde.jp) zugegriffen (= angefordert) (202). Wenn der Web-Server A mit der IP-Adresse (adr1) den Zugriff annimmt, erfragt der Agent 9 von dem Netzstatus-Server (NS-Server), ob der Web-Server ein optimaler Server für den Client, auf den zugegriffen wird, ist oder nicht (203). Der NS-Server erkundigt sich bei dem Strecken-Server 10 über den Netzabstand zwischen den jeweiligen mit den verstreuten/arrangierten Web-Servern versehenen Sites 2, 3, 4 und der Client-Site 1, auf die zugegriffen wird (204). Da der Strecken-Server 10 die Pfadinformationen mit dem Grenzknoten-Router (border gateway router) 6 in jeder Site austauscht, kann der Abstand zwischen jeder Site und der Client-Site 1 schnell zurückgesendet werden (205). Der NS-Server 11 empfängt die Antwort von dem Strecken-Server 10, bestimmt die Site 3 als die nächste Site in dem Netz und sendet die URL des optimalen Web-Servers B zu dem Agenten 9 der Site 4 zurück (206). Alternativ kann die IP-Adresse (adr2) des optimalen Web-Servers zurückgesendet werden. Bei dem vorliegenden Ausführungsbeispiel werden die AS-Pfadinformationen des Grenzknotenprotokolls (BGP bzw. border gateway protocol) zu dieser Zeit (wenn der Client zum ersten Mal auf die Site zugreift) als ein Site-Auswahlverfahren verwendet, so dass die Informationen schnell erhalten werden können. Hierzu wird die Site 3 als die Site mit einem kurzen AS-Pfad von jedem Web-Server zu der Client-Site ausgewählt, und ein vorbestimmtes Verfahren wird zum Auswählen des Web-Servers B mit adr2 in der Site 3 als den optimalen Web-Server verwendet.
  • Außer den Pfadinformationen arbeitet der NS-Server zusätzlich zum Erhalten einer Anzahl von Routern zwischen jeder Site und dem Client (Router-Hop-Anzahl), einer Antwortzeit, von Netzinformationen wie beispielsweise einem Paketverlustverhältnis, von Netzinformationen in jeder Site (Überlastungsgrad, Anzahl von Paketen, Anzahl von Paketfehlern und dergleichen), einer Server-Lastsituation (CPU-Lastverhältnis, CPU-Leerlaufverhältnis, Anzahl von Verbindungsteilstrecken, Plattenlastverhältnis und dergleichen) und von anderen Informationen. Der NS-Server bereitet sich auf die nächste Anfrage vor und speichert die Informationen (einschließlich einer vorübergehenden Speicherung) (207).
  • Der Agent 9 in dem Web-Server A weist den Client 4 zum Zugreifen auf den Web-Server B während des nächsten Zugriffs an (208). Der mit dem Client zu verbindende Web-Server kann zum Beispiel unter Verwendung des Lagebefehls (location command) der HTML-Sprache automatisch geändert werden. Folglich wird der Client 4 von dem nächsten Zugriff an automatisch auf den optimalen Web-Server B zugreifen.
  • Als Nächstes wird ein dann, wenn der Client 4 kontinuierlich auf den Web-Server B zugreift, durchgeführter Betrieb unter Bezugnahme auf 2 auf ähnliche Weise beschrieben. Auf den Web-Server B wird durch den vorstehend beschriebenen Prozess zugegriffen (209). Wenn der Web-Server B den Zugriff annimmt, erfragt der Agent 9 von dem NS-Server 11, ob der Web-Server selbst ein optimaler Server für den Client, auf den zugegriffen wird, ist oder nicht (210). Der NS-Server 11 sammelt die Pfadinformationen und integriert verschiedene Zustandsinformationen auf ähnliche Weise wie bei dem Betrieb während des vorstehend beschriebenen ersten Zugriffs und bestimmt die optimale Server-Site und den optimalen Web-Server. Zusätzlich zu den durch den vorhergehenden Zugriff erhaltenen und gespeicherten Pfadinformationen erhält der NS-Server 11 eine Anzahl von Routern zwischen jeder Site und dem Client (Anzahl von Router-Hops), eine Antwortzeit, Netzinformationen wie beispielsweise das Paketverlustverhältnis, Netzinformationen in jeder Site (Überlastungsgrad, Anzahl von Paketen, Anzahl von Paketfehlern und dergleichen) und Server-Zustandsinformationen (CPU-Lastverhältnis, CPU-Leerlaufverhältnis, Anzahl von Verbindungsteilstrecken, Plattenlastverhältnis und dergleichen), die während des vorhergehenden Zugriffs nicht untersucht werden konnten, und der optimale Web-Server, auf den durch den Client zuzugreifen ist, wird aus den erhaltenen verschiedenen Informationen berechnet und bestimmt. Zu dieser Zeit umfasst das Auswahlverfahren ein Anwenden eines numerischen Gewichts auf jegliche Informationen gemäß dem Inhalt und ein Vergleichen des Gesamtgewichts für jede Site oder jeden Server, um den optimalen Web-Server C zu bestimmen (211). Folglich wird der Client 4 von dem nächsten Zugriff an automatisch auf den optimalen Web-Server C zugreifen (214).
  • Wenn der Client 4 danach auf den Web-Server C zugreift, wird zudem der dem vorstehend beschriebenen Betrieb des Zugreifens auf den Web-Server B ähnliche Betrieb durchgeführt (215, 216), aber der Betrieb des Zugreifens auf den NS-Server wird nach einer vorbestimmten Zeit durchgeführt. Wenn in der vorbestimmten Zeit ein neuer optimaler Web-Server durch die erhaltenen und gespeicherten verschiedenen Netzzustandsinformationen und Server-Zustandsinformationen bestimmt wird, stellt der Client 4 anschließend den Zugriff auf den neuen Web-Server um.
  • Als Nächstes wird ein Betrieb des Steuerns des Zugriffs auf den optimalen Web-Server des vorliegenden Ausführungsbeispiels unter Bezugnahme auf 3A bis 3E beschrieben. 3A zeigt ein Flussdiagramm, das einen von dann, wenn der Zugriffs-Client zum ersten Mal auf den Web-Server A zugreift, bis der Zugriff auf den ersten optimalen Web-Server B umgestellt wird durchgeführten Betrieb darstellt. 3B zeigt ein Flussdiagramm, das den Betrieb des NS-Servers darstellt. 3C zeigt ein Flussdiagramm, das einen von dann, wenn der Zugriffs-Client als Nächstes auf den Web-Server B zugreift, bis der Zugriff auf den optimalen Zugriffs-Web-Server C umgestellt wird durchgeführten Betrieb darstellt. 3D zeigt ein Flussdiagramm, das den Betrieb des NS-Servers darstellt. 3E zeigt ein Flussdiagramm, das einen von dann, wenn der Zugriffs-Client auf den Web-Server C zugreift und den optimalen Zugriffs-Web-Server weiter untersucht, bis wieder auf den Web-Server C zugegriffen wird durchgeführten Betrieb darstellt.
  • Der Betrieb wird zuerst unter Bezugnahme auf 3A, 3B beschrieben. Um die IP-Adresse des Ziel-Web-Servers aus der URL zu erhalten, wird der nächste Domänennamen-Server (der im Folgenden als DNS abgekürzt ist) in seinem Netz (Site 1) erfragt, und die entsprechende IP-Adresse (adr1) wird empfangen (S1).
  • Anschließend wird durch die IP-Adresse (adr1) auf die gewünschte Web-Site A zugegriffen (S2).
  • Wenn der Web-Server A den Zugriff annimmt, erfragt der Agent 9 bei dem NS-Server, ob der Web-Server ein optimaler Server für den Client, auf den zugegriffen wird, ist oder nicht (S3).
  • In dem NS-Server wird der Netzabstand von den verstreuten/arrangierten jeweiligen Web-Server-Sites zu der Client-Site 1, auf die zugegriffen wird, von dem Strecken-Server 10 erfragt (S4).
  • Da der Strecken-Server 10 die Pfadinformationen mit dem Site-Seiten-Router 6 in jeder Site (auf den im Folgenden als den Grenzknoten-Router Bezug genommen ist) austauscht, kann der Abstand von jeder Site zu der Client-Site 1 schnell zurückgesendet werden, und der NS-Server erhält die Pfadinformationen und den Abstand (S5).
  • Der NS-Server 11 empfängt die Antwort von dem Strecken-Server 10, legt die Site 3 als die nächste Site in dem Netz fest und bestimmt den optimalen Web-Server B in der Site 3 in einem vorbestimmten Verfahren und antwortet dem Agenten 9 der Site 4, dass der optimale Web-Server der Web-Server B ist (S6). Zusätzlich kann das vorbestimmte Verfahren zum Festlegen des optimalen Web-Servers in S6 ein Vorbestimmen des Web-Servers für jede Site, ein Bestimmen des Web-Servers in einer vorbestimmten Reihenfolge für jede Site oder ein beliebiges Bestimmen des Web-Servers in der Site umfassen. Da der NS-Server die Zustandsinformationen in der mit dem Web-Server versehenen Site (zum Beispiel die Informationen des Netzzustands in der Site wie beispielsweise den Überlastungsgrad, die Anzahl von Paketen und die Anzahl von Paketfehlern sowie die Server-Zustandsinformationen wie beispielsweise das CPU-Lastverhältnis, das CPU-Leerlaufverhältnis, die Anzahl von Verbindungsteilstrecken und die Plattenlastverhältnisse) erhält, kann der optimale Web-Server überdies unter Nutzung der Zustandsinformationen in der Site bestimmt werden.
  • Der NS-Server speichert die erhaltenen Pfadinformationen (einschließlich der vorübergehenden Speicherung), um sich auf die nächste Anfrage vorzubereiten (S7).
  • Demgegenüber antwortet der Agent 9 in dem Web-Server A dem Client 4, dass von dem nächsten Zugriff an auf den optimalen Web-Server B zugegriffen wird (S8).
  • Folglich wird der Client 4 von dem nächsten Zugriff an automatisch auf den optimalen Web-Server B zugreifen.
  • Der Betrieb wird als Nächstes unter Bezugnahme auf 3C, 3D beschrieben.
  • Auf dem Web-Server B wird durch den vorstehend beschriebenen Prozess zugegriffen (S9).
  • Wenn der Web-Server B den Zugriff annimmt, erfragt der Agent 9 bei dem NS-Server 11, ob der Web-Server ein optimaler Server für den Client, auf den zugegriffen wird, ist oder nicht (S10).
  • Der NS-Server 11 sammelt die Pfadinformationen und integriert verschiedene Zustandsinformationen auf ähnliche Weise wie bei dem Betrieb während des vorstehend beschriebenen ersten Zugriffs und bestimmt die optimale Server-Site und den optimalen Web-Server. Zusätzlich zu den durch den vorhergehenden Zugriff erhaltenen und gespeicherten Pfadinformationen erhält der NS-Server 11 eine Anzahl von Routern zwischen jeder Site und dem Client (Router-Hop-Anzahl), eine Antwortzeit, Netzinformationen wie beispielsweise das Paketverlustverhältnis, Netzinformationen in jeder Site (Überlastungsgrad, Anzahl von Paketen, Paketfehler und dergleichen) und Web-Server-Zustandsinformationen (CPU-Lastverhältnis, CPU-Leerlaufverhältnis, Anzahl von Verbindungsteilstrecken, Plattenlastverhältnis und dergleichen), die während des vorhergehenden Zugriffs nicht untersucht werden konnten, und der optimale Web-Server, auf den durch den Client zuzugreifen ist, wird aus den erhaltenen verschiedenen Informationen berechnet und bestimmt. Zu dieser Zeit umfasst das Auswahlverfahren ein Anwenden des numerischen Gewichts auf jegliche Informationen gemäß dem Inhalt und ein Vergleichen des Gesamtgewichts für jede Site oder jeden Server, um den optimalen Web-Server C zu bestimmen (S11).
  • Der NS-Server 11 setzt den Agenten 9 in dem Web-Server B von dem optimalen Web-Server C in Kenntnis (S12) und antwortet dem Client 4 ferner, dass von dem nächsten Zugriff an auf den optimalen Web-Server C zugegriffen wird (S13).
  • Folglich wird der Client 4 von dem nächsten Zugriff an automatisch auf den optimalen Web-Server C zugreifen (S14).
  • Schließlich wird der Betrieb unter Bezugnahme auf 3E beschrieben. Wenn der Client 4 danach auf den Web-Server C zugreift, wird auf ähnliche Weise wie bei dem vorstehend beschriebenen Zugriff auf den Web-Server B der optimale Web-Server bei dem NS-Server erfragt (S15), aber in diesem Fall wird es auf ähnliche Weise wie bei dem vorhergehenden Zugriff beurteilt, dass der Web-Server C der optimale Web-Server ist, und die Verarbeitung zum Ändern des Web-Servers, auf den zuzugreifen ist (S16), wird nicht durchgeführt. Wenn es in S15 geantwortet wird, dass der von dem Web-Server C verschiedene Web-Server der optimale Web-Server ist, wird jedoch selbstverständlich die Verarbeitung zum Ändern des Web-Servers, auf den zuzugreifen ist, durchgeführt.
  • Zusätzlich wird nach einer vorbestimmten Zeit der Betrieb des Zugreifens auf den NS-Server diskontinuierlich durchgeführt. Wenn in der vorbestimmten Zeit ein neuer optimaler Web-Server durch die erhaltenen und gespeicherten verschiedenen Netzzustandsinformationen und Server-Zustandsinformationen bestimmt wird, stellt der Client 4 anschließend den Zugriff auf den neuen Web-Server um.
  • Als Nächstes wird unter Bezugnahme auf 4 ein Betrieb beschrieben, bei dem der NS-Server 11 den Zustand des Netzes von dem Web-Server zu dem Client, den Zustand des Netzes in der Web-Server-Site und Informationen über den Web-Server-Zustand erhält und speichert.
  • Bei dem vorliegenden System werden die folgenden zwei Kategorien von Informationen periodisch (diskontinuierlich) gesammelt:
    • (1) Netzzustand von jeder Server-Site zu dem Client;
    • (2) Zustand in jeder Server-Site (Netzzustand, Server-Zustand).
  • 4 zeigt eine Beziehung. Der NS-Server 11 misst periodisch den Netzzustand von jeder Server-Site zu dem Client, auf den zugegriffen wird. Elemente, die zu messen sind, sind nachstehend beschrieben.
  • Jeder Server-Site-Router 6 hält die von der Server-Site gesehenen Netzpfadinformationen, und der Strecken-Server 10 sammelt die dem Router gehörenden Pfadinformationen von jedem Server-Site-Router 6. Der Strecken-Server 10 weist eine logische Verbindung derart, dass er gleichgestellt bzw. Peer-to-Peer ist, mit jedem Server-Site-Router 6, das heißt dem Grenzknoten-Router (BGR) oder einem externen Netzgrenz-Router (external network border router), auf (401). Anschließend wird das Analyseergebnis der vorbestimmten Pfadinformationen als Antwort auf die Anforderung von dem NS-Server 11 erhalten und zu dem NS-Server 11 zurückgesendet (402). Für andere Untersuchungselemente führt der NS-Server die Untersuchung autonom durch (403), aber in einigen Fällen weist der NS-Server 11 die in jeder Web-Server-Software integrierte Agentensoftware 9 zum Durchführen einer Untersuchung gemäß dem Untersuchungsinhalt an.
  • Für die Netz- und Server-Zustände in jeder Server-Site führt die in der Web-Server-Software jeder Server-Site integrierte Agentensoftware 9 die Untersuchung gemäß der Anweisung von dem NS-Server 11 periodisch durch. Die gesammelten verschiedenen Informationen werden in einer Zeitreihe in dem NS-Server gespeichert. Bei diesem Datenspeicherverfahren wird die Zeit diskontinuierlich als den verschiedenen Informationen beigefügte Informationen gespeichert. Bei dem vorliegenden Ausführungsbeispiel werden verschiedene Informationen alle 30 Minuten untersucht, erhalten und gespeichert. Überdies ist es empirisch bekannt, dass die gespeicherten Informationen sich in vorbestimmten Perioden wie beispielsweise einer Tageinheit, einer Wocheneinheit, einer Monatseinheit und einer Jahreinheit periodisch ändern. Daher werden bei dem vorliegenden System die gespeicherten Informationen mit einer vorbestimmten Funktion genähert.
  • Die Zeiteinheit für die Näherung kann eine von der Tageinheit, der Wocheneinheit, der Monatseinheit und der Jahreinheit sein, aber bei dem vorliegenden Ausführungsbeispiel werden verschiedene Informationen gemäß der Tageinheit durch eine dreidimensionale Funktion genähert, und ein Koeffizient wird gesichert. Wenn zum Beispiel der Überlappungsgrad (CSn) des Netzes in der Server-Site mit der dreidimensionalen Funktion genähert wird, wird eine Zeitachse auf t eingestellt, und die Näherung wird mit einer in 8 gezeigten Näherungskurve durchgeführt. Wenn die Näherungsgleichung als CSn = a·t^3 + b·t^2 + c·t + d (a, b, c, d sind Koeffizienten) dargestellt wird, sichert der NS-Server diesen Koeffizienten (die dreidimensionale Funktion selbst kann gesichert werden).
  • Folglich werden dann, wenn die Anforderung zum Auswählen des optimalen Servers von jedem Server empfangen wird, verschiedene Zustände unter Nutzung der dreidimensionalen Funktion augenblicklich geschätzt, und der optimale Server wird basierend auf dem geschätzten Wert ausgewählt.
  • Die Sammlung der Netzzustandsinformationen zwischen jeder Server-Site und dem Zugriffs-Client wird nicht unendlich fortgesetzt und wird während des Fortsetzens des Zugriffs auf die verstreuten/arrangierten Server und für eine vorbestimmte Periode danach fortgesetzt. Bei dem vorliegenden Ausführungsbeispiel wird die Periode auf eine Woche eingestellt. Wenn für eine Woche kein Zugriff von dem Zugriffs-Client 4 stattfindet, wird der Informationssammelbetrieb zu dem Zugriffs-Client 4 von jeder Site nicht durchgeführt.
  • Wenn für die vorbestimmte Periode (zum Beispiel drei Wochen) kein Zugriff von dem Zugriffs-Client 4 stattfindet, können überdies die in dem NS-Server gespeicherten Netzzustandsinformationen (die Näherungsgleichung und dergleichen) zwischen dem Zugriffs-Client 4 und jeder in dem NS-Server gespeicherten Server-Site verworfen werden. In diesem Fall werden keine verschwenderischen Informationen gespeichert, und die für den NS-Server notwendige Speicherkapazität kann vorteilhaft gespart werden.
  • Wenn für die vorbestimmte Periode kein Zugriff von dem Zugriffs-Client 4 stattfindet, können zudem auch die in dem NS-Server gespeicherten Pfadinformationen zwischen dem Zugriffs-Client 4 und jeder Server-Site verworfen werden.
  • Zusätzlich können die gespeicherten Informationen auch als das für einen spezifischen Bereich repräsentative Ergebnis behandelt werden. Im Einzelnen erhält und speichert der NS-Server die Pfadinformationen (den logischen Abstand) zwischen jeder Server-Site und dem Zugriffs-Client oder die Netzzustandsinformationen zwischen jeder Server-Site und dem Zugriffs-Client. Für die Pfadinformationen (den logischen Abstand) zwischen jeder Server-Site und dem Zugriffs-Client können die Pfadinformationen (der logische Abstand) zwischen jeder Server-Site und der Site, zu der der Zugriffs-Client gehört, genutzt werden. Für die Netzzustandsinformationen zwischen jeder Server-Site und dem Zugriffs-Client können die Netzzustandsinformationen zwischen jeder Server-Site und dem Zugriffs-Client genutzt werden.
  • Wenn zum Beispiel die IP-Adresse des Zugriffs-Clients 4 192.168.0.1 ist, wird der Netzzustand mit diesem Client als das Ergebnis des ganzen Klasse-C-Adressblocks verwendet. Im Einzelnen werden für den Zugriff von dem Netzblock von 192.168.0.0/24 die bereits untersuchten und erhaltenen Informationen von 192.168.0.1 verwendet. In diesem Fall kann der Speicherplatz für die zu speichernden Daten verringert werden. Bei dem vorliegenden Ausführungsbeispiel ist der Zugriffs-Client-Bereich mit dem Klasse-B-Zugriff klassifiziert (dem A.B.0.0/16 entsprechenden Netzadressblock).
  • Als Nächstes werden die durch den NS-Server 11 autonom untersuchten und erhaltenen Netz- und Informationsverteilungs-Server-Zustandsinformationen beschrieben.
    • (1) Die Netzzustandsinformationen von jeder Informationsverteilungs-Server-Site zu dem Client sind wie folgt:
    • • ASLn: Abstand zwischen den logischen Netzen über AS-Pfad (BGP-Pfadinformationen werden verwendet);
    • • RTn: Antwortzeit;
    • • RNn: Anzahl von Router-Schritten (Anzahl von Router-Hops); und
    • • PLn: Paketverlustverhältnis.
    • (2) Die Zustandsinformationen (Netz, Server) in jeder Informationsverteilungs-Server-Site sind wie folgt: als die Netzzustandsinformationen in der Site,
    • • CSn: Überlastungsgrad in der Site;
    • • PSn: Anzahl von Paketen in der Site; und
    • • ESn: Paketfehler, als die Informationsverteilungs-Server-Zustandsinformationen,
    • • CPUnm: CPU-Lastverhältnis;
    • • IDLEnm: CPU-Leerlaufwert;
    • • LINKnm: Anzahl von Verbindungsteilstrecken; und
    • • IOnm: Plattenlastverhältnis, zusätzlich n: Server-Site-Nummer, m: Server-Nummer.
  • Ein Verfahren verwendet diese Netz- und Server-Zustandsinformationen zum Bestimmen des optimalen Servers. Der NS-Server 11 speichert diese verschiedenen Zustandsinformationen und verwendet diese Informationen zum Bestimmen der optimalen Server-Site und des optimalen Servers. Bei dem vorliegenden Ausführungsbeispiel werden diese unter Verwendung der folgenden Gleichung berechnet.
  • Ein Auswahlverfahren I entspricht dem Auswahlverfahren in dem Schritt S6 in 3B, und die Site, bei der ASLn minimal ist, wird als die optimale Site festgelegt.
  • Ein Auswahlverfahren II entspricht dem Auswahlverfahren in dem Schritt S11 in 3D.
  • Ein Netzzustandswert K1n zwischen der Server-Site und dem Client, ein Netzzustandswert K2n in der Server-Site und ein Server-Zustandswert werden erhalten, und ein Optimale-Site-Beurteilungswert Kn wird für jede Server-Site erhalten wie durch die folgende Gleichung gezeigt. Die Site-Nummer (n), bei der der Wert minimal ist, wird als die optimale Site festgelegt. Anschließend wird ein Optimaler-Server-Beurteilungswert Snm unter Verwendung von K3nm erhalten. Der Optimaler-Server-Beurteilungswert wird aus dem Optimale-Site-Beurteilungswert und dem Server-Zustandswert erhalten. Daher wird unter Verwendung des Netzzustands der Client-Site und der Server-Site, des Netzzustands in der Site, des Server-Zustands und des logischen Abstands zwischen den Netzen mit Gewichtskoeffizienten A bis O der optimale Server allgemein beurteilt. Zusätzlich wird in diesem Fall der Server, bei dem Snm minimal ist, als der optimale Server festgelegt.
    Netzzustandswert: K1n = RTn·A + RNn·B + PLn·C
    In-Site-Netzzustandswert: K2n = Csn·D + PSn·E + ESn·F
    Server-Zustandswert: K3nm = CPUnm·G + IDLEnm·H + LINKnm·I + IOnm·J
    Optimale-Site-Beurteilungswert: Kn = K1n·K + K2n·L + ASLn·M
    Optimaler-Server-Beurteilungswert: Snm = Kn·N + K3nm·O
    Zusätzlich n: Nummer von Server-Sites, m: Nummer von Servern, A bis O: Gewichtskoeffizienten.
  • Überdies werden bei dem vorliegenden Ausführungsbeispiel die Antwortzeit, die Anzahl von Router-Schritten (Anzahl von Router-Hops) und das Paketverlustverhältnis als der Netzzustandswert verwendet, der Überlastungsgrad in der Site, die Anzahl von Paketen in der Site und der Paketfehler werden als der In-Site-Netzzustandswert verwendet, und das CPU-Lastverhältnis, der CPU-Leerlaufwert, die Anzahl von Verbindungsteilstrecken und das Plattenlastverhältnis werden als der Server-Zustandswert verwendet, aber mit Bezug auf den Netzzustandswert, den In-Site-Netzzustandswert und den Server-Zustandswert kann zumindest eine der genutzten Informationen bei dem vorliegenden Ausführungsbeispiel genutzt werden.
  • Überdies werden die Netzzustandsinformationen in der Site und die Zustandsinformationen des Informationsverteilungs-Servers als die Zustandsinformationen in der Server-Site genutzt, aber beide können während der Bestimmung des optimalen Servers als der Repräsentant verwendet werden.
  • Als Nächstes wird die Funktion des in dem vorliegenden System verwendeten Strecken-Servers unter Bezugnahme auf 5 beschrieben. Das derzeitige Internet/Intranet gilt als eine Umgebung, in der Router in einer maschenartigen Weise (mesh manner) verbunden sind. In dem System wird ein Routing-Protokoll verwendet, um das gewünschte Paket zu einer spezifischen Stelle zu verteilen, und das als Grenzknotenprotokoll (BGP) bezeichnete Routing-Protokoll wird in einem weit verzweigten Netz verwendet. Bei dem BGP ist jeder Router mit einer Pfadtabelle versehen, und das Paket wird basierend auf dieser Pfadtabelle zu der spezifischen Stelle verteilt.
  • In 5 sind der Strecken-Server 10, jeder Site-Router und das BGP derart logisch verbunden, dass sie Peer-to-Peer sind. In diesem Fall wird als eine Technik des Messens des Abstands zwischen jeder Site und dem Client die AS-Pfad-Anzahl genutzt. Diese AS-Pfad-Anzahl bedeutet die Anzahl von in dem BGP behandelten unabhängigen Netzen, und die Pfadinformationen bis zu der gewünschten AS-Nummer werden als die Verbindung von AS-Nummern in den Pfadinformationen abgebildet. Im Einzelnen können die Pfadinformationen zwischen der Server-Site und der Client-Site als die Verbindung von auf die unabhängigen Netze angewendeten AS-Nummern bekannt sein. Die AS-Pfad-Anzahl gibt die Frequenz, mit der die unabhängigen Netze passiert werden, an und kann aus der Verbindung der AS-Nummern bekannt sein.
  • Der Strecken-Server kann die von jeder Server-Site gesehenen Pfadinformationen durch ein Erhalten der Pfadinformationen von dem Router 6 in jeder Server-Site sammeln, und die dem Zugriffs-Client nächste Server-Site (in dem AS-Pfad) kann ausgewählt werden.
  • Bei dem vorliegenden Ausführungsbeispiel wird dieser Strecken-Server zum Erhalten des BGP-Abstands zwischen dem Zugriffs-Client und jeder Server-Site, das heißt der AS-Pfad-Anzahl, verwendet, und der Abstand wird als eine der Auswahlbedingungen zum Bestimmen der optimalen Server-Site verwendet.
  • Überdies verwendet das vorliegende Ausführungsbeispiel das Auswahlverfahren I zum Erhalten der optimalen Site aus dem logischen Abstand von der Server-Site zu dem Client und Bestimmen des Informationsverteilungs-Servers in der optimalen Site in dem vorbestimmten Verfahren daraufhin und das Auswahlverfahren II zum Bestimmen des optimalen Informationsverteilungs-Servers aus dem logischen Abstand, den Netzzustandsinformationen und den Informationsverteilungs-Server-Zustandsinformationen. Für den ersten Zugriff von dem Client wird das Auswahlverfahren I zum Bestimmen des optimalen Servers verwendet, und für den zweiten Zugriff und nachfolgende Zugriffe wird das Auswahlverfahren II zum Bestimmen des optimalen Servers verwendet, aber die vorliegende Erfindung ist nicht auf diese Reihenfolge beschränkt, und das Auswahlverfahren I kann ständig verwendet werden oder das Auswahlverfahren II kann verwendet werden.
  • Wenn der Client auf den NS-Server zugreift und die Pfadinformationen (der logische Abstand) zwischen dem Client und der Server-Site gespeichert werden, können überdies die gespeicherten Pfadinformationen zum Bestimmen des optimalen Servers genutzt werden.
  • Zudem können der NS-Server, der Informationsverteilungs-Server und der Strecken-Server der vorliegenden Erfindung durch die Informationsverarbeitungseinrichtung mit einem Aufbau wie dem Aufbau des in 9 gezeigten Computers realisiert werden. Ein Computer 901 gemäß 9 besteht aus einer CPU 902 zum Lesen eines Programms zum Durchführen einer tatsächlichen Verarbeitung, einem durch die CPU 902 während der Verarbeitung verwendeten RAM 903, einer Festplatte (auf die im Folgenden als HD Bezug genommen ist) 904 als dem Speicherträger zum Zuführen eines Programmcodes, einer Diskette (FD) 905, einer während einer Verbindung mit dem Netz verwendeten Kommunikationsschnittstelle 906 und dergleichen. Das Netzstatus-Server-Steuerungsprogramm und das Informationsverteilungssystemsteuerungsprogramm der vorliegenden Erfindung können durch den Computer mit dem Aufbau wie dem gemäß 9 durch das von außen installierte Programm durchgeführt werden. In diesem Fall ist es wie in 10 gezeigt selbstverständlich, dass das Ziel der vorliegenden Erfindung durch ein Versehen des Systems oder der Vorrichtung mit einem Aufzeichnungsträger 1002, auf dem der Softwareprogrammcode zum Realisieren der Funktion des vorstehend beschriebenen Ausführungsbeispiels aufgezeichnet ist, und ein Lesen und Ausführen des auf dem Speicherträger gespeicherten Programmcodes durch den Computer (oder die CPU oder MPU) des Systems oder der Vorrichtung erreicht wird.
  • In diesem Fall realisiert der von dem Speicherträger gelesene Programmcode selbst die erfinderische Funktion der vorliegenden Erfindung, und der Speicherträger zum Speichern des Programmcodes bildet die vorliegende Erfindung.
  • Als der Speicherträger zum Zuführen des Programmcodes können zum Beispiel Magnetplatten wie beispielsweise eine Diskette und eine Festplatte, optische Platten, optische Magnetplatten, eine CD-ROM, eine CD-R, eine DVD-ROM, eine DVD-RAM, Magnetbänder, Speicherkarten, ein ROM und dergleichen verwendet werden.
  • Überdies ist es selbstverständlich, dass die vorliegende Erfindung auf einen Fall, in dem das Programm von dem Speicherträger zum Aufzeichnen des Programmcodes der Software zum Realisieren der Funktion des vorstehend beschriebenen Ausführungsbeispiels über die Kommunikationsleitung der Personal-Computer-Kommunikation verteilt wird, und dergleichen angewendet werden kann.
  • 11 zeigt eine graphische Darstellung, die ein Beispiel für die Speicherbelegung von Speicherträgern wie beispielsweise der CD-ROM zum Zuführen des Programmcodes darstellt. Ein Bereich 1101 zum Speichern von Verzeichnisinformationen gibt die Positionen eines Bereichs 1102 zum Speichern eines Installationsprogramms und eines Bereichs 1103 zum Speichern von Steuerungsprogrammen wie beispielsweise einem Netzstatus-Server-Steuerungsprogramm und einem Informationsverteilungssystemsteuerungsprogramm an. Wenn das Netzstatus-Server-Steuerungsprogramm oder das Informationsverteilungssystemsteuerungsprogramm der vorliegenden Erfindung in dem Computer installiert wird, wird das in dem Bereich 1102 gespeicherte Installationsprogramm in das System geladen und durch die CPU ausgeführt. Anschließend liest das durch die CPU ausgeführte Installationsprogramm das Netzstatus-Server-Steuerungsprogramm oder das Informationsverteilungssystemsteuerungsprogramm aus dem Bereich 1103 zum Speichern der Steuerungsprogramme wie beispielsweise des Netzstatus-Server-Steuerungsprogramms und des Informationsverteilungssystemsteuerungsprogramms und speichert die Programme auf der Festplatte.
  • Wenn die vorliegende Erfindung auf den Speicherträger angewendet wird, speichert der Speicherträger den dem vorstehend beschriebenen Flussdiagramm entsprechenden Programmcode.
  • Überdies ist es selbstverständlich, dass wie in 10 gezeigt das Ziel der vorliegenden Erfindung durch ein Übertragen des Programmcodes der Software zum Realisieren von verschiedenen Funktionen bei dem vorstehend beschriebenen Ausführungsbeispiel von einer Übertragungsvorrichtung 1004, zum Beispiel einem HTTP-Server oder einem FTP-Server, ein Empfangen des Codes über ein Netz 1005, eine öffentliche Leitung oder Funk und ein Ausführen des Programmcodes durch den Computer (oder die CPU, MPU) des Systems oder der Vorrichtung erreicht wird.
  • Da der von der Übertragungsvorrichtung übertragene Programmcode selbst die Funktionen bei dem vorstehend beschriebenen Ausführungsbeispiel realisiert, bildet in diesem Fall die Übertragungsvorrichtung zum Übertragen des Programmcodes die vorliegende Erfindung.
  • Überdies kann die vorliegende Erfindung nicht nur auf die Realisierung der Funktion des vorstehend beschriebenen Ausführungsbeispiels durch ein Ausführen des gelesenen Programmcodes durch den Computer, sondern auch auf die Realisierung der Funktion des vorstehend beschriebenen Ausführungsbeispiels durch ein Durchführen eines Teils oder der Gesamtheit der tatsächlichen Verarbeitung durch das OS und dergleichen, das auf dem Computer arbeitet, basierend auf der Anweisung des Programmcodes angewendet werden.
  • Wie vorstehend beschrieben ist gemäß dem vorliegenden Ausführungsbeispiel eine Wirkung dahingehend vorhanden, dass die Zugriffslast zwischen den verstreuten/arrangierten Web-Server-Sites nivelliert werden kann.
  • Überdies wird der Zugriff zwischen den verstreuten/arrangierten Web-Server-Sites nivelliert, und die Zugriffslast kann selbst zwischen den Web-Servern in jeder Web-Server-Site wirkungsvoll nivelliert werden.
  • Um den optimalen Web-Server mit einer hohen Geschwindigkeit zu bestimmen, wird überdies dann, wenn der Client einen ersten Zugriff hat, die optimale Web-Server-Site unter Verwendung der Pfadinformationen (des logischen Abstands) in dem ersten Bestimmungsverfahren mit einer hohen Geschwindigkeit bestimmt. Bei dem nachfolgenden Zugriff von dem Client kann der optimale Web-Server unter Verwendung nicht nur der Pfadinformationen, sondern auch der Netzzustandsinformationen und der Zustandsinformationen in der Web-Server-Site in dem zweiten Bestimmungsverfahren zum Bestimmen des optimalen Web-Servers mit einer hohen Geschwindigkeit bestimmt werden, was eine Wirkung dahingehend hervorruft, dass der Web-Server dem Zugriffs-Client mit einer hohen Geschwindigkeit antworten kann.
  • Da die zum Erkennen des optimalen Web-Servers notwendigen Netzzustandsinformationen und Server-Zustandsinformationen automatisch erhalten und in dem NS-Server gespeichert werden oder der NS-Server die Informationen erhält und speichert und der optimale Web-Server allgemein durch die Informationen bestimmt wird, ist zusätzlich eine Wirkung dahingehend vorhanden, dass der Web-Server, auf den zugegriffen wird, den optimalen Web-Server mit einer hohen Geschwindigkeit bestimmen kann.
  • Überdies wird der Client ohne ein Hinzufügen der getrennten Vorrichtung oder ein Erfordern eines aktiven Vorgangs auf den optimalen Web-Server umgeschaltet, und alle die Web-Server in den verstreuten/arrangierten Web-Server-Sites können den Zugriff annehmen, wobei die Konzentration der Zugriffe wirkungsvoll beseitigt werden kann.
  • Ferner kann das Computerprogramm zum Ausführen des vorstehend offenbarten Verfahrens zum Beispiel durch ein Herunterladen des Codes über ein Netz wie beispielsweise das Internet in elektronischer Form erhalten werden. Somit wird gemäß einer anderen Ausgestaltung der vorliegenden Erfindung ein durch eine Verarbeitungseinrichtung realisierbare Anweisungen zum Steuern einer Verarbeitungseinrichtung zum Ausführen des Verfahrens wie vorstehend beschrieben tragendes elektrisches Signal bereitgestellt.

Claims (7)

  1. Auswahlverfahren zum Betreiben eines Netz-Servers (11) zum Auswählen eines Informationsverteilungs-Servers, mit: einem Empfangsschritt (203, 210, 215) des Empfangens einer Anfrage von einem ersten Informationsverteilungs-Server (A, B, C); einem Auswahlschritt (S6, S11) des Auswählens eines ausgewählten Informationsverteilungs-Servers aus einer Vielzahl von Informationsverteilungs-Servern (A, B, C) einschließlich des ersten Informationsverteilungs-Servers, wobei der Auswahlschritt dadurch gekennzeichnet ist, dass er in einem Fall, in dem ein Zugriff von einem Client (4) ein erster Zugriff ist, auf einem Netzabstand zwischen dem den Zugriff auf den ersten Informationsverteilungs-Server anfordernden Client und jedem Informationsverteilungs-Server der Vielzahl von Informationsverteilungs-Servern basiert und in einem Fall, in dem der Zugriff von dem Client ein zweiter und nachfolgender Zugriff ist, auf dem Netzabstand und einer Belastung jedes Informationsverteilungs-Servers der Vielzahl von Informationsverteilungs-Servern basiert; einem Informationsschritt (206, 212, 216, S12) des Informierens des ersten Informationsverteilungs-Servers über den ausgewählten Informationsverteilungs-Server.
  2. Verfahren nach Anspruch 1, wobei der Auswahlschritt ein Empfangen von Pfadinformationen von einem Server (10) mit den Pfadinformationen umfasst und wobei der Auswahlschritt in dem Fall, in dem der Zugriff der erste Zugriff ist, den Informationsverteilungs-Server gemäß den empfangenen Pfadinformationen auswählt.
  3. Verfahren nach einem der Ansprüche 1 und 2, wobei der Auswahlschritt basierend auf dem Netzabstand eine Site auswählt und den Informationsverteilungs-Server aus der ausgewählten Site auswählt.
  4. Netz-Server (11) zum Auswählen eines Informationsverteilungs-Servers, mit: einer Verbindungseinrichtung (906) zum Verbinden eines Netzes; und einer Verarbeitungseinrichtung (902) zum Verarbeiten von Informationen, wobei die Verarbeitungseinrichtung eine Einrichtung zum Empfangen einer Anfrage von einem ersten Informationsverteilungs-Server, eine Einrichtung zum Auswählen eines Informationsverteilungs-Servers aus einer Vielzahl von Informationsverteilungs-Servern einschließlich des ersten Informationsverteilungs-Servers, wobei die Einrichtung zum Auswählen dadurch gekennzeichnet ist, dass die Auswahl in einem Fall, in dem ein Zugriff von einem Client ein erster Zugriff ist, auf einem Netzabstand zwischen dem den Zugriff auf den ersten Informationsverteilungs-Server anfordernden Client und jedem Informationsverteilungs-Server der Vielzahl von Informationsverteilungs-Servern basiert und in einem Fall, in dem der Zugriff von dem Client ein zweiter und nachfolgender Zugriff ist, auf dem Netzabstand und einer Belastung jedes Informationsverteilungs-Servers der Vielzahl von Informationsverteilungs-Servern basiert, und eine Einrichtung zum Informieren des ersten Informationsverteilungs-Servers über den ausgewählten Informationsverteilungs-Server umfasst.
  5. Server nach Anspruch 4, wobei die Verarbeitungseinrichtung Pfadinformationen von einem Server (10) mit den Pfadinformationen empfängt und die Auswahleinrichtung zum Auswählen des Informationsverteilungs-Servers gemäß den empfangenen Pfadinformationen in dem Fall, in dem der Zugriff der erste Zugriff ist, betreibbar ist.
  6. Server nach einem der Ansprüche 4 und 5, wobei die Auswahleinrichtung zum Auswählen einer Site basierend auf dem Netzabstand und zum Auswählen des Informationsverteilungs-Servers aus der ausgewählten Site betreibbar ist.
  7. Durch einen Computer lesbarer Träger, der eine Codeeinrichtung umfasst, die zum Durchführen aller der Schritte eines der Ansprüche 1 bis 3 bei einem Ausführen des Programms auf einem Datenverarbeitungssystem eingerichtet ist.
DE60030508T 1999-06-24 2000-06-23 Netzwerkzustandsserver, Informationsverteilungssystem, Steuerverfahren, und Speichermedium zur Speicherung eines Steuerungsprogramms Expired - Lifetime DE60030508T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP17847499A JP2001007844A (ja) 1999-06-24 1999-06-24 ネットワークステータスサーバ及び情報配信システム、及びその制御方法、及びその制御プログラムを格納した記憶媒体
JP17847499 1999-06-24

Publications (2)

Publication Number Publication Date
DE60030508D1 DE60030508D1 (de) 2006-10-19
DE60030508T2 true DE60030508T2 (de) 2007-05-16

Family

ID=16049141

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60030508T Expired - Lifetime DE60030508T2 (de) 1999-06-24 2000-06-23 Netzwerkzustandsserver, Informationsverteilungssystem, Steuerverfahren, und Speichermedium zur Speicherung eines Steuerungsprogramms

Country Status (5)

Country Link
US (1) US7353291B1 (de)
EP (1) EP1063831B1 (de)
JP (1) JP2001007844A (de)
CN (1) CN1153430C (de)
DE (1) DE60030508T2 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7296089B2 (en) * 1999-08-27 2007-11-13 At&T Corp. Method for improving web performance by adapting servers based on client cluster characterization
US7426546B2 (en) 2001-04-18 2008-09-16 International Business Machines Corporation Method for selecting an edge server computer
US9167036B2 (en) 2002-02-14 2015-10-20 Level 3 Communications, Llc Managed object replication and delivery
KR100911805B1 (ko) * 2002-09-27 2009-08-12 주식회사 케이티 웹 사용자와 서버간 루팅 정보 갱신방법 및 기록매체
WO2004084085A1 (ja) * 2003-03-18 2004-09-30 Fujitsu Limited サイト間連携による負荷分散システム
JP4080487B2 (ja) * 2003-04-14 2008-04-23 富士通株式会社 データ中継装置、データ中継方法、データ中継プログラム、サービス選択装置、サービス選択方法、サービス選択プログラム
WO2005006671A1 (ja) 2003-07-09 2005-01-20 Fujitsu Limited ネットワークにおける特定サービスの最適ルーティング方法並びに同ネットワークに用いられるサーバ及びルーティングノード
JP2005141441A (ja) * 2003-11-06 2005-06-02 Hitachi Ltd 負荷分散システム
US7617303B2 (en) * 2004-04-27 2009-11-10 At&T Intellectual Property Ii, L.P. Systems and method for optimizing access provisioning and capacity planning in IP networks
US7634566B2 (en) * 2004-06-03 2009-12-15 Cisco Technology, Inc. Arrangement in a network for passing control of distributed data between network nodes for optimized client access based on locality
JP2006099746A (ja) * 2004-09-02 2006-04-13 Ricoh Co Ltd 動作定義情報作成方法、動作定義情報作成装置、動作定義情報作成プログラム、記録媒体及びデータ構造
US20060072482A1 (en) * 2004-10-06 2006-04-06 Nokia Corporation Service routing
US8219665B2 (en) * 2005-03-07 2012-07-10 Microsoft Corporation Method and system for discovery via tribal knowledge
US9762692B2 (en) 2008-04-04 2017-09-12 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
CN102047244B (zh) 2008-04-04 2013-02-27 第三雷沃通讯有限责任公司 在内容分发网络(cdn)中处理长尾内容
US10924573B2 (en) 2008-04-04 2021-02-16 Level 3 Communications, Llc Handling long-tail content in a content delivery network (CDN)
US11968226B1 (en) * 2017-03-16 2024-04-23 Amazon Technologies, Inc. Targeted traffic filtering
CN106899693A (zh) * 2017-03-20 2017-06-27 聚好看科技股份有限公司 分布式文件管理方法及设备
CN110912820B (zh) * 2019-10-30 2021-08-06 深圳马可孛罗科技有限公司 分布式路由方法、分布式路由装置及计算机可读存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
JPH11110324A (ja) * 1997-10-07 1999-04-23 Hitachi Ltd 代理サーバ選択装置および代理サーバ
JP3966598B2 (ja) * 1998-03-04 2007-08-29 富士通株式会社 サーバ選択システム
US6115752A (en) 1998-05-21 2000-09-05 Sun Microsystems, Inc. System and method for server selection for mirrored sites
US6327622B1 (en) * 1998-09-03 2001-12-04 Sun Microsystems, Inc. Load balancing in a network environment
US6324580B1 (en) * 1998-09-03 2001-11-27 Sun Microsystems, Inc. Load balancing for replicated services
US6963847B1 (en) * 1998-09-18 2005-11-08 I2 Technologies Us, Inc. System and method for managing ATP data in a distributed supply chain planning environment
US6578066B1 (en) * 1999-09-17 2003-06-10 Alteon Websystems Distributed load-balancing internet servers
US6205477B1 (en) * 1998-10-20 2001-03-20 Cisco Technology, Inc. Apparatus and method for performing traffic redirection in a distributed system using a portion metric
US6795434B1 (en) * 1998-11-18 2004-09-21 Intel Corporation Replicated server discovery in client-proxy servers
US6711137B1 (en) * 1999-03-12 2004-03-23 International Business Machines Corporation System and method for analyzing and tuning a communications network
US6477522B1 (en) * 1999-06-10 2002-11-05 Gateway, Inc. Dynamic performance based server selection
US20050018611A1 (en) * 1999-12-01 2005-01-27 International Business Machines Corporation System and method for monitoring performance, analyzing capacity and utilization, and planning capacity for networks and intelligent, network connected processes
US6748426B1 (en) * 2000-06-15 2004-06-08 Murex Securities, Ltd. System and method for linking information in a global computer network
US6850980B1 (en) * 2000-06-16 2005-02-01 Cisco Technology, Inc. Content routing service protocol
US7113986B2 (en) * 2000-07-14 2006-09-26 Business Signatures Corporation System and method for modeling information system capacity and accepting sessions in an information system
US6795858B1 (en) * 2000-12-29 2004-09-21 Cisco Technology, Inc. Method and apparatus for metric based server selection

Also Published As

Publication number Publication date
US7353291B1 (en) 2008-04-01
JP2001007844A (ja) 2001-01-12
EP1063831B1 (de) 2006-09-06
EP1063831A3 (de) 2004-02-11
EP1063831A2 (de) 2000-12-27
CN1280342A (zh) 2001-01-17
CN1153430C (zh) 2004-06-09
DE60030508D1 (de) 2006-10-19

Similar Documents

Publication Publication Date Title
DE60030508T2 (de) Netzwerkzustandsserver, Informationsverteilungssystem, Steuerverfahren, und Speichermedium zur Speicherung eines Steuerungsprogramms
DE69909839T3 (de) Optimierte Lokalisierung von Netzwerkbetriebsmittel
DE69628769T2 (de) System und Verfahren um die Belastung von Datei-Server zu verteilen
DE69602461T2 (de) Verfahren und server-rechner zum lastausgleich zwischen den prozessoren des server-rechners
DE69730906T2 (de) Namendienst für ein redundantes Internetservernetz
DE69725261T2 (de) System zur Übermittlung des Netzwerkverkehrs in einem Kommunikationsnetzwerk
DE69928860T2 (de) System und Verfahren zur Auswahl von Servern für gespiegelte Sites
DE69834807T2 (de) System und verfahren zum auswählen und laden verschiedener typen von videodaten in einem computernetzwerk
DE69909986T2 (de) Verfahren zur bereitstellung einer dienstleistung durch einen server mit einer einzigen virtuellen netzwerkadresse
DE69730056T2 (de) Routen von duplikaten
DE69933312T2 (de) Auswahlsteuerung eines gateway-unterstützungsknotens
DE19842673B4 (de) Verfahren und Vorrichtung zur Vermittlung bei der Datenkommunikation
DE69816183T2 (de) Dynamische Cache-Speicher-Vervielfältigung durch Erzeugung eines umgekehrten Baums in einem Netzwerk
DE68924954T2 (de) Übertragungssystem für verteilte Datenbanken.
DE69328647T2 (de) Verfahren und Vorrichtung zur optimalen Wegeauswahl in Paketübertragungsnetzen
DE60126798T2 (de) Verfahren zum durchsuchen und analysieren von informationen in datennetzen
DE602005002158T2 (de) Lastausgleichtechnik für Verkehrstechnik zwischen Domänen
DE19882235B4 (de) Verwendung von Web-Technologie für Teilnehmerverwaltungsaktivitäten
DE69829830T2 (de) Weglenkungsverfahren unter Anwendung eines genetischen Algorithmus
DE69831904T2 (de) Dynamische Erstellung von Internetseiten
DE69927457T2 (de) Verfahren und Vorrichtung zur Cache-Speicherung von Informationen im Netzwerk
DE60110614T2 (de) Verfahren und vorrichtung zur prüfung eines inhaltservers
DE60313567T2 (de) Zugriffsrelayvorrichtung
DE60033700T2 (de) Verfahren zur Auslieferung von Information an mobile Computer Cache Server benutzend
DE69835674T2 (de) System und verfahren zur serverseitigen optimierung von datenübermittlung in einem verteilten rechnernetz

Legal Events

Date Code Title Description
8381 Inventor (new situation)

Inventor name: OGINO, TSUKASA, TOKYO, JP

8364 No opposition during term of opposition