DE102012217202A1 - Verfahren und System zum Optimieren des Platzierens virtueller Maschinen in Cloud-Computing-Umgebungen - Google Patents
Verfahren und System zum Optimieren des Platzierens virtueller Maschinen in Cloud-Computing-Umgebungen Download PDFInfo
- Publication number
- DE102012217202A1 DE102012217202A1 DE102012217202A DE102012217202A DE102012217202A1 DE 102012217202 A1 DE102012217202 A1 DE 102012217202A1 DE 102012217202 A DE102012217202 A DE 102012217202A DE 102012217202 A DE102012217202 A DE 102012217202A DE 102012217202 A1 DE102012217202 A1 DE 102012217202A1
- Authority
- DE
- Germany
- Prior art keywords
- resource
- profile
- user
- resource pool
- image
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5019—Workload prediction
Abstract
Die Erfindung stellt ein Verfahren und ein System zum Optimieren des Platzierens von Instanzen der Abbilder (103) virtueller Maschinen in einer Cloud-Computing-Umgebung bereit. Das Verfahren umfasst die Schritte zum Empfangen einer Anforderung zum Nutzen einer neuen Instanz eines VM-Abbilds; Lesen von benutzerspezifischen und allgemeinen VM-Ressourcen-Nutzungsprofilen, die erste Ressourcen-Inanspruchnahmedaten umfassen; Lesen von Ressourcen-Poolprofilen, die zweite Ressourcen-Inanspruchnahmedaten umfassen; für jedes der Ressourcen-Poolprofile Analysieren und Angleichen des gelesenen VM-Ressourcen-Nutzungsprofils an die gelesenen Ressourcen-Poolprofile, Berechnen eines kumulierten Ressourcen-Inanspruchnahmeprofils und Ermitteln des einen der mehreren Ressourcen-Pools, der die geringste kumulierte Ressourcen-Inanspruchnahme aufweist.
Description
- Gebiet der Erfindung
- Die vorliegende Erfindung bezieht sich auf das Cloud-Computing und insbesondere auf ein Verfahren und ein System zum Optimieren des Platzierens von Instanzen der Abbilder virtueller Maschinen in Cloud-Computing-Umgebungen.
- Hintergrund
- Cloud-Computing wird zu einem innovativen Datenverarbeitungs-Paradigma. Es gewährleistet zuverlässige, kundenorientierte und garantierte Datenverarbeitungs-Infrastrukturen für Benutzer. Das Konzept des Cloud-Computing bezieht sich auf die Verwendung von Datenverarbeitungskapazitäten von Maschinen, die von mehr als einem Diensteanbieterzentrum weltweit bereitgestellt werden. Angeschlossen durch ein Netzwerk stellen diese Maschinen Ressourcen bereit wie z. B. CPUs, die aufgerufen werden können, um eine virtuelle Maschine oder andere Prozesse für eine begrenzte oder definierte Dauer einzurichten. Der Benutzer kann Ressourcen für die Verwendung bei einer Anwendung anfordern und z. B. eine spezielle virtuelle Maschine (VM) erhalten, um eine Anwendung auszuführen.
- Die Steuerung der Ressourcen-Inanspruchnahme ist ein Schlüsselelement in heutigen Infrastrukturen mit Cloud-Einsatz. Obwohl Cloud-Systeme so empfunden werden, als ob sie nahezu unbegrenzte Ressourcen-Möglichkeiten haben, sind sie durch Hardware-Ressourcen eingeschränkt, die durch den Diensteanbieter des Cloud-Systems installiert werden. Erhöhte Anforderungen führen zu einem Ansteigen der erforderlichen installierten Ressourcen, was Lösungen für den Erfolg einer Infrastruktur mit Cloud-Einsatz erfordert.
- Zusammenfassung der Erfindung
- Eine Zielsetzung der vorliegenden Erfindung besteht darin, ein verbessertes Verfahren und System zum Optimieren des Platzierens von Abbildern virtueller Maschinen in Cloud-Computing-Umgebungen bereitzustellen. Das Verfahren vergleicht Profile der Ressourcen-Inanspruchnahme eines Benutzers, der das VM-Abbild anfordert, das angeforderte Abbild einer virtuellen Maschine und jeden Ressourcen-Pool der Cloud-Computing-Umgebungen, um die optimale Stelle für die angeforderten virtuellen Maschinen zu finden. Das Ziel wird durch den Gegenstand der unabhängigen Ansprüche erreicht. Vorteilhafte Ausführungsformen werden in den abhängigen Ansprüchen beschrieben.
- Der hier verwendete Ausdruck ”Cloud-Computing” bezeichnet eine Datenverarbeitungsplattform, bei der der Benutzer Zugang zu Anwendungen oder Datenverarbeitungs-Ressourcen haben kann, die in Form von Diensten über ein Netzwerk bereitgestellt werden. Eine vereinfachte Benutzerschnittstelle und eine Anwendungsprogrammierungs-Schnittstelle (API) an der Cloud bewirken, dass die Infrastruktur diese Dienste für den Benutzer transparent unterstützt.
- Der hier verwendete Ausdruck ”virtuelle Maschine” kann die Software-Implementierung eines Computers bezeichnen, der wie ein physischer Computer Programme ausführt.
- Der hier verwendete Ausdruck ”Abbild einer virtuellen Maschine” umfasst eine Menge von Daten, insbesondere ausführbare Daten und/oder Daten, die z. B. OS, RAM, Plattenspeicherkapazität usw. spezifizieren und eine bestimmte Konfiguration der zugehörigen virtuellen Maschine angeben, die das System verwendet, um die virtuelle Maschine zu betreiben.
- Der hier verwendete Ausdruck ”Register” bezeichnet einen Datenspeicher auf einem materiellen computerlesbaren Speichermedium. Ein Datenspeicher umfasst computer- und/oder benutzerspezifische Einstellungen. Die benutzerspezifischen Einstellungen umfassen z. B. eine Dienstgütevereinbarung (Service Level Agreement, SLA), die eine minimale Qualität des Dienstes, den der Benutzer erhält, definiert.
- Der hier verwendete Ausdruck ”Ablage” (repository) kann jeden Typ von Informationsspeicher bezeichnen wie etwa eine Datenbank, ein Datenverzeichnis, ein Systemregister oder andere Mittel zum Speichern verschiedener Typen von Informationen.
- Der hier verwendete Ausdruck ”Ersatzbaugruppe” (Spare) bezeichnet eine zusätzliche Ressourcen-Komponente wie etwa ein Laufwerk oder ein Band, das für eine Verwendung als Ersatz für eine ausgefallene Komponente vorbestimmt ist.
- Der hier verwendete Ausdruck ”Host-Plattform” bezeichnet eine physische Einheit, die Datenverarbeitungs-, Netzwerk- oder Speicher-Ressourcen bereitstellt.
- Der hier verwendete Ausdruck ”Ressourcen-Pool” bezeichnet eine Sammlung von Host-Plattformen, die gemeinsam gebündelt sind. Der Zweck dieser Bündelung besteht darin, die Datenverarbeitungs-, Netzwerk-, Speicher- und weitere Typen von Ressourcen zu kombinieren, so dass sie als eine einzige Ressource erscheinen. Das Cloud-Computing-Verwaltungssystem kann aus diesen Ressourcen bis zu den Grenzen des Ressourcen-Pools zuweisen, was andernfalls die physischen Ressourcen einer einzelnen Host-Plattform übersteigen würde. Ressourcen des Ressourcen-Pools sind Benutzern zu dem Zeitpunkt zugewiesen, wenn sie Dienste oder Ressourcen von dem Cloud-Computing-Verwaltungssystem anfordern. Eine Ressource kann zum Beispiel – ohne darauf beschränkt zu sein – ein Prozessor, eine Netzwerkkomponente, ein Plattenspeicher usw. sein, die einem Benutzer zugewiesen sein kann.
- Der hier verwendete Ausdruck ”Ressourcen-Nutzungsprofil” bezeichnet eine Menge von Daten der Ressourcen-Inanspruchnahme, die die Nutzung der Ressource über eine Zeitperiode angeben.
- Der hier verwendete Ausdruck ”computerlesbares Speichermedium” umfasst jedes materielle Speichermedium, das Befehle speichern kann, die durch einen Prozessor einer Datenverarbeitungseinheit ausgeführt werden können. Das computerlesbare Speichermedium kann als ein computerlesbares dauerhaftes Speichermedium bezeichnet werden. Das computerlesbare Speichermedium kann außerdem als ein materielles computerlesbares Speichermedium bezeichnet werden. In einigen Ausführungsformen kann ein computerlesbares Speichermedium Daten speichern, auf die der Prozessor der Datenverarbeitungseinheit zugreifen kann. Zu Beispielen von computerlesbaren Speichermedien gehören, ohne auf diese beschränkt zu sein: Diskette, Lochstreifen, Lochkarte, magnetisches Festplattenlaufwerk, Halbleiterdatenträger, Flash-Speicher, USB-Stick, Direktzugriffsspeicher (RAM), Festwertspeicher (ROM), optische Platte, magnetooptische Platte und die Registerdatei der Prozessors. Zu Beispielen optischer Platten gehören Compact Disks (CD) und Digital Versatile Disks (DVD), z. B. CD-ROM, CD-RW, CD-R, DVD-ROM, DVD-RW oder DVD-R-Platten. Der Ausdruck computerlesbares Speichermedium bezeichnet außerdem verschiedene Typen von Aufzeichnungsmedien, auf die durch die Computereinheit über ein Netzwerk oder eine Datenübertragungsverbindung zugegriffen werden kann. Daten können zum Beispiel über ein Modem, über das Internet oder über ein lokales Netzwerk abgerufen werden. Bezugnahmen auf ein computerlesbares Speichermedium sollten so interpretiert werden, dass sie möglicherweise mehrere computerlesbare Speichermedien sind. Verschiedene ausführbare Komponenten eines Programms oder von Programmen können an unterschiedlichen Speicherorten gespeichert sein. Das computerlesbare Speichermedium kann z. B. ein computerlesbares Mehrfach-Speichermedium in dem gleichen Computersystem sein. Das computerlesbare Speichermedium kann außerdem ein computerlesbares Speichermedium sein, das über mehrere Computersysteme oder Datenverarbeitungseinheiten verteilt ist.
- In einem Aspekt bezieht sich die Erfindung auf ein Verfahren zum Optimieren des Platzierens von Instanzen mehrerer Abbilder virtueller Maschinen in einer Cloud-Computing-Umgebung. Die Cloud-Umgebung umfasst mehrere Ressourcen-Pools. Jeder Ressourcen-Pool umfasst eine oder mehrere Ressourcen. Das Verfahren umfasst Folgendes:
- – Empfangen einer Anforderung eines Benutzers zum Verwenden einer neuen Instanz einer der Abbilder virtuellen Maschinen, wobei die Anforderung eine Angabe des Abbilds virtuellen Maschinen ist, das instanziiert werden soll;
- – Während die Verwendung des Abbilds einer virtuellen Maschinen gefordert wird, wählt der Benutzer wahlweise ein benutzerspezifisches VM-Ressourcen-Nutzungsprofil aus, das das resultierende VM-Ressourcen-Nutzungsprofil wird, wobei das resultierende VM-Ressourcen-Nutzungsprofil Daten zur Ressourcen-Inanspruchnahme umfasst, wobei die Daten zur Ressourcen-Inanspruchnahme eine Angabe einer vorhergesagten Ressourcen-Inanspruchnahme für den spezifischen Benutzer der geforderten Instanz des angegebenen Abbilds der virtuellen Maschine über eine erste Zeitperiode ist;
- – Wenn der Benutzer kein benutzerspezifisches VM-Ressourcen-Nutzungsprofil auswählt, Lesen durch eine Ersatzmaschine eines VM-Ressourcen-Nutzungsprofils, das in Verbindung mit dem angegebenen Abbild der virtuellen Maschine gespeichert wurde, wobei das gelesene VM-Ressourcen-Nutzungsprofil erste Daten zur Ressourcen-Inanspruchnahme umfasst, wobei die ersten Daten zur Ressourcen-Inanspruchnahme eine Angabe einer vorhergesagten Ressourcen-Inanspruchnahme der angeforderten Instanz des angegebenen Abbilds der virtuellen Maschine über eine erste Zeitperiode ist;
- – Lesen durch eine Platzierungsmaschine eines Ressourcen-Poolprofils für jeden der mehreren Ressourcen-Pools, wobei jedes Ressourcen-Poolprofil zweite Daten zur Ressourcen-Inanspruchnahme umfasst, wobei die zweiten Daten zur Ressourcen-Inanspruchnahme eine Angabe einer vorhergesagten Ressourcen-Inanspruchnahme in dem Ressourcen-Pool ist, der dem Ressourcen-Poolprofil zugeordnet ist, über eine zweite Zeitdauer ist, wobei das Ressourcen-Poolprofil eine aktuelle Inanspruchnahme der Ressource in dem Ressourcen-Pool umfasst;
- – Für jedes der Ressourcen-Poolprofile Ausführen der folgenden Schritte durch die Platzierungsmaschine:
- – Analysieren des gelesenen VM-Ressourcen-Nutzungsprofils und des gelesenen Ressourcen-Poolprofils, wobei die Analyse das Angleichen des gelesenen VM-Ressourcen-Nutzungsprofils und des gelesenen Ressourcen-Poolprofils umfasst durch das Angleichen der zweiten Zeitperiode der gelesenen Ressourcen-Poolprofile des Ressourcen-Pools an die erste Zeitperiode des gelesenen VM-Ressourcen-Nutzungsprofils
- – Berechnen eines zusammengeführten Ressourcen-Inanspruchnahmeprofils, das eine Vorhersage für eine Ressourcen-Gesamtinanspruchnahme in dem Ressourcen-Pool ist, durch Kumulieren der Ressourcen-Inanspruchnahme der angeglichenen Profile; und
- – Als ein Ergebnis der Analyse aller Ressourcen-Poolprofile Ermitteln des einen der mehreren Ressourcen-Pools, der die geringste Ressourcen-Inanspruchnahme aufweist.
- Die Ausführungsformen können dahingehend vorteilhaft sein, dass sie eine optimierte Zuweisung von Cloud-Ressourcen in Abhängigkeit von Nutzungsprofilen ermöglichen. Die Profile beschreiben die mittlere Ressourcen-Inanspruchnahme über eine Zeitperiode z. B. über mehrere Stunden, Tage oder Wochen. Die Zeitperiode kann den gegenwärtigen Zeitpunkt erfassen, wenn z. B. der Analyseschritt ausgeführt wird, und kann außerdem künftige Stunden, Tage oder Wochen erfassen. Wenn die vorhergesagte Zeitspanne der Ressourcen-Inanspruchnahme für eine bestimmte Instanz einer virtuellen Maschine viel mehr Informationen umfasst als ein Datenwert der mittleren Ressourcen-Inanspruchnahme ohne Zeitinformation, kann eine Ermittlung einer erwarteten Ressourcen-Inanspruchnahme einer Abbildinstanz der virtuellen Maschine in zukünftigen Zeitperioden viel genauer sein. Es kann einen weiteren Vorteil dahingehend geben, dass die Nutzung von Ressourcen-Inanspruchnahmeprofilen zum Ermitteln des Ressourcen-Pools mit der geringsten Ressourcen-Gesamtinanspruchnahme die Gesamtwirksamkeit des Cloud-Systems erhöhen kann und seine gute Leistungsfähigkeit sichert. Das ist aufgrund der Tatsache der Fall, dass sie eine Möglichkeit des vollautomatischen und dynamischen Anpassens des Instanziierens von Abbildern virtueller Maschinen auf eine Vielzahl von Ressourcen-Pools gemäß einer sich dynamisch verändernden Arbeitsbelastung der Ressourcen-Pools und der angeforderten VM-Abbildinstanzen während eines Tageslaufs ermöglicht. Ein noch weiterer Vorteil dieser Ausführungsformen besteht darin, dass sie die Wartedauer des Benutzers minimal machen und somit die Benutzerzufriedenheit verbessern. Das ist der Fall, da es durch das Bewerten von Ressourcen-Inanspruchnahmeprofilen, die außerdem die vorhergesagte Ressourcen-Inanspruchnahme für zukünftige Zeitpunkte umfassen, anstatt lediglich eine gegenwärtig beobachtete physische Arbeitsbelastung der Ressourcen-Pools zu berücksichtigen, möglich ist, ein angefordertes VM-Abbild auf einen Ressourcen-Pool auch dann zu instanziieren, wenn das Nutzungsprofil der VM-Ressource angibt, dass die Ressourcen, die durch die angeforderte Instanz gefordert werden, durch einen bestimmten Ressourcen-Pool zum gegenwärtigen Zeitpunkt nicht bereitgestellt werden können, jedoch gemäß dem Ressourcen-Poolprofil des Ressourcen-Pools zu dem zukünftigen Zeitpunkt, wenn sie tatsächlich benötigt werden, bereitgestellt werden können. Dieses Merkmal wird durch die Tatsache ermöglicht, dass auch die Ressourcen-Poolprofile eine zukünftige Zeitperiode abdecken können und deswegen eine Angabe der Ressourcen sein können, die in einem bestimmten Ressourcen-Pool zu einem späteren Zeitpunkt zur Verfügung stehen.
- 1. Gemäß einer weiteren Ausführungsform umfasst das Verfahren ferner die folgenden Schritte:
- – Lesen eines benutzerspezifischen VM-Ressourcen-Nutzungsprofils, das in Verbindung mit dem angegebenen VM-Abbild gespeichert ist und in Verbindung mit einer Kennung des Benutzers gespeichert ist, wobei das benutzerspezifische VM-Ressourcen-Nutzungsprofil Fremdressourcen-Nutzungsdaten umfasst, wobei die Fremdressourcen-Nutzungsdaten eine Angabe einer vorhergesagten benutzerspezifischen Ressourcen-Inanspruchnahme der angeforderten Instanz des angegebenen Abbilds der virtuellen Maschine über die erste Zeitperiode sind, wobei die benutzerspezifische Ressourcen-Inanspruchnahme für den Benutzer vorhergesagt wurde; und
- – Verwenden der gelesenen benutzerspezifischen Ressourcen-Inanspruchnahme anstelle des gelesenen VM-Ressourcen-Nutzungsprofils, wenn die Analyse ausgeführt wird.
- Die Ausführungsform kann vorteilhaft sein, da das Kombinieren von Informationen des VM-Ressourcen-Nutzungsprofils und des benutzerspezifischen VM-Ressourcen-Nutzungsprofils eine bessere Vorhersage der Ressourcen-Inanspruchnahme für einzelne VMs ermöglicht.
- Gemäß einer anderen Ausführungsform umfasst das Verfahren ferner den Schritt zum Instanziieren des angegebenen VM-Abbilds auf den Ressourcen-Pool, der ermittelt wurde. Diese Ausführungsform hat den Vorteil, dass sie eine bessere Möglichkeit zum Nutzen und Instanziieren eines oder mehrerer angeforderter VM-Abbilder auf eine Vielzahl von verfügbaren Ressourcen-Pools bereitstellt. Somit kann eine bessere Ausnutzung von verfügbaren Hardware-Ressourcen wie etwa Prozessoren, Speicher und Plattenspeicherkapazität erreicht werden.
- Gemäß einer anderen Ausführungsform wird der Ressourcen-Pool, der die geringste Ressourcen-Nutzung aufweist, aus der Gruppe ausgewählt, die Folgendes umfasst:
- – den Ressourcen-Pool, für den der niedrigste Wert der ganzheitlichen Ressourcen-Inanspruchnahme des Ressourcen-Gesamtinanspruchnahmeprofils berechnet wurde,
- – den Ressourcen-Pool, für den der niedrigste Wert der ganzheitlichen Ressourcen-Inanspruchnahme des Ressourcen-Gesamtinanspruchnahmeprofils berechnet wurde, und wobei das Ressourcen-Gesamtinanspruchnahmeprofil keinen Wert umfasst, der einen Schwellenwert übersteigt.
- Diese Ausführungsform kann vorteilhaft sein, da sie den Aufwand vermindert, der entstünde, wenn die Instanzen auf Ressourcen-Pools ausgeführt werden, die Ressourcen mit geringerer Verfügbarkeit aufweisen.
- Gemäß einer anderen Ausführungsform weist das benutzerspezifische VM-Profil Regeln auf. Das Verfahren wendet ferner beim Ausführen der Analyse die Regeln auf das gelesene VM-Ressourcen-Nutzungsprofil, das gelesene benutzerspezifische VM-Ressourcen-Nutzungsprofil und/oder die gelesenen Ressourcen-Poolprofile an.
- Die Ausführungsform kann vorteilhaft sein, da sie ermöglicht, dass die Cloud-Dienstumgebung garantiert, dass die Cloud-Dienste in Übereinstimmung mit bestimmten Bedingungen an die Nutzung des Cloud-Computing bereitgestellt werden. Diese Bedingungen können eine zulässige Zeitperiode sein zum Betreiben einer Instanz des VM-Abbilds eines bestimmten Typs durch einen speziellen Benutzer an den Ressourcen-Pools. Das kann eine optimale Nutzung der Ressourcen-Pools und eine auf feingegliederte Regeln beruhende Modulation eines hauptsächlich auf dem Ressourcen-Inanspruchnahmeprofil beruhenden Prozesses des Instanziierens des VM-Abbilds sicherstellen.
- Gemäß einiger Ausführungsformen weisen wenigstens einige der Regeln benutzerspezifische Bedingungen in Bezug auf Anzahl, Typ und/oder Verfügbarkeit von Ressourcen auf. Diese Bedingungen entsprechen einer Dienstgütevereinbarung. Die Dienstgütevereinbarungen spezifizieren die geforderte Qualität des Dienstes, den der Benutzer und der Cloud-Dienstanbieter vertraglich vereinbaren. Gemäß einer anderen Ausführungsform werden die VM-Ressourcen-Nutzungsprofile von wenigstens einem der Abbilder der virtuellen Maschinen durch Ausführen der folgenden Schritte erzeugt:
- – Bewerten der gegenwärtigen Ressourcen-Inanspruchnahme aller Instanzen des wenigstens einen VM-Abbilds durch ein VM-Nutzungsüberwachungsmodul, wodurch erste bewertete Daten bereitgestellt werden;
- – Vorhersagen der Ressourcen-Inanspruchnahme einer Instanz des wenigstens einen VM-Abbilds über eine erste Zeitperiode durch Bewerten der ersten bewerteten Daten; und
- – Aktualisieren des VM-Ressourcen-Nutzungsprofils, das in Verbindung mit dem wenigstens einen VM-Abbild gespeichert wurde, mit den vorhergesagten Daten zur Ressourcen-Inanspruchnahme.
- Die Bewertung der Ressourcen-Inanspruchnahme der VM-Instanz erfolgt durch Abrufen der gemessenen Daten von physischen Ressourcen, die dieser Instanz zugeordnet sind.
- Diese Ausführungsformen können dahingehend vorteilhaft sein, dass sie das System mit den Benutzer- und/oder VM-Abbild-Ressourcen-Anforderungen ständig aktualisieren. Das vermeidet dann eine Fehlzuordnung von Ressourcen, wenn sich die Benutzer- und/oder VM-Abbild-Ressourcen-Anforderung in Bezug auf die ursprünglichen Anforderungen entwickeln.
- Gemäß weiterer Ausführungsformen wird das benutzerspezifische VM-Ressourcen-Nutzungsprofil wenigstens eines der VM-Abbilder durch Ausführen der folgenden Schritte erzeugt:
- – Überwachen der gegenwärtigen Ressourcen-Inanspruchnahme aller Instanzen des wenigstens einen VM-Abbilds, deren Instanziierung durch den Benutzer gefordert wurde, durch ein VM-Nutzungsüberwachungsmodul, wodurch zweite Überwachungsdaten bereitgestellt werden;
- – Vorhersagen der Ressourcen-Inanspruchnahme einer Instanz des wenigstens einen VM-Abbilds, die durch den Benutzer angefordert werden soll, über die zweite Zeitperiode durch Bewerten der zweiten Überwachungsdaten; und
- – Aktualisieren des benutzerspezifischen VM-Ressourcen-Nutzungsprofils, das in Verbindung mit dem wenigstens einen VM-Abbild gespeichert wurde, mit den Daten der vorhergesagten Ressourcen-Inanspruchnahme.
- Die Merkmale können vorteilhaft sein, da benutzerspezifische Anforderungen berücksichtigt werden können, wenn die benutzerspezifischen VM-Ressourcen-Nutzungsprofile erzeugt werden. Wenn sich die Anforderungen mit der Zeit ändern, wird eine aktualisierte Version des benutzerspezifischen VM-Ressourcen-Nutzungsprofils bereitgestellt und kann zum Ermitteln des Ressourcen-Pools mit der geringeren Ressourcen-Gesamtinanspruchnahme verwendet werden.
- Gemäß einer anderen Ausführungsform werden die Ressourcen-Poolprofile durch das Ausführen der folgenden Schritte für jeden der Ressourcen-Pools erzeugt:
- – Überwachen von Anzahl und Typ von Ressourcen des Ressourcen-Pools, die einem des einen oder der mehreren VM-Abbilder zugeordnet sind, die in dem Ressourcen-Pool (
108 ) ausgeführt werden, wodurch zweite Überwachungsdaten bereitgestellt werden, wobei die zweiten Überwachungsdaten eine gemessene physische Zuweisung von Ressourcen zu Abbildinstanzen einer virtuellen Maschine über die zweite Zeitperiode umfassen; - – Überlagern der zweiten Überwachungsdaten, die für alle Abbildinstanzen einer virtuellen Maschine, die in dem Ressourcen-Pool ausgeführt werden, wodurch ein überlagertes Ressourcen-Inanspruchnahmeprofil für den Ressourcen-Pool erzeugt wird; und – Verwenden des überlagerten Ressourcen-Inanspruchnahmeprofils zum Erzeugen und/oder Aktualisieren des Ressourcen-Inanspruchnahmeprofils des Ressourcen-Pools.
- Diese Ausführungsformen können vorteilhaft sein, da die Gesamt-Ressourcen-Nutzung, die aus allen ausgeführten virtuellen Maschineninstanzen eines bestimmten Ressourcen-Pool abgeleitet wird, die beste Schätzung der Ressourcenverwendung eines Ressourcen-Pools ergibt.
- Gemäß einer anderen Ausführungsform wird jeder Instanz einer virtuellen Maschine, die auf einem der Ressourcen-Pools ausgeführt wird, eine oder mehrere Ressourcen des Ressourcen-Pools zugeordnet, wobei das Verfahren ferner die folgenden Schritte umfasst:
- – Ermitteln aller Ressourcen in dem wenigstens einen Ressourcen-Pool, die während der zweiten Zeitperiode nicht belegt sind, durch den VM-Nutzungs-Supervisor, wobei das Ermitteln durch Subtrahieren des Ressourcen-Gesamtinanspruchnahmeprofils von einer bekannten Anzahl aller Ressourcen des wenigstens einen Ressourcen-Pools ausgeführt wird;
- – Ermitteln für die angeforderte Abbildinstanz der virtuellen Maschine, die in dem wenigstens einen Ressourcen-Pool instanziiert werden soll, einer oder mehrerer gegenwärtig benötigter Ressourcen durch Bewerten des VM-Ressourcen-Nutzungsprofils oder des benutzerspezifischen VM-Ressourcen-Nutzungsprofils des angegebenen Abbilds der virtuellen Maschine;
- – Falls die Anzahl von Ressourcen eines ersten Ressourcen-Typs, von denen festgestellt wurde, dass sie von der angeforderten Instanz benötigt werden, die ermittelte Anzahl von gegenwärtig nicht belegten Ressourcen des ersten Ressourcen-Typs übersteigt, Auslösen des Instanziierens der angeforderten Abbildinstanz der virtuellen Maschine in einem anderen Ressourcen-Pool durch die Platzierungsmaschine.
- Diese Ausführungsformen können vorteilhaft sein, da sie garantieren können, dass selbst dann, wenn die gegenwärtige Ressourcen-Inanspruchnahme der VM-Abbildinstanzen, die in einem bestimmten Ressourcen-Pool ausgeführt werden, größer als vorhergesagt sein kann und die Anzahl von tatsächlich verfügbaren Ressourcen in einem bestimmten Ressourcen-Pool übersteigt, eine automatisierte und intelligente Bewältigung der Situation gewährleistet ist. In Ausführungsformen der Erfindung kann eine gegenwärtig ausgeführte VM-Abbildinstanz von einem ersten Ressourcen-Pool zu einem anderen verschoben werden, wenn festgestellt wurde, dass in dem ersten Ressourcen-Pool ausreichend nichtbelegte Ressourcen fehlen. Diese Merkmale können unplanmäßige Beendigungen von VM-Abbildinstanzen vermeiden, wenn die Ressourcenanforderungen durch die Instanzen nicht mehr erfüllt sind.
- Gemäß einer weiteren Ausführungsform führt ein Ressourcen-Manager eine Neuzuweisung von Ressourcen aus, die der genutzten virtuellen Maschine bei ihrer Instanziierung zugewiesen wurden, wobei zum Ermitteln von einer der Abbildinstanzen der virtuellen Maschine, der die Ressource neu zugeordnet werden soll, die Ressourcen-Gesamtinanspruchnahmeprofile als Eingabe verwendet werden. Diese Ausführungsform kann den Vorteil haben, dass Ressourcen, die einer bestimmten VM-Abbildinstanz zugeordnet wurden, jedoch von der Instanz tatsächlich nicht benötigt werden, für die Nutzung durch andere Ressourcen freigegeben werden.
- Gemäß Ausführungsformen weist das Verfahren ferner den Schritt zum Aktualisieren der für die Ressourcen-Pools spezifischen Ressourcen-Inanspruchnahmeprofile der Ressourcen-Pools mit neuen Daten zur Ressourcen-Inanspruchnahme auf, die sich aus der Neuzuweisung von Ressourcen oder aus der Verlagerung der Abbildinstanz der virtuellen Maschine ergeben.
- Gemäß Ausführungsformen weisen die ersten und zweiten Zeitperioden von jedem der VM-Ressourcen-Nutzungsprofile und der Ressourcen-Poolprofile eine Menge von Messpunkten auf, die durch eine im Voraus definierte Zeitperiode voneinander getrennt sind, wobei jeder Messpunkt einen Datenwert zur Ressourcen-Inanspruchnahme für jeden von einer Vielzahl von Ressourcen-Typen umfasst, wobei jeder der Datenwerte zur Ressourcen-Inanspruchnahme ein Vorhersageergebnis ist, das aus der überwachten physischen Ressourcen-Inanspruchnahme berechnet wurde.
- Gemäß Ausführungsformen wird jedes VM-Abbild in Verbindung mit einem für den Nutzungstyp spezifischen VM-Ressourcen-Nutzungsprofil gespeichert, wobei ein Nutzungstyp z. B. ”Entwicklung”, ”Prüfung”, ”Produktion” oder dergleichen lauten kann. Gemäß dieser Ausführungsform umfasst das Verfahren ferner die folgenden Schritte:
- – Empfangen einer Angabe eines angeforderten Nutzungstyps. Der angeforderte Nutzungstyp legt fest, wie die angeforderte VM-Abbildinstanz durch den anfordernden Benutzer verwendet wird. Der angeforderte Nutzungstyp ist typischerweise einer von einer Vielzahl von im Voraus definierten Nutzungstypen. Der angeforderte Nutzungstyp kann z. B. gemeinsam mit der Anforderung des Benutzers zum Instanziieren einer der Abbilder einer virtuellen Maschine empfangen werden.
- – Ermitteln des für den Nutzungstyp spezifischen VM-Ressourcen-Nutzungsprofils für das in der Anforderung des Benutzers angegebene VM-Abbild;
- – Verwenden des ermittelten, für den Nutzungstyp spezifischen VM-Ressourcen-Nutzungsprofils als das VM-Ressourcen-Nutzungsprofil, das zum Ausführen der Analyse der Profile zum Bestimmen des Ressourcen-Pools mit der geringsten Gesamtressourcen-Inanspruchnahme gelesen wird.
- Gemäß Ausführungsformen wird die Ressourcen-Inanspruchnahme, die in dem VM-Ressourcen-Nutzungsprofil und/oder dem benutzerspezifischen VM-Ressourcen-Nutzungsprofil spezifiziert ist, verwendet, um festzustellen, ob die Ressourcen, die an einem oder mehreren zukünftigen Zeitpunkten durch die Abbildinstanz einer virtuellen Maschine angefordert werden, an dem einen oder den mehreren zukünftigen Zeitpunkten in dem wenigstens einen Ressourcen-Pool zur Verfügung stehen.
- In einem weiteren Aspekt bezieht sich die Erfindung auf ein computerlesbares nichtflüchtiges Speichermedium, das computerlesbare Befehle enthält, die bei einer Ausführung durch einen Prozessor bewirken, dass der Prozessor das Verfahren nach einem der Verfahrensschritte der oben beschriebenen Ausführungsformen ausführt.
- In einem weiteren Aspekt bezieht sich die Erfindung auf ein Computersystem, das Folgendes umfasst:
- – eine Speichereinheit, die eine Vielzahl von VM-Abbildern aufweist;
- – mehrere Ressourcen-Pools, wobei jeder Ressourcen-Pool eine oder mehrere Ressourcen aufweist;
- – eine Schnittstelle, die eingerichtet ist zum Empfangen einer Anforderung eines Benutzers zum Nutzen einer neuen Instanz von einem der VM-Abbilder, wobei die Anforderung eine Angabe des VM-Abbilds ist, das instanziiert werden soll;
- – eine Platzierungsmaschine, die eingerichtet ist zum:
• Lesen eines VM-Ressourcen-Nutzungsprofils, das in Verbindung mit dem angegebenen VM-Abbild gespeichert wird, wobei das gelesene VM-Ressourcen-Nutzungsprofil erste Daten zur Ressourcen-Inanspruchnahme umfasst, wobei die ersten Daten zur Ressourcen-Inanspruchnahme eine Angabe einer vorhergesagten Ressourcen-Inanspruchnahme der angeforderten Instanz des angegebenen VM-Abbilds über eine erste Zeitperiode sind;
• Lesen eines Ressourcen-Poolprofils für jeden der mehreren Ressourcen-Pools (
108 ), wobei jedes für einen Ressourcen-Pool spezifische Profil zweite Daten zur Ressourcen-Inanspruchnahme umfasst, wobei die zweiten Daten zur Ressourcen-Inanspruchnahme eine Angabe einer vorhergesagten Ressourcen-Inanspruchnahme in dem Ressourcen-Pool, der dem Ressourcen-Poolprofil zugehörig ist, über eine zweite Zeitperiode sind, wobei das Ressourcen-Poolprofil ferner eine gegenwärtigen Ressourcen-Inanspruchnahme in dem Ressourcen-Pool umfasst; • Analysieren des gelesenen VM-Ressourcen-Nutzungsprofils und des Ressourcen-Poolprofils für jedes der Ressourcen-Poolprofile, wobei die Analyse das Angleichen des gelesenen VM-Ressourcen-Nutzungsprofils und der gelesenen Ressourcen-Poolprofile durch Angleichen der zweiten Zeitperiode der gelesenen Ressourcen-Poolprofile des Ressourcen-Pools an die erste Zeitperiode des gelesenen VM-Ressourcen-Nutzungsprofils umfasst; • Berechnen eines Ressourcen-Gesamtinanspruchnahmeprofils, das eine Angabe einer vollständigen Ressourcen-Inanspruchnahme in dem Ressourcen-Pool ist, für jedes der Ressourcen-Poolprofile durch Aufsummieren der Ressourcen-Inanspruchnahme der angeglichenen Profile; und • Ermitteln des einen der mehreren Ressourcen-Pools, der die geringste Gesamtressourcen-Nutzung aufweist, als ein Ergebnis der Analyse aller Ressourcen-Poolprofile. - Für einen Fachmann ist klar, dass Aspekte der vorliegenden Erfindung als ein System, Verfahren oder Computerprogrammprodukt ausgeführt werden können. Deswegen können, falls nicht ausdrücklich anders angegeben, Aspekte der vorliegenden Erfindung die Form einer reinen Hardware-Ausführungsform, einer reinen Software-Ausführungsform (mit Firmware, residenter Software, Mikrocode usw.) oder einer Software- und Hardware-Aspekte kombinierenden Ausführungsform, die hier alle allgemein als ein ”Modul” oder ”System” bezeichnet werden können, aufweisen. Jede Kombination aus einem oder mehreren computerlesbaren Medien kann verwendet werden.
- Kurzbeschreibung der Zeichnungen
- Im Folgenden werden bevorzugte Ausführungsformen der Erfindung lediglich beispielhaft durch Bezugnahme auf die Zeichnungen genauer beschrieben, worin:
-
1 eine Systemarchitektur für die Ausführung des Verfahrens nach einer Ausführungsform der vorliegenden Erfindung veranschaulicht, -
2 ein Ablaufplan eines Verfahrens zum Optimieren des Platzierens eines Abbilds einer virtuellen Maschine in Cloud-Umgebungen ist, -
3 ein benutzerspezifisches VM-Ressourcen-Nutzungsprofil und ein Ressourcen-Poolprofil gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht, und -
4 ein Ablaufplan ist, der einen Anwendungsfall gemäß verschiedener Ausführungsformen der Erfindung darstellt. - Genaue Beschreibung
- Im Folgenden sind in diesen Figuren gleich nummerierte Elemente entweder ähnliche Elemente oder führen eine gleichwertige Funktion aus. Elemente, die zuvor erläutert wurden, werden in späteren Figuren nicht notwendigerweise erläutert, wenn die Funktion gleichwertig ist.
-
1 stellt eine vorgeschlagene Systemarchitektur100 dar, die funktionsmäßig in der Lage ist, den Prozess des Platzierens von Abbildern einer virtuellen Maschine in Cloud-Umgebungen gemäß der offenbarten Architektur der vorliegenden Erfindung auszuführen. Eine Abbildablage102 enthält eine Anzahl von VM-Abbildern103 , aus denen neue VM-Abbildinstanzen bereitgestellt werden können. Zugehörig zu diesen VM-Abbildern sind Ressourcen-Nutzungsprofile104 (Resource Usage Profiles, RUPs), die sowohl den Typ der VM als auch Informationen über die Ressourcen-Inanspruchnahme für verschiedene Ressourcen (z. B. CPU, Speicher, Platte usw.) für die VM anhand von ”Vergangenheitsdaten” d. h. überwachten Daten zur Ressourcen-Inanspruchnahme angeben. Ein Benutzerregister105 enthält Benutzerprofile106 für alle Benutzer, die in dem System registriert sind. Ein Benutzer, der in der Cloud-Dienstumgebung eingeloggt ist, kann das Instanziieren einer bestimmten Abbildinstanz einer virtuellen Maschine und die Bereitstellung dieser Instanz durch das System anfordern. Das Benutzerregister105 enthält außerdem benutzerspezifische VM-Ressourcen-Nutzungsprofile, die hier als Benutzer-Ressourcen-Nutzungsprofile107 (User Resource Usage Profiles, URUPs) bezeichnet werden, die ein mittleres erwartetes Ressourcen-Nutzungsprofil einer Instanz eines bestimmten VM-Abbilds, die durch den Benutzer angefordert wird, angeben. Ein hier verwendetes ”Profil” umfasst eine zeitliche Reihe von Datenwerten, die die Angabe einer vorhergesagten oder ”erwarteten” Ressourcen-Inanspruchnahme über eine Zeitperiode sind. Dieses Profil kann mehrere mittlere Ressourcen-Inanspruchnahmewerte umfassen, die für unterschiedliche Ressourcen-Typen, z. B. CPU-Nutzung, Speichernutzung, Plattenspeichernutzung usw. abgeleitet wurden. Mit anderen Worten ein Profil gibt an, wie ein spezieller Benutzer VMs bestimmter Typen über eine im Voraus definierte Zeitperiode verwendet. - In einigen Ausführungsformen weist das benutzerspezifische VM-Profil Regeln auf. Einige dieser Regeln umfassen benutzerspezifische Bedingungen in Bezug auf Anzahl, Typ und/oder Verfügbarkeit der Ressourcen. Diese Bedingungen sind in Übereinstimmung mit einer Dienstgütevereinbarung. Die Dienstgütevereinbarungen legen die geforderte Qualität des Dienstes fest, auf die sich der Benutzer und der Cloud-Diensteanbieter vertraglich geeinigt haben.
- Das System enthält ferner eine Anzahl von Ressourcen-Pools/Host-Plattformen
108 , die ausgeführte Instanzen von VMs109 beherbergen. Jede ausgeführte VM109 weist außerdem ein Ressourcen-Poolprofil auf, das als ”Resource Usage Profile” (HRUP-Hosted RUP)113 bezeichnet wird, das dem Ressourcen-Poolprofil-Register112 zugeordnet ist und darin gespeichert wird. Während einer anfänglichen Bereitstellung einer VM von einem VM-Abbild103 wird das HRUP113 der VM mit Daten von dem RUP104 des VM-Abbilds103 aktualisiert. Während der Lebensdauer einer VM überwacht ein VM-Nutzungs-Supervisor110 periodisch die tatsächliche Ressourcen-Inanspruchnahme von VMs in einem Pool und aktualisiert ihre zugehörigen HRUPs113 dementsprechend. Dazu verwendet er die APIs jeder Host-Plattform, um Ressourcen-Nutzungsdaten von ausgeführten VMs abzufragen. Es ist z. B. zu jedem Zeitpunkt möglich zu sehen, wie viel CPU und Speicher eine VM in Anspruch nimmt. - Wenn durch einen Benutzer eine neue VM angefordert wird, analysiert eine Platzierungsmaschine
110 die Ressourcen-Nutzungscharakteristiken, die in dem RUP104 gespeichert sind, das dem durch den Benutzer ausgewählten VM-Abbild103 zugeordnet ist. Diese Informationen können dann außerdem durch eine vorteilhafte Nutzung des URUP107 des Benutzers ergänzt werden. Die Ressourcen-Nutzungscharakteristiken können mit Ressourcen-Nutzungsprofilen von VMs109 , die in verschiedenen Ressourcen-Pools108 ausgeführt werden, verglichen werden, um den optimalen Ressourcen-Pool zu finden, bei dem eine beste Anpassung zwischen vorhergesagter Ressourcen-Verfügbarkeit und vorhergesagter Ressourcen-Nutzung angenommen werden kann. Ersatz-Ressourcen werden dynamisch berechnet durch Vergleichen der VM-Ressourcen-Nutzungsprofile (oder benutzerspezifischen VM-Ressourcen-Nutzungsprofile) aller VM-Abbilder, die in einem bestimmten Ressourcen-Pool instanziiert wurden, mit ständig empfangenen Überwachungsdaten, die eine Angabe der tatsächlichen physischen Ressourcen-Inanspruchnahme in dem Ressourcen-Pool darstellen. Auf diese Weise wird sichergestellt, dass jeder Ressourcen-Mangel schnell erfasst wird und eine vorhandene VM-Abbildinstanz unmittelbar zu einem anderen Ressourcen-Pool umgesetzt werden kann. - Schließlich kann ein Ressourcen-Manager
111 verwendet werden, um den Umfang und den Typ von Ressourcen, die ausgeführten VM-Instanzen109 zugewiesen sind, aktiv und dynamisch zu steuern, indem Ressourcen freigegeben werden und indem diese Ressourcen auf der Grundlage einer Bewertung von Profilen neuen VM-Instanzen neu zugewiesen werden. Das heißt, bei physischen Ressourcen, die ausgeführten VMs zugewiesen sind, kann die Zuweisung zu diesen VM-Instanzen aufgehoben werden und sie können dann zum Instanziieren und Betreiben zusätzlicher VMs verwendet werden, oder sie können anderen vorhandenen Instanzen von VM-Abbildern neu zugewiesen werden. Diese Neuzuweisung von Ressourcen kann z. B. erfolgen, indem die VM-Ressourcen-Nutzungsprofile und/oder das benutzerspezifische VM-Ressourcen-Nutzungsprofil verwendet werden, um die bestimmten VMs vorherzusagen, deren Instanzen die Ressourcen in einer zukünftigen Zeitperiode höchstwahrscheinlich nicht benötigen, und diese Ressourcen anderen Instanzen eines VM-Abbilds neu zuzuweisen. -
2 ist ein Ablaufplan eines Verfahrens zum Optimieren des Platzierens von Abbildern einer virtuellen Maschine in Cloud-Umgebungen. Nach dem Empfangen einer Anforderung eines Benutzers zum Nutzen einer neuen Instanz einer der VM-Abbilder im Schritt201 liest die Platzierungsmaschine im Schritt202 das VM-Ressourcen-Nutzungsprofil, das in Verbindung mit dem angeforderten VM-Abbild gespeichert wird. Das gelesene VM-Ressourcen-Nutzungsprofil umfasst erste Daten zur Ressourcen-Inanspruchnahme. Die ersten Daten zur Ressourcen-Inanspruchnahme geben die vorhergesagte Ressourcen-Inanspruchnahme der angeforderten Instanz des angegebenen VM-Abbilds über eine erste Zeitperiode an. Im Schritt204 liest die Platzierungsmaschine ein Ressourcen-Poolprofil für jeden der mehreren Ressourcen-Pools. Jedes Ressourcen-Poolprofil umfasst zweite Daten zur Ressourcen-Inanspruchnahme. Die zweiten Daten zur Ressourcen-Inanspruchnahme geben die gegenwärtige und vorhergesagte Ressourcen-Inanspruchnahme in dem Ressourcen-Pool, der dem Ressourcen-Poolprofil zugeordnet ist, über eine zweite Zeitperiode an. Im Schritt205 analysiert die Platzierungsmaschine das erste und das zweite Ressourcen-Profil und berechnet im Schritt206 die Ressourcen-Gesamtinanspruchnahme von ausgeführten Instanzen109 und der angeforderten Instanz in jedem der mehreren Ressourcen-Pools108 . Im Schritt207 bestimmt die Platzierungsmaschine101 einen der mehreren Ressourcen-Pools, der die geringste Gesamtressourcen-Nutzung aufweist. Der Schritt205 wird in dem Beispiel von3 weiter erläutert. -
3 veranschaulicht den zeitlichen Verlauf der mittleren Instanzen-Inanspruchnahme von Ressourcen gemäß einer Ausführungsform der vorliegenden Erfindung. Eine Vielfalt von Ressourcen kann berücksichtigt werden wie etwa die CPU-Nutzung, Speichernutzung, Plattenspeichernutzung usw. Die Darstellung303 von3 veranschaulicht den zeitlichen Verlauf der erwarteten Ressourcen-Inanspruchnahme einer Instanz eines VM-Abbilds103 , die durch einen Gastbenutzer für Zwecke der Software-Entwicklung angefordert wird. Sie ist ein Ergebnis der Überlagerung der Ressourcen-Nutzung des Benutzers und der Ressourcen-Inanspruchnahme des VM-Abbilds. Es ist klar, dass die in3 dargestellten Profile unter Verwendung von ständigen zeitlichen Änderungen gezeigt werden. Die tatsächliche Ressourcen-Inanspruchnahme ändert sich jedoch zeitlich diskret. Diese Figuren dienen dementsprechend lediglich zur Veranschaulichung des Konzepts. - Wie in der Darstellung
303 ersichtlich steigt die Ressourcen-Inanspruchnahme zum Zeitpunkt t1, nachdem der Betrieb der Instanz der virtuellen Maschine, die von dem angeforderten VM-Abbild bereitgestellt wurde, begonnen wurde. Er erreicht eine bestimmte maximale Ressourcen-Inanspruchnahme zum Zeitpunkt t2. Die Ressourcen-Inanspruchnahme verringert sich und beginnt zum Zeitpunkt t3 wieder anzusteigen, um einen zweiten Maximalwert zum Zeitpunkt t4 zu erreichen. Das ist ein Veranschaulichungsbeispiel eines Benutzers, der eine Entwicklungsmaschine anfordert, die gewöhnlich lediglich während des Tages läuft. Dieser Benutzer verwendet diese Art von Maschinen gewöhnlich in der regulären Arbeitszeit während des Morgens (Zeitpunkt t2) und am Nachmittag (Zeitpunkt t4). Eine Produktionsmaschine (nicht gezeigt) kann in Abhängigkeit von dem bestimmten Szenario des Verwendungsfalls einer Instanz des VM-Abbilds ein anderes benutzerspezifisches VM-Ressourcen-Nutzungsprofil aufweisen. - Die Darstellung
302 veranschaulicht die gegenwärtige und die erwartete Ressourcen-Inanspruchnahme durch einen Ressourcen-Pool, der ausgeführte Instanzen einer virtuellen Maschine hält. In diesem Beispiel betreiben die ausgeführten Instanzen der virtuellen Maschine über Nacht Stapelprozesse. Wie in der Darstellung302 veranschaulicht erreicht die Ressourcen-Inanspruchnahme den Maximalwert während der Nacht zum Zeitpunkt t0 und verringert sich auf seinen Minimalwert während des Tages. - Die Darstellung
301 veranschaulicht die vorhergesagte Ressourcen-Inanspruchnahme des Ressourcen-Pools und das angeforderte benutzerspezifische VM-Abbild. Wie in der Darstellung301 veranschaulicht kann ein Schwellenwert der Ressourcen-Inanspruchnahme Tr1306 festgelegt sein. Dieser Schwellenwert kann verwendet werden, um das Platzieren und Instanziieren einer neuen VM im Ressourcen-Pool auszulösen. - Die Auswahl des Ressourcen-Pools, wo die angeforderte VM platziert wird, erfolgt auf der Grundlage des vorhergesagten Ressourcen-Inanspruchnahmeprofils
301 jeder der Host-Plattformen. Wenn eine Zeitperiode zwischen einem Anfangszeitpunkt ti und einem Endzeitpunkt tf den Zeitpunkt für die Anforderung einer VM-Instanz enthalten kann, sind zwei Kriterien gefordert, um den Ressourcen-Pool auszuwählen, um diese angeforderte VM-Instanz zu halten: - – die Ressourcen-Spitzennutzungen für eine vorgegebene Host-Plattform darf den Schwellenwert Tr1
306 in der Zeitperiode zwischen ti und tf nicht übersteigen. In dem Beispiel von3 würde die Host-Plattform dieses Kriterium für die Zeitperiode zwischen dem Zeitpunkt t1 und t3 nicht erfüllen. In der Zeitperiode zwischen t3 und t5 wird dagegen die Host-Plattform für die endgültige Auswahl berücksichtigt, da der Maximalwert der Inanspruchnahme den Schwellenwert Tr1306 nicht übersteigt. - – wenn mehr als eine Host-Plattform vorhanden sind, die das obige Kriterium erfüllen, wird die eine Host-Plattform mit der geringsten sich ergebenden Ressourcen-Inanspruchnahme als ein Integral der überlagerten Ressourcen-Inanspruchnahmekurve
301 zwischen dem Zeitpunkt ti und dem Zeitpunkt tf ausgewählt. -
4 ist ein Ablaufplan, der einen Verwendungsfall der vorliegenden Erfindung zeigt. Im Schritt401 fordert der Benutzer eine neue VM anhand eines spezifizierten Abbilds103 von dem vorhandenen Abbildregister102 . Im Schritt402 prüft die Platzierungsmaschine101 den vorgegebenen Benutzer, ob ein benutzerdefiniertes RUP107 bereits vorhanden ist. Wenn das URUP107 nicht vorhanden ist, kopiert die Platzierungsmaschine101 das RUP104 des angeforderten VM-Abbilds für den Benutzer im Schritt403 . Wenn das URUP107 vorhanden ist, verknüpft die Platzierungsmaschine im Schritt404 Daten von dem RUP eines VM-Abbilds und des URUP des anfordernden Benutzers, um benutzerspezifische Nutzungsmuster (URUP) für eine VM eines vorgegebenen Typs zu berücksichtigen. Im Schritt405 berechnet die Platzierungsmaschine101 für die vorhandenen Host-Plattformen die beste Position für die angeforderte VM-Instanz. Das erfolgt durch Vergleichen des URUP107 mit den Ressourcen-Nutzungsprofilen von jedem der Ressourcen-Pools. Das Ressourcen-Nutzungsprofil des Ressourcen-Pools wird erhalten als Überlagerung der zugewiesenen Ressourcen-Nutzungsprofile aller Instanzen aller VM-Abbilder, die in dem Ressourcen-Pool ausgeführt werden. Die Platzierungsmaschine101 berechnet die gesamte vorhergesagte Ressourcen-Inanspruchnahme jeder VM-Instanz, die tatsächlich in dem Ressourcen-Pool ausgeführt wird, und des angeforderten VM-Abbilds. Wenn im Schritt406 eine oder mehrere freie Ressourcen der Host-Plattform109 ermittelt werden können, kann die VM in der Host-Plattform109 ohne Neuzuweisung von Ressourcen instanziiert werden. Die Platzierungsmaschine101 wählt die Host-Plattform mit der geringsten mittleren Ressourcen-Inanspruchnahme über eine abgestimmte Zeitperiode. - Wenn kein freier Ressourcen-Pool, der auch als ”Host-Plattform” bezeichnet wird, ermittelt werden konnte, das heißt, es wird anhand der gegenwärtigen Zuweisung von Ressourcen zu Ressourcen-Pools vorhergesagt, dass das angeforderte VM-Abbild in keine Host-Plattform passt, berechnet die Platzierungsmaschine
101 eine Host-Plattform108 anhand der vorhandenen HRUPs113 und des URUP107 , deren erwartetes Ressourcen-Nutzungsprofil die beste verfügbare Anpassung an die Ressourcen-Anforderungen der angeforderten VM-Instanz liefert. Die Ressourcen, die in dieser am besten angepassten Host-Plattform zur Verfügung stehen, können jedoch zukünftig für die Anforderungen dieser VM-Abbildinstanz nicht ausreichend sein, das angeforderte VM-Abbild wird trotzdem in der am besten angepassten Host-Plattform instanziiert. Dann stellt die Platzierungsmaschine101 durch Bewerten der Ressourcen-Poolprofile aller Ressourcen-Pools und des VM-Ressourcen-Nutzungsprofils und/oder des benutzerspezifischen VM-Ressourcen-Nutzungsprofils fest, welche VM-Instanz eine bestimmte Ressource an einem zukünftigen Zeitpunkt eigentlich nicht benötigt, wenn die instanziierte VM-Abbildinstanz eine Ressource dieses Ressourcen-Typs anfordert. Das Ergebnis dieser Feststellung wird für die Neuzuweisung dieser Ressource zu der VM-Instanz, die sie an diesem zukünftigen Zeitpunkt tatsächlich benötigt, verwendet. Nachdem im Schritt410 festgestellt wurde, dass eine Ressource von einer ersten VM-Abbildinstanz zu einer zweiten VM-Abbildinstanz, die Teil des gleichen oder eines anderen Ressourcen-Pools sein kann, neu zugeordnet werden sollte, sendet die Platzierungsmaschine im Schritt411 eine Ressourcen-Neuzuweisungsanforderung an den VM-Nutzungs-Supervisor110 . Der VM-Nutzungs-Supervisor110 weist eine oder mehrere Ressourcen in Übereinstimmung mit den Spezifikationen in der Ressourcen-Neuzuweisungsanforderung neu zu. - Im Schritt
409 sendet die Platzierungsmaschine101 eine Anforderung zum Platzieren einer VM-Abbildinstanz, das heißt eine Anforderung zum Instanziieren des VM-Abbilds, an den VM-Nutzungs-Supervisor110 . Der VM-Nutzungs-Supervisor110 erzeugt eine neue VM-Abbildinstanz auf der ausgewählten Host-Plattform108 . Der Benutzer wird über die erzeugte VM-Abbildinstanz benachrichtigt.
Claims (12)
- Verfahren zum Optimieren des Platzierens einer Vielzahl von Abbildern virtueller Maschinen (
103 ) in einer Cloud-Umgebung, wobei die Cloud-Umgebung mehrere Ressourcen-Pools (108 ) aufweist, wobei jeder Ressourcen-Pool (108 ) eine oder mehrere Ressourcen aufweist, wobei das Verfahren aufweist: – Empfangen (201 ) einer Anforderung eines Benutzers zum Nutzen einer neuen Instanz eines der Abbilder virtueller Maschinen (103 ), wobei die Anforderung eine Angabe des Abbilds der virtuellen Maschine (103 ), die instanziiert werden soll, darstellt; – Lesen (202 ) eines VM-Ressourcen-Nutzungsprofils, das in Verbindung mit dem angegebenen Abbild einer virtuellen Maschine (103 ) gespeichert ist, durch eine Platzierungsmaschine (101 ), wobei das gelesene VM-Ressourcen-Nutzungsprofil erste Daten zur Ressourcen-Inanspruchnahme aufweist, wobei die ersten Daten zur Ressourcen-Inanspruchnahme eine Angabe einer vorhergesagten Ressourcen-Inanspruchnahme der angeforderten Instanz des angegebenen Abbilds einer virtuellen Maschine (101 ) über eine erste Zeitperiode sind; – Lesen (204 ) eines Ressourcen-Poolprofils für jeden der mehreren Ressourcen-Pools (108 ) durch die Platzierungsmaschine (101 ), wobei jedes Ressourcen-Poolprofil zweite Daten zur Ressourcen-Inanspruchnahme aufweist, wobei die zweiten Daten zur Ressourcen-Inanspruchnahme eine Angabe einer vorhergesagten Ressourcen-Inanspruchnahme in dem Ressourcen-Pool, der mit dem Ressourcen-Poolprofil verbunden ist, über eine zweite Zeitperiode sind, wobei das Ressourcen-Poolprofil des Weiteren eine gegenwärtige Ressourcen-Inanspruchnahme in dem Ressourcen-Pool aufweist; – Gegebenenfalls Lesen eines benutzerspezifischen VM-Nutzungsprofils, das in Verbindung mit dem angegebenen VM-Abbild (103 ) gespeichert wird und in Verbindung mit einer Kennung des Benutzers gespeichert wird, wobei das benutzerspezifische VM-Ressourcen-Nutzungsprofil dritte Ressourcen-Nutzungsdaten aufweist, wobei die dritten Ressourcen-Nutzungsdaten eine Angabe einer vorhergesagten benutzerspezifischen Ressourcen-Inanspruchnahme der angeforderten Instanz des angegebenen Abbilds (103 ) einer virtuellen Maschine über eine erste Zeitperiode sind, wobei die benutzerspezifische Ressourcen-Inanspruchnahme für den Benutzer vorhergesagt wurde; – wobei für jedes der Ressourcen-Poolprofile die Platzierungsmaschine die Schritte ausführt: – Erzeugen (402 ) eines resultierenden VM-Ressourcen-Nutzungsprofils, indem entweder das gelesene benutzerspezifische VM-Ressourcen-Nutzungsprofil (falls verfügbar) oder das gelesene VM-Ressourcen- Nutzungsprofil verwendet wird, – Analysieren (205 ) des resultierenden VM-Ressourcen-Nutzungsprofils und des gelesenen Ressourcen-Poolprofils, wobei die Analyse das Angleichen des resultierenden VM-Ressourcen-Nutzungsprofils und des gelesenen Ressourcen-Poolprofils durch Angleichen der zweiten Zeitperiode des gelesenen Ressourcen-Poolprofils des Ressourcen-Pools an die erste Zeitperiode des gelesenen VM-Ressourcen-Nutzungsprofils aufweist; – Berechnen (206 ) eines Ressourcen-Gesamtinanspruchnahmeprofils, das eine Vorhersage einer Ressourcen-Gesamtinanspruchnahme in dem Ressourcen-Pool ist, durch Zusammenfassen der Ressourcen-Inanspruchnahme der angeglichenen Profile; und – Ermitteln (207 ) des einen von den mehreren Ressourcen-Pools (108 ), der die geringste Gesamtressourcen-Inanspruchnahme aufweist, als ein Ergebnis der Analyse der Ressourcen-Poolprofile. - Verfahren nach Anspruch 1, das ferner den Schritt aufweist: Instanziieren des angegebenen Abbilds (
103 ) einer virtuellen Maschine in dem bestimmten Ressourcen-Pool. - Verfahren nach Anspruch 1, das ferner die Schritte aufweist: – Empfangen der Anforderung eines Benutzers zum Verwenden eines separaten vom Benutzer gewählten VM-Ressourcen-Nutzungsprofils anstelle des benutzerspezifischen VM-Ressourcen-Nutzungsprofils, das in Verbindung mit dem angegebenen VM-Abbild (
103 ) und in Verbindung mit einer Kennung des Benutzers gespeichert wird; und – Verwenden des vom Benutzer gewählten VM-Ressourcen-Nutzungsprofils anstelle des gelesenen benutzerspezifischen VM-Ressourcen-Nutzungsprofils, wenn die Analyse ausgeführt wird. - Verfahren nach einem der Ansprüche 1 bis 3, wobei der Ressourcen-Pool (
108 ), der die geringste Ressourcen-Nutzung aufweist, aus der Gruppe ausgewählt wird, die enthält: – den Ressourcen-Pool (108 ), für den der niedrigste integrale Ressourcen-Inanspruchnahmewert des Ressourcen-Gesamtinanspruchnahmeprofils berechnet wurde; – den Ressourcen-Pool (108 ), für den der niedrigste integrale Ressourcen-Inanspruchnahmewert des Ressourcen-Gesamtinanspruchnahmeprofils berechnet wurde und wobei das Ressourcen-Gesamtinanspruchnahmeprofil keinen Wert aufweist, der einen Schwellenwert übersteigt. - Verfahren nach einem der Ansprüche 3 bis 4, wobei das benutzerspezifische VM-Ressourcen-Nutzungsprofil Regeln aufweist, wobei das Verfahren ferner aufweist: – beim Ausführen der Analyse Anwenden der Regeln auf das gelesene VM-Ressourcen-Nutzungsprofil, das gelesene benutzerspezifische VM-Ressourcen-Nutzungsprofil und/oder die gelesenen Ressourcen-Poolprofile.
- Verfahren nach Anspruch 5, wobei wenigstens einige der Regeln benutzerspezifische Bedingungen in Bezug auf Anzahl, Typ und/oder Verfügbarkeit von Ressourcen aufweisen, um zu garantieren, dass die Anzahl und der Typ von Ressourcen, die dem angeforderten Abbild (
103 ) einer virtuellen Maschine zugewiesen sind, einer Dienstgütevereinbarung entsprechen. - Verfahren nach einem der vorhergehenden Ansprüche, wobei das VM-Ressourcen-Nutzungsprofil von wenigstens einem der Abbilder einer virtuellen Maschine durch Ausführen der folgenden Schritte erzeugt wird: – Bewerten der gegenwärtigen Ressourcen-Inanspruchnahme aller Instanzen (
109 ) des wenigstens einen VM-Abbilds durch ein Modul (110 ) eines VM-Nutzungs-Supervisors, wodurch erste bewertete Daten bereitgestellt werden; – Vorhersagen der Ressourcen-Inanspruchnahme einer Instanz des wenigstens einen VM-Abbilds über die erste Zeitperiode durch Bewerten der ersten bewerteten Daten; und – Aktualisieren des VM-Ressourcen-Nutzungsprofils, das in Verbindung mit dem wenigstens einen VM-Abbild (103 ) gespeichert wird, mit den vorhergesagten Daten zur Ressourcen-Inanspruchnahme. - Verfahren nach einem der vorhergehenden Ansprüche, wobei das benutzerspezifische VM-Ressourcen-Nutzungsprofil des wenigstens einen der VM-Abbilder durch Ausführen der folgenden Schritte erzeugt wird: – Überwachen der gegenwärtigen Ressourcen-Inanspruchnahme aller Instanzen (
109 ) des wenigstens einen VM-Abbilds, deren Instanziieren durch den Benutzer gefordert wurde, durch ein Modul (110 ) des VM-Nutzungs-Supervisor, wodurch zweite Überwachungsdaten bereitgestellt werden; – Vorhersagen der Ressourcen-Inanspruchnahme einer Instanz des wenigstens einen VM-Abbilds, die durch den Benutzer angefordert werden soll, über die zweite Zeitperiode durch Bewerten der zweiten Überwachungsdaten; und – Aktualisieren des benutzerspezifischen VM-Ressourcen-Nutzungsprofils, das in Verbindung mit dem wenigstens einen VM-Abbild (103 ) gespeichert wird, mit den vorhergesagten Daten zur Ressourcen-Inanspruchnahme. - Verfahren nach einem der vorhergehenden Ansprüche, wobei die Ressourcen-Poolprofile erzeugt werden, indem für jeden der Ressourcen-Pools (
108 ) die folgenden Schritte ausgeführt werden: – Überwachen von Anzahl und Typ der Ressourcen des Ressourcen-Pools (108 ), die einer von der einen oder den mehreren VM-Abbildinstanzen (109 ) zugewiesen sind, die in dem Ressourcen-Pool (108 ) ausgeführt werden, wodurch zweite Überwachungsdaten bereitgestellt werden, wobei die zweiten Überwachungsdaten eine gemessene physische Zuweisung von Ressourcen zu Abbildinstanzen einer virtuellen Maschine über die zweite Zeitperiode aufweisen; – Überlagern der zweiten Überwachungsdaten, die für alle Abbildinstanzen (109 ) einer virtuellen Maschine, die in dem Ressourcen-Pool ausgeführt werden, erhalten werden, wodurch ein überlagertes Ressourcen-Inanspruchnahmeprofil für den Ressourcen-Pool (108 ) erzeugt wird; und – Verwenden des überlagerten Ressourcen-Inanspruchnahmeprofils zum Erzeugen und/oder Aktualisieren des Ressourcen-Poolprofils des Ressourcen-Pools (108 ). - Verfahren nach einem der vorhergehenden Ansprüche 2 bis 9, wobei jeder der VM-Abbildinstanzen, die in einem der Ressourcen-Pools ausgeführt werden, eine oder mehrere Ressourcen des Ressourcen-Pools zugewiesen sind, wobei das Verfahren ferner aufweist: – Ermitteln aller Ressourcen in dem wenigstens einen Ressourcen-Pool, die während der zweiten Zeitperiode nicht belegt sind, durch den VM-Nutzungs-Supervisor (
110 ), wobei das Ermitteln durch Subtrahieren des gesamten Ressourcen-Inanspruchnahmeprofils von einer bekannten Anzahl aller Ressourcen des wenigstens einen Ressourcen-Pools ausgeführt wird; – für die angeforderte Abbildinstanz einer virtuellen Maschine, die in dem wenigstens einen Ressourcen-Pool instanziiert werden soll, Ermitteln von einer oder mehreren gegenwärtig angeforderten Ressourcen durch Bewerten des VM-Ressourcen-Nutzungsprofils oder des benutzerspezifischen VM-Ressourcen-Nutzungsprofils des angegebenen Abbilds einer virtuellen Maschine; – falls die festgestellte Anzahl von Ressourcen eines ersten Ressourcen-Typs, die durch die angeforderte Instanz gefordert wird, die festgelegte Anzahl von gegenwärtig nicht belegten Ressourcen des ersten Ressourcen-Typs übersteigt, Auslösen des Instanziierens der geforderten Abbildinstanz einer virtuellen Maschine in einem anderen Ressourcen-Pool (108 ) durch die Platzierungsmaschine (101 ). - Computerlesbares nichtflüchtiges Speichermedium, das computerlesbare Befehle aufweist, die bei Ausführung durch einen Prozessor bewirken, dass der Prozessor das Verfahren nach einem der Ansprüche 1 bis 10 ausführt.
- Computersystem, aufweisend: – Speichereinheit, die eine Vielzahl von VM-Abbildern (
103 ) aufweist; – mehrere Ressourcen-Pools (108 ), wobei jeder Ressourcen-Pool (108 ) eine oder mehrere Ressourcen aufweist; – eine Schnittstelle, die eingerichtet ist zum Empfangen einer Anforderung eines Benutzers zum Nutzen einer neuen Instanz des VM-Abbilds (103 ), wobei die Anforderung eine Angabe des VM-Abbilds (103 ) ist, das instanziiert werden soll; – eine Platzierungsmaschine (101 ), eingerichtet zum • falls verfügbar Lesen eines benutzerspezifischen VM-Ressourcen-Nutzungsprofils, das in Verbindung mit dem angegebenen VM-Abbild (103 ) gespeichert wird und in Verbindung mit einer Kennung des Benutzers gespeichert wird, wobei das benutzerspezifische VM-Ressourcen-Nutzungsprofil erste Daten zur Ressourcen-Inanspruchnahme aufweist, wobei die ersten Daten zur Ressourcen-Inanspruchnahme eine Angabe einer vorhergesagten Ressourcen-Inanspruchnahme der angeforderten Instanz des angegebenen VM-Abbilds (103 ) über eine erste Zeitperiode sind; • Lesen eines Ressourcen-Poolprofils für jeden der mehreren Ressourcen-Pools (108 ), wobei jedes spezifische Profil des Ressourcen-Pools (108 ) zweite Daten zur Ressourcen-Inanspruchnahme aufweist, wobei die zweiten Daten zur Ressourcen-Inanspruchnahme eine Angabe einer vorhergesagten Ressourcen-Inanspruchnahme in dem Ressourcen-Pool (108 ) sind, der mit dem Ressourcen-Poolprofil über ein zweite Zeitperiode verbunden ist, wobei das Ressourcen-Poolprofil ferner eine gegenwärtige Ressourcen-Inanspruchnahme in dem Ressourcen-Pool aufweist; • Erzeugen (402 ) eines resultierenden VM-Ressourcen-Nutzungsprofils entweder durch Wählen des gelesenen benutzerspezifischen VM-Ressourcen-Nutzungsprofils (falls verfügbar) oder durch Wählen des gelesenen VM-Ressourcen-Nutzungsprofils, • für jedes der Ressourcen-Poolprofile Analysieren (205 ) des resultierenden VM-Ressourcen-Nutzungsprofils und des Ressourcen-Poolprofils, wobei die Analyse das Angleichen des gelesenen VM-Ressourcen-Nutzungsprofils und der gelesenen Ressourcen-Poolprofile aufweist durch Angleichen der zweiten Zeitperiode der gelesenen Ressourcen-Poolprofile des Ressourcen-Pools an die erste Zeitperiode des gelesenen VM-Ressourcen-Nutzungsprofils; • für jedes der Ressourcen-Poolprofile Berechnen eines kumulierten Ressourcen-Inanspruchnahmeprofils, das eine Angabe einer Ressourcen-Gesamtinanspruchnahme in dem Ressourcen-Pool ist, durch Kumulieren der Ressourcen-Inanspruchnahme der angeglichenen Profile; und • Ermitteln des einen der mehreren Ressourcen-Pools (108 ), der die geringste kumulierte Ressourcen-Nutzung aufweist, als ein Ergebnis der Analyse aller Ressourcenprofile.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP11184860.2 | 2011-10-12 | ||
EP11184860 | 2011-10-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102012217202A1 true DE102012217202A1 (de) | 2013-04-18 |
DE102012217202B4 DE102012217202B4 (de) | 2020-06-18 |
Family
ID=47990877
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102012217202.5A Active DE102012217202B4 (de) | 2011-10-12 | 2012-09-24 | Verfahren und System zum Optimieren des Platzierens virtueller Maschinen in Cloud-Computing-Umgebungen |
Country Status (3)
Country | Link |
---|---|
US (2) | US9495215B2 (de) |
DE (1) | DE102012217202B4 (de) |
GB (1) | GB2495820B (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015164023A1 (en) * | 2014-04-21 | 2015-10-29 | Vce Company, Llc | Systems and methods for physical and logical resource profiling, analysis and behavioral prediction |
US11336519B1 (en) * | 2015-03-10 | 2022-05-17 | Amazon Technologies, Inc. | Evaluating placement configurations for distributed resource placement |
Families Citing this family (231)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9736065B2 (en) | 2011-06-24 | 2017-08-15 | Cisco Technology, Inc. | Level of hierarchy in MST for traffic localization and load balancing |
DE102012217202B4 (de) * | 2011-10-12 | 2020-06-18 | International Business Machines Corporation | Verfahren und System zum Optimieren des Platzierens virtueller Maschinen in Cloud-Computing-Umgebungen |
US8782242B2 (en) | 2011-10-13 | 2014-07-15 | Vmware, Inc. | Software application placement using computing resource containers |
US8880930B2 (en) * | 2011-10-13 | 2014-11-04 | Vmware, Inc. | Software application placement based on failure correlation |
US8908698B2 (en) | 2012-01-13 | 2014-12-09 | Cisco Technology, Inc. | System and method for managing site-to-site VPNs of a cloud managed network |
US9146840B2 (en) * | 2012-06-15 | 2015-09-29 | Cycle Computing, Llc | Method and system for automatically detecting and resolving infrastructure faults in cloud infrastructure |
US8930948B2 (en) * | 2012-06-21 | 2015-01-06 | Vmware, Inc. | Opportunistically proactive resource management using spare capacity |
US9742684B1 (en) * | 2012-11-01 | 2017-08-22 | Amazon Technologies, Inc. | Adaptive service scaling |
US20140164594A1 (en) * | 2012-12-11 | 2014-06-12 | International Business Machines Corporation | Intelligent placement of virtual servers within a virtualized computing environment |
US9773026B1 (en) * | 2012-12-20 | 2017-09-26 | EMC IP Holding Company LLC | Calculation of system utilization |
US9569233B2 (en) * | 2012-12-31 | 2017-02-14 | F5 Networks, Inc. | Elastic offload of prebuilt traffic management system component virtual machines |
WO2014122743A1 (ja) * | 2013-02-06 | 2014-08-14 | 株式会社日立製作所 | 仮想ゲスト管理システム及び仮想ゲスト管理方法 |
US9521188B1 (en) * | 2013-03-07 | 2016-12-13 | Amazon Technologies, Inc. | Scheduled execution of instances |
US9251115B2 (en) * | 2013-03-07 | 2016-02-02 | Citrix Systems, Inc. | Dynamic configuration in cloud computing environments |
US9148350B1 (en) | 2013-03-11 | 2015-09-29 | Amazon Technologies, Inc. | Automated data synchronization |
US10142406B2 (en) | 2013-03-11 | 2018-11-27 | Amazon Technologies, Inc. | Automated data center selection |
US9002982B2 (en) | 2013-03-11 | 2015-04-07 | Amazon Technologies, Inc. | Automated desktop placement |
US10313345B2 (en) | 2013-03-11 | 2019-06-04 | Amazon Technologies, Inc. | Application marketplace for virtual desktops |
US9467395B2 (en) * | 2013-03-13 | 2016-10-11 | Vmware, Inc. | Cloud computing nodes for aggregating cloud computing resources from multiple sources |
US10216503B2 (en) * | 2013-03-13 | 2019-02-26 | Elasticbox Inc. | Deploying, monitoring, and controlling multiple components of an application |
US9043439B2 (en) | 2013-03-14 | 2015-05-26 | Cisco Technology, Inc. | Method for streaming packet captures from network access devices to a cloud server over HTTP |
JP6291034B2 (ja) * | 2013-05-08 | 2018-03-14 | アマゾン テクノロジーズ インコーポレイテッド | 仮想マシンインスタンスの、ユーザから影響を受けた配置 |
US9665387B2 (en) * | 2013-05-08 | 2017-05-30 | Amazon Technologies, Inc. | User-influenced placement of virtual machine instances |
US9495180B2 (en) * | 2013-05-10 | 2016-11-15 | Fireeye, Inc. | Optimized resource allocation for virtual machines within a malware content detection system |
WO2014198001A1 (en) * | 2013-06-14 | 2014-12-18 | Cirba Inc | System and method for determining capacity in computer environments using demand profiles |
US20150006614A1 (en) * | 2013-06-26 | 2015-01-01 | Amazon Technologies, Inc. | Management of computing sessions |
US10686646B1 (en) | 2013-06-26 | 2020-06-16 | Amazon Technologies, Inc. | Management of computing sessions |
US10623243B2 (en) | 2013-06-26 | 2020-04-14 | Amazon Technologies, Inc. | Management of computing sessions |
US20150019705A1 (en) * | 2013-06-26 | 2015-01-15 | Amazon Technologies, Inc. | Management of computing sessions |
CN104348764B (zh) * | 2013-07-31 | 2017-09-19 | 国际商业机器公司 | 在数据接收链路中分配计算单元的方法和装置 |
CN104424013B (zh) * | 2013-08-26 | 2018-03-09 | 国际商业机器公司 | 在计算环境中部署虚拟机的方法和设备 |
CN104519082B (zh) * | 2013-09-27 | 2018-11-20 | 腾讯科技(深圳)有限公司 | 一种云计算的扩容方法和装置 |
US20150106805A1 (en) * | 2013-10-15 | 2015-04-16 | Cisco Technology, Inc. | Accelerated instantiation of cloud resource |
US9471352B1 (en) * | 2013-11-25 | 2016-10-18 | Amazon Technologies, Inc. | Capability based placement |
US9246840B2 (en) | 2013-12-13 | 2016-01-26 | International Business Machines Corporation | Dynamically move heterogeneous cloud resources based on workload analysis |
US20150172204A1 (en) * | 2013-12-13 | 2015-06-18 | International Business Machines Corporation | Dynamically Change Cloud Environment Configurations Based on Moving Workloads |
US9495238B2 (en) | 2013-12-13 | 2016-11-15 | International Business Machines Corporation | Fractional reserve high availability using cloud command interception |
US10963304B1 (en) * | 2014-02-10 | 2021-03-30 | Google Llc | Omega resource model: returned-resources |
US10298517B2 (en) * | 2014-02-17 | 2019-05-21 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for allocating physical resources to a summarized resource |
US9871741B2 (en) * | 2014-03-10 | 2018-01-16 | Microsoft Technology Licensing, Llc | Resource management based on device-specific or user-specific resource usage profiles |
US9948493B2 (en) * | 2014-04-03 | 2018-04-17 | Centurylink Intellectual Property Llc | Network functions virtualization interconnection gateway |
US9755858B2 (en) | 2014-04-15 | 2017-09-05 | Cisco Technology, Inc. | Programmable infrastructure gateway for enabling hybrid cloud services in a network environment |
US9473365B2 (en) | 2014-05-08 | 2016-10-18 | Cisco Technology, Inc. | Collaborative inter-service scheduling of logical resources in cloud platforms |
CN105335207B (zh) * | 2014-05-29 | 2019-04-12 | 国际商业机器公司 | 用于管理虚拟机实例的方法和装置 |
US9565130B2 (en) | 2014-06-12 | 2017-02-07 | Cisco Technology, Inc. | Cloud-based resource availability calculation of a network environment |
US10122605B2 (en) | 2014-07-09 | 2018-11-06 | Cisco Technology, Inc | Annotation of network activity through different phases of execution |
US9411627B2 (en) * | 2014-07-18 | 2016-08-09 | International Business Machines Corporation | Allocating storage for virtual machine instances based on input/output (I/O) usage rate of the disk extents stored in an I/O profile of a previous incarnation of the virtual machine |
WO2016013086A1 (ja) * | 2014-07-24 | 2016-01-28 | 株式会社日立製作所 | 計算機システムおよびメモリ割当管理方法 |
US9912609B2 (en) | 2014-08-08 | 2018-03-06 | Oracle International Corporation | Placement policy-based allocation of computing resources |
US9961017B2 (en) | 2014-08-08 | 2018-05-01 | Oracle International Corporation | Demand policy-based resource management and allocation system |
US9501306B2 (en) | 2014-09-22 | 2016-11-22 | International Business Machines Corporation | Placing virtual machines in a virtual environment |
US9825878B2 (en) | 2014-09-26 | 2017-11-21 | Cisco Technology, Inc. | Distributed application framework for prioritizing network traffic using application priority awareness |
US9830193B1 (en) | 2014-09-30 | 2017-11-28 | Amazon Technologies, Inc. | Automatic management of low latency computational capacity |
US9678773B1 (en) | 2014-09-30 | 2017-06-13 | Amazon Technologies, Inc. | Low latency computational capacity provisioning |
US9146764B1 (en) | 2014-09-30 | 2015-09-29 | Amazon Technologies, Inc. | Processing event messages for user requests to execute program code |
US9715402B2 (en) | 2014-09-30 | 2017-07-25 | Amazon Technologies, Inc. | Dynamic code deployment and versioning |
US9600312B2 (en) | 2014-09-30 | 2017-03-21 | Amazon Technologies, Inc. | Threading as a service |
US9323556B2 (en) | 2014-09-30 | 2016-04-26 | Amazon Technologies, Inc. | Programmatic event detection and message generation for requests to execute program code |
US10048974B1 (en) | 2014-09-30 | 2018-08-14 | Amazon Technologies, Inc. | Message-based computation request scheduling |
CN104391735B (zh) * | 2014-11-14 | 2018-11-06 | 深信服网络科技(深圳)有限公司 | 虚拟化一体机集群中虚拟机调度方法及系统 |
US9886296B2 (en) * | 2014-12-01 | 2018-02-06 | International Business Machines Corporation | Managing hypervisor weights in a virtual environment |
US10374924B1 (en) * | 2014-12-05 | 2019-08-06 | Amazon Technologies, Inc. | Virtualized network device failure detection |
US9537788B2 (en) | 2014-12-05 | 2017-01-03 | Amazon Technologies, Inc. | Automatic determination of resource sizing |
WO2016094572A1 (en) * | 2014-12-11 | 2016-06-16 | Kodiak Networks, Inc. | System for inter-communication between integrated digital enhanced network systems and push-to-talk-over-cellular systems |
US9921866B2 (en) * | 2014-12-22 | 2018-03-20 | Intel Corporation | CPU overprovisioning and cloud compute workload scheduling mechanism |
US9727725B2 (en) | 2015-02-04 | 2017-08-08 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9733967B2 (en) | 2015-02-04 | 2017-08-15 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9588790B1 (en) | 2015-02-04 | 2017-03-07 | Amazon Technologies, Inc. | Stateful virtual compute system |
US9471775B1 (en) | 2015-02-04 | 2016-10-18 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US10050862B2 (en) | 2015-02-09 | 2018-08-14 | Cisco Technology, Inc. | Distributed application framework that uses network and application awareness for placing data |
US10708342B2 (en) | 2015-02-27 | 2020-07-07 | Cisco Technology, Inc. | Dynamic troubleshooting workspaces for cloud and network management systems |
US10037617B2 (en) | 2015-02-27 | 2018-07-31 | Cisco Technology, Inc. | Enhanced user interface systems including dynamic context selection for cloud-based networks |
US11381468B1 (en) | 2015-03-16 | 2022-07-05 | Amazon Technologies, Inc. | Identifying correlated resource behaviors for resource allocation |
US9870260B2 (en) | 2015-03-20 | 2018-01-16 | International Business Machines Corporation | Managing a set of assets for a user in a shared pool of configurable computing resources |
US10382534B1 (en) | 2015-04-04 | 2019-08-13 | Cisco Technology, Inc. | Selective load balancing of network traffic |
US9930103B2 (en) | 2015-04-08 | 2018-03-27 | Amazon Technologies, Inc. | Endpoint management system providing an application programming interface proxy service |
US9785476B2 (en) | 2015-04-08 | 2017-10-10 | Amazon Technologies, Inc. | Endpoint management system and virtual compute system |
US9448833B1 (en) * | 2015-04-14 | 2016-09-20 | International Business Machines Corporation | Profiling multiple virtual machines in a distributed system |
US10476982B2 (en) | 2015-05-15 | 2019-11-12 | Cisco Technology, Inc. | Multi-datacenter message queue |
US10848574B2 (en) | 2015-06-11 | 2020-11-24 | Microsoft Technology Licensing, Llc | Computing resource management system |
US10034201B2 (en) | 2015-07-09 | 2018-07-24 | Cisco Technology, Inc. | Stateless load-balancing across multiple tunnels |
US9785474B2 (en) | 2015-07-23 | 2017-10-10 | International Business Machines Corporation | Managing a shared pool of configurable computing resources using a set of scaling factors and a set of workload resource data |
US9817690B2 (en) * | 2015-09-11 | 2017-11-14 | International Business Machines Corporation | Predictively provisioning cloud computing resources for virtual machines |
US10169086B2 (en) | 2015-09-13 | 2019-01-01 | International Business Machines Corporation | Configuration management for a shared pool of configurable computing resources |
US9928108B1 (en) | 2015-09-29 | 2018-03-27 | Amazon Technologies, Inc. | Metaevent handling for on-demand code execution environments |
US10042660B2 (en) | 2015-09-30 | 2018-08-07 | Amazon Technologies, Inc. | Management of periodic requests for compute capacity |
US10067780B2 (en) | 2015-10-06 | 2018-09-04 | Cisco Technology, Inc. | Performance-based public cloud selection for a hybrid cloud environment |
US11005682B2 (en) | 2015-10-06 | 2021-05-11 | Cisco Technology, Inc. | Policy-driven switch overlay bypass in a hybrid cloud network environment |
US10462136B2 (en) | 2015-10-13 | 2019-10-29 | Cisco Technology, Inc. | Hybrid cloud security groups |
US10523657B2 (en) | 2015-11-16 | 2019-12-31 | Cisco Technology, Inc. | Endpoint privacy preservation with cloud conferencing |
US10205677B2 (en) | 2015-11-24 | 2019-02-12 | Cisco Technology, Inc. | Cloud resource placement optimization and migration execution in federated clouds |
US10084703B2 (en) | 2015-12-04 | 2018-09-25 | Cisco Technology, Inc. | Infrastructure-exclusive service forwarding |
US9830175B1 (en) | 2015-12-16 | 2017-11-28 | Amazon Technologies, Inc. | Predictive management of on-demand code execution |
US9830449B1 (en) | 2015-12-16 | 2017-11-28 | Amazon Technologies, Inc. | Execution locations for request-driven code |
US9811363B1 (en) | 2015-12-16 | 2017-11-07 | Amazon Technologies, Inc. | Predictive management of on-demand code execution |
US10013267B1 (en) | 2015-12-16 | 2018-07-03 | Amazon Technologies, Inc. | Pre-triggers for code execution environments |
US10754701B1 (en) | 2015-12-16 | 2020-08-25 | Amazon Technologies, Inc. | Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions |
US9811434B1 (en) | 2015-12-16 | 2017-11-07 | Amazon Technologies, Inc. | Predictive management of on-demand code execution |
US9542219B1 (en) * | 2015-12-17 | 2017-01-10 | International Business Machines Corporation | Automatic analysis based scheduling of jobs to appropriate cloud resources |
US9910713B2 (en) | 2015-12-21 | 2018-03-06 | Amazon Technologies, Inc. | Code execution request routing |
US10067801B1 (en) | 2015-12-21 | 2018-09-04 | Amazon Technologies, Inc. | Acquisition and maintenance of compute capacity |
US10002026B1 (en) | 2015-12-21 | 2018-06-19 | Amazon Technologies, Inc. | Acquisition and maintenance of dedicated, reserved, and variable compute capacity |
US10367914B2 (en) | 2016-01-12 | 2019-07-30 | Cisco Technology, Inc. | Attaching service level agreements to application containers and enabling service assurance |
CN107133520B (zh) * | 2016-02-26 | 2021-05-14 | 华为技术有限公司 | 云计算平台的可信度量方法和装置 |
US10594620B1 (en) | 2016-03-23 | 2020-03-17 | Amazon Technologies, Inc. | Bit vector analysis for resource placement in a distributed system |
US10162672B2 (en) | 2016-03-30 | 2018-12-25 | Amazon Technologies, Inc. | Generating data streams from pre-existing data sets |
US11132213B1 (en) | 2016-03-30 | 2021-09-28 | Amazon Technologies, Inc. | Dependency-based process of pre-existing data sets at an on demand code execution environment |
US10891145B2 (en) | 2016-03-30 | 2021-01-12 | Amazon Technologies, Inc. | Processing pre-existing data sets at an on demand code execution environment |
US10129177B2 (en) | 2016-05-23 | 2018-11-13 | Cisco Technology, Inc. | Inter-cloud broker for hybrid cloud networks |
US10282229B2 (en) | 2016-06-28 | 2019-05-07 | Amazon Technologies, Inc. | Asynchronous task management in an on-demand network code execution environment |
US9952896B2 (en) | 2016-06-28 | 2018-04-24 | Amazon Technologies, Inc. | Asynchronous task management in an on-demand network code execution environment |
US9977691B2 (en) | 2016-06-29 | 2018-05-22 | Amazon Technologies, Inc. | Adjusting variable limit on concurrent code executions based on communication between frontends |
US10102040B2 (en) | 2016-06-29 | 2018-10-16 | Amazon Technologies, Inc | Adjusting variable limit on concurrent code executions |
US10277708B2 (en) | 2016-06-30 | 2019-04-30 | Amazon Technologies, Inc. | On-demand network code execution with cross-account aliases |
US10203990B2 (en) | 2016-06-30 | 2019-02-12 | Amazon Technologies, Inc. | On-demand network code execution with cross-account aliases |
US10659283B2 (en) | 2016-07-08 | 2020-05-19 | Cisco Technology, Inc. | Reducing ARP/ND flooding in cloud environment |
US10432532B2 (en) | 2016-07-12 | 2019-10-01 | Cisco Technology, Inc. | Dynamically pinning micro-service to uplink port |
US10263898B2 (en) | 2016-07-20 | 2019-04-16 | Cisco Technology, Inc. | System and method for implementing universal cloud classification (UCC) as a service (UCCaaS) |
US10382597B2 (en) | 2016-07-20 | 2019-08-13 | Cisco Technology, Inc. | System and method for transport-layer level identification and isolation of container traffic |
JP6750368B2 (ja) * | 2016-07-25 | 2020-09-02 | 富士通株式会社 | 仮想マシン制御プログラム、仮想マシン制御方法および仮想マシン制御装置 |
US10142346B2 (en) | 2016-07-28 | 2018-11-27 | Cisco Technology, Inc. | Extension of a private cloud end-point group to a public cloud |
US10146563B2 (en) * | 2016-08-03 | 2018-12-04 | International Business Machines Corporation | Predictive layer pre-provisioning in container-based virtualization |
US10567344B2 (en) | 2016-08-23 | 2020-02-18 | Cisco Technology, Inc. | Automatic firewall configuration based on aggregated cloud managed information |
US20180075009A1 (en) * | 2016-09-14 | 2018-03-15 | Microsoft Technology Licensing, Llc | Self-serve appliances for cloud services platform |
US10061613B1 (en) | 2016-09-23 | 2018-08-28 | Amazon Technologies, Inc. | Idempotent task execution in on-demand network code execution systems |
US10884787B1 (en) | 2016-09-23 | 2021-01-05 | Amazon Technologies, Inc. | Execution guarantees in an on-demand network code execution system |
US11119813B1 (en) | 2016-09-30 | 2021-09-14 | Amazon Technologies, Inc. | Mapreduce implementation using an on-demand network code execution system |
US10523592B2 (en) | 2016-10-10 | 2019-12-31 | Cisco Technology, Inc. | Orchestration system for migrating user data and services based on user information |
US11044162B2 (en) | 2016-12-06 | 2021-06-22 | Cisco Technology, Inc. | Orchestration of cloud and fog interactions |
US10326817B2 (en) | 2016-12-20 | 2019-06-18 | Cisco Technology, Inc. | System and method for quality-aware recording in large scale collaborate clouds |
US10334029B2 (en) | 2017-01-10 | 2019-06-25 | Cisco Technology, Inc. | Forming neighborhood groups from disperse cloud providers |
US10931741B1 (en) * | 2017-01-13 | 2021-02-23 | Amazon Technologies, Inc. | Usage-sensitive computing instance management |
US10956196B1 (en) | 2017-01-19 | 2021-03-23 | Tintri By Ddn, Inc. | Load balancing VM selection and movement |
US10564998B1 (en) * | 2017-01-19 | 2020-02-18 | Tintri By Ddn, Inc. | Load balancing using predictive VM-based analytics |
US10489074B1 (en) | 2017-01-19 | 2019-11-26 | Tintri By Ddn, Inc. | Access rate prediction in a hybrid storage device |
US10509667B1 (en) | 2017-01-19 | 2019-12-17 | Tintri By Ddn, Inc. | Modeling space consumption of a migrated VM |
US11150936B2 (en) * | 2017-01-23 | 2021-10-19 | Hysolate Ltd. | Techniques for binding user identities to appropriate virtual machines with single sign-on |
US11010352B2 (en) * | 2017-01-23 | 2021-05-18 | Hysolate Ltd. | Unified file system on air-gapped endpoints |
US11153322B2 (en) | 2017-01-23 | 2021-10-19 | Hysolate Ltd. | Techniques for seamlessly launching applications in appropriate virtual machines |
US10699003B2 (en) | 2017-01-23 | 2020-06-30 | Hysolate Ltd. | Virtual air-gapped endpoint, and methods thereof |
US10552191B2 (en) | 2017-01-26 | 2020-02-04 | Cisco Technology, Inc. | Distributed hybrid cloud orchestration model |
US10320683B2 (en) | 2017-01-30 | 2019-06-11 | Cisco Technology, Inc. | Reliable load-balancer using segment routing and real-time application monitoring |
US10671571B2 (en) | 2017-01-31 | 2020-06-02 | Cisco Technology, Inc. | Fast network performance in containerized environments for network function virtualization |
US10942760B2 (en) | 2017-02-03 | 2021-03-09 | Microsoft Technology Licensing, Llc | Predictive rightsizing for virtual machines in cloud computing systems |
US10423455B2 (en) | 2017-02-03 | 2019-09-24 | Microsoft Technology Licensing, Llc | Method for deploying virtual machines in cloud computing systems based on predicted lifetime |
US10296367B2 (en) * | 2017-02-03 | 2019-05-21 | Microsoft Technology Licensing, Llc | Resource management for virtual machines in cloud computing systems |
CN108399101B (zh) * | 2017-02-06 | 2021-03-16 | 腾讯科技(深圳)有限公司 | 资源调度的方法、装置和系统 |
US11005731B2 (en) | 2017-04-05 | 2021-05-11 | Cisco Technology, Inc. | Estimating model parameters for automatic deployment of scalable micro services |
US10382274B2 (en) | 2017-06-26 | 2019-08-13 | Cisco Technology, Inc. | System and method for wide area zero-configuration network auto configuration |
US10439877B2 (en) | 2017-06-26 | 2019-10-08 | Cisco Technology, Inc. | Systems and methods for enabling wide area multicast domain name system |
US10425288B2 (en) | 2017-07-21 | 2019-09-24 | Cisco Technology, Inc. | Container telemetry in data center environments with blade servers and switches |
US10892940B2 (en) | 2017-07-21 | 2021-01-12 | Cisco Technology, Inc. | Scalable statistics and analytics mechanisms in cloud networking |
US10601693B2 (en) | 2017-07-24 | 2020-03-24 | Cisco Technology, Inc. | System and method for providing scalable flow monitoring in a data center fabric |
US10541866B2 (en) | 2017-07-25 | 2020-01-21 | Cisco Technology, Inc. | Detecting and resolving multicast traffic performance issues |
CN107528742B (zh) * | 2017-09-28 | 2020-06-12 | 南京航空航天大学 | 一种面向云数据中心网络优化的虚拟机部署方法 |
US10353800B2 (en) | 2017-10-18 | 2019-07-16 | Cisco Technology, Inc. | System and method for graph based monitoring and management of distributed systems |
US11481362B2 (en) | 2017-11-13 | 2022-10-25 | Cisco Technology, Inc. | Using persistent memory to enable restartability of bulk load transactions in cloud databases |
US10922141B2 (en) * | 2017-12-11 | 2021-02-16 | Accenture Global Solutions Limited | Prescriptive analytics based committed compute reservation stack for cloud computing resource scheduling |
US10303492B1 (en) | 2017-12-13 | 2019-05-28 | Amazon Technologies, Inc. | Managing custom runtimes in an on-demand code execution system |
US10564946B1 (en) | 2017-12-13 | 2020-02-18 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
US10705882B2 (en) | 2017-12-21 | 2020-07-07 | Cisco Technology, Inc. | System and method for resource placement across clouds for data intensive workloads |
US11595474B2 (en) | 2017-12-28 | 2023-02-28 | Cisco Technology, Inc. | Accelerating data replication using multicast and non-volatile memory enabled nodes |
US10733085B1 (en) | 2018-02-05 | 2020-08-04 | Amazon Technologies, Inc. | Detecting impedance mismatches due to cross-service calls |
US10831898B1 (en) | 2018-02-05 | 2020-11-10 | Amazon Technologies, Inc. | Detecting privilege escalations in code including cross-service calls |
US10353678B1 (en) | 2018-02-05 | 2019-07-16 | Amazon Technologies, Inc. | Detecting code characteristic alterations due to cross-service calls |
US10572375B1 (en) | 2018-02-05 | 2020-02-25 | Amazon Technologies, Inc. | Detecting parameter validity in code including cross-service calls |
US10728343B2 (en) * | 2018-02-06 | 2020-07-28 | Citrix Systems, Inc. | Computing system providing cloud-based user profile management for virtual sessions and related methods |
US10725752B1 (en) | 2018-02-13 | 2020-07-28 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
US10776091B1 (en) | 2018-02-26 | 2020-09-15 | Amazon Technologies, Inc. | Logging endpoint in an on-demand code execution system |
US10511534B2 (en) | 2018-04-06 | 2019-12-17 | Cisco Technology, Inc. | Stateless distributed load-balancing |
US11080093B2 (en) * | 2018-04-12 | 2021-08-03 | Vmware, Inc. | Methods and systems to reclaim capacity of unused resources of a distributed computing system |
US10728361B2 (en) | 2018-05-29 | 2020-07-28 | Cisco Technology, Inc. | System for association of customer information across subscribers |
US10904322B2 (en) | 2018-06-15 | 2021-01-26 | Cisco Technology, Inc. | Systems and methods for scaling down cloud-based servers handling secure connections |
US10764266B2 (en) | 2018-06-19 | 2020-09-01 | Cisco Technology, Inc. | Distributed authentication and authorization for rapid scaling of containerized services |
US11019083B2 (en) | 2018-06-20 | 2021-05-25 | Cisco Technology, Inc. | System for coordinating distributed website analysis |
US10853115B2 (en) | 2018-06-25 | 2020-12-01 | Amazon Technologies, Inc. | Execution of auxiliary functions in an on-demand network code execution system |
US10649749B1 (en) | 2018-06-26 | 2020-05-12 | Amazon Technologies, Inc. | Cross-environment application of tracing information for improved code execution |
US11146569B1 (en) | 2018-06-28 | 2021-10-12 | Amazon Technologies, Inc. | Escalation-resistant secure network services using request-scoped authentication information |
US10949237B2 (en) | 2018-06-29 | 2021-03-16 | Amazon Technologies, Inc. | Operating system customization in an on-demand network code execution system |
US10819571B2 (en) | 2018-06-29 | 2020-10-27 | Cisco Technology, Inc. | Network traffic optimization using in-situ notification system |
US11099870B1 (en) | 2018-07-25 | 2021-08-24 | Amazon Technologies, Inc. | Reducing execution times in an on-demand network code execution system using saved machine states |
US10904342B2 (en) | 2018-07-30 | 2021-01-26 | Cisco Technology, Inc. | Container networking using communication tunnels |
US11144354B2 (en) | 2018-07-31 | 2021-10-12 | Vmware, Inc. | Method for repointing resources between hosts |
CN110928739B (zh) * | 2018-09-19 | 2024-03-26 | 阿里巴巴集团控股有限公司 | 一种进程监控方法、装置以及计算设备 |
US11243953B2 (en) | 2018-09-27 | 2022-02-08 | Amazon Technologies, Inc. | Mapreduce implementation in an on-demand network code execution system and stream data processing system |
US11099917B2 (en) | 2018-09-27 | 2021-08-24 | Amazon Technologies, Inc. | Efficient state maintenance for execution environments in an on-demand code execution system |
US10983806B2 (en) * | 2018-11-07 | 2021-04-20 | Sap Se | User interface for computer system usage types |
US11943093B1 (en) | 2018-11-20 | 2024-03-26 | Amazon Technologies, Inc. | Network connection recovery after virtual machine transition in an on-demand network code execution system |
US10884812B2 (en) | 2018-12-13 | 2021-01-05 | Amazon Technologies, Inc. | Performance-based hardware emulation in an on-demand network code execution system |
US10817046B2 (en) | 2018-12-31 | 2020-10-27 | Bmc Software, Inc. | Power saving through automated power scheduling of virtual machines |
US11010188B1 (en) | 2019-02-05 | 2021-05-18 | Amazon Technologies, Inc. | Simulated data object storage using on-demand computation of data objects |
US11861386B1 (en) | 2019-03-22 | 2024-01-02 | Amazon Technologies, Inc. | Application gateways in an on-demand network code execution system |
US11115268B2 (en) * | 2019-04-08 | 2021-09-07 | International Business Machines Corporation | Assistance in service provision |
US10819434B1 (en) | 2019-04-10 | 2020-10-27 | At&T Intellectual Property I, L.P. | Hybrid fiber coaxial fed 5G small cell surveillance with hybrid fiber coaxial hosted mobile edge computing |
US10977072B2 (en) | 2019-04-25 | 2021-04-13 | At&T Intellectual Property I, L.P. | Dedicated distribution of computing resources in virtualized environments |
US10848988B1 (en) | 2019-05-24 | 2020-11-24 | At&T Intellectual Property I, L.P. | Dynamic cloudlet fog node deployment architecture |
US11119809B1 (en) | 2019-06-20 | 2021-09-14 | Amazon Technologies, Inc. | Virtualization-based transaction handling in an on-demand network code execution system |
US11159528B2 (en) | 2019-06-28 | 2021-10-26 | Amazon Technologies, Inc. | Authentication to network-services using hosted authentication information |
US11115404B2 (en) | 2019-06-28 | 2021-09-07 | Amazon Technologies, Inc. | Facilitating service connections in serverless code executions |
US11190609B2 (en) | 2019-06-28 | 2021-11-30 | Amazon Technologies, Inc. | Connection pooling for scalable network services |
US10951692B1 (en) | 2019-08-23 | 2021-03-16 | International Business Machines Corporation | Deployment of microservices based on back-end resource affinity |
US11669365B1 (en) | 2019-08-26 | 2023-06-06 | Amazon Technologies, Inc. | Task pool for managed compute instances |
US11360948B2 (en) | 2019-09-27 | 2022-06-14 | Amazon Technologies, Inc. | Inserting owner-specified data processing pipelines into input/output path of object storage service |
US11023311B2 (en) | 2019-09-27 | 2021-06-01 | Amazon Technologies, Inc. | On-demand code execution in input path of data uploaded to storage service in multiple data portions |
US10996961B2 (en) | 2019-09-27 | 2021-05-04 | Amazon Technologies, Inc. | On-demand indexing of data in input path of object storage service |
US11386230B2 (en) | 2019-09-27 | 2022-07-12 | Amazon Technologies, Inc. | On-demand code obfuscation of data in input path of object storage service |
US11656892B1 (en) | 2019-09-27 | 2023-05-23 | Amazon Technologies, Inc. | Sequential execution of user-submitted code and native functions |
US11263220B2 (en) | 2019-09-27 | 2022-03-01 | Amazon Technologies, Inc. | On-demand execution of object transformation code in output path of object storage service |
US11250007B1 (en) | 2019-09-27 | 2022-02-15 | Amazon Technologies, Inc. | On-demand execution of object combination code in output path of object storage service |
US10908927B1 (en) | 2019-09-27 | 2021-02-02 | Amazon Technologies, Inc. | On-demand execution of object filter code in output path of object storage service |
US11055112B2 (en) | 2019-09-27 | 2021-07-06 | Amazon Technologies, Inc. | Inserting executions of owner-specified code into input/output path of object storage service |
US11106477B2 (en) | 2019-09-27 | 2021-08-31 | Amazon Technologies, Inc. | Execution of owner-specified code during input/output path to object storage service |
US11416628B2 (en) | 2019-09-27 | 2022-08-16 | Amazon Technologies, Inc. | User-specific data manipulation system for object storage service based on user-submitted code |
US11550944B2 (en) | 2019-09-27 | 2023-01-10 | Amazon Technologies, Inc. | Code execution environment customization system for object storage service |
US11023416B2 (en) | 2019-09-27 | 2021-06-01 | Amazon Technologies, Inc. | Data access control system for object storage service based on owner-defined code |
US11394761B1 (en) | 2019-09-27 | 2022-07-19 | Amazon Technologies, Inc. | Execution of user-submitted code on a stream of data |
US11119826B2 (en) | 2019-11-27 | 2021-09-14 | Amazon Technologies, Inc. | Serverless call distribution to implement spillover while avoiding cold starts |
US10942795B1 (en) | 2019-11-27 | 2021-03-09 | Amazon Technologies, Inc. | Serverless call distribution to utilize reserved capacity without inhibiting scaling |
US10924429B1 (en) | 2019-11-29 | 2021-02-16 | Amazon Technologies, Inc. | Using edge-optimized compute instances to execute user workloads at provider substrate extensions |
US11537377B2 (en) * | 2019-12-24 | 2022-12-27 | Atlassian Pty Ltd. | Method and system for profile based deployments |
US11714682B1 (en) | 2020-03-03 | 2023-08-01 | Amazon Technologies, Inc. | Reclaiming computing resources in an on-demand code execution system |
US11188391B1 (en) | 2020-03-11 | 2021-11-30 | Amazon Technologies, Inc. | Allocating resources to on-demand code executions under scarcity conditions |
US11775640B1 (en) | 2020-03-30 | 2023-10-03 | Amazon Technologies, Inc. | Resource utilization-based malicious task detection in an on-demand code execution system |
US11507431B2 (en) | 2020-04-01 | 2022-11-22 | Microsoft Technology Licensing, Llc | Resource allocation for virtual machines |
US11307889B2 (en) * | 2020-05-28 | 2022-04-19 | International Business Machines Corporation | Schedule virtual machines |
KR20220030050A (ko) * | 2020-09-02 | 2022-03-10 | 삼성전자주식회사 | 복수의 vnf(virtualized network function)에 대한 컴퓨팅 자원의 할당을 조정하는 방법 및 그 서버 |
US11593270B1 (en) | 2020-11-25 | 2023-02-28 | Amazon Technologies, Inc. | Fast distributed caching using erasure coded object parts |
US11550713B1 (en) | 2020-11-25 | 2023-01-10 | Amazon Technologies, Inc. | Garbage collection in distributed systems using life cycled storage roots |
US11947436B2 (en) | 2020-12-21 | 2024-04-02 | International Business Machines Corporation | Automatic evaluation of virtual machine computing power |
US11388210B1 (en) | 2021-06-30 | 2022-07-12 | Amazon Technologies, Inc. | Streaming analytics using a serverless compute system |
US11843546B1 (en) * | 2023-01-17 | 2023-12-12 | Capital One Services, Llc | Determining resource usage metrics for cloud computing systems |
Family Cites Families (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7788671B2 (en) * | 2004-11-01 | 2010-08-31 | International Business Machines Corporation | On-demand application resource allocation through dynamic reconfiguration of application cluster size and placement |
US8799431B2 (en) * | 2005-08-15 | 2014-08-05 | Toutvirtual Inc. | Virtual systems management |
US7685283B2 (en) * | 2006-01-23 | 2010-03-23 | International Business Machiens Corporation | Method for modeling on-demand free pool of resources |
US20070204266A1 (en) * | 2006-02-28 | 2007-08-30 | International Business Machines Corporation | Systems and methods for dynamically managing virtual machines |
US8078728B1 (en) * | 2006-03-31 | 2011-12-13 | Quest Software, Inc. | Capacity pooling for application reservation and delivery |
US20070271560A1 (en) * | 2006-05-18 | 2007-11-22 | Microsoft Corporation | Deploying virtual machine to host based on workload characterizations |
US8099487B1 (en) * | 2006-07-06 | 2012-01-17 | Netapp, Inc. | Systems and methods for determining placement of virtual machines |
WO2008084826A1 (ja) * | 2007-01-11 | 2008-07-17 | Nec Corporation | プロビジョニングシステム、方法、及び、プログラム |
JP4853717B2 (ja) * | 2007-02-23 | 2012-01-11 | 日本電気株式会社 | サーバ移行計画作成システム、サーバ移行計画作成方法 |
US8095929B1 (en) * | 2007-04-16 | 2012-01-10 | Vmware, Inc. | Method and system for determining a cost-benefit metric for potential virtual machine migrations |
US8065676B1 (en) * | 2007-04-24 | 2011-11-22 | Hewlett-Packard Development Company, L.P. | Automated provisioning of virtual machines for a virtual machine buffer pool and production pool |
US8543711B2 (en) * | 2007-04-30 | 2013-09-24 | Hewlett-Packard Development Company, L.P. | System and method for evaluating a pattern of resource demands of a workload |
US8291411B2 (en) * | 2007-05-21 | 2012-10-16 | International Business Machines Corporation | Dynamic placement of virtual machines for managing violations of service level agreements (SLAs) |
CA2697965C (en) * | 2007-08-31 | 2018-06-12 | Cirba Inc. | Method and system for evaluating virtualized environments |
US8903983B2 (en) * | 2008-02-29 | 2014-12-02 | Dell Software Inc. | Method, system and apparatus for managing, modeling, predicting, allocating and utilizing resources and bottlenecks in a computer network |
US20090265707A1 (en) * | 2008-04-21 | 2009-10-22 | Microsoft Corporation | Optimizing application performance on virtual machines automatically with end-user preferences |
US8966038B2 (en) * | 2008-08-28 | 2015-02-24 | Nec Corporation | Virtual server system and physical server selection method |
US8468535B1 (en) * | 2008-09-23 | 2013-06-18 | Gogrid, LLC | Automated system and method to provision and allocate hosting resources |
US8260603B2 (en) * | 2008-09-30 | 2012-09-04 | Hewlett-Packard Development Company, L.P. | Scaling a prediction model of resource usage of an application in a virtual environment |
US8180604B2 (en) * | 2008-09-30 | 2012-05-15 | Hewlett-Packard Development Company, L.P. | Optimizing a prediction of resource usage of multiple applications in a virtual environment |
US8782233B2 (en) * | 2008-11-26 | 2014-07-15 | Red Hat, Inc. | Embedding a cloud-based resource request in a specification language wrapper |
EP2389626A4 (de) * | 2009-01-23 | 2012-12-05 | Hewlett Packard Development Co | Verifizieren von virtuellen maschinen |
US8336049B2 (en) * | 2009-02-05 | 2012-12-18 | Vmware, Inc. | Virtual machine utility computing method and system |
US8789043B2 (en) * | 2009-03-24 | 2014-07-22 | International Business Machines Corporation | Optimized placement planning for virtual machines in a network by breaking relocation graph into one or more cores to apply different solutions |
JP5130375B2 (ja) * | 2009-03-25 | 2013-01-30 | 株式会社日立製作所 | コンピュータシステム、コンピュータシステムのリソース資源管理サーバ、及びコンピュータシステムのリソース管理方法 |
US8464267B2 (en) * | 2009-04-10 | 2013-06-11 | Microsoft Corporation | Virtual machine packing method using scarcity |
US8291416B2 (en) * | 2009-04-17 | 2012-10-16 | Citrix Systems, Inc. | Methods and systems for using a plurality of historical metrics to select a physical host for virtual machine execution |
US20100281478A1 (en) * | 2009-05-01 | 2010-11-04 | Microsoft Corporation | Multiphase virtual machine host capacity planning |
US8694638B2 (en) * | 2009-06-29 | 2014-04-08 | Red Hat Israel | Selecting a host from a host cluster to run a virtual machine |
EP2483778B1 (de) * | 2009-09-30 | 2019-09-04 | Citrix Systems, Inc. | Dynamische neuzuweisung von physischem, auf ereignisse einer virtuellen maschine reagierenden speicher |
US8789041B2 (en) * | 2009-12-18 | 2014-07-22 | Verizon Patent And Licensing Inc. | Method and system for bulk automated virtual machine deployment |
US8402140B2 (en) * | 2010-01-13 | 2013-03-19 | Nec Laboratories America, Inc. | Methods and apparatus for coordinated energy management in virtualized data centers |
US9027017B2 (en) * | 2010-02-22 | 2015-05-05 | Virtustream, Inc. | Methods and apparatus for movement of virtual resources within a data center environment |
US8464255B2 (en) * | 2010-03-12 | 2013-06-11 | Microsoft Corporation | Managing performance interference effects on cloud computing servers |
JP5544967B2 (ja) * | 2010-03-24 | 2014-07-09 | 富士通株式会社 | 仮想マシン管理プログラム及び仮想マシン管理装置 |
US8738333B1 (en) * | 2010-05-25 | 2014-05-27 | Vmware, Inc. | Capacity and load analysis in a datacenter |
JP5742125B2 (ja) * | 2010-07-21 | 2015-07-01 | 富士通株式会社 | プログラム、情報生成装置及び情報生成方法 |
JP2012032877A (ja) * | 2010-07-28 | 2012-02-16 | Fujitsu Ltd | 情報処理装置を管理するプログラム、管理方法および管理装置 |
US8769534B2 (en) * | 2010-09-23 | 2014-07-01 | Accenture Global Services Limited | Measuring CPU utilization in a cloud computing infrastructure by artificially executing a bursting application on a virtual machine |
US20120102291A1 (en) * | 2010-10-26 | 2012-04-26 | Dell Products, Lp | System and Method for Storage Allocation in a Cloud Environment |
JP2014038364A (ja) * | 2010-10-27 | 2014-02-27 | Hitachi Ltd | リソース管理サーバ、リソース管理方法及びリソース管理プログラム |
WO2011110026A1 (zh) * | 2010-10-29 | 2011-09-15 | 华为技术有限公司 | 一种实现数据中心资源负载均衡的方法及装置 |
US8499066B1 (en) * | 2010-11-19 | 2013-07-30 | Amazon Technologies, Inc. | Predicting long-term computing resource usage |
US8612615B2 (en) * | 2010-11-23 | 2013-12-17 | Red Hat, Inc. | Systems and methods for identifying usage histories for producing optimized cloud utilization |
US9442771B2 (en) * | 2010-11-24 | 2016-09-13 | Red Hat, Inc. | Generating configurable subscription parameters |
US8615579B1 (en) * | 2010-12-28 | 2013-12-24 | Amazon Technologies, Inc. | Managing virtual machine migration |
US8806487B2 (en) * | 2011-01-14 | 2014-08-12 | Nec Laboratories America, Inc. | Calculating virtual machine resource utilization information |
US8601483B2 (en) * | 2011-03-22 | 2013-12-03 | International Business Machines Corporation | Forecasting based service for virtual machine reassignment in computing environment |
US8606924B2 (en) * | 2011-03-29 | 2013-12-10 | Bmc Software, Inc. | Pre-bursting to external clouds |
US8843933B1 (en) * | 2011-05-25 | 2014-09-23 | Vmware, Inc. | System and method for managing a virtualized computing environment |
US8661182B2 (en) * | 2011-05-26 | 2014-02-25 | Vmware, Inc. | Capacity and load analysis using storage attributes |
US8631099B2 (en) * | 2011-05-27 | 2014-01-14 | Red Hat, Inc. | Systems and methods for cloud deployment engine for selective workload migration or federation based on workload conditions |
US9262498B2 (en) * | 2011-05-27 | 2016-02-16 | Red Hat, Inc. | Generating optimized host placement of data payload in cloud-based storage network |
US8782192B2 (en) * | 2011-05-31 | 2014-07-15 | Red Hat, Inc. | Detecting resource consumption events over sliding intervals in cloud-based network |
US8881142B1 (en) * | 2011-06-21 | 2014-11-04 | Amazon Technologies, Inc. | Determining and using probable instance lifetimes |
US8645950B2 (en) * | 2011-06-28 | 2014-02-04 | Microsoft Corporation | Virtual machine image analysis |
US9442769B2 (en) * | 2011-09-30 | 2016-09-13 | Red Hat, Inc. | Generating cloud deployment targets based on predictive workload estimation |
DE102012217202B4 (de) * | 2011-10-12 | 2020-06-18 | International Business Machines Corporation | Verfahren und System zum Optimieren des Platzierens virtueller Maschinen in Cloud-Computing-Umgebungen |
US8850442B2 (en) * | 2011-10-27 | 2014-09-30 | Verizon Patent And Licensing Inc. | Virtual machine allocation in a computing on-demand system |
US8739172B2 (en) * | 2012-01-16 | 2014-05-27 | Hewlett-Packard Development Company, L.P. | Generating a virtual machine placement plan for an identified seasonality of segments of an aggregated resource usage |
-
2012
- 2012-09-24 DE DE102012217202.5A patent/DE102012217202B4/de active Active
- 2012-10-04 GB GB1217787.9A patent/GB2495820B/en active Active
- 2012-10-09 US US13/647,677 patent/US9495215B2/en not_active Expired - Fee Related
-
2016
- 2016-10-14 US US15/294,550 patent/US10719343B2/en active Active
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015164023A1 (en) * | 2014-04-21 | 2015-10-29 | Vce Company, Llc | Systems and methods for physical and logical resource profiling, analysis and behavioral prediction |
US9342349B2 (en) | 2014-04-21 | 2016-05-17 | Vce Company, Llc | Systems and methods for physical and logical resource profiling, analysis and behavioral prediction |
US11336519B1 (en) * | 2015-03-10 | 2022-05-17 | Amazon Technologies, Inc. | Evaluating placement configurations for distributed resource placement |
Also Published As
Publication number | Publication date |
---|---|
GB201217787D0 (en) | 2012-11-14 |
US10719343B2 (en) | 2020-07-21 |
GB2495820B (en) | 2015-03-11 |
DE102012217202B4 (de) | 2020-06-18 |
GB2495820A8 (en) | 2013-05-08 |
GB2495820A (en) | 2013-04-24 |
US9495215B2 (en) | 2016-11-15 |
US20130097601A1 (en) | 2013-04-18 |
US20170031706A1 (en) | 2017-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102012217202B4 (de) | Verfahren und System zum Optimieren des Platzierens virtueller Maschinen in Cloud-Computing-Umgebungen | |
DE112011103829B4 (de) | Verfahren und System zum Erzeugen einer virtuellen Maschine auf der Grundlage von Vorlagen | |
DE102007016060B4 (de) | Computerarbeitslastneuverteilung | |
DE112006003081B4 (de) | Leistungspriorisierung in Multithreadprozessoren | |
DE60016283T2 (de) | Arbeitsbelastungsverwaltung in einer rechnerumgebung | |
DE102005030663A1 (de) | System und Verfahren zum Betreiben von Lastausgleichselementen für Mehrfachinstanzanwendungen | |
DE102016204680A1 (de) | Auswählen von Strategien zum Zuordnen von Ressourcen und Lösen von Ressourcenkonflikten | |
DE102010029209B4 (de) | Verfahren zur dynamischen Verteilung von einem oder mehreren Diensten in einem Netz aus einer Vielzahl von Rechnern | |
DE112016003249T5 (de) | Container-Bereitstellung auf Abhängigkeitsgrundlage | |
DE112011103979T5 (de) | Computerprogramm und System für ein Verfahren zur Optimierung der Speicherverwaltung einer auf einer virtuellen Maschine ausgeführten Anwendung | |
DE112011100094T5 (de) | Verfahren und System zum Abstrahieren eines auf nichtfunktionalen Anforderungen beruhenden Einsatzes von virtuellen Maschinen | |
DE102008030875A1 (de) | Abschätzung der Arbeitslast von Datenzentren | |
DE102004046046B4 (de) | Vorrichtung zum Einstellen eines Betriebsmittels | |
DE112021003276T5 (de) | Ressourcenverwaltung einer softwareanwendung mit mehreren softwarekomponenten | |
DE102020112531A1 (de) | Operationelle metrische Berechnung für Arbeitsbelastungstyp | |
DE112020004661T5 (de) | Ermitteln einer optimalen Anzahl von Threads pro Kern in einem Mehrkern-Prozessorkomplex | |
DE112004000870T5 (de) | Mehrkampagnen-Zuordnungsvorrichtung, die das Problem sich überschneidender Empfehlungen berücksichtigt | |
DE112021005586T5 (de) | Automatisches skalieren einer abfrage-steuerungsroutine für arbeitslasten im bereich big data auf unternehmensebene | |
DE102021127522A1 (de) | Verwaltung der arbeitsbelastung anhand eines trainierten modells | |
DE112013006588T5 (de) | Verwaltungssystem zum Verwalten eines Computersystems und Verwaltungsverfahren hierfür | |
DE102009056282A1 (de) | Technik zum Steuern von Verarbeitungsressourcen | |
DE102006046717B4 (de) | Dynamisch migrierende Kanäle | |
EP1634176B1 (de) | Clusteranordnung für dezentrale lastverteilung | |
DE112019005043T5 (de) | Streamzuweisung unter verwendung von stream-guthaben | |
DE102021130359A1 (de) | Ressourcenzuordnung auf der grundlage eines kontextbezogenen szenarios |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R016 | Response to examination communication | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R084 | Declaration of willingness to licence | ||
R020 | Patent grant now final |