DE102014116744A1 - Management von Informationstechnologieressourcen - Google Patents

Management von Informationstechnologieressourcen Download PDF

Info

Publication number
DE102014116744A1
DE102014116744A1 DE102014116744.9A DE102014116744A DE102014116744A1 DE 102014116744 A1 DE102014116744 A1 DE 102014116744A1 DE 102014116744 A DE102014116744 A DE 102014116744A DE 102014116744 A1 DE102014116744 A1 DE 102014116744A1
Authority
DE
Germany
Prior art keywords
resources
event
workload
application
scaling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE102014116744.9A
Other languages
English (en)
Inventor
Sreedhar B. Kodali
Daniel N. Millwood
Sandeep Raghav
Srinivasa B. Vadlamudi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/087,309 external-priority patent/US9727332B2/en
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102014116744A1 publication Critical patent/DE102014116744A1/de
Granted legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/83Admission control; Resource allocation based on usage prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Ausführungsformen beziehen sich auf das Management und die Skalierung von Informationstechnologie-Ressourcen. Gemäß einem Aspekt wird ein anstehendes Ereignis identifiziert, dass sich auf eine auf einer oder mehreren Ressourcen ausgeführte Anwendung auswirkt. Eine Workload wird für die Anwendung basierend auf dem identifizierten anstehenden Ereignis und historischen Daten zu einem vorherigen Ereignis, das eine Ähnlichkeit mit dem anstehenden Ereignis hat, vorhergesagt. Die Vorhersage wird unter Verwendung einer vordefinierten Regel durchgeführt. Unter Verwendung einer bisherigen Skalierungshistorie der Anwendung wird eine Anzahl von Ressourcen ermittelt, die zur Verarbeitung der vorhergesagten Workload erforderlich ist. Die Ressourcen werden basierend auf der ermittelten Anzahl der Ressourcen skaliert, die vor Eintreten des Ereignisses bestimmt wurde.

Description

  • Hintergrund
  • Die vorliegende Erfindung bezieht sich im Allgemeinen auf das Ressourcenmanagement und im Besonderen auf das Management und die Skalierung von Informationstechnologieressourcen.
  • Unternehmenssoftwaresysteme (Enterprise Software Systems) müssen Benutzern eine hohe Sicherheit beim Quality of Service (QoS) gewährleisten. Ein Ausfall bei der Bereitstellung des erforderlichen QoS führt im Unternehmen zu einer kleineren Benutzerbasis. Dementsprechend unterhalten Unternehmen Service-Level-Agreements (SLAs) mit dem Service Provider zur Aufrechterhaltung des QoS. Dies führt zu höheren Kosten für den Service Provider, da Ressourcen dergestalt zugewiesen werden müssen, dass der QoS aufrechterhalten wird.
  • Übersicht
  • Ausführungsformen weisen ein System, ein Computerprogrammprodukt und ein Verfahren zum Skalieren von Ressourcen auf. Ein anstehendes Ereignis wird identifiziert, dass sich auf eine auf einer oder mehreren Ressourcen arbeitenden (operating) Anwendung auswirkt. Eine Workload wird für die Anwendung basierend auf dem identifizierten anstehenden Ereignis und historischen Daten über ein vorheriges Ereignis vorhergesagt, das eine Ähnlichkeit mit dem anstehenden Ereignis hat. Die Vorhersage wird unter Verwendung einer vordefinierten Regel durchgeführt. Mithilfe einer bisherigen Skalierungshistorie der Anwendung wird eine Anzahl von Ressourcen ermittelt, die zur Verarbeitung der vorhergesagten Workload erforderlich ist. Die Ressourcen werden basierend auf der ermittelten Anzahl der Ressourcen skaliert, die vor Eintreten des Ereignisses bestimmt wurde.
  • Weitere Merkmale und Vorteile werden durch die Techniken der vorliegenden Offenlegung verwirklicht. Weitere Ausführungsformen und Aspekte der Offenlegung werden im vorliegenden Dokument detailliert beschrieben. Ein besseres Verständnis der Offenlegung mit den Vorteilen und Merkmalen wird unter Bezugnahme auf die Beschreibung und die Zeichnungen erhalten.
  • Kurzbeschreibung der verschiedenen Ansichten der Zeichnungen
  • Durch die detailliertere Beschreibungen einiger Ausführungsformen der vorliegenden Erfindung in den Zeichnungen im Anhang werden die obigen und andere Gegenstände, Merkmale und Vorteile der vorliegenden Offenlegung besser verständlich, wobei dieselben Bezugsziffern im Allgemeinen auf die gleichen Komponenten in den Ausführungsformen der vorliegenden Erfindung verweisen.
  • 1 stellt einen Cloud-Computing-Knoten gemäß einer Ausführungsform der vorliegenden Erfindung dar.
  • 2 stellt eine Cloud-Computing-Umgebung gemäß einer Ausführungsform der vorliegenden Erfindung dar.
  • 3 stellt Abstraktionsmodellschichten gemäß einer Ausführungsform der vorliegenden Erfindung dar.
  • 4 zeigt eine Veranschaulichung der Umgebung gemäß Aspekten von Ausführungsformen der vorliegenden Erfindung.
  • 5 zeigt einen beispielhaften Ablauf zur Durchführung von Aspekten der Ausführungsformen der vorliegenden Erfindung.
  • Detaillierte Beschreibung
  • Es versteht sich vorab, dass obwohl diese Offenlegung eine detaillierte Beschreibung von Cloud-Computing enthält, die Implementierung der hier ausgeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt sind. Stattdessen sind Ausführungsformen der vorliegenden Erfindung dazu ausgestaltet, sie in Verbindung mit jedem anderen Typ einer bekannten oder in Zukunft zu entwickelnden Computing-Umgebung zu implementieren.
  • Cloud-Computing ist ein Modell zur Bereitstellung von Services, um den bequemen Zugriff auf einen gemeinsamen Pool konfigurierbarer Computing-Ressourcen (z. B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Arbeitsspeicher, Speicher, Anwendungen, Virtual Machines und Services) über ein On-Demand-Netzwerk zu ermöglichen, die schnell bereitgestellt und mit minimalem Verwaltungsaufwand oder minimaler Interaktion mit einem Provider des Services freigegeben werden können. Dieses Cloud-Modell kann wenigstens fünf Eigenschaften, wenigstens drei Servicemodelle und wenigstens vier Deploymentmodelle beinhalten.
  • Die Eigenschaften lauten wie folgt:
    On-demand Self-Service: Ein Cloud Consumer (Cloud-Verbraucher) kann einseitig Computing-Einrichtungen, wie Serverzeit und Netzwerkspeicher, automatisch nach Bedarf beziehen, ohne dass dafür eine menschliche Interaktion mit dem Service-Provider erforderlich ist.
  • Breit angelegter Netzwerkzugriff: Einrichtungen sind über ein Netzwerk verfügbar, und es kann darauf über Standardmechanismen zugegriffen werden, die die Verwendung über heterogene Thin Client oder Thick Client-Plattformen (z. B. Mobiltelefone Laptops und PDAs) unterstützen.
  • Resource Pooling (Zusammenfassung in Pools): Die Computing-Ressourcen des Providers werden in einem Pool zusammengefasst, um mehrere Consumer in einem Multi-Tenant-Modell (Mehrmandantemodell) mit unterschiedlichen physischen und virtuellen Ressourcen zu bedienen, die nach Bedarf dynamisch zugewiesen und neu zugewiesen werden. Dies ist in einem gewissen Sinn ortsunabhängig, da der Consumer im Allgemeinen keine Kontrolle über den oder Kenntnis von dem exakten Speicherort der bereitgestellten Ressourcen hat, aber dazu in der Lage sein kann, einen Standort auf einer übergeordneten Abstraktionsebene (z. B. Land, Staat oder Rechenzentrum) anzugeben.
  • Rapid Elasticity (schnelle Elastizität): Die Einrichtungen können schnell und elastisch bereitgestellt werden, in einigen Fällen automatisch, um schnell hochskaliert zu werden und schnell wieder freigegeben und herunterskaliert zu werden. Für den Consumer erscheinen die für die Bereitstellung verfügbaren Einrichtungen oftmals als unbegrenzt und können in jeder beliebigen Menge zu jedem beliebigen Zeitpunkt bezogen werden.
  • Measured Service (gemessener Service): Cloud-Systeme kontrollieren und optimieren die Ressourcen automatisch durch die Nutzung einer Messeinrichtung auf einem bestimmten Abstraktionsniveau, das für den Servicetyp (z. B. Speicher, Verarbeitung, Bandbreite und aktive Benutzerkonten) angemessen ist. Die Ressourcennutzung kann überwacht, kontrolliert und berichtet werden, was sowohl für den Provider als auch für den Consumer des genutzten Service Transparenz bietet.
  • Die Servicemodelle lauten wie folgt:
    Software-as-a-Service (SaaS): Die dem Consumer bereitgestellte Einrichtung dient dazu, die Anwendungen des Providers, die auf einer Cloud-Infrastruktur ausgeführt werden, zu verwenden. Auf diese Anwendungen kann aus verschiedenen Clientgeräten über eine Thin Client Schnittstelle wie einem Webbrowser (z. B. webbasierte E-Mail) zugegriffen werden. Der Consumer übernimmt keine Verwaltung oder Kontrolle der zu Grunde liegenden Cloud-Infrastruktur einschließlich des Netzwerks, der Server, der Betriebssysteme, des Speichers oder sogar von einzelnen Anwendungseinrichtungen, wobei eine eingeschränkte benutzerspezifische Konfiguration von Anwendungseinstellungen in Ausnahmefällen möglich ist.
  • Platform-as-a-Service (PaaS): Die dem Consumer zur Verfügung gestellte Einrichtung muss auf vom Consumer erstellten oder erworbenen Anwendungen in der Cloud-Infrastruktur bereitgestellt werden, die mithilfe von vom Provider unterstützten Programmiersprachen und Tools erstellt wurden. Der Consumer übernimmt keine Verwaltung oder Kontrolle der zugrunde liegenden Cloud-Infrastruktur, wie Netzwerke, Server, Betriebssysteme oder Speicher, hat aber die vollständige Kontrolle über die bereitgestellten Anwendungen und die möglichen Konfigurationen der Umgebung zum Hosting von Anwendungen.
  • Infrastructure-as-a-Service (IaaS): Die dem Consumer bereitgestellte Einrichtung dient der Bereitstellung der Verarbeitung, von Speicher, Netzwerken und anderen grundlegenden Computing-Ressourcen, auf denen der Consumer beliebige Software bereitstellen und ausführen kam, wozu Betriebssysteme und Anwendungen gehören können. Der Consumer übernimmt keine Verwaltung oder Kontrolle der zu Grunde liegenden Cloud-Infrastruktur, hat aber die Kontrolle über Betriebssysteme, Speicher, bereitgestellte Anwendungen und hat möglicherweise eine beschränkte Kontrolle über die Auswahl der Netzwerkkomponenten (z. B. Host-Firewalls).
  • Die Deployment-Modelle lauten wie folgt:
    Private Cloud: Die Cloud-Infrastruktur wird nur für eine Organisation betrieben. Sie kann von der Organisation oder von Dritten verwaltet werden und kann vor Ort oder an einem externen Standort vorhanden sein.
  • Community Cloud: Die Cloud-Infrastruktur wird von verschiedenen Organisationen gemeinsam genutzt und unterstützt eine spezielle Community, die gemeinsame Interessen vertritt (z. B. Aufgabenstellung, Sicherheitsanforderungen, Richtlinien und Compliance-Überlegungen). Sie kann von den Organisationen oder einer dritten Partei verwaltet werden und kann vor Ort oder an einem externen Standort vorhanden sein.
  • Public Cloud (Öffentliche Cloud): Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und ist im Besitz einer Organisation, die Cloud-Services verkauft.
  • Hybride Cloud: Die Cloud-Infrastruktur setzt sich aus zwei oder mehr Clouds (privat, Community oder öffentlich) zusammen, die eigenständige Entitäten bleiben, aber zusammen über eine standardisierte oder proprietäre Technologie verbunden sind, die die Portabilität von Daten und Anwendungen ermöglicht (z. B. Cloud Bursting zum Lastenausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist serviceorientiert, wobei der Schwerpunkt auf einer zustandslosen, modularen und semantischen Interoperabilität mit geringer Kopplung liegt. Cloud-Computing ist im Wesentlichen eine Infrastruktur, die ein Netzwerk miteinander verbundener Knoten aufweist.
  • Es wird auf 1 Bezug genommen, in der eine beispielhafte Schemadarstellung eines Cloud-Computer-Knotens dargestellt ist. Der Cloud-Computing-Knoten 10 ist nur ein Beispiel einer geeigneten Cloud-Computing-Umgebung und soll keine Einschränkung des Verwendungsbereichs oder der Funktionalität der Ausführungsformen der hierin beschriebenen Erfindung darstellen. Unabhängig davon ist der Cloud-Computing-Knoten 10 dazu ausgestaltet, implementiert zu werden und/oder eine beliebige der oben dargelegten Funktionalitäten auszuführen.
  • Im Cloud-Computing-Knoten 10 gibt es ein Computer-System/einen Server 12, das/der mit einer Mehrzahl anderer allgemeiner oder spezieller Computing-System-Umgebungen oder -Konfigurationen betriebsfähig ist. Beispiele bekannter Computing-Systeme, -Umgebungen und/oder -Konfigurationen, die für die Verwendung mit dem Computer-System/Server 12 geeignet sein können, umfassen, ohne darauf beschränkt zu sein, Personal Computer-Systeme, Server-Computer-Systeme, Thin-Clients, Thick Clients, Hand-held- oder Laptop-Geräte, Multiprozessorsysteme, Mikroprozessor-basierte Systeme, Settop-Boxen, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputersysteme, Mainframe-Computersysteme und verteilte Computing-Umgebungen, die beliebige der obigen Systeme oder Geräte enthalten, und Ähnliches.
  • Das Computer-System/der Server 12 kann im allgemeinen Kontext von vom Computer ausführbaren Anweisungen beschrieben werden, wie Programmmodule, die von einem Computer ausgeführt werden. Im Allgemeinen können die Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen etc. enthalten, die bestimmte Aufgaben ausführen oder bestimmte abstrakten Datentypen implementieren. Das Computer-System/der Server 12 kann in verteilten Cloud-Computing-Umgebungen eingesetzt werden, wobei Aufgaben durch Verarbeitungsgeräte an Fernstandorten ausgeführt werden, die über ein Kommunikationsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können sich die Programmmodule auf Speichermedien von sowohl lokalen wie entfernten Computer-Systemen, einschließlich Arbeitsspeicher-Speichergeräten, befinden.
  • Wie in 1 dargestellt, wird ein Computer-System/ein Server 12 im Cloud-Computing-Knoten 10 als eine allgemeine Computing-Einrichtung dargestellt. Die Komponenten eines Computer-Systems/Servers 12 können aufweisen, ohne jedoch darauf beschränkt zu sein, einen oder mehrere Prozessoren oder Verarbeitungseinheiten 16, einen Systemspeicher 28 und einen Bus 18, der verschiedene Systemkomponenten einschließlich des Systemspeichers 28 mit dem Prozessor 16 koppelt.
  • Der Bus 18 stellt einen oder mehrere eines beliebigen von verschiedenen Busstrukturtypen dar, darunter einen Speicherbus oder einen Speicher-Controller (bzw. Speichersteuereinheit, Memory-Controller), einen Peripheriebus, einen beschleunigten Grafikport und einen Prozessor oder lokalen Bus, unter Verwendung einer beliebigen von verschiedenen Busarchitekturen. Zu diesen Architekturen gehören zum Beispiel, ohne dass dies als Einschränkung zu verstehen ist, der Industry Standard Architecture(ISA)-Bus, der Micro Channel Architecture (MCA) Bus, der Enhanced-ISA-(EISA)-Bus, der lokale Video Electronics Standards Association (VESA) Bus und der Peripheral Component Interconnect (PCI) Bus.
  • Das Computer-System/der Server 12 enthält üblicherweise eine Mehrzahl von computerlesbaren Medien. Solche Medien können beliebige verfügbare Medien sein, auf die ein Computer-System/Server 12 zugreifen kann, und dies beinhaltet sowohl flüchtige wie auch nicht flüchtige Medien, entfernbare und nicht entfernbare Medien.
  • Der Systemspeicher 28 kann von einem Computer-System lesbare Medien in der Form von flüchtigem Speicher, wie Direktzugriffsspeicher (RAM) 30 und/oder Cache-Speicher 32 beinhalten. Das Computer-System/der Server 12 kann weiterhin andere entfernbare/nicht entfernbare, flüchtige/nicht flüchtige Computer-System-Speichermedien beinhalten. Zum Beispiel kann das Speichersystem 34 zum Lesen von und zum Schreiben auf nicht entfernbare, nicht flüchtige Magnetmedien (nicht dargestellt und in der Regel als „Festplatte” bezeichnet) vorgesehen werden. Obwohl nicht dargestellt, kann ein Magnetplattenlaufwerk zum Lesen von und zum Schreiben auf ein entfernbares, nicht flüchtiges Magnetplattenmedium (wie eine „Diskette”) und ein optisches Plattenlaufwerk zum Lesen von einem entfernbaren, nicht flüchtigen optischen Plattenmedium oder zum Schreiben darauf, wie eine CD-ROM, DVD-ROM oder ein anderes optisches Medium vorgesehen werden. In solchen Fällen kann ein jedes mit dem Bus 18 durch eine oder mehrere Datenmedienschnittstellen verbunden sein. Wie im Folgenden weiter dargestellt und beschrieben, kann ein Speicher 28 wenigstens ein Programmprodukt mit einer Gruppe von (z. B. wenigstens einem) Programmmodulen enthalten, die dazu ausgebildet sind, die Funktionen der Ausführungsformen der Erfindung auszuführen.
  • Ein Programm/Dienstprogramm (bzw. Utility) 40 mit einer Gruppe von (wenigstens einem) Programmmodulen 42 kann beispielsweise – und nicht einschränkend zu verstehen – im Arbeitsspeicher 28 gespeichert werden, wie auch ein Betriebssystem, ein oder mehrere Anwendungsprogramme, weitere Programmmodule und Programmdaten. Ein jedes von dem Betriebssystem, einen oder mehreren Anwendungsprogrammen, weiteren Programmmodulen und Programmdaten oder einer bestimmten Kombination daraus kann eine Implementierung einer Netzwerkumgebung aufweisen. Programmmodule 42 führen im Allgemeinen die Funktionen und/oder Methodologien der Ausführungsformen der Erfindung, wie in diesem Dokument beschrieben, aus.
  • Das Computer-System/der Server 12 kann auch mit einem oder mehreren externen Geräten 14 kommunizieren, wie einer Tastatur, einem Zeigegerät, einem Bildschirm 24 usw.; einem oder mehreren Geräten, die einem Benutzer ermöglichen, mit dem Computer-System/Server 12 zu interagieren; und/oder beliebigen Geräten (z. B. Netzwerkkarte, Modem usw.), die einem Computer-System/Server 12 ermöglichen, mit einem oder mehreren anderen Computing-Geräten zu kommunizieren. Eine solche Kommunikation kann über Input/Output-(I/O bzw. Eingabe/Ausgabe)-Schnittstellen 22 erfolgen. Ferner kann ein Computer-System/Server 12 mit einem oder mehreren Netzwerken über einen Netzwerkadapter 20 kommunizieren, wie einem lokalen Netzwerk (LAN, Local Area Network), einem allgemeinen Weitbereichsnetzwerk (WAN, Wide Area Network) und/oder einem öffentlichen Netzwerk (z. B. das Internet). Wie dargestellt, kommuniziert der Netzwerkadapter 20 mit den anderen Komponenten des Computer-Systems/Servers 12 über den Bus 18. Es versteht sich, dass auch wenn nicht dargestellt, weitere Hardware- und/oder Software-Komponenten in Verbindung mit dem Computer-System/Server 12 verwendet werden können. Zu den Beispielen gehören, ohne jedoch darauf beschränkt zu sein: Microcode, Gerätetreiber, redundante Verarbeitungseinheiten, externe Plattenlaufwerk-Arrays, RAID-Systeme, Bandlaufwerke und Speichersysteme zur Datenarchivierung usw.
  • Es wird nun auf 2 Bezug genommen, in der zur Veranschaulichung eine Cloud-Computing-Umgebung 50 dargestellt ist. Wie dargestellt, weist die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 10 auf, mit denen von Cloud-Consumern verwendete lokale Computing-Geräte, wie beispielsweise ein persönlicher digitaler Assistent (PDA, Personal Digital Assistant) oder ein Mobiltelefon 54A, ein Desktopcomputer 54B, ein Laptop-Computer 54C und/oder ein Automobilcomputersystem 54N kommunizieren können. Die Knoten 10 können miteinander kommunizieren. Sie können physisch oder virtuell in einem oder mehreren Netzwerken, in Form von privaten, Community-, öffentlichen oder hybriden Clouds, wie oben beschrieben, oder in einer Kombination davon gruppiert werden (nicht dargestellt). Dadurch kann mit der Cloud-Computing-Umgebung 50 eine Infrastruktur, Plattformen und/oder Software as Services angeboten werden, für die ein Cloud-Consumer keine Ressourcen auf einem lokalen Computing-Gerät vorhalten muss. Es versteht sich, dass die in 2 dargestellten Typen von Computing-Geräten 54A–N nur der Veranschaulichung dienen und dass der Computing-Knoten 10 und die Cloud-Computing-Umgebung 50 mit jedem beliebigen Typ von computerbasiertem Gerät über jeden beliebigen Netzwerktyp und/oder in einem Netzwerk adressierbare Verbindung (z. B. mit einem Webbrowser) kommunizieren können.
  • Es wird nun auf 3 Bezug genommen, wo eine von der Cloud-Computing-Umgebung 50 (2) bereitgestellte Gruppe von funktionalen Abstraktionsschichten dargestellt ist. Es versteht sich vorab, dass die in 3 dargestellten Komponenten, Schichten und Funktionen nur der Veranschaulichung dienen sollen und Ausführungsformen der Erfindung nicht auf diese beschränkt sind. Wie dargestellt, werden die folgenden Schichten und entsprechende Funktionen bereitgestellt:
    Die Hardware- und Software-Schicht 60 beinhaltet die Hardware- und Software-Komponenten. Zu den Beispielen von Hardware-Komponenten gehören Mainframes, in einem Beispiel Systeme der IBM® zSeries®; Server, die auf der RISC(Reduced Instruction Set Computer)-Architektur basieren, in einem Beispiel Systeme der IBM pSeries®; Systeme der IBM xSeries®; Systeme des IBM BladeCenter®; Speichergeräte; Netzwerke und Netzwerkkomponenten. Zu den Beispielen der Software-Komponenten gehören der Netzwerk-Client, in einem Beispiel der IBM WebSphere®-Client, sowie Datenbanksoftware, in einem Beispiel die Datenbanksoftware IBM DB2®. (IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere und DB2 sind Markenzeichen der International Business Machines Corporation, die in vielen Jurisdiktionen weltweit registriert sind).
  • Die Virtualisierungsschicht 62 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele virtueller Entitäten bereitgestellt werden können: virtuelle Server; virtueller Speicher; virtuelle Netzwerke, darunter virtuelle private Netzwerke; virtuelle Anwendungen und Betriebssysteme; und virtuelle Clients.
  • In einem Beispiel kann die Verwaltungsschicht 64 die im Folgenden beschriebenen Funktionen bereitstellen: Die Bereitstellung von Ressourcen ermöglicht die dynamische Beschaffung von Computing-Ressourcen und anderer Ressourcen, die zur Durchführung von Aufgaben in der Cloud-Computing-Umgebung genutzt werden. Die Messung und Preisbildung ermöglicht die Verfolgung der Kosten, wenn Ressourcen in der Cloud-Computing-Umgebung genutzt werden, sowie die Abrechnung oder Rechnungsstellung für die Nutzung dieser Ressourcen. In einem Beispiel können diese Ressourcen Anwendungssoftware-Lizenzen umfassen. Die Sicherheit ermöglicht die Verifizierung der Identität für Cloud-Consumer und Aufgaben sowie einen Schutz der Daten und anderer Ressourcen. Ein Benutzerportal ermöglicht den Zugriff auf die Cloud-Computing-Umgebung für Consumer und Systemadministratoren. Ein Service-Level-Management ermöglicht die Zuweisung und die Verwaltung der Cloud-Computing-Ressourcen, sodass die erforderlichen Service-Levels erfüllt werden. Die Planung und Erfüllung des Service-Level-Agreements (SLA) ermöglicht das vorbereitende Arrangement für und die Beschaffung von Cloud-Computing-Ressourcen, für die in Übereinstimmung mit der SLA eine zukünftige Anforderung vorweggenommen wird. Weiterhin ist in der Verwaltungsschicht 64 die Ressourcen-Bereitstellung dargestellt, die die in den Ausführungsformen der vorliegenden Erfindung vorgesehene Funktionalität bildet.
  • Eine Workload-Schicht 66 stellt Beispiele der Funktionalität bereit, für die die Cloud-Computing-Umgebung genutzt werden kann. Zu den Beispielen der Workloads und Funktionen, die über diese Schicht bereitgestellt werden können, gehören: Mapping und Navigation; Softwareentwicklung und Lifecycle-Management; die Bereitstellung von Schulungen in virtuellen Schulungsräumen; Verarbeitung von Datenanalysen, Transaktionsverarbeitung und Mobile Desktop.
  • Es versteht sich, dass alle Funktionen der Ausführungsformen der vorliegenden Erfindung, wie in dem vorliegenden Dokument beschrieben, in der Regel durch die Ressourcen-Bereitstellungs-Verwaltungsschicht 64 durchgeführt werden können. Die Ressourcen-Bereitstellungs-Verwaltungsschicht 64 kann konkret implementiert werden als Modul des Programmcodes 42 des Programms/Utilities 40 von 1. Dies muss aber nicht der Fall sein. Stattdessen kann die hier aufgeführte Funktionalität durch eine beliebige der in 3 dargestellten Schichten 60 bis 66 durchgeführt, implementiert und/oder ermöglicht werden.
  • Es wird nochmals darauf hingewiesen, dass obwohl diese Offenlegung eine detaillierte Beschreibung des Cloud-Computings enthält, die Implementierung der hier ausgeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist. Stattdessen sind die Ausführungsformen der vorliegenden Erfindung dazu gedacht, mit einem beliebigen Typ einer bekannten oder in Zukunft zu entwickelnden vernetzten Computing-Umgebung implementiert zu werden.
  • 4 zeigt eine Veranschaulichung des Systems 70 gemäß Ausführungsformen der vorliegenden Erfindung. Das System 70 kann zur Verwaltung von Ressourcen 120 bereitgestellt werden, auf denen eine Anwendung ausgeführt wird. Z. B. können die Ressourcen 120 Informationstechnologien(IT)-Ressourcen sein und Bestandteil einer Cloud sein. Wie im Beispiel von 4 dargestellt, beinhaltet das System 70 eine Stream-Verarbeitungs-Engine 75, eine Datenbank 80 der anstehenden Ereignisse, eine Engine 85 zur Vorhersage der Workload und eine Datenbank 90 der Historiendaten. Die Stream-Verarbeitungs-Engine 75 ist dazu ausgebildet, Informations-Streams zu empfangen und die Informations-Streams zu verarbeiten, um anstehende Ereignisse zu identifizieren, die eine Auswirkung auf die Anwendung haben. In dem in 4 dargestellten Beispiel werden identifizierte anstehende Ereignisse in der Datenbank 80 der anstehenden Ereignisse gespeichert. Die Engine 85 zum Vorhersagen der Workload ist funktionsfähig mit der Datenbank 80 des anstehenden Ereignisses gekoppelt und ist dazu ausgestaltet, auf die darin gespeicherten anstehenden Ereignisse zuzugreifen.
  • Die Datenbank 90 der Historiendaten kann dazu ausgestaltet sein, die historischen Daten der vorherigen Ereignisse, die von einer Anwendung verarbeitet wurden, und eine bisherige Skalierungshistorie der Anwendung zu speichern. Die historischen Daten können eine historische Workload für die Anwendung gemäß vorheriger Ereignisse und historischen Informationen gemäß vorheriger Ereignisse beinhalten. Der Begriff „Workload” ist in dem vorliegenden Dokument als die Anzahl der von der Anwendung pro Sekunde durchgeführten Transaktionen definiert. Die historischen Informationen können geschäftliche Informationen oder anderen Informationen umfassen, die sich auf vorherige Ereignisse beziehen. Z. B., wenn sich die Anwendung auf den Online-Verkauf von Tickets bezieht, kann die geschäftliche Information die Anzahl der für das vorherige Ereignis verkauften Tickets beinhalten.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung ist die Engine 80 zum Vorhersagen der Workload dazu ausgestaltet, die anstehenden Ereignisse, die in der Datenbank 80 der anstehenden Ereignisse gespeichert sind, zum Vorhersagen einer Workload für die Anwendung aufgrund des anstehenden Ereignis zu überwachen. Gemäß einer Ausführungsform der vorliegenden Erfindung ist die Engine 85 zum Vorhersagen der Workload dazu ausgestaltet, die Workload für die Anwendung aufgrund des anstehenden Ereignisses unter Verwendung von in der Datenbank 90 der Historiendaten gespeicherten historischen Daten vorherzusagen. Die Engine 85 zum Vorhersagen der Workload kann die historischen Daten eines vorherigen Ereignisses verwenden, das eine Ähnlichkeit mit dem anstehenden Ereignis hat, um die Workload für die Anwendung vorherzusagen. Z. B. kann die Engine 85 zum Vorhersagen der Workload dazu ausgestaltet sein, das vorherige Ereignis, das eine Ähnlichkeit mit dem anstehenden Ereignis hat, durch Vergleich des anstehenden Ereignisses mit einem oder mehreren vorherigen Ereignissen, die in der Datenbank mit Historiendaten gespeichert sind, zu identifizieren.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung ist die Engine 85 zum Vorhersagen der Workload dazu ausgebildet, Regeln zum Vorhersagen der Workload anzuwenden. Die Vorhersage der Workload durch Anwendung von Regeln bietet den Vorteil, dass die Vorhersage basierend auf der Bedeutung des anstehenden Ereignisses geändert werden kann. Die Regeln können vordefiniert sein und der Engine 85 zur Vorhersage der Workload bereitgestellt werden. Z. B. können die Regeln mithilfe von Variablen definiert werden, und die Variablen können in Reaktion auf das anstehende Ereignis geändert werden. Regeln können von einem Regeldesigner definiert und in einer Regeldatenbank 95 gespeichert werden, die funktionsfähig mit der Engine 80 zum Vorhersagen der Workload verbunden ist. Die Engine 80 zum Vorhersagen der Workload kann die Regeln aus der Regeldatenbank 95 zum Vorhersagen der Workload für die Anwendung aufgrund des identifizierten anstehenden Ereignisses abrufen.
  • Gemäß einer Ausführungsform kann die Stream-Verarbeitungs-Engine 75 weiterhin dazu ausgestaltet sein, einen Popularitätswert (Popularity Score) für das identifizierte anstehende Ereignis zu bestimmen. In einer Ausführungsform kann der Popularitätswert bestimmt werden, indem die Social Media-Streams im Informationsstream analysiert werden, um die Popularität des anstehenden Ereignisses zu bestimmen. Der Popularitätswert des anstehenden Ereignisses kann in der Datenbank 80 der anstehenden Ereignisse gespeichert werden. Die Engine 85 zum Vorhersagen der Workload kann weiterhin dazu ausgebildet sein, die Workload mithilfe des Popularitätswerts vorherzusagen. Somit kann die Workload, die für ein anstehendes Ereignis mit einem hohem Popularitätswert vorhergesagt wurde, höher sein als die Workload, die für ein anstehendes Ereignis mit einem geringeren Popularitätswert vorhergesagt wurde.
  • Die von der Engine 85 zum Vorhersagen der Workload vorhergesagte Workload kann in der Datenbank 100 der zukünftigen Ereignisse gespeichert werden. Ein Skalierungsmodul 105, das funktionsfähig mit der Datenbank 100 der zukünftigen Ereignisse verbunden ist, kann dazu ausgestaltet sein, die vorhergesagte Workload für das anstehende Ereignis abzurufen. Das Skalierungsmodul 105 kann dazu ausgestaltet sein, die Anzahl der zur Verarbeitung der vorhergesagten Workload erforderlichen Ressourcen zu ermitteln. Gemäß einer Ausführungsform der vorliegenden Erfindung ist das Skalierungsmodul 105 dazu ausgebildet, unter Verwendung der bisherigen Skalierungshistorie der Ressourcen 120 die Anzahl der Ressourcen 120 zu ermitteln, die zur Verarbeitung der Workload erforderlich sind. Die bisherige Skalierungshistorie umfasst verschiedene Skalierungsinformationen der Ressourcen 120. Die bisherige Skalierungshistorie der Ressourcen 120 kann in der Datenbank 90 der Historiendaten speichert werden und das Skalierungsmodul 105 ist dazu ausgestaltet, die Skalierungshistorie aus der Datenbank 90 der Historiendaten abzurufen. Das Skalierungsmodul 105 kann auch dazu ausgestaltet sein, die Skalierungsinformationen für die Ressourcen 120 entsprechend einem Ereignis in der Datenbank 90 der Historiendaten zu speichern. Die in der Datenbank 90 der Historiendaten gespeicherten Skalierungsinformationen können zukünftig vom Skalierungsmodul 105 als bisherige Skalierungshistorie der Ressourcen 120 abgerufen werden. Z. B. kann die bisherige Skalierungshistorie in Form einer Look-up-Tabelle gespeichert werden, die die Workload der bisherigen Ereignisse und die Anzahl der Ressourcen 120 umfasst, die zum Verarbeiten der entsprechenden Workload erforderlich sind. Gemäß einer Ausführungsform der vorliegenden Erfindung kann das Skalierungsmodul 105 auch dazu ausgestaltet sein, die Zeitdauer der Hochskalierung der Ressourcen 120 in der Datenbank 90 der Historiendaten zu speichern. Z. B. kann die Zeitdauer der Hochskalierung der Ressourcen 120 für ein Ereignis der Datenbank 90 der Historiendaten bereitgestellt werden, und die historische Datenbank kann dazu ausgebildet sein, dieselbe zu speichern. Die Dauer kann auch in einer Look-up-Tabelle gespeichert werden, die die Workload und die Anzahl der Ressourcen 120 umfasst, die zum Verarbeiten der Workload erforderlich sind.
  • Gemäß einer Ausführungsform kann das Skalierungsmodul 105 dazu ausgestaltet sein, die Zeitdauer zu bestimmen, die zum Hochskalieren der die Anwendung unterstützenden Ressourcen 120 auf die bestimmte Anzahl erforderlich ist. Gemäß einer Ausführungsform kann das Skalierungsmodul 105 die Verwendung der bisherigen Skalierungshistorie bestimmen. Gemäß einer anderen Ausführungsform kann die Dauer der Skalierung von einer Ressource für die Anwendung dem Skalierungsmodul 105 bereitgestellt werden, und das Skalierungsmodul kann die Dauer bestimmen, die zum Hochskalieren der Ressourcen 120 auf die bestimmte Anzahl erforderlich ist Das Skalierungsmodul 105 kann dazu ausgestaltet sein, die Skalierung der Ressourcen 120 basierend auf der bestimmten Dauer zu initialisieren, sodass die Ressourcen 120 vor Auftreten des Ereignisses auf die bestimmte Anzahl hochskaliert werden. Z. B., wenn die Anwendung derzeit von vier Servern unterstützt wird und die Ressourcen 120 auf sechs Server hochskaliert werden müssen, kann das Skalierungsmodul 105 die Zeitdauer des Hochskalierens der Ressourcen 120 um zwei weitere Server bestimmen und die Skalierung demgemäß initialisieren, sodass sechs Server vor Auftreten des Ereignisses beginnen, die Anwendung zu unterstützen. Dies bietet den Vorteil, dass die Ressourcen 120 zur Unterstützung der Workload vor Auftreten des Ereignisses skaliert werden.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung, können die vordefinierten Regeln in Echtzeit geändert werden, bevor die Regel live geht. Demgemäß kann das System 70 eine Regeländerungsschnittstelle 110 aufweisen, um Änderungen der Regeln zu ermöglichen. Z. B. kann ein Analyst eine oder mehrere Variablen der vordefinierten Regeln über die Regeländerungsschnittstelle 110 ändern. Dies bietet den Vorteil, dass Regeln in Echtzeit basierend auf den aktuellen Erkenntnissen bezüglich der Anwendung geändert werden. Gemäß einer Ausführungsform der vorliegenden Erfindung kann ein Erkenntnismodul 115 betriebsbereit mit der Stream-Verarbeitungs-Engine 75 verbunden sein, um dem Analyst Erkenntnisse bezüglich der Anwendung bereitzustellen. Der Analyst kann basierend auf den aktuellen Erkenntnissen die Regeln zu ändern. Dies bietet den Vorteil, dass die Vorhersage der Workload optimiert werden kann.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung kann die Regel durch Modellierung der Vorhersage der Workload durch die Engine 85 zur Vorhersage der Workload unter Verwendung der Regel geprüft werden. Die Engine 85 zur Vorhersage der Workload kann die Workload unter Verwendung der Regel und der historischen Daten, die der Anwendung entsprechen, vorhersagen. Die historischen Daten, die der Anwendung entsprechen, können aus der Datenbank 90 der Historiendaten abgerufen werden, und die Regel kann unter Verwendung der historischen Daten verarbeitet werden, um die Workload für die Anwendung vorherzusagen. Die vorhergesagte Workload kann mit einer konkreten historischen Workload für die Anwendung verglichen werden, um die Vorhersage zu überprüfen. Basierend auf der Überprüfung können die Regeln geändert werden. Z. B. kann überprüft werden, ob die Anzahl der Ressourcen 120 die vorhergesagte Workload verarbeiten kann, oder ob eine oder mehrere der Ressourcen 120 zu diesem Zeitpunkt im Leerlauf sind. Dies bietet den Vorteil, dass die Regel so verifiziert wird, dass die Ressourcen 120 nicht verschwendet werden und dass die Ressourcen 120 auch dazu ausgebildet sind, die vorhergesagte Workload zu verarbeiten.
  • Gemäß einer Ausführungsform kann die Stream-Verarbeitungs-Engine 75 dazu ausgestaltet sein, ein oder mehrere Informations-Streams abzurufen, die einer webbasierten Information, Sensordaten, einem Audio-Stream, einem Video-Stream, einem Funk-Audio-Stream, internen Daten einer Organisation und Ähnlichem entsprechen. Die webbasierte Information kann Social Media-, Echtzeit-News-Streams oder Ähnliches beinhalten. Der Video-Stream kann TV-Daten-Streams und/oder Videoüberwachung-Daten-Streams beinhalten.
  • Die Funktionen der Stream-Verarbeitungs-Engine 75, der Engine 85 zum Vorhersagen der Workload und des Skalierungsmoduls 105 können vom Computer-System 12 von 1 durchgeführt werden. Die Datenbank 80 der anstehenden Ereignisse, die Datenbank 90 der Historiendaten, die Regeldatenbank 95 und die Datenbank 100 der zukünftigen Ereignisse können unter Verwendung des Speichersystems 34 von 1 implementiert werden.
  • Beispiel:
  • Die Engine 85 zum Vorhersagen der Workload ruft ein anstehendes Ereignis aus der Datenbank 80 der anstehenden Ereignisse ab. Die Engine 85 zum Vorhersagen der Workload ruft historische Daten eines vorherigen Ereignisses, die eine Ähnlichkeit mit dem anstehenden Ereignis haben, aus der Datenbank 90 der Historiendaten ab. Die historische Workload der Anwendung beträgt 800 Transaktionen pro Sekunde. Die Engine zum Vorhersagen der Workload ruft einen Popularitätswert des anstehenden Ereignisses ab. Der Popularitätswert des anstehenden Ereignisses liegt 20% über den bisherigen Ereignissen. Die Engine 85 zum Vorhersagen der Workload sagt vorher, dass die Workload für die Anwendung bei 960 Transaktionen pro Sekunde liegt, also 20% höher. Das Skalierungsmodul 105 bestimmt, dass durchschnittlich 200 Transaktionen pro Sekunde von zwei Servern verarbeitet werden. Es skaliert die Server vor Auftreten des Ereignisses von zwei auf zehn, sodass die vorhergesagte Workload verarbeitet werden kann.
  • 5 zeigt einen beispielhaften Ablauf für einen Prozess 500 gemäß Aspekten der vorliegenden Erfindung. In Ausführungsformen kann der Prozess 500 von dem System 70 in 4 durchgeführt werden.
  • Der Prozess startet bei Block 505. Bei Block 510 wird ein anstehendes Ereignis, das eine Anwendung, die auf einer oder mehreren Ressourcen (z. B. Ressourcen 120 in 4) ausgeführt wird, durch eine Stream-Verarbeitungs-Engine (z. B. die Stream-Verarbeitungs-Engine 75 in 4) identifiziert. Die Stream-Verarbeitungs-Engine kann dazu ausgestaltet sein, das anstehende Ereignis zu identifizieren, indem eine oder mehrere Informations-Streams aus einer oder mehreren Quellen verarbeitet werden. Bei Block 550 sagt eine Engine zum Vorhersagen der Workload (z. B. die Engine 85 zum Vorhersagen der Workload in 4) eine Workload für die Anwendung basierend auf dem identifizierten anstehenden Ereignis und historischen Daten eines vorherigen Ereignisses, das Ähnlichkeit mit dem anstehenden Ereignis hat, vorher, wobei die Vorhersage mithilfe einer vordefinierten Regel durchgeführt wird. Die historischen Daten des vorherigen Ereignisses, das eine Ähnlichkeit mit dem anstehenden Ereignis hat, können von der Engine zum Vorhersagen der Workload aus einer Datenbank der Historiendaten (z. B. der Datenbank 90 der Historiendaten in 4) abgerufen werden. Die vordefinierte Regel kann von der Engine zum Vorhersagen der Workload aus einer Regeldatenbank (z. B. die Regeldatenbank 95 in 4) abgerufen werden. Bei Block 520 ermittelt ein Skalierungsmodul (z. B. das Skalierungsmodul 105 in 4) eine Anzahl von Ressourcen, die zur Verarbeitung der vorhergesagten Workload unter Verwendung einer bisherigen Skalierungshistorie der Anwendung erforderlich sind. Die bisherige Skalierungshistorie der Anwendung kann durch das Skalierungsmodul aus der Datenbank der Historiendaten abgerufen werden. Bei Block 525 skaliert das Skalierungsmodul die Ressourcen basierend auf der ermittelten Anzahl der Ressourcen vor Auftreten des Ereignisses. Der Prozess endet bei Block 530.
  • Die in diesem Dokument beschriebenen Ausführungsformen ermöglichen die Vorhersage der Workload für eine Anwendung aufgrund eines Ereignisses und die Skalierung der Ressourcen basierend auf der Vorhersage. Dies bietet den Vorteil, dass die Quality of Service (QoS) beibehalten werden kann und die Kosten gering gehalten werden. Das Ereignis kann aus externen Informationsquellen oder unternehmensinternen Informationsquellen identifiziert werden. Die Vorhersage der Workload mithilfe von Regeln bietet den Vorteil, dass die Vorhersage basierend auf der Bedeutung des anstehenden Ereignis geändert werden kann. Das Hochskalieren der Ressourcen kann dergestalt initiiert werden, dass die Ressourcen vor Eintreten des Ereignisses hochskaliert werden, sodass die Anwendung bereit ist, die aus dem Ereignis resultierende Workload zu verarbeiten. Z. B. können die Ressourcen Teil einer Cloud sein, und die Ressourcen der Cloud können skaliert werden, um die Workload der in der Cloud auszuführenden Anwendungen zu erfüllen.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zu Zwecken der Veranschaulichung dargestellt, sie sind jedoch nicht dazu gedacht, erschöpfend oder auf die offengelegten Ausführungsformen beschränkt zu sein. Für Fachleute werden viele Modifikationen und Variationen ersichtlich sein, ohne dabei vom Umfang und Geist der beschriebenen Ausführungsformen abzuweichen. Die hier verwendete Terminologie wurde gewählt, um die Prinzipien der Ausführungsformen, der praktischen Anwendung oder der technischen Verbesserung gegenüber im Markt erhältlichen Technologien am besten zu erklären, oder um anderen Fachleuten das Verständnis der hier offengelegten Ausführungsformen zu ermöglichen.
  • Die hier verwendete Terminologie dient nur dem Zweck, bestimmte Ausführungsformen zu beschreiben und ist nicht dazu gedacht, die Offenlegung einzuschränken. Wie hier verwendet, sind die Singularformen „ein”, „eine” und „der”, „die” „das” dazu gedacht, auch die Pluralformen einzuschließen, sofern der Kontext dies nicht klar anders angibt. Es versteht sich, dass der Begriff „aufweist/umfasst” oder „aufweisend/umfassend”, wenn er in dieser Beschreibung verwendet wird, zur Angabe des Vorhandenseins angegebener Merkmale, Ganzzahlen, Schritte, Operationen, Elemente und/oder Komponenten verwendet wird, dies aber nicht das Vorhandensein oder das Hinzufügen eines oder mehrerer Merkmale, einer oder mehrerer Ganzzahlen, einer oder mehrerer Schritte, einer oder mehrerer Operationen, eines oder mehrerer Elemente, einer oder mehrerer Komponenten und/oder Gruppen hiervon ausschließt.
  • Die zugehörigen Strukturen, Materialien, Vorgänge und Entsprechungen aller Mittel oder Schritte zusammen mit den Funktionselementen in den folgenden Ansprüchen sind dazu gedacht, jede beliebige Struktur, jedes beliebige Material oder jeden beliebigen Vorgang einzuschließen, um die Funktion in Kombination mit anderen beanspruchten Elementen wie im Besonderen beansprucht durchzuführen. Die Beschreibung der vorliegenden Offenlegung wurde zum Zwecke der Veranschaulichung und Beschreibung dargelegt, es ist aber nicht beabsichtigt, dass sie erschöpfend oder auf die offengelegte Form der Erfindung beschränkt ist. Für Fachleute werden viele Änderungen und Variationen ersichtlich sein, ohne dabei vom Umfang und Geist der Offenlegung abzuweichen. Die Ausführungsformen wurden gewählt und in der Reihenfolge beschrieben, um die Prinzipien der Offenlegung und der praktischen Anwendung am besten zu erklären und um anderen Fachleuten zu ermöglichen, die Offenlegung in verschiedenen Ausführungsformen mit verschiedenen Änderungen zu verstehen, wie sie für die bestimmte vorgesehene Verwendung geeignet sind.
  • Weiterhin werden Fachleute verstehen, dass Aspekte der vorliegenden Offenlegung als System, Verfahren oder Computerprogrammprodukt ausgeführt werden können. Demgemäß können Aspekte der vorliegenden Offenlegung die Form einer reinen Hardware-Ausführungsform annehmen, einer reinen Software-Ausführungsform (einschließlich Firmware, speicherresidenter Software, Mikrocode usw.) oder einer Ausführungsform, die Software- und Hardwareaspekte vereint, die im Allgemeinen hier alle als „Schaltkreis”, „Modul” oder „System” bezeichnet werden können. Weiterhin können Aspekte der vorliegenden Offenlegung die Form eines Computerprogrammprodukts annehmen, das in einem computerlesbaren Medium oder mehreren computerlesbaren Medien, die computerlesbaren Programmcode enthalten, ausgeführt ist.
  • Jede Kombination aus einem computerlesbaren Medium oder mehreren computerlesbaren Medien kann verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Ein computerlesbares Speichermedium kann zum Beispiel, ohne jedoch darauf beschränkt zu sein, ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, -vorrichtung, -einrichtung oder jede geeignete Kombination aus den Vorherigen sein. Zu den weiteren speziellen Beispielen (eine nicht erschöpfende Liste) von computerlesbaren Speichermedien gehören folgende: eine elektrische Verbindung mit einem oder mehreren Kabeln, eine tragbare Computerdiskette, eine Festplatte, Direktzugriffsspeicher (RAM bzw. Random Access Memory), Festspeicher (ROM bzw. Read-only Memory), ein löschbarer programmierbarer Festspeicher (EPROM- oder Flash-Speicher), eine Glasfaser, ein tragbarer Compact Disc-Festspeicher (CD-ROM bzw. Compact Disc Read-only Memory), eine optische Speichereinrichtung, eine magnetische Speichereinrichtung oder jede geeignete Kombination des Vorherigen. Im Kontext dieses Dokuments kann ein computerlesbares Speichermedium jedes materielle Medium sein, das ein Programm für die Verwendung durch oder in Verbindung mit einem Anweisungsausführungssystem, einer Anweisungsausführungsvorrichtung oder einem Anweisungsausführungsgerät enthalten oder speichern kann.
  • Zu den computerlesbaren Signalmedien kann ein weitergeleitetes Datensignal mit computerlesbarem Programmcode darin gehören, zum Beispiel im Basisband oder als Teil einer Trägerwelle. Solch ein weitergeleitetes Signal kann eine beliebige einer Mehrzahl an Formen annehmen, einschließlich, ohne jedoch darauf beschränkt zu sein, eine elektromagnetische Form, optische Form oder jede geeignete Kombination davon. Ein computerlesbares Signalmedium kann ein beliebiges computerlesbares Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm zur Verwendung oder in Verbindung mit einem Anweisungsausführungssystem, einer Anweisungsausführungsvorrichtung oder einem Anweisungsausführungseinrichtung kommunizieren, weiterleiten oder transportieren kann.
  • Auf einem computerlesbaren Medium enthaltener Programmcode kann mit jedem angemessenen Medium übertragen werden, darunter, ohne darauf beschränkt zu sein, Funk, Kabel, Glasfaser, HF oder jede geeignete Kombination aus den vorherigen.
  • Computerprogrammcode zum Ausführen von Operationen für Aspekte der vorliegenden Offenlegung kann in jeder beliebigen Kombination einer oder mehreren Sprachen geschrieben sein, darunter objektorientierten Programmiersprachen wie Java, Smalltalk, C++ oder Ähnliches und herkömmlichen prozeduralen Programmiersprachen, wie die Programmiersprache „C” oder ähnliche Programmiersprachen. Der Programmcode kann ganz auf dem Computer des Benutzers ausgeführt werden, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernten Computer oder ganz auf dem entfernten Computer oder Server. In dem letzteren Szenario kann der entfernte Computer mit dem Computer des Benutzers über jede Art von Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN bzw. Local Area Network) oder ein Weitverkehrsnetzwerk (WAN bzw. Wide Area Network) oder die Verbindung kann zu einem externen Computer hergestellt werden (zum Beispiel über das Internet mit einem Internetdienstanbieter).
  • Aspekte der vorliegenden Offenlegung werden in diesem Dokument mit Bezugnahme auf Flussdiagrammabbildungen und/oder Blockdiagrammen von Verfahren, Vorrichtungen (Systeme) und Computerprogrammprodukten gemäß den Ausführungsformen der Offenlegung beschrieben. Es versteht sich, dass jeder Block der Flussdiagrammabbildungen und/oder der Blockdiagramme und Kombinationen der Blöcke in den Flussdiagrammabbildungen und/oder Blockdiagramme durch Computerprogrammanweisungen implementiert werden kann bzw. können. Diese Computerprogrammanweisungen können einem Prozessor eines Standardcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die Anweisungen, die über den Prozessor des Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Mittel zur Implementierung der im Flussdiagramm und/oder Blockdiagrammblock bzw. -blöcken angegebenen Funktionen/Vorgänge erstellen.
  • Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einrichtungen anweisen kann, in einer bestimmten Weise zu funktionieren, sodass die auf dem computerlesbaren Medium gespeicherten Anweisungen ein Produkt erstellen, das Anweisungen aufweist, die die Funktion/den Vorgang implementieren, der/die im Flussdiagramm und/oder Blockdiagrammblock bzw. -blöcken angegeben sind.
  • Die Computerprogrammanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Geräte geladen werden, um die Durchführung einer Reihe operativer Schritte auf dem Computer oder anderen programmierbaren Vorrichtungen oder anderen Geräten zu veranlassen, um einen computerimplementierten Prozess zu erzeugen, sodass die auf dem Computer oder der programmierbaren Vorrichtung ausgeführten Anweisungen die Prozesse zum Implementieren der Funktionen/Vorgänge bereitstellen, die in dem Flussdiagramm und/oder Blockdiagrammblock bzw. -blöcken angegeben sind.
  • Das Flussdiagramm und die Blockdiagramme in den Abbildungen (FIG.) veranschaulichen die Architektur, Funktionalität und Operation der möglichen Implementierungen der Systeme, Verfahren und Computerprogrammprodukte gemäß verschiedener Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block in den Flussdiagrammen oder in den Blockdiagrammen ein Modul, ein Segment oder einen Code-Abschnitt darstellen, der eine oder mehrere ausführbare Anweisungen zur Implementierung der angegebenen logischen Funktion(en) aufweist. Es sollte ebenso beachtet werden, dass in einigen alternativen Implementierungen die im Block angegebenen Funktionen nicht in der in den FIG. angegeben Reihenfolge auftreten können. Zum Beispiel können in Abhängigkeit von der beinhalteten Funktionalität zwei aufeinanderfolgende Blöcke im Wesentlichen gleichzeitig ausgeführt werden, oder Blöcke können manchmal in der umgekehrten Reihenfolge ausgeführt werden. Es sollte auch beachtet werden, dass jeder Block in den Blockdiagramm- und/oder Flussdiagrammabbildungen und die Kombinationen der Blöcke in den Blockdiagramm- und/oder Flussdiagrammabbildungen durch hardwarebasierte Spezialsysteme, die die angegebenen Funktionen oder Vorgänge ausführen, oder Kombinationen von Spezial-Hardware und Computeranweisungen implementiert werden kann.

Claims (12)

  1. Ein Verfahren zur Skalierung von Ressourcen, wobei das Verfahren aufweist: Identifizieren eines anstehenden Ereignisses, das sich auf eine auf einer oder mehreren Ressourcen ausgeführte Anwendung auswirkt. Vorhersagen eine Workload für die Anwendung basierend auf dem identifizierten anstehenden Ereignis und historischen Daten eines vorherigen Ereignisses, das eine Ähnlichkeit mit dem anstehenden Ereignis hat, wobei die Vorhersage mithilfe einer vordefinierten Regel durchgeführt wird; Ermitteln einer Anzahl von Ressourcen, die zur Verarbeitung der vorhergesagten Workload unter Verwendung einer bisherigen Skalierungshistorie der Anwendung erforderlich ist; und Skalieren der Ressourcen basierend auf der ermittelten Anzahl von Ressourcen vor Eintreten des Ereignisses.
  2. Das Verfahren nach Anspruch 1, das weiterhin aufweist: Bestimmen einer Zeitdauer der Skalierung der Ressourcen auf die Anzahl der bestimmten Ressourcen; und Initialisieren der Skalierung der Ressourcen basierend auf der Anzahl der ermittelten Ressourcen vor der bestimmten Zeitdauer des Eintretens des Ereignisses.
  3. Das Verfahren nach Anspruch 1, wobei die Identifizierung des anstehenden Ereignisses, das die auf einer oder mehreren Ressourcen ausgeführte Anwendung beeinflusst, das Überwachen von einen oder mehreren Informationsströmen aufweist, die von einer oder mehreren Quellen empfangen wurden, um das anstehenden Ereignis zu identifizieren.
  4. Das Verfahren nach Anspruch 3, wobei die Informations-Streams einer webbasierten Information, Sensordaten, einem Audio-Stream, einem Video-Stream oder einem Funk-Audio-Stream entsprechen.
  5. Das Verfahren nach Anspruch 1, wobei die historischen Daten eine historische Workload für die Anwendung entsprechend dem vorherigen Ereignis aufweisen.
  6. Das Verfahren nach Anspruch 1, wobei die historischen Daten historische Informationen entsprechend dem vorherigen Ereignis aufweisen.
  7. Das Verfahren nach Anspruch 1, wobei die Vorhersage der Workload für die Anwendung basierend auf dem identifizierten anstehenden Ereignis und den historischen Daten des vorherigen Ereignisses, das eine Ähnlichkeit mit dem anstehenden Ereignis hat, aufweist: Berechnen eines Popularitätswertes des anstehenden Ereignisses unter Verwendung der Informations-Streams; und Vorhersagen der Workload für die Anwendung basierend auf dem identifizierten anstehenden Ereignis, den historischen Daten des vorherigen Ereignisses und dem Popularitätswert des anstehenden Ereignisses.
  8. Das Verfahren nach Anspruch 1, das weiterhin aufweist: Modellieren der Vorhersage der Workload für die Anwendung unter Verwendung der vordefinierten Regel und der historischen Daten, die der Anwendung entsprechen; und Vergleichen der vorhergesagten Workload mit einer konkreten historischen Workload für die Anwendung; und Überprüfen der Vorhersage basierend auf dem Vergleich.
  9. Ein System, das aufweist: einen Arbeitsspeicher mit computerlesbaren Anweisungen; und einen Prozessor zum Ausführen der computerlesbaren Anweisung; wobei die Anweisungen beinhalten: Identifizieren eines anstehenden Ereignisses, das sich auf eine auf einer oder mehreren Ressourcen ausgeführte Anwendung auswirkt. Vorhersagen einer Workload für die Anwendung basierend auf dem identifizierten anstehenden Ereignis und historische Daten eines vorherigen Ereignisses, das eine Ähnlichkeit mit dem anstehenden Ereignis hat, wobei die Vorhersage mithilfe einer vordefinierten Regel durchgeführt wird; Ermitteln einer Anzahl von Ressourcen, die zur Verarbeitung der vorhergesagten Workload unter Verwendung einer bisherigen Skalierungshistorie der Anwendung erforderlich ist; und Skalieren der Ressourcen basierend auf der ermittelten Anzahl von Ressourcen vor Eintreten des Ereignisses.
  10. Das Verfahren nach Anspruch 9, wobei die Anweisungen weiterhin beinhalten: Bestimmen einer Zeitdauer der Skalierung der Ressourcen auf die Anzahl der bestimmten Ressourcen; und Initialisieren der Skalierung der Ressourcen basierend auf der Anzahl der ermittelten Ressourcen vor der bestimmten Zeitdauer des Eintretens des Ereignisses.
  11. Ein Computerprogrammprodukt zum Skalieren von Ressourcen, wobei das Computerprogrammprodukt umfasst: ein computerlesbares Speichermedium mit darauf verkörpertem Programmcode, wobei der Programmcode auf einem Prozessor ausführbar ist, um: ein anstehendes Ereignisses zu identifizieren, das sich auf eine auf einer oder mehreren Ressourcen ausgeführte Anwendung auswirkt. eine Workload für die Anwendung basierend auf dem identifizierten anstehenden Ereignis und historischen Daten eines vorherigen Ereignisses vorherzusagen, das eine Ähnlichkeit mit dem anstehenden Ereignis hat, wobei die Vorhersage mithilfe einer vordefinierten Regel durchgeführt wird; eine Anzahl von Ressourcen zu ermitteln, die zur Verarbeitung der vorhergesagten Workload unter Verwendung einer bisherigen Skalierungshistorie der Anwendung erforderlich ist; und die Ressourcen basierend auf der ermittelten Anzahl von Ressourcen vor Eintreten des Ereignisses zu skalieren.
  12. Das Computerprogrammprodukt nach Anspruch 11, wobei der Programmcode weiterhin ausführbar ist durch den Prozessor, um: eine Zeitdauer der Skalierung der Ressourcen auf die Anzahl der bestimmten Ressourcen zu bestimmen; und die Skalierung der Ressourcen basierend auf der Anzahl der ermittelten Ressourcen vor der bestimmten Zeitdauer des Eintretens des Ereignisses zu initialisieren.
DE102014116744.9A 2013-11-22 2014-11-17 Management von Informationstechnologieressourcen Granted DE102014116744A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14/087,309 2013-11-22
US14/087,309 US9727332B2 (en) 2013-11-22 2013-11-22 Information technology resource management
US14/297,718 US9729466B2 (en) 2013-11-22 2014-06-06 Information technology resource management
US14/297,718 2014-06-06

Publications (1)

Publication Number Publication Date
DE102014116744A1 true DE102014116744A1 (de) 2015-05-28

Family

ID=53045612

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014116744.9A Granted DE102014116744A1 (de) 2013-11-22 2014-11-17 Management von Informationstechnologieressourcen

Country Status (2)

Country Link
US (1) US9729466B2 (de)
DE (1) DE102014116744A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150244645A1 (en) * 2014-02-26 2015-08-27 Ca, Inc. Intelligent infrastructure capacity management
GB2570149B (en) * 2018-01-12 2020-05-06 Metaswitch Networks Ltd Scaling network functions
US11057315B1 (en) 2020-01-06 2021-07-06 International Business Machines Corporation Generating a scaling plan for external systems during cloud tenant onboarding/offboarding
US20230267019A1 (en) * 2022-02-21 2023-08-24 Capital One Services, Llc Perceptive scaling of computing resources
CN116382924B (zh) * 2023-06-02 2023-08-15 建信金融科技有限责任公司 资源配置的推荐方法、装置、电子设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7668813B2 (en) * 2006-08-11 2010-02-23 Yahoo! Inc. Techniques for searching future events
US8271974B2 (en) * 2008-10-08 2012-09-18 Kaavo Inc. Cloud computing lifecycle management for N-tier applications
US8423998B2 (en) * 2010-06-04 2013-04-16 International Business Machines Corporation System and method for virtual machine multiplexing for resource provisioning in compute clouds
US9003416B2 (en) * 2010-09-29 2015-04-07 International Business Machines Corporation Predicting resource requirements for a computer application
US8756609B2 (en) * 2011-12-30 2014-06-17 International Business Machines Corporation Dynamically scaling multi-tier applications vertically and horizontally in a cloud environment
US8732291B2 (en) * 2012-01-13 2014-05-20 Accenture Global Services Limited Performance interference model for managing consolidated workloads in QOS-aware clouds
US10552745B2 (en) * 2013-10-18 2020-02-04 Netflix, Inc. Predictive auto scaling engine

Also Published As

Publication number Publication date
US9729466B2 (en) 2017-08-08
US20150149618A1 (en) 2015-05-28

Similar Documents

Publication Publication Date Title
DE112012000444B4 (de) Verfahren, System und Computerprogrammprodukt zum Ermitteln einer optimalen Datenverarbeitungsumgebung zum Ausführen eines Abbildes sowie Verfahren zum Implementieren eines entsprechenden Systems
DE112012004336B4 (de) System, Verfahren und Programmprodukt für kostenbewusste Auswahl von Vorlagen zum Bereitstellen von gemeinsam genutzten Ressourcen
DE112012003505T5 (de) Automatisierte Auswahl von Funktionen zum Verringern der Speicherkapazität auf der Grundlage von Leistungsanforderungen
DE112012002941T5 (de) Anwendungsressourcenverwalter über eine Cloud
DE102012215219A1 (de) Ermitteln von Verteilungen von Abbildmustern von virtuellen Maschinen in einer vernetzten Datenverarbeitungsumgebung
DE102013205572A1 (de) Verwenden von softwarekomponenten-metadaten zum bereitstellen von virtuellen maschinen in einer vernetzten datenverarbeitungsumgebung
DE112012004999T5 (de) Beschleunigungselement zur Cloud-Bereitstellung
DE112010003886T5 (de) Bereitstellung von Diensten unter Verwendung eines Cloud-Dienste-Katalogs
DE112017003937T5 (de) System, Verfahren und Computerprogrammprodukt zur Störungserkennung und - Lokalisierung in Stromnetz
DE102012219363A1 (de) Ereignisvorhersage und Ermittlung von vorbeugenden Maßnahmen in einer vernetzten Datenverarbeitungsumgebung
DE112013004805T5 (de) Unterstützen eines koordinierten Zugriffs auf einen gemeinsam genutzten Speicher eines Dateisystems unter Verwendung einer automatischen Ausrichtung eines Protokolls für einen parallelen Dateizugriff und einer Metadatenverwaltung
DE112019001433T5 (de) Datenanonymisierung
DE102016103713A1 (de) Erkennung virtueller Maschineneinheiten auf der Grundlage eines Katalogs
DE112020002189T5 (de) Container-basierte anwendungen
DE102014116744A1 (de) Management von Informationstechnologieressourcen
DE102016105062A1 (de) Nähengestützte Berechtigungsprüfung für einheitenübergreifend verteilte Daten
DE102012220390A1 (de) Verwenden des geografischen Ortes zum Ermitteln von Element- und Gebietsdaten zum Bereitstellen an eine Datenverarbeitungseinheit
DE102021130396A1 (de) Datenzugriffsüberwachung und -steuerung
DE102013206354A1 (de) Adaptive Bewertung der Objektrelevanz auf der Grundlage dynamischer Benutzereigenschaften
DE112021003401T5 (de) Schattenexperimente für serverlose multi-tenant-cloud-dienste
DE112020005306T5 (de) Implementierung von arbeitslasten in einer multi-cloud-umgebung
DE112017005022T5 (de) Umladen der Bandverarbeitung auf Objektspeicher
US20180240052A1 (en) Recommendation service for ad-hoc business intelligence report analysis
DE112019002052T5 (de) Datenschutzsensibilisierung bei der bereitstellung von arbeitslasten
DE112021005927T5 (de) Patchen von arbeitsabläufen

Legal Events

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

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

Representative=s name: LIFETECH IP SPIES DANNER & PARTNER PATENTANWAE, DE

R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

Representative=s name: LIFETECH IP SPIES & BEHRNDT PATENTANWAELTE PAR, DE

R082 Change of representative

Representative=s name: SPIES & BEHRNDT PATENTANWAELTE PARTG MBB, DE

R084 Declaration of willingness to licence
R016 Response to examination communication
R018 Grant decision by examination section/examining division