DE112014001020B4 - Synchronisieren von Multicast-Gruppen - Google Patents

Synchronisieren von Multicast-Gruppen Download PDF

Info

Publication number
DE112014001020B4
DE112014001020B4 DE112014001020.0T DE112014001020T DE112014001020B4 DE 112014001020 B4 DE112014001020 B4 DE 112014001020B4 DE 112014001020 T DE112014001020 T DE 112014001020T DE 112014001020 B4 DE112014001020 B4 DE 112014001020B4
Authority
DE
Germany
Prior art keywords
port
list
multicast
predetermined time
virtual machine
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.)
Active
Application number
DE112014001020.0T
Other languages
English (en)
Other versions
DE112014001020T5 (de
Inventor
Zheng Dong Zhu
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.)
Lenovo Enterprise Solutions Singapore Pte Ltd
Original Assignee
Lenovo Enterprise Solutions Singapore Pte 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 Lenovo Enterprise Solutions Singapore Pte Ltd filed Critical Lenovo Enterprise Solutions Singapore Pte Ltd
Publication of DE112014001020T5 publication Critical patent/DE112014001020T5/de
Application granted granted Critical
Publication of DE112014001020B4 publication Critical patent/DE112014001020B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • 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
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/45595Network integration; Enabling network access in virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Verfahren zum Synchronisieren von Multicast-Gruppen einer virtuellen Maschine während einer Migration der virtuellen Maschine, umfassend folgende Schritte:in Reaktion auf die Ermittlung der Migration der virtuellen Maschine von einem ersten Anschluss auf einen zweiten Anschluss ein und desselben Schalters, Beziehen (32) einer ersten Liste, die Multicast-Gruppen angibt, die dem ersten Anschluss entsprechen, und einer zweiten Liste, die Multicast-Gruppen angibt, die dem zweiten Anschluss entsprechen;Aktualisieren (34) der zweiten Liste, so dass die zweite Liste die Multicast-Gruppen aus der ersten Liste enthält; und Auslagern (36) einer unerwünschten Multicast-Gruppe, wobei das Auslagern einer unerwünschten Multicast-Gruppe folgende Schritte umfasst:Ändern (62) eines Zeitgebers einer Multicast-Gruppe in einer Liste von Multicast-Gruppen, die einem spezifischen Anschluss entsprechen, auf eine erste vorbestimmte Zeit, die kürzer als ein Standardzeitgeberintervall ist;Ausgeben (64) einer Gruppenmitgliedsanfrage für eine Multicast-Gruppe in dem spezifischen Anschluss, und Einstellen (64) der Antwortzeit für die Gruppenmitgliedsanfrage auf eine zweite vorbestimmte Zeit, die kürzer als eine Standardantwortzeit ist;in Reaktion auf den Empfang einer Antwortnachricht mit Bezug auf eine bestimmte Multicast-Gruppe innerhalb der zweiten vorbestimmten Zeit, Ändern (66) des Zeitgebers der bestimmten Multicast-Gruppe zurück auf das Standardzeitgeberintervall;in Reaktion auf das Nicht-Empfangen einer Antwortnachricht mit Bezug auf eine spezifische Multicast-Gruppe, nachdem die erste vorbestimmte Zeit abgelaufen ist, Löschen (68) der spezifischen Multicast-Gruppe aus der Liste von Multicast Gruppen, die dem spezifischen Anschluss entsprechen,wobei der spezifische Anschluss der erste Anschluss und/oder der zweite Anschluss ist.

Description

  • HINTERGRUND
  • Die vorliegende Erfindung betrifft Multicast-Dienste einer virtuellen Maschine und genauer gesagt ein Verfahren und ein Gerät zum Synchronisieren von Multicast-Gruppen während einer Migration der virtuellen Maschine.
  • Mit der Entwicklung der virtuellen Technologie kann eine virtuelle Maschine diverse Anwendungen und Dienste wie ein richtiger unabhängiger Computer bereitstellen. Da eine virtuelle Maschine ihre Ablaufumgebung vollständig über eine Software-Simulation erzielt, kann eine Vielzahl von virtuellen Maschinen auf ein und derselben physischen Plattform installiert werden, wie etwa auf einem Server, und die Vielzahl von virtuellen Maschinen kann parallel, unabhängig und isoliert voneinander ablaufen.
  • 1 zeigt ein Strukturdiagramm eines typischen virtuellen Maschinennetzwerks. In 1 werden drei physische Plattformen gezeigt, jeweils die Server A, B und C. Am unteren Ende jeder physischen Plattform läuft ein Hypervisor, auf dem je nach Bedarf eine oder mehrere virtuelle Maschinen installiert sein kann bzw. können. Beispielsweise sind bei dem Beispiel in 1 auf dem Server A drei virtuelle Maschinen installiert, nämlich VM1, VM2 und VM3. Auf dem Server B und dem Server C sind jeweils zwei virtuelle Maschinen beziehungsweise eine virtuelle Maschine installiert.
  • In einer typischen Netzwerkverbindungsstruktur ist jeder Server über einen Anschluss an einen (Ethernet-) Schalter angeschlossen und dann über den Schalter an ein externes Netzwerk angeschlossen. Beispielsweise sind bei dem Beispiel in 1 der Server A und der Server B jeweils über den Anschluss 1 beziehungsweise den Anschluss 2 an den gleichen Schalter 1 angeschlossen, und ist der Server C über den Anschluss 3 an einen anderen Schalter 2 angeschlossen. Durch das Einrichten von Kommunikationskanälen über die Schalter 1 und 2 können die jeweiligen Server A, B, C an ein externes Backbone-Netzwerk angeschlossen sein. Entsprechend sind jeweilige virtuelle Maschinen, die auf diesen Servern ablaufen, ebenfalls über die Schalter 1 und 2 als unabhängige Hosts an das Netzwerk angeschlossen.
  • Wie es dem Fachmann bekannt ist, entstehen mit der Entwicklung von Breitband-Multimedianetzwerken ständig diverse Breitband-Netzwerkanwendungen, wie etwa IP-TV, Videokonferenz, Netzwerk-Videoanwendungen usw. Diese Netzwerkanwendungen stellen die Belastungskapazität von Multimedianetzwerken in Frage. Um dieses Problem zu lösen, wird eine Multicast-Übertragung vorgeschlagen. In diesem Übertragungsmodus kann eine Vielzahl von Empfängern eine Multicast-Gruppe bilden und eine Punkt-zu-Mehrpunkt-Netzwerkverbindung mit einem Sender, d.h. einer Multicast-Quelle, umsetzen. Da eine virtuelle Maschine zur Kommunikation an ein Netzwerk angeschlossen sein kann, kann sie als normaler Host auch einer oder mehreren Multicast-Gruppen als Mitglied beitreten, um Multicast-Verkehrsdaten von der Multicast-Quelle zu empfangen. In diesem Fall wird ein Gruppenmitgliedschaftsprotokoll zwischen den virtuellen Maschinen und Schaltern gepflegt, so dass die Schalter die Daten der Multicast-Gruppe(n) auf entsprechende Anschlüsse und dann auf entsprechende virtuelle Maschinen verteilen.
  • Um andererseits die Sicherheit und die Persistenz der Datenspeicherung zu verbessern, verwenden zahlreiche Datenzentren plattform- oder standortübergreifende virtuelle Maschinen zur Ausführung und Verwaltung. Für den Fall der Standortwartung, der Energieanpassung, des Lastausgleichs zwischen Standorten und dergleichen besteht ein Bedarf zum Umstellen einer virtuellen Maschine, die von einer Plattform unterstützt wird, nämlich zum Umstellen der virtuellen Maschine von einem physischen System auf ein anderes physisches System. Derzeit verfügen die meisten Firmen, die eine Host-Virtualisierung bereitstellen, über ihre eigenen bestimmten VM-Migrations-Tools und unterstützen eine Live-Migration der virtuellen Maschinen.
  • Um im Verlauf der Migration einer virtuellen Maschine von einer physischen Plattform auf eine andere physische Plattform zu gewährleisten, dass der Netzwerkdienst der virtuellen Maschine nicht unterbrochen wird, muss ein Schalter, der mit der virtuellen Maschine verknüpft ist, seine Netzwerkkonfiguration aktualisieren. Mit Bezug auf die schalterseitige statische Konfiguration, wie etwa Zugriffskontrollliste ACL, Dienstqualität, QoS, virtuelles lokales Netzwerk, VLAN, usw., wurden im Stand der Technik einige Verfahren vorgeschlagen, um die Migration der virtuellen Maschine zu ermitteln und sofort die obige statische Strategie zu konfigurieren. Die Informationen über eine Multicast-Gruppe, der die virtuelle Maschine beitritt, sind jedoch Informationen, die von der virtuellen Maschine in dem Laufprozess dynamisch erzeugt werden. Die Migrations-Tools nach dem Stand der Technik können derartige dynamisch erzeugte Informationen zusammen mit der Migration der virtuellen Maschine nicht umstellen. Andererseits ist die Migration der virtuellen Maschine für die virtuelle Maschine selber völlig transparent; d.h. die virtuelle Maschine selber ist nicht in der Lage, die Migration wahrzunehmen. Daher kann die virtuelle Maschine ihre Informationen über die Multicast-Gruppe dem Schalter, auf den sie umgestellt wird, nicht sofort und aktiv nach der Fertigstellung der Migration melden. Im Allgemeinen kann sie nur, falls die virtuelle Maschine eine Multicast-Gruppenmitgliedsanfrage von dem Schalter empfängt, den Schalter über ihre Multicast-Gruppeninformationen informieren, indem sie mit einer Nachricht antwortet. Für die obige Anfrage gibt es jedoch ein bestimmtes Zeitintervall. In einer typischen Situation nach dem Stand der Technik beträgt das obige Zeitintervall ungefähr 100 bis 200 Sekunden. Dies bedeutet, dass im schlimmsten Fall während des obigen Zeitintervalls der Schalter keine Multicast-Gruppenverkehrsdaten, die von der virtuellen Maschine benötigt werden, an die virtuelle Maschine verteilen kann, so dass der Multicast-Dienst der virtuellen Maschine 100 bis 200 Sekunden lang unterbrochen wird, was die Leistungserbringung beeinträchtigt.
  • Daher ist eine verbesserte Lösung erwünscht, welche die Multicast-Gruppen einer virtuellen Maschine im Verlauf der Migration der virtuellen Maschine synchronisieren kann, wodurch die Zeit reduziert oder eliminiert wird, während der der Multicast-Dienst der virtuellen Maschine unterbrochen wird, und die Leistungserbringung der virtuellen Maschine verbessert wird.
  • Die WO 2013 / 078 979 A1 beschreibt Verfahren und Vorrichtungen zur Migration einer virtuellen Maschine von einem Quell- auf einen Zielserver. Daten, die eine Multicast-Gruppe der virtuellen Maschine auf dem Quellserver identifizieren, werden ebenfalls empfangen. Vor der Migration der virtuellen Maschine auf den Zielserver wird eine Zielschnittstelle eines mit dem Zielserver verbundenen Zielnetzes zur identifizierten Multicast-Gruppe hinzugefügt, so dass die virtuelle Maschine auch nach der Migration weiterhin den Multicast-Verkehr der Multicast-Gruppe empfängt.
  • Aus der CN 102 394 831 A ist ein unterbrechungsfreies Verfahren und eine Vorrichtung bekannt, die auf einer Migration einer virtuellen Maschine (VM) basieren. Das Verfahren umfasst die folgenden Schritte: Verwenden eines Internet-Gruppenverwaltungsprotokolls, um Multicast-Gruppendaten einer virtuellen Site-Schnittstelle VSI (vertikaler Geschwindigkeitsindikator) einer VM in einem Snooping-Erkennungsnetzwerk auszuspähen; Senden der VSI-Multicast-Gruppendaten der VM an eine Netzwerkverwaltungsseite; und Erhalten der VSI-Multicast-Gruppendaten der VM von der Netzwerkverwaltungsseite, bevor die VM zu einer Zweckschnittstelle eines Zweckschalters migriert, und Hinzufügen der Zweckschnittstelle zu der Multicast-Gruppe, die den erhaltenen VSI-Multicast-Gruppendaten entspricht und damit zu veranlassen, dass die VM weiterhin den Multicast-Fluss der VSI-Multicast-Gruppe empfängt, nachdem die VM zur Zweckschnittstelle migriert ist.
  • Die US 2011 / 0 205 904 A1 beschreibt eine Umleitungsvorrichtung. Die Umleitungsvorrichtung umfasst: eine Zielspeichereinheit, die konfiguriert ist, Informationen über ein Ziel eines Multicast-Pakets in Verbindung mit einer Multicast-Adresse zu speichern; eine Bestimmungseinheit, die konfiguriert ist zu bestimmen, ob das Ziel des Multicast-Pakets eine erste physische Maschine ist, auf der Grundlage der in der Zielspeichereinheit gespeicherten Zielinformationen in einem Migrationsprozess, in dem eine auf der ersten physischen Maschine arbeitende virtuelle Maschine zu einer zweiten physische Maschine migriert wird; und eine Hinzufügungseinheit, die zu konfiguriert ist, Informationen über die zweite physische Maschine zu den Zielinformationen in der Zielspeichereinheit hinzuzufügen, wobei die Zielinformationen der Multicast-Adresse entsprechen, die das Ziel der ersten physischen Maschine angibt, wenn die Bestimmungseinheit bestimmt, dass das Ziel von dem Multicast-Paket die erste physische Maschine ist.
  • KURZDARSTELLUNG
  • Es ist Aufgabe der vorliegenden Erfindung, ein verbessertes Synchronisieren von Multicastgruppen einer virtuellen Maschine während der Migration der virtuellen Maschine zu ermöglichen.
  • Diese Aufgabe wird durch eine Vorrichtung gemäß dem Hauptanspruch 1, einem Verfahren gemäß dem nebengeordneten Anspruch 8 sowie ein Computerprogramm gemäß dem nebengeordneten Anspruch 15 gelöst.
  • Bevorzugte Ausführungsformen sind die Gegenstände der Unteransprüche.
  • Angesichts der Nachteile aus dem Stand der Technik schlägt die Erfindung eine Lösung zum Synchronisieren von Multicast-Gruppen einer virtuellen Maschine für den Fall einer Migration20 der virtuellen Maschine vor. Nach einem Aspekt der Erfindung wird ein Verfahren zum Synchronisieren von Multicast-Gruppen einer virtuellen Maschine während der Migration der virtuellen Maschine bereitgestellt, welches folgende Schritte umfasst: in Reaktion auf die Ermittlung der Migration der virtuellen Maschine von einem ersten Anschluss auf einen zweiten Anschluss ein und desselben Schalters, Beziehen einer ersten Liste, die Multicast-Gruppen angibt, die dem ersten Anschluss entsprechen, und einer zweiten Liste, die Multicast-Gruppen angibt, die dem zweiten Anschluss entsprechen; Aktualisieren der zweiten Liste, so dass die zweite Liste die Multicast-Gruppen aus der ersten Liste enthält; und Auslagern einer unerwünschten Multicast-Gruppe.
  • Nach einem anderen Aspekt der Erfindung wird eine Vorrichtung zum Synchronisieren von Multicast-Gruppen einer virtuellen Maschine während der Migration der virtuellen Maschine bereitgestellt, umfassend: eine Einheit zum Beziehen von Listen, die konfiguriert ist, um in Reaktion auf die Ermittlung der Migration der virtuellen Maschine von einem ersten Anschluss auf einen zweiten Anschluss ein und desselben Schalters eine erste Liste, die Multicast-Gruppen angibt, die dem ersten Anschluss entsprechen, und eine zweite Liste, die Multicast-Gruppen angibt, die dem zweiten Anschluss entsprechen, zu beziehen; eine Aktualisierungseinheit, die konfiguriert ist, um die zweite Liste zu aktualisieren, so dass die zweite Liste die Multicast-Gruppen aus der ersten Liste enthält; und eine Auslagerungseinheit, die konfiguriert ist, um eine unerwünschte Multicast-Gruppe auszulagern.
  • Mit dem Verfahren und der Vorrichtung gemäß der Ausführungsform der Erfindung können für den Fall der Migration einer virtuellen Maschine Multicast-Gruppen der virtuellen Maschine schnell synchronisiert werden, wodurch verhindert wird, dass der Multicast-Dienst der virtuellen Maschine unterbrochen wird, oder die Unterbrechungszeit reduziert wird.
  • Figurenliste
  • Durch die ausführlichere Beschreibung einiger Ausführungsformen der vorliegenden Offenbarung in den beiliegenden Zeichnungen, werden die obigen und andere Aufgaben, Merkmale und Vorteile der vorliegenden Offenbarung besser ersichtlich werden, wobei sich die gleichen Bezugszeichen im Allgemeinen auf die gleichen Komponenten in den Ausführungsformen der vorliegenden Offenbarung beziehen. Es zeigen:
    • 1 ein Strukturdiagramm eines virtuellen Maschinennetzwerks;
    • 2 ein Blockdiagramm eines beispielhaften Computersystems/Servers 12, das bzw. der anwendbar ist, um die Ausführungsformen der vorliegenden Erfindung umzusetzen;
    • 3 ein Flussdiagramm eines Verfahrens zum Synchronisieren von Multicast-Gruppen gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 4 ein Flussdiagramm eines Verfahrens gemäß einer anderen Ausführungsform der vorliegenden Erfindung;
    • 5 ein schematisches Diagramm der Migration einer virtuellen Maschine in ein und demselben Schalter;
    • 6 ein Flussdiagramm eines Mechanismus zum schnellen Auslagern gemäß einer Ausführungsform der vorliegenden Erfindung;
    • 7 ein schematisches Diagramm der schalterübergreifenden Migration einer virtuellen Maschine;
    • 8 ein Flussdiagramm des Synchronisierens von Multicast-Gruppen gemäß einer Ausführungsform; und
    • 9 ein schematisches Blockdiagramm einer Vorrichtung zum Synchronisieren von Multicast-Gruppen gemäß einer Ausführungsform der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Einige bevorzugte Ausführungsformen werden mit Bezug auf die beiliegenden Zeichnungen ausführlicher beschrieben, in denen die bevorzugten Ausführungsformen der vorliegenden Offenbarung abgebildet sind. Die vorliegende Offenbarung kann jedoch unterschiedlich umgesetzt werden und ist somit nicht als auf die hier offenbarten Ausführungsformen eingeschränkt auszulegen. Vielmehr werden diese Ausführungsformen für das gründliche und vollständige Verständnis der vorliegenden Offenbarung bereitgestellt, und um dem Fachmann den Umfang der vorliegenden Offenbarung vollständig zu vermitteln.
  • Wie es der Fachmann verstehen wird, können die Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt ausgebildet sein. Entsprechend können die Aspekte der vorliegenden Erfindung die Form einer Ausführungsform ganz aus Hardware, einer Ausführungsform ganz aus Software (einschließlich Firmware, speicherresidenter Software, Mikrocode usw.) oder einer Ausführungsform, die Software- und Hardware-Aspekte kombiniert, die hier alle allgemein als „Schaltung“, „Modul“ oder „System“ bezeichnet werden können, annehmen. Ferner können die Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts annehmen, das in einem oder mehreren computerlesbaren Medien verkörpert ist, auf dem bzw. denen computerlesbarer Programmcode ausgebildet ist.
  • Es kann eine beliebige Kombination von einem oder mehreren computerlesbaren Medien verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Ein computerlesbares Speichermedium kann beispielsweise und ohne Einschränkung ein elektronisches, magnetisches, optisches, elektromagnetisches, infrarotes oder Halbleiter-System, Vorrichtung oder Gerät oder eine beliebige geeignete Kombination derselben sein. Genauere Beispiele (eine nicht erschöpfende Liste) der computerlesbaren Speichermedien würde Folgendes umfassen: eine elektrische Verbindung mit einem oder mehreren Drähten, eine tragbare Computerdiskette, eine Festplatte, einen Arbeitsspeicher (RAM), einen Festwertspeicher (ROM), einen löschbaren programmierbaren Festwertspeicher (EPROM oder Flash-Speicher), eine Lichtleitfaser, einen tragbaren Compact Disk Festwertspeicher (CD-ROM), eine optische Speichervorrichtung, eine magnetische Speichervorrichtung oder eine beliebige geeignete Kombination derselben. Im Kontext der vorliegenden Druckschrift kann ein computerlesbares Speichermedium ein beliebiges materielles Medium sein, das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einem Gerät zum Ausführen von Anweisungen enthalten oder speichern kann.
  • Ein computerlesbares Signalmedium kann ein verbreitetes Datensignal umfassen, in dem computerlesbarer Programmcode, beispielsweise im Basisband oder als Teil einer Trägerwelle, ausgebildet ist. Ein derartiges verbreitetes Signal kann viele verschiedene Formen annehmen, wozu ohne Einschränkung eine elektromagnetische, optische Form oder eine beliebige geeignete Kombination davon gehört. Ein computerlesbares Signalmedium kann ein beliebiges computerlesbares Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einem Gerät zum Ausführen von Anweisungen mitteilen, verbreiten oder transportieren kann.
  • Programmcode, der auf einem computerlesbaren Medium ausgebildet ist, kann unter Verwendung eines beliebigen geeigneten Mediums, einschließlich ohne Einschränkung eines drahtlosen, eines drahtgebundenen, eines Glasfaserkabels, einer HF usw. oder einer beliebigen geeigneten Kombination derselben übertragen werden.
  • Computerlesbarer Programmcode zum Ausführen von Vorgängen für Aspekte der vorliegenden Erfindung kann in einer beliebigen Kombination von einer oder mehreren Programmiersprachen verfasst sein, wozu eine objektorientierte Programmiersprache, wie etwa Java, Smalltalk, C++ oder dergleichen, und herkömmliche prozedurale Programmiersprachen, wie etwa die Programmiersprache „C“ oder ähnliche Programmiersprachen gehören. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als unabhängiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem Remote-Computer oder vollständig auf dem Remote-Computer oder Server ausgeführt werden. In letzterem Fall kann der Remote-Computer an den Computer des Benutzers über eine beliebige Art von Netzwerk angeschlossen sein, wozu ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN) gehört, oder die Verbindung kann mit einem externen Computer (z.B. über das Internet unter Verwendung eines Internet-Anbieters) hergestellt werden.
  • Nachstehend werden die Aspekte der vorliegenden Erfindung mit Bezug auf Flussdiagramme und/oder Blockdiagramme von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß den Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Flussdiagramme und/oder der Blockdiagramme und Kombinationen von Blöcken in den Flussdiagrammen und/oder den Blockdiagrammen durch Computerprogrammanweisungen umgesetzt werden kann. Diese Computerprogrammanweisungen können einem Prozessor eines universellen Computers, eines spezifischen Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die Anweisungen, die über den Prozessor des Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung ablaufen, Mittel erstellen, um die Funktionen/Aktionen umzusetzen, die in dem Block oder den Blöcken des Flussdiagramms und/oder des Blockdiagramms vorgegeben sind.
  • Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Geräte anleiten kann, auf eine bestimmte Art und Weise zu funktionieren, so dass die Anweisungen, die in dem computerlesbaren Medium gespeichert sind, ein Produkt ergeben, das Anweisungen umfasst, welche die Funktion/Aktion umsetzen, die in dem Block oder den Blöcken des Flussdiagramms und/oder des Blockdiagramms vorgegeben ist.
  • Die Computerprogrammanweisungen können auch auf einen Computer, einer anderen programmierbaren Datenverarbeitungsvorrichtung oder andere Gerätegeladen werden, um zu bewirken, dass eine Reihe von Betriebsschritten auf dem Computer, einer anderen programmierbaren Vorrichtung oder anderen Geräten ausgeführt wird, um einen computerumgesetzten Prozess zu ergeben, so dass die Anweisungen, die auf dem Computer oder einer anderen programmierbaren Vorrichtung ablaufen, Prozesse bereitstellen, um die Funktionen/Aktionen umzusetzen, die in dem Block oder den Blöcken des Flussdiagramms und/oder des Blockdiagramms vorgegeben sind.
  • Es wird nun Bezug genommen auf 2, in der ein beispielhaftes Computersystem/ ein beispielhafter Server 12, das bzw. der anwendbar ist, um die Ausführungsformen der vorliegenden Erfindung umzusetzen, gezeigt wird. Das Computersystem/ der Server 12 ist rein erläuternd und nicht dazu gedacht, eine Einschränkung bezüglich des Umfangs der Verwendung oder der Funktionalität der hierin beschriebenen Ausführungsformen der Erfindung nahezulegen.
  • Wie in 2 gezeigt, wird das Computersystem/ der Server 12 in Form einer universellen Rechenvorrichtung gezeigt. Die Bestandteile des Computersystems/Servers 12 können ohne Einschränkung einen oder mehrere Prozessoren oder Verarbeitungseinheiten 16, einen Systemspeicher 28 und einen Bus 18, der diverse Systembestandteile, wozu der Systemspeicher 28 gehört, mit dem Prozessor 16 koppelt, umfassen.
  • Der Bus 18 stellt einen oder mehrere von verschiedenartigen Busstrukturen dar, wozu ein Speicherbus oder ein Speicher-Controller, ein Peripheriebus, ein beschleunigter Grafikanschluss und ein Prozessor oder lokaler Bus, der eine von diversen Busarchitekturen verwendet, gehören. Beispielhaft und nicht einschränkend umfassen derartige Architekturen einen Industry Standard Architecture (ISA) Bus, einen Micro Channel Architecture (MCA) Bus, einen Enhanced ISA (EISA) Bus, einen lokalen Video Electronics Standards Association (VESA) Bus und einen Peripheral Component Interconnect (PCI) Bus.
  • Das Computersystem/ der Server 12 umfasst typischerweise diverse computersystemlesbare Medien. Derartige Medien können beliebige verfügbare Medien sein, die für das Computersystem/ den Server 12 zugänglich sind, und sie umfassen sowohl flüchtige als auch nicht flüchtige, abnehmbare als auch nicht abnehmbare Medien.
  • Der Systemspeicher 28 kann computersystemlesbare Medien in Form eines flüchtigen Speichers, wie etwa eines Arbeitsspeichers (RAM) 30 und/oder eines Cachepeichers 32, umfassen. Das Computersystem/ der Server 12 kann ferner andere abnehmbare/ nicht abnehmbare, flüchtige/ nicht flüchtige Computersystem-Speichermedien umfassen. Rein beispielhaft kann das Speichersystem 34 bereitgestellt werden, um von nicht abnehmbaren, nicht flüchtigen magnetischen Medien (nicht gezeigt und typischerweise als „Festplatte“ bezeichnet) zu lesen und darauf zu schreiben. Obwohl dies nicht gezeigt wird, können ein Magnetplattenlaufwerk zum Lesen von und Schreiben auf eine abnehmbare, nicht flüchtige Magnetplatte (z.B. eine Diskette) und ein optisches Laufwerk zum Lesen von oder Schreiben auf eine abnehmbare, nicht flüchtige optische Platte, wie etwa eine CD-ROM, eine DVD-ROM oder andere optische Medien, bereitgestellt werden. In solchen Fällen können sie jeweils durch eine oder mehrere Datenmedien-Schnittstellen an den Bus 18 angeschlossen sein. Wie es ferner nachstehend abgebildet und beschrieben wird, kann der Speicher 28 mindestens ein Programmprodukt umfassen, das einen Satz von Programmmodulen (z.B. mindestens eines) umfassen kann, die konfiguriert sind, um die Funktionen der Ausführungsformen der Erfindung auszuführen.
  • Das Programm/Dienstprogramm 40, das einen Satz von Programmmodulen 42 (mindestens einem) aufweist, kann beispielsweise ohne Einschränkung auch ebenso wie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten in dem Speicher 28 gespeichert sein. Jedes von dem Betriebssystem, dem einen oder den mehreren Anwendungsprogrammen, den anderen Programmmodulen und den Programmdaten oder einer Kombination derselben kann eine Umsetzung einer Netzwerkumgebung umfassen. Die Programmmodule 42 führen im Allgemeinen die Funktionen und/oder die Methodik der Ausführungsformen der Erfindung wie hier beschrieben aus.
  • Das Computersystem/ der Server 12 kann auch mit einer oder mehreren externen Geräten 14 kommunizieren, wie etwa mit einer Tastatur, einer Zeigevorrichtung, einer Anzeige 24 usw.; mit einer oder mehreren Geräten, die es einem Benutzer ermöglichen, mit dem Computersystem/ dem Server 12 zu interagieren; und/oder mit beliebigen Geräten (z.B. einer Netzwerkkarte, einem Modem usw.), die es dem Computersystem/ dem Server 12 ermöglichen, mit einer oder mehreren anderen Computergeräten zu kommunizieren. Eine derartige Kommunikation kann über Ein-/Ausgabe- (E/A) Schnittstellen 22 erfolgen. Ferner kann das Computersystem/ der Server 12 mit einem oder mehreren Netzwerken, wie etwa mit einem lokalen Netzwerk (LAN), einem allgemeinen Weitverkehrsnetz (WAN) und/oder einem öffentlichen Netzwerk (z.B. dem Internet), über einen Netzwerkadapter 20 kommunizieren. Wie abgebildet, kommuniziert der Netzwerkadapter 20 mit den anderen Bestandteilen des Computersystems/Servers 12 über den Bus 18. Es versteht sich, dass obwohl dies nicht gezeigt ist, andere Hardware- und/oder Software-Bestandteile in Verbindung mit dem Computersystem/ Server 12 verwendet werden könnten. Zu den Beispielen gehören ohne Einschränkung: Mikrocode, Gerätetreiber, redundante Verarbeitungseinheiten, externe Festplattenanordnungen, RAID-Systeme, Bandlaufwerke und Datenarchivierungs-Speichersysteme usw.
  • Die Ausführungsformen der vorliegenden Erfindung werden kombiniert mit den beiliegenden Zeichnungen und spezifischen Beispielen beschrieben. Bei den Ausführungsformen der vorliegenden Erfindung, sobald ermittelt wurde, dass eine virtuelle Maschine von einem Anschluss auf einen anderen Anschluss ein und desselben Schalters umgestellt wurde, werden alle Multicast-Gruppeninformationen des alten Anschlusses sofort dem neuen Anschluss bereitgestellt, so dass eine Multicast-Gruppenliste, die dem neuen Anschluss entspricht, alle Multicast-Gruppen des alten Anschlusses enthält. Nachdem somit die virtuelle Maschine auf den neuen Anschluss umgestellt wurde, kann sie sofort den benötigten Multicast-Dienst von dem neuen Anschluss erzielen, so dass der Multicast-Dienst nicht auf Grund der Migration der virtuellen Maschine unterbrochen wird.
  • Nun mit Bezug auf 3 zeigt diese ein Flussdiagramm eines Verfahrens zum Synchronisieren von Multicast-Gruppen gemäß einer Ausführungsform der vorliegenden Erfindung. Wie in 3 gezeigt, umfasst das Verfahren zum Synchronisieren von Multicast-Gruppen gemäß der Ausführungsform Folgendes: Den Schritt 32 eines Beziehens, in Reaktion auf die Ermittlung der Migration der virtuellen Maschine von einem ersten Anschluss auf einen zweiten Anschluss ein und desselben Schalters, einer ersten Liste, die Multicast-Gruppen angibt, die dem ersten Anschluss entsprechen, und einer zweiten Liste, die Multicast-Gruppen angibt, die dem zweiten Anschluss entsprechen; Den Schritt 34 eines Aktualisierens der zweiten Liste, so dass die zweite Liste die Multicast-Gruppen aus der ersten Liste enthält; und den Schritt 36 eines Auslagerns von unerwünschten Multicast-Gruppen in der ersten und/oder der zweiten Liste. Wie die obigen Schritte auszuführen sind, wird nachstehend in Verbindung mit spezifischen Beispielen beschrieben.
  • Gemäß einer Ausführungsform beginnt das Verfahren der Erfindung mit dem Schritt 32 eines Beziehens, in Reaktion auf die Ermittlung der Migration der virtuellen Maschine, der ersten Liste und der zweiten Liste, um Multicast-Gruppen anzugeben, die jeweils dem ursprünglichen Anschluss und dem neuen Anschluss entsprechen. Gemäß einer anderen Ausführungsform führt das erfindungsgemäße Verfahren zusätzliche Schritte vor Schritt 32 aus, um eine Grundlage für die Ausführung von Schritt 32 bereitzustellen. 4 zeigt ein Flussdiagramm eines Verfahrens gemäß einer anderen Ausführungsform. Wie in 4 gezeigt, umfasst das Verfahren dieser Ausführungsform zusätzlich den Schritt 30 des Ermittelns einer Migration der virtuellen Maschine und den Schritt 31 des Beurteilens, ob die umgestellte virtuelle Maschine von ein und demselben Schalter stammt. Sowohl Schritt 30 als auch Schritt 31 können durch Verfahren aus dem Stand der Technik umgesetzt werden.
  • Insbesondere in Schritt 30 wird die Migration der virtuellen Maschine ermittelt. Wie es dem Fachmann bekannt ist, um das Problem der Netzwerkrand-Virtualisierung zu lösen, wurde die Technologie der Brückenvirtualisierung entwickelt, bei der die Norm IEEE 802.1Qbg vorgeschlagen wird. In dieser Norm VSI (virtuelle Stationsschnittstelle) wird das Entdeckungs- und Konfigurationsprotokoll VDP entwickelt, um die VSI zu entdecken und zu konfigurieren. Durch die Verwendung des VDP-Protokolls, wenn es zur Migration einer virtuellen Maschine kommt, kann der Schalter, auf den die virtuelle Maschine umgestellt wird, die VSI der virtuellen Maschine schnell finden und dann die Migration der virtuellen Maschine ermitteln. Zusätzlich zur Verwendung des VDP-Protokolls für die Migrationsermittlung können auch andere Lösungen nach dem Stand der Technik, oder die zukünftig vorgeschlagen werden, verwendet werden, um die Migration der virtuellen Maschine zu ermitteln. Beispielsweise kann bei einem Beispiel ein Migrations-Tool einer virtuellen Maschine eine Benachrichtigung an die betreffenden Schalter vor und nach der Migration der virtuellen Maschine ausgeben. Durch den Empfang einer derartigen Benachrichtigung kann der Schalter, auf den die virtuelle Maschine umgestellt wird, die Migration der virtuellen Maschine ermitteln.
  • Basierend auf der Ermittlung der umgestellten virtuellen Maschine wird in Schritt 31 beurteilt, ob die umgestellte virtuelle Maschine von ein und demselben Schalter stammt. Bei einer Ausführungsform beurteilt der Schalter, auf den die virtuelle Maschine umgestellt wird, unter Verwendung des zuvor beschriebenen VDP-Protokolls, ob die virtuelle Maschine von demselben Schalter umgestellt wird. Insbesondere führt das VDP-Protokoll eine Identifizierung und Verknüpfung im Verhältnis zur VSI der virtuellen Maschine aus, wobei die Identifizierungsinformationen der VSI eine entsprechende VLAN-ID, eine MAC-Adresse, einen VSI-Typ und dergleichen umfassen. Mit diesen Informationen kann der Schalter erkennen, ob die virtuelle Maschine, die umgestellt wird, von demselben Schalter stammt. Zusätzlich können auch andere Lösungen nach dem Stand der Technik verwendet werden, um die Beurteilung in Schritt 31 auszuführen.
  • Falls das Urteilsergebnis von Schritt 31 Ja ist, d.h. die virtuelle Maschine innerhalb ein und desselben Schalters umgestellt wird, nur von einem Anschluss desselben Schalters auf einen anderen Anschluss, dann werden Synchronisierungsschritte für den Fall desselben Schalters, nämlich die Schritte 32 bis 36 in 3 ausgeführt. Falls das Urteilsergebnis von Schritt 31 Nein ist, d.h. die virtuelle Maschine schalterübergreifend umgestellt wird, dann wird Schritt 38 ausgeführt, nämlich der Synchronisierungsschritt für den Fall von übergreifenden Schaltern.
  • Anschließend wird zunächst die Migration innerhalb desselben Schalters beschrieben. In dem Diagramm in 1 sind die Server A, B zusammen an den Schalter 1 angeschlossen. Falls somit die virtuelle Maschine zwischen dem Server A und dem Server B umgestellt wird, gehört dies zu einer Migration innerhalb desselben Schalters. 5 zeigt deutlicher ein schematisches Diagramm der Migration einer virtuellen Maschine innerhalb desselben Schalters. Insbesondere zeigt 5 nur den Schalter 1, die Server A und B und die betreffenden virtuellen Maschinen aus 1 und geht davon aus, dass die virtuelle Maschine VM1 von dem Server A auf den Server B umgestellt wird. Da der Server A an den Anschluss 1 des Schalters angeschlossen ist und der Server B an den Anschluss 2 des Schalters angeschlossen ist, wird dann für den Schalter 1 die virtuelle Maschine VM1 von einem ersten Anschluss, d.h. dem Anschluss 1, auf einen zweiten Anschluss, d.h. den Anschluss 2, umgestellt.
  • Um die Multicast-Gruppen der virtuellen Maschine in dem obigen Fall zu synchronisieren, werden in Schritt 32 als Reaktion auf die Migration der virtuellen Maschine von dem ersten Anschluss auf den zweiten Anschluss in demselben Schalter, eine erste Liste von Multicast-Gruppen, die dem ersten Anschluss entsprechen, und eine zweite Liste von Multicast-Gruppen, die dem zweiten Anschluss entsprechen, bezogen. Wie es dem Fachmann bekannt ist es, um es individuellen Hosts, die eine virtuelle Maschine umfassen, zu ermöglichen, Multicast-Dienste zu erzielen, nach dem Stand der Technik notwendig, ein Gruppenmitgliedschaftsprotokoll zwischen den Hosts und den Multicast-Routern, die direkt an die Hosts angeschlossen sind, zu pflegen. Bei einer typischen Ausführungsform ist das obige Protokoll ein „Internet Group Management Protocol“, IGMP. Das IGMP-Protokoll läuft in der Netzwerkschicht. Der Schalter führt den Multicast in der Datenverbindungsschicht unter der Netzwerkschicht aus, indem er einen IGMP-Snooping-Mechanismus ausführt. Gemäß dem Mechanismus bildet der Schalter eine Entsprechungsbeziehung zwischen der Multicast-Gruppe und dem Schalteranschluss, indem er IGMP-Nachrichten auskundschaftet, die zwischen den Hosts und den Routern übertragen werden. Die Entsprechungsbeziehung kann in Form einer Entsprechungsliste gepflegt werden. Gemäß der Entsprechungsbeziehung leitet der Schalter die empfangenen Multicast-Datenpakete an einen Anschluss weiter, der entsprechende Multicast-Gruppen aufweist. Dies bedeutet, dass der Schalter wissen kann, welcher Anschluss welcher Multicast-Gruppe entspricht, dass er sich jedoch nicht darum kümmert, welche virtuelle Maschine, die von diesem Anschluss unterstützt wird, die Multicast-Gruppe benötigt. Da der Schalter Entsprechungsbeziehungen zwischen den Multicast-Gruppen und jedem Anschluss pflegt, können dann in Schritt 32 eine Liste von Multicast-Gruppen, die dem ersten Anschluss entsprechen, nämlich die erste Liste, und eine Liste von Multicast-Gruppen, die dem zweiten Anschluss entsprechen, nämlich die zweite Liste, ohne Weiteres basierend auf den obigen Entsprechungsbeziehungen bezogen werden.
  • Bei dem Beispiel aus 5 ist der obige erste Anschluss der ursprüngliche Anschluss der virtuellen Maschine VM1, Anschluss 1. Da Anschluss 1 drei virtuelle Maschinen, VM1, VM2, VM3, unterstützt, enthalten dann die Multicast-Gruppen, die Anschluss 1, d.h. der ersten Liste, entsprechen, Multicast-Gruppen, denen VM1 beitritt, wie etwa IP11, IP12, Multicast-Gruppen, denen VM2 beitritt, wie etwa IP21, und Multicast-Gruppen, denen VM3 beitritt, wie etwa IP31, IP32. Es versteht sich, dass jede Multicast-Gruppe ihre eigene einzigartige Kennung aufweist. Im Allgemeinen wird eine Multicast-IP-Adresse verwendet, um eine IP-Multicast-Gruppe zu identifizieren. Für den Fall der Migration der virtuellen Maschine VM1 ist der zweite Anschluss der Zielanschluss, auf den VM1 umgestellt wird, Anschluss 2. Anfänglich unterstützt Anschluss 2 zwei virtuelle Maschinen, VM4 und VM5, wodurch die Multicast-Gruppen, die dem Anschluss 2, d.h. der zweiten Liste, entsprechen, anfänglich Multicast-Gruppen, denen VM4 beitritt, und Multicast-Gruppen, denen VM5 beitritt, enthalten. Bei einem Beispiel umfassen die Multicast-Gruppen, denen VM4 beitritt IP11, IP21 und IP41, während VM5 keiner Multicast-Gruppe beitritt. Dies bedeutet, dass sowohl VM4 als auch VM1 derselben Multicast-Gruppe IP11 beitreten, sowohl VM4 als auch VM2 der Multicast-Gruppe IP21 beitreten, und VM4 ferner zusätzlich der Multicast-Gruppe IP41 beitritt. In diesem Fall enthält die zweite Liste anfänglich IP11, IP21 und IP41.
  • Wie zuvor erwähnt, pflegt der Schalter nur die Entsprechungsbeziehung zwischen der Multicast-Gruppe und dem Anschluss, kennt aber keine Entsprechungsbeziehung zwischen der Multicast-Gruppe und der virtuellen Maschine. Nachdem die virtuelle Maschine VM1 auf den Server B umgestellt wurde, konnte der Schalter daher nicht sofort bestimmen, welche Multicast-Gruppen die virtuelle Maschine benötigt. Daher wird in Schritt 34 die obige erste Liste dem zweiten Anschluss bereitgestellt, und darauf basierend wird die zweite Liste aktualisiert, um zu bewirken, dass die zweite Liste alle Multicast-Gruppen in der ersten Liste enthält. Da der Schalter nicht in der Lage ist, zu bestimmen, welche Multicast-Gruppen in der ersten Liste von der umgestellten virtuellen Maschine benötigt werden, bedeutet dies, dass die Ausführungsform der Erfindung dem zweiten Anschluss, auf den die virtuelle Maschine umgestellt wird, alle Multicast-Gruppen in der ersten Liste bereitstellt, so dass die Liste von Multicast-Gruppen, die dem zweiten Anschluss entsprechen, nämlich die zweite Liste, alle Multicast-Gruppen in der ersten Liste enthält. Da die erste Liste darin mit Sicherheit die Multicast-Gruppen, denen die umgestellte virtuelle Maschinen beitritt, enthält, während die zweite Liste aktualisiert wird, um alle Multicast-Gruppen in der ersten Liste zu enthalten, dann enthalten nun unvermeidlich die Multicast-Gruppen, die dem zweiten Anschluss entsprechen, darin Multicast-Gruppen, welche die umgestellte virtuelle Maschine benötigt. Wenn somit der Schalter Multicast-Datenpakete gemäß der Entsprechungsliste von Multicast-Gruppe und Anschluss verteilt, sendet er Daten, die den Multicast-Gruppen in der ersten Liste entsprechen, auch an den zweiten Anschluss; entsprechend kann die virtuelle Maschine, die auf den zweiten Anschluss umgestellt wird, Multicast-Daten erzielen, die ständig benötigt werden, ohne Unterbrechung des Dienstes auf Grund der Migration.
  • Damit die zweite Liste alle Multicast-Gruppen in der ersten Liste enthält, umfasst bei einer Ausführungsform Schritt 34 das Hinzufügen aller Multicast-Gruppen aus der ersten Liste direkt in die zweite Liste. Um bei einer anderen Ausführungsform zu vermeiden, dass die gleiche Multicast-Gruppe wiederholt hinzugefügt wird, umfasst Schritt 34 ein Beurteilen, ob jede Multicast-Gruppe aus der ersten Liste in der zweiten Liste enthalten war; anschließendes Hinzufügen der Multicast-Gruppen, die nicht in der zweiten Liste enthalten sind, zu der zweiten Liste.
  • Bei dem Beispiel aus 5 enthält die zweite Liste anfänglich IP11, IP21 und IP41. Durch den obigen Schritt 34 erzielt der Anschluss 2 die Multicast-Gruppen in der ersten Liste, die dem Anschluss 1 entsprechen, wie etwa IP11, IP12, IP21, IP31 und IP32, und übernimmt diese Multicast-Gruppen in die zweite Liste. Gemäß einer Ausführungsform werden, da die zweite Liste bereits IP11 und IP21 aufweist, nur andere Multicast-Gruppen aus der ersten Liste zu der zweiten Liste hinzugefügt. Somit umfasst die durch Schritt 34 aktualisierte zweite Liste IP11, IP12, IP21, IP31, IP32 und IP41.
  • Es versteht sich, dass die erste Liste, die Multicast-Gruppen angibt, die dem ersten Anschluss entsprechen, wobei sie nicht nur Multicast-Gruppen umfasst, denen die umgestellte spezifische virtuelle Maschine beitritt, sondern auch Multicast-Gruppen, denen andere virtuelle Maschinen in dem ersten Anschluss beitreten. Nachdem die spezifische virtuelle Maschine den ersten Anschluss durch die Migration verlassen hat, benötigt der erste Anschluss die Multicast-Gruppendaten bezüglich der spezifischen virtuellen Maschine nicht mehr. Nachdem andererseits die zweite Liste durch Schritt 34 aktualisiert wurde, enthält die zweite Liste auch die Multicast-Gruppen, denen die anderen virtuellen Maschinen beitreten. In der Tat wird jedoch nur die spezifische virtuelle Maschine auf den zweiten Anschluss umgestellt, die anderen virtuellen Maschinen werden nicht umgestellt. Daher benötigt der zweite Anschluss die Multicast-Gruppendaten bezüglich dieser anderen virtuellen Maschinen eigentlich nicht. Beispielsweise bei dem Beispiel aus 5, nachdem VM1 auf den Anschluss 2 umgestellt wurde, benötigt der Anschluss 1 die Multicast-Gruppen IP11, IP12 und IP13, denen VM1 beitritt, nicht mehr. Andererseits enthält die geänderte zweite Liste ferner die Multicast-Gruppen IP21, IP31 und IP32 von VM2 und VM3, die von Anschluss 1 unterstützt werden, zusätzlich zu den Multicast-Gruppen der virtuellen Maschinen VM1, VM4 und VM5, die von Anschluss 2 unterstützt werden. Da jedoch VM2 und VM3 weiter in Anschluss 1 bleiben, benötigt Anschluss 2 die Multicast-Gruppendaten bezüglich VM2 und VM3 nicht. Dazu werden in dem nächsten Schritt 36 unerwünschte Multicast-Gruppen in der ersten Liste und/oder der zweiten Liste ausgelagert, um ungültig zu sein, um zu verhindern, dass diese nicht benötigten Multicast-Gruppen eine unnötige Verkehrsbelastung für die Anschlüsse darstellen.
  • Bei einer Ausführungsform wird Schritt 36 über eine herkömmliche Gruppenmitgliedsanfrage ausgeführt. Insbesondere gemäß dem existierenden Gruppenmitgliedschaftsprotokoll, wie etwa dem IGMP-Protokoll, sendet der Schalter regelmäßig eine Gruppenmitgliedsanfrage, und die virtuellen Maschinen, welche die Anfrage empfangen, antworten auf die Anfrage, indem sie einen Gruppenmitgliederbericht senden. Durch ein derartiges herkömmliches Anfragen und Antworten kann der Schalter eine Multicast-Gruppe ohne Antwort an einem bestimmten Anschluss als eine Multicast-Gruppe bestimmen, die der Anschluss nicht mehr benötigt, und sie dann überfällig machen kann. In dem existierenden Gruppenmitgliedschaftsprotokoll werden das Senden einer Anfrage durch den Schalter, das Erstellen einer Antwort durch die virtuellen Maschinen und dergleichen jedoch mit langen vorgegebenen Zeitintervallen ausgeführt, und somit dauert das Auslagern der Multicast-Gruppen lange. Dazu stellt die Ausführungsform der Erfindung ferner einen Mechanismus zum schnellen Auslagern bereit, um den obigen Schritt 36 auszuführen.
  • 6 zeigt ein Flussdiagramm eines Mechanismus zum schnellen Auslagern gemäß einer Ausführungsform der vorliegenden Erfindung zum Auslagern einer unerwünschten Multicast-Gruppe an einem Anschluss. Wie in 6 gezeigt, wird für ein schnelles Auslagern in Schritt 62 ein Zeitgeber jeder Multicast-Gruppe in einer Liste von Multicast-Gruppen, die einem spezifischen Anschluss entsprechen, auf eine erste vorbestimmte Zeit eingestellt, die kürzer als ein vorgegebenes Zeitgeberintervall ist. Bei einer Ausführungsform wird vor dem Schritt 62 zuerst beurteilt, ob die restliche Zeit des aktuellen Zeitgebers jeder Multicast-Gruppe größer als die erste vorbestimmte Zeit ist; wenn ja, dann wird die Änderung ausgeführt; und wenn die restliche Zeit des aktuellen Zeitgebers kleiner oder gleich der ersten vorbestimmten Zeit ist, kann die Änderung nicht ausgeführt werden. Dann wird in Schritt 64 eine Gruppenmitgliedsanfrage für die Multicast-Gruppe in dem spezifischen Anschluss ausgegeben, und die Antwortzeit für die Anfrage wird auf eine zweite vorbestimmte Zeit eingestellt, die kürzer als eine Standardantwortzeit ist. Es versteht sich, dass die Gruppenmitgliedsanfrage in Form einer Anfragenachricht ausgegeben wird. Die Anfragenachricht besteht aus einer Vielzahl von Feldern, wozu das Feld Antwortzeit gehört, um die Empfänger der Nachricht anzuweisen, innerhalb der Antwortzeit zu antworten, die von dem Feld vorgegeben wird. Daher kann Schritt 64 die Antwortzeit einstellen, indem er das Feld Antwortzeit in der Anfragenachricht ändert. Dann wird in Schritt 66 als Reaktion auf den Empfang einer Antwortnachricht mit Bezug auf eine bestimmte Multicast-Gruppe innerhalb der zweiten vorbestimmten Zeit der Zeitgeber dieser Multicast-Gruppe auf das Standardzeitgeberintervall geändert. Es versteht sich, dass wenn eine Antwortnachricht mit Bezug auf eine bestimmte Multicast-Gruppe empfangen wird, es bestimmt virtuelle Maschinen in dem aktuellen Anschluss gibt, die immer noch zu der bestimmten Multicast-Gruppe gehören, nämlich dass die Multicast-Gruppe immer noch gültige Mitglieder in dem Anschluss aufweist. Daher ist die Multicast-Gruppe eine Multicast-Gruppe, die immer noch von dem Anschluss benötigt wird, und darf nicht ausgelagert werden. Somit wird in Schritt 66 der Zeitgeber der bestimmten Multicast-Gruppe für das nachfolgende herkömmliche Anfragen und Antworten zurück auf seinen Standardwert geändert. Andererseits wird in Schritt 68 als Reaktion auf das Nicht-Empfangen einer Antwortnachricht mit Bezug auf eine spezifische Multicast-Gruppe innerhalb der ersten vorbestimmten Zeit die spezifische Multicast-Gruppe aus der Liste von Multicast-Gruppen, die dem spezifischen Anschluss entsprechen, gelöscht. Dies ist der Fall, weil wenn keine Antwortnachricht mit Bezug auf die spezifische Multicast-Gruppe empfangen wird, es keine virtuelle Maschine in dem aktuellen Anschluss gibt, um mit Bezug auf die spezifische Multicast-Gruppe zu antworten, d.h. die Multicast-Gruppe weist keine virtuelle Maschine als gültiges Mitglied auf. Entsprechend benötigt der Anschluss die Multicast-Gruppe nicht mehr, wodurch in Schritt 68 die Multicast-Gruppe sofort aus der Liste von Multicast-Gruppen des Anschlusses gelöscht wird.
  • Es versteht sich, dass die erste vorbestimmte Zeit ein Zeitraum ist, um zu beurteilen, ob eine Multicast-Gruppe noch ein gültiges Mitglied aufweist, und dann sollte es die erste vorbestimmte Zeit den gültigen Multicast-Gruppenmitgliedern ermöglichen, rechtzeitig zu antworten. Daher soll die erste vorbestimmte Zeit größer oder gleich einer Anfrageantwortzeit, d.h. der zweiten vorbestimmten Zeit, sein. Bei einer Ausführungsform wird die erste vorbestimmte Zeit gleich der zweiten vorbestimmten Zeit eingestellt. Bei einer anderen Ausführungsform wird die erste vorbestimmte Zeit etwas länger eingestellt als die zweite vorbestimmte Zeit, um mögliche Verzögerungen von virtuellen Maschinen im Verlauf des Empfangens von Anfragen und dem Erstellen von Antworten zuzulassen. Gemäß den obigen beiden Ausführungsformen wird über die Dauer der ersten vorbestimmten Zeit nur eine Anfrage gestellt, um schnell unerwünschte Multicast-Gruppen zu bestimmen. Um bei noch einer anderen Ausführungsform ferner die Möglichkeit des Paketverlusts zu berücksichtigen, wird die erste vorbestimmte Zeit auf die zweite vorbestimmte Zeit multipliziert mit der Anzahl der Anfragen n eingestellt. Somit kann innerhalb der ersten vorbestimmten Zeit Schritt 64 wiederholt für n Anfragen ausgeführt werden. Falls für jede beliebige Anfrage eine Antwortnachricht mit Bezug auf eine bestimmte Multicast-Gruppe innerhalb der zweiten vorbestimmten Zeit empfangen wird, wird der Zeitgeber dieser bestimmten Multicast-Gruppe zurück auf das Standardzeitgeberintervall geändert. Nur wenn die erste vorbestimmte Zeit abläuft und keine Antwort für n Anfragen empfangen wird, wird die spezifische Multicast-Gruppe als unerwünschte Multicast-Gruppe bestimmt. Somit kann ein fehlerhaftes Urteil, das durch Datenverlust verursacht wird, vermieden werden.
  • Für den Fall des IGMP-Protokolls beträgt das Standardzeitgeberintervall der Multicast-Gruppe 260 s, und die standardmäßige Antwortzeit für die Anfrage beträgt 10 s. Für ein schnelles Auslagern wird bei einer Ausführungsform die zweite vorbestimmte Zeit, nämlich die Anfrageantwortzeit, auf einen Standardwert von QAQI (Intervall zum schnellen Auslagern einer Anfrage), 2 s, eingestellt. Wie zuvor erwähnt, kann zur schnellen Bestimmung die erste vorbestimmte Zeit gleich der zweiten vorbestimmten Zeit QAQI eingestellt sein. Ferner wird in dem IGMP-Protokoll eine Robustheitsvariable RV bereitgestellt, um einen Datenverlust mit einer gewissen Wahrscheinlichkeit zuzulassen. Je größer eine erwartete Datenverlustwahrscheinlichkeit eines Teilnetzwerks mit Bezug auf den Anschluss, desto größer wird der Wert der Robustheitsvariablen RV eingestellt. Der Standardwert für RV ist 2. Unter Berücksichtigung der Robustheit kann bei einer Ausführungsform die zuvor beschriebene Anfragenanzahl n auf die Robustheitsvariable RV des Teilnetzwerks mit Bezug auf den spezifischen Anschluss eingestellt werden. Somit wird in einem Fall, bei dem die zweite vorbestimmte Zeit auf QAQI = 2 s eingestellt ist, und die RV ihren Standardwert verwendet, die erste vorbestimmte Zeit auf QAQI*RV = 4 s eingestellt. In einem derartigen Fall sind innerhalb der ersten vorbestimmten Zeit zwei Anfragen zugelassen. Nur wenn keine Antwortnachricht für die beiden Anfragen empfangen wird, wird die entsprechende Multicast-Gruppe gelöscht. Es versteht sich, dass, obwohl die spezifischen Beispiele von der ersten vorbestimmten Zeit und den zweiten vorbestimmten Zeiteinstellungen zuvor angegeben wurden, spezifische Werte der ersten vorbestimmten Zeit und der zweiten vorbestimmten Zeit je nach Bedarf eingestellt werden können, ohne auf die in den obigen Beispielen aufgeführten Werte eingeschränkt zu sein.
  • Durch das Anwenden des Mechanismus zum schnellen Auslagern, der in 6 gezeigt wird, jeweils auf den ersten Anschluss und/oder den zweiten Anschluss, kann der zuvor beschriebene Schritt 36 umgesetzt werden, nämlich unerwünschte Multicast-Gruppen in der ersten Liste und/oder der zweiten Liste werden ausgelagert. Insbesondere durch Einstellen des spezifischen Anschlusses als den ersten Anschluss, um die Schritte in 6 auszuführen, können unerwünschte Multicast-Gruppen in der ersten Liste ausgelagert werden, und durch Einstellen des spezifischen Anschlusses als den zweiten Anschluss, um die Schritte in 6 auszuführen, können die unerwünschten Multicast-Gruppen in der zweiten Liste ausgelagert werden. In der Tat entsprechen die unerwünschten Multicast-Gruppen in der ersten Liste den Multicast-Gruppen, denen die umgestellte virtuelle Maschine beitritt; und die unerwünschten Multicast-Gruppen in der zweiten Liste entsprechen anderen von den Multicast-Gruppen, die in Schritt 34 hinzugefügt werden, als den Multicast-Gruppen, denen die umgestellte Maschine beitritt. Wenn jedoch die unerwünschten Multicast-Gruppen in Schritt 36 ausgelagert werden, beurteilt der Schalter nur, ob eine Multicast-Gruppe weiter benötigt wird, indem er beispielsweise, wie in 6 gezeigt, eine Anfragenachricht ausgibt und eine Antwortnachricht empfängt, ohne die Entsprechungsbeziehung zwischen der Multicast-Gruppe und der virtuellen Maschine logisch zu unterscheiden.
  • In einer Ausführungsform wird in Schritt 36 der in 6 gezeigte Mechanismus zum schnellen Auslagern mit Bezug auf den ersten und den zweiten Anschluss parallel ausgeführt; und bei einer anderen Ausführungsform wird eine schnelle Auslagerung mit Bezug auf den ersten und den zweiten Anschluss der Reihe nach ausgeführt. Oder bei noch einer anderen Ausführungsform wird das obige schnelle Auslagern nur mit Bezug auf den ersten oder zweiten Anschluss ausgeführt. Es versteht sich, dass im Verlauf des Ausführens eines schnellen Auslagerns mit Bezug auf den ersten und/oder zweiten Anschluss, Parametereinstellungen, nämlich Einstellungen der ersten vorbestimmten Zeit und der zweiten vorbestimmten Zeit, mit Bezug auf die beiden Anschlüsse gleich sein können oder alternativ unterschiedlich sein können. Durch das Auslagern und Ungültigmachen von unerwünschten Multicast-Gruppen in Schritt 36 kann unnötiger Verkehr an dem ersten Anschluss und dem zweiten Anschluss vermieden werden. Anschließend können der Schalter und die virtuelle Maschine normal funktionieren.
  • Durch die obigen Schritte 32 bis 36 wird die Synchronisierung von Multicast-Gruppen während der Migration der virtuellen Maschine umgesetzt. Basierend auf einer derartigen Synchronisierung kann die virtuelle Maschine sofort die gewünschten Multicast-Gruppendaten an dem neuen Anschluss empfangen, und zwar ohne Dienstunterbrechung auf Grund der Migration. Wie zuvor erwähnt, sind jedoch die Prozessschritte der Schritte 32 bis 36 auf die Migration der virtuellen Maschine in ein und demselben Schalter anwendbar, beispielsweise der virtuellen Maschine VM1 in 1, die von dem Server A auf den Server B in ein und demselben Schalter umgestellt wird. Falls die virtuelle Maschine VM1 von dem Server A auf den Server C umgestellt wird, dann ändert sich auch der angeschlossene Schalter, was zum Fall der schalterübergreifenden Migration gehört.
  • 7 zeigt genauer ein schematisches Diagramm der schalterübergreifenden Migration einer virtuellen Maschine. Insbesondere zeigt 7 nur die Server A und C und die virtuelle Maschine und den dazugehörigen Schalter in 1 und geht davon aus, dass die virtuelle Maschine VM1 von dem Server A auf den Server C umgestellt wird. Da der Server A über den Anschluss 1 an den Schalter 1 angeschlossen ist, und der Server C über den Anschluss 3 an den Schalter 2 angeschlossen ist, entspricht die Migration der virtuellen Maschine VM1 von dem Server A auf den Server C im Hinblick auf die Netzwerkeinstellung der Migration von dem Schalter 1 auf den Schalter 2. Gemäß der existierenden Technologie ist für den Fall der Migration der virtuellen Maschine auf einen anderen Schalter der neue Schalter nicht in der Lage zu wissen, von welchem Anschluss von welchem Schalter die virtuelle Maschine stammt, ganz zu schweigen von Informationen von Multicast-Gruppen, die virtuellen Maschinen beitreten. Wie in 4 gezeigt, muss daher für die schalterübergreifende Migration ein anderer Schritt 38 ausgeführt werden.
  • 8 zeigt ein Ablaufschema des Synchronisierens von Multicast-Gruppen für den Fall einer schalterübergreifenden Migration gemäß einer Ausführungsform, nämlich Teilschritte des Schrittes 38. Wie in 8 gezeigt, wird in Schritt 381 in Reaktion auf die Ermittlung der Migration einer virtuellen Maschine von einem anderen Schalter auf einen dritten Anschluss eine Gruppenmitgliedsanfrage für Multicast-Gruppe an den dritten Anschluss ausgegeben, und die Antwortzeit für die Anfrage wird auf eine dritte vorbestimmte Zeit eingestellt, die kürzer als die Standardantwortzeit ist. Es versteht sich, dass der neue Schalter, auf den die virtuelle Maschine umgestellt wird, die Migration der virtuellen Maschine ohne Weiteres ermitteln kann und den Anschluss bestimmen kann, an den die virtuelle Maschine angeschlossen ist. Dabei wird der Anschluss des neuen Schalters, an den die virtuelle Maschine nach der Migration angeschlossen ist, als dritter Anschluss bezeichnet. Basierend auf der Bestimmung, dass die virtuelle Maschine an den dritten Anschluss angeschlossen ist, wird eine Gruppenmitgliedsanfrage an den dritten Anschluss ausgegeben. Wie zuvor erwähnt, enthält eine Anfragenachricht der Gruppenmitgliedsanfrage ein Feld Antwortzeit, um einem Empfänger die zulässige maximale Antwortzeit anzugeben. In Schritt 381 kann durch Ändern des Feldes die Antwortzeit für die Anfrage auf die dritte vorbestimmte Zeit, die kürzer als die Standardantwortzeit ist, eingestellt werden, wodurch der Empfänger aufgefordert wird, schnell zu antworten. Bei dem Beispiel aus 7 entspricht der dritte Anschluss dem Anschluss 3 des Schalters 2. Sobald ermittelt wird, das VM1 einzieht, gibt der Schalter 2 eine Gruppenmitgliedsanfrage an den Anschluss 3 aus.
  • Dann werden in Schritt 382 gemäß der empfangenen Antwortnachricht Multicast-Gruppen bestimmt, die dem dritten Anschluss entsprechen. Es versteht sich, dass nach dem Empfang der Gruppenmitgliedsanfrage, die in Schritt 381 ausgegeben wurde, jede virtuelle Maschine, die von dem dritten Anschluss unterstützt wird, innerhalb der dritten vorbestimmten Zeit antwortet. Im Allgemeinen enthält eine Antwortnachricht, die von einer virtuellen Maschine gesendet wird, eine Kennung einer Multicast-Gruppe, der sie beitritt. Nach dem Erzielen von Antwortnachrichten, die von jeweiligen virtuellen Maschinen gesendet werden, kann der Schalter durch Entnehmen der darin enthaltenen Multicast-Gruppenkennungen Multicast-Gruppen bestimmen, die dem dritten Anschluss entsprechen. Im Allgemeinen analysiert der Schalter die Entsprechungsbeziehung zwischen der virtuellen Maschine und der Multicast-Gruppe nicht. Daher bestimmt in Schritt 382 der Schalter nur die Multicast-Gruppen, die dem dritten Anschluss entsprechen, basierend auf Antwortnachrichten, die von dem dritten Anschluss empfangen werden, muss sich jedoch nicht darum kümmern, welche Multicast-Gruppe davon der virtuellen Maschine entspricht, die neu umgestellt wird. Dies ist der Fall, weil die virtuelle Maschine auf den dritten Anschluss umgestellt wurde, und somit enthält die Liste von Multicast-Gruppen, die durch Anfragen und Antworten mit Bezug auf den dritten Anschluss erzielt wird, mit Sicherheit Multicast-Gruppen, die von der virtuellen Maschine benötigt werden, die neu umgestellt wird. Solange die Multicast-Datenpakete dem dritten Anschluss gemäß dieser Liste bereitgestellt werden, kann die virtuelle Maschine, die neu umgestellt wird, mit Sicherheit erwünschte Multicast-Dienstdaten erzielen. Beispielsweise antworten bei dem Beispiel aus 7 die beiden virtuellen Maschinen VM1 und VM6 durch Ausgeben einer Anfrage an den Anschluss 3. Entsprechend enthalten die Multicast-Gruppen des dritten Anschlusses, der in Schritt 382 bestimmt wurde, die Multicast-Gruppen, denen VM1 beitritt, und die Multicast-Gruppen, denen VM6 beitritt. Solange die Daten dieser Multicast-Gruppen dem Anschluss 3 bereitgestellt werden, kann die VM1 mit Sicherheit die gewünschten Multicast-Dienstdaten erzielen.
  • Bei einer Ausführungsform, welche die Möglichkeit des Paketverlusts berücksichtigt, werden die obigen Schritte 381 und 382 wiederholt, um zu gewährleisten, dass die Multicast-Gruppen, die dem dritten Anschluss entsprechen, genau erzielt werden.
  • Da die Anfrage in Schritt 381 sofort als Reaktion auf die Migration der virtuellen Maschine ausgegeben werden kann, ist die Zeit, während der der Multicast-Dienst der virtuellen Maschine „unterbrochen“ ist, hauptsächlich von der Zeit, während der jede virtuelle Maschine eine Antwort erstellt, d.h. der dritten vorbestimmten Zeit, abhängig. Wie zuvor erwähnt, beträgt im IGMP-Protokoll die Standardantwortzeit für die Anfrage 10 s. Genauer gesagt wird die Antwortzeit, die in dem Feld Antwortzeit in der Anfragenachricht definiert ist, als ein Wert in einer Einheit von Zehntelsekunden ausgedrückt. Demnach beträgt in einem Standardzustand der Wert in dem Feld Antwortzeit 100, was 10 s entspricht. Um die Zeit für die Unterbrechung des Multicast-Dienstes der virtuellen Maschine möglichst kurz zu machen, kann die dritte vorbestimmte Zeit auf einen Mindestwert 1 eingestellt werden, den das obige Feld zulässt, nämlich 0,1 s. In diesem Fall kann der Schalter die Multicast-Gruppen, die dem dritten Anschluss entsprechen, in 0,1 s bestimmen und dann Multicast-Daten bereitstellen, wodurch die Zeit der Multicast-Dienstunterbrechung erheblich reduziert wird.
  • Bei einer anderen Ausführungsform wird in Schritt 381 das Format der Anfragenachricht geändert, wodurch die dritte vorbestimmte Zeit auf 0 eingestellt wird, d.h. der Empfänger wird angewiesen, sofort eine Antwort zu erstellen. Bei einer derartigen Ausführungsform muss ferner ein Modul geändert werden, das mit dem Multicast-Dienst in der virtuellen Maschine zusammenhängt, so dass die virtuelle Maschine das geänderte Anfragenachrichtenformat erkennen kann und die Antwort gemäß der Antwortzeit erstellen, die in dem neuen Format vorgegeben ist. Gemäß der Ausführungsform gibt der Schalter als Reaktion auf die Migration der virtuellen Maschine sofort eine Anfrage aus, und jede virtuelle Maschine erstellt sofort eine Antwort, wodurch der Multicast-Dienst der umgestellten virtuellen Maschine fast nicht unterbrochen wird.
  • Gemäß den in 8 gezeigten Schritten kann der Schalter für den Fall der schalterübergreifenden Migration der virtuellen Maschine durch schnelles Anfragen und Antworten die gewünschten Multicast-Datenpakete für die jeweiligen virtuellen Maschinen innerhalb einer vorbestimmten kurzen Zeit bereitstellen; und entsprechend wird die Zeit, während der der Multicast-Dienst der umgestellten virtuellen Maschine unterbrochen wird, erheblich verkürzt.
  • Es werden die Prozessschritte des Synchronisierens von Multicast-Gruppen einer virtuellen Maschine, wenn die virtuelle Maschine innerhalb ein und desselben Schalters und schalterübergreifend umgestellt wird, beschrieben, jeweils kombiniert mit den obigen spezifischen Beispielen. Obwohl die obige Beschreibung mit den Kennzeichen des derzeit üblichen IGMP-Protokolls kombiniert ist, versteht es sich, dass das Verfahren der Ausführungsform der vorliegenden Erfindung nicht auf Systeme eingeschränkt ist, auf die das IGMP-Protokoll angewendet wird. Für den Fall von anderen ähnlichen Protokollen kann das obige Verfahren ähnlich ausgeführt werden, indem die Parameter und dergleichen im Umfang der Erfindung geändert werden, um die Multicast-Gruppen der virtuellen Maschine während der Migration der virtuellen Maschine zu synchronisieren.
  • Basierend auf dem gleichen erfinderischen Konzept stellt die Ausführungsform der Erfindung ferner eine Vorrichtung zum Synchronisieren von Multicast-Gruppen während der Migration einer virtuellen Maschine bereit. 9 zeigt ein schematisches Blockdiagramm einer Vorrichtung zum Synchronisieren von Multicast-Gruppen gemäß einer Ausführungsform der vorliegenden Erfindung. In 9 wird die Vorrichtung insgesamt mit 900 bezeichnet. Wie in der Figur gezeigt, umfasst die Vorrichtung 900 zum Synchronisieren von Multicast-Gruppen Folgendes: eine Einheit zum Beziehen von Listen 92, die konfiguriert ist, um in Reaktion auf die Ermittlung der Migration der virtuellen Maschine von einem ersten Anschluss auf einen zweiten Anschluss ein und desselben Schalters eine erste Liste und eine zweite Liste zu beziehen, die Multicast-Gruppen angeben, die jeweils dem ersten Anschluss und dem zweiten Anschluss ansprechen; eine Aktualisierungseinheit 94, die konfiguriert ist, um die zweite Liste derart zu aktualisieren, dass die zweite Liste die Multicast-Gruppen aus der ersten Liste enthält; und eine Auslagerungseinheit 96, die konfiguriert ist, um eine unerwünschte Multicast-Gruppe in der ersten Liste und/oder der zweiten Liste auszulagern.
  • Gemäß einer Ausführungsform umfasst die Vorrichtung 900 ferner (gestrichelt gezeigt): eine Ermittlungseinheit 90, die konfiguriert ist, um die Migration der virtuellen Maschine zu ermitteln; und eine Beurteilungseinheit 91, die konfiguriert ist, um zu beurteilen, ob die umgestellte virtuelle Maschine von demselben Schalter stammt.
  • Gemäß einer Ausführungsform ist die Aktualisierungseinheit 94 konfiguriert zum: Beurteilen, ob eine Multicast-Gruppe aus der ersten Liste in der zweiten Liste enthalten war; und ledigliches Hinzufügen von Multicast-Gruppen zu der zweiten Liste, die in der zweiten Liste nicht enthalten sind.
  • Gemäß einer Ausführungsform umfasst die Auslagerungseinheit 96 Folgendes (nicht gezeigt): ein erstes Änderungsmodul, das konfiguriert ist, um einen Zeitgeber einer Multicast-Gruppe in einer Liste von Multicast-Gruppen, die einem spezifischen Anschluss entsprechen, auf eine erste vorbestimmte Zeit zu ändern, die kürzer als ein Standardzeitgeberintervall ist; ein Anfragemodul, das konfiguriert ist, um eine Gruppenmitgliedsanfrage in dem spezifischen Anschluss auszugeben und um die Antwortzeit für die Gruppenmitgliedsanfrage auf eine zweite vorbestimmte Zeit einzustellen, die kürzer als eine Standardantwortzeit ist; ein zweites Änderungsmodul, das konfiguriert ist, um als Reaktion auf den Empfang einer Antwortnachricht mit Bezug auf eine bestimmte Multicast-Gruppe innerhalb der zweiten vorbestimmten Zeit den Zeitgeber der bestimmten Multicast-Gruppe zurück auf das Standardzeitgeberintervall einzustellen; ein Löschmodul, das konfiguriert ist, um als Reaktion auf das Nicht-Empfangen einer Antwortnachricht mit Bezug auf eine spezifische Multicast-Gruppe, nachdem die erste vorbestimmte Zeit abgelaufen ist, die spezifische Multicast-Gruppe aus der Liste von Multicast-Gruppen, die dem spezifischen Anschluss entsprechen, zu löschen, wobei der spezifische Anschluss der erste Anschluss und/oder der zweite Anschluss ist.
  • Bei einer Ausführungsform ist das Anfragemodul konfiguriert, um die Antwortzeit auf die zweite vorbestimmte Zeit zu ändern, indem es das Feld Antwortzeit in einer Anfragenachricht der Gruppenmitgliedsanfrage ändert.
  • Bei einer Ausführungsform wird die erste vorbestimmte Zeit als zweite vorbestimmte Zeit eingestellt, die mit der Anzahl von Anfragen n multipliziert wird. Entsprechend ist das Anfragemodul konfiguriert, um n Gruppenmitgliedsanfragen innerhalb der ersten vorbestimmten Zeit auszugeben.
  • Gemäß einer Ausführungsform wird die Anzahl von Anfragen n als Robustheitsvariable eines Teilnetzwerks mit Bezug auf den spezifischen Anschluss eingestellt.
  • Gemäß einer Ausführungsform umfasst die Vorrichtung 900 ferner eine Bestimmungseinheit 98 (gestrichelt gezeigt), die konfiguriert ist zum: in Reaktion auf die Ermittlung der Migration der virtuellen Maschine von einem anderen Schalter auf einen dritten Anschluss, Ausgeben einer Gruppenmitgliedsanfrage für eine Multicast-Gruppe in dem dritten Anschluss und Einstellen der Antwortzeit für die Gruppenmitgliedsanfrage auf eine dritte vorbestimmte Zeit, die kürzer als eine Standardantwortzeit ist; und Bestimmen von Multicast-Gruppen, die dem dritten Anschluss entsprechen, gemäß der empfangenen Antwortnachricht.
  • Bei einer Ausführungsform wird die dritte vorbestimmte Zeit als Mindestwert eingestellt, der von dem Feld Antwortzeit zugelassen wird, das in einer Anfragenachricht der Gruppenmitgliedsanfrage enthalten ist.
  • Bei einer Ausführungsform ist die Vorrichtung 900 in dem Schalter enthalten. Bei einer anderen Ausführungsform ist die Vorrichtung 900 ein unabhängiges Tool, das mit dem Schalter kommuniziert.
  • Die Einzelheiten des Ausführens der Vorrichtung 900 zum Synchronisieren von Multicast-Gruppen einer virtuellen Maschine können mit Bezug auf die Beschreibung der Verfahren kombiniert mit den spezifischen Beispielen erzielt werden und werden hier nicht weiter beschrieben.
  • Mit dem Verfahren und der Vorrichtung gemäß der Ausführungsformen der Erfindung können für den Fall einer Migration einer virtuellen Maschine Multicast-Gruppen der virtuellen Maschine schnell synchronisiert werden, wodurch eine Unterbrechung des Multicast-Dienstes der virtuellen Maschine verhindert wird oder die Unterbrechungszeit verkürzt wird.
  • Das Flussdiagramm und die Blockdiagramme in den Figuren bilden die Architektur, die Funktionalität und die Funktionsweise möglicher Umsetzungen von Systemen, Verfahren und Computerprogrammprodukten gemäß diversen Ausführungsformen der vorliegenden Erfindung ab. In dieser Hinsicht kann jeder Block in dem Flussdiagramm oder den Blockdiagrammen ein Modul, ein Segment oder einen Abschnitt von Code darstellen, der eine oder mehrere ausführbare Anweisungen umfasst, um die vorgegebene(n) logische(n) Funktion(en) umzusetzen. Es sei ebenfalls zu beachten, dass bei einigen alternativen Umsetzungen die in dem Block notierten Funktionen nicht in der Reihenfolge, die in den Figuren vermerkt ist, vorkommen müssen. Beispielsweise können zwei nacheinander gezeigte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal in umgekehrter Reihenfolge ausgeführt werden, je nach der betreffenden Funktionalität. Es sei ebenfalls zu beachten, dass jeder Block der Blockdiagramme und/oder der Ablaufschemata und Kombinationen von Blöcken in den Blockdiagrammen und/oder den Ablaufschemata durch spezielle Hardware-basierte Systeme, welche die vorgegebenen Funktionen oder Aktionen ausführen, oder durch Kombinationen von spezieller Hardware und Computeranweisungen umgesetzt werden kann bzw. können.
  • Die Beschreibungen der diversen Ausführungsformen der vorliegenden Erfindung wurden zum Zweck der Erläuterung vorgelegt und sind nicht dazu gedacht, erschöpfend oder auf die offenbarten Ausführungsformen eingeschränkt zu sein. Zahlreiche Änderungen und Variationen werden für den Fachmann ersichtlich sein, ohne Geist und Umfang der beschriebenen Ausführungsformen zu verlassen. Die hier verwendeten Begriffe wurden gewählt, um die Grundlagen der Ausführungsformen, die praktische Anwendung oder die technische Verbesserung gegenüber marktüblichen Technologien am besten zu erklären oder es anderen Fachleuten zu ermöglichen, die hier offenbarten Ausführungsformen zu verstehen.

Claims (15)

  1. Verfahren zum Synchronisieren von Multicast-Gruppen einer virtuellen Maschine während einer Migration der virtuellen Maschine, umfassend folgende Schritte: in Reaktion auf die Ermittlung der Migration der virtuellen Maschine von einem ersten Anschluss auf einen zweiten Anschluss ein und desselben Schalters, Beziehen (32) einer ersten Liste, die Multicast-Gruppen angibt, die dem ersten Anschluss entsprechen, und einer zweiten Liste, die Multicast-Gruppen angibt, die dem zweiten Anschluss entsprechen; Aktualisieren (34) der zweiten Liste, so dass die zweite Liste die Multicast-Gruppen aus der ersten Liste enthält; und Auslagern (36) einer unerwünschten Multicast-Gruppe, wobei das Auslagern einer unerwünschten Multicast-Gruppe folgende Schritte umfasst: Ändern (62) eines Zeitgebers einer Multicast-Gruppe in einer Liste von Multicast-Gruppen, die einem spezifischen Anschluss entsprechen, auf eine erste vorbestimmte Zeit, die kürzer als ein Standardzeitgeberintervall ist; Ausgeben (64) einer Gruppenmitgliedsanfrage für eine Multicast-Gruppe in dem spezifischen Anschluss, und Einstellen (64) der Antwortzeit für die Gruppenmitgliedsanfrage auf eine zweite vorbestimmte Zeit, die kürzer als eine Standardantwortzeit ist; in Reaktion auf den Empfang einer Antwortnachricht mit Bezug auf eine bestimmte Multicast-Gruppe innerhalb der zweiten vorbestimmten Zeit, Ändern (66) des Zeitgebers der bestimmten Multicast-Gruppe zurück auf das Standardzeitgeberintervall; in Reaktion auf das Nicht-Empfangen einer Antwortnachricht mit Bezug auf eine spezifische Multicast-Gruppe, nachdem die erste vorbestimmte Zeit abgelaufen ist, Löschen (68) der spezifischen Multicast-Gruppe aus der Liste von Multicast Gruppen, die dem spezifischen Anschluss entsprechen, wobei der spezifische Anschluss der erste Anschluss und/oder der zweite Anschluss ist.
  2. Verfahren nach Anspruch 1, wobei das Aktualisieren (34) der zweiten Liste Folgendes umfasst: Beurteilen, ob eine Multicast-Gruppe aus der ersten Liste in der zweiten Liste enthalten war; und Ledigliches Hinzufügen von Multicast-Gruppen zu der zweiten Liste, die nicht in der zweiten Liste enthalten sind.
  3. Verfahren nach Anspruch 1, wobei das Einstellen (64) der Antwortzeit für die Gruppenmitgliedsanfrage auf eine zweite vorbestimmte Zeit, die kürzer als eine standardmäßige Antwortzeit ist, Folgendes umfasst: Ändern der Antwortzeit auf die zweite vorbestimmte Zeit durch Ändern des Feldes Antwortzeit in einer Anfragenachricht der Gruppenmitgliedsanfrage.
  4. Verfahren nach Anspruch 1, wobei die erste vorbestimmte Zeit auf die zweite vorbestimmte Zeit multipliziert mit der Anzahl von Anfragen n eingestellt wird, und wobei das Ausgeben einer Gruppenmitgliedsanfrage für eine Multicast-Gruppe in dem spezifischen Anschluss das Ausgeben von n Gruppenmitgliedsanfragen für eine Multicast-Gruppe innerhalb der ersten vorbestimmten Zeit umfasst.
  5. Verfahren nach Anspruch 4, wobei die Anzahl von Anfragen n als Robustheitsvariable eines Teilnetzwerks mit Bezug auf den spezifischen Anschluss eingestellt wird.
  6. Verfahren nach Anspruch 1, ferner umfassend folgende Schritte: in Reaktion auf die Ermittlung der Migration der virtuellen Maschine von einem anderen Schalter auf einen dritten Anschluss, Ausgeben (381) einer Gruppenmitgliedsanfrage für eine Multicast-Gruppe in dem dritten Anschluss, und Einstellen (381) der Antwortzeit für die Gruppenmitgliedsanfrage auf eine dritte vorbestimmte Zeit, die kürzer als eine Standardantwortzeit ist; und Bestimmen (382) von Multicast-Gruppen, die dem dritten Anschluss entsprechen, gemäß Antwortnachrichten, die innerhalb der dritten vorbestimmten Zeit empfangen werden.
  7. Verfahren nach Anspruch 6, wobei die dritte vorbestimmte Zeit als Mindestwert eingestellt wird, der von dem Feld Antwortzeit zugelassen ist, das in einer Anfragenachricht der Gruppenmitgliedsanfrage enthalten ist.
  8. Vorrichtung (900) zum Synchronisieren von Multicast-Gruppen einer virtuellen Maschine während einer Migration der virtuellen Maschine, umfassend: eine Einheit (92) zum Beziehen von Listen, die konfiguriert ist, um in Reaktion auf die Ermittlung der Migration der virtuellen Maschine von einem ersten Anschluss auf einen zweiten Anschluss ein und desselben Schalters, eine erste Liste, die Multicast-Gruppen angibt, die dem ersten Anschluss entsprechen, und eine zweite Liste, die Multicast-Gruppen angibt, die dem zweiten Anschluss entsprechen, zu beziehen; eine Aktualisierungseinheit (94), die konfiguriert ist, um die zweite Liste derart zu aktualisieren, dass die zweite Liste die Multicast-Gruppen aus der ersten Liste enthält; und eine Auslagerungseinheit (96), die konfiguriert ist, um eine unerwünschte Multicast-Gruppe auszulagern, wobei die Auslagerungseinheit (96) Folgendes umfasst: ein erstes Änderungsmodul, das konfiguriert ist, um einen Zeitgeber einer Multicast-Gruppe in einer Liste von Multicast-Gruppen, die einem spezifischen Anschluss entsprechen, auf eine erste vorbestimmte Zeit zu ändern, die kürzer als ein Standardzeitgeberintervall ist; ein Anfragemodul, das konfiguriert ist, um eine Gruppenmitgliedsanfrage für eine Multicast-Gruppe in dem spezifischen Anschluss auszugeben und um die Antwortzeit für die Gruppenmitgliedsanfrage auf eine zweite vorbestimmte Zeit einzustellen, die kürzer als eine Standardantwortzeit ist; ein zweites Änderungsmodul, das konfiguriert ist, um in Reaktion auf den Empfang einer Antwortnachricht mit Bezug auf eine bestimmte Multicast-Gruppe innerhalb der zweiten vorbestimmten Zeit, den Zeitgeber der bestimmten Multicast-Gruppe zurück auf das Standardzeitgeberintervall zu ändern; ein Löschmodul, das konfiguriert ist, um in Reaktion auf das Nicht-Empfangen einer Antwortnachricht mit Bezug auf eine spezifische Multicast-Gruppe, nachdem die erste vorbestimmte Zeit abgelaufen ist, die spezifische Multicast-Gruppe aus der Liste von Multicast-Gruppen, die dem spezifischen Anschlussentsprechen, zu löschen, wobei der spezifische Anschluss der erste Anschluss und/oder der zweite Anschluss ist.
  9. Vorrichtung (900) nach Anspruch 8, wobei die Aktualisierungseinheit (94) konfiguriert ist, um zu beurteilen, ob eine Multicast-Gruppe aus der ersten Liste in der zweiten Liste enthalten war; und um lediglich Multicast-Gruppen zu der zweiten Liste hinzuzufügen, die nicht in der zweiten Liste enthalten sind.
  10. Vorrichtung (900) nach Anspruch 8, wobei das Anfragemodul konfiguriert ist, um die Antwortzeit auf die zweite vorbestimmte Zeit durch Ändern des Feldes Antwortzeit in einer Anfragenachricht der Gruppenmitgliedsanfrage zu ändern.
  11. Vorrichtung (900) nach Anspruch 8, wobei die erste vorbestimmte Zeit als zweite vorbestimmte Zeit multipliziert mit der Anzahl von Anfragen n eingestellt ist, und das Anfragemodul konfiguriert ist, um n Gruppenmitgliedsanfragen für die Multicast-Gruppe innerhalb der ersten vorbestimmten Zeit auszugeben.
  12. Vorrichtung (900) nach Anspruch 11, wobei die Anzahl von Anfragen n als Robustheitsvariable eines Teilnetzwerks mit Bezug auf den spezifischen Anschluss eingestellt ist.
  13. Vorrichtung (900) nach Anspruch 8, ferner umfassend eine Bestimmungseinheit (98), die konfiguriert ist zum: in Reaktion auf die Ermittlung der Migration der virtuellen Maschine von einem anderen Schalter auf einen dritten Anschluss, eine Gruppenmitgliedsanfrage für eine Multicast-Gruppe in dem dritten Anschluss auszugeben, und die Antwortzeit für die Gruppenmitgliedsanfrage auf eine dritte vorbestimmte Zeit, die kürzer als eine Standardantwortzeit ist, einzustellen; und Multicast-Gruppen zu bestimmen, die dem dritten Anschluss entsprechen, gemäß den Antwortnachrichten, die innerhalb der dritten vorbestimmten Zeit empfangen werden.
  14. Vorrichtung (900) nach Anspruch 13, wobei die dritte vorbestimmte Zeit als Mindestwert eingestellt ist, der von einem Feld Antwortzeit zugelassen ist, das in einer Anfragenachricht der Gruppenmitgliedsanfrage enthalten ist.
  15. Computerprogramm, umfassend Programmcode, der geeignet ist, um die Verfahrensschritte nach einem der Ansprüche 1 bis 7 auszuführen, wenn das Programm auf einem Computer abläuft.
DE112014001020.0T 2013-02-27 2014-02-12 Synchronisieren von Multicast-Gruppen Active DE112014001020B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201310062234.4A CN104010018B (zh) 2013-02-27 2013-02-27 同步组播组的方法和装置
CN201310062234.4 2013-02-27
PCT/CN2014/071998 WO2014131328A1 (en) 2013-02-27 2014-02-12 Synchronizing multicast groups

Publications (2)

Publication Number Publication Date
DE112014001020T5 DE112014001020T5 (de) 2016-02-25
DE112014001020B4 true DE112014001020B4 (de) 2023-06-15

Family

ID=51370512

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112014001020.0T Active DE112014001020B4 (de) 2013-02-27 2014-02-12 Synchronisieren von Multicast-Gruppen

Country Status (4)

Country Link
US (2) US9292326B2 (de)
CN (1) CN104010018B (de)
DE (1) DE112014001020B4 (de)
WO (1) WO2014131328A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9900263B2 (en) * 2014-09-29 2018-02-20 Alcatel-Lucent Usa Inc. Non-overlay resource access in datacenters using overlay networks
US9798497B1 (en) * 2015-06-08 2017-10-24 Skytap Storage area network emulation
CN109327398B (zh) * 2018-11-21 2021-05-28 新华三技术有限公司 一种防止丢包的方法及装置
CN111163007A (zh) * 2019-12-20 2020-05-15 浪潮电子信息产业股份有限公司 一种组播接收通道的建立方法、装置、设备及存储介质
CN114143252B (zh) * 2021-11-29 2022-11-01 中电信数智科技有限公司 一种虚拟机迁移时组播流量不间断的实现方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110205904A1 (en) 2010-02-19 2011-08-25 Fujitsu Limited Relay apparatus, virtual machine system, and relay method
CN102394831A (zh) 2011-11-28 2012-03-28 杭州华三通信技术有限公司 基于虚拟机vm迁移的流量不中断方法和装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1323524C (zh) * 2003-04-25 2007-06-27 华为技术有限公司 数据在虚拟局域网中定向传播的方法
CN101043429B (zh) * 2006-06-05 2010-05-12 华为技术有限公司 一种在mpls域中建立组播lsp的方法和组播数据传输系统
CN100450068C (zh) * 2006-07-18 2009-01-07 杭州华三通信技术有限公司 一种组播组的维护方法
CN101145922B (zh) * 2006-09-13 2011-06-22 中兴通讯股份有限公司 一种实现组播终端可靠离开的系统和方法
CN101378326B (zh) * 2008-09-18 2011-03-16 中兴通讯股份有限公司 组播用户查询和老化处理方法
US8321862B2 (en) * 2009-03-20 2012-11-27 Oracle America, Inc. System for migrating a virtual machine and resource usage data to a chosen target host based on a migration policy
JP5347982B2 (ja) 2010-01-18 2013-11-20 富士通株式会社 仮想ネットワーク制御プログラム、仮想ネットワーク制御方法および管理装置
US9183046B2 (en) 2010-10-27 2015-11-10 Red Hat Israel, Ltd. Network address retrieval for live migration of a guest system in a virtual machine system
CN102594652B (zh) 2011-01-13 2015-04-08 华为技术有限公司 一种虚拟机迁移方法、交换机、虚拟机系统
JP5729063B2 (ja) 2011-03-22 2015-06-03 富士通株式会社 通信設定方法、通信設定サーバ、中継装置および通信設定プログラム
US9485107B2 (en) * 2011-11-21 2016-11-01 Fujitsu Limited System and method for distributed internet group management protocol processing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110205904A1 (en) 2010-02-19 2011-08-25 Fujitsu Limited Relay apparatus, virtual machine system, and relay method
CN102394831A (zh) 2011-11-28 2012-03-28 杭州华三通信技术有限公司 基于虚拟机vm迁移的流量不中断方法和装置
WO2013078979A1 (en) 2011-11-28 2013-06-06 Hangzhou H3C Techonologies Co., Ltd. Virtual machine migration

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Avaya: Configuration – IP Routing and Multicast Avaya Ethernet Routing Switch 4000 Series. USA, Dezember 2011. 400 Seiten. - Firmenschrift
CN 102394831 A, engl Übersetzung. 2020, Google Patents [online].

Also Published As

Publication number Publication date
CN104010018B (zh) 2017-09-12
US20140373013A1 (en) 2014-12-18
US9372708B2 (en) 2016-06-21
US9292326B2 (en) 2016-03-22
WO2014131328A1 (en) 2014-09-04
CN104010018A (zh) 2014-08-27
US20140245302A1 (en) 2014-08-28
DE112014001020T5 (de) 2016-02-25

Similar Documents

Publication Publication Date Title
DE112014001020B4 (de) Synchronisieren von Multicast-Gruppen
DE102015113997B4 (de) Mechanismus für Verwaltungssteuerungen zum Lernen der Steuerebenenhierarchie in einer Datenzentrumsumgebung
DE112011100822B4 (de) Aufrechterhalten der Durchlässigkeit eines Datenübertragungspfades in einem Datenspeichernetzwerk
DE112013000775B4 (de) Verbinden von Rechenzentren für die Migration von virtuellen Maschinen
DE102012221041B4 (de) Ermöglichen des gleichzeitigen Vorhandenseins von Hostrechnern oder virtuellen Maschinen mit identischen Adressen
DE102013209118B4 (de) Beibehaltung und Änderung von Netzwerküberlastungsbenachrichtigungen während der Übertragung von Netzwerkdaten zwischen einem physischen Netzwerk und einem virtuellen Netzwerk
DE102013200031B4 (de) Verwaltung einer globalen Weiterleitungstabelle in einem verteilten Switch
DE69922690T2 (de) Fehlertolerante netze
DE69732948T2 (de) Rechnernetzwerke und Verfahren zu ihrer Überwachung
DE112012005111B4 (de) Fragmentierung von "Link Layer Discovery Protocol"-Paketen
DE112020001459T5 (de) Konsistente Route-Ankündigungen zwischen redundanten Controllern im globalen Netzwerk-Access-Point
DE112012004951T5 (de) Migration einer virtuellen Maschine
DE102016104264B4 (de) Übertragen von Mehrfachzielpaketen in Overlay-Netzwerken
DE202014010967U1 (de) Multi-Master-Auswahl in einem Software-basierten Netzwerk
DE112013002674T5 (de) Bewerben, Ermitteln und Verwenden von Diensten durch virtuelle Zugriffspunkt-Schnittstellen
DE112013001904B4 (de) Paketvermittlung auf der Ebene 2 ohne Nachschlagetabelle für Ethernet-Switches
DE112012002404B4 (de) Konfiguration und Management virtueller Netzwerke
DE112008003966T5 (de) Selektives Um-Abbilden einer Netzwerktopologie
US9049138B2 (en) Method, device and system for implementing multicast forwarding in extended VLAN bridge
DE102013212213A1 (de) System und Verfahren zur Spiegelung von Datenströmen
DE112013000506T5 (de) Verwaltungsprotokoll für verteilte Strukturen
DE112013006187T5 (de) Verfahren und Vorrichtung zum Verwalten einer Vielzahl von Sitzungen in einem auf Multi-Path Routing basierenden Netzwerk
AT512665B1 (de) Verfahren und Apparat zur Bildung von Software Fault Containment Units in einem verteilten Echtzeitsystem
DE102013209306A1 (de) Bereitstellen von Echtzeit-Interrupts über Ethernet
DE112013000194T5 (de) Pflege einer Multicast-Weiterleitungstabelle und eines PIM-Routers

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: SCHWEIGER & PARTNERS, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012700000

Ipc: H04L0012751000

R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012751000

Ipc: H04L0045020000

R082 Change of representative

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final