DE112012006642T5 - Bandbreitengarantie und Arbeitskonservierung - Google Patents

Bandbreitengarantie und Arbeitskonservierung Download PDF

Info

Publication number
DE112012006642T5
DE112012006642T5 DE112012006642.1T DE112012006642T DE112012006642T5 DE 112012006642 T5 DE112012006642 T5 DE 112012006642T5 DE 112012006642 T DE112012006642 T DE 112012006642T DE 112012006642 T5 DE112012006642 T5 DE 112012006642T5
Authority
DE
Germany
Prior art keywords
vms
source
bandwidth
guarantee
destination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE112012006642.1T
Other languages
English (en)
Other versions
DE112012006642B4 (de
Inventor
Jose Renato G. Santos
Lucian Popa
Praveen Yalagandula
Sujata Banerjee
Jeffrey C. Mogul
Yoshio Turner
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of DE112012006642T5 publication Critical patent/DE112012006642T5/de
Application granted granted Critical
Publication of DE112012006642B4 publication Critical patent/DE112012006642B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • H04L47/528Minimum bandwidth guarantee
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • 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/4555Para-virtualisation, i.e. guest operating system has to be modified
    • 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
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Gemäß einem Beispiel beinhaltet ein Verfahren zur Bandbreitengarantie und Arbeitskonservierung das Ermitteln von Bandbreitengarantien für virtuelle Maschinen (VMs), die VMs in einem Netzwerk zugewiesen werden, das eine Quell-VM beinhaltet, die mit Ziel-VMs in Datenübertragung steht. Das Verfahren beinhaltet ferner das Zuweisen von Mindestbandbreitengarantien an Datenübertragungen zwischen der Quell-VM und den Ziel-VMs durch Aufteilen einer der Quell-VM zugewiesenen VM-Bandbreitengarantie zwischen den Ziel-VMs basierend auf aktiven VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs. Das Verfahren beinhaltet auch das Zuordnen freier Bandbreitenkapazität im Netzwerk durch einen Prozessor an eine Datenübertragung zwischen der Quell-VM und einer Ziel-VM basierend auf den zugewiesenen Mindestbandbreitengarantien.

Description

  • HINTERGRUND
  • In einer Cloud-Computing-Umgebung kann ein Teilnehmer eine oder mehrere virtuelle Maschine(n) (VMs) reservieren, um beispielsweise Anwendungen auszuführen. Für solche auf VMs ausgeführten Anwendungen kann der Teilnehmer Informationen wie z. B. die Auslastung der zentralen Verarbeitungseinheit (CPU), Speicherzuordnung usw. verwenden, um eine Anwendungsleistung zu ermitteln. Teilnehmer können auch Informationen verwenden, die sich auf Bandbreitengarantien beziehen, um untere Grenzen der Anwendungsleistung zu ermitteln. Da Cloud-Netzwerke jedoch von mehreren Teilnehmern im besten Interesse gemeinsam genutzt werden, können Cloud-Anbieter keine genauen Garantien der Bandbreite anbieten, die jede VM erzielen kann. Das Fehlen solcher Bandbreitengarantieinformationen hindert Teilnehmer daran, untere Grenzen der Anwendungsleistung zu ermitteln. Das Fehlen solcher Bandbreitengarantieinformationen verhindert auch eine Übertragung von Unternehmensanwendungen auf öffentliche Clouds, da viele Unternehmensanwendungen prognostizierbare Leistungsgarantien benötigen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Merkmale der vorliegenden Offenbarung werden in den folgenden Figuren beispielhaft und nicht einschränkend veranschaulicht, wobei gleiche Bezugszeichen gleiche Elemente bezeichnen, wobei:
  • 1 eine Architektur einer Bandbreitengarantie- und Arbeitskonservierungsvorrichtung gemäß einem Beispiel der vorliegenden Offenbarung veranschaulicht;
  • 2 ein Leitungsmodell für eine garantierte Bandbreite virtueller Maschinen (VM) für die Bandbreitengarantie- und Arbeitskonservierungsvorrichtung gemäß einem Beispiel der vorliegenden Offenbarung veranschaulicht;
  • 3 ein Begriffsmodell für eine Garantiepartitionierung und Ratenzuweisung für die Bandbreitengarantie- und Arbeitskonservierungsvorrichtung gemäß einem Beispiel der vorliegenden Offenbarung veranschaulicht;
  • 4 eine Garantiepartitionierung für die Bandbreitengarantie- und Arbeitskonservierungsvorrichtung gemäß einem Beispiel der vorliegenden Offenbarung veranschaulicht;
  • 5 eine Umsetzung des Leitungsmodells von 2 in einer physischen Topologie für die Bandbreitengarantie- und Arbeitskonservierungsvorrichtung gemäß einem Beispiel der vorliegenden Offenbarung veranschaulicht;
  • 6 eine weitere Umsetzung des Leitungsmodells von 2 in einer physischen Topologie für die Bandbreitengarantie- und Arbeitskonservierungsvorrichtung gemäß einem Beispiel der vorliegenden Offenbarung veranschaulicht;
  • 7 ein Verfahren zur Bandbreitengarantie und Arbeitskonservierung gemäß einem Beispiel der vorliegenden Offenbarung veranschaulicht; und
  • 8 ein Computersystem gemäß einem Beispiel der vorliegenden Offenbarung veranschaulicht.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Der Einfachheit wegen und zur Veranschaulichung wird die vorliegende Offenbarung vorwiegend unter Bezugnahme auf Beispiele beschrieben. In der folgenden Beschreibung sind zahlreiche konkrete Details angeführt, um ein umfassendes Verständnis der vorliegenden Offenbarung bereitzustellen. Es ist jedoch ohne weiteres ersichtlich, dass die vorliegende Offenbarung ohne Einschränkung auf diese konkreten Details ausgeübt werden kann. In anderen Fällen sind einige Verfahren und Strukturen nicht ausführlich beschrieben, um die vorliegende Offenbarung nicht unnötig zu verschleiern.
  • In der gesamten vorliegenden Offenbarung soll der Begriff „ein/e/r/s” zumindest eines eines bestimmten Elements bezeichnen. Wie hier verwendet, bedeutet der Begriff „beinhaltet” beinhaltet, ohne jedoch darauf beschränkt zu sein, der Begriff „beinhaltend” bedeutet beinhaltend, ohne jedoch darauf beschränkt zu sein. Der Ausdruck „basierend auf” bedeutet zumindest teilweise basierend auf.
  • Ein Cloud-Netzwerk kann von mehreren Teilnehmern gemeinsam genutzt werden, die eine oder mehrere virtuelle Maschine(n) (VMs) reservieren, um z. B. Anwendungen auszuführen. Ein Teilnehmer kann eine statische Bandbreitenreservierung zum Ausführen seiner Anwendungen anfordern. Eine statische Bandbreitenreservierung führt jedoch zu einer ineffizienten Auslastung der Kapazität des Cloud-Netzwerks. Beispielsweise kann der Anteil eines Teilnehmers A nicht von einem weiteren Teilnehmer B verwendet werden, wenn Teilnehmer A seinen Anteil nicht vollständig nutzt.
  • Gemäß einem Beispiel werden ein(e) Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren beschrieben. Da Datenverkehr in Rechenzentren von Natur aus stoßweise sein kann, stellen die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren ein Multiplexing von Netzwerkressourcen auf arbeitskonservierende Weise bereit, das eine signifikante Verbesserung der Leistung von Anwendungen der Teilnehmer bietet. Das Multiplexing von Netzwerkressourcen auf arbeitskonservierende Weise bedeutet, dass Links in solchen Netzwerkressourcen erst dann vollständig genutzt werden, wenn der Datenverkehrsbedarf für die Links nicht bedient ist. Beispielsweise kann eine Anwendung eine Verarbeitungsphase haben, wenn der Datenübertragungsverkehr gering ist, und eine Shuffle-Phase mit einer hohen Menge an Datenübertragungsverkehr. Für mehrere gleichzeitig laufende Instanzen einer solchen Anwendung stellen die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren eine verbesserte Effizienz für den Auftragsabschluss bereit, als wenn jede Instanz der Anwendung auf einer oder mehreren VMs ausgeführt werden würde, der/denen eine statische Bandbreitenreservierung zugewiesen ist.
  • Im Allgemeinen stellen die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren für eine Umgebung wie z. B. ein Cloud-Rechenzentrumsnetzwerk Mindestbandbreitengarantien bereit, wobei jeder VM eine absolute Mindestbandbreite zum Senden und Empfangen von Datenverkehr garantiert ist. Die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren stellen auch dahingehend eine Arbeitskonservierung bereit, dass, wenn ein Link L die Quelle einer Überlastung für einen bestimmten Fluss ist, der Link L dann vollständig genutzt wird. Die Vorrichtung und das Verfahren können ohne weiteres umgesetzt und eingesetzt werden, ohne Modifikation von Switches, und können in großskaligen Cloud-Rechenzentren umgesetzt werden. Beispielsweise können die Vorrichtung und das Verfahren in End-Host-Serverprozessen wie z. B. Hypervisoren, die mehrere virtuelle Maschinen hosten, in Netzwerkschnittstellenkarten von Servern oder in Edge-Switches umgesetzt werden. Die Vorrichtung und das Verfahren können auch zwischen physischen Maschinen umgesetzt werden (z. B. für Clouds, bei denen Teilnehmer physische Maschinen erhalten).
  • Die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren können z. B. innerhalb von Hypervisoren ohne Unterstützung von Switches umgesetzt werden. VM-Mindestbandbreitengarantien können unter Verwendung eines Leitungsmodells ausgedrückt werden. Für das Leitungsmodell wird jede VM X eines Teilnehmers als über einen zugehörigen Link, dessen Kapazität gleich der für die VM X garantierten Mindestbandbreite ist, mit einem virtuellen Switch verbunden angesehen. Die Bandbreitengarantien können auch unter Verwendung eines erweiterten hierarchischen Leitungsmodells ausgedrückt werden. Ein erweitertes hierarchisches Leitungsmodell kann Gruppen beinhalten, die durch VMs gebildet werden, und können Leitungsmodelle zwischen den VMs in den Gruppen und ferner Leitungsmodelle zwischen den Gruppen beinhalten.
  • Die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren können ein Garantiepartitionierungsmodul beinhalten, um eine garantierte VM-Mindestbandbreite für eine VM in VM-zu-VM-Garantien zu teilen. Das Garantiepartitionierungsmodul kann z. B. Ratenbeschränker in Hypervisoren, die den Datenverkehr zwischen VM-Paaren beschränken, verwenden. Um die von diesen Ratenbeschränkern umgesetzten Raten zu berechnen, kann das Garantiepartitionierungsmodul jeden Hypervisor H so betreiben, dass er die Bandbreitengarantie jeder vom Hypervisor H gehosteten VM X zwischen den VMs aufteilt, mit denen die VM X in Datenübertragung steht. Durch Aufteilen einer Bandbreitengarantie einer VM gewährleistet das Garantiepartitionierungsmodul, dass für jede VM eine absolute Bandbreitengarantie gemäß dem Leitungsmodell bereitgestellt wird, unabhängig vom Datenverkehrsmuster der anderen VMs im Netzwerk. Die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren können ferner ein Ratenzuordnungsmodul beinhalten, um eine Arbeitskonservierung bereitzustellen, indem freie Kapazität basierend auf den VM-zu-VM-Garantien auf Maximum-Minimum-Weise zugeordnet wird. Um eine arbeitskonservierende Zuordnung zu erreichen, können die Ratenbeschränker das Ratenzuordnungsmodul verwenden, um Raten dynamisch über die Garantien hinaus zu erhöhen, die vom Garantiepartitionierungsmodul zugeordnet werden, wenn keine Überlastung vorliegt.
  • Die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren stellen eine verteilte Lösung bereit, wobei Hypervisoren unabhängig arbeiten, ohne Verwendung einer komplexen Koordination neben dem normalen Datenverkehrsfluss. Die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren erleichtern einen unabhängigen Betrieb von Hypervisoren ohne die Notwendigkeit einer komplexen Koordination zwischen den Hypervisoren oder mit einer zentralen Steuereinheit. Die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren können auch auf zentralisierte Weise angewandt werden, z. B. durch Anwenden der Entscheidungen, die an jeder Host-Maschine an einer zentralen Steuereinheit getroffen werden. Das Framework der/des Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahrens löst das Bereitstellen von Bandbreitengarantien von dem Bereitstellen einer Arbeitskonservierung. Diese Merkmale stellen eine Arbeitskonservierung bereit und gewährleisten gleichzeitig, dass die Garantie für jede VM respektiert wird, unabhängig von den anderen VMs im Netzwerk.
  • 1 veranschaulicht eine Architektur einer Bandbreitengarantie- und Arbeitskonservierungsvorrichtung 100 gemäß einem Beispiel. Unter Bezugnahme auf 1 ist die Vorrichtung 100 so gezeigt, dass sie ein Garantiepartitionierungsmodul 101 beinhaltet, um virtuellen Maschinen (VMs) 102 (d. h. VMsA-X) durch Teilen einer garantierten VM-Mindestbandbreite für eine VM in VM-zu-VM-Garantien Mindestbandbreitengarantien zuzuweisen. Ein Ratenzuordnungsmodul 103 soll Arbeitskonservierung bereitstellen, indem es freie Kapazität basierend auf den VM-zu-VM-Garantien auf Maximum-Minimum-Weise zuordnet.
  • Die Module 101 und 103 und andere Komponenten der Vorrichtung 100, die diverse andere Funktionen in der Vorrichtung 100 durchführen, können maschinenlesbare Anweisungen umfassen, die auf einem computerlesbaren Medium gespeichert sind. Zudem oder alternativ dazu können die Module 101 und 103 und andere Komponenten der Vorrichtung 100 Hardware oder eine Kombination von maschinenlesbaren Anweisungen und Hardware umfassen.
  • Unter Bezugnahme auf die 1 und 2 kann die Bandbreitengarantie- und Arbeitskonservierungsvorrichtung 100 ein Leitungsmodell für jede VM 110 (z. B. VMA, VMB ... VMX) bereitstellen. Das Leitungsmodell garantiert eine Mindestbandbreite Bwmin, zwischen einer VM und einem virtuellen zentralen Switch 111 mit grenzenloser Kapazität. Beispielsweise kann der VMA von einem zugehörigen Link 112 für die VMA mit der Kapazität BwminA eine Mindestbandbreite BwminA garantiert werden. Gleichermaßen kann der VMB eine Mindestbandbreite BwminB garantiert werden, bis zur VMX, der eine Mindestbandbreite BwminX garantiert wird. Die Bandbreite zum zentralen Switch 111 kann höher als die garantierte Mindestbandbreite Bwmin sein, z. B. je nach Bedarf anderer VMs in einem Netzwerk 113. Die Bandbreite zum zentralen Switch 111 kann jedoch nicht niedriger als die garantierte Mindestbandbreite Bwmin sein, angesichts eines ausreichend hohen Bedarfs im Netzwerk 113. Die garantierte Mindestbandbreite Bwmin kann auch unter Verwendung anderer Modelle dargestellt werden, wie z. B. eines erweiterten hierarchischen Leitungsmodells.
  • Unter Bezugnahme auf die 13 kann die Bandbreitengarantie- und Arbeitskonservierungsvorrichtung 100 so modelliert sein, dass sie eine Garantiepartitionierungsebene 120 und eine Ratenzuordnungsebene 121 beinhaltet. Die Garantiepartitionierungsebene 120, die vom Garantiepartitionierungsmodul 101 umgesetzt wird, stellt Bandbreitengarantien bereit. Die Ratenzuordnungsebene 121, die vom Ratenzuordnungsmodul 103 umgesetzt wird, stellt Arbeitskonservierung bereit. Die Garantiepartitionierungsebene 120 und die Ratenzuordnungsebene 121 lösen die Aspekte von Bandbreitengarantien und Arbeitskonservierung voneinander. Für einen Datenverkehr 122, der von VMs 123 fließt, stellt die Ratenzuordnungsebene 121 basierend auf VM-zu-VM-Garantien und Bedarfsschätzwerten Arbeitskonservierung bereit, wie unten erörtert. Bei dem veranschaulichten Beispiel ist die Vorrichtung 100 in einem Hypervisor 124 einer Host-Maschine umgesetzt. Beispielsweise führen das Garantiepartitionierungsmodul 101 und das Ratenzuordnungsmodul 103 eine periodische Garantiepartitionierung und Ratenzuordnung innerhalb des Hypervisors 124 für jede gehostete VM durch. Bei einem Beispiel kann die Garantiepartitionierung ggf. weniger häufig als die Ratenzuordnung durchgeführt werden, da die für die VM-zu-VM-Flüsse einer VM X zugeordneten Garantien aktualisiert werden, wenn sich der Bedarf an die VM X und von dieser ändert. Raten, die für die gleichen VM-zu-VM-Flüsse der VM X zugeordnet sind, können jedoch aktualisiert werden, wenn sich der Bedarf auf einem beliebigen überlasteten Link ändert, der von der VM X verwendet wird.
  • Unter Bezugnahme auf 3 berechnet das Garantiepartitionierungsmodul 101 für die Garantiepartitionierungsebene 120 eine absolute Mindestbandbreitengarantie für jedes Quelle- und Zielpaar der VMs 123. Die Garantie, die zwischen einer Quelle VM S und einem Ziel VM D (d. h. BS→D) berechnet wird, basiert auf den Garantien der beiden VMs S und D im Leitungsmodell von 2 und auf dem aktuellen Datenübertragungsmuster der VMs S und D. Die Bandbreitengarantie jeder VM wird unter der aktuellen Menge von aktiven VM-zu-VM-Flüssen für die bestimmte VM aufgeteilt. Um die Garantie BS→Dzwischen den VMs S und D zu berechnen, verwendet das Garantiepartitionierungsmodul 101, das sich im Hypervisor der Quell-VM S befinden kann, die Garantie, die vom Hypervisor der Ziel-VM D dem Datenverkehr der VMs S → D (d. h. B S→D / D. ) zugeordnet wird. Um diese Informationen zu senden (d. h. den Wert B S→D / D. ), kann das Garantiepartitionierungsmodul 101 Steuerpakete zwischen Hypervisoren verwenden. Zu Beginn wird jedem Fluss die Garantie von der Quelle zugeordnet. Alternativ dazu können Garantien in Kopfzeilen der Datenpakete enthalten sein, z. B. unter Verwendung von Kapselung an Hypervisoren.
  • Das Garantiepartitionierungsmodul 101 teilt die Bandbreitengarantie einer VM X zwischen anderen VMs auf, mit denen die VM X in Datenübertragung steht. Wenn die VM X beispielsweise mit einer VMs-Menge Q in Datenübertragung steht, weist der Hypervisor für die VM X für jede VM Y in der Menge Q eine Bandbreitengarantie B X→Y / X für die Datenübertragung an die VM Y und B Y→X / X für die Datenübertragung von der VM Y zu. Somit können sich Bandbreitengarantien in jede Richtung zu und von einer VM unterscheiden. Die Summe der Gesamtmenge von zugeordneten Bandbreitengarantien gleicht der Bandbreitengarantie für die VM X (d. h. BX) in jeder Richtung, wie folgt: ΣY∊QB X→Y / X = ΣY∊QB Y→X / X = BX Gleichung (1).
  • Das Garantiepartitionierungsmodul 101 legt die Bandbreitengarantie der Datenübertragung zwischen einer Quell-VM S und einer Ziel-VM D wie folgt fest: BS→D = min(B S→D / S; B S→D / D) Gleichung (2).
  • Für die Gleichung (2) sind B S→D / S und B S→D / D die Garantien, die der Datenübertragung VM S → VM D für die VM S bzw. VM D zugewiesen sind. 4 veranschaulicht den Prozess des Zuweisens von Garantien an die Datenübertragung VM X → VM Y durch die VM X und die VM Y. Beispielsweise zeigt 4 die VMs X, Y, Z und T. Bei 130 weist der Hypervisor der VM X eine Bandbreitengarantie B X→Y / X für die Datenübertragung an die VM Y zu. Bei 131 weist der Hypervisor der VM Y eine Bandbreitengarantie B X→Y / X für die Datenübertragung von der VM X an Y zu. Bei 132 weist der Hypervisor der VM X eine Bandbreitengarantie B X→Z / X für die Datenübertragung von der VM X an die VM Z zu. Bei 133 weist der Hypervisor der VM Y eine Bandbreitengarantie B T→Y / Y für die Datenübertragung von der VM T an die VM Y zu. Bei 134 ermittelt das Garantiepartitionierungsmodul 101 basierend auf den Bandbreitengarantien die geeignete Bandbreitengarantie von VM X → VM Y durch Ermitteln von BX→Y = min(B X→Y / X; B X→Y / Y)
  • Die Zuordnung stellt Bandbreitengarantien bereit, da die gesamten zugeordneten Bandbreitengarantien für VM-zu-VM-Flüsse auf einem beliebigen Link L den erwarteten Datenverkehr auf dem Link L nicht überschreiten, wenn VMs gemäß dem in 2 gezeigten Leitungsmodul Daten übertragen. Insbesondere ist die gesamte Eingangsbandbreitengarantie aller VM-zu-VM-Flüsse einer VM X kleiner als oder gleich BX, die Bandbreitengarantie der VM X im Leitungsmodell, unabhängig vom Datenübertragungsmuster der VM X. Dies ist darauf zurückzuführen, dass die Bandbreitengarantie für die VM X zwischen den Flüssen für die VM X aufgeteilt wird und jeder VM-zu-VM-Fluss die Mindestbandbreitengarantie zwischen den Bandbreitengarantien erhält, die von einer Quelle und einem Ziel zugeordnet werden. Dies kann wie folgt dargestellt werden: ΣVBV→X = ΣVmin(B V→X / V, B V→X / V) ≤ ΣVB V→X / Y = BX Gleichung (3).
  • Um beispielsweise das Leitungsmodell von 2 in der physischen Topologie von 5 umzusetzen, sollte für jede VM eine Mindestgarantie für ihre Eingangs- und Ausgangsbandbreite auf ihrem Zugangslink (z. B. entweder L1 oder L2) bereitgestellt werden. In diesem Fall wäre der virtuelle Switch 111 von 2 durch den physischen Switch 143 von 5 umgesetzt. Geht man davon aus, dass jeder Server höchstens zwei VMs hostet (d. h. Server 141 und 142), konkurrieren die vom Hypervisor für die VM Y zugewiesenen VM-zu-VM-Garantien auf dem Link L1 höchstens mit der Bandbreitengarantie BX. Wenn BX + BY kleiner als die Kapazität von L1 ist und BZ + BT kleiner als die Kapazität von L2 ist, ist der Einsatz des Leitungsmodells von 2 in der in 5 gezeigten Topologie garantiert. Unter Bezugnahme auf 6 ist die Bandbreitengarantie der VM-zu-VM-Flüsse eines Teilnehmers mit VMs X, Y, Z und T auf Links L3, L5 und L6 bei einem anderen Beispiel kleiner als oder gleich der Bandbreitengarantie BT (in diesem Beispiel geht man davon aus, dass BT < BX + BY + BZ). Somit kann ein Anbieter das von einem Teilnehmer bereitgestellte Leitungsmodell verwenden, um eine Zugangssteuerung durchzuführen, und das/die Bandbreitengarantie- und Arbeitskonservierungsverfahren und -vorrichtung gewährleisten, dass das Leitungsmodell befolgt wird.
  • Damit das Garantiepartitionierungsmodul 101 die Garantie für die VM X zwischen den VM-zu-VM-Flüssen für die VM X aufteilt, wenn die Bandbreitengarantie zwischen den VMs X und Y größer als der Datenverkehrsbedarf zwischen den VMs X und Y ist, wird gewährleistet, dass der gesamte Datenverkehr sicher von den VMs X zu Y fließt. Deshalb verteilt das Garantieportionierungsmodul 101, wenn der gesamte Eingangs- oder Ausgangsbedarf der VM X geringer als die Garantie für die VM X ist, die Garantie für die VM X, um den gesamten Bedarf zu befriedigen, wobei dies wie folgt dargestellt werden kann: ∀Y, B X→Y / X ≥ DX→Y and B Y→X / X ≥ DY→X Gleichung (4).
  • In Bezug auf die Gleichung (4) DX→Y stellt den Datenverkehrsbedarf von der VM X an die VM Y dar. Wenn der gesamte Bedarf an oder von der VM X jedoch größer als die Bandbreitengarantie für die VM X ist, kann der Bedarf nicht befriedigt werden. In diesem Fall wird BX zwischen unterschiedlichen VMs basierend auf dem Bedarf auf Maximum-Minimum-Weise aufgeteilt. Nehme man beispielsweise an, dass die VM X eine Bandbreitengarantie von 100 Mbit/s hat. Nehme man ferner an, dass die VM X mit drei anderen VMs Y, Z und T in Datenübertragung steht und der Bedarf von der VM X an die VM Y 20 Mbit/s ist, während der Bedarf von der VM X an die VMs Z und T sehr groß ist. In diesem Fall weist das Garantiepartitionierungsmodul 101 der Datenübertragung VM X → VM Y eine Garantie von 20 Mbit/s zu (d. h. B X→Y / X = 20 Mbit/s ) und jeder der Datenübertragungen VM X → VM Z und VM X → VM T eine Garantie von 40 Mbit/s zu. Wie nachstehend in Bezug auf das Ratenzuordnungsmodul 103 ausführlicher beschrieben, kann die Bandbreite für die VM X basierend auf der Anwendung einer Arbeitskonservierungsrichtlinie ferner größer als 100 Mbit/s sein, da die VMs X → Z und VM X → T mit anderen VMs, die ihre Garantien überschreiten können, um zusätzliche Bandbreite konkurrieren.
  • Deshalb überwacht das Ratenzuordnungsmodul 103 den Bedarf und weist das Garantiepartitionierungsmodul 101 die gewünschte Bandbreitengarantien begrenzten VM-zu-VM-Flüssen zu, wobei die restliche Garantie vom Ratenzuordnungsmodul 103 zwischen dem Rest der Flüsse für aufgeteilt wird. Um den Bedarf zu schätzen, kann das Ratenzuordnungsmodul 103 Eingangs- und Ausgangs-Warteschlangeneintrittsraten überwachen. Die Garantie für einen begrenzten VM-zu-VM-Fluss kann auf einen geringfügig höheren Wert als dessen Bedarf festgelegt werden, um eine Steigerung des Bedarfs zu ermöglichen und eine Fehlklassifizierung zu vermeiden, die z. B. auf Ineffizienzen von Transportprotokollen zurückzuführen ist. Wenn alle Flüsse begrenzt sind, wird der nicht-zugeordnete Teil der Bandbreitengarantie einer VM vom Ratenzuordnungsmodul 103 erneut verteilt, so dass die gesamte VM-Bandbreitengarantie zugeordnet wird.
  • Da das Garantiepartitionierungsmodul 101 eine Nutzung der Mindestbandbreitengarantien für die sendenden und empfangenden VMs bereitstellt, können Garantien für einen der Endpunkte verschwendet werden, insbesondere für sendende VMs. Die sendenden VMs können die zugewiesene Garantie für die empfangenden VMs berücksichtigen, wenn der Bedarf der sendenden VMs nicht befriedigt ist. Wenn eine Ziel-VM D beispielsweise eine Garantie zuordnet, die im Vergleich zur Garantie für die Sender-VM S geringer ist (d. h. B S→D / S > B S→D / D ) und wenn die Ziel-VM D einen bestimmten Datenverkehrsfluss als unbegrenzt markiert (d. h. die VM D hat für VM S → VM D ihren maximalen fairen Anteil zugeordnet), gleicht die Sender-VM S die Garantie der Ziel-VM D ab (d. h. legt B S→D / S = B S→D / D fest).
  • VMs, die mit einer bestimmten VM X am gleichen Server verbunden sind, werden bei Aufteilung der Bandbreitengarantie für die VM X ausgelassen. Durch Ratenbeschränkung des Datenverkehrs zwischen jedem Paar der VMs S und D auf BS→D wird die Mindestbandbreitengarantie jeder VM im Leitungsmodell erfüllt. Garantien werden basierend auf maximaler Serverbelegung und Worst-Case-Netzwerkauslastung berechnet. Viele der VMs sind ggf. jedoch nicht aktiv, wobei in diesem Fall Ratenbeschränkungen erhöht werden können, ohne Garantien negativ zu beeinflussen.
  • Unter Bezugnahme auf die 1 und 3 wird die Mindestbandbreite, die vom Garantiepartitionierungsmodul 101 zwischen zwei VMs X und Y (d. h. BX→Y) berechnet wird, der Ratenzuordnungsebene 121 (d. h. dem Ratenzuordnungsmodul 103) zugeführt. In Bezug auf die Ratenzuordnungsebene 121 steuert das Ratenzuordnungsmodul 103 z. B. einen Ratenbeschränker innerhalb des Hypervisors für die VM X, die den Datenverkehr von der VM X zu der VM Y beschränkt. Die vom Ratenzuordnungsmodul 103 zugewiesene Ratenbeschränkung fällt nicht unter die Mindestbandbreite BX→Y, kann jedoch höher als BX→Y sein. Das Ratenzuordnungsmodul 103 ermittelt jede verfügbare Bandbreite neben der bereitgestellten Garantie, wenn das Netzwerk nicht überlastet ist. Das Ratenzuordnungsmodul 103 teilt die weitere Bandbreite, die auf einem Link L verfügbar ist, proportional zu den Bandbreitengarantien der Quell- und Ziel-VM-Paare, die auf dem Link L in Datenübertragung stehen. Geht man z. B. von der Mindestbandbreite BX→Y = 200 Mbit/s und BZ→T = 100 Mbit/s für die VMs X, Y, Z und T aus, so erfolgt in diesem Fall das Teilen eines Links L, der größer als 300 Mbit/s ist, zwischen den VMs X → Y und den VMs Z → T in einem Verhältnis von 2:1. Wenn der Link L beispielsweise 1 Gbit/s ist, erhalten die VMs X → Y 666 Mbit/s und die VMs Z → T 333 Mbit/s.
  • Das Ratenzuordnungsmodul 103 steuert die Rate zwischen jeder VM X zu jeder anderen VM Y, so dass die gesamte verfügbare Netzwerkkapazität (oder ein vorab festgelegter Teil davon) genutzt wird und überlastete Links zwischen VM-zu-VM-Flüssen proportional zu den Bandbreitengarantien geteilt werden, die vom Garantiepartitionierungsmodul 101 bereitgestellt werden. Das Ratenzuordnungsmodul 103 kann daher eine gewichtete Ratenanpassung verwenden, die vom Ratenbeschränker innerhalb des Hypervisors für eine VM umgesetzt wird, wobei die Gewichtung (d. h. die Bandbreitengarantie) des Flusses zwischen der VM X und Y BX→Y ist (d. h. die vom Garantiepartitionierungsmodul 101 bereitgestellte Mindestbandbreitengarantie). Das Ratenzuordnungsmodul 103 legt die Ratenbeschränkung von einer Quell-VM S an eine Ziel-VM D wie folgt auf RS→D fest: RS→D = max(BS→D; RW_TCP(BS→D; FS→D)) Gleichung (5).
  • In Bezug auf die Gleichung (5) ist RW_TCP die Rate, die von einem Protokoll ähnlich einem gewichteten Transmission Control Protocol (TCP) bestimmt wird, das mit einer Gewichtung BS→D und einem bestimmten Überlastungsfeedback FS→D arbeitet. Das Ratenzuordnungsmodul 103 verwendet den Prozess der gewichteten Ratenanpassung RW_TCP, um eine Schattenratenbeschränkung zu berechnen. Wenn die berechnete Schattenrate höher als die Mindestbandbreitengarantie ist, wird die berechnete Schattenrate anstatt der Mindestbandbreitengarantie verwendet, da diese Situation anzeigt, dass freie Bandbreite im Netzwerk vorliegt. Das Ratenzuordnungsmodul 103 kann die Ratenbeschränkung von Datenverkehr von der VM X zu der VM Y bei positivem Feedback (z. B. keine Überlastung) proportional zur Gewichtung erhöhen und eine kubische Funktion verwenden. Bei negativem Feedback (d. h. verlorene Pakete) kann das Ratenzuordnungsmodul 103 die Ratenbeschränkung multiplikativ um ein konstantes Verhältnis verringern, unabhängig von der Gewichtung. Das Ratenzuordnungsmodul 103 garantiert somit, dass jede VM ihre Mindestbandbreite des Leitungsmodells erzielt, wenn der Datenverkehrsfluss zwischen VMs lang genug ist, um eine Ratenzuordnung zu ermöglichen, so dass die Raten von opportunistischen Sendern verringert werden (d. h. ermöglichen, dass ein negatives Feedback gesendet wird).
  • In Bezug auf Überlastungsfeedback kann das Überlastungsfeedback diverse Formen annehmen. Bei einem Beispiel kann das Überlastungsfeedback von einer Anzahl von verlorenen Paketen dargestellt werden, die von einem Zielhypervisor gezählt und in speziellen Steuerpaketen an einen Host-Hypervisor zurückgegeben werden. Bei einem anderen Beispiel kann das Überlastungsfeedback durch Explicit Congestion Notification(ECN)-Markierungen dargestellt werden, die von Switches vorgenommen werden. Eine Switch-Unterstützung, wie z. B. ENC, die durch nicht-aggressive Ratenzuordnungsverfahrensweisen untermauert wird, kann die Latenz durch Niedrighalten der Puffernutzung verringern.
  • In Bezug auf Datenverkehr an das Internet und von diesem kann die Vorrichtung 100, wenn eine Cloud über den Stamm eines Baums mit dem Internet verbunden ist und wenn Gateways am Eingang eines Rechenzentrums die Bandbreitengarantie- und Arbeitskonservierungsvorrichtung 100 umsetzen, verwendet werden, um Garantien für den Datenverkehr an und aus dem Internet bereitzustellen. Beispielsweise ist eine Bandbreitengarantie zwischen einer VM X und dem Internet direkt mit einer Garantie assoziiert, die der VM X zugewiesen ist. In dieser Hinsicht können Hosts aus dem Internet als eine einzelne VM, aber mit ggf. einer höheren Gewichtung (z. B. gleich 100 internen VMs) behandelt werden.
  • Anstatt des Leitungsmodells werden Gruppen von VMs eines Teilnehmers, wenn ein Modell ähnlich eines Modells virtueller überbelegter Cluster (VOC) verwendet wird, hohe Bandbreitengarantien innerhalb der Gruppen und niedrige Garantien zwischen den Gruppen bereitgestellt. Bei einer zweistufigen Abstraktion, die mit der Bandbreiten- und Arbeitskonservierungsvorrichtung 100 geboten werden kann, können VMs beispielsweise für einen Teilnehmer gruppiert werden. Mit jeder VM X sind zwei Garantien assoziiert: BXinG für eine Leitung, die die VM X mit anderen VMs in der gleichen Gruppe G verbindet, und BXall für eine Leitung, die die VM X mit allen VMs in allen Gruppen verbindet (d. h. BX aus dem 1-Ebenen-Leitungsmodell von 2). Wenn eine neue VM gestartet wird, kann ein Teilnehmer die Werte der Bandbreiten auswählen und auswählen, zu welcher Gruppe die neuen VMs gehören sollten. Um eine Abstraktion ähnlich dem VOC-Modell zu unterstützen, muss der Hypervisor, der die VM X hostet, wenn die VM X in einer Gruppe G mit einer anderen VM Y in Datenübertragung steht, wissen, ob die VM Y in der Gruppe G ist oder nicht, um die Bandbreitengarantie für die VM X entsprechend aufzuteilen. Die Informationen über die Gruppenzugehörigkeit der VM Y können über Steuerpakte gesendet werden, die verwendet werden, um die zugewiesenen paarweisen Bandbreitengarantien zwischen den VMs X und Y (d. h. B X→Y / X und B X→Y / X ) zu übertragen. Wenn die VM Y in der Gruppe G ist, wird die Garantie BX→Y durch Aufteilen von BXinG + BXall anstatt BX zugeordnet, da X unter Verwendung von sowohl BXinG als auch BXall mit VMs in der Gruppe G in Datenübertragung stehen kann. Wenn die VM Y zu einer anderen Gruppe gehört, wird die Garantie BX→Y als das Minimum zwischen der Zuordnung der VM X → VM Y berechnet, wenn sie mit allen anderen VMs aus der Gruppe G, die mit der VM X in Datenübertragung stehen, um die Garantie BXinG + BXall konkurriert und mit anderen VMs außerhalb von G, die mit der VM X in Datenübertragung stehen, um BXall konkurriert. Dieser Ansatz ermöglicht Gruppen variabler Größe und heterogene VM-Garantien innerhalb jeder Gruppe.
  • Die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren können auf einer beliebigen Routing-Topologie mit einem einzelnen Pfad verwendet werden, solange ein Zugangssteuerungskriterium, dass kein Link mit Garantien überbelegt wird, beibehalten wird. Insbesondere wenn ein Link L von einer Teilmenge Q der VMs des Leitungsmodells verwendet wird, um Daten an eine andere Teilmenge P zu senden, wird die reservierte Bandbreite am Link L auf min(GQ, GP) festgelegt, wobei GQ die Summe der Garantien der VMs in der Teilmenge Q ist und GP die Summe der Garantien der VMs in der Teilmenge P ist. Die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren können auch auf Topologien mit mehreren Pfaden angewandt werden, wobei ein Lastenausgleich über die Pfade hinweg einheitlich ist, wie z. B. Fat-Tree-Topologien oder andere Baumtopologien mit mehreren Stämmen. In diesem Fall stellt L die Menge von Links dar, auf denen Datenverkehr lastenausgeglichen wird. Bei Fat Trees beispielsweise stellt L die Menge von parallelen Links auf einer bestimmten Ebene dar, die von einer VM in Richtung Stammknoten verwendet werden kann. Bei Topologien mit mehreren Pfande mit nicht-einheitlichem Lastenausgleich über die Pfade hinweg, wie z. B. einer Topologie mit zufälligem regulärem Graphen, können die/das Bandbreitengarantie- und Arbeitskonservierungsvorrichtung und -verfahren anstatt zwei drei Steuerebenen verwenden (d. h. Garantiepartitionierung, Pfadpartitionierung und Ratenzuordnung). Die Pfadpartitionierung ist mit dem Lastenausgleich und dem Routing im Rechenzentrum verbunden und teilt die von der Garantiepartitionierungsebene zugewiesene Garantie zwischen zwei VMs unter mehreren Pfaden auf. Die Entscheidung der Pfadpartitionierung basiert auf der Kapazität, der Last und der Länge jedes Pfads. Die anderen Ebenen (d. h. Garantiepartitionierung und Ratenzuordnung) arbeiten unverändert, wie in 3 gezeigt.
  • 7 veranschaulicht einen Ablaufschema eines Verfahrens 200 für Bandbreitengarantie und Arbeitskonservierung entsprechend dem Beispiel der Bandbreitengarantie- und Arbeitskonservierungsvorrichtung 100, deren Konstruktion oben ausführlich beschrieben ist. Das Verfahren 200 kann auf der Bandbreitengarantie- und Arbeitskonservierungsvorrichtung 100 unter Bezugnahme auf 1 beispielhaft und ohne Einschränkung umgesetzt sein. Das Verfahren 200 kann in anderen Vorrichtungen ausgeübt werden.
  • Unter Bezugnahme auf 7 werden beim Verfahren 200 bei Block 201 VM-Bandbreitengarantien ermittelt, die VMs in einem Netzwerk zugewiesen sind, das eine Quell-VM beinhaltet, die mit Ziel-VMs in Datenübertragung steht. Beispielsweise unter Bezugnahme auf 1 ermittelt das Garantiepartitionierungsmodul 101 zum Zuweisen von Mindestbandbreitengarantien an die VMs 102 VM-Bandbreitengarantien, die VMs in einem Netzwerk zugewiesen sind, das eine Quell-VM beinhaltet, die mit Ziel-VMs in Datenübertragung steht.
  • Bei Block 202 werden Mindestbandbreitengarantien zu Datenübertragungen zwischen der Quell-VM und den Ziel-VMs zugewiesen, indem eine der Quell-VM zugewiesene VM-Bandbreitengarantie zwischen den Ziel-VMs basierend auf aktiven VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs aufgeteilt wird. Beispielsweise unter Bezugnahme auf 1 weist das Garantiepartitionierungsmodul 101 Mindestbandbreitengarantien den VMs 102 (d. h. VMsA-X) durch Aufteilen einer garantierten VM-Mindestbandbreite für eine VM in VM-zu-VM-Garantien zu. Wenn eine VM X mit einer VM-Menge Q beispielsweise in Datenübertragung steht, weist der Hypervisor für die VM X für jede VM Y in der Menge Q eine Bandbreitengarantie B X→Y / X für die Datenübertragung an die VM Y und B Y→X / X für die Datenübertragung von der VM Y zu. Die Summe der Mindestbandbreitengarantien zwischen Paaren von VMs, die vom Hypervisor der VM X zugewiesen werden, gleicht der VM-Bandbreite der VM X im Leitungsmodell sowohl für den Datenverkehr, der in die VM X eingeht, als auch für den Datenverkehr, der von der VM X ausgeht (d. h. Gleichung (1)). Das Zuweisen von Mindestbandbreitengarantien zu Datenübertragungen zwischen der Quell-VM und den Ziel-VMs beinhaltet ferner das Ermitteln eines ersten Mindestbandbreitengarantiewerts für eine Datenübertragung von der Quell-VM an eine Endpunkt-VM, wobei die Endpunkt-VM eine der Ziel-VMs ist, das Ermitteln eines zweiten Mindestbandbreitengarantiewerts für eine Datenübertragung von der Endpunkt-VM an die Quell-VM, das Auswählen eines Mindestwerts aus dem ersten und dem zweiten Mindestbandbreitengarantiewert und das Verwenden des Mindestwerts als die Mindestbandbreitengarantie für die Datenübertragung von der Quell-VM an die Endpunkt-VM (d. h. Gleichung (2)). Das beschriebene Verfahren kann auch ein heterogenes Leitungsmodell unterstützen, wobei sich die Eingangsbandbreitengarantie einer VM X von der Ausgangsbandbreitengarantie unterscheiden kann. Beispielsweise kann die VM X eine wesentliche Datenmenge verarbeiten, das Ergebnis der Verarbeitung kann jedoch eine vergleichsweise geringe Datenmenge sein. In diesem Fall kann die Eingangsbandbreitengarantie BXincoming groß sein, z. B. 500 Mbit/s, die Ausgangsgarantie BXoutgoing hingegen kann klein sein, z. B. 100 Mbit/s. In diesem Fall stimmt die Summe der VM-zu-VM-Garantien, die vom Hypervisor der VM X für den Datenverkehr von der VM X zugewiesen wird, mit der Ausgangsgarantie für die VM X überein, während die Summe der Eingangs-VM-zu-VM-Garantien, die vom Hypervisor der VM X für den Datenverkehr an die VM X zugewiesen wird, mit der Eingangsgarantie für die VM X übereinstimmt. Insbesondere wenn die VM X in Datenübertragung mit einer VM-Menge Q steht, kann dies als ΣY∊QB X→Y / X = BXoutgoing und ΣY∊QB Y→X / X = BXincoming dargestellt werden.
  • Bei Block 203 wird freie Bandbreitenkapazität im Netzwerk einer Datenübertragung zwischen der Quell-VM und einer Ziel-VM basierend auf den zugewiesenen Mindestbandbreitengarantien zugeordnet. Die freie Bandbreitenkapazität im Netzwerk wird auch der Datenübertragung zwischen der Quell-VM und der Ziel-VM ferner basierend auf Bedarfsschätzwerten der aktiven VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs zugeordnet. Beispielsweise unter Bezugnahme auf 1 stellt das Ratenzuordnungsmodul 103 Arbeitskonservierung durch Zuordnen von freier Kapazität basierend auf den VM-zu-VM-Garantien auf Maximum-Minimum-Weise bereit. Die freie Bandbreitenkapazität im Netzwerk wird den aktiven VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs derart zugeweisen, dass die gesamte (oder vorab festgelegte) verfügbare Netzwerkkapazität genutzt wird. Die freie Bandbreitenkapazität im Netzwerk wird ferner den aktiven VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs zugewiesen, so dass vollständig genutzte (d. h. überlastete) Links proportional zu den zugewiesenen Mindestbandbreitengarantien geteilt werden.
  • Bei Block 204 wird ein Hypervisor einer Host-Maschine, die die VMs hostet, verwendet, um die Mindestbandbreitengarantien zwischen Paaren von VMs zuzuweisen und die freie Bandbreitenkapazität zuzuordnen. Beispielsweise unter Bezugnahme auf die 1 und 3 kann die Vorrichtung 100 im Hypervisor 124 einer Hostmaschine umgesetzt sein.
  • Bei Block 205 kann die Zuweisung von Mindestbandbreitengarantien periodisch oder z. B. durch Erkennen, wenn sich der Bedarf zwischen aktiven VM-zu-VM-Datenübertragungen ändert, aktualisiert werden. Beispielsweise werden Garantien, die für VM-zu-VM-Flüsse einer VM X zugeordnet werden, aktualisiert, wenn sich der Bedarf an und von der VM X ändert oder wenn die VM X eine Datenübertragung mit einer VM beginnt, mit der die VM X zuvor über einen längeren Zeitraum hinweg nicht in Datenübertragung stand.
  • Bei Block 206 kann die Zuordnung von freier Bandbreitenkapazität periodisch oder z. B. durch Erkennen, wenn sich der Bedarf auf einem vollständig genutzten Link, der von der Quell-VM für eine Datenübertragung mit einer Ziel-VM verwendet wird, ändert, aktualisiert werden. Beispielsweise können Raten, die für die gleichen VM-zu-VM-Flüsse einer VM X zugeordnet sind, aktualisiert werden, wenn sich der Bedarf auf einem beliebigen überlasteten Link ändert, der von der VM X verwendet wird.
  • 8 zeigt ein Computersystem, das bei den hier beschriebenen Beispielen verwendet werden kann. Das Computersystem stellt eine generische Plattform dar, die Komponenten beinhaltet, die in einem Server oder einem anderen Computersystem vorliegen können. Das Computersystem kann als Plattform für die Vorrichtung 100 verwendet werden. Das Computersystem kann die Verfahren, Funktionen und anderen Prozesse, die hier beschrieben sind, durch einen Prozessor oder einen anderen Hardware-Verarbeitungsschaltkreis ausführen. Diese Verfahren, Funktionen und andere Prozesse können als maschinenlesbare Anweisungen ausgeführt sein, die auf einem computerlesbaren Medium gespeichert sind, das nicht flüchtig sein kann, wie z. B. Hardware-Speichereinrichtungen (z. B. RAM (Direktzugriffsspeicher), ROM (Nur-Lese-Speicher), EPROM (löschbarer programmierbarer Nur-Lese-Speicher), EEPROM (elektrisch löschbarer programmierbarer Nur-Lese-Speicher), Festplattenlaufwerke und Flash-Speicher).
  • Das Computersystem beinhaltet einen Prozessor 302, der maschinenlesbare Anweisungen umsetzen oder ausführen kann, die einige oder alle der hier beschriebenen Verfahren, Funktionen und anderen Prozesse durchführen. Befehle und Daten vom Prozessor 302 werden über einen Datenübertragungsbus 304 übertragen. Das Computersystem beinhaltet auch einen Hauptspeicher 306, wie z. B. einen Direktzugriffsspeicher (RAM), bei dem die maschinenlesbaren Anweisungen und Daten für den Prozessor 302 während der Laufzeit vorliegen können, und einen sekundären Datenspeicher 308, der nicht flüchtig sein kann und maschinenlesbare Anweisungen und Daten speichert. Der Speicher und der Datenspeicher sind Beispiele für computerlesbare Medien. Der Speicher 306 kann Module 320 beinhalten, die maschinenlesbare Anweisungen beinhalten, die während der Laufzeit im Speicher 306 vorliegen und vom Prozessor 302 ausgeführt werden. Die Module 320 können die Module 101 und 103 der in 1 gezeigten Vorrichtung beinhalten.
  • Das Computersystem kann eine E/A-Einrichtung 310 beinhalten, wie z. B. eine Tastatur, eine Maus, eine Anzeige usw. Das Computersystem kann eine Netzwerkschnittstelle 312 zum Verbinden mit einem Netzwerk beinhalten. Andere bekannte elektronische Komponenten können im Computersystem hinzugefügt oder ersetzt werden.
  • Das hier Beschriebene und Veranschaulichte ist ein Beispiel mit einiger seiner Abwandlungen. Die hier verwendeten Ausdrücke, Beschreibungen und Figuren sind lediglich veranschaulichend angeführt und sind nicht als Einschränkungen gemeint. Viele Abwandlungen sind im Rahmen des Geistes und des Umfangs des Gegenstands möglich, der von den folgenden Ansprüchen – und deren Äquivalenten – definiert sein soll, in denen alle Ausdrücke in ihrem breitestmöglichen vernünftigen Sinne zu interpretieren sind, außer wenn anderweitig angegeben.

Claims (15)

  1. Verfahren zur Bandbreitengarantie und Arbeitskonservierung, wobei das Verfahren Folgendes umfasst: Ermitteln von Bandbreitengarantien für virtuelle Maschinen (VMs), die VMs in einem Netzwerk zugewiesen sind, das eine Quell-VM beinhaltet, die mit Ziel-VMs in Datenübertragung steht; Zuweisen von Mindestbandbreitengarantien an Datenübertagungen zwischen der Quell-VM und den Ziel-VMs durch Aufteilen einer der Quell-VM zugewiesenen VM-Bandbreitengarantie zwischen den Ziel-VMs basierend auf aktiven VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs; und Zuordnen freier Bandbreitenkapazität im Netzwerk durch einen Prozessor an eine Datenübertragung zwischen der Quell-VM und einer Ziel-VM basierend auf den zugewiesenen Mindestbandbreitengarantien.
  2. Verfahren nach Anspruch 1, das ferner Folgendes umfasst: Zuordnen der freien Bandbreitenkapazität im Netzwerk an die Datenübertragung zwischen der Quell-VM und der Ziel-VM ferner basierend auf Bedarfsschätzwerten der aktiven VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs.
  3. Verfahren nach Anspruch 1, wobei eine Summe der Mindestbandbreitengarantien für Datenübertragungen von der Quell-VM an die Ziel-VMs gleich der VM-Bandbreitengarantie ist.
  4. Verfahren nach Anspruch 1, wobei eine Summe der Mindestbandbreitengarantien für Datenübertragungen von den Ziel-VMs an die Quell-VM gleich der VM-Bandbreitengarantie ist.
  5. Verfahren nach Anspruch 1, das ferner Folgendes umfasst: Verwenden eines Hypervisors einer Host-Maschine, die die VMs hostet, um die Mindestbandbreitengarantien zuzuweisen und die frei Bandbreitenkapazität zuzuordnen.
  6. Verfahren nach Anspruch 1, wobei das Zuweisen von Mindestbandbreitengarantien zu Datenübertragungen zwischen der Quell-VM und den Ziel-VMs ferner Folgendes umfasst: Ermitteln eines ersten Mindestbandbreitengarantiewerts für eine Datenübertragung von der Quell-VM an eine Endpunkt-VM, wobei die Endpunkt-VM eine der Ziel-VMs ist; Ermitteln eines zweiten Mindestbandbreitengarantiewerts für eine Datenübertragung von der Endpunkt-VM an die Quell-VM; Auswählen eines Mindestwerts aus dem ersten und dem zweiten Mindestbandbreitengarantiewert; und Verwenden des Mindestwerts als die Mindestbandbreitengarantie für die Datenübertragung von der Quell-VM an die Endpunkt-VM.
  7. Verfahren nach Anspruch 1, das ferner Folgendes umfasst: Aktualisieren der Zuweisung von Mindestbandbreitengarantien, wenn sich Bedarfsschätzwerte der aktiven VM-zu-VM-Datenübertragungen ändern.
  8. Verfahren nach Anspruch 1, das ferner Folgendes umfasst: Aktualisieren der Zuordnung von freier Bandbreitenkapazität, wenn sich ein Bedarfsschätzwert eines vollständig genutzten Links, der von der Quell-VM für eine Datenübertragung mit einer Ziel-VM verwendet wird, ändert.
  9. Verfahren nach Anspruch 1, wobei das Zuordnen von freier Bandbreitenkapazität im Netzwerk ferner Folgendes umfasst: Zuweisen der freien Bandbreitenkapazität im Netzwerk zu den aktiven VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs, so dass eine gesamte verfügbare Netzwerkkapazität verwendet wird.
  10. Verfahren nach Anspruch 1, wobei das Zuordnen von freier Bandbreitenkapazität im Netzwerk ferner Folgendes umfasst: Zuweisen der freien Bandbreitenkapazität im Netzwerk an die aktiven VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs, so dass vollständig genutzte Links proportional zu den zugewiesenen Mindestbandbreitengarantien geteilt werden.
  11. Bandbreitengarantie- und Arbeitskonservierungsvorrichtung, die Folgendes umfasst: einen Speicher, der ein Modul speichert, das maschinenlesbare Anweisungen umfasst zum Ermitteln von Bandbreitengarantien für virtuelle Maschinen (VMs), die VMs in einem Netzwerk zugewiesen sind, das eine Quell-VM beinhaltet, die mit Ziel-VMs in Datenübertragung steht; Zuweisen von Mindestbandbreitengarantien an Datenübertagungen zwischen der Quell-VM und den Ziel-VMs durch Aufteilen einer der Quell-VM zugewiesenen VM-Bandbreitengarantie zwischen den Ziel-VMs basierend auf VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs; und Zuordnen von freier Bandbreitenkapazität im Netzwerk an eine Datenübertragung zwischen der Quell-VM und einer Ziel-VM basierend auf den zugewiesenen Mindestbandbreitengarantien und ferner basierend auf Bedarfsschätzwerten der VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs; und einen Prozessor zum Umsetzen des Moduls.
  12. Vorrichtung nach Anspruch 11, die ferner maschinenlesbare Anweisungen umfasst zum: Ermitteln eines ersten Mindestbandbreitengarantiewerts für eine Datenübertragung von der Quell-VM an eine Endpunkt-VM, wobei die Endpunkt-VM eine der Ziel-VMs ist; Ermitteln eines zweiten Mindestbandbreitengarantiewerts für eine Datenübertragung von der Endpunkt-VM an die Quell-VM; Auswählen eines Mindestwerts aus dem ersten und dem zweiten Mindestbandbreitengarantiewert; und Verwenden des Mindestwerts als die Mindestbandbreitengarantie für die Datenübertragung von der Quell-VM an die Endpunkt-VM.
  13. Vorrichtung nach Anspruch 11, die ferner maschinenlesbare Anweisungen umfasst zum: Zuweisen der freien Bandbreitenkapazität im Netzwerk an die VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs, so dass eine gesamte verfügbare Netzwerkkapazität genutzt wird.
  14. Vorrichtung nach Anspruch 11, die ferner maschinenlesbare Anweisungen umfasst zum: Zuweisen der freien Bandbreitenkapazität im Netzwerk zu den VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs, so dass vollständig genutzte Links proportional zu den zugewiesenen Mindestbandbreitengarantien geteilt werden.
  15. Nicht flüchtiges computerlesbares Medium, auf dem maschinenlesbare Anweisungen für Bandbreitengarantie und Arbeitskonservierung gespeichert sind, wobei die maschinenlesbaren Anweisungen, wenn sie ausgeführt werden, ein Computersystem veranlassen zum: Ermitteln von Bandbreitengarantien für virtuelle Maschinen (VMs), die VMs in einem Netzwerk zugewiesen sind, das eine Quell-VM enthält, die mit Ziel-VMs in Datenübertragung steht; Zuweisen von Mindestbandbreitengarantien an Datenübertagungen zwischen der Quell-VM und den Ziel-VMs durch Aufteilen einer der Quell-VM zugewiesenen VM-Bandbreitengarantie zwischen den Ziel-VMs basierend auf VM-zu-VM-Datenübertragungen zwischen der Quell-VM und den Ziel-VMs; und Zuordnen freier Bandbreitenkapazität im Netzwerk durch einen Prozessor an eine Datenübertragung zwischen der Quell-VM und einer Ziel-VM, so dass eine vorab festgelegte verfügbare Netzwerkkapazität genutzt wird.
DE112012006642.1T 2012-07-31 2012-07-31 Bandbreitengarantie und Arbeitskonservierung Active DE112012006642B4 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/048962 WO2014021839A1 (en) 2012-07-31 2012-07-31 Bandwidth guarantee and work conservation

Publications (2)

Publication Number Publication Date
DE112012006642T5 true DE112012006642T5 (de) 2015-03-19
DE112012006642B4 DE112012006642B4 (de) 2022-09-08

Family

ID=50028357

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012006642.1T Active DE112012006642B4 (de) 2012-07-31 2012-07-31 Bandbreitengarantie und Arbeitskonservierung

Country Status (5)

Country Link
US (1) US9794185B2 (de)
CN (1) CN104396187B (de)
DE (1) DE112012006642B4 (de)
GB (1) GB2516206B8 (de)
WO (1) WO2014021839A1 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9288146B1 (en) * 2013-05-28 2016-03-15 Google Inc. Reducing batch completion time in a computer network with per-destination max-min fairness
US9307013B1 (en) 2013-05-30 2016-04-05 Google Inc. Reducing batch completion time in a computer network with max-min fairness
US10735327B2 (en) * 2013-06-14 2020-08-04 Microsoft Technology Licensing, Llc Fault tolerant and load balanced routing
WO2015012811A1 (en) * 2013-07-23 2015-01-29 Hewlett-Packard Development Company, L.P. Work conserving bandwidth guarantees using priority
WO2015163877A1 (en) * 2014-04-24 2015-10-29 Hewlett-Packard Development Company, L.P. Placing virtual machines on physical hardware to guarantee bandwidth
US9762502B1 (en) 2014-05-12 2017-09-12 Google Inc. Method and system for validating rate-limiter determination made by untrusted software
US10469404B1 (en) 2014-05-12 2019-11-05 Google Llc Network multi-level rate limiter
US9755978B1 (en) 2014-05-12 2017-09-05 Google Inc. Method and system for enforcing multiple rate limits with limited on-chip buffering
US9575794B2 (en) * 2014-09-30 2017-02-21 Nicira, Inc. Methods and systems for controller-based datacenter network sharing
US10230591B2 (en) * 2014-09-30 2019-03-12 Microsoft Technology Licensing, Llc Network resource governance in multi-tenant datacenters
US9529619B2 (en) * 2014-09-30 2016-12-27 Nicira, Inc. Method of distributing network policies of virtual machines in a datacenter
US10097478B2 (en) 2015-01-20 2018-10-09 Microsoft Technology Licensing, Llc Controlling fair bandwidth allocation efficiently
US9923965B2 (en) 2015-06-05 2018-03-20 International Business Machines Corporation Storage mirroring over wide area network circuits with dynamic on-demand capacity
US9923839B2 (en) * 2015-11-25 2018-03-20 International Business Machines Corporation Configuring resources to exploit elastic network capability
US10057327B2 (en) 2015-11-25 2018-08-21 International Business Machines Corporation Controlled transfer of data over an elastic network
US9923784B2 (en) 2015-11-25 2018-03-20 International Business Machines Corporation Data transfer using flexible dynamic elastic network service provider relationships
US10581680B2 (en) 2015-11-25 2020-03-03 International Business Machines Corporation Dynamic configuration of network features
US10216441B2 (en) 2015-11-25 2019-02-26 International Business Machines Corporation Dynamic quality of service for storage I/O port allocation
US10177993B2 (en) 2015-11-25 2019-01-08 International Business Machines Corporation Event-based data transfer scheduling using elastic network optimization criteria
CN105871751A (zh) * 2016-03-25 2016-08-17 中国科学院计算技术研究所 一种数据中心网络带宽保证方法及系统
US10623330B2 (en) 2016-09-23 2020-04-14 Google Llc Distributed bandwidth allocation and throttling
US11258718B2 (en) * 2019-11-18 2022-02-22 Vmware, Inc. Context-aware rate limiting

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6046980A (en) * 1996-12-09 2000-04-04 Packeteer, Inc. System for managing flow bandwidth utilization at network, transport and application layers in store and forward network
US7843906B1 (en) 2004-02-13 2010-11-30 Habanero Holdings, Inc. Storage gateway initiator for fabric-backplane enterprise servers
US7675926B2 (en) 2004-05-05 2010-03-09 Cisco Technology, Inc. Hierarchical QoS behavioral model
US8385202B2 (en) 2008-08-27 2013-02-26 Cisco Technology, Inc. Virtual switch quality of service for virtual machines
CN101369976B (zh) 2008-09-27 2011-05-04 上海华为技术有限公司 多种服务质量分级接入控制方法、装置和系统
US8433802B2 (en) 2010-01-26 2013-04-30 International Business Machines Corporation System and method for fair and economical resource partitioning using virtual hypervisor
US8667171B2 (en) * 2010-05-28 2014-03-04 Microsoft Corporation Virtual data center allocation with bandwidth guarantees
US8477610B2 (en) * 2010-05-31 2013-07-02 Microsoft Corporation Applying policies to schedule network bandwidth among virtual machines
US8630173B2 (en) * 2010-11-19 2014-01-14 Cisco Technology, Inc. Dynamic queuing and pinning to improve quality of service on uplinks in a virtualized environment
US8761187B2 (en) * 2011-06-14 2014-06-24 Futurewei Technologies, Inc. System and method for an in-server virtual switch
CN102231697A (zh) 2011-06-17 2011-11-02 瑞斯康达科技发展股份有限公司 一种报文队列的带宽调度方法、报文上报方法及其装置
US8943499B2 (en) * 2012-04-30 2015-01-27 Hewlett-Packard Development Company, L.P. Providing a virtual network topology in a data center

Also Published As

Publication number Publication date
US9794185B2 (en) 2017-10-17
GB201420560D0 (en) 2014-12-31
WO2014021839A1 (en) 2014-02-06
CN104396187A (zh) 2015-03-04
DE112012006642B4 (de) 2022-09-08
CN104396187B (zh) 2017-08-25
GB2516206B8 (en) 2021-07-07
GB2516206A (en) 2015-01-14
US20150134830A1 (en) 2015-05-14
GB2516206B (en) 2020-07-01

Similar Documents

Publication Publication Date Title
DE112012006642B4 (de) Bandbreitengarantie und Arbeitskonservierung
DE112018003482B4 (de) Serveranfrageverwaltung
DE202017106795U1 (de) Vorrichtung zur skalierbaren Verkehrsformung bei einem Empfänger mit einer zeitlich indexierten Datenstruktur
DE102015102871B4 (de) Technologien für verteilten Leitweglenkungstabellennachschlag
DE69931841T2 (de) Verfahren zur Ressourcenallokation und zur Leitweglenkung in mehrdienstlichen privaten virtuellen Netzen
DE602005002158T2 (de) Lastausgleichtechnik für Verkehrstechnik zwischen Domänen
DE112020002512T5 (de) Systeme und verfahren zur verkehrsklassenbezogenen leitweglenkung
DE112017001762T5 (de) Technologien für den einsatz dynamischer underlay-netzwerke in cloud-computing-infrastrukturen
DE112013000395B4 (de) Vorrichtung, verfahren und computerlesbarer speicher zur richtliniendurchsetzung in rechenumgebung
DE60313037T2 (de) Flusssteuerung in Netzwerkeinheiten
DE60016283T2 (de) Arbeitsbelastungsverwaltung in einer rechnerumgebung
DE102018204859A1 (de) Dynamischer Lastenausgleich in Netzschnittstellenkarten für eine optimale Leistung auf Systemebene
DE102019105193A1 (de) Technologien zum beschleunigen von edge-vorrichtungsarbeitslasten
DE102015108145A1 (de) Lokale Dienstverkettung mit virtuellen Maschinen und virtualisierten Behältern in software-definierter Vernetzung
DE102017126470A1 (de) Vorrichtung und Verfahren zur skalierbaren Verkehrsformung mit einer zeitlich indexierten Datenstruktur
DE112008003966T5 (de) Selektives Um-Abbilden einer Netzwerktopologie
DE102004012056A1 (de) Systeme und Verfahren zum Überwachen von Ressourcenausnutzung und Anwendungsleistungsfähigkeit
DE112017003501T5 (de) Scheduling von downstream-datenverkehr einer virtuellen ccap
DE112020004651B4 (de) Multi-tenant-etl-ressourcenaufteilung
DE202014010920U1 (de) Datenverkehrsgestaltung für groß angelegte Datencenter-Netze
DE112021005586T5 (de) Automatisches skalieren einer abfrage-steuerungsroutine für arbeitslasten im bereich big data auf unternehmensebene
DE102020110897A1 (de) Netzwerkfunktionsvirtualisierung
DE102017120361B4 (de) Zuordnung und Drosselung verteilter Bandbreite
DE60303444T2 (de) Ablaufsteuerung unter verwendung von quantumwerten und defizitwerten
DE102016204030A1 (de) Controller und Verfahren zum Migrieren von RDMA-Arbeitsspeicherzuordnungen einer virtuellen Maschine

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R081 Change of applicant/patentee

Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, HOU, US

Free format text: FORMER OWNER: HEWLETT-PACKARD DEVELOPMENT CO., L.P., HOUSTON, TEX., US

R082 Change of representative

Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE

Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER, ZINKLER, SCHE, DE

R081 Change of applicant/patentee

Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, HOU, US

Free format text: FORMER OWNER: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P., HOUSTON, TEX., US

R082 Change of representative

Representative=s name: HASELTINE LAKE KEMPNER LLP, DE

Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE

Representative=s name: HL KEMPNER PATENTANWALT, RECHTSANWALT, SOLICIT, DE

Representative=s name: SCHOPPE, ZIMMERMANN, STOECKELER, ZINKLER, SCHE, DE

R082 Change of representative

Representative=s name: HASELTINE LAKE KEMPNER LLP, DE

Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE

Representative=s name: HL KEMPNER PATENTANWALT, RECHTSANWALT, SOLICIT, DE

R082 Change of representative

Representative=s name: HASELTINE LAKE KEMPNER LLP, DE

Representative=s name: BOEHMERT & BOEHMERT ANWALTSPARTNERSCHAFT MBB -, DE

Representative=s name: HL KEMPNER PATENTANWALT, RECHTSANWALT, SOLICIT, DE

R082 Change of representative

Representative=s name: FLEUCHAUS & GALLO PARTNERSCHAFT MBB - PATENT- , DE

Representative=s name: FLEUCHAUS & GALLO PARTNERSCHAFT MBB PATENTANWA, DE

Representative=s name: HASELTINE LAKE KEMPNER LLP, DE

Representative=s name: HL KEMPNER PATENTANWALT, RECHTSANWALT, SOLICIT, DE

R082 Change of representative

Representative=s name: FLEUCHAUS & GALLO PARTNERSCHAFT MBB - PATENT- , DE

Representative=s name: FLEUCHAUS & GALLO PARTNERSCHAFT MBB PATENTANWA, DE

Representative=s name: HL KEMPNER PATENTANWALT, RECHTSANWALT, SOLICIT, DE

R016 Response to examination communication
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012240000

Ipc: H04L0041000000

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0041000000

Ipc: H04L0041089600

R018 Grant decision by examination section/examining division
R081 Change of applicant/patentee

Owner name: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, SPR, US

Free format text: FORMER OWNER: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP, HOUSTON, TEX., US

R082 Change of representative

Representative=s name: FLEUCHAUS & GALLO PARTNERSCHAFT MBB - PATENT- , DE

Representative=s name: FLEUCHAUS & GALLO PARTNERSCHAFT MBB PATENTANWA, DE

R020 Patent grant now final