DE112011103497T5 - Informationsverarbeitungssystem, Informationsverarbeitungsvorrichtung, Lastausgleichsverfahren, Planungsverfahren für die Datenbankbereitstellung und Programm zum Durchführen der Verbindungsverteilung für den Lastausgleich in einer verteilten Datenbank - Google Patents

Informationsverarbeitungssystem, Informationsverarbeitungsvorrichtung, Lastausgleichsverfahren, Planungsverfahren für die Datenbankbereitstellung und Programm zum Durchführen der Verbindungsverteilung für den Lastausgleich in einer verteilten Datenbank Download PDF

Info

Publication number
DE112011103497T5
DE112011103497T5 DE112011103497T DE112011103497T DE112011103497T5 DE 112011103497 T5 DE112011103497 T5 DE 112011103497T5 DE 112011103497 T DE112011103497 T DE 112011103497T DE 112011103497 T DE112011103497 T DE 112011103497T DE 112011103497 T5 DE112011103497 T5 DE 112011103497T5
Authority
DE
Germany
Prior art keywords
servers
database
workload
physical
physical node
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.)
Pending
Application number
DE112011103497T
Other languages
English (en)
Inventor
Yuki Makino
Gaku Yamamoto
Mikio Takeuchi
Yasuo Hamano
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112011103497T5 publication Critical patent/DE112011103497T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

Die vorliegende Erfindung führt einen Lastausgleich zwischen physischen Knoten in einer verteilten Datenbankumgebung durch. Ein Informationsverarbeitungssystem 100 der vorliegenden Erfindung enthält eine Vielzahl von Datenbank-Servern 122, die auf einer Vielzahl von physischen Knoten verteilt bereitgestellt sind, wobei zwei oder mehr Server aus der Vielzahl von Datenbank-Servern, die für voneinander verschiedene Daten zuständig sind, auf ein und demselben physischen Knoten bereitgestellt sind und ein oder mehrere Server, die für dieselben Daten zuständig sind wie einer der beiden oder mehr Server, auf einem oder mehreren anderen physischen Knoten bereitgestellt sind; und einen Verteilungsbereich (140, 170) zum Verteilen von Verbindungen durch Überwachen der Arbeitslast auf jedem der physischen Knoten und Verlagern einer Verbindung mit einem Client von einem Datenbank-Server auf einem physischen Knoten mit einer Arbeitslast, die einen Zielwert übersteigt, zu einem Datenbank-Server auf einem physischen Knoten mit einer Arbeitslast, die geringer als der Zielwert ist, sodass die Verbindungen so verteilt sind, dass sie die Arbeitslast ausgleichen.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft eine relationale Datenbank und insbesondere ein Informationsverarbeitungssystem, eine Informationsverarbeitungsvorrichtung, ein Lastausgleichsverfahren, ein Planungsverfahren für die Datenbankbereitstellung und ein Programm für den Lastausgleich zwischen physischen Knoten in einer verteilten Datenbankumgebung.
  • Zugrunde liegende Technik
  • Für eine Anwendung, die eine Datenbank nutzt, ist es wünschenswert, die Datenbankleistung und -kapazität entsprechend dem Datenvolumen und dem Betrag der Zugriffslast zu verbessern. Als Technik zum Verbessern der Skalierbarkeit des Gesamtsystems ist üblicherweise eine Technik zum Erzeugen eines Replikats einer Datenbank und zum verteilten Bereitstellen mehrerer Datenbank-Server bekannt geworden, die für alle Daten auf mehreren physische Knoten zuständig sind um die Arbeitslast zu verringern (siehe zum Beispiel das Patentdokument 1). Ferner ist auch eine Technik zum Aufteilen der Datenbank entsprechend dem praktischen Suchbereich bekannt geworden, um mehrere Datenbank-Server bereitzustellen, die auf verteilte Weise jeweils für die aufgeteilten Partitionen zuständig sind. Somit werden die Datenbanken verteilt auf mehreren physischen Knoten bereitgestellt, um eine verteilte Datenbankumgebung zu erzeugen und eine verbesserte Transaktionsleistung sowie Verfügbarkeit und Fehlertoleranz des Systems zu ermöglichen.
  • 14A ist ein schematisches Funktionsschaubild, das eine verteilte Datenbankumgebung gemäß einer herkömmlichen Technik zeigt. Eine in 14A gezeigte verteilte Datenbankumgebung 500 beinhaltet mehrere Datenbank-Server 510a1 bis 510c2, die verteilt auf mehreren physischen Knoten bereitgestellt werden. In der verteilten Datenbankumgebung 500 werden das Partitionieren der Datenbank und das Multiplexen der Partitionen so durchgeführt, dass jeder einzelne Datenbank-Server 510 für Daten in einer anderen Partition oder in derselben Partition zuständig ist. In diesem Fall wird die Logikeinheit aus Datenbanken, die durch eine Gruppe von Datenbank-Servern 510 verwaltet werden, die für dieselbe Partition (z. B. 510a1 und 510a2) zuständig sind, als verteilte Datenbank 520 (z. B. 520a) bezeichnet. Mit anderen Worten, die verteilte Datenbank 520 besteht aus einer Original-Datenbank (Master), die für dieselbe Partition zuständig ist, und einer Replikations-Datenbank (Replikat), die vom Master kopiert wurde.
  • Oben wurde bereits erwähnt, dass die Datenbank so aufgeteilt ist, dass der Datenbereich, für den jeder einzelne Datenbank-Server 510 zuständig ist, zur Beibehaltung der Datenkonsistenz verringert werden kann und dass jede Partition ferner gemultiplext wird, um diese Datenbank-Server 510 auf mehrere physische Knoten zu verteilen, damit die Datenmenge verringert werden kann, für den jeder einzelne physische Knoten zuständig ist. Dies kann die Transaktionsleistung erhöhen, indem die Verfügbarkeit und die Fehlertoleranz des Systems verbessert wird. Ferner werden wird oben erwähnt ein Replikat erzeugt und die Daten gemultiplext, sodass die durch Zugriffe von den Client-Anwendungen 530 bedingte Arbeitslast verteilt werden kann, wodurch die Verfügbarkeit und die Fehlertoleranz des Systems verbessert wird.
  • In einer solchen verteilten Datenverarbeitungsumgebung wird im Allgemeinen eine Technik eingesetzt, bei der Datenbank-Server 510 von verschiedenen verteilten Datenbanken 520 gebündelt und wie in 14B gezeigt auf einem physischen Knoten 540 als gemeinsame physische Ressource bereitgestellt werden, um begrenzte physische Ressourcen effektiv zu nutzen. Wenn jedoch mehrere Datenbank-Server 510 auf demselben physischen Knoten 540 bereitgestellt werden und sich die Zugriffe auf einen Datenbank-Server (z. B. die Datenbank A) konzentrieren, kann der Datenbank-Server (z. B. die Datenbank A) Druck auf die Ressourcen eines anderen Datenbank-Servers (z. B. der Datenbank C') auf demselben physischen Knoten (z. B. dem physischen Knoten 540a) ausüben.
  • Mit anderen Worten, wenn eine solche Konfiguration verwendet wird, bei der mehrere Datenbank-Server auf demselben physischen Knoten bereitgestellt werden, ergibt sich das Problem plötzlicher Überlastung oder redundanter Ressourcen. Als Gegenmaßnahmen zum Beheben dieses Problems kommen ein Verfahren zum Hinzufügen eines Replikats einer verteilten Datenbank 520, bei der eine plötzliche Lastzunahme beobachtet wurde, ein Verfahren zur Erweiterung des physischen Knotens, auf dem der Datenbank-Server 510 mit der beobachteten plötzlichen Lastzunahme bereitgestellt wird, und ein Verfahren zum Verlagern des Datenbank-Servers 510 auf einen anderen physischen Knoten mit ausreichenden Ressourcen infrage. Diese Lösungen sind jedoch nicht für den Notfall einer plötzlichen Zunahme der Zugriffe geeignet, da diese Operationen selbst auch eine hohe Arbeitslast bewirken.
  • Literatur zum Stand der Technik
  • Patentdokument
    • Patentdokument 1: Japanische Patentanmeldung 2001-175681
  • Kurzdarstellung der Erfindung
  • Durch die Erfindung zu lösende Probleme
  • Deshalb ist die Entwicklung eines flexiblen Lastausgleichsverfahrens mit Operationen wünschenswert, die die Systemleistung im Fall plötzlicher Überlastung oder redundanter Ressourcen nur wenig mindern, um eine wirksame verteilte Datenbankumgebung auf begrenzten physischen Ressourcen zu schaffen.
  • Die vorliegende Erfindung ist angesichts der obigen Probleme erstellt worden, und eine Aufgabe der vorliegenden Erfindung besteht darin, ein Datenverarbeitungssystem, eine Datenbankvorrichtung, ein Lastausgleichsverfahren, ein Planungsverfahren für die Datenbankbereitstellung und ein Programm bereitzustellen, das in der Lage ist, die Arbeitslast auf physischen Knoten durch ein adaptives und flexibles Verfahren mit Operationen unter geringen Leistungsverlusten auszugleichen, wenn es in einer verteilten Datenbankumgebung zu plötzlicher Überlastung oder redundanten Ressourcen kommt, um dadurch eine leistungsstarke verteilte Datenbankumgebung auf begrenzten physischen Ressourcen zu schaffen.
  • Mittel zum Lösen der Probleme
  • Die vorliegende Erfindung ist angesichts der Unzulänglichkeiten der obigen herkömmlichen Technik erstellt worden und stellt ein Datenverarbeitungssystem mit den folgenden Merkmalen bereit, als da sind: Das Datenverarbeitungssystem der vorliegenden Erfindung beinhaltet eine Vielzahl von Datenbank-Servern, die auf einer Vielzahl von physischen Knoten auf eine verteilte Weise bereitgestellt werden sollen, wobei zwei oder mehrere Server aus der Vielzahl von Datenbank-Servern, die für verschiedene Daten zuständig sind, auf demselben physischen Knoten bereitgestellt werden, und wobei ein oder mehrere Server, die für dieselben Daten wie einer der beiden oder mehreren Server zuständig sind, auf einem oder mehreren physischen Knoten bereitgestellt werden. Dann überwacht das Datenverarbeitungssystem die Arbeitslast auf jedem der physischen Knoten und verlagert eine Verbindung mit einem Client von einem Datenbank-Server auf einem physischen Knoten mit einer Arbeitslast, die einen Zielwert übersteigt, zu einem Datenbank-Server auf einem physischen Knoten mit einer Arbeitslast, die geringer als der Zielwert ist, sodass Verbindungen so verteilt werden, dass die Arbeitslast ausgeglichen ist.
  • Die vorliegende Erfindung kann so konfiguriert werden, dass nach dem Verteilen der Verbindungen die Wiedereinrichtung oder Wiederherstellung einer Anzahl von Verbindungen, die einem den Zielwert übersteigenden Betrag der Arbeitslast entsprechen, so geplant wird, dass die neue Verbindungsverteilung einschließlich der wiederhergestellten Verbindungen wahrscheinlich einen Betrag der Arbeitslast aufweist, der kleiner als der Zielwert ist. Ferner kann das Datenverarbeitungssystem einen Wiederherstellungssteuerbereich zum Trennen von Verbindungen, deren Wiederherstellung geplant ist, an den Transaktionsgrenzen und zum Übernehmen neuer Verbindungen beinhalten, die in Beziehung zu der Wiederherstellung stehen. Somit kann das Verlagern der Verbindungen durch Trennen der Verbindungen, deren Wiederherstellung geplant ist, und Übernehmen der neuen Verbindungen erfolgen.
  • Ferner kann die vorliegende Erfindung eine Datenverarbeitungsvorrichtung bereitstellen, die mit einer Vielzahl von physischen Knoten durch ein Netzwerk verbunden ist, das einen Poolbereich zum Bündeln einer Vielzahl von Verbindungen zu den betreffenden Datenbank-Servern beinhaltet, um die Verbindungsverteilung durchzuführen. Gemäß der vorliegenden Erfindung kann die Datenbankvorrichtung einen Plan zum verteilten Bereitstellen der Vielzahl von Datenbank-Servern auf der Vielzahl von physischen Knoten erstellen.
  • Ferner kann die vorliegende Erfindung ein Lastausgleichsverfahren bereitstellen, das durch die Datenverarbeitungsvorrichtung ausgeführt wird. Bei dem Lastausgleichsverfahren führt die Datenverarbeitungsvorrichtung die Schritte aus: Überwachen der Arbeitslast auf jedem der physischen Knoten; Ausgeben einer Anforderung, eine Verbindung mit einem Client zu einem Datenbank-Server auf einem physischen Knoten aus der Vielzahl von Datenbank-Servern an einer Transaktionsgrenze zu trennen, dessen Arbeitslast einen Zielwert überschreitet; und Übernehmen einer neuen Verbindung, die in Beziehung zu der Wiederherstellung mit dem Client zu einem Datenbank-Server auf einem physischen Knoten steht, dessen Arbeitslast kleiner als der Zielwert in der Vielzahl von Datenbank-Servern ist.
  • Ferner stellt die vorliegende Erfindung ein Verfahren zur Datenbankbereitstellung bereit, um einen Plan zum verteilten Bereitstellen einer Vielzahl von Datenbank-Servern auf einer Vielzahl von physischen Knoten zu erstellen. Bei dem Verfahren zur Datenbankbereitstellung führt eine Datenbankvorrichtung den Schritt des Planens der Datenbankbereitstellung so aus, dass von der Vielzahl von Datenbank-Servern zwei oder mehr Server, die für ein und dieselben Daten zuständig sind, nicht auf demselben physischen Knoten bereitgestellt werden, und dass zwei oder mehr Server, die für voneinander verschiedene Daten zuständig sind, auf demselben physischen Knoten bereitgestellt werden, und dass ein oder mehrere Server, die für dieselben Daten wie einer der beiden oder mehr Server zuständig sind, jeweils auf einem oder mehreren anderen physischen Knoten bereitgestellt werden.
  • Vorteil der Erfindung
  • Gemäß den obigen Konfigurationen wird bei der Bereitstellung einer Vielzahl von Datenbank-Servern, die bestimmte Anforderungen erfüllen, eine Verbindungsverteilung gemäß dem Laststatus physischer Knoten so durchgeführt, dass solche Operationen mit einem geringen Durchführungsaufwand bei einer geänderten Verteilung einer Verbindung von einem Client in Bezug auf die dynamische Änderung des Laststatus zum Ausgleich der gesamten Arbeitslast auf den physischen Knoten führen und dadurch die physischen Ressourcen wirksamer auslasten können. Dadurch kann auf adaptive Weise der Schwierigkeit einer plötzlichen Überlastung oder redundanten Ressourcen begegnet werden, die sich durch Erweiterung der physischen Ressourcen oder Hinzufügen von Replikaten nur schwer bewältigen lassen.
  • Kurzbeschreibung der Zeichnungen
  • 1 ist ein Funktionsschaubild, das in einem Datenverarbeitungssystem gemäß einer bevorzugten Ausführungsform der vorliegenden Erfindung umgesetzt wird.
  • 2 ist ein konzeptionelles Funktionsschaubild zum Beschreiben der Verbindungsverteilung gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 3 ist ein Funktionsschaubild zum Beschreiben einer Beziehung, in der ein Lastausgleich durch die Verbindungsverteilung ermöglicht wird, und einer Beziehung, bei der der Lastausgleich durch die Verbindungsverteilung deaktiviert wird.
  • 4 ist ein Funktionsschaubild, das eine Datenbankbereitstellung veranschaulicht, in der jeweils Datenbank-Server von fünf verteilten Datenbanken mit einem Vielfachen von 3 auf fünf physischen Knoten verteilt sind.
  • 5 ist ein Funktionsschaubild, das eine Datenbankbereitstellung veranschaulicht, in der jeweils zwei Datenbank-Servereinheiten von sechs verteilten Datenbanken mit einem Vielfachen von 2 auf sechs physischen Knoten verteilt sind.
  • 6 ist ein detailliertes Funktionsblockschaubild der Verbindungsverteilung, wie sie in dem Datenverarbeitungssystem gemäß der Ausführungsform der vorliegenden Erfindung realisiert wird.
  • 7 ist ein Ablaufplan, der den Ablauf der Verbindungsverteilung durch einen Verbindungsverteilungsbereich gemäß der Ausführungsform der vorliegenden Erfindung zeigt.
  • 8 ist ein Funktionsschaubild zum Beschreiben der Wiederherstellung von Verbindungen und der Verteilung der Verbindungen nach dem Zufallsprinzip.
  • 9 ist ein Ablaufplan, der den Ablauf der Planung der Datenbankbereitstellung durch einen Bereitstellungsplanungsbereich gemäß der Ausführungsform der vorliegenden Erfindung zeigt.
  • 10 ist ein Funktionsschaubild zum Beschreiben eines Verfahrens zum Bereitstellen jeder verteilten Datenbank-Servereinheit auf einem physischen Knoten.
  • 11 ist ein Ablaufplan, der den Ablauf eines Bereitstellungsplanungsalgorithmus A(n) zeigt, der durch den Bereitstellungsplanungsbereich gemäß der Ausführungsform der vorliegenden Erfindung ausgeführt wird.
  • 12 ist ein Schaubild zum Beschreiben des Bereitstellungsplanungsalgorithmus A(n).
  • 13 ist ein Funktionsschaubild, das den Lastausgleich bei einer Datenbankbereitstellung veranschaulicht, wobei verteilte Datenbanken mit einem Vielfachen von 2 in Form eines Kreises verteilt bereitgestellt werden.
  • 14 veranschaulicht zusammen ein schematisches Schaubild, das eine verteilte Datenbankumgebung in einer herkömmlichen Technik in A zeigt, und ein Schaubild zum Beschreiben eines Verfahrens zum Bereitstellen von Datenbank-Servern von verteilten Datenbanken.
  • Ausführungsmodus der Erfindung
  • Obwohl die vorliegende Erfindung nunmehr anhand einer bevorzugten Ausführungsform beschrieben wird, ist die vorliegende Erfindung nicht auf die folgende Ausführungsform beschränkt. In der folgenden Ausführungsform wird als Beispiel des Datenverarbeitungssystems ein Informationsverarbeitungssystem beschrieben, das mehrere Datenbanken, die verteilt auf mehreren physischen Knoten bereitgestellt sind, und Client-Anwendungen beinhaltet, die auf die mehreren Datenbanken zugreifen.
  • (1) Darstellung
  • (1.1) Funktionsblöcke des Gesamtsystems
  • 1 zeigt Funktionsblöcke, die in einem Datenverarbeitungssystem 100 gemäß der Ausführungsform der vorliegenden Erfindung ausgeführt sind. Das in 1 gezeigte Datenverarbeitungssystem 100 ist so konfiguriert, dass es eine Gruppe von physischen Knoten 120, die aus mehreren (nicht gezeigten) physischen Knoten besteht, einen Datenbankbereitstellungs-Server 110 zum verteilten Bereitstellen von Datenbanken nach dem Plan auf der Gruppe der physischen Knoten 120, einen Anwendungs-Server 130, auf dem Client-Anwendungen (die im Folgenden einfach als Clients bezeichnet werden) 164 laufen, um auf die auf der Gruppe der physischen Knoten 120 verteilt bereitgestellten Datenbanken zuzugreifen, und einen Verbindungsverteilungs-Server 132 beinhaltet, der später ausführlich beschrieben wird. Zu beachten ist, dass der Client 164 einer Anwendungsschicht in einem Dreischichten-Client-Server-Modell entspricht und ein Web-Client über das HTTP-Protokoll in einer Webanwendung mit dem Client 164 verbunden ist, was in 1 nicht dargestellt ist.
  • Die physischen Knoten, die die Gruppe von physischen Knoten 120 bilden, der Datenbankbereitstellungs-Server 110, der Anwendungs-Server 130 und der Verbindungsverteilungs-Server 132 sind durch nicht gezeigte leitungsgebundene oder drahtlose Netze miteinander verbunden, darunter lokale Netze (LAN) mit TCP/IP und Ethernet®, Weitverkehrsnetze (WAN) unter Verwendung von VPN-(virtuelle private Netze) und Standleitungen und das Internet.
  • Jeder der physischen Knoten, die die Gruppe der physischen Knoten 120 bilden, beinhaltet eine Zentraleinheit (CPU) wie beispielsweise einen Einkern- oder Mehrkernprozessor, einen Cachespeicher, einen RAM, eine Netzschnittstellenkarte (NIC) und gegebenenfalls eine Speichereinheit und wird durch ein geeignetes Betriebssystem gesteuert (das im Folgenden als OS bezeichnet wird). Für den physischen Knoten kann eine Architektur mit oder ohne gemeinsam genutzte Platte verwendet werden.
  • Ein Datenbankverwaltungssystem (DBMS), das eine verteilte Datenbank unterstützt, wird in die Gruppe von physischen Knoten 120 eingefügt, und auf der Gruppe von physischen Knoten 120 werden mehrere Datenbank-Server 122a bis 122g bereitgestellt. Im vorliegenden Zusammenhang ist unter dem „Datenbank-Server” ein Serverprozess des DBMS zu verstehen, der auf jedem physischen Knoten ausgeführt wird, und unter der „Datenbank” ist eine Sammlung von Daten zu verstehen, die durch das DBMS verwaltete Datenbankobjekte wie beispielsweise Tabellen, Ansichten und Indizes beinhaltet. Zu beachten ist, dass der Datenbank-Server und die Datenbank als Sammlung von Daten in ihrer Gesamtheit im Folgenden auch als „Datenbank” bezeichnet werden können.
  • Die einzelnen Datenbank-Server 122 sind jeweils für verschiedene oder gleiche Daten zuständig. Im vorliegenden Fall wird die Gesamtheit einer logischen Datenbankgruppe, die aus Datenbank-Servern 122 besteht, die für dieselben Daten zuständig sind, als „verteilte Datenbank” bezeichnet. Der Einfachheit halber wird von einzelnen Datenbanken, die die verteilte Datenbank konfigurieren, eine Original-Datenbank als Master-Datenbank bezeichnet (die im Folgenden einfach als Master bezeichnet wird), und eine von dem Master replizierte Datenbank wird als Replikat-Datenbank bezeichnet (die im Folgenden einfach als Replikat bezeichnet wird). Das Replikationsverfahren ist nicht speziell begrenzt, und es kann entweder ein Multimasterverfahren oder ein Master-Slave-Verfahren verwendet werden.
  • Somit wird in dem Datenverarbeitungssystem 100 eine verteilte Datenbankumgebung, die aus mehreren verteilten Datenbanken mit einem Master und einem oder mehreren Replikaten besteht, durch die mehreren Datenbank-Server 122a bis 122g gebildet, die verteilt auf der Gruppe von physischen Knoten 120 bereitgestellt sind. Die „Datenbank” und die „verteilte Datenbank”, bei der es sich unter anderem, ohne darauf beschränkt zu sein, um eine relationale Datenbank (RDB) handeln kann, kann auf eine beliebige andere Datenbank angewendet werden, beispielsweise auf eine objektorientierte Datenbank, eine XML-(erweiterbare Auszeichnungssprache) Datenbank und einen Schlüsselwert-Datenspeicher, ohne auf ein bestimmtes Datenmodell beschränkt zu sein.
  • Der Datenbankbereitstellungs-Server 110, der Anwendungs-Server 130 und der Verbindungsverteilungs-Server 132 sind im Allgemeinen als Universalcomputer konfiguriert, beispielsweise als Personal Computer, Arbeitsplatzcomputer, Einschub- oder Blade-Server, Computer im mittleren Leistungsbereich oder Großrechner. Genauer gesagt beinhalten der Datenbankbereitstellungs-Server 110, der Anwendungs-Server 130 und der Verbindungsverteilungs-Server 132 jeweils eine CPU wie beispielsweise einen Einkern- oder Mehrkernprozessor, einen Cachespeicher, einen RAM, eine NIC, eine Speichereinheit und dergleichen, in denen Hardware und Software zusammenwirken, um unter Steuerung durch ein geeignetes OS jeden Funktionsbereich und jeden später beschriebenen Arbeitsschritt umzusetzen.
  • Der Datenbankbereitstellungs-Server 110 beinhaltet einen Bereitstellungsplanungsbereich 112 zum Planen der Datenbankbereitstellung, um einen wirksamen Lastausgleich zu erreichen, und einen Bereitstellungsbereich 114. Der Bereitstellungsbereich 114 ist ein Funktionsbereich zum Bereitstellen der Datenbank-Server 122 von verteilten Datenbanken auf der Gruppe von physischen Knoten 120 gemäß dem Datenbankbereitstellungsplan, der durch den Bereitstellungsplanungsabschnitt 112 erstellt wurde. Gemäß der Ausführungsform kann der Datenbankbereitstellungs-Server 110 ferner einen Zusatzkonfigurierungsbereich 116 zum Überwachen von Lastungleichgewichten zwischen physischen Knoten über längere Zeiträume zum entsprechenden Ändern der Datenbankbereitstellung beinhalten, um Lastungleichgewichte auszuschließen. Die Einzelheiten des Datenbankbereitstellungsplans und der Zusatzkonfigurierung zum Verringern der Lastungleichgewichte werden später beschrieben.
  • Ein Verbindungsverwaltungsmechanismus 170 wird zwischen den Clients 164 auf dem Anwendungs-Server 130 und der verteilten Datenbankumgebung auf der Gruppe physischer Knoten 120 bereitgestellt, um eine Funktion zum Verteilen einer zwischen jedem Client 164 und einer Datenbank-Servereinheit (Master oder Replikat) der verteilten Datenbank eingerichteten Datenbankverbindung in der Weise auszuführen, dass die Arbeitslast auf den physischen Knoten ausgeglichen wird. Der Begriff „Verbindung” kann das Festlegen eines Ziels durch Wählen einer Zugehörigkeit zu der Anforderung oder Ähnliches beinhalten.
  • Wenn in der herkömmlichen verteilten Datenbankumgebung der Lastausgleich unter Verwendung eines Masters und eines oder mehrerer Replikate bewirkt wird, werden diese Datenbank-Server auf verschiedenen physischen Knoten bereitgestellt und dem Master und dem einen oder den mehreren Replikaten Verbindungen zum Beispiel im Umlaufverfahren zugeordnet. Da die Verbindungen in diesem Fall in einem fest vorgegebenen Verhältnis verteilt werden, können, wenn zwei oder mehr verteilte Datenbank-Servereinheiten auf demselben physischen Knoten bereitgestellt werden, um die physischen Ressourcen bestmöglich zu nutzen, und wenn sich die Zugriffe auf eine verteilte Datenbank-Servereinheit konzentrieren, die Ressourcen der anderen verteilten Datenbank-Servereinheit auf demselben physischen Knoten unter Druck geraten. In einer solchen Situation ist es bei der herkömmlichen Technik üblich, die physischen Ressourcen zu erweitern und Replikate hinzuzufügen, um auf die Situation zu reagieren, jedoch ist es schwierig, auf eine plötzliche Überlastung oder redundant werdende Ressourcen angemessen zu reagieren.
  • Deshalb verwendet bei der Ausführungsform der Verbindungsverwaltungsmechanismus 170 eine Konfiguration zum dynamischen Steuern des Verteilungsverhältnisses der zwischen den Clients 164 und den Datenbank-Servereinheiten der verteilten Datenbanken eingerichteten Verbindungen zu dem Master und den Replikaten auf der Gruppe physischer Knoten 120 gemäß dem Laststatus, um eine solche plötzliche Zunahme und Abnahme der Arbeitslast adaptiv zu bewältigen und die Arbeitslast zwischen physischen Knoten auszugleichen, auf denen der Master und die Replikate bereitgestellt sind.
  • Der Verbindungsverwaltungsmechanismus 170 beinhaltet einen Verbindungsverteilungsbereich 140, einen Verbindungsanforderungs-Empfangsbereich 160 und einen Treiberbereich 162. Gemäß der in 1 gezeigten Ausführungsform ist der Verbindungsverteilungsbereich 140 auf dem Verbindungsverteilungs-Server 132 eingerichtet, und der Verbindungsanforderungs-Empfangsbereich 160 und der Treiberbereich 162 sind als clientseitige Module auf dem Anwendungs-Server 130 eingerichtet, auf dem eine Client-Anwendung ausgeführt wird. In diesem Fall kann der Verbindungsverteilungs-Server 132 als Verbindungsverteilungs-Server zum Verteilen von Verbindungen auf einheitliche Weise zu den jeweiligen Clients 164 auf mehreren Anwendungs-Servern 130 konfiguriert sein. Ein Client 164a in 1 stellt eine Client-Anwendung dar, die gerade das Einrichten einer neuen Verbindung anfordert. Ein Client 164b wiederum stellt eine Client-Anwendung dar, die bereits eine Verbindung eingerichtet hat und die momentan verbunden ist.
  • Der Verbindungsanforderungs-Empfangsbereich 160 übernimmt eine Verbindung von dem Verbindungsverteilungsbereich 140 als Reaktion auf eine Verbindungsanforderung von dem Client 164a, der eine neue Verbindung einzurichten versucht, und richtet eine Verbindung zwischen dem Client 164a und einer Datenbank-Servereinheit der verteilten Datenbank ein. Der Verbindungsverteilungsbereich 140 überwacht die Arbeitslast auf jedem physischen Knoten, um gemäß dem Laststatus das Verhältnis der Verbindungsverteilung zu einer verteilten Datenbank-Servereinheit (Master oder Replikat) festzulegen. Der Verbindungsverteilungsbereich 140 gibt als Reaktion auf eine Übernahmeanforderung von dem Verbindungsanforderungs-Empfangsbereich 160 entsprechend dem festgelegten Verhältnis der Verbindungsverteilung eine Verbindung zu der Datenbank-Servereinheit zurück.
  • Wenn ein überlasteter physischer Knoten gemäß dem obigen Laststatus gefunden wird, fordert der Verbindungsverteilungsbereich 140 vom Treiberbereich 162 eine der Verbindungen zu den Datenbank-Servereinheiten auf dem physischen Knoten, die der Überlastung entspricht, zu trennen und wiedereinzurichten oder wiederherzustellen. Der Treiberbereich 162 steuert die Verbindungen zwischen dem Client 164b und den Datenbank-Servereinheiten der verteilten Datenbanken. Als Reaktion auf die Wiederherstellungsanforderung vom Verbindungsverteilungsbereich 140 trennt der Treiberbereich sofort die Verbindung, für welche die Wiederherstellung angefordert worden ist, an einer Transaktionsgrenze. Dann übernimmt der Treiberbereich 162 eine neue Verbindung vom Verbindungsanforderungs-Empfangsbereich 160, um die Verbindung zwischen dem Client 164 und der Datenbank-Servereinheit fortzusetzen. Da die Verbindung an der Transaktionsgrenze getrennt wird, kann das Trennen und Wiederherstellen somit vor dem Benutzer verborgen bleiben. Der Treiberbereich 162 stellt einen Wiederherstellungssteuerbereich gemäß der Ausführungsform dar.
  • Der Verbindungsverteilungsbereich 140 gemäß der Ausführungsform überwacht die Arbeitslast auf jedem physischen Knoten, legt das Verhältnis der Verbindungsverteilung gemäß dem Laststatus der Gruppe physischer Knoten 120 fest und fordert auch vom Treiberbereich 162, die überlastete Verbindung wiederherzustellen. Somit wird die Verbindung mit dem Client von einer Datenbank-Servereinheit auf einem physischen Knoten mit einer Arbeitslast, die einen Zielwert überschreitet, zu einer Datenbank-Servereinheit auf einem physischen Knoten mit einer Arbeitslast verlagert, die geringer als der Zielwert ist, sodass die Arbeitslast zwischen Knoten ausgeglichen wird.
  • (1.2) Darstellung der Verbindungsverteilung
  • Die Verbindungsverteilung gemäß der Ausführungsform der vorliegenden Erfindung wird unter Bezugnahme auf 2 beschrieben. 2 ist ein konzeptionelles Funktionsschaubild zum Beschreiben der Verbindungsverteilung gemäß einer Ausführungsform der vorliegenden Erfindung. 2A ist ein Funktionsschaubild, das einen Verbindungsstatus zeigt, bevor die Verbindungsverteilung ausgeführt wird, und 2B ist ein Funktionsschaubild, das einen Verbindungsstatus zeigt, nachdem die Verbindungsverteilung ausgeführt worden ist.
  • 2 zeigt einen Status, in dem auf jedem der physischen Knoten 124a, 124b und 124c zwei Datenbank-Server bereitgestellt sind. Jeder Datenbank-Server entspricht einem Master oder einem Replikat einer der verteilten Datenbankeinheiten mit der Bezeichnung A, B und C. Zum Beispiel können die verteilten Datenbanken A, B und C für Partitionen, die von einer einzelnen Datenbank abgetrennt sind, beziehungsweise für Daten verschiedener Datenbanken zuständig sein. Zu beachten ist, dass X (wobei X ein beliebiger Buchstabe des Alphabets sein kann) für Master und X' (wobei X ebenso ein beliebiger Buchstabe des Alphabets sein kann) für ein Replikat steht.
  • Der Verbindungsverwaltungsmechanismus 170 verwaltet Verbindungen zwischen jedem Client 164 und Datenbank-Servereinheiten von verteilten Datenbanken und verteilt Verbindungen zwischen einem Master und einem oder mehreren Replikaten jeder verteilten Datenbank. 2A zeigt zum Beispiel, dass, wenn sich die Zugriffe bei fest vorgegebenem Verhältnis der Verbindungsverteilung auf verteilte Datenbanken B und C konzentrieren, ein physischer Knoten 124b mit darin untergebrachten Datenbank-Servereinheiten C und B' überlastet wird.
  • Deshalb trennt, wie in 2B gezeigt, der Verbindungsverwaltungsmechanismus 170 gemäß der Ausführungsform sofort an einer Transaktionsgrenze Verbindungen, die der Überlastung auf Verbindungen entsprechen, die Datenbank-Servereinheiten B' und C auf dem überlasteten physischen Knoten 124b zugeordnet sind. Ferner führt der Verbindungsverwaltungsmechanismus 170 eine Wiederherstellung der Verbindung durch, nachdem die Verhältnisse der Verbindungsverteilung zwischen Datenbank-Servereinheiten B und B' und zwischen Datenbank-Servereinheiten C und C' geändert wurden, die auf verschiedenen physischen Knoten betrieben werden, um nicht nur die Verbindungen vom Client 164 aufrechtzuerhalten, sondern auch die Überlastung auf dem physischen Knoten 124b zu verringern. Zu diesem Zeitpunkt werden die Verhältnisse der Verbindungsverteilung nach dem Zufallsprinzip so festgelegt, dass auf die Datenbank-Servereinheit B auf einem physischen Knoten 124a und auf eine Datenbank-Servereinheit C' auf einem physischen Knoten 124c, die beide geringer ausgelastet sind, eine größere Arbeitslast verteilt wird.
  • Die Verbindungsverteilung zwischen dem Master und einem oder mehreren Replikaten der verteilten Datenbanken wird durchgeführt, um die Arbeitslast von einem physischen Knoten mit einer vergleichsweise hohen Arbeitslast auf einen physischen Knoten mit einer vergleichsweise geringen Arbeitslast zu verlagern, sodass der Spitzenwert der Gesamtlast auf der Gruppe physischer Knoten 120 geglättet werden kann.
  • Andererseits wird gewünscht, dass jede Datenbank-Servereinheit auf der Gruppe von physischen Knoten 120 zielgerichtet so bereitgestellt wird, dass die Arbeitslast durch die Verbindungsverteilung verlagert wird, um die Arbeitslast auf der gesamten Gruppe physischer Knoten 120 zielgerichtet auszugleichen. Im Folgenden wird eine Datenbankbereitstellung beschrieben, die die Arbeitslast unter Verwendung der Verbindungsverteilung unter Bezugnahme auf 3 bis 5 vorteilhaft ausgleicht.
  • (1.3) Beziehung mit aktiviertem Lastausgleich und Beziehung mit deaktiviertem Lastausgleich
  • 3 ist ein Funktionsschaubild zum Beschreiben von Beziehungen, in denen ein Lastausgleich durch die Verbindungsverteilung aktiviert und deaktiviert wird. 3 zeigt eine Beziehung zwischen zwei physischen Knoten 124a und 124b, wobei auf jedem der physischen Knoten 124a und 124b zwei Datenbank-Server bereitgestellt sind. 3A veranschaulicht eine Beziehung, in der der Lastausgleich durch die Verbindungsverteilung deaktiviert oder unmöglich ist, und 3B veranschaulicht eine Beziehung, in der der Lastausgleich durch die Verbindungsverteilung aktiviert oder möglich ist.
  • Bei der in 3A gezeigten Beziehung mit deaktiviertem Lastausgleich wird ein Serversatz mit den verteilten Datenbanken A und B als Elemente betrachtet, wobei die Serversätze auf dem physischen Knoten 124a und dem physischen Knoten 124b identisch sind. Andererseits ist in der in 3B gezeigten Beziehung mit aktiviertem Lastausgleich der Serversatz (A, B) auf dem physischen Knoten 124a von dem Serversatz {B, X} auf dem physischen Knoten 1124b verschieden.
  • Wie oben erwähnt kann die Arbeitslast zwischen einem Master und einem oder mehreren Replikaten verteilter Datenbanken verlagert werden, die auf verschiedenen physischen Knoten bereitgestellt sind. Wie 3A jedoch zeigt, kann die Arbeitslast durch die Verbindungsverteilung in Wirklichkeit nicht ausgeglichen werden, wenn alle Serversätze auf physischen Knoten mit dem darauf bereitgestellten Master und Replikat von verteilten Datenbanken gleich sind. Um die Arbeitslast auf einer verteilten Datenbank durch die Verbindungsverteilung ausgleichen zu können, müssen sich zumindest Serversätze auf physischen Knoten mit dem darauf bereitgestellten Master und dem Replikat voneinander unterscheiden. Ferner ist es stärker bevorzugt, dass der Unterschied zwischen den Serversätzen auf den physischen Knoten mit dem darauf bereitgestellten Master und dem Replikat groß ist.
  • (1.4) Datenbankbereitstellung zum Erreichen eines wirksamen Lastausgleichs
  • Im Folgenden wird eine Datenbankbereitstellung zum Erreichen eines wirksamen Lastausgleichs unter Bezugnahme auf 4 und 5 beschrieben. 4 veranschaulicht eine Datenbankbereitstellung, bei der jeweils Datenbank-Server von fünf verteilten Datenbanken mit einem Vielfachen von 3 auf fünf physischen Knoten verteilt bereitgestellt sind. 5 veranschaulicht eine Datenbankbereitstellung, bei der jeweils Datenbank-Server von sechs verteilten Datenbanken mit einem Vielfachen von 2 auf sechs physischen Knoten verteilt bereitgestellt sind.
  • Bei der in 4A gezeigten Datenbankbereitstellung sind alle fünf verteilten Datenbanken A bis E so bereitgestellt, dass sich Serversätze auf physischen Knoten mit Datenbank-Servereinheiten jeder darauf bereitgestellten verteilten Datenbank voneinander unterscheiden. Zum Beispiel unterscheiden sich die Serversätze {A, C, E}, {A, B, D} und {A, C, D}, auf den physischen Knoten 1, 2 bzw. 4 mit den Servereinheiten der darauf bereitgestellten Datenbank A voneinander. Dasselbe ist bei den anderen verteilten Datenbanken B bis E der Fall. Deshalb kann die Arbeitslast bei der in 4A gezeigten Datenbankbereitstellung wirksam von einem physischen Knoten mit einer hohen Arbeitslast auf einen physischen Knoten mit einer geringen Arbeitslast verlagert werden, sodass der Spitzenwert der gesamten Arbeitslast auf der Gruppe physischer Knoten 120 geglättet werden kann.
  • Bei der in 4B gezeigten Datenbankbereitstellung hingegen sind auf physischen Knoten dieselben Serversätze verteilter Datenbanken A bis C bereitgestellt. Knoten 2 und Knoten 3 weisen dieselben Servereinheiten von verteilten Datenbanken A bis C auf, und Serversätze dieser physischen Knoten sind identisch. Im Gegensatz zu den physischen Knoten 2 und 3 befindet sich jedoch der Master oder das Replikat jeder der verteilten Datenbanken A bis C auch auf jedem der physischen Knoten 1, 4 und 5. Deshalb kann die Arbeitslast zwischen den physischen Knoten 2 und 3 und den anderen physischen Knoten 1, 4 und 5 verlagert und somit in der in 4 gezeigten Datenbankbereitstellung die Arbeitslast auf den physischen Knoten ausgeglichen werden. Durch das Vorhandensein mehrerer physischer Knoten mit denselben Serversätzen wird jedoch der Freiheitsgrad in Bezug auf das Verlagern der Arbeitslast eingeschränkt.
  • Um die gesamte Arbeitslast auf der Gruppe physischer Knoten 120 ferner wirksam auszugleichen, werden die oben erwähnten übertragbaren Beziehungen vorzugsweise so weit wie möglich erweitert, indem mehr physische Knoten in die Gruppe von physischen Knoten 120 einbezogen werden. Wie oben erwähnt kann die Arbeitslast direkt zwischen dem Master und einem Replikat derselben auf verschiedenen physischen Knoten bereitgestellten verteilten Datenbank verlagert werden. Andererseits kann die Arbeitslast auch indirekt zwischen dem Master und einem Replikat verschiedener verteilter Datenbanken verlagert werden, indem eine übertragbare Beziehung derselben verteilten Datenbank durchlaufen wird. Somit kann die oben erwähnte Erweiterung einer übertragbaren Beziehung als Merkmal der Datenbankbereitstellung quantitativ durch die Größe eines Clusters bestimmt werden, dessen physische Knoten und Lastübertragungsbeziehungen als Graph dargestellt werden, in dem physische Knoten mit Übertragungsbeziehungen miteinander verbunden sind.
  • Mit anderen Worten, die Erweiterung kann quantitativ durch die Größe eines Clusters in Form eines Graphen bestimmt werden, der durch Verbinden verschiedener verteilter Datenbanken mit Seiten (Kanten oder Verknüpfungen) zwischen physischen Knoten gebildet wird, auf denen dieselbe verteilte Datenbank-Servereinheit bereitgestellt ist. Wenn der Cluster so klein ist, dass er in einem Teil der Gruppe von physischen Knoten 120 abgeschlossen ist, ist der Lastausgleich nur begrenzt innerhalb des kleinen Clusters möglich.
  • Falls die Arbeitslast auf physischen Knoten ausgeglichen wird, auf denen jeweils zwei oder mehr verteilte Datenbank-Servereinheiten untergebracht sind, kann die Erweiterung des Clusters als Merkmal der Datenbankbereitstellung quantitativ durch die Anzahl von Knoten eines Clusters bestimmt werden, der durch Verbinden der Seiten zwischen physischen Knoten gebildet wird, auf denen dieselbe verteilte Datenbank-Servereinheit bereitgestellt ist, und der physische Knoten enthält, auf denen Datenbank-Server von zwei oder mehr verschiedenen Datenbanken untergebracht sind. Falls eine verteilte Datenbank so konfiguriert ist, dass sie einen Master und ein oder mehrere Replikate enthält, sollte die Anzahl der Knoten in jedem Cluster vorzugsweise drei oder mehr betragen. Ferner ist es angesichts des Lastausgleichs auf der gesamten Gruppe physischer Knoten 120 besonders bevorzugt, dass die Anzahl der Knoten genau gleich der Anzahl der physischen Knoten in der Gruppe von physischen Knoten 120 ist.
  • Zum Beispiel ist in der in 4A und 4B gezeigten Datenbankbereitstellung die Anzahl der Knoten des Clusters gleich der Anzahl physischer Knoten, sodass die gesamte Arbeitslast auf der Gruppe physischer Knoten 120 ausgeglichen werden kann. Die in 5 gezeigte Datenbankbereitstellung hingegen beinhaltet in der Gruppe von physischen Knoten 120 zwei geschlossene Cluster. Da es in diesem Fall keine verteilte Datenbank gibt, die auf beiden Clustern zugleich bereitgestellt ist, kann die Arbeitslast nicht zwischen den Clustern verlagert werden. Dadurch erfolgt der Lastausgleich in dem aus den physischen Knoten 1, 2 und 3 bestehenden Cluster bzw. in dem aus den physischen Knoten 4, 5 und 6 bestehenden Cluster unabhängig voneinander
  • (2) Details zur Verbindungsverteilung
  • (2.1) Detaillierte Darstellung der Funktionsblöcke in Bezug auf die Verbindungsverteilung
  • Im Folgenden werden die Details der Verbindungsverteilung zum Erreichen eines Lastausgleichs zwischen physischen Knoten beschrieben. 6 zeigt im Einzelnen Funktionsblöcke in Bezug auf die Verbindungsverteilung, die in dem Datenverarbeitungssystem 100 gemäß der Ausführungsform der vorliegenden Erfindung durchgeführt wird. 6 zeigt die Gruppe von physischen Knoten 120, in der mehrere Datenbank-Server bereitgestellt sind, den Verbindungsverteilungsbereich 140, den Verbindungsanforderungs-Empfangsbereich 160, den Treiberbereich 162 und die Clients 164.
  • Genauer gesagt, der Verbindungsverteilungsbereich 140 enthält einen Leistungsdatenerfassungsteil 142, einen Bereitstellungsdatenerfassungsteil 144, einen Laststatusberechnungsteil 146, einen Planungsteil für dynamischen Lastausgleich 148, einen Verbindungspoolsteuerteil 150 und einen Verbindungsauflösungsteil 152.
  • Der Leistungsdatenerfassungsteil 142 überwacht die Leistung der verteilten Datenbankumgebung und erfasst periodisch oder in unregelmäßigen Abständen Leistungsdaten. Bei den Leistungsdaten kann es sich um Daten zur quantitativen Ermittlung der Arbeitslast auf dem physischen Knoten handeln, darunter, ohne darauf beschränkt zu sein, der Auslastungswert (Auslastungsgrad) jeder der physischen Ressourcen jedes physischen Knotens, beispielsweise der CPU, der Platten-E/A und des Speichers, die Gesamtzahl der Verbindungen jedes physischen Knotens usw. Bei den Leistungsdaten für jede verteilte Datenbank kann es sich um Daten zur quantitativen Ermittlung der Arbeitslast auf jeder verteilten Datenbank handeln, beispielsweise die Anzahl der Verbindungen für jede verteilte Datenbank, die Zunahme der Tabellendaten, die Auslastung des Datenbankbereichs, die Abfrageantwortzeit und die Anzahl der Benutzer. Solche Daten können von einem in der verteilten Datenbankumgebung angeordneten Leistungsüberwachungstool übernommen werden.
  • Der Bereitstellungsdatenerfassungsteil 144 erfasst periodisch oder in unregelmäßigen Abständen Bereitstellungsdaten auf der verteilten Datenbankumgebung. Bei den Bereitstellungsdaten handelt es sich um Daten, welche die Bereitstellung von Datenbank-Servereinheiten auf der Gruppe physischer Knoten 120 beschreiben und anzeigen, welche verteilte Datenbank-Servereinheit auf jedem physischen Knoten bereitgestellt ist. Kurz gesagt, die Bereitstellungsdaten werden in Form einer Liste von Serversätzen für jeden physischen Knoten erstellt.
  • Der Laststatusberechnungsteil 146 multipliziert die durch den Leistungsdatenerfassungsteil 142 erfassten Leistungsdaten mit den durch den Bereitstellungsdatenerfassungsteil 144 erfassten Bereitstellungsdaten, um den Laststatus für jeden physischen Knoten zu berechnen. Der für jeden physischen Knoten berechnete Laststatus enthält die Bewertungszahl der Arbeitslast auf jedem physischen Knoten, um die auf dem physischen Knoten auszugleichende Arbeitslast und den Anteil jeder Datenbank-Servereinheit auf jedem physischen Knoten an der Bewertungszahl der Arbeitslast quantitativ zu ermitteln.
  • Das Verfahren zum Berechnen der Lastbewertungszahl ist nicht ausdrücklich begrenzt, solange die Arbeitslast auf jedem physischen Knoten quantitativ ermittelt werden kann. Zum Beispiel können der Ressourcenauslastungswert (Auslastungsgrad) und die Anzahl der Verbindungen jedes physischen Knotens, die beide erfasst werden können, ohne Einschränkung verwendet werden. Das Verfahren zum Berechnen des Anteils an der Lastbewertungszahl ist ebenfalls nicht ausdrücklich begrenzt. Zum Beispiel können bei verteilten Datenbanken (d. h. bei einem Serversatz), deren Servereinheiten auf einem physischen Knoten bereitgestellt sind, die Anzahl der Verbindungen jeder verteilten Datenbank und das Ausmaß der Verbindungsverteilung jeder verteilten Datenbank zu jeder Servereinheit dazu verwendet werden, den Anteil jeder Servereinheit an der Lastbewertungszahl auf dem physischen Knoten zu berechnen. Das Ausmaß der Verbindungsverteilung kann zum Beispiel von dem Planungsteil für dynamischen Lastausgleich 148 übernommen werden.
  • Der Planungsteil für dynamischen Lastausgleich 148 berücksichtigt den aktuellen Verbindungsstatus und das in vorgegebenen Intervallen abgeschätzte Ausmaß der Verbindungsänderung, um einen Zielwert für das Festlegen des Anteils der Verbindungsverteilung festzulegen, um die Verbindungsverteilung und die Wiederherstellung so zu planen, dass sich die Lastbewertungszahl auf jedem physischen Knoten asymptotisch dem Zielwert annähert. Genauer gesagt, der Planungsteil für dynamischen Lastausgleich 148 plant eine neue Verbindungsverteilung einschließlich der Wiederherstellung zu jeder verteilten Datenbank-Servereinheit mit einem Verteilungsanteil oder einer Verteilungswahrscheinlichkeit, die einem Lastanteil unterhalb des Zielwertes gemäß dem durch den Laststatusberechnungsteil 146 berechneten Laststatus entspricht.
  • Der Verbindungspoolsteuerteil 150 sorgt für eine ausreichende Anzahl von Verbindungen 156 in einem Poolbereich 154 gemäß dem durch den Planungsteil für dynamischen Lastausgleich 148 geplanten Anteil der Verbindungsverteilung. Der Verbindungsauflösungsteil 152 verwaltet die Anzahl der Verbindungen für den Poolbereich 154, beispielsweise die größtmögliche Anzahl der aus dem Pool gelangenden Verbindungen. Als Reaktion auf eine Verbindungsauflösungsanforderung von dem Verbindungsauflösungs-Empfangsbereich 160 übergibt der Verbindungsauflösungsteil 152 von den im Poolbereich 154 zusammengefassten Verbindungen 156 eine angeforderte Verbindung an eine verteilte Datenbank-Servereinheit. Zu diesem Zeitpunkt wird die zu der Servereinheit einzurichtende Verbindung mit einer Wahrscheinlichkeit übergeben, die dem obigen Verteilungsverhältnis entspricht. Als Reaktion auf eine Verbindungsanforderung von dem anfordernden Client 164a gibt der Verbindungsanforderungs-Empfangsbereich 160 eine Verbindungsauflösungsanforderung an den Verbindungsauflösungsteil 152 aus, um eine Verbindung zwischen dem anfordernden Client 164a und der verteilten Datenbank-Servereinheit einzurichten und gibt einen Hinweis an den Client 164a zurück.
  • Gemäß der Ausführungsform erfolgt das Zusammenfassen von Verbindungen durch den Verbindungspoolsteuerteil 150 und den Verbindungsauflösungsteil 152, um die Verbindung zu der Datenbank-Servereinheit einer verteilten Datenbank wiederzuverwenden, sodass der durch verschiedene Arbeitsschritte wie beispielsweise Berechtigungsprüfung bedingte Systemaufwand beim Einrichten einer Verbindung zwischen einem Client und einer Servereinheit verringert werden kann.
  • Wenn ferner anhand des durch den Laststatusberechnungsteil 146 berechneten Laststatus ein physischer Knoten mit einer hohen Arbeitslast gefunden wird, plant der Planungsteil für dynamischen Lastausgleich 148, eine Anzahl von Verbindungen zu trennen und wiederherzustellen, die einem den Zielwert überschreitenden Lastanteil entsprechen, und richtet eine Anforderung nach Wiederherstellung an den Treiberbereich 162. Als Reaktion auf die Wiederherstellungsanforderung von der Planungseinheit für dynamischen Lastausgleich 148 fordert der Treiberbereich 162 den Verbindungsanforderungs-Empfangsbereich 160 auf, die Verbindungen gemäß der Wiederherstellungsanforderung sofort an Transaktionsgrenzen zu trennen und wiederherzustellen. Nach dem Empfangen dieser Anforderung gibt der Verbindungsanforderungs-Empfangsbereich 160 eine Verbindungsauflösungsanforderung an den Verbindungsauflösungsteil 152 aus, richtet neue Verbindungen mit verteilten Datenbank-Servereinheiten ein und gibt einen Hinweis über die neuen Verbindungen an den Treiberbereich 162 zurück.
  • Wenn diese überschüssige Arbeitslast zum Beispiel auf einen physischen Knoten fällt, auf dem die Datenbank-Servereinheit A bereitgestellt ist, trennt der Treiberbereich 162 sofort die Verbindung I 156a zu der Servereinheit A und richtet eine Anforderung an den Verbindungsanforderungs-Empfangsbereich 160 zwecks Wiederherstellung der Verbindung. Zum Beispiel übernimmt der Verbindungsanforderungs-Empfangsbereich 160 die Verbindung II 156b zu der Datenbank-Servereinheit A', um die Verbindung zwischen der verteilten Datenbank A und dem Client aufrechtzuerhalten.
  • Die Verbindungsverteilung und -wiederherstellung werden durch den oben erwähnten Planungsteil für dynamischen Lastausgleich 148 geplant, und die Wiederherstellung der Verbindung wird durch den Verbindungsanforderungs-Empfangsbereich 160 und den Treiberbereich 162 bewirkt, indem die Verbindung zu einer Servereinheit auf einem physischen Knoten mit einer den Zielwert übersteigenden Arbeitslast getrennt und zu einer Servereinheit auf einem physischen Knoten mit einer geringeren Arbeitslast verlagert wird, wodurch die Arbeitslast zwischen physischen Knoten ausgeglichen wird.
  • (2.2) Verfahren zur Verbindungsverteilung
  • Im Folgenden wird der Ablauf der durch den Verbindungsverteilungsbereich 140 durchgeführten Verbindungsverteilung genauer unter Bezugnahme auf 7 beschrieben. 7 ist ein Ablaufplan, der den Ablauf der durch den Verbindungsverteilungsbereich 140 durchgeführten Verbindungsverteilung zeigt. Der in 7 gezeigte Prozess beginnt in Schritt S100 zum Beispiel als Reaktion auf das Aktivieren einer Verbindungsverteilungsfunktion.
  • In Schritt S101 springt der Verbindungsverteilungsbereich 140 zurück zu Schritt S101, bis eine vorgegebene Zeitspanne abgelaufen ist (NEIN in Schritt S101). Während dieser Zeitspanne wird die Verbindungsverteilung geprüft, und eine Zeitspanne kann entsprechend dem Ausmaß der Laständerung in Abhängigkeit von den Eigenschaften der Client-Anwendung eingestellt werden. Nach dem Ablauf der vorgegebenen Zeitspanne in Schritt S101 (JA) geht der Prozess weiter zu Schritt S102.
  • In Schritt S102 erfasst der Leistungsdatenerfassungsteil 141 Leistungsdaten auf der verteilten Datenbankumgebung. In Schritt S103 erfasst der Bereitstellungsdatenerfassungsteil 144 Erfassungsdaten auf der verteilten Datenbankumgebung. In Schritt S104 verwendet der Laststatusberechnungsteil 146 die erfassten Leistungsdaten und Bereitstellungsdaten, um den Laststatus einschließlich der Lastbewertungszahl für jeden physischen Knoten und den Anteil jeder Datenbank-Servereinheit auf jedem physischen Knoten an der Lastbewertungszahl zu berechnen. Gemäß der im Folgenden beschriebenen Ausführungsform werden der Ressourcenauslastungswert für jeden physischen Knoten und das Verhältnis oder der Anteil jeder Datenbank-Servereinheit auf dem physischen Knoten in Bezug auf den Ressourcenauslastungswert (im Folgenden als Ressourcenauslastungsgrad bezeichnet) als Laststatus für jeden physischen Knoten verwendet.
  • In Schritt S105 berechnet der Planungsteil für dynamischen Lastausgleich 148 einen Zielwert T für den Ressourceauslastungswert gemäß dem folgenden mathematischen Ausdruck (1), wobei Ri gleich dem Ressourcenauslastungswert des physischen Knotens i (i = 1, ..., I) ist, zu dem die Servereinheit gehört, und durch den Laststatusberechnungsteil 146 berechnet wird, C gleich einem Mittelwert der Zunahmen der Anzahl von Verbindungen ist, die während der vorgegebenen Zeitspanne eintreten können und r gleich dem Ressourceauslastungswert ist, der einer Verbindung entspricht: [Ausdruck 1]
    Figure 00240001
  • Hierbei ist der Zielwert T gleich einem Prüfzielwert zum Festlegen des Anteils der Verbindungsverteilung, um die Arbeitslast auf jedem physischen Knoten unter Berücksichtigung des aktuellen Verbindungsstatus und von Verbindungsänderungen während der vorgegebenen Zeitspanne auszugleichen. Der Mittelwert C der Zunahmen der Anzahl von Verbindungen kann zum Beispiel als Leistungswert von Seiten der Datenbank erfasst werden. In Schritt S106 legt der Planungsteil für dynamischen Lastausgleich 148 den Anteil der Verbindungsverteilung für eine Servereinheit auf jedem physischen Knoten gemäß dem berechneten Zielwert T fest. Hierbei wird davon ausgegangen, dass ein verteilter Datenbank-Server gleichermaßen auf jedem physischen Knoten i (i = 1, ..., I) bereitgestellt wird und die Anteile der Verbindungsverteilung für jede Servereinheit der verteilten Datenbank auf jedem physischen Knoten i gleich T – R1:T – R2:...:T-RI sind.
  • In dem obigen mathematischen Ausdruck (1) ist der einer Verbindung entsprechende Ressourcenauslastungswert r gleich einem entsprechenden Ressourcenauslastungswert auf dem physischen Knoten, und wenn die Gesamtzahl der Verbindungen auf jedem physischen Knoten in Form der Leistungsdaten erfasst werden kann, kann der entsprechende Wert berechnet werden, indem das Hauptaugenmerk auf einen physischen Knoten mit der höchsten Arbeitslast gemäß dem folgenden mathematischen Ausdruck (2) gelegt wird, wobei Rs gleich dem Ressourcenauslastungswert des physischen Knotens und m gleich der Gesamtzahl von Verbindungen auf dem physischen Knoten ist: [Ausdruck 2]
    Figure 00250001
  • Wenn hingegen die Anzahl der Verbindungen aller verteilten Datenbanken in Form der Leistungsdaten erfasst werden kann, kann auch der einer Verbindung entsprechende Ressourcenauslastungswert r so berechnet werden, dass das Hauptaugenmerk auf eine verteilte Datenbank mit der höchsten Arbeitslast gelegt wird, um den Gesamtauslastungswert für die durch die verteilte Datenbank genutzten Ressourcen aus dem Ressourcenauslastungswert jedes physischen Knotens, auf dem die verteilte Datenbank-Servereinheit bereitgestellt ist, und dem Ressourcenauslastungsgrad der verteilten Datenbank-Servereinheit auf jedem physischen Knoten zu berechnen und diesen durch die Anzahl der Verbindungen aller verteilten Datenbanken zu teilen.
  • In einer Schleife von Schritt S107 bis Schritt S112 werden die Schritte S108 bis S111 auf jeder verteilten Datenbank ausgeführt. In einer Schleife von Schritt S108 bis Schritt S111 werden die Arbeitsschritte S109 und S110 auf der unter Hauptaugenmerk stehenden verteilten Datenbank für jeden i-ten bis I-ten physischen Knoten ausgeführt, um das Vorhandensein eines physischen Knotens zu erkennen, auf den eine den Zielwert übersteigende Arbeitslast entfällt. In Schritt S109 vergleicht der Planungsteil für dynamischen Lastausgleich 148 den Ressourcenauslastungswert Ri des physischen Knotens i mit dem oben erwähnten Zielwert T, um zu ermitteln, ob der Ressourcenauslastungswert Ri den Zielwert T übersteigt. Wenn in Schritt S109 festgestellt wird, dass der Ressourcenauslastungswert Ri den Zielwert T nicht übersteigt (NEIN), geht die Verarbeitung weiter zu Schritt S111.
  • Nach dem Verlassen der Schleife von Schritt S107 bis Schritt S112 sammelt der Verbindungspoolsteuerteil 150 in Schritt 113 im Poolbereich 154 eine ausreichende Anzahl von Verbindungen für jeden physischen Knoten mit einem Ressourcenauslastungswert Ri an, der kleiner als der Zielwert T (Ri < T) gemäß dem Anteil der Verbindungsverteilung ist, und die Verarbeitung springt zurück zu Schritt S101, um zu warten, bis die nächste Zeitspanne abgelaufen ist. Die Verarbeitung zur Steuerung des Poolvolumens in Schritt S113 veranlasst den Verbindungsauflösungsteil 152, neue Verbindungen gemäß dem festgelegten Anteil der Verbindungsverteilung im Umlaufverfahren zu verteilen, darunter wiederhergestellte Verbindungen und neue Verbindungen. Ausgehend davon, dass auf jedem physischen Knoten i (i = 1, ..., I) gleichermaßen eine verteilte Datenbank-Servereinheit bereitgestellt ist, wird die Wahrscheinlichkeit Si für das Zuordnen einer Verbindung für jeden physischen Knoten durch eine im folgenden mathematischen Ausdruck (3) gezeigte Beziehung ausgedrückt (8): [Ausdruck 3]
    Figure 00260001
  • Wenn in Schritt S109 hingegen festgestellt wird, dass der Ressourcenauslastungswert Ri den Zielwert T übersteigt (JA), geht die Verarbeitung weiter zu Schritt S110. In Schritt S110 fordert der Planungsteil für dynamischen Lastausgleich 148 den Treiberbereich 162 auf, eine Verbindung aus der Anzahl von Verbindungen Q zu einer Servereinheit einer unter Hauptaugenmerk stehenden verteilten Datenbank auf jedem physischen Knoten, die der Differenz des Ressourcenauslastungswertes Ri des physischen Knotens entspricht, zu trennen und wiederherzustellen, welche den Zielwert T für die unter Hauptaugenmerk stehende verteilte Datenbank übersteigt (8). Hierbei kann die Anzahl der Verbindungen Q, die der obigen Differenz entsprechen, bei der das Trennen der Verbindung jedes physischen Knotens i angefordert wird, nach dem folgenden mathematischen Ausdruck (4) berechnet werden: [Ausdruck 4]
    Figure 00270001
  • Dann werden, wenn zwei oder mehr verteilte Datenbank-Servereinheiten auf dem physischen Knoten i untergebracht sind, in Schritt S110 Verbindungen aus der Gesamtzahl der Verbindungen Q wiederhergestellt, die dem Ressourcenauslastungsgrad der unter Hauptaugenmerk stehenden verteilten Datenbank auf dem physischen Knoten i entsprechen. Der Treiberbereich 162, der die Wiederherstellungsanforderung empfangen hat, trennt die der Wiederherstellungsanforderung zugehörigen Verbindungen und wandelt diese zum Zeitpunkt der Transaktionsgrenzen in neue Verbindungen um.
  • In der Ausführungsform der vorliegenden Erfindung wird die Verbindungsverteilung wie oben erwähnt gemäß dem Laststatus von physischen Knoten durchgeführt, sodass die Arbeitslast von physischen Knoten mit einer den Zielwert übersteigenden Arbeitslast zu physischen Knoten mit einer Arbeitslast verlagert, die kleiner als der Zielwert ist, und somit der Spitzenwert der gesamten Arbeitslast auf der Gruppe physischer Knoten 120 geglättet werden kann. Gemäß der Ausführungsform der vorliegenden Erfindung werden solche Operationen mit einem geringen Durchführungsaufwand wie das Überwachen des sich dynamisch ändernden Laststatus und des sich dynamisch ändernden Anteils der Verbindungsverteilung beim Client zusammen mit Änderungen des Laststatus ausgeführt, sodass die gesamte Arbeitslast auf den physischen Knoten ausgeglichen werden kann und die physischen Ressourcen besser ausgelastet werden können.
  • Bei dem Lastausgleichsverfahren unter Verwendung der Verbindungsverteilung gemäß der Ausführungsform kann die Datenbankbereitstellung ohne Rücksicht darauf geplant werden, dass der Laststatus schwer vorhersagbar ist. Da der Lastausgleich durch Steuern der Verbindungsverteilung jeder verteilten Datenbank in Bezug auf den Master und ein oder mehrere Replikate erfolgt, kann die Arbeitslast ferner ausschließlich durch lokale Planung und lokale Operationen angemessen geglättet werden, wobei eine plötzliche Überlastung oder redundante Ressourcen adaptiv bewältigt werden können, denen durch Erweitern der physischen Ressourcen oder Hinzufügen von Replikaten nur schwierig begegnet werden kann.
  • Da Verbindungen, die einem den Zielwert übersteigenden Lastanteil entsprechen, an Transaktionsgrenzen wiedereingerichtet werden, bleibt das Trennen der Verbindungen dem Benutzer verborgen, d. h. das Trennen ist für den Benutzer transparent. Somit kann sogar ein Benutzer für die Verbindungsverteilung in Betracht gezogen werden, der Verbindungen längere Zeit betreibt.
  • (3) Details zum Datenbankbereitstellungsplan
  • (3.1) Planungsverfahren für die Datenbankbereitstellung
  • Im Folgenden werden Arbeitsschritte zum Planen der Datenbankbereitstellung beschrieben, die für den Lastausgleich unter Verwendung der Verbindungsverteilung von Vorteil sind. Hierbei wird davon ausgegangen, dass die Anzahl verteilter Datenbanken gleich N, das Vielfache jeder verteilten Datenbank gleich M und die Anzahl physischer Knoten gleich K ist. Ferner wird davon ausgegangen, dass das Vielfache jeder verteilten Datenbank der einfacheren Beschreibung halber gleich ist, obgleich nicht beabsichtigt ist, die Zuweisung anderer Faktoren auszuschließen.
  • Da das Lastausgleichsverfahren unter Verwendung der Verbindungsverteilung gemäß der Ausführungsform der vorliegenden Erfindung den Lastausgleich von physischen Knoten bezweckt, die zwei oder mehr verteilte Datenbank-Servereinheiten aufnehmen, unterliegt das Verfahren ferner der Vorbedingung, dass die Datenbankbereitstellung eine oder mehrere Kombinationen von Serversätzen auf physischen Knoten hervorbringen kann. Deshalb müssen die Bedingungen M ≥ 2 und K < M·N erfüllt sein. Ferner werden, wenn das Vielfache M verteilter Datenbanken die Anzahl physischer Knoten K übersteigt, immer zwei oder mehr Servereinheiten derselben verteilten Datenbank auf ein und demselben physischen Knoten bereitgestellt. Wenn das Vielfache M verteilter Datenbanken gleich der Anzahl physischer Knoten K ist, werden auf jedem physischen Knoten alle der verteilten Datenbank-Servereinheiten bereitgestellt, sodass die Arbeitslast praktisch nicht verlagert werden kann. Deshalb lautet eine weitere Bedingung M < K.
  • 9 ist ein Ablaufplan, der den Ablauf der Planung der Datenbankbereitstellung zeigt, der durch den Datenbankplanungsbereich gemäß der Ausführungsform der vorliegenden Erfindung ausgeführt wird. Der in 9 gezeigte Ablauf beginnt in Schritt S200 als Reaktion auf eine Anweisung von einem Systemadministrator, eine erstmalige Bereitstellung vorzunehmen. In Schritt S201 empfängt der Bereitstellungsplanungsbereich 112 die Anwendung von dem Systemadministrator, eine erstmalige Bereitstellung vorzunehmen. In Schritt S202 ermittelt der Bereitstellungsplanungsbereich 112, ob die Anzahl physischer Knoten gleich der oder größer als die Anzahl verteilter Datenbanken N ist und verzweigt dann den Prozessablauf in Abhängigkeit vom Größenverhältnis zwischen der Anzahl physischer Knoten K und der Anzahl verteilter Datenbanken N.
  • Wenn in S202 festgestellt wird, dass die Anzahl physischer Knoten K gleich der oder größer als die Anzahl verteilter Datenbanken N ist (JA), verzweigt der Prozess zu Schritt S203. In Schritt S203 ruft der Bereitstellungsplanungsbereich 112 einen Bereitstellungsplanungsalgorithmus A(n) zum Bereitstellen von n verteilten Datenbanken auf n physischen Knoten auf, um einen Bereitstellungsplan zum Bereitstellen von N verteilten Datenbanken auf N physischen Knoten in K physischen Knoten umzusetzen. Genauer gesagt, der Bereitstellungsplanungsbereich 112 setzt n ← N und gibt den Faktor M als Parameter vor, um den Bereitstellungsplanungsalgorithmus A(n) aufzurufen und den Bereitstellungsplan zum Bereitstellen von Master und Replikaten von N verteilten Datenbanken auf N beliebigen physischen Knoten in K physischen Knoten umzusetzen. Auf diese Weise wird die Bereitstellung von M Datenbank-Servereinheiten von N verteilten Datenbanken auf N physischen Knoten geplant, wobei K – N physische Knoten in K physischen Knoten als leere Knoten übrig bleiben, auf denen keine Datenbank bereitgestellt ist. Die Details des Bereitstellungsplanungsalgorithmus A(n) werden später beschrieben.
  • In Schritt S204 verlagert der Bereitstellungsplanungsbereich 112 O Datenbank-Servereinheiten in N × M Datenbank-Servereinheiten, deren Bereitstellung in Schritt S203 geplant wurde, beginnend mit der letzten im Bereitstellungsplan der Reihe nach zu K – N in Schritt S203 übrig gebliebenen leeren Knoten ohne bereitgestellte Datenbank. Die Anzahl der O zu verlagernden Servereinheiten kann mit dem folgenden mathematischen Ausdruck (5) berechnet werden: [Ausdruck 5]
    Figure 00300001
  • In dem obigen mathematischen Ausdruck (5) stellt die Schreibweise in eckigen Klammern mit fehlendem Oberteil eine Abrundungsfunktion dar. Der obige mathematische Ausdruck (5) zeigt eine Funktion zum Berechnen der Anzahl der Verlagerungen, damit diese gleich der Anzahl der auf jedem physischen Knoten bereitgestellten Servereinheiten sind, jedoch ist die Berechnung nicht auf die Verwendung dieser Funktion beschränkt, sondern anstelle der Abrundungsfunktion kann zum Beispiel eine Aufrundungsfunktion verwendet werden.
  • 10 ist ein Funktionsschaubild zum Beschreiben eines Verfahrens zum Bereitstellen verteilter Datenbank-Servereinheiten auf physischen Knoten. 10A zeigt ein Bereitstellungsverfahren, wenn die Anzahl der physischen Knoten K gleich der oder größer als die Anzahl verteilter Datenbanken N ist. Wenn die Anzahl der physischen Knoten K gleich der oder größer als die Anzahl verteilter Datenbanken N ist, wird gemäß 10A die Bereitstellung von M Servereinheiten von N verteilten Datenbanken auf N physischen Knoten in K physischen Knoten geplant, die dann gleichmäßig auf die übrig gebliebenen K – N leeren Knoten verteilt werden. Das führt dazu, dass die Servereinheiten gleichmäßig auf den K physischen Knoten bereitgestellt sind.
  • In Schritt S205 übergibt der Bereitstellungsplanungsbereich 112 die Strukturdefinition der wie oben erwähnt in Schritt S203 und Schritt S204 geplanten Datenbankbereitstellung an den Bereitstellungsbereich 114 und weist den Bereitstellungsbereich 114 an, eine verteilte Bereitstellung vorzunehmen und eine verteilte Datenbankumgebung zu erzeugen. Anschließend endet der Prozess in Schritt S206.
  • Wenn in Schritt S202 hingegen festgestellt wird, dass die Anzahl der physischen Knoten K kleiner als die Anzahl verteilter Datenbanken N ist (NEIN), verzweigt der Prozess zu Schritt S207. In Schritt S207 setzt der Bereitstellungsplanungsbereich 112 zuerst i = 1 und ruft in Schritt S208 den Bereitstellungsplanungsalgorithmus A(n) auf, um einen Bereitstellungsplan zum Bereitstellen von K verteilten Datenbanken in N auf K physischen Knoten umzusetzen. Genauer gesagt, der Bereitstellungsplanungsbereich 112 setzt n ← K und gibt den Faktor M als Parameter vor, um den Bereitstellungsplanungsalgorithmus A(n) aufzurufen und den Bereitstellungsplan zum Bereitstellen von Master und Replikaten beliebiger K verteilter Datenbanken in N auf K physischen Knoten umzusetzen. Auf diese Weise wird die Bereitstellung von M Servereinheiten von K verteilten Datenbanken auf K physischen Knoten geplant. In Schritt S209 wird die Anzahl der ungeplanten verteilten Datenbanken L nach dem folgenden mathematischen Ausdruck (6) berechnet:
  • [Ausdruck 6]
    • L = N – K·i (6)
  • In Schritt S210 ermittelt der Bereitstellungsplanungsbereich 112, ob die Anzahl ungeplanter verteilter Datenbanken L die Anzahl der physischen Knoten K übersteigt. Wenn in Schritt S210 festgestellt wird, dass die Anzahl ungeplanter verteilter Datenbanken L die Anzahl der physischen Knoten K übersteigt (JA), verzweigt die Verarbeitung zu Schritt S211, um i um eins zu erhöhen, und die Verarbeitung springt zurück zu Schritt S208. Auf diese Weise wird der Bereitstellungsplan von weiteren K verteilten Datenbanken in der Anzahl ungeplanter verteilter Datenbanken L umgesetzt. Wenn in Schritt S210 hingegen festgestellt wird, dass die Anzahl ungeplanter verteilter Datenbanken L gleich der oder kleiner als die Anzahl der physischen Knoten K ist (NEIN), verzweigt die Verarbeitung zu Schritt S212.
  • In Schritt S212 setzt der Bereitstellungsplanungsbereich 112 n ← L und gibt das Vielfache M als Parameter vor, um den Bereitstellungsplanungsalgorithmus A(n) aufzurufen und einen Bereitstellungsplan zum Bereitstellen von Master und Replikaten der übrig gebliebenen L verteilten Datenbanken abzüglich der K Datenbanken auf L physischen Knoten umzusetzen. In Schritt S213 verlagert der Bereitstellungsplanungsbereich 112 L × M Datenbank-Servereinheiten, deren Bereitstellung in Schritt S212 geplant wurde, beginnend mit der letzten im Bereitstellungsplan der Reihe nach zu den anderen K – L physischen Knoten. Ebenso wie in dem obigen mathematischen Ausdruck (5) kann die Anzahl der zu verlagernden Servereinheiten als Funktion zum Berechnen der Anzahl der Verlagerungen gewählt werden, damit diese gleich der Anzahl der auf jedem physischen Knoten bereitgestellten Servereinheiten ist.
  • In Schritt S205 übergibt der Bereitstellungsplanungsbereich 112 dem Bereitstellungsbereich 114 die Strukturdefinition der in Schritt S207 bis Schritt S213 geplanten Datenbankbereitstellung und weist den Bereitstellungsbereich 114 an, eine Verteilung vorzunehmen und eine verteilte Datenbankumgebung zu erzeugen. Anschließend endet der Prozess in Schritt S206.
  • 10B ist ein Funktionsschaubild zum Beschreiben eines Bereitstellungsverfahrens, wenn die Anzahl der physischen Knoten K kleiner als die Anzahl verteilter Datenbanken N ist. Wenn die Anzahl der physischen Knoten K kleiner als die Anzahl verteilter Datenbanken N ist, werden gemäß 10B zuerst K von N verteilten Datenbanken auf K physischen Knoten bereitgestellt. Dann wird die Bereitstellung jeder der K verteilten Datenbanken in derselben Weise geplant, bis die Anzahl der übrig bleibenden verteilten Datenbanken kleiner als K wird. Wenn die Anzahl der übrig bleibenden verteilten Datenbanken L kleiner als K wird, wird der Bereitstellungsplan zum Bereitstellen von L verteilten Datenbanken auf L physischen Knoten umgesetzt, um Servereinheiten beginnend mit der letzten im Bereitstellungsplan der Reihe nach auf K – L physische Knoten zu verteilen, um die Servereinheiten gleichmäßig auf den K physischen Knoten bereitzustellen.
  • (3.2) Datenbankbereitstellungsalgorithmus A(n)
  • 11 ist ein Ablaufplan, der den Ablauf des durch den Bereitstellungsplanungsbereich gemäß der Ausführungsform der vorliegenden Erfindung ausgeführten Bereitstellungsplanungsalgorithmus A(n) zeigt. Die in 11 gezeigte Verarbeitung wird in Schritt S203, Schritt S208 oder Schritt S212 von 10 aufgerufen, um mit Schritt S300 zu beginnen. In Schritt S301 plant der Bereitstellungsplanungsbereich 112 die Bereitstellung einer Datenbank-Servereinheit (z. B. einer Master-Servereinheit) von jeder von n verteilten Datenbanken auf n physischen Knoten und weist jedem physischen Knoten und jeder verteilten Datenbank Zahlen zu (A1 in 12).
  • In Schritt S302 plant der Bereitstellungsplanungsbereich 112 die Bereitstellung einer anderen Datenbank-Servereinheit der n verteilten Datenbanken (z. B. eines Replikats der ersten Servereinheit) jeweils auf physischen Knoten mit den aufeinander folgenden Zahlen von physischen Knoten, die in Schritt S301 bereitgestellt wurden (A2 in 12). Im vorliegenden Zusammenhang sind unter den „aufeinander folgenden Zahlen” Werte von 1 bis n zu verstehen, und (n + 1) springt wieder um auf 1. Wenn in Schritt S301 und Schritt S302 die Seiten, die eine Verbindung zwischen physischen Knoten herstellen, auf denen dieselbe verteilte Datenbank-Servereinheit bereitgestellt ist, aneinander gelegt werden, entsteht ein aus n physischen Knoten bestehender Ring. Dieser Ring bildet einen Cluster, und die Verwendung dieses Bereitstellungsplanungsalgorithmus erweitert den Cluster auf eine Anzahl von n Knoten.
  • In Schritt S303 ermittelt der Bereitstellungsplanungsbereich 112, ob das Vielfache M drei oder mehr beträgt. Wenn in Schritt S303 festgestellt wird, dass das Vielfache M kleiner als drei ist (NEIN), verzweigt der Prozess zu Schritt S309, wo der Prozess beendet wird, um zum aufrufenden Modul zurückzukehren. Wenn in Schritt S303 hingegen festgestellt wird, dass das Vielfache M drei oder mehr beträgt (JA), durchläuft der Prozess eine Schleife von Schritt S304 bis zu Schritt S306.
  • In der Schleife von Schritt S304 bis zu Schritt S306 wird der Arbeitsschritt S305 (M – 2)-mal (M – 2 times) wiederholt, um die Bereitstellung der übrig gebliebenen Replikate jeder verteilten Datenbank zu planen. In Schritt S305 wird die Bereitstellung des i-ten Datenbank-Servers (d. h. eines Replikats des i + 1-ten Servers) der übrig gebliebenen Replikate von n verteilten Datenbanken nach dem folgenden mathematischen Ausdruck (7) geplant (A3 in 12). [Ausdruck 7]
    Figure 00340001
  • In dem obigen mathematischen Ausdruck (7) stellt die Schreibweise in eckigen Klammern mit fehlendem Unterteil eine Aufrundungsfunktion dar. Ferner sind in dem obigen mathematischen Ausdruck (7) k gleich einer in Schritt S301 zugewiesenen Zahl und i gleich einer Zahl zum Kennzeichnen jedes in Schritt S301 und Schritt S302 in den verteilten Datenbankeinheiten übrig gebliebenen Replikats. Der obige mathematische Ausdruck (7) stellt eine Funktion zum Bereitstellen von n verteilten Datenbank-Servereinheiten auf dem obigen Ring von physischen Knoten in der Weise dar, dass sie den längsten Abstand aufweisen, ist jedoch nicht speziell darauf beschränkt. Nach dem Verlassen der Schleife von Schritt S304 bis zu Schritt S306 ermittelt der Bereitstellungsplanungsbereich 112 in Schritt S307, ob die Bedingungen ungeradzahliges M und geradzahliges n erfüllt sind. Wenn in Schritt S307 festgestellt wird, dass die Bedingungen ungeradzahliges M und geradzahliges n nicht erfüllt sind (NEIN), wird der Prozess in Schritt S309 beendet, um zum aufrufenden Modul zurückzukehren.
  • Wenn in Schritt S307 hingegen festgestellt wird, dass die Bedingungen ungeradzahliges M und geradzahliges n erfüllt sind (JA), geht der Prozess weiter zu Schritt S308. In Schritt S308 stellt der Bereitstellungsplanungsbereich 112 auf den Ordinalpositionen i = (M – 1)/2 angeordnete Datenbank-Server auf nacheinander nummerierten physischen Knoten bereit, wobei kein Datenbank-Server so bereitgestellt ist, dass Kombinationen von k-ten und k + n – 1-ten bereitgestellten Datenbanken einander nicht überlappen. Auf diese Weise wird eine Datenbankbereitstellung so geplant, dass eine Verbindungsverteilung in einer Aufeinanderfolge auf n physische Knoten verteilt wird.
  • Gemäß dem oben erwähnten Ablauf der Datenbankbereitstellung wird die Datenbankbereitstellung so geplant, dass die oben erwähnte Arbeitslast eine übertragbare Beziehung aufweist, der Cluster möglichst groß ist und die Anzahl der Knoten in dem Cluster genau der Anzahl der physischen Knoten K entspricht. Dadurch kann ein Lastausgleich in der gesamten Gruppe physischer Knoten unter Verwendung der oben erwähnten Verbindungsverteilung durchgeführt werden.
  • (3.3) Austausch der Datenbankbereitstellung
  • Im Folgenden wird eine Zusatzkonfiguration zum Verringern von langfristigen Lastungleichgewichten beschrieben. Dem Zusatzkonfigurationsbereich 116 der Ausführungsform obliegt die Funktion, langfristige Lastungleichgewichte zwischen physischen Knoten zu überwachen und die Datenbankbereitstellung angemessen zu verändern oder zu korrigieren, um die Lastungleichgewichte auszuschließen. Im vorliegenden Zusammenhang ist unter einem langfristigen Lastungleichgewicht zwischen physischen Knoten eine für die Gruppe von physischen Knoten 120 normalisierte ungleichmäßige Lastverteilung zu verstehen, die aus dem Mittelwert der Bewertungszahlen der Arbeitslast auf entsprechenden physischen Knoten für eine fest vorgegebene Zeitspanne ermittelt werden kann. Die Bewertungszahl der Arbeitslast auf jedem physischen Knoten wird durch die oben erwähnte Verbindungsverteilung gesteuert, um eine asymptotische Annäherung an den Zielwert T zu erreichen. Wenn sich die Arbeitslast jedoch auf eine bestimmte verteilte Datenbank konzentriert, kann sie ungleichmäßig auf mehrere physische Knoten verteilt sein.
  • 13 ist ein Funktionsschaubild, das die Lastverteilung in einer Datenbankumgebung zeigt, in der verteilte Datenbanken mit einem Vielfachen von 2 in Form eines Ringes verteilt bereitgestellt sind. In 13 ist eine Datenbankbereitstellung unter Verwendung der oben erwähnten übertragbaren Beziehung, nicht jedoch die physische Anordnung von physischen Knoten dargestellt. Wenn sich bei dem in 13 gezeigten Ring aus physischen Knoten die Arbeitslast auf eine verteilte Datenbank konzentriert, kann die Arbeitslast auf zwei oder mehr benachbarten physischen Knoten im Vergleich zur Arbeitslast auf den anderen Knoten erhöht werden. In diesem Fall kann die Arbeitslast zwischen den benachbarten physischen Knoten nicht wirksam verlagert werden.
  • Deshalb erfasst der Zusatzkonfigurationsbereich 116 Leistungsdaten von dem Verbindungsverteilungsbereich 140, um ein solches normalisiertes Lastungleichgewicht zu überwachen. Wenn der Zusatzkonfigurationsbereich 116 ein normalisiertes Lastungleichgewicht erkennt, ändert dieser den durch den Bereitstellungsplanungsbereich 112 erstellten Datenbankbereitstellungsplan in der Weise, dass eine der auf physischen Knoten mit ungleichmäßig verteilter Arbeitslast (z. B. das Replikat A') betriebene Servereinheit gegen eine andere Servereinheit (z. B. das Replikat X') ausgetauscht wird, das auf einem physischen Knoten mit einer vergleichsweise geringen Arbeitslast betrieben wird, und veranlasst den Bereitstellungsbereich 114, die Datenbankbereitstellung durchzuführen. Da der Austausch von Replikaten einen höheren Systemaufwand verursacht als die Verbindungsverteilung, ist darauf zu achten, dass dieser selektiv in einem Zeitschlitz mit geringer Arbeitslast wie beispielsweise gegen Mitternacht oder während Wartungsarbeiten durchgeführt werden kann. Der Zusatzkonfigurationsbereich 116 stellt einen Bereitstellungsaustauschbereich der Ausführungsform dar.
  • (4) Alternative Ausführungsformen
  • Gemäß der oben erwähnten Ausführungsform werden der Verbindungsanforderungs-Empfangsbereich 160 und der Treiberbereich 162 auf dem Anwendungs-Server 130 realisiert, auf dem Client-Anwendungen ausgeführt werden, wobei der Verbindungsverteilungsbereich 140 als weitere Einheit auf dem Verbindungsverteilungs-Server 132 realisiert wird. Die Konfiguration ist jedoch nicht auf die in 1 gezeigte Konfiguration beschränkt, und der Verbindungsverteilungsbereich 140, der Verbindungsanforderungs-Empfangsbereich 160, der Treiberbereich 162 und die Clients 164 können gemäß einer weiteren Ausführungsform auf demselben Server 134 realisiert werden, was durch die gestrichelte Linie in 1 angezeigt wird.
  • Gemäß der oben erwähnten Ausführungsform wird der Datenbankbereitstellungs-Server 110 ferner als weitere Vorrichtung realisiert, die von dem Anwendungs-Server 130 und dem Verbindungsverteilungs-Server 132 getrennt ist, jedoch kann der Datenbankbereitstellungs-Server 110 als integraler Bestandteil des Anwendungs-Servers 130 oder des Verbindungsverteilungs-Servers 132 oder als integraler Bestandteil des Servers 134 konfiguriert werden.
  • Wie oben beschrieben kann gemäß der oben erwähnten Ausführungsform in einer verteilten Datenbankumgebung ein Datenverarbeitungssystem, eine Datenbankvorrichtung, ein Lastausgleichsverfahren, ein Planungsverfahren für die Datenbankbereitstellung und ein Programm bereitgestellt werden, die im Fall einer plötzlichen Überlastung oder redundanter physischer Ressourcen anpassungsfähig und flexibel mit geringem Leistungsverlust für Operationen reagieren können, um eine wirksame verteilte Datenbankumgebung auf begrenzten physischen Ressourcen zu erzeugen.
  • Die oben erwähnten Funktionen der vorliegenden Erfindung können durch ein maschinenausführbares Programm umgesetzt werden, das in einer herkömmlichen Programmiersprache wie beispielsweise Assembler, C, C++, Java®, JavaBeans®, Java® Applet, JavaScript®, Perl oder Ruby oder in einer objektorientierten Programmiersprache geschrieben ist und gespeichert in einem maschinenlesbaren Medium in der Form wie beispielsweise einem ROM, einem EEPROM, einem EPROM, einem Flash-Speicher, einer Diskette, einem CD-ROM, einer CD-RW, einer DVD-ROM, einem DVD-RAM, einer DVD-RW, einer Blue-ray-Platte, einer SD (Secure Digital) Memory-Karte oder einer MO (Magneto Optical Disc) verbreitet werden kann.
  • Obwohl die vorliegende Erfindung unter Verwendung bestimmter Ausführungsformen beschrieben wurde, soll die vorliegende Erfindung nicht auf die bestimmten Ausführungsformen beschränkt sein, sondern kann innerhalb ihres Schutzumfangs geändert werden, wobei es denkbar ist, dass ein Fachmann ein oder mehrere Elemente in jeder anderen Ausführungsform hinzufügen, ändern und/oder entfernen kann, die sämtlich durch den Schutzumfang der vorliegenden Erfindung erfasst werden, solange sie sich im Sinne der vorliegenden Erfindung auswirken.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 2001-175681 [0006]

Claims (25)

  1. Informationsverarbeitungssystem, das aufweist: eine Vielzahl von Datenbank-Servern, die auf einer Vielzahl physischer Knoten verteilt bereitgestellt sind, wobei von der Vielzahl von Datenbank-Servern zwei oder mehr Server, die für voneinander verschiedene Daten zuständig sind, auf ein und demselben physischen Knoten bereitgestellt sind und ein oder mehrere Server, die für dieselben Daten wie einer der beiden oder mehr Server zuständig sind, auf einem oder mehreren anderen physischen Knoten bereitgestellt sind; und einen Verteilungsbereich zum Verteilen von Verbindungen durch Überwachen der Arbeitslast auf jedem der physischen Knoten und Verlagern einer Verbindung mit einem Client von einem Datenbank-Server auf einem physischen Knoten mit einer Arbeitslast, die einen Zielwert übersteigt, zu einem Datenbank-Server auf einem physischen Knoten mit einer Arbeitslast, die geringer als der Zielwert ist, sodass die Verbindungen so verteilt sind, dass die Arbeitslast ausgeglichen wird.
  2. Informationsverarbeitungssystem nach Anspruch 1, wobei der Verteilungsbereich einen Ausgleichsplanungsbereich zum Planen der Wiederherstellung einer Anzahl von Verbindungen enthält, die einem den Zielwert übersteigenden Auslastungsbetrag entsprechen, um eine neue Verbindungsverteilung einschließlich der Wiederherstellung von Verbindungen mit einer Wahrscheinlichkeit zu planen, die einem Auslastungsbetrag unterhalb des Zielwertes entspricht, das Datenverarbeitungssystem ferner einen Wiederherstellungssteuerbereich zum sofortigen Trennen von Verbindungen an Transaktionsgrenzen, deren Wiederherstellung geplant ist, und zum Übernehmen neuer Verbindungen aufweist, die in Beziehung zu der Wiederherstellung stehen, und das Verlagern durch Trenne der Verbindungen, deren Wiederherstellung geplant ist, und Übernehmen der neuen Verbindungen erfolgt.
  3. Informationsverarbeitungssystem nach Anspruch 2, wobei der Verteilungsbereich einen Poolsteuerteil zum Steuern eines Umfangs eines Pools von Verbindungen, die entsprechend einem Anteil an der geplanten Verteilung zu jedem der Datenbank-Server eingerichtet sind, und einen Verbindungsauflösungsteil zum Zurückgeben, als Reaktion auf eine Verbindungsübernahmeanforderung, einer eingerichteten Verbindung von den zusammengefassten Verbindungen zu einem Datenbank-Server enthält, der für Daten zuständig ist, die in Beziehung zu der Anforderung stehen, und das Informationsverarbeitungssystem ferner einen Verbindungsanforderungs-Empfangsbereich zum Ausgeben einer Übernahmeanforderung an den Auflösungsteil als Reaktion auf eine Anforderung zum Wiederherstellen von dem Wiederherstellungssteuerbereich oder einer Anforderung nach einer neuen Verbindung von dem Client, zum Empfangen einer zurückgegebenen Verbindung und zum Wiedereinrichten einer Verbindung zwischen dem Client und dem Datenbank-Server aufweist.
  4. Informationsverarbeitungssystem nach Anspruch 3, wobei jeweils verschiedene Serversätze auf zwei oder mehr physischen Knoten bereitgestellt sind, auf denen jeweils Server, die für dieselben Daten zuständig sind, als dieselben Elemente bereitgestellt sind
  5. Informationsverarbeitungssystem nach Anspruch 4, wobei die Vielzahl von Datenbank-Servern einen Graph bilden, der durch eine Kette von Kanten gezeichnet ist, die eine Verbindung zwischen Servern herstellen, die für ein und dieselben Daten zuständig sind, und die Anzahl von Knoten in dem Graph einschließlich physischer Knoten als Knoten, auf denen zwei oder mehr Server bereitgestellt sind, die für voneinander verschiedene Daten zuständig sind, gleich der Anzahl von physischen Knoten ist, auf denen die Vielzahl von Datenbank-Servern verteilt bereitgestellt sind.
  6. Informationsverarbeitungssystem nach Anspruch 1, das ferner einen Bereitstellungsplanungsbereich zum Planen der Bereitstellung der Vielzahl von Datenbank-Servern in der Weise aufweist, dass zwei oder mehr Server, die für dieselben Daten zuständig sind, nicht auf demselben physischen Knoten bereitgestellt sind.
  7. Informationsverarbeitungssystem nach Anspruch 1, das ferner einen Bereitstellungsaustauschbereich zum Erkennen von Lastungleichgewichten zwischen den physischen Knoten innerhalb einer vorgegebenen Zeitspanne und zum Austauschen von Daten, für die ein Datenbank-Server auf einem physischen Knoten mit einer unausgeglichenen Arbeitslast zuständig ist, gegen Daten aufweist, für die ein Datenbank-Server auf einem anderen physischen Knoten zuständig ist.
  8. Informationsverarbeitungssystem nach Anspruch 2, wobei der Verteilungsbereich ferner einen Leistungserfassungsteil zum Erfassen von Leistungsdaten auf der Vielzahl von Datenbank-Servern, einen Bereitstellungserfassungsteil zum Erfassen einer Bereitstellungsstruktur der Vielzahl von Datenbank-Servern und einen Lastberechnungsteil zum Berechnen der Arbeitslast für jeden der physischen Knoten aus den Leistungsdaten und der Bereitstellungsstruktur enthält, und der Ausgleichsplanungsbereich einen Kontrollzielwert für die Arbeitslast aus der Arbeitslast für jeden der physischen Knoten, der Zunahme der Anzahl geschätzter Verbindungen und der Arbeitslast je Verbindung berechnet und ferner einen Anteil der Verbindungsverteilung ermittelt.
  9. Informationsverarbeitungssystem, das aufweist: eine Vielzahl von Datenbank-Servern, die auf einer Vielzahl von physischen Knoten verteilt bereitgestellt sind, wobei aus der Vielzahl von Datenbank-Servern ein erster Server, der für erste Daten zuständig ist, und ein zweiter Server, der für zweite Daten zuständig ist, auf einem ersten physischen Knoten bereitgestellt sind und ein dritter Server, der für die ersten Daten zuständig ist, auf einem zweiten physischen Knoten bereitgestellt ist; und einen Verteilungsbereich zum Überwachen der Arbeitslast auf dem ersten physischen Knoten und auf dem zweiten physischen Knoten, und wenn die Arbeitslast auf dem ersten physischen Knoten einen Zielwert übersteigt und die Arbeitslast auf dem zweiten physischen Knoten kleiner als der Zielwert ist, wird eine Verbindung mit einem Client zu dem ersten Server auf dem ersten physischen Knoten zu dem dritten Server auf dem zweiten physischen Knoten verlagert.
  10. Informationsverarbeitungsvorrichtung, die durch ein Netzwerk mit einer Vielzahl von physischen Knoten verbunden ist und aufweist: einen Poolbereich zum Zusammenfassen einer Vielzahl von Verbindungen zu einer Vielzahl von Datenbank-Servern, die auf der Vielzahl von physischen Knoten verteilt bereitgestellt sind, wobei von der Vielzahl von Datenbank-Servern zwei oder mehr Server, die für voneinander verschiedene Daten zuständig sind, auf ein und demselben physischen Knoten bereitgestellt sind und ein oder mehrere Server, die für dieselben Daten wie einer der zwei oder mehr Server zuständig sind, auf einem oder mehreren anderen physischen Knoten bereitgestellt sind; und einen Verteilungsbereich zum Verteilen von Verbindungen durch Überwachen der Arbeitslast auf den physischen Knoten und Verlagern einer Verbindung mit einem Client von einem Datenbank-Server auf einem physischen Knoten mit einer Arbeitslast, die einen Zielwert übersteigt, zu einem Datenbank-Server mit einer Arbeitslast, die geringer als der Zielwert ist, sodass die Verbindungen so verteilt sind, dass die Arbeitslast ausgeglichen wird.
  11. Informationsverarbeitungsvorrichtung nach Anspruch 10, wobei der Verteilungsbereich einen Ausgleichsplanungsteil zum Planen der Wiederherstellung einer Anzahl von Verbindungen, die einem Betrag der Arbeitslast entsprechen, der den Zielwert übersteigt, um eine neue Verbindungsverteilung einschließlich der wiederhergestellten Verbindungen mit einer Wahrscheinlichkeit, die einem Betrag der Arbeitslast unterhalb des Zielwertes entspricht, zu planen, und das Verlagern durch Trennen der Verbindungen, deren Wiederherstellung geplant ist, und Übernehmen der neuen Verbindungen erfolgt.
  12. Informationsverarbeitungsvorrichtung nach Anspruch 11, wobei der Verteilungsbereich einen Poolsteuerteil zum Steuern eines Umfangs eines Pools von Verbindungen, die entsprechend einem Anteil an der geplanten Verteilung zu jedem der Datenbank-Server eingerichtet sind, und einen Verbindungsauflösungsteil zum Zurückgeben, als Reaktion auf eine Verbindungsübernahmeanforderung, einer zu einem Datenbank-Server einzurichtenden Verbindung von den in dem Poolanteil zusammengefassten Verbindungen, wobei der Datenbank-Server in Beziehung zu der Anforderung steht.
  13. Informationsverarbeitungsvorrichtung, die durch ein Netzwerk mit einer Vielzahl von physischen Knoten verbunden ist und aufweist einen Bereitstellungsplanungsbereich zum Erstellen eines Plans zum verteilten Bereitstellen einer Vielzahl von Datenbank-Servern auf der Vielzahl von physischen Knoten, um eine Datenbankbereitstellung so zu planen, dass aus der Vielzahl von Datenbank-Servern zwei oder mehr Server, die für dieselben Daten zuständig sind, nicht auf ein und demselben physischen Knoten bereitgestellt werden, dass zwei oder mehr Server, die für voneinander verschiedene Daten zuständig sind, auf demselben physischen Knoten bereitgestellt werden, beziehungsweise dass ein oder mehrere Server, die für dieselben Daten wie einer der beiden oder mehr Server zuständig sind, auf einem oder mehreren anderen physischen Knoten bereitgestellt werden, um eine Verbindung mit einem Client von einem Datenbank-Server auf einem physischen Knoten mit einer Arbeitslast, die einen Zielwert übersteigt, zu einem Datenbank-Server auf einem physischen Knoten mit einer Arbeitslast übertragbar zu machen, die geringer als der Zielwert ist.
  14. Informationsverarbeitungsvorrichtung nach Anspruch 13, die ferner einen Bereitstellungsaustauschbereich zum Erkennen von Lastungleichgewichten zwischen den physischen Knoten innerhalb einer vorgegebenen Zeitspanne aufweist, um Daten, für die ein Datenbank-Server auf einem physischen Knoten mit einer unausgeglichenen Arbeitslast zuständig ist, gegen Daten auszutauschen, für die ein Datenbank-Server auf einem anderen physischen Knoten zuständig ist.
  15. Informationsverarbeitungsvorrichtung nach Anspruch 14, wobei der Bereitstellungsplanungsalgorithmus jeden aus der Vielzahl von Datenbank-Servern so bereitstellt, dass jeweils verschiedene Serversätze auf zwei oder mehr physischen Knoten bereitgestellt sind, auf denen jeweils Server, die für dieselben Daten zuständig sind, als dieselben Elemente bereitgestellt sind.
  16. Informationsverarbeitungsvorrichtung nach Anspruch 15, wobei der Bereitstellungsplanungsbereich jeden aus der Vielzahl von Datenbank-Servern so bereitstellt, dass aus der Vielzahl von Datenbank-Servern ein Graph durch eine Kette von Kanten gebildet ist, die eine Verbindung zwischen Servern herstellen, die für ein und dieselben Daten zuständig sind, und physische Knoten als Knoten enthalten, auf denen zwei oder mehr Server für voneinander verschiedene Daten zuständig sind, und wobei die Anzahl von Knoten in dem Graph gleich der Anzahl von physischen Knoten ist, auf denen die Vielzahl von Datenbank-Servern verteilt bereitgestellt sind.
  17. Informationsverarbeitungsvorrichtung nach Anspruch 16, wobei der Bereitstellungsplanungsbereich jeden aus der Vielzahl von Datenbank-Servern so bereitstellt, dass auf einem Ring, der durch eine Kette von Kanten, die eine Verbindung zwischen zwei physischen Knoten herstellen, auf denen zwei Server aus der Vielzahl von Datenbank-Servern bereitgestellt sind, die für dieselben Daten zuständig sind, von den zwei Servern entfernt andere Server bereitgestellt sind, die für dieselben Daten wie die beiden Server zuständig sind.
  18. Lastausgleichsverfahren, das auf einer Informationsverarbeitungsvorrichtung ausgeführt wird, die mit einer Vielzahl von physischen Knoten durch ein Netzwerk verbunden ist, in welchem eine Vielzahl von Datenbank-Servern auf der Vielzahl von physischen Knoten verteilt bereitgestellt sind, wobei die Vielzahl von Datenbank-Servern dadurch gekennzeichnet sind, dass zwei oder mehr Server, die für voneinander verschiedene Daten zuständig sind, in der Vielzahl von Datenbank-Servern auf demselben physischen Knoten in der Vielzahl von physischen Knoten bereitgestellt sind und dass ein oder mehrere Server, die für ein und dieselben Daten wie einer der beiden oder mehr Server zuständig sind, auf einem oder mehreren anderen physischen Knoten bereitgestellt sind, wobei das Lastausgleichsverfahren die Schritte aufweist: Überwachen der Arbeitslast auf jedem der physischen Knoten durch die Informationsverarbeitungsvorrichtung; Ausgeben einer Anforderung durch die Informationsverarbeitungsvorrichtung zum Trennen einer Verbindung mit einem Client zu einem Datenbank-Server auf einem physischen Knoten mit einer Arbeitslast, die einen Zielwert übersteigt, in der Vielzahl von Datenbank-Servern an einer Transaktionsgrenze; und Übernehmen einer neuen Verbindung durch die Informationsverarbeitungsvorrichtung, die in Beziehung zur Wiederherstellung der Verbindung mit dem Client zu einem Datenbank-Server auf einem physischen Knoten mit einer Arbeitslast steht, die geringer als der Zielwert ist, in der Vielzahl von Datenbank-Servern.
  19. Lastausgleichsverfahren nach Anspruch 18, wobei der Schritt des Überwachens ferner die Teilschritte des Planens einer neuen Verbindungsverteilung durch die Informationsverarbeitungsvorrichtung einschließlich der Wiederherstellung von Verbindungen mit einer Wahrscheinlichkeit, die einem Betrag der Arbeitslast unterhalb des Zielwertes entspricht, und des Planens der Wiederherstellung einer Anzahl von Verbindungen, die einem den Zielwert übersteigenden Betrag der Arbeitslast entsprechen, durch die Datenverarbeitungsvorrichtung beinhaltet.
  20. Lastausgleichsverfahren nach Anspruch 19, wobei der Schritt des Überwachens der Arbeitslast einen Teilschritt des Steuerns eines Umfangs eines Verbindungspools durch die Informationsverarbeitungsvorrichtung gemäß einem Verteilungsverhältnis und der Schritt des Übernehmens einer neuen Verbindung einen Teilschritt des Zurückgebens durch die Datenverarbeitungsvorrichtung einer zu einem Datenverarbeitungs-Server eingerichteten Verbindung von den im Pool zusammengefassten Verbindungen, die in Beziehung zu der Anforderung steht, als Reaktion auf eine Verbindungsübernahmeanforderung von dem Client beinhaltet.
  21. Verfahren zum Erstellen eines Plans, der durch eine Informationsverarbeitungsvorrichtung ausgeführt wird, die durch ein Netzwerk mit einer Vielzahl von physischen Knoten verbunden ist, um eine Vielzahl von Datenbank-Servern verteilt auf der Vielzahl von physischen Knoten bereitzustellen, wobei das Verfahren die Schritte aufweist: Planen der Datenbankbereitstellung durch die Informationsverarbeitungsvorrichtung derart, dass zwei oder mehr Server aus der Vielzahl von Datenbank-Servern, die für ein und dieselben Daten zuständig sind, nicht auf demselben physischen Knoten bereitgestellt werden, dass zwei oder mehr Server, die für voneinander verschiedene Daten zuständig sind, auf demselben physischen Knoten bereitgestellt werden und dass ein oder mehrere Server, die für ein und dieselben Daten zuständig sind wie einer der zwei oder mehreren Server, jeweils auf einem oder mehreren physischen Knoten bereitgestellt werden, wobei die geplante Bereitstellung in dem Planungsschritt umgesetzt wird, um eine Verbindung mit einem Client von einem Datenbank-Server mit einem physischen Knoten mit einer Arbeitslast, die einen Zielwert übersteigt, zu einem Datenbank-Server auf einem physischen Knoten mit einer Arbeitslast, die geringer als der Zielwert ist, übertragbar zu machen.
  22. Planungsverfahren für die Datenbankbereitstellung nach Anspruch 21, wobei der Planungsschritt die Teilschritte beinhaltet: Planen durch die Informationsverarbeitungsvorrichtung, dass Server aus der Vielzahl von Datenbank-Servern, die für ein und dieselben Daten zuständig sind, auf physischen Knoten paarweise derart bereitgestellt werden, dass sie einen Ring durch Kanten bilden, die zwei physische Knoten miteinander verbinden, auf denen jeweils für ein und dieselben Daten zuständige Server bereitgestellt sind, und Planen der Bereitstellung anderer Datenbank-Server durch die Informationsverarbeitungsvorrichtung derart, dass die anderen Server, die für dieselben Daten wie die beiden Server zuständig sind, von den beiden Servern entfernt bereitgestellt werden.
  23. Planungsverfahren für die Datenbankbereitstellung nach Anspruch 22, das ferner die Schritte aufweist: Erkennen von Lastungleichgewichten zwischen den physischen Knoten innerhalb einer vorgegebenen Zeitspanne; und Austauschen von Daten, für die ein Datenbank-Server auf einem physischen mit einer unausgeglichenen Arbeitslast zuständig ist, gegen Daten, für die ein Datenbank-Server auf einem anderen physischen Knoten zuständig ist.
  24. Computerausführbares Programm, das ein Computersystem mit einem oder mehreren Computern veranlasst, umzusetzen: einen Poolbereich zum Zusammenfassen einer Vielzahl von Verbindungen zu einer Vielzahl von Datenbank-Servern, die auf einer Vielzahl von physischen Knoten verteilt bereitgestellt sind, wobei aus der Vielzahl von Datenbank-Servern zwei oder mehr Server, die für voneinander verschiedene Daten zuständig sind, auf demselben physischen Knoten bereitgestellt sind und ein oder mehr Server, die für dieselben Daten wie einer der beiden oder mehr Server zuständig sind, auf einem oder mehreren anderen physischen Knoten bereitgestellt sind; und einen Verteilungsbereich zum Verteilen von Verbindungen durch Überwachen der Arbeitslast auf den physischen Knoten und Verlagern einer Verbindung mit einem Client von einem Datenbank-Server auf einem physischen Knoten mit einer Arbeitslast, die einen Zielwert übersteigt, zu einem Datenbank-Server auf einem physischen Knoten mit einer Arbeitslast, die geringer als der Zielwert ist, sodass die Verbindungen so verteilt sind, dass sie die Arbeitslast ausgleichen.
  25. Computerausführbares Programm, das ein Computersystem mit einem oder mehreren Computern veranlasst, umzusetzen: einen Bereitstellungsplanungsbereich zum Erstellen eines Plans zum verteilten Bereitstellen einer Vielzahl von Datenbank-Servern auf einer Vielzahl von physischen Knoten, um die Bereitstellung so zu planen, dass zwei oder mehr Server aus der Vielzahl von Datenbank-Servern, die für ein und dieselben Daten zuständig sind, nicht auf demselben physischen Knoten bereitgestellt werden, dass zwei oder mehr Server, die für voneinander verschiedene Daten zuständig sind, auf demselben physischen Knoten bereitgestellt sind beziehungsweise dass ein oder mehrere Server, die für dieselben Daten wie einer der beiden oder mehr Server zuständig sind, auf einem oder mehreren anderen physischen Knoten bereitgestellt sind, um eine Verbindung mit einem Client von einem Datenbank-Server auf dem physischen Knoten mit einer Arbeitslast, die einen Zielwert übersteigt, zu einem Datenbank-Server auf einem physischen Knoten mit einer Arbeitslast, die geringer als der Zielwert ist, übertragbar zu machen.
DE112011103497T 2010-11-22 2011-09-08 Informationsverarbeitungssystem, Informationsverarbeitungsvorrichtung, Lastausgleichsverfahren, Planungsverfahren für die Datenbankbereitstellung und Programm zum Durchführen der Verbindungsverteilung für den Lastausgleich in einer verteilten Datenbank Pending DE112011103497T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010259734 2010-11-22
JPJP-2010-259734 2010-11-22
PCT/JP2011/070460 WO2012070292A1 (ja) 2010-11-22 2011-09-08 分散データベースの負荷均衡のためのコネクション配分を実現する情報処理システム、情報処理装置、負荷均衡方法、データベース配置計画方法およびプログラム

Publications (1)

Publication Number Publication Date
DE112011103497T5 true DE112011103497T5 (de) 2013-08-14

Family

ID=46065379

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112011103497T Pending DE112011103497T5 (de) 2010-11-22 2011-09-08 Informationsverarbeitungssystem, Informationsverarbeitungsvorrichtung, Lastausgleichsverfahren, Planungsverfahren für die Datenbankbereitstellung und Programm zum Durchführen der Verbindungsverteilung für den Lastausgleich in einer verteilten Datenbank

Country Status (6)

Country Link
US (1) US9170851B2 (de)
JP (1) JP5567686B2 (de)
DE (1) DE112011103497T5 (de)
GB (1) GB2499547B (de)
TW (1) TWI525459B (de)
WO (1) WO2012070292A1 (de)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130332778A1 (en) * 2012-06-07 2013-12-12 Vmware, Inc. Performance-imbalance-monitoring processor features
DE102012108117A1 (de) * 2012-08-03 2014-02-06 Fujitsu Technology Solutions Intellectual Property Gmbh Hochverfügbares Rechnersystem, Arbeitsverfahren und dessen Verwendung
CN102882973B (zh) * 2012-10-11 2015-05-20 北京邮电大学 基于p2p技术的分布式负载均衡系统和方法
WO2014084836A1 (en) * 2012-11-29 2014-06-05 Hewlett-Packard Development Company, L.P. Fault tolerance in a multi-core circuit
GB2510426A (en) 2013-02-05 2014-08-06 Ibm Workload balancing in a distributed database
CN104102541B (zh) * 2013-04-08 2018-02-13 鸿富锦精密工业(深圳)有限公司 签核动态调整方法及系统
US9053167B1 (en) 2013-06-19 2015-06-09 Amazon Technologies, Inc. Storage device selection for database partition replicas
TWI505111B (zh) * 2013-09-26 2015-10-21 Chunghwa Telecom Co Ltd Assist systems and methods for decentralized database to achieve automatic load balancing
US9578112B2 (en) * 2014-04-30 2017-02-21 Jive Communications, Inc. Reliability of a connection during a communication session on a network device
JP6318980B2 (ja) * 2014-08-26 2018-05-09 富士通株式会社 データ配置プログラム、データ配置方法およびデータ配置装置
US10089307B2 (en) * 2014-12-31 2018-10-02 International Business Machines Corporation Scalable distributed data store
US10747753B2 (en) 2015-08-28 2020-08-18 Swirlds, Inc. Methods and apparatus for a distributed database within a network
US9390154B1 (en) 2015-08-28 2016-07-12 Swirlds, Inc. Methods and apparatus for a distributed database within a network
LT3539026T (lt) 2016-11-10 2022-03-25 Swirlds, Inc. Būdai ir aparatas paskirstytajai duomenų bazei, apimančiai anonimines įvestis
KR102433285B1 (ko) 2016-12-19 2022-08-16 스월즈, 인크. 이벤트들의 삭제를 가능하게 하는 분산 데이터베이스를 위한 방법 및 장치
KR101981310B1 (ko) * 2016-12-27 2019-05-22 주식회사 씨에스리 데이터베이스 시스템의 이상을 탐지하는 장치 및 방법
JP6963168B2 (ja) * 2017-06-21 2021-11-05 富士通株式会社 情報処理装置、メモリ制御方法およびメモリ制御プログラム
TWI770038B (zh) * 2017-07-06 2022-07-11 中華電信股份有限公司 伺服器之遠端管理系統及其遠端管理方法
KR102348418B1 (ko) * 2017-07-11 2022-01-07 스월즈, 인크. 네트워크 내의 분산 데이터베이스를 효율적으로 구현하기 위한 방법들 및 장치
SG11202002308RA (en) 2017-11-01 2020-04-29 Swirlds Inc Methods and apparatus for efficiently implementing a fast-copyable database
US10715615B1 (en) * 2018-08-01 2020-07-14 The Government Of The United States Of America As Represented By The Secretary Of The Air Force Dynamic content distribution system and associated methods
US10990608B2 (en) * 2019-03-19 2021-04-27 Snowflake Inc. Transferring connections in a multiple deployment database
TWI743474B (zh) * 2019-04-26 2021-10-21 鴻齡科技股份有限公司 存儲資源管理裝置及管理方法
CA3134691A1 (en) 2019-05-22 2020-11-26 Swirlds, Inc. Methods and apparatus for implementing state proofs and ledger identifiers in a distributed database
TWI701557B (zh) * 2019-05-24 2020-08-11 威聯通科技股份有限公司 多複製資料源系統的資料讀取方法
CN110502522B (zh) * 2019-08-30 2022-11-29 携程计算机技术(上海)有限公司 报表处理系统及方法
US20210073043A1 (en) * 2019-09-11 2021-03-11 Synchronoss Technologies, Inc. Method and system for uniform, consistent, stateless and deterministic consistent hashing for fixed size partitions
US11514079B1 (en) * 2019-11-27 2022-11-29 Amazon Technologies, Inc. Peer-based access to distributed database
US11789971B1 (en) 2019-12-02 2023-10-17 Amazon Technologies, Inc. Adding replicas to a multi-leader replica group for a data set
CN111209097B (zh) * 2019-12-16 2024-04-05 网宿科技股份有限公司 软件部署方法及系统
US11366598B1 (en) 2020-03-26 2022-06-21 Amazon Technologies, Inc. Dynamic lease assignments in a time-series database
US11263270B1 (en) * 2020-03-26 2022-03-01 Amazon Technologies, Inc. Heat balancing in a distributed time-series database
US11409771B1 (en) 2020-03-26 2022-08-09 Amazon Technologies, Inc. Splitting partitions across clusters in a time-series database
US10855660B1 (en) 2020-04-30 2020-12-01 Snowflake Inc. Private virtual network replication of cloud databases
US11032361B1 (en) * 2020-07-14 2021-06-08 Coupang Corp. Systems and methods of balancing network load for ultra high server availability
RU2771444C1 (ru) * 2021-05-13 2022-05-04 Акционерное общество "Лаборатория Касперского" Система и способ балансировки подключений между клиентами и серверами
CN114143320A (zh) * 2021-09-01 2022-03-04 浪潮云信息技术股份公司 一种基于分布式数据库的数据网关方法及系统
CN115550368B (zh) * 2022-11-30 2023-03-10 苏州浪潮智能科技有限公司 一种元数据上报方法、装置、设备及存储介质
CN115587222B (zh) * 2022-12-12 2023-03-17 阿里巴巴(中国)有限公司 分布式图计算方法、系统及设备
CN116028234B (zh) * 2023-03-31 2023-07-21 山东浪潮科学研究院有限公司 一种分布式数据库负载均衡方法、装置、设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175681A (ja) 1999-12-21 2001-06-29 Hitachi Ltd データベースシステム、データベースのレプリカ生成方法およびデータベースのレプリカ生成プログラムを記録したコンピュータ読み取り可能な記録媒体

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05314179A (ja) 1992-05-14 1993-11-26 Kobe Steel Ltd 分散型データベースのデータ検索処理方法
JPH0765031A (ja) 1993-08-27 1995-03-10 Toshiba Corp 重複分散データベースを持つ情報処理システム
EP0675451A3 (de) 1994-03-30 1996-12-04 Siemens Stromberg Carlson Architektur einer verteilten Datenbank und System zum Verwalten einer verteilten Datenbank für die Entwicklung in einem offenen Netzwerk.
EP0678812A1 (de) 1994-04-20 1995-10-25 Microsoft Corporation Replikationsüberprüfung
JP3584630B2 (ja) 1996-09-20 2004-11-04 株式会社日立製作所 データベース処理システムにおける分類集計処理方法
US6292905B1 (en) * 1997-05-13 2001-09-18 Micron Technology, Inc. Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure
US6173322B1 (en) * 1997-06-05 2001-01-09 Silicon Graphics, Inc. Network request distribution based on static rules and dynamic performance data
US6604137B2 (en) * 1997-07-31 2003-08-05 Mci Communications Corporation System and method for verification of remote spares in a communications network when a network outage occurs
JP2000020374A (ja) 1998-07-01 2000-01-21 Nec Corp レプリケーション制御システム
US6578066B1 (en) * 1999-09-17 2003-06-10 Alteon Websystems Distributed load-balancing internet servers
JP2001109638A (ja) * 1999-10-06 2001-04-20 Nec Corp 推定伸長率に基づくトランザクション負荷分散方法及び方式並びにコンピュータ可読記録媒体
JP2001297026A (ja) 2000-04-11 2001-10-26 Hitachi Ltd 複数のデータベースマネージメントシステムを有する計算機システム
JP2002222108A (ja) 2001-01-26 2002-08-09 Hitachi Ltd 部分レプリカの生成装置および生成方法
US6901446B2 (en) * 2001-02-28 2005-05-31 Microsoft Corp. System and method for describing and automatically managing resources
CN1524222A (zh) * 2001-07-06 2004-08-25 ���������˼�빫˾ 信息备份系统和方法
US7039916B2 (en) 2001-09-24 2006-05-02 Intel Corporation Data delivery system for adjusting assignment of connection requests to nodes based upon the tracked duration
US7451205B2 (en) * 2001-10-01 2008-11-11 Hewlett-Packard Development Company, L.P. Multimedia stream pre-fetching and redistribution in servers to accommodate mobile clients
US7647422B2 (en) * 2001-11-06 2010-01-12 Enterasys Networks, Inc. VPN failure recovery
US7171467B2 (en) * 2002-06-13 2007-01-30 Engedi Technologies, Inc. Out-of-band remote management station
US20040078450A1 (en) * 2002-07-08 2004-04-22 Tsu-Wei Chen Packet routing via payload inspection for digital content delivery
US7475108B2 (en) * 2003-06-26 2009-01-06 International Business Machines Corporation Slow-dynamic load balancing method
JP3599055B2 (ja) 2003-07-14 2004-12-08 株式会社日立製作所 記憶装置管理方法およびシステム
US8060599B2 (en) * 2004-03-16 2011-11-15 Hewlett-Packard Development Company, L.P. System and method for determining a streaming media server configuration for supporting expected workload in compliance with at least one service parameter
JP4331045B2 (ja) 2004-04-20 2009-09-16 株式会社エヌ・ティ・ティ・データ データベースシステム、および、プログラム
JP2005338893A (ja) * 2004-05-24 2005-12-08 Hitachi Ltd データ処理システムおよびディスクアクセス制御方法並びにその処理プログラム
JP4699768B2 (ja) * 2005-01-26 2011-06-15 株式会社日立製作所 アクセス負荷を分散するストレージシステム
CN1863095A (zh) * 2005-03-21 2006-11-15 奔峰电子(北京)有限公司 一种电子设备及其管理系统
US20070073874A1 (en) * 2005-09-07 2007-03-29 Ace Comm Consumer configurable mobile communication solution
US8234378B2 (en) 2005-10-20 2012-07-31 Microsoft Corporation Load balancing in a managed execution environment
US7813265B2 (en) * 2006-03-09 2010-10-12 Cisco Technology, Inc. Backup BGP paths for non-multipath BGP fast convergence
JP4891657B2 (ja) 2006-05-29 2012-03-07 株式会社野村総合研究所 データ記憶システム、ファイル検索装置およびプログラム
WO2007146710A2 (en) * 2006-06-08 2007-12-21 Hewlett-Packard Development Company, L.P. Device management in a network
US8015294B2 (en) * 2006-08-22 2011-09-06 Embarq Holdings Company, LP Pin-hole firewall for communicating data packets on a packet network
US20080065753A1 (en) * 2006-08-30 2008-03-13 Rao Bindu R Electronic Device Management
US20080065746A1 (en) * 2006-09-07 2008-03-13 Ace*Comm Corporation Consumer configurable mobile communication web filtering solution
WO2008046089A2 (en) * 2006-10-13 2008-04-17 Firetide, Inc. Mesh node mobility across static and mobile mesh networks
US8756253B2 (en) * 2007-01-22 2014-06-17 Xerox Corporation Two-level structured overlay design for cluster management in a peer-to-peer network
JP5079561B2 (ja) 2008-03-21 2012-11-21 株式会社野村総合研究所 データベースシステム及びデータベースシステムにおけるレプリカデータの更新方法
US8539035B2 (en) * 2008-09-29 2013-09-17 Fujitsu Limited Message tying processing method and apparatus
US8281023B2 (en) 2008-11-14 2012-10-02 Qualcomm Incorporated Systems and methods for data authorization in distributed storage networks
JP2010238124A (ja) * 2009-03-31 2010-10-21 Fujitsu Ltd データ管理プログラム、データ管理装置、およびデータ管理方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001175681A (ja) 1999-12-21 2001-06-29 Hitachi Ltd データベースシステム、データベースのレプリカ生成方法およびデータベースのレプリカ生成プログラムを記録したコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
TW201237655A (en) 2012-09-16
US20120131093A1 (en) 2012-05-24
GB201309532D0 (en) 2013-07-10
JPWO2012070292A1 (ja) 2014-05-19
WO2012070292A1 (ja) 2012-05-31
JP5567686B2 (ja) 2014-08-06
TWI525459B (zh) 2016-03-11
GB2499547A (en) 2013-08-21
GB2499547B (en) 2020-04-22
US9170851B2 (en) 2015-10-27

Similar Documents

Publication Publication Date Title
DE112011103497T5 (de) Informationsverarbeitungssystem, Informationsverarbeitungsvorrichtung, Lastausgleichsverfahren, Planungsverfahren für die Datenbankbereitstellung und Programm zum Durchführen der Verbindungsverteilung für den Lastausgleich in einer verteilten Datenbank
DE60006499T2 (de) System und verfahren zur gruppenzugehörigkeitsbestimmung in einem heterogenen verteilten rechnersystem
DE69030340T2 (de) Makler für die Auswahl von Rechnernetzwerkservern
DE102020113347A1 (de) Ausführung von containerisierten prozessen innerhalb der beschränkungen der verfügbaren host-knoten
DE60301202T2 (de) Verfahren und vorrichtung zur verkehrssteuerung einer web-farm
DE60302876T2 (de) Master-knotenauswahl in geclusterten knotenkonfigurationen
DE60016283T2 (de) Arbeitsbelastungsverwaltung in einer rechnerumgebung
DE112010003027T5 (de) System und Verfahren zur Jobsteuerung in einem verteilten Datenverarbeitungssystem mitKennzeichnung der optimalen Netztopologie
DE102012221059A1 (de) Verfahren und System anpassbarer Netzwerkübertragungsoptimierung in großen parallelen Rechensystemen
DE112010004772T5 (de) Verfahren und System zum Verwalten von Konfigurationen von Systemverwaltungsagentenin einer Verteilten Umgebung
DE202011110892U1 (de) System von aktivem Risikomanagement, um die Wahrscheinlichkeit des Descheduling der Jobs in Computer-Clustern zu reduzieren
DE19822543A1 (de) Verfahren zum Zuteilen von Aufträgen, Datenverarbeitssystem, Client-Datenbearbeitungsknoten und computerlesbares Speichermedium
DE102004005128B3 (de) Anordnung mehrerer Rechner und Verfahren zum Betreiben einer Anordnung mehrerer Rechner bei einem Rechnerausfall
DE102014201555A1 (de) Optimieren des Verteilens von elektrischer Energie
DE112005001995B4 (de) Computeranordnung und Verfahren zum Anbieten von Diensten für Benutzer über ein Netzwerk
DE102016219854A1 (de) Computersystem und Verfahren zum dynamischen Anpassen eines software-definierten Netzwerks
EP1634176B1 (de) Clusteranordnung für dezentrale lastverteilung
EP2804134B1 (de) Verfahren und System zur Fuzzy-basierten Regelung einer Zuordnung von Ressourcen in einem System
EP3475819B1 (de) Verfahren zur automatischen und dynamischen zuteilung der zuständigkeit für aufgaben an die verfügbaren rechenkomponenten in einem hochverteilten datenverarbeitungssystem
DE112019005042T5 (de) Ressourcenzuweisung unter verwendung von wiederherstellungsguthaben
EP3028182B1 (de) Verfahren und system zur synchronisation von daten
DE102012110164B4 (de) Rechneranordnung
DE102019211908A1 (de) Verfahren und Vorrichtung zum Verteilen einer Anwendung
WO2012152804A1 (de) Verfahren zum betrieb mindestens einer datenbank auf einem hardwarepool
EP2120144A2 (de) Rechnerverbund und Verfahren zur Konfiguration eines Rechnerverbundes

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06F0012000000

Ipc: G06F0015160000

R016 Response to examination communication
R016 Response to examination communication