DE102013209934A1 - Systemverwaltungsvorrichtung, Systemverwaltungsverfahren und Speichermedien - Google Patents

Systemverwaltungsvorrichtung, Systemverwaltungsverfahren und Speichermedien Download PDF

Info

Publication number
DE102013209934A1
DE102013209934A1 DE102013209934.7A DE102013209934A DE102013209934A1 DE 102013209934 A1 DE102013209934 A1 DE 102013209934A1 DE 102013209934 A DE102013209934 A DE 102013209934A DE 102013209934 A1 DE102013209934 A1 DE 102013209934A1
Authority
DE
Germany
Prior art keywords
communication
functional components
communication links
order
closed
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.)
Granted
Application number
DE102013209934.7A
Other languages
English (en)
Other versions
DE102013209934B4 (de
Inventor
Kazufumi NOTO
Takuya Yamada
Koji Nakazono
Takamitsu Iriumi
Toru Atsumi
Ryuji Satomoto
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of DE102013209934A1 publication Critical patent/DE102013209934A1/de
Application granted granted Critical
Publication of DE102013209934B4 publication Critical patent/DE102013209934B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • 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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Abstract

Eine Systemverwaltungsvorrichtung beinhaltet eine Sammeleinheit, die konfiguriert ist, Kommunikationsaufzeichnungen von funktionellen Komponenten, die zu verwalten sind, zu sammeln; eine Extraktionseinheit, die konfiguriert ist, Kommunikationsverknüpfungen zwischen den funktionellen Komponenten aus den gesammelten Kommunikationsaufzeichnungen zu extrahieren; Eine Geschlossenpfad-Eliminierungseinheit, die konfiguriert ist, eine oder mehrere der Kommunikationsverknüpfungen zu entfernen, um geschlossene Pfade aus den Kommunikationsverknüpfungen zu eliminieren; und eine Reihenfolgen-Bestimmungseinheit, die konfiguriert ist, eine Reihenfolge, in der die funktionellen Komponenten gestartet oder gestoppt werden, basierend auf den Kommunikationsverknüpfungen, aus denen die geschlossenen Pfade eliminiert worden sind, zu bestimmen.

Description

  • GEBIET
  • Die hierin diskutierten Ausführungsformen beziehen sich auf eine Systemverwaltungsvorrichtung, ein Systemverwaltungsverfahren und ein Speichermittel.
  • HINTERGRUND
  • In einer mehrere funktionelle Komponenten, wie etwa einen Webserver, einen Applikationsserver und einen Datenbankserver enthaltenen Servervorrichtung, gibt es Fälle, bei denen eine Gruppe funktioneller Komponenten gestartet oder gestoppt werden muss. Hier, wenn eine Abhängigkeit zwischen durch die funktionellen Komponenten durchgeführten Prozesse, die zu starten oder zu stoppen sind, existiert, ist es notwendig, die funktionellen Komponenten in einer geeigneten Reihenfolge zu starten oder zu stoppen. Falls die funktionellen Komponenten in einer unangemessenen Reihenfolge gestartet oder gestoppt werden, können Probleme auftreten. Beispielsweise kann eine unerwartete Fehlernachricht an einem Monitor ausgegeben werden oder die gestartete funktionelle Komponente kann nicht normal funktionieren.
  • Es gibt ein Anwendungsverwaltungsprogramm zum Verwalten eines Systems, bei dem in getrennten Servercomputern installierte, mehrere Anwendungen miteinander zusammenarbeiten, um einen Dienst bereitzustellen (siehe beispielsweise WO 2006/043321 ). Das Anwendungsverwaltungsprogramm wählt die Servercomputer, deren Anwendungen zu starten oder zu stoppen sind, gemäß einer Reihenfolge des Startens von Anwendungen, die basierend auf der Abhängigkeit von Prozessen vordefiniert ist, aus. Beispielsweise verlangt das Anwendungsverwaltungsprogramm von einem Webserver, einem Anwendungsserver oder einem Datenbankserver in der erwähnten Reihenfolge, ihre Anwendungen zu stoppen.
  • Auch existiert ein Kommunikationsnachrichtensortierprogramm, das Sender und Zieladressen und Sender und Zielportnummern aus Kommunikationsnachrichten extrahiert, um hochkorrelierte Servervorrichtungen zu identifizieren, und identifiziert ein aus den Servervorrichtungen zusammengesetztes System als ein Mehrlevelsystem (siehe beispielsweise WO 2009/011063 ).
  • ZUSAMMENFASSUNG
  • Es ist eine Aufgabe, in einem Aspekt der Ausführungsform, es zu ermöglichen, mehrere funktionelle Komponenten in angemessener Reihenfolge zu starten oder zu stoppen, selbst wenn Kommunikationsverknüpfungen zwischen den funktionellen Komponenten komplex sind.
  • Gemäß einem Aspekt der Erfindung wird eine Systemmanagementvorrichtung bereitgestellt, die eine Sammeleinheit enthält, die konfiguriert ist, Kommunikationsaufzeichnung zu verwaltender funktioneller Komponenten zu sammeln; eine Extraktionseinheit, die konfiguriert ist, Kommunikationsverknüpfungen zwischen den funktionellen Komponenten aus den gesammelten Kommunikationsaufzeichnungen zu extrahieren; eine Geschlossenpfad-Eliminationseinheit, die konfiguriert ist, eine oder mehrere der Kommunikationsverknüpfungen zu entfernen, um geschlossene Pfade aus den Kommunikationsverknüpfungen zu eliminieren; und eine Reihenfolgen-Bestimmungseinheit, die konfiguriert ist, eine Reihenfolge zu bestimmen, in der die funktionellen Komponenten gestartet oder gestoppt werden, basierend auf den Kommunikationsverknüpfungen, aus denen die geschlossenen Pfade eliminiert worden sind.
  • KURZE BESCHREIBUNG VON ZEICHNUNGEN
  • 1 ist eine Zeichnung, die eine beispielhafte Konfiguration eines Serversystems gemäß einer Ausführungsform illustriert;
  • 2 ist ein Blockdiagramm, das eine beispielhafte Hardware-Konfiguration eines Verwaltungsservers illustriert;
  • 3 ist eine Zeichnung, die beispielhafte Netzwerkverbindungen eines Verwaltungsservers und eines verwalteten Servers illustriert;
  • 4 ist eine Zeichnung, die eine beispielhafte funktionelle Konfiguration eines Kommunikationsüberwachungsagenten illustriert;
  • 5 ist eine Zeichnung, die beispielhafte Kommunikationsaufzeichnungen eines virtuellen Servers illustriert;
  • 6 ist eine Zeichnung, die eine beispielhafte funktionelle Konfiguration einer Start/Stopp-Steuereinheit illustriert;
  • 7 ist ein Flussdiagramm, das einen durch eine Start/Stopp-Steuereinheit durchgeführten beispielhaften Prozess illustriert;
  • 8 ist ein Flussdiagramm, das einen durch eine Kommunikationsaufzeichnungsempfangseinheit und eine Kommunikationsverknüpfungs-Extraktionseinheit durchgeführten beispielhaften Prozess illustriert;
  • 9 ist ein schematisches Diagramm, das beispielhafte graphische Daten illustriert, die durch eine Kommunikationsverknüpfungs-Extraktionseinheit erzeugt sind;
  • 10 ist ein Flussdiagramm, das einen durch eine Geschlossenpfad-Eliminierungseinheit durchgeführten beispielhaften Prozess illustriert;
  • 11 ist ein Flussdiagramm, das einen durch eine Geschlossenpfad-Eliminierungseinheit durchgeführten beispielhaften Prozess illustriert;
  • 12 ist eine Zeichnung, die graphische Daten illustriert, aus denen geschlossenen Pfade eliminiert worden sind, und Tabellendaten, die, die graphische Daten repräsentierende Werte enthalten;
  • 13 ist ein Flussdiagramm, das einen durch eine Reihenfolgenbestimmungseinheit durchgeführten beispielhaften Prozess illustriert;
  • 14 ist eine Zeichnung, die an graphischen Daten durchgeführte Änderungen und Tabellendaten mit Fortschreiten des Prozesses von 13 illustriert;
  • 15 ist eine Zeichnung, die Änderungen illustriert, die an graphischen Daten und Tabellendaten gemacht werden, wenn der Prozess von 13 fortschreitet;
  • 16 ist eine Zeichnung, die Änderungen illustriert, die an graphischen Daten und Tabellendaten gemacht werden, wenn der Prozess von 13 fortschreitet;
  • 17 ist eine Zeichnung, die Änderungen illustriert, die an graphischen Daten und Tabellendaten gemacht werden, wenn der Prozess von 13 fortschreitet;
  • 18 ist eine Zeichnung, die Änderungen illustriert, die an graphischen Daten und Tabellendaten gemacht werden, wenn der Prozess von 13 fortschreitet;
  • 19 ist eine Zeichnung, die Änderungen illustriert, die an graphischen Daten und Tabellendaten gemacht werden, wenn der Prozess von 13 fortschreitet;
  • 20 ist eine Zeichnung, die Änderungen illustriert, die an graphischen Daten und Tabellendaten gemacht werden, wenn der Prozess von 13 fortschreitet;
  • 21 ist eine Zeichnung, die Änderungen illustriert, die an graphischen Daten und Tabellendaten gemacht werden, wenn der Prozess von 13 fortschreitet;
  • 22 ist eine Zeichnung, die Änderungen illustriert, die an graphischen Daten und Tabellendaten gemacht werden, wenn der Prozess von 13 fortschreitet; und
  • 23 ist eine Zeichnung, die graphische Daten, wo Nummern N einen Knoten zugewiesen sind und Tabellendaten, wo alle Spalten und Zeilen entsprechend dem Knoten maskiert sind, illustriert.
  • BESCHREIBUNG VON AUSFÜHRUNGSFORMEN
  • Bei dem oben beschriebenen Anwendungsverwaltungsprogramm des Stands der Technik ist es notwendig, die Reihenfolge des Startens von Anwendungen vorab zu definieren. Entsprechend ist es bei der Technologie des Stands der Technik nicht möglich, multiple funktionelle Komponenten in einer geeigneten Reihenfolge zu starten oder zu stoppen, wenn die Abhängigkeit zwischen den Prozessen unbekannt ist.
  • Das oben beschriebene Kommunikationsnachrichtensortierprogramm des Stands der Technik identifiziert ein System als ein Mehrpegelsystem und kann daher die Abhängigkeit zwischen den Prozessen in einem gewissen Ausmaß identifizieren. Jedoch ist das Kommunikationsnachrichtensortierprogramm des Stands der Technik nicht auf ein System anwendbar, das eine komplexe Netzwerkkonfiguration aufweist. Beispielsweise ist das Kommunikationsnachrichtensortierprogramm des Stands der Technik nicht auf ein System anwendbar, dessen Kommunikationsverknüpfungen geschlossene Pfade beinhalten.
  • Ein Aspekt dieser Offenbarung macht es möglich, mehrere funktionelle Komponenten in angemessener Reihenfolge zu starten oder zu stoppen, selbst wenn Kommunikationsverknüpfungen zwischen den funktionellen Komponenten komplex sind.
  • Ausführungsformen der vorliegenden Erfindung werden unten unter Bezugnahme auf die beigefügten Zeichnungen beschrieben.
  • AUSFÜHRUNGFORMEN
  • Eine Systemverwaltungsvorrichtung, ein Systemverwaltungsverfahren und ein, ein Systemverwaltungsprogramm speicherndes Speichermedium gemäß Ausführungsformen der vorliegenden Erfindung sind unten beschrieben.
  • SYSTEMKONFIGURATION
  • 1 ist eine Zeichnung, die eine beispielhafte Konfiguration eines Serversystems 1 illustriert. Das Serversystem 1 kann einen Verwaltungsserver 100 und einen verwalteten Server 200 beinhalten.
  • Der Verwaltungsserver 100 ist mit dem verwalteten Server 200 für Kommunikation verbunden und beinhaltet eine Start/Stopp-Einheit 150, die einen Prozess zum Starten und Stoppen von beispielsweise virtuellen Servern steuert, die auf dem verwalteten Server 200 ablaufen. Details der Start/Stopp-Einheit 150 werden später beschrieben.
  • Der verwaltete Server 200 stellt beispielsweise einen Cloud-Service bereit. Im Beispiel von 1 laufen ein virtueller Maschinen-(VM)-Wirt 210 und ein VM-Wirt 250 auf den verwalteten Server 200. Der VM-Wirt 210 steuert ein System 1 (220), ein System 2 (230) und ein System 3 (240); und der VM-Wirt 250 steuert ein System 4 (260), ein System 5 (270) und ein System 6 (280).
  • Das System 1 (220) kann virtuelle Server 220#0, 220#1, 220#2, 220#3 und so weiter enthalten. Das System 2 (230) kann virtuelle Server 230#0, 230#1, 230#2, 230#3 und so weiter beinhalten. Das System 3 (240) kann virtuelle Server 240#0, 240#1, 240#2, 240#3 und so weiter enthalten. Das System 4 (260) kann virtuelle Server 260#0, 260#1, 260#2, 260#3 und so weiter enthalten. Das System 5 (370) kann virtuelle Server 270#0, 270#1, 270#2, 270#3 und so weiter enthalten. Das System 6 (280) kann virtuelle Server 280#0, 280#1, 280#2, 280#3 und so weiter enthalten.
  • Beispielsweise können die virtuellen Server ein Betriebssystem (BS) und Middleware enthalten und als ein Webserver, ein Anwendungsserver und ein Datenbankserver fungieren, um einen Cloud-Service bereitzustellen.
  • Kommunikationsaufzeichnungen der virtuellen Server werden durch entsprechende Kommunikationsüberwachungsagenten 300 (in 1 durch ”*” angezeigt) gesammelt. Die Kommunikationsaufzeichnungen der durch die Kommunikationsüberwachungsagenten 300 gesammelten virtuellen Server werden an den Verwaltungsserver 100 gesendet. 2 ist ein Blockdiagramm, das eine beispielhafte Hardware-Konfiguration des Verwaltungsservers 100 illustriert. Der Verwaltungsserver 100 kann eine Zentraleinheit (CPU) 110, ein Laufwerk 112, einen Sekundärspeicher 116, einen Speicher 118, einen Graphikprozessor 120, eine Eingabeschnittstelle 122 und eine Kommunikationsschnittstelle 124 enthalten, die alle miteinander über beispielsweise einen Bus 126 verbunden sind.
  • Die CPU 110 ist ein Prozessor und kann beispielsweise ein Programmzähler, einen Anweisungs-Decodierer, Berechnungseinheiten, eine Lastspeichereinheit (LSU) und ein allgemeines Register enthalten.
  • Das Laufwerk 112 liest Programme und Daten aus eine Speichermedium 114. Wenn das Programme speichernde Speichermedium 114 im Laufwerk 112 montiert ist, werden die Programme durch das Laufwerk 112 aus dem Speichermedium 114 ausgelesen und im Sekundärspeicher 116 installiert. Das Speichermedium 114 wird beispielsweise durch ein tragbares Speichermedium wie etwa eine Compactdisk (CD), eine Digital Versatile Disk (DVD) oder einen Universal Serial Bus(USB)-Speicher implementiert. Der Sekundärspeicher 116 wird beispielsweise durch eine Festplatte (HDD) oder einen Flash-Speicher implementiert.
  • Programme können aus dem Speichermedium 114 im Sekundärspeicher 116 installiert werden. Auch können Programme aus einem anderen Computer über ein Netzwerk 140 und die Kommunikationsschnittstelle 124 heruntergeladen und im Sekundärspeicher 116 installiert werden. Das Netzwerk 140 ist beispielsweise das Internet, ein Lokalbereichsnetzwerk (LAN) oder ein Funknetzwerk. Weiterhin können Programme im Sekundärspeicher 116 und/oder einem Nur-Lese-Speicher (ROM) gespeichert werden, vor Versand des Verwaltungsservers 100.
  • Die CPU 110 führt die installierten oder gespeicherten Programme aus, um eine Informationsverarbeitungsvorrichtung, die konfiguriert ist, wie durch 2 illustriert, zu veranlassen, als der Verwaltungsserver 100 der vorliegenden Ausführungsform zu fungieren.
  • Der Speicher 118 kann beispielsweise durch einen wahlfreien Zugriffsspeicher (RAM) und einen elektrisch löschbaren und programmierbaren Nur-Lese-Speicher (EEPROM) implementiert werden.
  • Der Graphikprozessor 120 ist mit der Anzeigevorrichtung 130 verbunden und erzeugt auf der Anzeigevorrichtung 130 anzuzeigende Bildschirme. Peripherievorrichtungen wie etwa eine Tastatur 132 und eine Maus 134 sind mit der Eingabeschnittstelle 122 verbunden. Die Kommunikationsschnittstelle 124 steuert Kommunikation, die zwischen dem Verwaltungsserver 100 und anderen Vorrichtungen einschließlich dem verwalteten Server 200 durchgeführt wird.
  • Der verwaltete Server 200 kann eine Hardware-Konfiguration ähnlich der oder teilweise anders als die Hardware-Konfiguration des Verwaltungsservers 100, die durch 2 illustriert ist, aufweisen.
  • 3 ist eine Zeichnung, die beispielhafte Netzwerkverbindungen des Verwaltungsservers 100 und des verwalteten Servers 200 illustriert. Wie in 3 illustriert, sind der Verwaltungsserver 100 und der verwaltete Server 200 miteinander über das Netzwerk 140 verbunden, und der verwaltete Server 200 ist mit einem Netzwerk 290, wie etwa dem Internet, mit mehreren Anwenderendgeräten 400 verbunden.
  • Hier können die Kommunikationsüberwachungsagenten 300 insgesamt als eine ”Sammeleinheit” bezeichnet werden und können der Verwaltungsserver und die Kommunikationsüberwachungsagenten 300 gemeinsam als eine ”Systemverwaltungsvorrichtung” bezeichnet werden. Die virtuellen Server können als ”funktionelle Komponenten” bezeichnet werden. 1 illustriert lediglich eine beispielhafte Konfiguration eines Systems, bei dem viele funktionelle Komponenten durch eine Systemverwaltungsvorrichtung verwaltet werden und Variationen, Austäusche und Weglassungen können an den Konfigurationen des Serversystems 1, des Verwaltungsservers 100 und des verwalteten Servers 200 vorgenommen werden. Beispielsweise kann der Verwaltungsserver 100 als eine Software-Funktion des verwalteten Servers 200 implementiert sein und funktionelle Komponenten können durch Hardware-Komponenten implementiert sein.
  • KOMMUNIKATIONSAUFZEICHNUNGEN
  • Die Kommunikationsüberwachungsagenten 300 überwachen durch die virtuellen Server durchgeführte Kommunikation, wodurch Kommunikationsaufzeichnungen (oder die Kommunikations-Historie) der virtuellen Server gesammelt werden, und sendet die Kommunikationsaufzeichnungen an den Verwaltungsserver 100.
  • 4 ist eine Zeichnung, die eine beispielhafte funktionelle Konfiguration des Kommunikationsüberwachungsagent 300 illustriert. Der Kommunikationsüberwachungsagent 300 wird durch Ausführen eines Programm/von Programmen durch die CPU des verwalteten Servers 200 implementiert und kann funktionelle Blöcke wie etwa eine Kommunikationsaufzeichnungssammeleinheit 302, eine Kommunikationsaufzeichnungsverarbeitungseinheit 304 und eine Kommunikationsaufzeichnungssendeeinheit 306 umfassen. Diese funktionellen Blöcke mögen nicht notwendigerweise durch getrennte Programme implementiert sein. Stattdessen können die funktionellen Blöcke als Unterroutinen oder Funktionen bereitgestellt werden, die durch ein anderes Programm aufgerufen werden.
  • Die Kommunikationsaufzeichnungssammeleinheit 302 erfasst Pakete, die durch den ”lokalen” virtuellen Server (der durch den Kommunikationsüberwachungsagenten 300 überwacht wird) gesendete und empfangene Pakete und ermittelt IP-Adressen und Portnummern aus den Paketen. Basierend auf den durch die Kommunikationsaufzeichnungssammeleinheit 302 ermittelten IP-Adressen und den Portnummern erzeugt die Kommunikationsaufzeichnungsverarbeitungseinheit 304 Tabellendaten (Kommunikationsaufzeichnungen), wo lokale IP-Adressen und Portnummern des lokalen virtuellen Servers mit fremden IP-Adressen und Portnummern von ”fremden” virtuellen Servern, die mit dem lokalen virtuellen Server kommunizierten, assoziiert sind.
  • 5 ist eine Zeichnung, die beispielhafte Kommunikationsaufzeichnungen eines durch die Kommunikationsaufzeichnungsverarbeitungseinheit 304 erzeugten virtuellen Servers illustriert. Jede Kommunikationsaufzeichnung eines virtuellen Servers beinhaltet eine lokale IP-Adresse und eine lokale Portnummer (angezeigt durch ”LOKALE ADRESSE” in 5) des lokalen virtuellen Servers und eine fremde IP-Adresse und eine fremde Portnummer (angezeigt durch ”FREMDADRESSE” in 5) eines fremden virtuellen Servers (d. h. ein Ziel eines Senders eines Pakets).
  • In jeder Kommunikationsaufzeichnung (Zeile) von 5 zeigen nach einem Doppelpunkt ”:” platzierte Ziffern eine Portnummer an, und zeigen vor dem Doppelpunkt platzierte Ziffern eine IP-Adresse an. Bei den Kommunikationsaufzeichnungen 1 bis 6 werden alle IP-Adressen durch ”127.0.0.1”, die eine Loopback-Adresse ist, repräsentiert. Entsprechend zeigen Kommunikationsaufzeichnungen (1) bis (6) Kommunikationen an, bei denen der lokale virtuelle Server sowohl ein Ziel als auch ein Sender ist.
  • In Kommunikationsaufzeichnungen (7) bis (18) werden dieselben lokalen Portnummern ”23461” und ”3501” wiederholt verwendet, was anzeigt, dass der lokale virtuelle Server der Empfänger bei diesen Kommunikationen ist. Dies kann gesagt werden, weil die Portnummer eines empfangenden virtuellen Servers fix ist, um auf Verbindungen zu warten. Derweil wird die Portnummer eines sendenden virtuellen Servers sequentiell aus Portnummern ausgewählt, die innerhalb eines vorgegebenen Bereichs und aktuell nicht in Verwendung sind. Daher werden bei den Kommunikationsaufzeichnungen 7 bis 18 verschiedene fremde Portnummern verwendet.
  • In den Kommunikationsaufzeichnungen 19 bis 22 werden verschiedene lokale Portnummern verwendet, was anzeigt, dass der lokale virtuelle Sender der Sender ist.
  • In der vorliegenden Ausführungsform, selbst wenn Senden und Empfangen mehrmals in einer Kommunikationssitzung für einen gegebenen Zweck durchgeführt werden, zeichnet der Kommunikationsüberwachungsagent 300 die Kommunikationssitzung als eine Kommunikationsaufzeichnung auf, so als wenn Kommunikation einmal in einer Kommunikationsrichtung durchgeführt wird (was durch die Anfangs-Kommunikationsrichtung repräsentiert wird).
  • START/STOPP-STEUEREINHEIT
  • Die Start/Stopp-Einheit 150 wird unten beschrieben. 6 ist eine Zeichnung, die eine beispielhafte funktionelle Konfiguration der Start/Stopp-Einheit 150 illustriert. Die Start/Stopp-Einheit 150 wird durch Ausführen eines Programms durch die CPU 110 implementiert und kann funktionelle Blöcke wie etwa eine Kommunikationsaufzeichnungs-Empfangseinheit 152, eine Kommunikationsverknüpfungs-Extraktionseinheit 154, eine Geschlossenpfadeliminierungseinheit 156, eine Reihenfolgenbestimmungseinheit 158 und eine Start- und Stoppeinheit 160 enthalten. Diese funktionellen Blöcke müssen nicht notwendigerweise durch getrennte Programme implementiert sein. Stattdessen können die funktionellen Blöcke als Unterroutinen oder Funktionen bereitgestellt werden, die durch ein anderes Programm aufgerufen werden.
  • 7 ist ein Flussdiagramm, das einen durch die Start/Stopp-Einheit 150 durchgeführten, beispielhaften Prozess illustriert. Der Prozess von 7 wird beispielsweise gestartet, wenn es notwendig wird, einige oder alle der virtuellen Server des verwalteten Servers 200 durch den Verwaltungsserver 100 zu starten oder zu stoppen.
  • Beispielsweise wenn ein Administrator (oder Anwender) einen Befehl an den Verwaltungsserver 100 zur Wartung der virtuellen Server eingibt, startet oder stoppt der Verwaltungsserver 100 die virtuellen Server des verwalteten Servers 200.
  • In 7 extrahiert die Kommunikationsverkndpfungs-Extraktionseinheit 154 Kommunikationsverknüpfungen zwischen den virtuellen Servern aus durch die Kommunikationsaufzeichnungs-Empfangseinheit 152 empfangenen Kommunikationsaufzeichnungen (S400).
  • Als Nächstes entfernt die Geschlossenpfadeliminierungseinheit 156 einen Teil der durch die Kommunikationsverknüpfungs-Extraktionseinheit 154 extrahierten Kommunikationsverknüpfungen, um geschlossene Pfade aus den Kommunikationsverknüpfungen zu eliminieren (so dass kein geschlossener Pfad in den Kommunikationsverknüpfungen existiert) (S500).
  • Als Nächstes bestimmt, basierend auf den Kommunikationsverknüpfungen, aus denen geschlossene Pfade durch die Geschlossenpfadeliminierungseinheit 156 eliminiert worden sind, die Reihenfolgenbestimmungseinheit 158 die Reihenfolge, in der die virtuellen Server des verwalteten Servers 200 gestartet oder gestoppt werden (S600).
  • Dann startet oder stoppt gemäß der durch die Reihenfolgenbestimmungseinheit 158 bestimmten Reihenfolge die Start- und Stoppeinheit 160 die virtuellen Server des verwalteten Servers 200 (S700).
  • Schritte in 7 werden nicht notwendigerweise nacheinander durchgeführt. Beispielsweise können die Schritte S400 bis S600 zuerst zu gewünschten Timings durchgeführt werden und kann Schritt S5406 getrennt zu einem anderen Timing durchgeführt werden, wenn es notwendig wird, die virtuellen Server zu starten oder zu stoppen.
  • Details von Schritten im Prozess von 7 werden unten beschrieben.
  • EXTRAKTION VON KOMMUNIKATIONSVERKNÜPFUNGEN
  • 8 ist ein Flussdiagramm, das einen beispielhaften Prozess (Schritt S400 von 7) illustriert, der durch die Kommunikationsaufzeichnungs-Empfangseinheit 152 und die Kommunikationsverknüpfungs-Extraktionseinheit 154 durchgeführt werden.
  • Die Kommunikationsaufzeichnungs-Empfangseinheit 152 empfängt Kommunikationsaufzeichnungen, in all denen die lokale IP-Adresse zur fremden IP-Adresse aus den empfangenen Kommunikationsaufzeichnungen passt (S404).
  • Als Nächstes extrahiert die Kommunikationsverknüpfungs-Extraktionseinheit 154 aus den nach Schritt S404 verbleibenden Kommunikationsaufzeichnungen Kommunikationsaufzeichnungen, bei denen dieselbe lokale Portnummer eine vorgegebene Anzahl von Malen oder öfter verwendet wird, aber die entsprechenden fremden Portnummern nicht dieselben sind (z. B. wird jede der entsprechenden fremden Portnummern weniger als eine zweite vorgegebene Anzahl von Malen verwendet) (S406). Mit anderen Worten bestimmt die Kommunikationsverknüpfungs-Extraktionseinheit 154 für jede Kommunikationsaufzeichnung, ob der lokale virtuelle Server der Empfänger oder der Sender ist, basierend auf den Charakteristika von Kommunikationsaufzeichnungen (z. B. der Verwendungsfrequenz oder dem Konzentrationsgrad an Portnummern in den Kommunikationsaufzeichnungen) wie unter Bezugnahme auf 5 beschrieben.
  • Durch Schritt S406 kann die Kommunikationsverknüpfungs-Extraktionseinheit 154 Kommunikationsaufzeichnungen extrahieren, wo der lokale virtuelle Server das Ziel (oder Empfänger) ist, aus einem von zwei identischen Sätzen von Kommunikationsaufzeichnungen, die am sendenden virtuellen Server und dem empfangenden virtuellen Server gesammelt sind. Hier kann sich die erste vorgegebene Anzahl von Malen und die zweite vorgegebene Anzahl von Malen voneinander unterscheiden.
  • Als Nächstes berechnet die Kommunikationsverknüpfungs-Extraktionseinheit 154 die Anzahl von Kommunikationen für jede Kombination einer Portnummer und einer Sender-IP-Adresse (in diesem Beispiel die IP-Adresse eines fremden virtuellen Servers, der ein Sender ist) (S408). Durch Schritt S408 erzeugt die Kommunikationsverknüpfungs-Extraktionseinheit 154 da, wo die Anzahl von Kommunikationen mit Kombinationen von Ziel-Portnummern und Sender-IP-Adressen assoziiert sind.
  • Dann summiert die Kommunikationsverknüpfungs-Extraktionseinheit 154 die Gesamtzahl von Kommunikationen, die mit verschiedenen Ziel-Portnummern assoziiert sind, für jede Sender-IP-Adresse und erzeugt dadurch Daten (graphische Daten), bei denen die Gesamtanzahl von Kommunikationen mit jeder Kombination einer Ziel-(oder Empfänger)IP-Adresse und einer Sender-IP-Adresse assoziiert ist (S410).
  • 9 ist ein schematisches Diagramm, das beispielhafte graphische Daten illustriert, welche durch die Kommunikationsverknüpfungs-Extraktionseinheit 154 erzeugt werden. In 9 zeigen Beschriftungen ”MONITOR”, ”GATEWAY”, ”WEB”, ”AP” und ”DB” virtuelle Server an, welche auf dem verwalteten Server 200 laufen und repräsentieren ihre Funktion. Mit anderen Worten zeigen die Markierungen Kommunikationseinheiten (Knoten) an, welche Kommunikationen in dem verwalteten Server 200 durchführen. ”MONITOR” zeigt einen virtuellen Server an, der eine Funktion zum Überwachen des Status anderer virtueller Server beinhaltet, ”GATEWAY” zeigt einen virtuellen Server an, der beispielsweise eine Protokollumwandlungsfunktion beinhaltet und von einem Anwender eines Cloud-Dienstes empfangene Daten an andere virtuelle Server transferiert. ”WEB” kennzeichnet einen virtuellen Server, der als ein Web-Server fungiert. ”AP” zeigt einen virtuellen Server an, der als ein Anwendungsserver dient. ”DB” zeigt einen virtuellen Server an, der als ein Datenbankserver fungiert.
  • Wie in 9 illustriert, sind Zeichen A bis O den entsprechenden virtuellen Servern oder Kommunikationsentitäten (Knoten) zugewiesen. Pfeile in 9 zeigen Kommunikationsrichtungen an. Weiter, obwohl in 9 nicht illustriert, wird angenommen, dass die Anzahl von Kommunikationen anzeigende Informationen an jedem Pfeil angebracht ist.
  • ELIMINIERUNG DES GESCHLOSSENEN PFADS
  • Die Geschlossenpfadeliminierungseinheit 156 identifiziert geschlossene Pfade in den durch die Kommunikationsverknüpfungs-Extraktionseinheit 154 erzeugten graphischen Daten und entfernt eine oder mehrere Verknüpfungen, um die geschlossenen Pfade zu eliminieren. In der Beschreibung unten werden Kommunikations-Entitäten einfach als ”Knoten” bezeichnet und werden Pfeile, die Kommunikation zwischen Knoten, Richtungen der Kommunikation und die Anzahl der Kommunikationen anzeigen, als ”Verknüpfungen” bezeichnet.
  • Ein geschlossener Pfad zeigt einen Schleifenkommunikationspfad an, der von einem ersten Knoten zu einem zweiten Knoten und dann zurück zum ersten Knoten führt. Wenn ein geschlossener Pfad zwischen Knoten existiert, ist es nicht möglich, die primäre Kommunikationsrichtung zwischen den Knoten zu bestimmen und daher ist es nicht möglich, eine angemessene Start oder Stoppreihenfolge automatisch zu bestimmen.
  • 10 und 11 sind Flussdiagramme, die einen beispielhaften Prozess illustrieren (Schritt S500 von 7), der durch die Geschlossenpfadeliminierungseinheit 156 durchgeführt wird.
  • Die Geschlossenpfadeliminierungseinheit 156 markiert alle Knoten als ”Unbesucht” (S502).
  • Als Nächstes wählt die Geschlossenpfadeliminierungseinheit 156 einen der Knoten (”Unbesuchte” Knoten), die als ”Unbesucht” markiert sind, aus, und nennt eine Prozedurtiefenerstsuche (DFS, Depth First Search) (eine Unterroutine, die den Prozess von 11 durchführt) (S504).
  • Nachdem die Prozedur DFS abgeschlossen ist, bestimmt die Geschlossenpfadeliminierungseinheit 156, ob ein ”unbesuchter” Knoten noch existiert (S506). Wenn ein ”unbesuchter” Knoten existiert (JA in S506), kehrt der Prozess zu Schritt S504 zurück. Wenn derweil kein ”unbesuchter” Knoten existiert (NEIN in S506), wird der Prozess beendet.
  • Ein beispielhafter Prozess der Prozedur DFS wird unten unter Bezugnahme auf 11 beschrieben. Wenn die Prozedur DFS aufgerufen wird, markiert die Geschlossenpfadeliminierungseinheit 156 den ausgewählten Knoten (oder aktuellen Knoten) als ”besuchend” (S550).
  • Als Nächstes bestimmt die Geschlossenpfadeliminierungseinheit 156, ob irgendein nachfolgender, nicht als ”besucht” markierter Knoten existiert (S552). Mit anderen Worten bestimmt die Geschlossenpfadeliminierungseinheit 156, ob es einen nachfolgenden Knoten gibt, der noch nicht verfolgt (oder besucht) worden ist. Hier, wenn angenommen wird, dass der ausgewählte Knoten ein Sender ist, ist ein ”nachfolgender Knoten” ein Ziel der Kommunikation aus dem ausgewählten Knoten. Wenn nachfolgende Knoten existieren, kann einer von ihnen per Zufall ausgewählt werden.
  • Wenn kein nachfolgender Knoten, der nicht als ”Besucht” markiert ist, existiert, markiert die Geschlossenpfadeliminierungseinheit 156 den ausgewählten Knoten als ”Besucht” (S554) und kehrt zum Aufrufpunkt zurück (S556).
  • Derweil, wenn ein nachfolgender Knoten, der nicht als ”Besucht” markiert ist, existiert, wählt die Geschlossenpfadeliminierungseinheit 156 den nachfolgenden Knoten aus (S558).
  • Als Nächstes bestimmt die Geschlossenpfadeliminierungseinheit 156, ob der ausgewählte nachfolgende Knoten als ”Unbesucht” markiert ist (S560).
  • Wenn der ausgewählte nachfolgende Knoten als ”Unbesucht” markiert ist, ruft die Geschlossenpfadeliminierungseinheit 156 rekursiv die Prozedur DFS für den ausgewählten nachfolgenden Knoten auf (S562). Das heißt, dass die Geschlossenpfadeliminierungseinheit 156 nach Knoten sucht, die mit dem ausgewählten nachfolgenden Knoten verbunden sind.
  • Als Nächstes bestimmt die Geschlossenpfadeliminierungseinheit 156, ob der ausgewählte nachfolgende Knoten als ”besuchend” markiert ist (S564).
  • Wenn der ausgewählte nachfolgende Knoten als ”besuchend” markiert ist, identifiziert die Geschlossenpfadeliminierungseinheit 156 einen geschlossenen Pfad, der durch Verknüpfungen zwischen dem ausgewählten Knoten und den ausgewählten nachfolgenden Knoten gebildet wird, die als ”besuchend” markiert sind, und entfernt eine der Verknüpfungen (die den gelesenen Pfad bildet), welche die kleinste Anzahl von Kommunikationen (oder die kleinste Kommunikationshäufigkeit) aufweist, aus den graphischen Daten (S566).
  • Dann setzt die Geschlossenpfadeliminierungseinheit 156 alle als ”besuchend” markierten Knoten auf ”unbesucht” zurück und verlässt die Prozedur DFS, um zur Unterroutine von 10 zurückzukehren (S568). Dies liegt daran, dass sich der Zustand des Graphen als Ergebnis der Entfernung eines geschlossenen Pfades ändert.
  • Durch den oben beschriebenen Prozess werden eine oder mehrere der Verknüpfungen in den durch die Kommunikationsverknüpfungs-Extraktionseinheit 154 erzeugten graphischen Daten entfernt, um geschlossene Pfade zu eliminieren. Mit anderen Worten ermöglicht es der obige Prozess, graphische Daten zu erhalten, die keinen geschlossenen Pfad beinhalten, das heißt, die zur Bestimmung der Reihenfolge des Startens oder Stoppens von virtuellen Servern des verwalteten Servers 200 geeignet sind.
  • 12 ist eine Zeichnung, die durch Eliminieren geschlossener Pfade aus den graphischen Daten von 9 erhaltene Geschlossenpfad-eliminierte graphische Daten und Tabellendaten, welche die Geschlossenpfad-eliminierten graphischen Daten repräsentierende Werte enthalten, illustriert. In den Tabellendaten von 12 zeigt beispielsweise ein Wert ”1” in Zeile A und Spalte C an, dass eine Verknüpfung von einem Knoten A zu einem Knoten C existiert. Die Geschlossenpfadeliminierungseinheit 156 speichert Daten, die ein wie in 12 illustriertes Format aufweisen, beispielsweise im Speicher 118.
  • Der Prozess oder das Verfahren des Eliminierens geschlossener Pfade ist nicht auf das oben Beschriebene beschränkt. Beispielsweise können geschlossene Pfade durch starkverbundene Komponentendeposition eliminiert werden.
  • BESTIMMUNG DER REIHENFOLGE
  • Die Reihenfolgenbestimmungseinheit 158 bestimmt die Reihenfolge des Startens oder Stoppens virtueller Server des verwalteten Servers 200, basierend auf Geschlossenpfadeliminierten graphischen Daten, aus welchen geschlossene Pfade eliminiert worden sind. Unten wird ein beispielhafter Prozess des Bestimmens der Reihenfolge des Stoppens virtueller Server des verwalteten Servers 200 beschrieben. Die Reihenfolge des Startens der virtuellen Server kann durch Umkehren der Reihenfolge des Stoppens der virtuellen Server ermittelt werden.
  • 13 ist ein Fluss, das einen durch die Reihenfolgenbestimmungseinheit 158 durchgeführten beispielhaften Prozess illustriert.
  • Die Reihenfolgenbestimmungseinheit 158 weist eine Nummer N allen Knoten in den Geschlossenpfad-eliminierten graphischen Daten zu, die nicht als Ziele dienen (S602). Die Knoten, denen die Nummer N zugewiesen worden ist, können als ”Nummernzugewiesene Knoten” bezeichnet werden. Die Nummer N beginnt beispielsweise bei einem Anfangswert von ”1” und wird um 1 inkrementiert. Die Knoten, die nicht als Ziele dienen, können durch Bezugnahme auf Tabellendaten bestimmt werden, wie in 12 illustriert. Im Beispiel von 12 werden jene Knoten durch die Markierungen von Spalten in den Tabellendaten repräsentiert, wo ”1” nicht gespeichert ist.
  • Als Nächstes entfernt die Reihenfolgenbestimmungseinheit 158 die Nummern-zugewiesenen Knoten und mit den Nummernzugewiesenen Knoten verbundene Verknüpfungen aus den Geschlossenpfad-eliminierten graphischen Daten (S604). Daten bezüglich der entfernten Knoten und Verknüpfungen und der zugewiesenen Nummer N können beispielsweise im Speicher 118 getrennt von den Geschlossenpfad-eliminierten graphischen Daten gespeichert werden. Auch kann die Reihenfolgenbestimmungseinheit 158 konfiguriert sein, ”Entfernen”-Flags an den Nummern-zugewiesenen Knoten und mit den Nummern-zugewiesenen Knoten verbundenen Verknüpfungen anzubringen und Daten der Nummern-zugewiesenen Knoten und der Verknüpfungen in den Geschlossenpfad-eliminierten graphischen Daten zu lassen. Mit anderen Worten kann die Reihenfolgenbestimmungseinheit 158 konfiguriert sein, die Knoten und Verknüpfungen ”virtuell” zu entfernen.
  • Als Nächstes bestimmt die Reihenfolgenbestimmungseinheit 158, ob die Nummern N allen Knoten in den Geschlossenpfadeliminierten graphischen Daten zugewiesen worden sind (S606). Wenn die Nummern N nicht allen Knoten in den Geschlossenpfadeliminierten graphischen Daten zugewiesen worden sind, inkrementiert die Reihenfolgenbestimmungseinheit 158 die Nummer N (S608) und kehrt zu Schritt S602 zurück. Derweil, wenn die Nummern N allen Knoten in den Geschlossenpfadeliminierten graphischen Daten zugewiesen worden sind, beendet die Reihenfolgenbestimmungseinheit 158 den Prozess.
  • Die 14 bis 22 sind Zeichnungen, die Änderungen illustrieren, die an den Geschlossenpfad-eliminierten graphischen Daten und den Tabellendaten gemacht sind, wenn der Prozess von 13 fortschreitet.
  • In 14 ist im Vergleich zu den Geschlossenpfadeliminierten graphischen Daten und den Tabellendaten von 12 Nummer ”1” in Knoten A und B entsprechend Spalten A und B der Tabellendaten zugewiesen, die nicht den Wert ”1” enthalten.
  • In 15 sind die Knoten A und B und die mit den Knoten A und B verbundenen Verknüpfungen aus den Geschlossenpfadeliminierten graphischen Daten entfernt worden. Auch werden in den Tabellendaten Spalten und Zeilen entsprechend den entfernten Knoten A und B (angezeigt durch Schattierung) für den nachfolgenden Prozess maskiert.
  • In 16 ist im Vergleich mit den Geschlossenpfadeliminierten graphischen Daten und den Tabellendaten von 15 Nummer ”2” Knoten C, D und J entsprechend den Spalten C, D und J zugewiesen worden, die nicht den Wert ”1” in den Tabellendaten von 15 enthalten, wo Spalten und Zeilen entsprechend den entfernten Knoten A und B maskiert sind.
  • In 17 sind die Knoten C, D und J und mit den Knoten C, D und J verbundene Verknüpfungen aus den Geschlossenpfadeliminierten graphischen Daten entfernt worden. Auch sind in den Tabellendaten Spalten und Zeilen entsprechend den entfernten Knoten A, B, C, D und J für den nachfolgenden Prozess maskiert.
  • In 18 ist im Vergleich zu den Geschlossenpfadeliminierten graphischen Daten und den Tabellendaten von 17 Nummer ”3” den Knoten E, F, G und H entsprechend Spalten E, F, G und H zugewiesen worden, die nicht den Wert ”1” in Tabellendaten von 17 enthalten, wo Spalten und Zeilen entsprechend den entfernten Knoten A, B, C, D und J maskiert sind.
  • In 19 sind die Knoten E, F, G und H und mit den Knoten E, F, G und H verbundene Verknüpfungen aus den Geschlossenpfadeliminierten graphischen Daten entfernt worden. Auch sind in den Tabellendaten Spalten und Zeilen entsprechend den entfernten Knoten A bis H und J für den nachfolgenden Prozess maskiert.
  • In 20 ist im Vergleich zu den Geschlossenpfadeliminierten graphischen Daten und den Tabellen-Daten von 19 die Nummer ”4” den Knoten K und L entsprechend Spalten K und L zugewiesen worden, die nicht den Wert ”1” in den Tabellendaten von 19 enthalten, wo Spalten und Zeilen entsprechend den entfernten Knoten A bis H und J maskiert sind.
  • In 21 sind die Knoten K und l und mit den Knoten K und L verbundene Verknüpfungen aus den Geschlossenpfad-eliminierten graphischen Daten entfernt worden. Auch sind in den Tabellendaten Spalten und Zeilen entsprechend den entfernten Knoten A bis H und J bis L für den nachfolgenden Prozess maskiert.
  • In 22 ist im Vergleich zu den Geschlossenpfadeliminierten graphischen Daten und den Tabellendaten von 2 Nummer ”5” den Knoten I, M und N entsprechend Spalten I, M und N zugewiesen worden, die nicht den Wert ”1” in den Tabellendaten von 21 enthalten, wo Spalten und Zeilen entsprechend den entfernten Knoten A bis H und J bis L maskiert sind.
  • Schließlich ist Nummer ”6” dem verbleibenden Knoten O zugewiesen.
  • 23 ist ein Zeichnung, die graphische Daten illustriert, wo Nummern N allen Knoten zugewiesen sind, und Tabellendaten, wo alle Spalten und Zeilen entsprechend den Knoten maskiert sind.
  • Durch den obigen Prozess kann eine geeignete Reihenfolge zum Starten oder Stoppen von virtuellen Servern bestimmt werden. Durch Starten oder Stoppen virtueller Server in der vorgegebenen Reihenfolge ist es beispielsweise möglich, zu verhindern, dass eine unerwartete Fehlernachricht ausgegeben wird, und zu verhindern, dass gestartete funktionelle Komponenten eine Fehlerfunktion aufweisen.
  • STARTEN ODER STOPPEN VIRTUELLER SERVER
  • Die Start- und Stoppeinheit 160 führt einen Prozess des Startens oder Stoppens der virtuellen Server des verwalteten Servers 200 anhand der durch die Reihenfolgenbestimmungseinheit 158 bestimmten Reihenfolge durch. Wenn die kleinste Nummer zuerst Knoten zugewiesen wird, die nicht als Ziele dienen und dann größere Nummern den verbleibenden Knoten zugewiesen werden, wie im Prozess von 13, wird die bestimmte Reihenfolge verwendet, um die virtuellen Server zu stoppen, das heißt die virtuellen Server werden in aufsteigender Reihenfolge der zugewiesenen Nummern gestoppt. In diesem Fall können die virtuellen Server in absteigender Reihenfolge der zugewiesenen Nummern gestartet werden. Derweil, wenn die kleinste Nummer zuerst Knoten zugewiesen wird, die nicht als Sender dienen und dann größere Nummern den verbleibenden Knoten zugewiesen werden, wird die bestimmte Reihenfolge verwendet, um die virtuellen Server zu starten, das heißt die virtuellen Server werden in aufsteigender Reihenfolge der zugewiesenen Nummern gestartet. In diesem Fall können die virtuellen Server in absteigender Reihenfolge der zugewiesenen Nummern gestartet werden.
  • In einem Prozess des Startens der virtuellen Server bestätigt die Start- und Stoppeinheit 160, dass alle virtuellen Server mit einer aktuell zugewiesenen Nummer gestartet worden sind, bevor virtuelle Server mit einer nächsten zugewiesenen Nummer gestartet werden. Hier, da eine Zeitverzögerung zwischen dem Start eines OS und dem Start eines Service vorkommen kann, kann der Abschluss des Herauffahrens der virtuellen Server beispielsweise durch Pingen von Portnummern der virtuellen Server bestätigt werden.
  • Derweil bestätigt in einem Prozess des Stoppens der virtuellen Server die Start- und Stoppeinheit 160, dass alle virtuellen Server mit einer aktuell zugewiesenen Nummer gestoppt sind, bevor virtuelle Server mit einer nächsten zugewiesenen Nummer gestoppt werden. Der Abschluss des Herunterfahrens von virtuellen Servern kann beispielsweise unter Verwendung einer Funktion der VM-Wirte 210 und 250 des verwalteten Servers 200 bestätigt werden.
  • ZUSAMMENFASSUNG
  • Wie oben beschrieben, entfernt der Verwaltungsserver 100 der vorliegenden Ausführungsform eine oder mehrere Verknüpfungen in graphischen Daten, um geschlossene Pfade aus den graphischen Daten zu eliminieren und startet oder stoppt funktionelle Komponenten (virtuelle Server), basierend auf den graphischen Daten, aus denen die geschlossenen Pfade entfernt worden sind. Mit dieser Konfiguration kann der Verwaltungsserver 100 mehrere funktionelle Komponenten des verwalteten Servers 200 in einer geeigneten Reihenfolge starten oder stoppen, selbst wenn Kommunikationsverknüpfungen zwischen den funktionellen Komponenten komplex sind.
  • 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
    • WO 2006/043321 [0003]
    • WO 2009/011063 [0004]

Claims (12)

  1. Systemmanagementvorrichtung, umfassend: eine Sammeleinheit, die konfiguriert ist, Kommunikationsaufzeichnung zu verwaltender funktioneller Komponenten zu sammeln; eine Extraktionseinheit, die konfiguriert ist, Kommunikationsverknüpfungen zwischen den funktionellen Komponenten aus den gesammelten Kommunikationsaufzeichnungen zu extrahieren; eine Geschlossenpfad-Eliminationseinheit, die konfiguriert ist, eine oder mehrere der Kommunikationsverknüpfungen zu entfernen, um geschlossene Pfade aus den Kommunikationsverknüpfungen zu eliminieren; und eine Reihenfolgen-Bestimmungseinheit, die konfiguriert ist, eine Reihenfolge zu bestimmen, in der die funktionellen Komponenten gestartet oder gestoppt werden, basierend auf den Kommunikationsverknüpfungen, aus denen die geschlossenen Pfade eliminiert worden sind.
  2. Systemverwaltungsvorrichtung gemäß Anspruch 1, wobei die Geschlossenpfad-Eliminierungseinheit konfiguriert ist, eine Kommunikationsverknüpfung, die eine niedrigste Kommunikationshäufigkeit aufweist, aus den jeden der geschlossenen Pfade bildenden Kommunikationsverknüpfungen zu entfernen.
  3. Systemverwaltungsvorrichtung gemäß Anspruch 1 oder 2, wobei die funktionalen Komponenten virtuelle Server beinhalten; und die Extraktionseinheit konfiguriert ist, zu bestimmen, ob jeder der virtuellen Server ein Ziel oder ein Sender in den Kommunikationsaufzeichnungen ist, basierend auf einer Verwendungsfrequenz entsprechender Portnummern der virtuellen Server in den Kommunikationsaufzeichnungen.
  4. Systemverwaltungsvorrichtung gemäß einem der Ansprüche 1 bis 3, weiter umfassend: eine Start- und Stoppeinheit, die konfiguriert ist, die funktionellen Komponenten anhand der durch die Reihenfolgen-Bestimmungseinheit bestimmten Reihenfolge zu starten oder zu stoppen, wobei die Start- und Stoppeinheit konfiguriert ist, zu bestätigen, dass alle funktionellen Komponenten im aktuellen Ort in der Reihenfolge gestartet oder gestoppt sind, bevor funktionelle Komponenten in einem nächsten Platz in der Reihenfolge gestartet oder gestoppt werden.
  5. Verfahren, das durch eine Systemverwaltungsvorrichtung durchgeführt wird, wobei das Verfahren umfasst: Sammeln von Kommunikationsaufzeichnungen zu verwaltender funktioneller Komponenten; Extrahieren von Kommunikationsverknüpfungen zwischen den funktionellen Komponenten aus den gesammelten Kommunikationsaufzeichnungen; Entfernen einer oder mehrerer der Kommunikationsverknüpfungen, um geschlossene Pfade aus den Kommunikationsverknüpfungen zu eliminieren; und Bestimmen einer Reihenfolge, in der die funktionellen Komponenten gestartet oder gestoppt werden, basierend auf den Kommunikationsverknüpfungen, aus denen die geschlossenen Pfade eliminiert worden sind.
  6. Verfahren gemäß Anspruch 5, wobei beim Entfernen eine Kommunikationsverknüpfung, die eine niedrigste Kommunikationsfrequenz aufweist, aus den jeden der geschlossenen Pfade bildenden Kommunikationsverknüpfungen entfernt wird.
  7. Verfahren gemäß Anspruch 5 oder 6, wobei die funktionellen Komponenten virtuelle Server enthalten; und das Extrahieren das Bestimmen beinhaltet, ob jeder der virtuellen Server ein Ziel oder ein Sender in den Kommunikationsaufzeichnungen ist, basierend auf einer Verwendungsfrequenz entsprechender Portnummern der virtuellen Server in den Kommunikationsaufzeichnungen.
  8. Verfahren gemäß einem der Ansprüche 5 bis 7, weiter umfassend: Starten oder Stoppen der funktionellen Komponenten anhand der bestimmten Reihenfolge, wobei beim Starten oder Stoppen bestätigt wird, ob alle funktionellen Komponenten in einem aktuellen Platz in der Reihenfolge gestartet oder gestoppt worden sind, bevor funktionelle Komponenten in einen nächsten Platz in der Reihenfolge gestartet oder gestoppt werden.
  9. Computerlesbares Speichermedium, das Programmcode speichert, um einen Computer zu veranlassen, ein Verfahren durchzuführen, wobei das Verfahren umfasst: Sammeln von Kommunikationsaufzeichnungen zu verwaltender funktioneller Komponenten; Extrahieren von Kommunikationsverknüpfungen zwischen den funktionellen Komponenten aus den gesammelten Kommunikationsaufzeichnungen; Entfernen einer oder mehrerer der Kommunikationsverknüpfungen, um geschlossene Pfade aus den Kommunikationsverknüpfungen zu eliminieren; und Bestimmen einer Reihenfolge, in der die funktionellen Komponenten gestartet oder gestoppt werden, basierend auf den Kommunikationsverknüpfungen, aus denen die geschlossenen Pfade eliminiert worden sind.
  10. Speichermedium gemäß Anspruch 9, wobei beim Entfernen eine Kommunikationsverknüpfung, die eine niedrigste Kommunikationsfrequenz aufweist, aus den jeden der geschlossenen Pfade bildenden Kommunikationsverknüpfungen entfernt wird.
  11. Speichermedium gemäß Anspruch 9 oder 10, wobei die funktionellen Komponenten virtuelle Server enthalten; und das Extrahieren das Bestimmen beinhaltet, ob jeder der virtuellen Server ein Ziel oder ein Sender in den Kommunikationsaufzeichnungen ist, basierend auf einer Verwendungsfrequenz entsprechender Portnummern der virtuellen Server in den Kommunikationsaufzeichnungen.
  12. Speichermedium gemäß einem der Ansprüche 9 bis 11, weiter umfassend: Starten oder Stoppen der funktionellen Komponenten anhand der bestimmten Reihenfolge, wobei beim Starten oder Stoppen bestätigt wird, ob alle funktionellen Komponenten in einem aktuellen Platz in der Reihenfolge gestartet oder gestoppt worden sind, bevor funktionelle Komponenten in einen nächsten Platz in der Reihenfolge gestartet oder gestoppt werden.
DE102013209934.7A 2012-07-02 2013-05-28 Starten oder Stoppen virtueller Server in angemessener Reihenfolge Expired - Fee Related DE102013209934B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012148785A JP5880315B2 (ja) 2012-07-02 2012-07-02 システム管理装置、システムの管理方法、及びシステムの管理プログラム
JP2012-148785 2012-07-02

Publications (2)

Publication Number Publication Date
DE102013209934A1 true DE102013209934A1 (de) 2014-01-02
DE102013209934B4 DE102013209934B4 (de) 2017-07-06

Family

ID=49754298

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102013209934.7A Expired - Fee Related DE102013209934B4 (de) 2012-07-02 2013-05-28 Starten oder Stoppen virtueller Server in angemessener Reihenfolge

Country Status (3)

Country Link
US (1) US9641595B2 (de)
JP (1) JP5880315B2 (de)
DE (1) DE102013209934B4 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017066972A1 (en) 2015-10-23 2017-04-27 Oracle International Corporation System and method for booting application servers in parallel

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015140842A1 (ja) * 2014-03-20 2015-09-24 日本電気株式会社 システムを監視する情報処理装置及び監視方法
JP6282736B2 (ja) * 2014-07-07 2018-02-21 株式会社日立システムズ 仮想サーバ稼動制御システム及び仮想サーバ稼動制御プログラム
US20170149864A1 (en) * 2015-11-24 2017-05-25 International Business Machines Corporation Distributed applications management with dependent resilient distributed services
JP2019032709A (ja) * 2017-08-08 2019-02-28 東芝三菱電機産業システム株式会社 分散システム
JP7148570B2 (ja) * 2020-07-07 2022-10-05 オラクル・インターナショナル・コーポレイション アプリケーションサーバを並列起動するためのシステムおよび方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006043321A1 (ja) 2004-10-20 2006-04-27 Fujitsu Limited アプリケーション管理プログラム、アプリケーション管理方法、およびアプリケーション管理装置
WO2009011063A1 (ja) 2007-07-19 2009-01-22 Fujitsu Limited 通信メッセージ分類プログラム、通信メッセージ分類方法および通信メッセージ分類装置

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3636744B2 (ja) * 1994-06-14 2005-04-06 株式会社日立製作所 分散システムおよび分散システムの自動運転スケジュールの作成方法
US6681242B1 (en) 2000-01-10 2004-01-20 Sun Microsystems, Inc. Method and apparatus for detecting dependency cycles between resources in a computer system
US7962644B1 (en) * 2002-03-18 2011-06-14 Oracle International Corporation Systems and methods for handling a plurality of communications
US20060271677A1 (en) * 2005-05-24 2006-11-30 Mercier Christina W Policy based data path management, asset management, and monitoring
US20070100957A1 (en) * 2005-10-13 2007-05-03 Bhogal Kulvir S Method and apparatus to provide guaranteed deployment of applications to nodes in an enterprise
US8214474B2 (en) * 2006-04-18 2012-07-03 International Business Machines Corporation Autonomic computing system with model transfer
US7873038B2 (en) * 2007-04-30 2011-01-18 Hewlett-Packard Development Company, L.P. Packet processing
US8589541B2 (en) * 2009-01-28 2013-11-19 Headwater Partners I Llc Device-assisted services for protecting network capacity
JP2010146306A (ja) * 2008-12-19 2010-07-01 Hitachi Information Systems Ltd 構成監視システム及び構成監視方法
WO2010102084A2 (en) * 2009-03-05 2010-09-10 Coach Wei System and method for performance acceleration, data protection, disaster recovery and on-demand scaling of computer applications
US8156212B2 (en) * 2009-06-16 2012-04-10 JumpSoft, Inc. Method, system and apparatus for managing computer processes
EP2267942B1 (de) * 2009-06-22 2014-08-13 Citrix Systems, Inc. Systeme und Verfahren zur Handhabung eines nicht-HTTP-Client oder Serverpush auf einem HTTP-V-Server
US8103769B1 (en) * 2009-09-03 2012-01-24 Amazon Technologies, Inc. Dynamic isolation of shared resources
WO2011148480A1 (ja) * 2010-05-27 2011-12-01 富士通株式会社 中継装置,中継システム,中継方法,プログラム,及びプログラムを記録したコンピュータ読み取り可能な記録媒体
US9641643B2 (en) * 2010-08-09 2017-05-02 Servicenow, Inc. System and method for storing a skeleton representation of an application in a computerized organization
WO2012092268A1 (en) * 2010-12-29 2012-07-05 Citrix Systems, Inc. Systems and methods for scalable n-core statistics aggregation
US8521922B2 (en) * 2011-01-10 2013-08-27 International Business Machines Corporation Input/output (I/O) path selection based on workload types
US8868710B2 (en) * 2011-11-18 2014-10-21 Amazon Technologies, Inc. Virtual network interface objects
US9223501B2 (en) * 2012-04-23 2015-12-29 Hitachi, Ltd. Computer system and virtual server migration control method for computer system
US9553801B2 (en) * 2012-09-25 2017-01-24 Google Inc. Network device
US9535871B2 (en) * 2012-11-27 2017-01-03 Red Hat Israel, Ltd. Dynamic routing through virtual appliances
JP6111965B2 (ja) * 2012-12-10 2017-04-12 富士通株式会社 管理装置,管理方法,プログラム
US20140304407A1 (en) * 2012-12-21 2014-10-09 Boundary, Inc. Visualizing Ephemeral Traffic
US9692820B2 (en) * 2013-04-06 2017-06-27 Citrix Systems, Inc. Systems and methods for cluster parameter limit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006043321A1 (ja) 2004-10-20 2006-04-27 Fujitsu Limited アプリケーション管理プログラム、アプリケーション管理方法、およびアプリケーション管理装置
WO2009011063A1 (ja) 2007-07-19 2009-01-22 Fujitsu Limited 通信メッセージ分類プログラム、通信メッセージ分類方法および通信メッセージ分類装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017066972A1 (en) 2015-10-23 2017-04-27 Oracle International Corporation System and method for booting application servers in parallel
EP3365774A4 (de) * 2015-10-23 2019-06-26 Oracle International Corporation System und verfahren zum booten von parallelen anwendungsservern

Also Published As

Publication number Publication date
US20140006554A1 (en) 2014-01-02
DE102013209934B4 (de) 2017-07-06
JP2014010772A (ja) 2014-01-20
US9641595B2 (en) 2017-05-02
JP5880315B2 (ja) 2016-03-09

Similar Documents

Publication Publication Date Title
DE102013209934B4 (de) Starten oder Stoppen virtueller Server in angemessener Reihenfolge
DE602005000383T2 (de) Fehlererkennung und -diagnose
DE69634928T2 (de) Netzwerkverwaltungssystem mit verbesserter Knotenerkennung und -überwachung
DE102004016850B4 (de) Verfahren, Management-Server und Computerprogramm zum Zuordnen von Status-Nachrichten überwachter Objekte einer IT-Ifrastruktur
DE202015009844U1 (de) Galerien kurzlebiger Nachrichten
DE112019004076T5 (de) Dezentralisiertes verteiltes deep learning
DE112011101705T5 (de) Migrieren virtueller Maschinen zwischen vernetzten Servern nach Erkennung der Verschlechterung der Funktion der Netzwerkverbindung
DE112016001657T5 (de) Multi-Tenant-Sensitiver DHCP-Mechanismus für Cloud-Netzwerke
DE102005049055A1 (de) Verfahren, um Ereignisse in einem Systemereignisprotokoll in eine Reihenfolge zu bringen
DE102017122738A1 (de) Virtueller Router mit dynamischer Flussauslagerungsfähigkeit
DE112018001061T5 (de) Messlösungsdienstleistungssystem
CN105592122A (zh) 一种云平台监控方法以及云平台监控系统
DE102005053688A1 (de) Verfahren und Mechanismus zum Identifizieren eines nicht-verwalteten Schalters in einem Netz
DE102013212213A1 (de) System und Verfahren zur Spiegelung von Datenströmen
DE102012223167A1 (de) Gemeinsame Nutzung von Artefakten zwischen kollaborativen Systemen
DE112017006993T5 (de) System und Verfahren zum Erfassen einer Netztopologie
DE102018207377A1 (de) Vorabvalidierung einer plattform
DE112021003747T5 (de) Erkennen von anomalien in einer netzwerktopologie
DE112012000305B4 (de) Gemeinsame Wiederherstellung von Datenquellen
DE602005001550T2 (de) Verfahren und vorrichtung zur unterstützung von transaktionen
DE69812574T2 (de) Verfahren und System zur Leitweglenkung von Agent-Programmen in einem Kommunikationsnetz
DE112012005307T5 (de) Verfahren, Computerprogramm und Computer zum Erkennen von Gemeinschaften in einem sozialen Medium
DE102013201664A1 (de) Vorausschauendes Zwischenspeichern bei Telekommunikationstürmen unter Verwendung der Weitergabe der Kennung von Elementen von Daten mit hohem Bedarf auf einer geographischen Ebene
AT512665B1 (de) Verfahren und Apparat zur Bildung von Software Fault Containment Units in einem verteilten Echtzeitsystem
DE112015006287B4 (de) Informationsverarbeitungs-Vorrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee