DE112013000775B4 - Verbinden von Rechenzentren für die Migration von virtuellen Maschinen - Google Patents

Verbinden von Rechenzentren für die Migration von virtuellen Maschinen Download PDF

Info

Publication number
DE112013000775B4
DE112013000775B4 DE112013000775.4T DE112013000775T DE112013000775B4 DE 112013000775 B4 DE112013000775 B4 DE 112013000775B4 DE 112013000775 T DE112013000775 T DE 112013000775T DE 112013000775 B4 DE112013000775 B4 DE 112013000775B4
Authority
DE
Germany
Prior art keywords
data center
identifier
pseudo
network
layer
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
DE112013000775.4T
Other languages
English (en)
Other versions
DE112013000775T5 (de
Inventor
c/o IBM India Research Lab Kalyanaraman Shivkumar
c/o IBM EGL Kannan Kalapriya
c/o IBM India Plot Mann Vijay
c/o IBM India Plot Vishnoi Anil Kumar
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112013000775T5 publication Critical patent/DE112013000775T5/de
Application granted granted Critical
Publication of DE112013000775B4 publication Critical patent/DE112013000775B4/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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Verfahren, aufweisend:Kennzeichnen einer virtuellen Maschine (122a) für die Migration von einem ersten Rechenzentrum (102a) in ein zweites Rechenzentrum (102b), wobei die virtuelle Maschine eine echte Kennung enthält;Zuweisen einer Pseudokennung zu der virtuellen Maschine, wobei das Zuweisen das Zuweisen einer standortabhängigen Pseudokennung zu der virtuellen Maschine aufweist, die mit Hilfe einer Anforderungsnachricht eines Adressenauflösungsprotokolls verteilt wird und die eine Nummer eines Rechenzentrums, eine Netzwerktopologie und eine Position der virtuellen Maschine in einem Netzwerk eines bestimmten Rechenzentrums codiert, wobei die Pseudokennung eine Pseudokennung der Schicht 2 und eine Pseudokennung der Schicht 3 aufweist;Abbilden der Pseudokennung auf die echte Kennung an einer Steuereinheit (104a) des ersten Rechenzentrums, wobei das Abbilden das Abbilden der Pseudokennung auf die echte Kennung an einer Netzwerk-Steuereinheit (104a, 104b) in jedem Rechenzentrum (102a, 102b) aufweist;Ersetzen der echten Kennung in einem Datenpaket durch die Pseudokennung für eine Routing-Task, wobei das Ersetzen das Ersetzen mittels einer Maßnahme aufweist, die der Gruppe entnommen wird, welche aufwiest:mittels Regeln an einem Core-Router (108a, 108b) in jedem Netzwerk des entsprechenden Rechenzentrums (102a, 102b);Aufrechterhalten des Datenaustauschs zwischen der Steuereinheit (104a) des ersten Rechenzentrums (102a) und einer Steuereinheit (104b) des zweiten Rechenzentrums (102b) und Synchronisieren der Steuereinheiten, um einen korrekten Standort der virtuellen Maschine zu aktualisieren;Migrieren der virtuellen Maschine von dem ersten Rechenzentrum in das zweite Rechenzentrum;Weiterleiten eines Datenpakets auf der Grundlage der Pseudokennung und Ersetzen der Pseudokennung durch die echte Kennung mittels Regeln an einem Ausgangs-Edge-Switch des Netzwerks des zweiten Rechenzentrums, um das Paket an die virtuelle Maschine weiterzuleiten; undWeiterleiten eines Pakets, das für die virtuelle Maschine auf das zweite Rechenzentrum bestimmt ist und auf dem Core-Router (108a) des Netzwerks des ersten Rechenzentrums (102a) empfangen wurde, an einen ersten Kapselungs-Switch (112a) des Netzwerks des ersten Rechenzentrums (102a), der das auf dem Core-Router (108a) des Netzwerks des ersten Rechenzentrums (102a) empfangene Paket mit einer Adresse der Schicht 3 eines zweiten Kapselungs-Switch (112b) des Netzwerks des zweiten Rechenzentrums (102b) kapselt und das gekapselte Paket über ein vorhandenes Netzwerk (100) zwischen dem ersten und zweiten Rechenzentrum sendet, wobei der zweite Kapselungs-Switch das gekapselte Paket entkapselt, nachdem er es empfangen hat, und das entkapselte Paket an einen Switch (118b) der Schicht 2 des Netzwerks des zweiten Rechenzentrums sendet, wobei das Senden des gekapselten Pakets von dem ersten Switch an den zweitem Switch ein Routing aufweist, das Umgehen von allen Routern (110a, 108a) der Schicht 3 des ersten Rechenzentrums und allen Routern (110b, 108b) der Schicht 3 des zweiten Rechenzentrums aufweist.

Description

  • HINTERGRUND
  • Heute führen viele Unternehmen Anwendungen auf virtuellen Maschinen (VMs) aus. Die Mobilität von VMs, sowohl bei laufendem Betrieb als auch offline, kann enorme Flexibilität bieten und auch die Betriebskosten senken. Jedoch ist die Migration von VMs sowohl bei laufendem Betrieb als auch offline aufgrund der Schwierigkeiten, die mit einer teilnetzübergreifenden Migration bei laufendem Betrieb und offline verbunden sind, üblicherweise nach wie vor auf die Migration innerhalb eines lokalen Netzwerks beschränkt. Diese Schwierigkeiten haben ihren Ursprung hauptsächlich in der hierarchischen Adressierung, die von verschiedenen Routing-Protokollen der Schicht 3 verwendet wird. Für eine rechenzentrumübergreifende Mobilität von VMs setzen Virtualisierungsanbieter gewöhnlich voraus, dass die Netzwerk-Konfiguration des neuen Rechenzentrums, in das ein VM migriert, ähnlich der des alten Rechenzentrums sein muss. Dies schränkt eine weit verbreitete Nutzung der VM-Migration über Netzwerke von Rechenzentren hinweg erheblich ein.
  • Für eine Offline-Migration können einige Einschränkungen überwunden werden, indem IP-Adressen für die migrierten VMs neu konfiguriert werden. Doch ist selbst dieser Aufwand nicht unerheblich und zeitaufwendig, da diese IP-Adressen in verschiedenen Konfigurationsdateien in diesen VMs eingebettet sind.
  • Die Veröffentlichung „Portland: A Scalable Fault-Tolerant Layer 2 Data Center Network Fabric“ offenbart die folgenden Ethernet kompatiblen Protokollen für Routing, Weiterleitung und Adressenauflösung, die für Datencenter angepasst sind (MYSORE R.N. [u.a.]: Portland: A Scalable Fault-Tolerant Layer 2 Data Center Network Fabric. SIGCOMM '09, August 2009, S.39-50).
  • Die Veröffentlichung „Addressing the Scalability of Ethernet with MOOSE“ offenbart ein mehrstufiges nach Quelle angeordnetes skalierbares Ethernet und eine Switch Architektur, die funktionsmäßig in der Lage ist, am Platz eine MAC Adresse umzuschreiben, um einem Adressenraum eine Hierarchie ohne Neukonfiguration oder Modifikation von angeschlossenen Geräten aufzuerlegen (SCOTT M. [u.a.]: Addressing the Scalability of Ethernet with MOOSE. ITC '21, 2009, S.1-8).
  • Die WO 2011/078861 A1 offenbare eine Computerplattform, die funktionsmäßig in der Lage ist, eine hardwareunterstützte Paketverarbeitung zu unterstützen, um Pakete in einer geordneten Sequenz effizient zu filtern und zu verlegen, und zwar über ein virtuelles Netzwerk von Inline-Appliances und virtuellen Maschinen über eine Netzwerkschnittstellenkarte und eine andere Plattform hardware.
  • Die US 2011/0090911 A1 offenbart ein Verfahren zum Ermöglichen der Nutzung einer Ressource eines Datenzentrums als Erweiterung eines Kundennetzwerks eines Kunden, umfassend: an einem Weiterleitungselement das Empfangen eines Pakets, das für eine unter einer Edge-Domain des Datenzentrums gehostete, virtuelle Maschine bestimmt ist, wobei die Edge-Domain eine Vielzahl von VLANs für eine respektive Vielzahl von Kundennetzwerken unterstützt, wobei das Paket eine Kennung des Kundennetzwerks und eine MAC-Adresse der virtuellen Maschine umfasst; das Bestimmen einer VLAN-ID des VLAN für das Kundennetzwerk in der Edge-Domain unter Verwendung der Kennung des Kundennetzwerks und der MAC-Adresse der virtuellen Maschine, wobei das Bestimmen der VLAN-ID des VLAN für das Kundennetzwerk in der Edge-Domain umfasst: Bestimmen einer Kennung der Edge-Domain unter Verwendung der MAC-Adresse der virtuellen Maschine; und Bestimmen der VLAN-ID des VLAN für das Kundennetzwerk in der Edge-Domain unter Verwendung der Kennung des Kundennetzwerks und der Kennung der Edge-Domain; Aktualisieren des Pakets zur Aufnahme der VLAN-ID des VLAN für das Kundennetzwerk in der Edge-Domain; und Verbreiten des aktualisierten Pakets vom Weiterleitungselement zur virtuellen Maschine.
  • Die US 2011/0090911 A1 offenbart ferner ein Weiterleitungselement zum Ermöglichen der Nutzung einer Ressource eines Datenzentrums als Erweiterung eines Kundennetzwerks eines Kunden, umfassend: Mittel, um an einem Weiterleitungselement ein Paket zu empfangen, das für eine unter einer Edge-Domain des Datenzentrums gehostete, virtuelle Maschine bestimmt ist, wobei die Edge-Domain eine Vielzahl von VLANs für eine respektive Vielzahl von Kundennetzwerken unterstützt, wobei das Paket eine Kennung des Kundennetzwerks und eine MAC-Adresse der virtuellen Maschine umfasst: Mittel für das das Bestimmen einer VLAN-ID des VLAN für das Kundennetzwerk in der Edge-Domain unter Verwendung der Kennung des Kundennetzwerks und der MAC-Adresse der virtuellen Maschine, wobei das Bestimmen der VLAN-ID des VLAN für das Kundennetzwerk in der Edge-Domain umfasst: Bestimmen einer Kennung der Edge-Domain unter Verwendung der MAC-Adresse der virtuellen Maschine; und Bestimmen der VLAN-ID des VLAN für das Kundennetzwerk in der Edge-Domain unter Verwendung der Kennung des Kundennetzwerks und der Kennung der Edge-Domain; Mittel für das Aktualisieren des Pakets zur Aufnahme der VLAN-ID des VLAN für das Kundennetzwerk in der Edge-Domain; und Mittel für das Verbreiten des aktualisierten Pakets vom Weiterleitungselement zur virtuellen Maschine.
  • Die US 2011/0090911 A1 offenbart ferner ein Netzwerk zum Ermöglichen der Nutzung einer Ressource eines Datenzentrums als Erweiterung eines Kundennetzwerks eines Kunden, umfassend: Eine Vielzahl von Edge-Domains des Datenzentrums, wobei jede Edge-Domain mindestens einen physischen Server umfasst, der konfiguriert ist für das Hosten mindestens einer virtuellen Maschine für deren Nutzung durch mindestens einen Kunden, wobei jede Edge-Domain dafür konfiguriert ist, ein VLAN für jedes Kundennetzwerk zu unterstützen, wobei darin eine virtuelle Maschine zur Verfügung gestellt wird; eine Vielzahl der obig beschriebenen Weiterleitungselementen; und eine Kern-Domain des Datenzentrums, wobei die Kern-Domain eine Vielzahl von Switches umfasst, die konfiguriert sind für das Weiterleiten von Paketen zwischen den Weiterleitungselementen.
  • Die US 2011/0075674 A1 offenbart ein Verfahren zum Integrieren von Ressourcen in ein privates Unternehmensnetzwerk, wobei das Verfahren umfasst: Einrichten eines logischen Kunden-Randrouters in einem Cloud-Datenzentrum in der Cloud-Topologie; Bereitstellen eines sich innerhalb des privaten Unternehmensnetzwerks befindlichen IP-Teilnetzwerks an einen virtuellen Stub, wobei der virtuelle Stub ein logisches Netzwerk in der Cloud-Topologie mit dem privaten Unternehmensnetzwerk zugeteilte Ressourcen, welches von Cloud-Ressourcen außerhalb des virtuellen Stubs isoliert sind, umfasst; Zuteilen einer IP-Adresse von dem IP-Teilnetzwerk an jede Ressource innerhalb des virtuellen Stubs; Bereitstellen eines virtuellen Routers an einem Anbieter-Randrouter in einer Dienstanbieterschnittstelle, um diesen über die Schnittstelle mit einem logischen Kunden-Randrouter eines privaten Unternehmensnetzwerks zu verbinden; Einzufügen, in einer virtuellen Routing- und Weiterleitungstabelle am Cloud-Datenzentrum, eines Routing-Eintrags für das IP-Teilnetzwerk; Verteilen des Routing-Eintrags an alle Kunden-Randrouter in dem privaten Unternehmensnetzwerk; und Hinzufügen eines Standardeintrags in einem Verzeichnisserver an dem Cloud-Datenzentrum, wobei der Standardeintrag alle Unternehmensadressen auf eine Standort-IP-Adresse und eine Cloud-IP-Adresse des logischen Kunden-Randrouters in dem Cloud-Datenzentrum abbildet.
  • Die US 2011/0075674 A1 offenbart ferner ein System, welches Ressourcen in einer Cloud-Technologie in ein privates Unternehmensnetzwerk integriert, wobei das System umfasst: einen virtuellen Stub mit einem logischen Netzwerk in der Cloud-Topologie, umfassend Ressourcen, die einem privaten Unternehmensnetzwerk zugeordnet und von Cloud-Ressourcen außerhalb des virtuellen Stubs isoliert sind, wobei der virtuelle Stub umfasst: Eine Reihe von Servern, umfassend: eine virtuelle Maschine mit Ressourcen auf dem dem privaten Unternehmensnetzwerk zugeordneten Server, und einen Hypervisor, welcher die virtuelle Maschine, einen Datenzentrum-Verbindungsschalter, welcher betriebsbereit an mindestens die Reihe von Servern gekoppelt ist, und ein Cloud-Datenzentrum, welches an den Datenzentrum-Verbindungsschalter angeschlossen ist, wobei das Cloud-Datenzentrum den virtuellen Stub mit dem privaten Unternehmensnetzwerk verbindet; und ein Dienstanbieter-Netzwerk zum Verbinden des virtuellen Stubs mit dem privaten Unternehmensnetzwerk.
  • Die US 2011/0317703 A1 offenbart eine Netzwerkkomponente, die einen Empfänger umfasst, der konfiguriert ist, um einen ausgehenden Frame von einem lokalen Host zu empfangen, eine Logikschaltung, die konfiguriert ist, um eine Zieladresse für eine Zieladresse im ausgehenden Frames zu einer Zieladresse für eine Zielposition des Zielhosts abzubilden und zu kapseln Wobei der ausgehende Rahmen die Zieladresse für den Zielort verwendet und einen Sender, der so konfiguriert ist, dass er einen vorverkapselten ausgehenden Frame von einem lokalen Switch empfängt und den vorverkapselten ausgehenden Frame an ein Gateway an einem Zielort sendet, wobei der Sender Frames, die von lokalen Switches empfangen werden, nicht einkapselt und einen eingehenden Frame von einem entfernten Gateway, das für lokale Hosts bestimmt ist, decapsuliert.
  • KURZDARSTELLUNG
  • Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zur Migration einer virtuellen Maschine zwischen Rechenzentren zu schaffen, wobei die VM vor und nach der Migration für externe Kunden der Rechenzentren unter derselben internen IP-Adresse adressierbar ist und keine neue Konfigurierung von IP- und MAC-Adressräumen in den Rechenzentren notwendig ist. Die der Erfindung zugrunde liegenden Aufgaben werden jeweils mit den Merkmalen der unabhängigen Patentansprüche gelöst. Ausführungsformen der Erfindung sind Gegenstand der abhängigen Patentansprüche.
  • Zusammenfassend stellt ein Aspekt der Erfindung ein Verfahren bereit, das aufweist: Kennzeichnen einer virtuellen Maschine für die Migration von einem ersten Rechenzentrum in ein zweites Rechenzentrum, wobei die virtuelle Maschine eine echte Kennung enthält; Zuweisen einer Pseudokennung zu der virtuellen Maschine; Abbilden der Pseudokennung auf die echte Kennung an einer Steuereinheit des ersten Rechenzentrums; Ersetzen der echten Kennung in einem Datenpaket durch die Pseudokennung für eine Routing-Task; Aufrechterhalten des Datenaustauschs zwischen der Steuereinheit des ersten Rechenzentrums und einer Steuereinheit des zweiten Rechenzentrums und Synchronisieren der Steuereinheiten, um einen korrekten Standort der virtuellen Maschine zu aktualisieren; und Migrieren der virtuellen Maschine von dem ersten Rechenzentrum in das zweite Rechenzentrum.
  • Ein weiterer Aspekt der Erfindung stellt eine Vorrichtung bereit, die aufweist: mindestens einen Prozessor; und ein von einem Computer lesbares Speichermedium, das über damit realisierten, von einem Computer lesbaren Programmcode verfügt, der von dem mindestens einen Prozessor ausgeführt werden kann, wobei der von einem Computer lesbare Programmcode aufweist: von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er eine virtuelle Maschine für die Migration von einem ersten Rechenzentrum in ein zweites Rechenzentrum kennzeichnet, wobei die virtuelle Maschine eine echte Kennung enthält; von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er der virtuellen Maschine eine Pseudokennung zuweist; von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er die Pseudokennung an einer Steuereinheit des ersten Rechenzentrums auf die echte Kennung abbildet; von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er die echte Kennung in einem Datenpaket durch die Pseudokennung für eine Routing-Task ersetzt; von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er den Datenaustausch zwischen der Steuereinheit des ersten Rechenzentrums und einer Steuereinheit des zweiten Rechenzentrums aufrechterhält und die Steuereinheiten synchronisiert, um einen korrekten Standort der virtuellen Maschine zu aktualisieren; und von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er die virtuelle Maschine von dem ersten Rechenzentrum in das zweite Rechenzentrum migriert.
  • Ein zusätzlicher Aspekt der Erfindung stellt ein Computerprogrammprodukt bereit, das aufweist: ein von einem Computer lesbares Speichermedium, das über damit realisierten, von einem Computer lesbaren Programmcode verfügt, wobei der von einem Computer lesbare Programmcode aufweist: von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er eine virtuelle Maschine für die Migration von einem ersten Rechenzentrum in ein zweites Rechenzentrum kennzeichnet, wobei die virtuelle Maschine eine echte Kennung enthält; von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er der virtuellen Maschine eine Pseudokennung zuweist; von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er die Pseudokennung an einer Steuereinheit des ersten Rechenzentrums auf die echte Kennung abbildet; von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er die echte Kennung in einem Datenpaket durch die Pseudokennung für eine Routing-Task ersetzt; von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er den Datenaustausch zwischen der Steuereinheit des ersten Rechenzentrums und einer Steuereinheit des zweiten Rechenzentrums aufrechterhält und die Steuereinheiten synchronisiert, um einen korrekten Standort der virtuellen Maschine zu aktualisieren; und von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er die virtuelle Maschine von dem ersten Rechenzentrum in das zweite Rechenzentrum migriert.
  • Zum besseren Verständnis von beispielhaften Ausführungsformen der Erfindung, zusammen mit anderen und weiteren Merkmalen und Vorteilen der Erfindung, wird Bezug auf die folgende Beschreibung, in Verbindung mit den beiliegenden Zeichnungen betrachtet, genommen, und der Umfang der beanspruchten Ausführungsformen der Erfindung wird in den beigefügten Ansprüchen aufgezeigt.
  • Figurenliste
    • 1 veranschaulicht schematisch eine Systemarchitektur.
    • 2 zeigt einen Prozess allgemeiner auf, der dazu dient, die Migration von virtuellen Maschinen zu vereinfachen.
    • 3 zeigt ein Computersystem.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Man wird ohne Weiteres verstehen, dass die Komponenten der Ausführungsformen der Erfindung, die hier allgemein beschrieben und in den Figuren veranschaulicht sind, neben den beschriebenen beispielhaften Ausführungsformen in einer großen Vielzahl von unterschiedlichen Konfigurationen angeordnet werden und ausgestaltet sein können. Folglich ist die folgende ausführlichere Beschreibung der Ausführungsformen der Erfindung, die in den Figuren dargestellt sind, nicht als Einschränkung des Umfangs der Ausführungsformen der Erfindung, wie beansprucht, zu verstehen, sondern hat für beispielhafte Ausführungsformen der Erfindung lediglich repräsentativen Charakter.
  • Der Verweis in dieser gesamten Beschreibung auf „eine einzelne Ausführungsform“, „eine einzige Ausführungsform“ oder „eine Ausführungsform“ (oder dergleichen) bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder eine bestimmte Eigenschaft, die in Verbindung mit der Ausführungsform beschrieben wird, in mindestens einer einzigen Ausführungsform der Erfindung enthalten ist. Folglich beziehen sich Formulierungen wie „in einer einzelnen Ausführungsform“, „in einer einzigen Ausführungsform“ oder „in einer Ausführungsform“ oder dergleichen an verschiedenen Stellen in dieser gesamten Beschreibung nicht unbedingt auf dieselbe Ausführungsform.
  • Überdies können die beschriebenen Merkmale, Strukturen oder Eigenschaften auf jede geeignete Art und Weise in mindestens einer einzelnen Ausführungsform kombiniert werden. In der folgenden Beschreibung werden zahlreiche ganz bestimmte Einzelheiten aufgezeigt, um ein tiefgreifendes Verständnis von Ausführungsformen der Erfindung zu vermitteln. Der Fachmann erkennt jedoch, dass die verschiedenen Ausführungsformen der Erfindung ohne mindestens eine der ganz bestimmten Einzelheiten oder aber mit anderen Verfahren, Komponenten, Materialien und so weiter in die Praxis umgesetzt werden können. In anderen Fällen werden bekannte Strukturen, Materialien oder Operationen nicht ausführlich gezeigt oder beschrieben, um bei Aspekten der Erfindung keine Unklarheit aufkommen zu lassen.
  • Die Beschreibung wendet sich nun den Figuren zu. Die veranschaulichten Ausführungsformen der Erfindung lassen sich am besten durch Bezugnahme auf die Figuren verstehen. Die folgende Beschreibung hat lediglich Beispielcharakter und stellt einfach bestimmte ausgewählte Ausführungsformen der Erfindung dar, die hier beansprucht werden.
  • Es sei angemerkt, dass der Ablaufplan und die Blockschaubilder in den Figuren die Architektur, die Funktionalität und die Betriebsweise von möglichen Ausführungsarten von Systemen, Vorrichtungen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der Erfindung zeigen. In dieser Hinsicht kann jeder Block in dem Ablaufplan oder in den Blockschaubildern ein Modul, ein Segment oder einen Teil von Code darstellen, das beziehungsweise der mindestens eine ausführbare Instruktion zur Ausführung der angegebenen logischen Funktion(en) aufweist. Es sei auch angemerkt, dass die in dem Block angegebenen Funktionen in manchen alternativen Ausführungsarten mitunter in einer anderen als in der in den Figuren angegebenen Reihenfolge auftreten können. In Abhängigkeit von der mit ihnen verbundenen Funktionalität können beispielsweise zwei Blöcke, die als aufeinanderfolgende Blöcke dargestellt sind, tatsächlich weitgehend gleichzeitig ausgeführt werden oder die Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden. Man wird auch feststellen, dass jeder Block der Blockschaubilder und/oder der Darstellung in dem Ablaufplan sowie Kombinationen aus Blöcken in den Blockschaubildern und/oder der Darstellung in dem Ablaufplan von Systemen, die auf Spezial-Hardware beruhen und die angegebenen Funktionen oder Vorgänge durchführen, oder von Kombinationen aus Spezial-Hardware und Computer-Instruktionen ausgeführt werden können.
  • Die Offenbarung wendet sich nun 1 zu. Es dürfte als vorteilhaft erkannt werden, dass die hier grob veranschaulichten Prozesse, Anordnungen und Produkte auf oder gemäß praktisch jedem geeigneten Computersystem oder jeder Gruppe von Computersystemen durchgeführt beziehungsweise umgesetzt werden können, zu denen, um ein der Veranschaulichung dienendes und nicht als Einschränkung zu verstehendes Beispiel zu nennen, ein System oder ein Server wie beispielsweise das bei 12' in 2 gezeigte System beziehungsweise der bei 12' in 2 gezeigte Server gehören können. Gemäß einer beispielhaften Ausführungsform können die meisten, wenn nicht alle der Prozessschritte, Komponenten und Ausgaben, die mit Bezug auf 1 erörtert werden, mit Hilfe von einer Verarbeitungseinheit oder mit Hilfe von Verarbeitungseinheiten und Systemspeicher, wie beispielsweise der - beziehungsweise demjenigen, die bei 16' beziehungsweise 28' in 2 angegeben sind, durchgeführt oder verwendet werden, egal, ob auf einem Server-Computer, einem Client-Computer, einem Knoten-Computer in einem verteilten Netzwerk oder einer beliebigen Kombination daraus.
  • Gemäß mindestens einer einzelnen Ausführungsform der Erfindung wird hier allgemein eine Anordnung betrachtet, die dazu dient, ein Netzwerk-Fabric bereitzustellen, das eine schichtunabhängige und nahtlose Mobilität von VMs im laufenden Betrieb und offline über mehrere Rechenzentren hinweg ermöglicht. Dabei werden mehrere technische Herausforderungen angegangen und bewältigt, insbesondere bei der Konfrontation mit einem Problem in der Form, VMs ihre ursprüngliche Identität der Schicht 3 (d.h. ihre IP-Adresse) beibehalten zu lassen.
  • Es ist im Allgemeinen bekannt, dass VMs bei der Migration von einem Netzwerk in ein anderes ihre ursprünglichen Netzwerkadressen der Schicht 3 (d.h. die IP-Adressen) beibehalten sollten. Bei Migrationen im laufenden Betrieb ist die Beibehaltung der IP-Adresse bei der Sicherstellung wichtig, dass laufende TCP-Verbindungen (TCP = „transmission control protocol“ beziehungsweise „Übertragungssteuerungsprotokoll“) nicht getrennt werden und eine nahtlose Verbindung aufrechterhalten wird. Im Falle von Offline-Migrationen ist die Beibehaltung der IP-Adressen wichtig, da sich mehrschichtige Anwendungen unter Verwendung dieser IP-Adressen miteinander verbinden und ihre Verbindung bei einer Änderung der IP-Adressen getrennt würde. Eine manuelle oder automatische Neukonfiguration von IP-Adressen bei den migrierten VMs ist möglicherweise komplex und zeitaufwendig, da diese IP-Adressen in verschiedenen Konfigurationsdateien in diesen VMs eingebettet sind. Die Beibehaltung der ursprünglichen IP-Adressen stellt jedoch eine Herausforderung dar, da sich der Bereich der IP-Adressen bei den migrierten VMs von dem Bereich der IP-Adressen des Netzwerks des neuen Rechenzentrums, in das diese VMs gerade migriert werden, unterscheiden könnte (anderes Teilnetz oder andere Klasse). Dies stellt bei der Weiterleitung (Routing) von Paketen nach der Migration auf der Netzwerkschicht 3 ein Problem dar, da die Routing-Protokolle der Schicht 3 (wie zum Beispiel OSPF oder Operation Shortest Path First) eine hierarchische Adressierung verwenden, bei der Adressen auf der Grundlage der längsten Übereinstimmung der Präfixe (Teilnetzkennungen) verglichen werden. Eine Migration über eine Grenze der Schicht 3 hinweg durchbricht diese Hierarchie. Folglich können IP-Adressen nicht mehr für die Weiterleitung von Paketen verwendet werden, da sich jede IP-Adresse überall in den mehreren Rechenzentren befinden kann, und somit muss eine alternative Form der Adressierung für die Weiterleitung von Paketen auf der Schicht 3 verwendet werden.
  • Es ist überdies bekannt, dass die verschiedenen Firewalls der Schicht 3 in einem bestimmten Rechenzentrum den Verkehr von einer bestimmten VM blockieren können, wenn sie sich aus diesem Rechenzentrum herausbewegt. Um dies zu vermeiden, ist es wünschenswert, dass der Datenaustausch über Rechenzentren hinweg auf der Schicht 2 abgewickelt wird, ohne dass man die Rundsendeübertragungs-(Broadcast-) und Erkennungssemantik der Ebene 2 benötigt. Anders ausgedrückt, der rechenzentrumübergreifende Verkehr sollte auf der Schicht 2 in einer der Weiterleitung der Schicht 3 ähnlichen Art und Weise „weitergeleitet“ werden.
  • Es ist des Weiteren bekannt, dass Anforderungen des Adressenauflösungsprotokolls (address resolution protocol (ARP)) im Allgemeinen von den Hostcomputern entweder für das Ziel (wenn sich das Ziel in demselben Netzwerk befindet) oder für das Standard-Gateway oder den First-Hop-Router (wenn sich das Ziel in einem anderen Netzwerk befindet) erzeugt werden. (Die Begriffe „Hostcomputer“ und „VM“ oder „virtuelle Maschine“ können hier als austauschbare Begriffe betrachtet werden.) Die Bestimmung der Netzwerk-ID beruht jedoch auf der Teilnetzmaske und der aktuellen IP-Adresse einer VM. Wenn VMs über ein Teilnetz hinweg migriert werden, hat das Standard-Gateway oder der First-Hop-Router, mit dem eine VM verbunden ist, eine völlig andere IP-Adresse als diejenige, die in ihren Netzwerk-Konfigurationseinstellungen angegeben ist.
  • In Verbindung mit dem „Nord-Süd“-Verkehr oder einem Datenaustausch mit externen Clients ist überdies bekannt, dass Verkehr zu (oder von) einer migrierenden VM gegebenenfalls eine Grenze der Schicht 3 entweder in einem Rechenzentrum aufgrund des Vorhandenseins von mehreren Teilnetzen (und Routern) oder aufgrund von externen Clients, die direkt mit einer VM in dem Rechenzentrum Daten austauschen (was als Nord-Süd-Datenaustausch bezeichnet wird), passieren muss. Dies stellt aufgrund der hierarchischen Adressierung, die von Routing-Protokollen der Schicht 3 verwendet wird, wie vorstehend erwähnt wurde, ein Problem dar.
  • Außerdem ist bekannt, dass die Mobilität von virtuellen Maschinen im laufenden Betrieb im Allgemeinen voraussetzt, dass sich die physischen Quell- und Zielmaschinen in derselben Broadcast-Domäne der Schicht 2 befinden. Eine einzige Broadcast-Domäne ist erforderlich, so dass der Ziel-Hypervisor (oder der Virtual Machine Monitor), zu dem die VM migriert, den neuen Standort der VM über Gratuitous-ARP- (GARP-) oder Reverse-ARP-(RARP-)Nachrichten (VMware verwendet im Allgemeinen RARP-Nachrichten) bekanntgeben kann. Eine Grenze der Schicht 3 oder ein anderes Teilnetz teilt die Broadcast-Domäne auf (RARP- und GARP-Nachrichten bewegen sich nicht über Grenzen der Ebene 3 hinweg). Ein neuer Mechanismus, der den aktuellen Standort einer VM verwaltet und ihn nach der Migration regelmäßig aktualisiert, ist wünschenswert. Außerdem sollte der neue Mechanismus in der Lage sein, Anfragen über den Standort an sich selbst umzuleiten und den neuen Standort bei Bedarf allen Netzwerk-Elementen bekanntzugeben. Es ist erwünscht, dass der als Folge dieser Zustandsverwaltung erzeugte Broadcast-Verkehr minimal ist, da er zu einer Überlastung des Netzwerks führen kann.
  • 1 zeigt schematisch eine Systemarchitektur gemäß mindestens einer einzelnen Ausführungsform der Erfindung. Gezeigt sind zwei Rechenzentren 102a, 102b, die mit dem Internet (100) Daten austauschen; zum Zweck einer weiteren Bezugnahme können diese auch mit RZ 0 beziehungsweise RZ 1 bezeichnet werden. Jedes Rechenzentrum 102a beziehungsweise 102b enthält eine Netzwerk-Steuereinheit 104a/104b, die über einen entsprechenden Hub 106a/106b mit allen Routern und Vermittlungsstellen (Switches) in dem Netzwerk des Rechenzentrums verbunden ist. Jede Netzwerk-Steuereinheit 104a/104b bildet die zentralisierte Steuerungsebene ihres Rechenzentrum-Netzwerks und ist in der Lage, Regeln auf allen Routern und Switches zu installieren, gemäß denen ankommende Pakete geändert oder weitergeleitet werden können. Ebenfalls gezeigt sind die Schichten 2 und 3 entsprechend dem Verständnis in dieser Beschreibung (die auch als L2 und L3 bezeichnet werden können). Jedes Rechenzentrum 102a beziehungsweise 102b enthält L3-Core-Router 108a/108b, L3-Zugriffsrouter 110a/110b und L2-Core-Switches 112a/112b. Jedes Rechenzentrum 102a/102b enthält auch zwei Pods 114a/116a beziehungsweise 114b/116b, die in jedem Rechenzentrum 102a/102b überdies als Pod 0 beziehungsweise Pod 1 bezeichnet werden können. Wie gezeigt ist, enthält jedes Pod 114a/114b und 116a/116b L2-Aggregate-Switches 118a/118b und ToR-(Top-of-Rack-)Switches 120a/120b. Jeder ToR-Switch 120a/120b kann mit einer „0“ oder „1“ gekennzeichnet werden. Die virtuellen Maschinen 122a/122b sind jedem ToR-Switch 120a/120b zugeordnet und können hier (zum Zweck der Bezugnahme) des Weiteren eine Kennzeichnung von 0 bis 15 tragen.
  • Gemäß mindestens einer einzelnen Ausführungsform der Erfindung wird jeder VM 122a/122b eine Pseudo-MAC („media access control address“ beziehungsweise „Medienzugriffssteuerungsadresse“) oder PMAC sowie eine Pseudo-IP-Adresse (PIP) zugewiesen. Sowohl die PMACs als auch die PIPs sind Standortkennungen, in denen die topologischen Netzwerkinformationen eingebettet sind. Während PIPs bei der Sicherstellung, dass der gesamte Verkehr an migrierte VMs über Grenzen der Schicht 3 hinweg nahtlos weitergeleitet werden kann, mitwirken, wirken PMACs bei der Sicherstellung mit, dass die rechenzentrumübergreifenden Verbindungen für Ost-West-Verkehr (d.h. Verkehr, der seinen Ursprung in einem Rechenzentrum hat und an ein anderes geleitet wird) auf der Schicht 2 aufrechterhalten werden können (um Probleme mit der Neukonfiguration von Firewalls zu vermeiden) und dass Verkehr auf der Schicht 2 auch unter Verwendung der längsten Präfix-Übereinstimmung von PMACs „weitergeleitet“ werden kann (was wiederum bei der Sicherstellung hilft, dass die Anzahl der Regeln, die auf jedem Switch der Schicht 2 erforderlich sind, klein gehalten wird).
  • Gemäß mindestens einer einzelnen Ausführungsform der Erfindung weist eine Steuereinheit 104a/104b einem jeden Hostcomputer oder einer jeden virtuellen Maschine 122a/122b eine 48-Bit-Pseudo-MAC (PMAC) der Form: dcid.pod.position.port.vmid zu, wobei „dcid“ (8 Bit) die Kennung des Rechenzentrums ist, „pod“ (16 Bit) ist eine Pod-Kennung, die sich auf das Pod (114a/114b oder 116a/116b) bezieht, an dem sich der ToR-Switch (120a/120b) befindet, „position“ (8 Bit) gibt die Position des ToR-Switch in dem Pod an, „port“ (8 Bit) ist die Nummer des Ports auf dem ToR-Switch, mit dem der physische Hostcomputer direkt verbunden ist, und „vmid“ (8 Bit) ist die Kennung der VM auf einem bestimmten Hostcomputer. 32-Bit-PIPs betten den Standort wie folgt ein: dcid.subnetid.hostid; wobei „dcid“ (8 Bit) die Kennung des Rechenzentrums ist und „subnetid“ und „hostid“ die verbleibenden 24 Bit unter Verwendung des Classless Internet Domain Routing (CIDR) nach Bedarf belegen können.
  • Gemäß mindestens einer einzelnen Ausführungsform der Erfindung werden Routern oder Gateways der Schicht 3 ebenfalls eine PMAC sowie PIPs für alle ihre Schnittstellen zugewiesen (Core-Routern 108a/108b, die direkt mit dem Internet verbunden sind, wird zusätzlich zu den PIPs eine externe IP zugewiesen). Diese PMACs und PIPs bleiben unverändert, während sich PMACs und PIPs, die Hostcomputern (oder VMs) zugewiesen werden, auf der Grundlage ihres aktuellen Standorts (und eventueller Migrationen) laufend ändern. In einem Rechenzentrum 102a/102b werden Pakete auf der Schicht 2 unter Verwendung von PMACs befördert, bis jedes Paket eine Grenze der Schicht 3 passieren muss, wobei es an dieser Stelle unter Verwendung von PIPs weitergeleitet wird und schließlich wieder unter Verwendung von PMACs an das Ziel zugestellt werden kann. Der größte Teil der Zuweisung von PMACs und PIPs findet während der ARP-Auflösung statt.
  • Gemäß mindestens einer einzelnen Ausführungsform der Erfindung werden ARP-Anforderungen sowie andere Pakete, die für andere Rechenzentren bestimmt sind (was von der PMAC angegeben wird), an bestimmte Kapselungs-Switches (auf der Schicht 2) weitergeleitet, welche das Paket im Tunnelungsverfahren an das Zielrechenzentrum (Ziel-RZ) übertragen, wo ein ähnlicher Kapselungs-Switch das Paket entkapselt und es auf der Grundlage der PMAC weiterleitet. Die Übertragung der Pakete im Tunnelungsverfahren auf der Schicht 2 ist bei der Sicherstellung hilfreich, dass die verschiedenen Firewalls der Schicht 3 an einem bestimmten Rechenzentrum 102a/102b keine Neukonfiguration erforderlich machen, um Verkehr von einer bestimmten VM zuzulassen.
  • Gemäß mindestens einer einzelnen Ausführungsform der Erfindung erhält die Steuereinheit 104a/104b, sobald sich ein Switch der Schicht 2 oder ein Router der Schicht 3 mit dem Netzwerk verbindet, eine Benachrichtigung und stellt wiederum fest, ob der Switch ein Eingangs-Switch (d.h. ein ToR) ist, und wenn ja, installiert sie eine Regel, um alle ARP-Anforderungen an die Steuereinheit 104a/104b umzuleiten. (Eine ARP-Anforderung kann z.B. die Form „Wer hat 10.0.0.1?“ haben.) Eine einzelne Regel, die auf dem Protokolltyp (0x806 für ARP) der Schicht 2 beruht, wird an allen Top-of-Rack-(TOR-)Switches 120a/102b installiert; diese kann als Regel R1 bezeichnet werden. Man beachte, dass ARP-Anforderungen von den Hostcomputern (oder VMs) entweder für das Ziel (wenn sich das Ziel in demselben Netzwerk befindet) oder für das Standard-Gateway oder den First-Hop-Router (wenn sich das Ziel in einem anderen Netzwerk befindet) erzeugt werden und die Bestimmung der Netzwerk-ID auf der konfigurierten Teilnetzmaske und der aktuellen IP-Adresse einer VM 122a/122b beruht. Bei denselben Teilnetz-ARP-Anfragen kann die Steuereinheit ohne Weiteres mit der entsprechenden PMAC antworten, da die Steuereinheit eine Abbildungstabelle verwaltet, die echte IPs und tatsächliche MACs (actual MACs (AMACs)) von allen Hostcomputern in ihrem Rechenzentrum auf ihre PIPs und PMACs abbildet. Die Steuereinheit kann diese Zuordnungen statisch aus einer Datei lesen oder sie mit Hilfe eines Protokolls wie zum Beispiel des Location Discovery Protocol (LDP) dynamisch lernen (siehe z.B. R. Mysore u.a., „PortLand: A Scalable Fault-Tolerant Layer 2 Data Center Network Fabric“ in ACM SIGCOMM, August 2009.). Einer Steuereinheit 104a/104b ist hier auch die Kennung (echte IP, PIP, AMAC und PMAC) für Steuereinheiten in anderen Rechenzentren bekannt Wenn eine Steuereinheit 104a/104b feststellt, dass bestimmte ARP-Anforderungen für einen Hostcomputer (oder eine VM) bestimmt sind, der beziehungsweise die nicht in ihrer Abbildungstabelle aufgeführt ist, sendet sie die ARP-Anforderungen im Rundsendeverfahren an alle anderen Steuereinheiten. Nur die Steuereinheit, die über den entsprechenden Eintrag für die echte IP in ihrer Abbildungstabelle verfügt, antwortet der ersten Steuereinheit mit der PMAC.
  • Gemäß mindestens einer einzelnen Ausführungsform der Erfindung speichert die ersten Steuereinheit (sei es 104a oder 104b) dann den PMAC-Eintrag in ihrer Tabelle (zusammen mit der IP und PIP) zwischen und kennzeichnet ihn auch als „NOMAC“ für AMAC, was anzeigt, dass dies ein Eintrag für eine VM ist, die sich in einem fernen Rechenzentrum befindet. Gleichzeitig installiert die ferne Steuereinheit auch eine Regel auf dem Ziel-ToR 120a/120b, mit dem das Ziel direkt verbunden ist, um die PMAC durch die tatsächliche MAC (AMAC) zu ersetzen (diese Regel kann als R2 bezeichnet werden). Da ein ToR 120a/120b üblicherweise nicht mit mehr als 40 Hostcomputern verbunden ist, ergibt dies höchstens 40 Regeln (eine für jeden Hostcomputer 122a/122b) an jedem ToR 120a/120b. Die Steuereinheit installiert auch eine Regel auf dem Eingangs-ToR (erster Zwischenschritt (Hop)) 120a/120b, um die echte IP durch eine Pseudo-IP (PIP) zu ersetzen, und auf dem Ausgangs-ToR 120a/120b (letzter Zwischenschritt), um die PIP durch die echte IP von allen direkt angeschlossenen Hostcomputern 122a/122b zu ersetzen (diese Regeln können als R3 beziehungsweise R4 bezeichnet werden). Dies könnte zur Erzeugung einer großen Anzahl von Regeln vom Typ R3 an jedem Eingangs-ToR 120a/120b führen, da ein Hostcomputer theoretisch mit jedem anderen Hostcomputer in dem Netzwerk in Dialogverkehr treten kann, und dies kann möglicherweise zu so vielen Regeln führen, wie es Hostcomputer oder VMs (122a/122b) in dem Netzwerk gibt. In der Praxis ist dies jedoch unwahrscheinlich, und es steht wahrscheinlich jederzeit genügend Zeit zur Verfügung, damit alte Regeln ablaufen und neue Regeln installiert werden können.
  • Gemäß mindestens einer einzelnen Ausführungsform der Erfindung antwortet eine Steuereinheit 102a/102b, wenn sie auf der Grundlage ihrer Host-Abbildungstabelle (oder indem sie die ARP-Anforderung im Rundsendeverfahren an Steuereinheiten in anderen Rechenzentren sendet) feststellt, dass die ARP-Anforderung für das Standard-Gateway (und nicht für einen Ziel-Hostcomputer) bestimmt ist, mit einer speziellen MAC-Adresse (z.B. „00:00:00:00:00:00“). Wenn das erste IP-Paket mit dieser speziellen MAC-Adresse an dem betreffenden ToR (120a/120b) ankommt, wird es als Nächstes wieder an die Steuereinheit 104a/104b umgeleitet (da für die spezielle MAC keine Regel installiert ist), und die Steuereinheit 104a/104b installiert eine Regel an dem ToR 120a/120b, um Pakete mit der speziellen MAC und der jeweiligen IP zu vergleichen und um die spezielle MAC durch die entsprechende Ziel-PMAC (für die jeweilige IP) sowie die echte IP durch die PIP zu ersetzen (diese Regel kann als R5 bezeichnet werden). Dadurch wird sichergestellt, dass nachfolgende Pakete an diese Zieladresse (die eine IP-Adresse eines anderen Teilnetzwerks hat) jetzt die richtige PMAC enthalten und Pakete in der Schicht 2 auf der Grundlage dieser PMAC befördert werden können.
  • Gemäß mindestens einer einzelnen Ausführungsform der Erfindung ist es, um ein der Veranschaulichung dienendes und nicht als Einschränkung zu verstehendes Beispiel zu nennen, gegebenenfalls möglich, dass ein Paket nicht an die Ziel-PMAC zugestellt werden kann, ohne einen Zugriffsrouter 110a/110b, d.h. eine Grenze der Schicht 3, zu passieren. Sobald der Zugriffsrouter 110a/110b ein Paket von einem Core-Switch 112a/112b der Schicht 2 empfängt, kann die Weiterleitung nun auf der Grundlage der in dem Paket enthaltenen PIP stattfinden. Wenn der Router 110a/110b feststellt, dass das Paket für ein externes Rechenzentrum bestimmt ist, bricht er die Weiterleitung auf der Schicht 3 ab und sendet das Paket direkt an den entsprechenden Kapselungs-Switch (auf der Grundlage von vorab installierten statischen Regeln, die auf PIPs oder PMACs beruhen). In diesem Fall kann praktisch jeder Core-Switch (112a/112b) der Schicht 2 die Funktion eines Kapselungs-Switch übernehmen und die Weiterleitung, die die Schicht 3 umgeht, ist in 1 mittels der gestrichelten Verbindungspfeile gezeigt.
  • Gemäß mindestens einer einzelnen Ausführungsform der Erfindung kann mit Bezug auf den Nord-Süd-Verkehr gesagt werden, dass der Datenaustausch mit echten IPs von externen Clients eindeutig und möglicherweise öffentlich sichtbar ist; externe Clients (außerhalb des Rechenzentrums) tauschen mit VMs 122a/122b unter Verwendung der echten IP Daten aus. Somit empfängt ein Core-Router 108a/108b hier das Paket mit der echten IP. Da auf dem Core-Router 108a/108b keine Regel installiert ist, leitet er es an die Steuereinheit 104a/104b um, um die PIP herauszufinden. Die Steuereinheit 104a/104b antwortet dann mit der korrekten PIP und PMAC (nachdem sie sie entweder in ihrer eigenen Zuordnung gefunden oder nachdem sie andere Steuereinheiten konsultiert hat) und installiert ebenfalls eine Regel, um die jeweilige echte IP durch PIP und AMAC durch PMAC zu ersetzen (diese Regel kann als R6 bezeichnet werden). Wenn er keine direkt angeschlossene Maschine ist, nimmt der Core-Router 108a/108b auf der Grundlage der PIP eine Weiterleitung an den geeigneten Zugriffsrouter 110a/110b in dem RZ 102a/102b oder an den Kapselungs-Switch vor (bei dem es sich um einen Core-Switch 112a/112b der Schicht 2 handeln kann, wie vorstehend erörtert wurde), wenn sich das Ziel in einem anderen RZ 102a/102b befindet. Wenn er eine direkt angeschlossene Maschine ist, geht die Weiterleitung dann auf der Grundlage der PMAC vonstatten.
  • Gemäß mindestens einer einzelnen Ausführungsform der Erfindung, gibt der Hypervisor (oder der Virtual Machine Monitor) auf dem Ziel-Hostcomputer, sobald eine VM 122a/122b zu einem Ziel-Hostcomputer migriert, den neuen Standort der VM bekannt, indem er eine Gratuitous-ARP-(GARB-) oder Reverse ARP-(RARP-)Nachricht im Rundsendeverfahren versendet. Diese RARP- oder GARP-Nachricht wird an die Steuereinheit 104a/104b umgeleitet (durch die Regel R1 für das Umleiten aller ARP-Nachrichten, die zuvor installiert worden ist). Nach dem Empfang einer RARP oder GARP führt die Steuereinheit 104a/104b wie folgt vier Schritte durch. Zuerst prüft sie, ob die migrierte Maschine innerhalb ihres eigenen Rechenzentrums 102a/102b migriert ist. Wenn es sich um eine rechenzentruminterne Migration handelt, schaltet sie zum nächsten Schritt, andernfalls sendet sie eine RARP/GARP-Rundsendenachricht an alle anderen Steuereinheiten, und die Steuereinheit 104a/104b, an der sich die VM 122a/122b früher befand, antwortet mit einer RARP-Antwort, welche die alte PMAC, AMAC und die echte IP enthält. Im nächsten Schritt weist die Steuereinheit 104a/104b der VM 122a/122b dann eine neue PMAC und eine PIP zu und fügt einen Eintrag mit der echten IP, der neuen PIP, der AMAC und der neuen PMAC in ihrer Abbildungstabelle hinzu. Wenn sie bereits über einen Eintrag für die IP verfügt, aktualisiert sie lediglich ihre Ersetzungs-NOMAC durch AMAC und die alte PMAC und die alte PIP durch die neue PMAC und die neue PIP. Folglich installiert die Steuereinheit 104a/104b neue Regeln (R2 und R4) auf dem direkt angeschlossenen ToR-Switch 120a/120b der VM 122a/122b, um die PMAC durch die AMAC und die PIP durch die echte IP für jedwede ankommenden Pakete zu ersetzen. Sie aktualisiert auch andere Regeln (vom Typ R3 oder R5) mit der aktualisierten PMAC und PIP. Schließlich sendet die Steuereinheit 104a/104b eine Steuereinheit-(Controller-)ARP-Aktualisierung (die als CARP-Aktualisierung bezeichnet werden kann) als eine RARP-Nachricht, die die alte PMAC, die neue PMAC, die echte IP und die neue PIP angibt, an alle anderen Steuereinheiten. Alle anderen Steuereinheiten löschen dann entweder Regeln (vom Typ R2 oder R4 in dem ursprünglichen RZ) oder aktualisieren bestehende Regeln (vom Typ R3 oder R5) mit der neuen PMAC und der neuen PIP. Jede Steuereinheit 104a/104b sendet auch eine GARP-Aktualisierung, um veraltete ARP-Abbildungen im Cachespeicher, über die Hostcomputer möglicherweise verfügen, zu aktualisieren.
  • 2 zeigt einen Prozess, der dazu dient, die Migration von virtuellen Maschinen zu vereinfachen, gemäß mindestens einer einzelnen Ausführungsform der Erfindung allgemeiner auf. Es dürfte sich verstehen, dass ein Prozess wie der in 2 grob veranschaulichte Prozess auf praktisch jedem geeigneten Computersystem oder jeder Gruppe von Computersystemen durchgeführt werden kann, zu der, um ein der Veranschaulichung dienendes und nicht als Einschränkung zu verstehendes Beispiel zu nennen, ein System wie beispielsweise das bei 12' in 3 gezeigte System gehören kann. Gemäß einer beispielhaften Ausführungsform können die meisten, wenn nicht alle der Prozessschritte, die mit Bezug auf 2 erörtert wurden, mit Hilfe von einer Verarbeitungseinheit oder mit Hilfe von Verarbeitungseinheiten und Systemspeicher, wie beispielsweise derbeziehungsweise demjenigen, die bei 16' beziehungsweise 28' in 3 angegeben sind, durchgeführt werden.
  • Wie in 2 gezeigt ist, wird eine virtuelle Maschine für die Migration von einem ersten Rechenzentrum in ein zweites Rechenzentrum gekennzeichnet, wobei die virtuelle Maschine eine echte Kennung enthält (202). Eine Pseudokennung wird der virtuellen Maschine zugewiesen (204), und an einer Steuereinheit des ersten Rechenzentrums wird die Pseudokennung auf die echte Kennung abgebildet (206). Die echte Kennung wird in einem Datenpaket durch die Pseudokennung für eine Routing-Task ersetzt (208). Der Datenaustausch zwischen der Steuereinheit des ersten Rechenzentrums und einer Steuereinheit des zweiten Rechenzentrums wird aufrechterhalten, und die Steuereinheiten werden synchronisiert, um einen korrekten Standort der virtuellen Maschine zu aktualisieren (210). Die virtuelle Maschine wird von dem ersten Rechenzentrum in das zweite Rechenzentrum migriert (212).
  • Nun Bezug nehmend auf 3 ist eine schematische Darstellung eines Beispiels eines Cloud-Computing-Knotens gezeigt. Der Cloud-Computing-Knoten 10' stellt lediglich ein Beispiel für einen geeigneten Cloud-Computing-Knoten dar und ist nicht als Einschränkung des Nutzungsumfangs oder der Funktionalität von hier beschriebenen Ausführungsformen der Erfindung zu verstehen. Ungeachtet dessen kann der Cloud-Computing-Knoten 10' realisiert werden und/oder ist in der Lage, jedwede Funktionalität, die vorstehend beschrieben wurde, auszuführen. Gemäß Ausführungsformen der Erfindung ist der Datenverarbeitungsknoten 10' gegebenenfalls nicht unbedingt Teil eines Cloud-Netzwerks, sondern könnte stattdessen Teil einer anderen Art von verteiltem Netzwerk oder eines anderen Netzwerks sein oder er könnte einen eigenständigen Knoten darstellen. Zum Zweck der Erörterung und Veranschaulichung wird der Knoten 10' hier jedoch verschiedentlich als „Cloud-Computing-Knoten“ bezeichnet.
  • Im Cloud-Computing-Knoten 10' gibt es ein Computersystem/einen Server 12', das beziehungsweise der mit zahlreichen anderen Umgebungen oder Konfigurationen von Mehrzweck- oder Spezial-Datenverarbeitungssystemen betrieben werden kann. Zu Beispielen für bekannte Datenverarbeitungssysteme, - umgebungen und/oder -konfigurationen, die für die Verwendung mit dem Computersystem/Server 12' geeignet sein können, gehören, ohne auf diese beschränkt zu sein, Personal-Computer-Systeme, Server-Computersysteme, Thin-Clients, Thick-Clients, tragbare oder Laptop-Einheiten, Mehrprozessorsysteme, auf einem Mikroprozessor beruhende Systeme, Aufsatzgeräte (Set-Top-Boxen), programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputersysteme, Mainframe-Computersysteme und verteilte Cloud-Computing-Umgebungen, die beliebige der vorstehenden Systeme oder Einheiten enthalten, und dergleichen.
  • Das Computersystem/der Server 12' kann in dem allgemeinen Kontext von Instruktionen, die von einem Computersystem ausgeführt werden können, wie zum Beispiel Programmmodulen, die von einem Computersystem ausgeführt werden, beschrieben werden. Im Allgemeinen können Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen und so weiter enthalten, die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datentypen realisieren. Das Computersystem/der Server 12' kann in verteilten Cloud-Computing-Umgebungen betrieben werden, in denen Aufgaben von fernen Verarbeitungseinheiten durchgeführt werden, die über ein Datenübertragungsnetzwerk miteinander verbunden sind. In einer verteilten Cloud-Computing-Umgebung können sich Programmmodule sowohl in Speichermedien, einschließlich Hauptspeicher-Einheiten, eines lokalen als auch eines fernen Computersystems befinden.
  • Wie in 3 gezeigt ist, ist das Computersystem/der Server 12' in dem Cloud-Computing-Knoten 10 in Form von einer Mehrzweck-Datenverarbeitungseinheit gezeigt. Zu den Komponenten des Computersystems/des Servers 12' können, ohne auf diese beschränkt zu sein, mindestens ein Prozessor oder mindestens eine Verarbeitungseinheit 16', ein Systemspeicher 28' und ein Bus 18' gehören, der verschiedene Systemkomponenten einschließlich des Systemspeichers 28' mit dem Prozessor 16' verbindet.
  • Der Bus 18' stellt mindestens eine Art von beliebigen mehreren Arten von Busstrukturen einschließlich eines Hauptspeicher-Busses oder einer Hauptspeicher-Steuereinheit, eines peripheren Busses, eines Accelerated Graphics Port und eines Prozessor- oder lokalen Busses, der eine beliebige einer Vielzahl von Busarchitekturen nutzt, dar. Als Beispiel, und nicht als Einschränkung, gehören zu solchen Architekturen der Bus „Industry Standard Architecture (ISA)“, der Bus „Micro Channel Architecture (MCA)“, der Bus „Enhanced ISA (EISA)“, der lokale Bus „Video Electronics Standards Association (VESA)“ und der Bus „Peripheral Component Interconnects (PCI)“.
  • Das Computersystem/der Server 12' enthält üblicherweise eine Vielzahl von Datenträgern, die von einem Computersystem gelesen werden können. Solche Datenträger können jedwede verfügbaren Datenträger sein, auf die von dem Computersystem/dem Server 12' zugegriffen werden kann, und zu ihnen gehören sowohl flüchtige als auch nicht flüchtige Datenträger, auswechselbare und nicht auswechselbare Datenträger.
  • Der Systemspeicher 28' kann von einem Computersystem lesbare Datenträger in Form von flüchtigem Hauptspeicher, wie beispielsweise einem Direktzugriffspeicher (RAM) 30' und/oder einem Cachespeicher 32', beinhalten. Das Computersystem/der Server 12' kann darüber hinaus weitere auswechselbare/nicht auswechselbare, flüchtige/nicht flüchtige Speichermedien eines Computersystems enthalten. Lediglich als Beispiel kann das Speichersystem 34' für Leseoperationen von und für Schreiboperationen auf einen nicht auswechselbaren, nicht flüchtigen Magnetdatenträger (nicht gezeigt und üblicherweise als „Festplattenlaufwerk“ bezeichnet) bereitgestellt werden. Obgleich nicht gezeigt, können ein Magnetplattenlaufwerk für Leseoperationen von und Schreiboperationen auf eine auswechselbare, nicht flüchtige Magnetplatte (z.B. eine „Diskette“) und ein optisches Plattenlaufwerk für Leseoperationen von oder Schreiboperationen auf eine auswechselbare, nicht flüchtige optische Platte, wie zum Beispiel ein CD-ROM, ein DVD-ROM, oder andere optische Datenträger bereitgestellt werden. In diesen Fällen kann jedes Plattenlaufwerk über mindestens eine Datenträger-Schnittstellen mit dem Bus 18' verbunden werden. Wie weiter gezeigt und nachstehend beschrieben wird, kann der Systemspeicher 28' mindestens ein Programmprodukt enthalten, das über einen Satz (z.B. mindestens einen Satz) von Programmmodulen verfügt, die so konfiguriert sind, dass sie die Funktionen von Ausführungsformen der Erfindung ausführen.
  • Das Programm/Dienstprogramm 40', das über einen Satz (mindestens einen Satz) von Programmmodulen 42' verfügt, kann als Beispiel, und nicht als Einschränkung, im Systemspeicher 28' abgelegt werden, ebenso ein Betriebssystem, mindestens ein Anwendungsprogramm, andere Programmmodule und Programmdaten. Das Betriebssystem, mindestens ein Anwendungsprogramm, andere Programmmodule und Programmdaten oder eine Kombination daraus können jeweils eine Ausführungsart einer Netzwerkumgebung beinhalten. Die Programmmodule 42' führen im Allgemeinen die Funktionen und/oder die methodischen Vorgehensweisen von Ausführungsformen der Erfindung, die hier beschrieben sind, aus.
  • Das Computersystem/der Server 12' kann auch mit mindestens einer externen Einheit 14' wie zum Beispiel einer Tastatur, einem Zeigegerät, einem Bildschirm 24' usw.; mit mindestens einer Einheit, die einem Benutzer den Dialogverkehr mit dem Computersystem/Server 12' ermöglicht; und/oder beliebigen Einheiten (z.B. Netzwerkkarte, Modem usw.), die dem Computersystem/Server 12' den Datenaustausch mit mindestens einer anderen Datenverarbeitungseinheit ermöglichen, Daten austauschen. Ein solcher Datenaustausch kann über E/A-Schnittstellen 22' stattfinden. Weiterhin kann das Computersystem/der Server 12' mit mindestens einem Netzwerk wie zum Beispiel einem lokalen Netzwerk (LAN), einem allgemeinen Weitverkehrsnetz (WAN) und/oder einem öffentlichen Netzwerk (z.B. dem Internet) über den Netzwerkadapter 20' Daten austauschen. Wie gezeigt ist, tauscht der Netzwerkadapter 20' mit den anderen Komponenten des Computersystems/Servers 12' über den Bus 18' Daten aus. Es sollte sich verstehen, dass auch andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Computersystem/Server 12' verwendet werden könnten, obgleich diese nicht gezeigt sind. Zu Beispielen gehören, ohne auf diese beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Anordnungen von Festplattenlaufwerken, RAID-Systeme, Bandlaufwerke und Speichersysteme zur Datenarchivierung usw.
  • Es sei angemerkt, dass Aspekte der Erfindung als ein System, ein Verfahren oder ein Computerprogrammprodukt realisiert werden können. Folglich können Aspekte der Erfindung die Form einer ganz in Hardware realisierten Ausführung, einer ganz in Software realisierten Ausführung (einschließlich Firmware, residenter Software, Mikrocode usw.) oder einer Ausführung annehmen, die Software- und Hardware-Aspekte kombiniert, die hier alle allgemein als eine „Schaltung“, ein „Modul“ oder ein „System“ bezeichnet werden können. Überdies können Aspekte der Erfindung die Form eines Computerprogrammprodukts annehmen, das sich auf mindestens einem von einem Computer lesbaren Datenträger befindet, auf dem sich von einem Computer lesbarer Programmcode befindet.
  • Jede beliebige Kombination aus mindestens einem von einem Computer lesbaren Datenträger kann verwendet werden. Der von einem Computer lesbare Datenträger kann ein von einem Computer lesbarer Signaldatenträger oder ein von einem Computer lesbares Speichermedium sein. Ein von einem Computer lesbares Speichermedium kann zum Beispiel, ohne darauf beschränkt zu sein, ein(e) elektronische(s), magnetische(s), optische(s), elektromagnetische(s), Infrarot- oder Halbleitersystem, -vorrichtung oder -einheit oder jede beliebige geeignete Kombination des Vorstehenden sein. Zu konkreteren Beispielen (wobei die Liste keinen Anspruch auf Vollständigkeit erhebt) für das von einem Computer lesbare Speichermedium würden folgende gehören: eine elektrische Verbindung mit mindestens einer Leitung, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compact-Disk-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder jede beliebige geeignete Kombination des Vorstehenden. In Zusammenhang mit diesem Schriftstück kann ein von einem Computer lesbares Speichermedium jedes physisch greifbare Medium sein, das ein Programm zur Verwendung durch ein Instruktionsausführungssystem, eine Instruktionsausführungsvorrichtung oder - einheit oder zur Verwendung in Verbindung mit einem Instruktionsausführungssystem, einer Instruktionsausführungsvorrichtung oder - einheit enthalten oder speichern kann.
  • Ein von einem Computer lesbarer Signaldatenträger kann ein weitergeleitetes Datensignal mit darin enthaltenem, von einem Computer lesbarem Programmcode, beispielsweise im Basisband oder als Teil einer Trägerwelle, enthalten. Solch ein übertragenes Signal kann eine beliebige einer Vielzahl von Formen einschließlich elektromagnetischer, optischer Formen oder jede beliebige geeignete Kombination dieser Formen, ohne darauf beschränkt zu sein, annehmen. Bei einem von einem Computer lesbaren Signaldatenträger kann es sich um jeden beliebigen von einem Computer lesbaren Datenträger handeln, der kein von einem Computer lesbares Speichermedium ist und der ein Programm zur Verwendung durch ein Instruktionsausführungssystem, eine Instruktionsausführungsvorrichtung oder -einheit oder zur Verwendung in Verbindung mit einem Instruktionsausführungssystem, einer Instruktionsausführungsvorrichtung oder - einheit übertragen, weiterleiten oder transportieren kann.
  • Auf einem von einem Computer lesbaren Datenträger enthaltener Programmcode kann mittels eines geeigneten Mediums einschließlich eines drahtlosen Mediums, eines drahtgebundenen Mediums, eines Lichtwellenleiterkabels, mittels Hochfrequenz (HF) usw., ohne darauf beschränkt zu sein, oder mittels jeder beliebigen geeigneten Kombination des Vorstehenden übertragen werden.
  • Computer-Programmcode zur Durchführung von Operationen für Aspekte der Erfindung kann in jeder beliebigen Kombination aus mindestens einer Programmiersprache einschließlich einer objektorientierten Programmiersprache, wie beispielsweise Java®, Smalltalk, C++ oder dergleichen, und herkömmlichen prozeduralen Programmiersprachen wie beispielsweise der Programmiersprache „C“ oder ähnlichen Programmiersprachen geschrieben sein. Die Ausführung des Programmcodes kann komplett auf dem Computer (der Computereinheit) des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder komplett auf dem fernen Computer oder Server erfolgen. Im letzteren Szenario kann der ferne Computer mit dem Computer des Benutzers über jede beliebige Art eines Netzwerks einschließlich eines lokalen Netzwerks (LAN) oder eines Weitverkehrsnetzes (WAN) verbunden werden oder die Verbindung kann zu einem externen Computer (zum Beispiel über das Internet mittels eines Internet-Dienstanbieters) hergestellt werden.
  • Aspekte der Erfindung werden hier mit Bezug auf Darstellungen in Ablaufplänen und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Darstellungen in den Ablaufplänen und/oder der Blockschaubilder sowie Kombinationen aus Blöcken in den Darstellungen der Ablaufpläne und/oder den Blockschaubildern mittels Instruktionen eines Computerprogramms realisiert werden können. Diese Instruktionen eines Computerprogramms können einem Prozessor eines Mehrzweckcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine so zu erzeugen, dass die Instruktionen, die über den Prozessor des Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel zur Ausführung der Funktionen/Vorgänge erzeugen, die in dem Block oder den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegeben sind.
  • Diese Instruktionen eines Computerprogramms können auch auf einem von einem Computer lesbaren Datenträger gespeichert werden, der einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten anweisen kann, auf eine bestimmte Art und Weise zu funktionieren, so dass die auf dem von einem Computer lesbaren Datenträger gespeicherten Instruktionen einen Herstellungsgegenstand erzeugen, der Instruktionen enthält, die die Funktion/den Vorgang ausführen, welche beziehungsweise welcher in dem Block oder den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegeben ist.
  • Die Instruktionen des Computerprogramms können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder auf andere Einheiten geladen werden, um die Durchführung einer Reihe von Betriebsschritten auf dem Computer, einer anderen programmierbaren Vorrichtung oder auf anderen Einheiten zu bewirken, um einen von einem Computer ausgeführten Prozess so zu erzeugen, dass die Instruktionen, die auf dem Computer oder einer anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse zur Ausführung der Funktionen/Vorgänge ermöglichen, die in dem Block oder den Blöcken der Ablaufpläne und/oder der Blockschaubilder angegeben sind.
  • Diese Offenbarung erfolgte zum Zweck der Veranschaulichung und der Beschreibung, erhebt jedoch keinen Anspruch auf Vollständigkeit und ist auch nicht als Einschränkung zu verstehen. Für den Fachmann sind viele Ab- und Veränderungen erkennbar. Die Ausführungsformen wurden gewählt und beschrieben, um Grundgedanken und die praktische Anwendung zu erklären und um anderen Fachleuten das Verständnis der Offenbarung bei verschiedenen Ausführungsformen mit verschiedenen Änderungen, wie sie für die jeweilige vorgesehene Verwendung geeignet sind, zu ermöglichen.
  • Obgleich hier der Veranschaulichung dienende Ausführungsformen der Erfindung mit Bezug auf die beiliegenden Zeichnungen beschrieben wurden, sollte es sich verstehen, dass die Ausführungsformen der Erfindung nicht auf diese präzisen Ausführungsformen beschränkt sind und dass verschiedene andere Ab- und Veränderungen von einem Fachmann daran vorgenommen werden können, ohne vom Umfang oder von der Wesensart der Offenbarung abzuweichen.

Claims (19)

  1. Verfahren, aufweisend: Kennzeichnen einer virtuellen Maschine (122a) für die Migration von einem ersten Rechenzentrum (102a) in ein zweites Rechenzentrum (102b), wobei die virtuelle Maschine eine echte Kennung enthält; Zuweisen einer Pseudokennung zu der virtuellen Maschine, wobei das Zuweisen das Zuweisen einer standortabhängigen Pseudokennung zu der virtuellen Maschine aufweist, die mit Hilfe einer Anforderungsnachricht eines Adressenauflösungsprotokolls verteilt wird und die eine Nummer eines Rechenzentrums, eine Netzwerktopologie und eine Position der virtuellen Maschine in einem Netzwerk eines bestimmten Rechenzentrums codiert, wobei die Pseudokennung eine Pseudokennung der Schicht 2 und eine Pseudokennung der Schicht 3 aufweist; Abbilden der Pseudokennung auf die echte Kennung an einer Steuereinheit (104a) des ersten Rechenzentrums, wobei das Abbilden das Abbilden der Pseudokennung auf die echte Kennung an einer Netzwerk-Steuereinheit (104a, 104b) in jedem Rechenzentrum (102a, 102b) aufweist; Ersetzen der echten Kennung in einem Datenpaket durch die Pseudokennung für eine Routing-Task, wobei das Ersetzen das Ersetzen mittels einer Maßnahme aufweist, die der Gruppe entnommen wird, welche aufwiest: mittels Regeln an einem Core-Router (108a, 108b) in jedem Netzwerk des entsprechenden Rechenzentrums (102a, 102b); Aufrechterhalten des Datenaustauschs zwischen der Steuereinheit (104a) des ersten Rechenzentrums (102a) und einer Steuereinheit (104b) des zweiten Rechenzentrums (102b) und Synchronisieren der Steuereinheiten, um einen korrekten Standort der virtuellen Maschine zu aktualisieren; Migrieren der virtuellen Maschine von dem ersten Rechenzentrum in das zweite Rechenzentrum; Weiterleiten eines Datenpakets auf der Grundlage der Pseudokennung und Ersetzen der Pseudokennung durch die echte Kennung mittels Regeln an einem Ausgangs-Edge-Switch des Netzwerks des zweiten Rechenzentrums, um das Paket an die virtuelle Maschine weiterzuleiten; und Weiterleiten eines Pakets, das für die virtuelle Maschine auf das zweite Rechenzentrum bestimmt ist und auf dem Core-Router (108a) des Netzwerks des ersten Rechenzentrums (102a) empfangen wurde, an einen ersten Kapselungs-Switch (112a) des Netzwerks des ersten Rechenzentrums (102a), der das auf dem Core-Router (108a) des Netzwerks des ersten Rechenzentrums (102a) empfangene Paket mit einer Adresse der Schicht 3 eines zweiten Kapselungs-Switch (112b) des Netzwerks des zweiten Rechenzentrums (102b) kapselt und das gekapselte Paket über ein vorhandenes Netzwerk (100) zwischen dem ersten und zweiten Rechenzentrum sendet, wobei der zweite Kapselungs-Switch das gekapselte Paket entkapselt, nachdem er es empfangen hat, und das entkapselte Paket an einen Switch (118b) der Schicht 2 des Netzwerks des zweiten Rechenzentrums sendet, wobei das Senden des gekapselten Pakets von dem ersten Switch an den zweitem Switch ein Routing aufweist, das Umgehen von allen Routern (110a, 108a) der Schicht 3 des ersten Rechenzentrums und allen Routern (110b, 108b) der Schicht 3 des zweiten Rechenzentrums aufweist.
  2. Verfahren nach Anspruch 1, wobei die Gruppe ferner die folgende Maßnahme aufweist: mittels eines Adressenauflösungsprotokolls.
  3. Verfahren nach Anspruch 1, wobei die Pseudokennung der Schicht 2 eine Pseudo-MAC-Adresse aufweist.
  4. Verfahren nach Anspruch 1, wobei die Pseudokennung der Schicht 3 eine Pseudo-IP-Adresse aufweist.
  5. Verfahren nach Anspruch 1, wobei Quellenverkehr zu der gekennzeichneten virtuellen Maschine seinen Ursprung in mindestens einem hat, das der Gruppe entnommen wird, welche besteht aus: in einer Domäne der Schicht zwei, in der sich die virtuelle Maschine befindet; über eine Grenze der Schicht drei hinweg.
  6. Verfahren nach Anspruch 1, wobei die Pseudokennung ein Codieren in Bezug auf ein Rechenzentrum aufweist, in dem sich die virtuelle Maschine befindet.
  7. Verfahren nach Anspruch 6, wobei die Pseudokennung des Weiteren ein Codieren in Bezug auf eine Netzwerktopologie aufweist.
  8. Verfahren nach Anspruch 7, wobei die Pseudokennung ein Codieren in Bezug auf eine Position der virtuellen Maschine in einem Rechenzentrum aufweist.
  9. Verfahren nach Anspruch 8, das des Weiteren das Umleiten einer Anforderung eines Adressenauflösungsprotokolls für eine standortunabhängige echte Kennung der Zielschicht 3 an eine Steuereinheit aufweist, wobei die Steuereinheit daraufhin: die standortabhängige Pseudokennung der Schicht 2 zurücksendet, wenn sich die virtuelle Maschine in demselben Netzwerk befindet; eine neue Kennung der Schicht 2 zurücksendet, wenn sich die virtuelle Maschine in einem anderen Netzwerk befindet, woraufhin die neue Kennung der Schicht 2 dann in dem Paket verwendet wird.
  10. Verfahren nach Anspruch 9, das des Weiteren das über eine Steuereinheit erfolgende Installieren einer Regel auf einem Eingangs-Switch, um eine echte Kennung der Schicht 3 durch eine Pseudokennung der Schicht 3 zu ersetzen, sowie einer Regel auf einem Ausgangs-Switch, um eine Pseudokennung der Schicht 2 und eine Pseudokennung der Schicht 3 durch entsprechende echte Kennungen zu ersetzen, aufweist.
  11. Verfahren nach Anspruch 1, des Weiteren aufweisend: über eine Steuereinheit im Rundsendeverfahren erfolgendes Senden einer Anforderung eines Adressenauflösungsprotokolls an eine ferne Steuereinheit, wenn sich eine echte Kennung der Zielschicht 3 nicht in einer Abbildungstabelle befindet; und über eine ferne Steuereinheit, nach dem Empfang einer Broadcast-Nachricht eines Adressenauflösungsprotokolls von einer Steuereinheit, Nachschlagen in einer lokalen Abbildungstabelle und, wenn eine Zuordnung gefunden wird, Zurücksenden einer standortabhängigen echten Kennung der Schicht 2 und einer standortabhängigen echten Kennung der Schicht 3.
  12. Vorrichtung, aufweisend: mindestens einen Prozessor; und ein von einem Computer lesbares Speichermedium, das über damit realisierten, von einem Computer lesbaren Programmcode verfügt, der von dem mindestens einen Prozessor ausführbar ist, wobei der von einem Computer lesbare Programmcode aufweist: von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er eine virtuelle Maschine (112a) für die Migration von einem ersten Rechenzentrum (102a) in ein zweites Rechenzentrum (102b) kennzeichnet, wobei die virtuelle Maschine eine echte Kennung enthält; von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er der virtuellen Maschine eine Pseudokennung zuweist, wobei der von dem Computer lesbare Programmcode so konfiguriert ist, dass er der virtuellen Maschine eine standortabhängige Pseudokennung zuweist, die mit Hilfe einer Anforderungsnachricht eines Adressenauflösungsprotokolls verteilt wird und die eine Nummer eines Rechenzentrums, eine Netzwerktopologie und eine Position der virtuellen Maschine in einem Netzwerk eines bestimmten Rechenzentrums codiert, wobei die Pseudokennung eine Pseudokennung der Schicht 2 und eine Pseudokennung der Schicht 3 aufweist; von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er die Pseudokennung an einer Steuereinheit (104a) des ersten Rechenzentrums auf die echte Kennung abbildet, wobei das Abbilden das Abbilden der Pseudokennung auf die echte Kennung an einer Netzwerk-Steuereinheit (104a, 104b) in jedem Rechenzentrum (102a, 102b) aufweist; von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er die echte Kennung in einem Datenpaket durch die Pseudokennung für eine Routing-Task ersetzt, wobei das Ersetzen das Ersetzen mittels einer Maßnahme aufweist, die der Gruppe entnommen wird, welche aufwiest: mittels Regeln an einem Core-Router (108, 108b) in jedem Netzwerk des entsprechenden Rechenzentrums (102a, 102b); von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er den Datenaustausch zwischen der Steuereinheit (104a) des ersten Rechenzentrums (102a) und einer Steuereinheit (104b) des zweiten Rechenzentrums (102b) aufrechterhält und die Steuereinheiten synchronisiert, um einen korrekten Standort der virtuellen Maschine zu aktualisieren; von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er die virtuelle Maschine von dem ersten Rechenzentrum in das zweite Rechenzentrum migriert; von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er ein Datenpaket auf der Grundlage der Pseudokennung weiterleitet und die Pseudokennung durch die echte Kennung mittels Regeln an einem Ausgangs-Edge-Switch des Netzwerks des zweiten Rechenzentrums ersetzt, um das Paket an die virtuelle Ziel-Maschine weiterzuleiten; und von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er ein Paket, das für die virtuelle Maschine auf das zweite Rechenzentrum bestimmt ist und auf dem Core-Router (108a) des Netzwerks des ersten Rechenzentrums (102a) empfangen wurde, an einen ersten Kapselungs-Switch (112a) des Netzwerks des ersten Rechenzentrums (102a) weiterleitet, wobei der erste Kapselungs-Switch das auf dem Core-Router (108a) des Netzwerks des ersten Rechenzentrums (102a) empfangene Paket mit einer Adresse der Schicht 3 eines zweiten Kapselungs-Switch (112b) des Netzwerks des zweiten Rechenzentrums (102b) kapselt und das gekapselte Paket über ein vorhandenes Netzwerk (100) zwischen dem ersten und zweiten Rechenzentrum sendet, wobei der zweite Kapselungs-Switch das gekapselte Paket entkapselt, nachdem er es empfangen hat, und das entkapselte Paket an einen Switch der Schicht 2 des Netzwerkes des zweiten Rechenzentrums sendet, wobei das Senden des gekapselten Pakets von dem ersten Switch an den zweitem Switch ein Routing aufweist, das Umgehen von allen Routern (110a, 108a) der Schicht 3 des ersten Rechenzentrums und allen Routern (110b, 108b) der Schicht 3 des zweiten Rechenzentrums aufweist.
  13. Vorrichtung nach Anspruch 12, wobei die Gruppe ferner die folgende Maßnahme aufweist: mittels eines Adressenauflösungsprotokolls.
  14. Computerprogrammprodukt, aufweisend: ein von einem Computer lesbares Speichermedium, das über damit realisierten, von einem Computer lesbaren Programmcode verfügt, wobei der von einem Computer lesbare Programmcode aufweist: von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er eine virtuelle Maschine (112a) für die Migration von einem ersten Rechenzentrum (102a) in ein zweites Rechenzentrum (102b) kennzeichnet, wobei die virtuelle Maschine eine echte Kennung enthält; von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er der virtuellen Maschine eine Pseudokennung zuweist, wobei der von dem Computer lesbare Programmcode so konfiguriert ist, dass er der virtuellen Maschine eine standortabhängige Pseudokennung zuweist, die mit Hilfe einer Anforderungsnachricht eines Adressenauflösungsprotokolls verteilt wird und die eine Nummer eines Rechenzentrums, eine Netzwerktopologie und eine Position der virtuellen Maschine in einem Netzwerk eines bestimmten Rechenzentrums codiert, wobei die Pseudokennung eine Pseudokennung der Schicht 2 und eine Pseudokennung der Schicht 3 aufweist; von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er die Pseudokennung an einer Steuereinheit (104a) des ersten Rechenzentrums auf die echte Kennung abbildet, wobei das Abbilden das Abbilden der Pseudokennung auf die echte Kennung an einer Netzwerk-Steuereinheit (104) in jedem Rechenzentrum aufweist; von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er die echte Kennung in einem Datenpaket durch die Pseudokennung für eine Routing-Task ersetzt, wobei das Ersetzen das Ersetzen mittels einer Maßnahme aufweist, die der Gruppe entnommen wird, welche aufweist: mittels Regeln an einem Core-Router in jedem Netzwerk des entsprechenden Rechenzentrums (102a, 102b); von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er den Datenaustausch zwischen der Steuereinheit (104a) des ersten Rechenzentrums (102a) und einer Steuereinheit (104b) des zweiten Rechenzentrums (102b) aufrechterhält und die Steuereinheiten synchronisiert, um einen korrekten Standort der virtuellen Maschine zu aktualisieren; von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er die virtuelle Maschine von dem ersten Rechenzentrum in das zweite Rechenzentrum migriert; von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er ein Datenpaket auf der Grundlage der Pseudokennung weiterleitet und die Pseudokennung durch die echte Kennung mittels Regeln an einem Ausgangs-Edge-Switch des Netzwerks des zweiten Rechenzentrums ersetzt, um das Paket an die virtuelle Ziel-Maschine weiterzuleiten; und von einem Computer lesbaren Programmcode, der so konfiguriert ist, dass er ein Paket, das für die virtuelle Maschine auf das zweite Rechenzentrum bestimmt ist und auf dem Core-Router (108a) des Netzwerks des ersten Rechenzentrums (102a) empfangen wurde, an einen ersten Kapselungs-Switch (112a) des Netzwerks des ersten Rechenzentrums (102a) weiterleitet, wobei der erste Kapselungs-Switch das auf dem Core-Router (108a) des Netzwerks des ersten Rechenzentrums (102a) empfangene Paket mit einer Adresse der Schicht 3 eines zweiten Kapselungs-Switch (112b) des Netzwerks des zweiten Rechenzentrums (102b) kapselt und das gekapselte Paket über ein vorhandenes Netzwerk (100) zwischen dem ersten und zweiten Rechenzentrum sendet, wobei der zweite Kapselungs-Switch das gekapselte Paket entkapselt, nachdem er es empfangen hat, und das entkapselte Paket an einen Switch der Schicht 2 des Netzwerks des zweiten Rechenzentrums sendet, wobei das Senden des gekapselten Pakets von dem ersten Switch an den zweitem Switch ein Routing aufweist, das Umgehen von allen Routern (110a, 108a) der Schicht 3 des ersten Rechenzentrums und allen Routern (110b, 108b) der Schicht 3 des zweiten Rechenzentrums aufweist.
  15. Computerprogrammprodukt nach Anspruch 14, wobei Quellenverkehr zu der gekennzeichneten virtuellen Maschine seinen Ursprung in mindestens einem hat, das der Gruppe entnommen wird, welche besteht aus: in einer Domäne der Schicht zwei, in der sich die virtuelle Maschine befindet; über eine Grenze der Schicht drei hinweg.
  16. Computerprogrammprodukt nach Anspruch 14, wobei die Pseudokennung mindestens eines aufweist, das der Gruppe entnommen wird, welche besteht aus: Codieren in Bezug auf ein Rechenzentrum, in dem sich die virtuelle Maschine befindet; Codieren in Bezug auf eine Position der virtuellen Maschine in einem Rechenzentrum.
  17. Computerprogrammprodukt nach Anspruch 14, wobei der von einem Computer lesbare Programmcode des Weiteren so konfiguriert ist, dass er eine Anforderung eines Adressenauflösungsprotokolls für eine standortunabhängige echte Kennung der Zielschicht 3 an eine Steuereinheit umleitet, wobei die Steuereinheit daraufhin: die standortabhängige Pseudokennung der Schicht 2 zurücksendet, wenn sich die virtuelle Maschine in demselben Netzwerk befindet; eine neue Kennung der Schicht 2 zurücksendet, wenn sich die virtuelle Maschine in einem anderen Netzwerk befindet, woraufhin die neue Kennung der Schicht 2 dann in dem Paket verwendet wird.
  18. Computerprogrammprodukt nach Anspruch 17, wobei der von einem Computer lesbare Programmcode des Weiteren so konfiguriert ist, dass er über eine Steuereinheit eine Regel auf einem Eingangs-Switch, um eine echte Kennung der Schicht 3 durch eine Pseudokennung der Schicht 3 zu ersetzen, sowie eine Regel auf einem Ausgangs-Switch, um eine Pseudokennung der Schicht 2 und eine Pseudokennung der Schicht 3 durch entsprechende echte Kennungen zu ersetzen, installiert.
  19. Computerprogrammprodukt nach Anspruch 17, wobei der von einem Computer lesbare Programmcode des Weiteren so konfiguriert ist, dass er: über eine Steuereinheit im Rundsendeverfahren eine Anforderung eines Adressenauflösungsprotokolls an eine ferne Steuereinheit sendet, wenn sich eine echte Kennung der Zielschicht 3 nicht in einer Abbildungstabelle befindet; und über eine ferne Steuereinheit, nach dem Empfang einer Broadcast-Nachricht eines Adressenauflösungsprotokolls von einer Steuereinheit, in einer lokalen Abbildungstabelle nachschlägt und, wenn eine Zuordnung gefunden wird, eine standortabhängige echte Kennung der Schicht 2 und eine standortabhängige Kennung der Schicht 3 zurücksendet.
DE112013000775.4T 2012-01-31 2013-01-23 Verbinden von Rechenzentren für die Migration von virtuellen Maschinen Active DE112013000775B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/362,165 2012-01-31
US13/362,165 US8990371B2 (en) 2012-01-31 2012-01-31 Interconnecting data centers for migration of virtual machines
PCT/CN2013/070861 WO2013113264A1 (en) 2012-01-31 2013-01-23 Interconnecting data centers for migration of virtual machines

Publications (2)

Publication Number Publication Date
DE112013000775T5 DE112013000775T5 (de) 2014-10-30
DE112013000775B4 true DE112013000775B4 (de) 2020-11-05

Family

ID=48871286

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013000775.4T Active DE112013000775B4 (de) 2012-01-31 2013-01-23 Verbinden von Rechenzentren für die Migration von virtuellen Maschinen

Country Status (5)

Country Link
US (2) US8990371B2 (de)
CN (1) CN104081733B (de)
DE (1) DE112013000775B4 (de)
GB (1) GB2510770B (de)
WO (1) WO2013113264A1 (de)

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9191327B2 (en) 2011-02-10 2015-11-17 Varmour Networks, Inc. Distributed service processing of network gateways using virtual machines
US8990371B2 (en) 2012-01-31 2015-03-24 International Business Machines Corporation Interconnecting data centers for migration of virtual machines
US9054917B2 (en) * 2012-03-08 2015-06-09 Empire Technology Development Llc Secure migration of virtual machines
US9184981B2 (en) * 2012-03-09 2015-11-10 Futurewei Technologies, Inc. System and apparatus for distributed mobility management based network layer virtual machine mobility protocol
US10333827B2 (en) * 2012-04-11 2019-06-25 Varmour Networks, Inc. Adaptive session forwarding following virtual machine migration detection
CN103491010B (zh) * 2012-10-17 2016-12-07 华为技术有限公司 在虚拟网络中发送报文的方法、装置和系统
US9331958B2 (en) * 2012-12-31 2016-05-03 Advanced Micro Devices, Inc. Distributed packet switching in a source routed cluster server
US10180851B2 (en) * 2013-01-14 2019-01-15 Cisco Technology, Inc. Detection of unauthorized use of virtual resources
JP6056578B2 (ja) * 2013-03-19 2017-01-11 富士通株式会社 仮想マシンの移動終了を検出する装置、方法、及びプログラム
JP6107315B2 (ja) * 2013-03-28 2017-04-05 富士通株式会社 変更プログラム、変更装置および変更方法
US9197553B2 (en) * 2013-03-29 2015-11-24 Cisco Technology, Inc. Using a virtual internet protocol address to represent dually connected hosts in an internet protocol overlay network
US9282033B2 (en) * 2013-08-06 2016-03-08 Cisco Technology, Inc. Intelligent handling of virtual machine mobility in large data center environments
US9311140B2 (en) 2013-08-13 2016-04-12 Vmware, Inc. Method and apparatus for extending local area networks between clouds and migrating virtual machines using static network addresses
US9329894B2 (en) * 2013-08-13 2016-05-03 Vmware, Inc. Method and apparatus for extending local area networks between clouds and permanently migrating virtual machines using static network addresses
US9430256B2 (en) 2013-08-13 2016-08-30 Vmware, Inc. Method and apparatus for migrating virtual machines between cloud computing facilities using multiple extended local virtual networks and static network addresses
US9391801B2 (en) 2013-08-13 2016-07-12 Vmware, Inc. Virtual private networks distributed across multiple cloud-computing facilities
EP3073698A4 (de) * 2013-12-13 2016-11-23 Huawei Tech Co Ltd Verfahren zur verarbeitung einer adressauflösungsprotokollnachricht, forwarder und steuerung
US9654392B2 (en) * 2013-12-26 2017-05-16 Red Hat, Inc. MAC address prefixes used on virtual machine hosts
US9876689B1 (en) 2014-02-03 2018-01-23 Sprint Communications Company L.P. Automatically generated virtual network elements for virtualized local area networks
US9860117B2 (en) 2014-02-03 2018-01-02 Sprint Communications Company, L.P. Automatically generated virtual network elements for virtualized packet networks
US10091238B2 (en) 2014-02-11 2018-10-02 Varmour Networks, Inc. Deception using distributed threat detection
US10264025B2 (en) 2016-06-24 2019-04-16 Varmour Networks, Inc. Security policy generation for virtualization, bare-metal server, and cloud computing environments
US9973472B2 (en) 2015-04-02 2018-05-15 Varmour Networks, Inc. Methods and systems for orchestrating physical and virtual switches to enforce security boundaries
US10120729B2 (en) 2014-02-14 2018-11-06 Vmware, Inc. Virtual machine load balancing
US9215214B2 (en) 2014-02-20 2015-12-15 Nicira, Inc. Provisioning firewall rules on a firewall enforcing device
US10148757B2 (en) 2014-02-21 2018-12-04 Hewlett Packard Enterprise Development Lp Migrating cloud resources
WO2015126409A1 (en) * 2014-02-21 2015-08-27 Hewlett-Packard Development Company, L.P. Migrating cloud resources
US10567271B2 (en) * 2014-04-18 2020-02-18 Nokia Canada Inc. Topology-aware packet forwarding in a communication network
TWI531908B (zh) * 2014-04-24 2016-05-01 A method of supporting virtual machine migration with Software Defined Network (SDN)
US20150319063A1 (en) * 2014-04-30 2015-11-05 Jive Communications, Inc. Dynamically associating a datacenter with a network device
US10084652B2 (en) * 2014-05-22 2018-09-25 Vmware, Inc. Customizing network configuration of virtual machines using subnet mapping rules
US10324743B2 (en) 2014-08-27 2019-06-18 Red Hat Israel, Ltd. Announcing virtual machine migration
US9342338B2 (en) 2014-10-15 2016-05-17 Red Hat, Inc. Application migration in a process virtual machine environment
US9912584B2 (en) * 2014-11-07 2018-03-06 Cisco Technology, Inc. Data center inbound routing optimization in the event of virtual machine mobility
EP3447968A1 (de) 2014-11-17 2019-02-27 Huawei Technologies Co., Ltd. Verfahren zum migrieren des dienstes eines rechenzentrums, vorrichtung und system
CN105701116A (zh) * 2014-11-27 2016-06-22 英业达科技有限公司 数据同步系统
US9466033B2 (en) * 2015-01-12 2016-10-11 International Business Machines Corporation Self-adaptive classifiers
US11099869B2 (en) 2015-01-27 2021-08-24 Nec Corporation Management of network functions virtualization and orchestration apparatus, system, management method, and program
US9294442B1 (en) 2015-03-30 2016-03-22 Varmour Networks, Inc. System and method for threat-driven security policy controls
US10193929B2 (en) 2015-03-13 2019-01-29 Varmour Networks, Inc. Methods and systems for improving analytics in distributed networks
US9380027B1 (en) 2015-03-30 2016-06-28 Varmour Networks, Inc. Conditional declarative policies
US10009381B2 (en) 2015-03-30 2018-06-26 Varmour Networks, Inc. System and method for threat-driven security policy controls
US9525697B2 (en) 2015-04-02 2016-12-20 Varmour Networks, Inc. Delivering security functions to distributed networks
CN104796338B (zh) * 2015-04-24 2018-08-24 新华三技术有限公司 虚拟机迁移方法及装置
US10261943B2 (en) 2015-05-01 2019-04-16 Microsoft Technology Licensing, Llc Securely moving data across boundaries
US10229124B2 (en) 2015-05-01 2019-03-12 Microsoft Technology Licensing, Llc Re-directing tenants during a data move
US10678762B2 (en) 2015-05-01 2020-06-09 Microsoft Technology Licensing, Llc Isolating data to be moved across boundaries
US9755903B2 (en) 2015-06-30 2017-09-05 Nicira, Inc. Replicating firewall policy across multiple data centers
US10243914B2 (en) * 2015-07-15 2019-03-26 Nicira, Inc. Managing link aggregation traffic in edge nodes
US9992153B2 (en) * 2015-07-15 2018-06-05 Nicira, Inc. Managing link aggregation traffic in edge nodes
US10191758B2 (en) 2015-12-09 2019-01-29 Varmour Networks, Inc. Directing data traffic between intra-server virtual machines
US9680852B1 (en) 2016-01-29 2017-06-13 Varmour Networks, Inc. Recursive multi-layer examination for computer network security remediation
US9762599B2 (en) 2016-01-29 2017-09-12 Varmour Networks, Inc. Multi-node affinity-based examination for computer network security remediation
US9521115B1 (en) 2016-03-24 2016-12-13 Varmour Networks, Inc. Security policy generation using container metadata
US10135727B2 (en) 2016-04-29 2018-11-20 Nicira, Inc. Address grouping for distributed service rules
US10348685B2 (en) 2016-04-29 2019-07-09 Nicira, Inc. Priority allocation for distributed service rules
US11171920B2 (en) 2016-05-01 2021-11-09 Nicira, Inc. Publication of firewall configuration
US11425095B2 (en) 2016-05-01 2022-08-23 Nicira, Inc. Fast ordering of firewall sections and rules
US10454830B2 (en) * 2016-05-05 2019-10-22 City University Of Hong Kong System and method for load balancing in a data network
US11088990B2 (en) 2016-06-29 2021-08-10 Nicira, Inc. Translation cache for firewall configuration
US11258761B2 (en) 2016-06-29 2022-02-22 Nicira, Inc. Self-service firewall configuration
US10755334B2 (en) 2016-06-30 2020-08-25 Varmour Networks, Inc. Systems and methods for continually scoring and segmenting open opportunities using client data and product predictors
US10326838B2 (en) 2016-09-23 2019-06-18 Microsoft Technology Licensing, Llc Live migration of probe enabled load balanced endpoints in a software defined network
US10216379B2 (en) 2016-10-25 2019-02-26 Microsoft Technology Licensing, Llc User interaction processing in an electronic mail system
US10725833B2 (en) 2016-10-28 2020-07-28 Nicira, Inc. Monitoring and optimizing interhost network traffic
US10182111B2 (en) * 2016-12-06 2019-01-15 Microsoft Technology Licensing, Llc Dynamic adjustment of entity assignment in a multi-data center environment
CN108259629B (zh) 2016-12-28 2021-07-23 阿里巴巴集团控股有限公司 虚拟互联网协议地址的切换方法及装置
CN108268300B (zh) * 2016-12-30 2022-01-25 中移(苏州)软件技术有限公司 一种虚拟机的迁移方法及装置
US11102285B2 (en) * 2017-01-05 2021-08-24 Bank Of America Corporation Network routing tool
CN108322393B (zh) * 2017-01-18 2021-03-16 阿里巴巴集团控股有限公司 路由链路管理方法和系统、虚拟路由网关和宿主机网关
KR101959055B1 (ko) * 2017-10-02 2019-07-04 광주과학기술원 멀티 가상 머신의 클라우드간 마이그레이션
KR102076626B1 (ko) * 2018-07-12 2020-05-18 광주과학기술원 클라우드 컴퓨팅 시스템에서 가상 머신 재배치 방법
CN109981437B (zh) * 2019-03-08 2022-02-18 平安科技(深圳)有限公司 一种基于vpc的多数据中心互通方法及相关设备
US11310202B2 (en) 2019-03-13 2022-04-19 Vmware, Inc. Sharing of firewall rules among multiple workloads in a hypervisor
US11310284B2 (en) 2019-05-31 2022-04-19 Varmour Networks, Inc. Validation of cloud security policies
US11290494B2 (en) 2019-05-31 2022-03-29 Varmour Networks, Inc. Reliability prediction for cloud security policies
US11863580B2 (en) 2019-05-31 2024-01-02 Varmour Networks, Inc. Modeling application dependencies to identify operational risk
US11711374B2 (en) 2019-05-31 2023-07-25 Varmour Networks, Inc. Systems and methods for understanding identity and organizational access to applications within an enterprise environment
US11290493B2 (en) 2019-05-31 2022-03-29 Varmour Networks, Inc. Template-driven intent-based security
US11575563B2 (en) 2019-05-31 2023-02-07 Varmour Networks, Inc. Cloud security management
CN112543108B (zh) * 2019-09-04 2024-08-30 南京中兴新软件有限责任公司 网络隔离策略管理方法和网络隔离策略管理系统
US11734039B2 (en) 2020-05-07 2023-08-22 Red Hat, Inc. Efficient handling of network topology change notification for virtual machines
US11818152B2 (en) 2020-12-23 2023-11-14 Varmour Networks, Inc. Modeling topic-based message-oriented middleware within a security system
US11876817B2 (en) 2020-12-23 2024-01-16 Varmour Networks, Inc. Modeling queue-based message-oriented middleware relationships in a security system
US12050693B2 (en) 2021-01-29 2024-07-30 Varmour Networks, Inc. System and method for attributing user behavior from multiple technical telemetry sources
US11777978B2 (en) 2021-01-29 2023-10-03 Varmour Networks, Inc. Methods and systems for accurately assessing application access risk
US11477270B1 (en) * 2021-07-06 2022-10-18 Vmware, Inc. Seamless hand-off of data traffic in public cloud environments
US11734316B2 (en) 2021-07-08 2023-08-22 Varmour Networks, Inc. Relationship-based search in a computing environment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110075674A1 (en) * 2009-09-30 2011-03-31 Alcatel-Lucent Usa Inc. Scalable architecture for enterprise extension in a cloud topology
US20110090911A1 (en) * 2009-10-21 2011-04-21 Fang Hao Method and apparatus for transparent cloud computing with a virtualized network infrastructure
WO2011078861A1 (en) * 2009-12-23 2011-06-30 Intel Corporation A computer platform providing hardware support for virtual inline appliances and virtual machines
US20110317703A1 (en) * 2010-06-29 2011-12-29 Futurewei Technologies, Inc. Asymmetric Network Address Encapsulation

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100454825C (zh) 2003-07-19 2009-01-21 华为技术有限公司 基于mac地址的静态用户接入网络的控制方法
US7761573B2 (en) 2005-12-07 2010-07-20 Avaya Inc. Seamless live migration of virtual machines across optical networks
US20080186990A1 (en) 2007-02-02 2008-08-07 International Business Machines Corporation Translation module, method and computer program product for providing multiple infiniband address support for vm migration using infiniband address translation
US8468230B2 (en) 2007-10-18 2013-06-18 Fujitsu Limited Method, apparatus and recording medium for migrating a virtual machine
US9715401B2 (en) 2008-09-15 2017-07-25 International Business Machines Corporation Securing live migration of a virtual machine from a secure virtualized computing environment, over an unsecured network, to a different virtualized computing environment
US8255496B2 (en) * 2008-12-30 2012-08-28 Juniper Networks, Inc. Method and apparatus for determining a network topology during network provisioning
US8194680B1 (en) * 2009-03-11 2012-06-05 Amazon Technologies, Inc. Managing communications for modified computer networks
US8429647B2 (en) 2009-05-06 2013-04-23 Vmware, Inc. Virtual machine migration across network by publishing routes to the associated virtual networks via virtual router after the start of migration of the virtual machine
US9210065B2 (en) 2009-06-22 2015-12-08 Alcatel Lucent Providing cloud-based services using dynamic network virtualization
US8370473B2 (en) 2009-12-16 2013-02-05 International Business Machines Corporation Live multi-hop VM remote-migration over long distance
US8245140B2 (en) 2009-12-31 2012-08-14 International Business Machines Corporation Visualization and consolidation of virtual machines in a virtualized data center
US8429651B2 (en) 2010-01-20 2013-04-23 International Business Machines Corporation Enablement and acceleration of live and near-live migration of virtual machines and their associated storage across networks
JP5190084B2 (ja) 2010-03-30 2013-04-24 株式会社日立製作所 仮想マシンのマイグレーション方法およびシステム
CN102457583B (zh) 2010-10-19 2014-09-10 中兴通讯股份有限公司 一种虚拟机移动性的实现方法及系统
US20120173757A1 (en) * 2011-01-05 2012-07-05 International Business Machines Corporation Routing optimization for virtual machine migration between geographically remote data centers
CN102185774A (zh) 2011-05-10 2011-09-14 中兴通讯股份有限公司 虚拟机无缝迁移的方法、管理器及系统
US9280378B2 (en) * 2011-11-30 2016-03-08 Red Hat, Inc. Adjustment during migration to a different virtualization environment
US8990371B2 (en) 2012-01-31 2015-03-24 International Business Machines Corporation Interconnecting data centers for migration of virtual machines
CN103491010B (zh) * 2012-10-17 2016-12-07 华为技术有限公司 在虚拟网络中发送报文的方法、装置和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110075674A1 (en) * 2009-09-30 2011-03-31 Alcatel-Lucent Usa Inc. Scalable architecture for enterprise extension in a cloud topology
US20110090911A1 (en) * 2009-10-21 2011-04-21 Fang Hao Method and apparatus for transparent cloud computing with a virtualized network infrastructure
WO2011078861A1 (en) * 2009-12-23 2011-06-30 Intel Corporation A computer platform providing hardware support for virtual inline appliances and virtual machines
US20110317703A1 (en) * 2010-06-29 2011-12-29 Futurewei Technologies, Inc. Asymmetric Network Address Encapsulation

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MYSORE, R.N. [u.a.]: PortLand: A Scalable Fault-Tolerant Layer 2 Data Center Network Fabric. In: SIGCOMM ´09, August 2009, 39-50. *
SCOTT M. [u.a.]: Addressing the Scalability of Ethernet with MOOSE. In: ITS´21, 2009, 1-8. *

Also Published As

Publication number Publication date
CN104081733A (zh) 2014-10-01
GB201409195D0 (en) 2014-07-09
WO2013113264A1 (en) 2013-08-08
GB2510770B (en) 2014-11-19
US8996675B2 (en) 2015-03-31
US8990371B2 (en) 2015-03-24
DE112013000775T5 (de) 2014-10-30
GB2510770A (en) 2014-08-13
US20130198355A1 (en) 2013-08-01
CN104081733B (zh) 2016-12-07
US20130198352A1 (en) 2013-08-01

Similar Documents

Publication Publication Date Title
DE112013000775B4 (de) Verbinden von Rechenzentren für die Migration von virtuellen Maschinen
DE102012220834B4 (de) Verfahren und Vorrichtung zum Umsetzen eines flexiblen virtuellen lokalen Netzwerks
DE102012221041B4 (de) Ermöglichen des gleichzeitigen Vorhandenseins von Hostrechnern oder virtuellen Maschinen mit identischen Adressen
US11044211B2 (en) Multicast packet handling based on control information in software-defined networking (SDN) environment
US11271905B2 (en) Network architecture for cloud computing environments
US10581635B2 (en) Managing routing information for tunnel endpoints in overlay networks
US10237230B2 (en) Method and system for inspecting network traffic between end points of a zone
DE69328666T2 (de) Verfahren und Gerät um eine Anzahl Rechner als einen einzigen Host auf dem Netz erscheinen zu lassen
US9515930B2 (en) Intelligent handling of virtual machine mobility in large data center environments
US9596099B2 (en) Scalable network virtualization with aggregate endpoints
CN105684363B (zh) 逻辑路由器
DE112011103082B4 (de) Mehrere virtuelle Maschinen mit gemeinsamer Nutzung einer einzigen IP-Adresse
CN116235482A (zh) 虚拟层2网络
CN106850878B (zh) 逻辑l3路由
DE102021109547B4 (de) Sdwan overlay-routing-dienst
US9560016B2 (en) Supporting IP address overlapping among different virtual networks
US9641417B2 (en) Proactive detection of host status in a communications network
DE112008002550T5 (de) Verfahren und System für virtuelle Schnittstellenkommunikation
DE102014117460A1 (de) Programmierbares verteiltes Networking
CN111556110B (zh) 一种用于私有云系统的不同物理业务网络自动化适配方法
DE112012004957T5 (de) Flexibles und skalierbares Enhanced-Transmission-Selection-Verfahren für Netzwerkstrukturen
DE102020100211A1 (de) End-To-End Multipath TCP durch Netzwerk Gateways
DE112020002787B4 (de) Verbindungsschichtverfahren zum konfigurieren eines bare-metal-servers in einem virtuellen netzwerk
DE102023121496A1 (de) Synchronisierung von firewall-tabellen mit dem route-typ ethernet virtual private network (evpn)
CN118400153A (zh) 业务随行方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R016 Response to examination communication
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R020 Patent grant now final
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012749000

Ipc: H04L0045741000