-
GEBIET DER ERFINDUNG
-
Im Allgemeinen betrifft die vorliegende Erfindung Datenverarbeitung in Clouds. Insbesondere betrifft die vorliegende Erfindung cloudübergreifende gemeinsame Ressourcen-Nutzung (inter-cloud resource sharing) innerhalb einer Cloud-Datenverarbeitungsumgebung.
-
HINTERGRUND DER ERFINDUNG
-
Die Datenverarbeitung über Clouds ist zu einem beliebten Weg geworden, vielfältige Konzepte der Informationstechnologie (IT) als Dienste anzubieten. In einer Ausführung kann ein Abnehmer oder Anforderer einen gewünschten Dienst anfragen und mit einem Cloud-Anbieter Transaktionen für den benötigten Dienst durchführen. Die Geschäftsmöglichkeiten eines Cloud-Anbieters können jedoch durch die installierten physischen Ressourcen oder die Fähigkeit, weitere Ressourcen auf zeitnahe und kostengünstige Weise zu beschaffen, begrenzt oder eingeschränkt sein. Wenn der Kunde (Dienstanfrager) nicht ausreichend Vorlaufzeit eingeräumt hat, wird die Anfrage wahrscheinlich in vielen Fällen vom Cloud-Anbieter nicht oder nicht auf zeitnahe Weise erfüllt.
-
OFFENBARUNG DER ERFINDUNG
-
Diese Offenbarung beschreibt ein System und ein Verfahren zum Einrichten von Vereinbarungen und Richtlinien zur cloudübergreifenden gemeinsamen Ressourcen-Nutzung, so dass eine dynamische Erweiterung/Verringerung von Cloud-Ressourcen-Anfragen reibungslos erfüllt werden kann, ohne dass ein physischer Ausbau der primären Cloud-Infrastruktur erforderlich ist, und wobei das Bekanntgeben des Bedarfs nach zusätzlichen Ressourcen oder des Angebots, weitere Ressourcen bereitzustellen, über einen eingerichteten Markt gemakelt werden kann. Die finanzielle Transaktion unterstützt ein symbiotisches bilaterales Verfahren mit gleichen Anteilen (fare-share method), das mit einem Geschäftsmodell mit einem Wechsel zwischen Anbieter/Abnehmer besser harmoniert. Die Verwendung dieses Systems und dieses Verfahrens verringert deutlich die für die Antwort auf eine gegebene Cloud-Dienst-Anfrage benötigte Zeit und nutzt in vorteilhafter Weise ein Modell zur gemeinsamen Ressourcen-Nutzung unter eingerichteten Cloud-Anbietern.
-
Unter Anderem ermöglicht die vorliegende Erfindung Cloud-Anbietern Folgendes: Bekanntgeben ihres Ressourcen-Bedarfs auf einem eingerichteten Markt; Anbieten ihrer Ressourcen, um eine bestehende Anfrage eines Cloud-Anbieters zu befriedigen; und/oder Verwenden eines Verfahrens mit gleichen Anteilen('fair-sharing' method), das verwaltet, wie Ressourcen-Anfragen finanziert werden.
-
Ein erster Aspekt der vorliegenden Erfindung stellt ein Verfahren zur cloudübergreifenden gemeinsamen Ressourcen-Nutzung innerhalb einer Cloud-Datenverarbeitungsumgebung bereit, das Folgendes umfasst: Bewerten eines zum Erfüllen einer von einem ersten Cloud-Anbieter empfangenen Anfrage benötigten Ressourcen-Bedarfs; Feststellen, ob der erste Cloud-Anbieter Ressourcen verfügbar hat, um den Ressourcen-Bedarf zu decken; Suchen eines zweiten Cloud-Anbieters, der in der Lage ist, eine Lücke zwischen den verfügbaren Ressourcen für den ersten Cloud-Anbieter und dem Ressourcen-Bedarf zu schließen; und Verhandeln zwischen dem ersten Cloud-Anbieter und dem zweiten Cloud-Anbieter, um die Lücke mithilfe von Ressourcen des zweiten Cloud-Anbieters zu schließen.
-
Ein zweiter Aspekt der vorliegenden Erfindung stellt einen Cloud-Verwalter zum Verwalten der cloudübergreifenden gemeinsamen Ressourcen-Nutzung innerhalb einer Cloud-Datenverarbeitungsumgebung bereit, wobei der Cloud-Verwalter Folgendes umfasst: ein Speichermedium, das Anweisungen umfasst; ein mit dem Speichermedium verbundener Bus; und ein mit dem Bus verbundener Prozessor, der bei Ausführen der Anweisungen den Cloud-Verwalter zu Folgendem veranlasst: Bewerten eines zum Erfüllen einer von einem ersten Cloud-Anbieter empfangenen Anfrage benötigten Ressourcen-Bedarfs; Feststellen, ob der erste Cloud-Anbieter Ressourcen verfügbar hat, um den Ressourcen-Bedarf zu decken; Suchen eines zweiten Cloud-Anbieters, der in der Lage ist, eine Lücke zwischen den verfügbaren Ressourcen für den ersten Cloud-Anbieter und dem Ressourcen-Bedarf zu schließen; und Verhandeln zwischen dem ersten Cloud-Anbieter und dem zweiten Cloud-Anbieter, um die Lücke mithilfe von Ressourcen des zweiten Cloud-Anbieters zu schließen.
-
Ein dritter Aspekt der vorliegenden Erfindung stellt einen von einem Computer lesbaren Datenträger bereit, der ein Programmprodukt zum Verwalten cloudübergreifender gemeinsamer Ressourcen-Nutzung innerhalb einer Cloud-Datenverarbeitungsumgebung enthält, wobei der von einem Computer lesbare Datenträger Programmcode umfasst, der ein Computersystem zu Folgendem veranlasst: Bewerten eines zum Erfüllen einer von einem ersten Cloud-Anbieter empfangenen Anfrage benötigten Ressourcen-Bedarfs; Feststellen, ob der erste Cloud-Anbieter Ressourcen verfügbar hat, um den Ressourcen-Bedarf zu decken; Ausfindigmachen eines zweiten Cloud-Anbieters, der in der Lage ist, eine Lücke zwischen den verfügbaren Ressourcen für den ersten Cloud-Anbieter und dem Ressourcen-Bedarf zu schließen; und Verhandeln zwischen dem ersten Cloud-Anbieter und dem zweiten Cloud-Anbieter, um die Lücke mithilfe von Ressourcen des zweiten Cloud-Anbieters zu schließen.
-
Ein vierter Aspekt der vorliegenden Erfindung stellt ein Verfahren zum Bereitstellen eines Systems zum Verwalten cloudübergreifender Ressourcen-Nutzung innerhalb einer gemeinsamen Cloud-Datenverarbeitungsumgebung bereit, wobei das Verfahren Folgendes umfasst: Bereitstellen einer Computerinfrastruktur, die zu Folgendem in der Lage ist: Bewerten eines zum Erfüllen einer von einem ersten Cloud-Anbieter empfangenen Anfrage benötigten Ressourcen-Bedarfs; Feststellen, ob der erste Cloud-Anbieter Ressourcen verfügbar hat, um den Ressourcen-Bedarf zu decken; Suchen eines zweiten Cloud-Anbieters, der in der Lage ist, eine Lücke zwischen den verfügbaren Ressourcen für den ersten Cloud-Anbieter und dem Ressourcen-Bedarf zu schließen; und Verhandeln zwischen dem ersten Cloud-Anbieter und dem zweiten Cloud-Anbieter, um die Lücke mithilfe von Ressourcen des zweiten Cloud-Anbieters zu schließen.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Diese und weitere Merkmale dieser Erfindung werden anhand der folgenden detaillierten Beschreibung der vielfältigen Aspekte der vorliegenden Erfindung in Verbindung mit den begleitenden Zeichnungen leichter verständlich, in denen:
-
1 einen Cloud-Systemknoten gemäß der vorliegenden Erfindung zeigt;
-
2 eine Cloud-Datenverarbeitungsumgebung gemäß der vorliegenden Erfindung zeigt;
-
3 Cloud-Abstraktionsmodell-Schichten gemäß der vorliegenden Erfindung zeigt;
-
4 ein veranschaulichendes Beispiel einer cloudübergreifenden gemeinsamen Ressourcen-Nutzung gemäß der vorliegenden Erfindung zeigt;
-
5 ein veranschaulichendes Beispiel zeigt, wie Dienstabnehmer gemäß der vorliegenden Erfindung auf Dienste bei einem primären Cloud-Anbieter zugreifen;
-
6 ein veranschaulichendes Beispiel für Cloud-Transaktionsverfolgung nach dem Beispiel von 4 bis 5 gemäß der vorliegenden Erfindung zeigt; und
-
7 einen Ablaufplan eines Verfahrens gemäß der vorliegenden Erfindung zeigt.
-
Die Zeichnungen sind nicht notwendigerweise maßstäblich. Die Zeichnungen sind lediglich schematische Darstellungen und nicht als spezifische Parameter der vorliegenden Erfindung wiedergebend gedacht. Die Zeichnungen sollen nur typische Ausführungsformen der vorliegenden Erfindung abbilden und sind daher nicht als den Umfang der vorliegenden Erdfindung einschränkend anzusehen. In den Zeichnungen stehen gleiche Bezugsziffern für gleiche Elemente.
-
DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
-
Der Einfachheit halber ist die detaillierte Beschreibung der bevorzugten Ausführungsform in folgende Abschnitte untergliedert:
- I. Definitionen von Datenverarbeitung über Clouds
- II. Detaillierte Ausführung der bevorzugten Ausführungsformen
-
I. Definitionen von Datenverarbeitung über Clouds
-
-
„Datenverarbeitung über Clouds” (cloud-computing) ist ein Modell, einen einfachen bedarfsorientierten (on demand) Netzwerkzugriff auf einen gemeinsamen Bestand konfigurierbarer Computer-Ressourcen (z. B. Netzwerke, Server, Speicherung, Anwendungen und Dienste) zu ermöglichen, die rasch und mit minimalem Verwaltungsaufwand oder Interaktion des Dienstanbieters bereitgestellt und freigegeben werden können. Dieses Cloud-Modell fördert die Verfügbarkeit und umfasst mindestens fünf Charakteristika, drei Dienstmodelle und vier Bereitstellungsmodelle. Die Charakteristika sind die folgenden:
Bedarfsorientierte Selbstbedienung: Ein Abnehmer kann einseitig Computerkapazitäten wie Serverzeit oder Netzwerkspeicherung nach Bedarf automatisch bereitstellen, ohne dass menschliche Interaktion mit jedem Dienstanbieter erforderlich ist.
Breiter Netzwerkzugang: Kapazitäten sind über das Netzwerk verfügbar und durch Standardmechanismen zugänglich, welche die Verwendung durch heterogene schlanke (thin) oder umfangreiche (thick) Client-Plattformen (z. B. Mobiltelefone, Laptops und PDAs) fördern.
Ressourcen-Gruppierung: Die Computer-Ressourcen des Anbieters werden gruppiert, um mehrere Abnehmer unter Verwendung eines mandantenfähigen Modells (multi-tenant model) mit unterschiedlichen, je nach Abnehmerbedarf dynamisch zugewiesenen physischen und virtuellen Ressourcen bedienen zu können. Es ist insofern eine Ortsunabhängigkeit vorhanden, als der Kunde allgemein keine Kontrolle und kein Wissen über den exakten Standort der bereitgestellten Ressourcen besitzt, jedoch in der Lage sein kann, Standorte auf einer höheren Abstraktionsebene zu spezifizieren (z. B. Bezirk, Staat oder Datenzentrum). Zu Beispielen für Ressourcen zählen Speicherung, Verarbeitung, Arbeitsspeicher, Netzwerkbandbreite und virtuelle Maschinen.
Hohe Elastizität: Kapazitäten können zur schnellen Aufwärtsskalierung (scale out), in manchen Fällen automatisch, rasch und elastisch bereitgestellt und zur schnellen Abwärtsskalierung (scale in) rasch freigegeben werden. Für den Abnehmer erscheinen die zur Bereitstellung verfügbaren Ressourcen oft unbegrenzt und können zu jeder beliebigen Zeit in jeder beliebigen Menge erworben werden.
Gemessene Dienste: Cloud-Systeme steuern und optimieren die Ressourcen-Nutzung automatisch, indem auf einer gewissen Abstraktionsebene Messfähigkeiten eingesetzt werden, die der Art des Dienstes entsprechen (z. B. Speicherung, Verarbeitung, Bandbreite und aktive Benutzerkonten). Die Ressourcen-Nutzung kann überwacht, gesteuert und berichtet werden und so Transparenz für sowohl den Anbieter als auch den Abnehmer der genutzten Dienste bieten.
-
Die Dienstmodelle sind die folgenden:
Cloud-Software-als-Dienst (Cloud Software-as-a-Service SaaS): Die dem Abnehmer bereitgestellte Kapazität dient zur Nutzung der Anwendungen des Anbieters in einer Cloud-Infrastruktur. Die Anwendungen sind von vielfältigen Client-Einheiten aus über eine schlanke Client-Schnittstelle wie einen Web-Browser zugänglich (z. B. internetgestützte eMails). Der Abnehmer verwaltet oder steuert nicht die zugrundeliegende Cloud Infrastruktur einschließlich Netzwerk, Server, Betriebssysteme, Speicherung oder auch einzelne Anwendungskapazitäten, mit der möglichen Ausnahme begrenzter benutzerspezifischer Einstellmöglichkeiten zur Anwendungskonfiguration.
Cloud-Plattform-als-Dienst (Cloud Platform-as-a-Service PaaS): Die dem Abnehmer bereitgestellten Kapazitäten dienen dem Einsatz benutzererstellter oder -erworbener Anwendungen, die mittels vom Anbieter unterstützter Programmiersprachen oder Werkzeuge erstellt wurden. Der Abnehmer verwaltet oder steuert nicht die zugrundeliegende Cloud-Infrastruktur einschließlich Netzwerk, Server, Betriebssysteme oder Speicherung, hat jedoch die Kontrolle über die eingesetzten Anwendungen und möglicherweise Konfigurationen der die Anwendung beherbergenden Umgebung.
Cloud-Infrastruktur-als-ein-Dienst (Cloud Infrastructure as a Service IaaS): Die dem Abnehmer bereitgestellten Kapazitäten dienen der Bereitstellung von Verarbeitung, Speicherung, Netzwerken und anderen grundlegenden Computer-Ressourcen, wobei der Abnehmer in der Lage ist, beliebige Software einzusetzen und laufen zu lassen, was Betriebssysteme und Anwendungen einschließen kann. Der Abnehmer verwaltet oder steuert nicht die zugrundeliegende Cloud-Infrastruktur, hat jedoch die Kontrolle über Betriebssysteme, Speicherung, eingesetzte Anwendungen und möglicherweise begrenzte Kontrolle über ausgewählte Netzwerkkomponenten (z. B. Host-Firewalls).
-
Die Einsatzmodelle sind die folgenden:
Private Cloud: Die Cloud-Infrastruktur wird allein für eine Organisation betrieben. Sie kann durch die Organisation oder Dritte verwaltet werden und vor Ort oder außerhalb angeordnet sein.
Gemeinschafts-CLoud (community cloud): Die Cloud-Infrastruktur wird durch mehrere Organisationen gemeinsam genutzt und unterstützt eine bestimmte Gemeinschaft, die gemeinsame Interessen hat (z. B. Überlegungen zu Mission, Sicherheit, Anforderungen, Richtlinie und Einhaltung von Bestimmungen (compliance)). Sie kann durch die Organisationen oder Dritte verwaltet werden und vor Ort oder außerhalb angeordnet sein.
Öffentliche Cloud (public cloud): Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Branchengruppe zugänglich gemacht und befindet sich im Besitz einer Organisation, die Cloud-Dienste verkauft.
Hybrid-Cloud: Die Cloud-Infrastruktur setzt sich aus zwei oder mehr Clouds (privat, Gemeinschaft oder öffentlich) zusammen, die separate Einheiten bleiben, jedoch durch standardisierte oder firmeneigene Technologie verbunden sind, welche die Übertragbarkeit von Daten und Anwendungen ermöglicht (z. B. Cloud-Erweiterung (cloud bursting) für den Lastausgleich zwischen Clouds).
-
Cloud-Software nutzt das Cloud-Modell vorteilhaft, indem sie dienstorientiert ist, mit Schwerpunkten auf Zustandslosigkeit, geringe Anbindung, Modularität und semantische Kompatibilität.
-
II. Ausführung der bevorzugten Ausführungsform
-
Wie bereits vorstehend angegeben, beschreibt diese Offenbarung ein System und ein Verfahren zum Einrichten von Vereinbarungen und Richtlinien zur cloudübergreifenden gemeinsamen Ressourcen-Nutzung, so dass eine dynamische Erweiterung/Verringerung von Cloud-Ressourcen-Anfragen reibungslos erfüllt werden kann, ohne dass ein physischer Ausbau der primären Cloud-Infrastruktur erforderlich ist, wobei das Bekanntgeben des Bedarfs nach zusätzlichen Ressourcen oder des Angebots, weitere Ressourcen bereitzustellen, über einen eingerichteten Markt gemakelt werden kann. Die finanzielle Transaktion unterstützt ein symbiotisches bilaterales Verfahren mit gleichen Anteilen, das mit einem Geschäftsmodell mit einem Wechsel zwischen Anbieter/Abnehmer besser harmoniert. Die Verwendung dieses Systems und dieses Verfahrens verringert deutlich die für die Antwort auf eine gegebene Cloud-Dienst-Anfrage benötigte Zeit und nutzt in vorteilhafter Weise ein Modell zur gemeinsamen Ressourcen-Nutzung unter eingerichteten Cloud-Anbietern.
-
Unter Anderem ermöglicht die vorliegende Erfindung Cloud-Anbietern Folgendes: Bekanntgeben ihres Ressourcen-Bedarfs auf einem eingerichteten Markt; Anbieten ihrer Ressourcen, um eine bestehende Anfrage eines Cloud-Anbieters zu befriedigen; und/oder Verwenden eines Verfahrens mit gleichen Anteilen, das verwaltet, wie Ressourcen-Anfragen finanziert werden.
-
Ein Vorteil für Cloud-Anbieter liegt darin, dass sie in der Lage sind, ihre Ressourcen optimal zu nutzen, indem sie sie entweder anderen Cloud-Anbietern anbieten, die einen Bedarf geäußert haben, oder indem sie sie von Cloud-Anbietern anfragen, die sie zur Nutzung anbieten. Dies ermöglicht Cloud-Anbietern einen kostengünstigen Mechanismus, um die Kapazität ihrer Cloud-Infrastruktur dynamisch zu erweitern, ohne bei einem vorübergehenden Bedarf Kapital für die Beschaffung neuer Cloud-Ressourcen aufwenden zu müssen. Sie vermeiden einen großen Kapitalaufwand, der möglicherweise nicht gerechtfertigt ist, und sind in der Lage, auf einen höheren prozentualen Anteil der Dienstanfragen ihrer Kunden positiv zu reagieren. Darüber hinaus versucht der „kostenneutrale Algorithmus”, die ausgehenden Bedarfsanfragen von Cloud-Anbietern mit ausgehenden Lieferanfragen von Cloud-Anbietern zwischen den am Geschäftsnetzwerk teilnehmenden Cloud-Anbietern zu optimieren und dadurch Kapital- und Ausgabenaufwand weiter zu verringern,
Zurzeit gibt es Cloud-Anbieter in einzelnen Bereichen, und sie konzentrieren sich darauf, eine gegebene Ressource bereitzustellen, wie beispielsweise Zugang zu Computern, Computerspeicherung, Geschäftsanwendungen usw. Um ihren Kunden diese Cloud-Kapazitäten bereitzustellen, müssen die Cloud-Anbieter Zeit, Geld und Energie in den Ausbau ihrer IT-Infrastruktur stecken, um den von ihren Kunden zu erwartenden Bedarf zu decken. Wenn sie Überkapazitäten aufbauen, verringern sie ihre Kapitalrendite (return an capital investment) und wenn sie zu wenig Kapazität aufbauen, verlieren sie die Möglichkeit, Wachstum mitzunehmen. In der Lage zu sein, diesen kommenden Bedarf zu decken, ohne ihre Kapitalrendite zu beeinträchtigen, hilft ihnen dabei, profitable Unternehmen zu werden. Um in der Lage zu sein, diesen Ansatz durchzuführen, werden ein System und ein Verfahren zum Erlangen von Zugriff auf die erforderliche Menge an Cloud-Ressourcen außerhalb der primären errichteten Cloud-Infrastruktur benötigt.
-
Dies wird durch einen Übermittlungsmechanismus erreicht, der die Verfügbarkeit von Ressourcen ebenso wie den Bedarf an Ressourcen auf einem eingerichteten Markt aus teilnehmenden Cloud-Anbietern beschreibt, sowie durch einen Algorithmus, der die Transaktionen zwischen den einzelnen Cloud-Anbietern über ein Token-(Marken-)gestütztes Verfahren verwaltet, bei dem die Anzahl ausstehender Tokens bei einem beliebigen gegebenen Anbieter Einfluss auf die zukünftige Auswahl aufeinander abgestimmter Transaktionen und Mitglieder hat. In festgelegten Intervallen wird ein Abrechnungsbereinigungsmechanismus aufgerufen, um ausstehende Salden aufzulösen, die über normale Token-Transaktionen nicht das Ziel der Kostenneutralität erreicht haben. Insgesamt stellt diese Erfindung einen neuartigen Weg bereit, um einen dynamischen Ressourcen-Bedarf, der innerhalb einer Cloud-Umgebung auftritt, wirksam zu decken, ein Verfahren mit gleichen Anteilen zum Erreichen von Cloud-zu-Cloud-Transaktionen einzurichten und die Notwendigkeit kurzfristiger Infrastrukturkapitalkosten zu verringern.
-
In 1 wird eine schematische Darstellung eines beispielhaften Cloud-Computing-Knotens gezeigt. Der Cloud-Computing-Knoten 10 stellt nur ein Beispiel eines geeigneten Cloud-Computing-Knotens dar und soll nicht auf irgendeine Einschränkung im Hinblick auf den Umfang der Verwendung oder Funktionalität der hierin beschriebenen Erfindung hindeuten. Unabhängig davon ist der Cloud-Computing-Knoten 10 in der Lage, ausgeführt zu werden und/oder jede der im vorhergehenden Abschnitt I dargelegten Funktionalitäten durchzuführen.
-
Im Cloud-Datenverarbeitungsknoten 10 befindet sich ein Computersystem/Server 12, das/der mit zahlreichen anderen universellen oder zweckbestimmten Computersystemumgebungen oder Konfigurationen betrieben werden kann. Zu Beispielen allgemein bekannter Computersysteme, Umgebungen und/oder Konfigurationen, die für die Verwendung mit dem Computersystem/Server 12 geeignet sein können, zählen, ohne darauf beschränkt zu sein, Personal-Computer-Systeme (personal computer systems), Server-Computersysteme, schlanke Clients (thin clients), umfangreiche Clients (thick clients), handgeführte (handheld) oder Laptop-Einheiten, Mehrfachprozessorsysteme, mikroprozessorgestützte Systeme, Decoder (set top boxes), programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputersysteme, Großrechnersysteme (mainframe computer systems) und verteilte Cloud-Datenverarbeitungsumgebungen, die jedes beliebige der oben genannten Systeme oder der oben genannten Einheiten oder Ähnliches beinhalten.
-
Das Computersystem/der Server 12 kann im allgemeinen Kontext von durch Computersysteme ausführbaren Anweisungen beschrieben werden wie beispielsweise Programmmodule, die durch ein Computersystem ausgeführt werden. Im Allgemeinen enthalten Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen usw., die bestimmte Aufgaben (tasks) durchführen oder bestimmte abstrakte Datentypen ausbilden. Das beispielhafte Computersystem/der beispielhafte Server 12 kann in verteilten Cloud-Datenverarbeitungsumgebungen ausgebildet sein, bei denen Aufgaben durch entfernt angeordnete (remote) Verarbeitungseinheiten durchgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Datenverarbeitungsumgebung können sich Programmmodule sowohl in lokalen als auch entfernt angeordneten Computersystem-Speichermedien einschließlich Arbeitsspeichereinheiten befinden.
-
1 zeigt das Computersystem/den Server 12 im Cloud-Computing-Knoten 10 in Form einer universellen Computereinheit. Zu den Komponenten des Computersystems/des Servers 12 können, ohne darauf beschränkt zu sein, ein oder mehrere Prozessoren oder eine oder mehrere Verarbeitungseinheiten 16, ein Systemspeicher 28 und ein Bus 18 gehören, der vielfältige Systemkomponenten einschließlich des Systemarbeitsspeichers 28 mit dem Prozessor 16 verbindet.
-
Der Bus 18 steht für eine oder mehrere beliebige Arten von Busstrukturen, beispielsweise ein Speicherbus oder eine Speichersteuereinheit (memory controller), ein Peripherieeinheiten-Bus, ein beschleunigter Grafikanschluss oder ein Prozessor- oder lokaler Bus unter Verwendung jeder beliebigen einer Vielfalt von Busarchitekturen. Als Beispiel und ohne Einschränkung können zu solchen Architekturen der ISA-Bus (Industry Standard Architecture (ISA) bus), der MCA-Bus (Micro Channel Architecture (MCA) bus), der erweiterte ISA-Bus (Enhanced ISA (EISA) bus), der lokale VESA-Bus (Video Electronics Standards Association (VESA) local bus) und der PCI-Bus (Peripheral Component Interconnects (PCI) bus) gehören.
-
Das Computersystem/der Server 12 enthält üblicherweise eine Vielfalt von durch Computersysteme lesbaren Datenträgern. Bei solchen Datenträgern kann es sich um jeden beliebigen verfügbaren Datenträger, auf den durch das Computersystem/den Server 12 zugegriffen werden kann, um sowohl flüchtige als auch nichtflüchtige sowie wechselbare oder fest eingebaute Datenträger handeln.
-
Zum Systemspeicher 28 können durch Computersysteme lesbare Datenträger in Form von flüchtigem Speicher wie Speicher mit wahlfreiem Zugriff (random access memory (RAM)) 30 und/oder Cachespeicher 32 zählen. Zum Computersystem/Server 12 können weiterhin andere Wechsel-/Nicht-Wechsel-, flüchtige/nichtflüchtige Computersystem-Speichermedien gehören. Lediglich als Beispiel kann ein Speichersystem 34 für das Lesen von und Schreiben auf einen nichtflüchtigen Nicht-Wechsel-Magnetdatenträger bereitgestellt werden (nicht gezeigt und üblicherweise als „Festplattenlaufwerk” bezeichnet). Obwohl nicht abgebildet, kann auch ein magnetisches Festplattenlaufwerk zum Lesen von und Schreiben auf eine nichtflüchtige wechselbare magnetische Speicherplatte (z. B. eine „Floppy Disk”) oder ein optisches Festplattenlaufwerk zum Lesen von oder Schreiben auf eine nichtflüchtige optische Wechselspeicherplatte wie eine CD-ROM, DVD-ROM oder ein anderer optischer Datenträger bereitgestellt werden. In solchen Beispielen kann jedes Element durch eine oder mehrere Datenträgerschnittstellen mit dem Bus 18 verbunden sein. Wie nachfolgend weiterhin gezeigt und beschrieben wird, kann der Speicher 28 mindestens ein Programmprodukt enthalten, das einen Satz (z. B. mindestens einen) von Programmmodulen enthält, die so eingerichtet sind, dass sie die Funktionen der vorliegenden Erfindung ausführen können.
-
Im Speicher 28 können beispielsweise und ohne Einschränkung ein Programm/Dienstprogramm (utility) 40 mit einem Satz (mindestens einem) von Programmmodulen 42 sowie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten gespeichert sein. Jedes der folgenden Elemente oder eine Kombination aus ihnen kann eine Ausführung einer Netzwerkumgebung enthalten: das Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten. Die Programmmodule 42 führen allgemein die Funktionen und/oder Verfahrensweisen der vorliegenden Erfindung, wie sie hierin beschrieben ist, aus.
-
Das Computersystem/der Server 12 kann auch mit einer oder mehreren externen Einheiten 14 Daten austauschen wie beispielsweise eine Tastatur, eine Zeigeeinheit, eine Anzeige 24 usw.; eine oder mehrere Einheiten, mit denen ein Benutzer mit dem Computersystem/dem Server 12 interagieren kann und/oder jede beliebige Einheit (z. B. Netzwerkkarte, Modem usw.), durch die das Computersystem/der Server 12 mit einer oder mehreren anderen Computereinheiten Daten austauschen kann. Ein derartiger Datenaustausch kann über E/A-Schnittstellen 22 erfolgen. Des Weiteren kann das Computersystem/der Server 12 mit einem oder mehreren Netzwerken wie einem Nahbereichsnetzwerk (local area network (LAN)), einem allgemeinen Weitbereichsnetzwerk (wide area network (WAN)) und/oder einem öffentlichen Netzwerk (z. B. dem Internet) über den Netzwerkadapter 20 Daten austauschen. Wie dargestellt tauscht der Netzwerkadapter 20 mit den anderen Komponenten des Computersystems/Servers 12 üben den Bus 18 Daten aus. Es ist festzuhalten, dass auch andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Computersystem/Server 12 verwendet werden können, auch wenn sie nicht gezeigt sind. Zu Beispielen gehört, ohne darauf beschränkt zu sein, Folgendes: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Festplattenlaufwerkanordungen (disk drive arrays), RAID-Systeme, Bandlaufwerke und Datenarchivierungsspeichersysteme usw.
-
Unter Bezugnahme auf 2 wird nun eine veranschaulichende Cloud-Datenverarbeitungsumgebung 50 gezeigt. Wie abgebildet umfasst die Cloud-Datenverarbeitungsumgebung 50 einen oder mehrere Cloud-Datenverarbeitungsknoten 10, mit denen Computereinheiten wie zum Beispiel ein persönlicher digitaler Assistent (personal digital assistant (PDA)) oder ein Mobiltelefon 54A, ein Schreibtisch-Computer (desktop computer) 54B, ein Laptop-Computer 54C und/oder ein Automobil-Computersystem 54N Daten austauschen. Dadurch wird ermöglicht, dass Infrastruktur, Plattformen und/oder Software als Dienste (wie vorstehend in Abschnitt I beschrieben) von der Cloud-Datenverarbeitungsumgebung 50 angeboten werden können, so dass nicht jeder Kunde solche Ressourcen separat unterhalten muss. Es ist ersichtlich, dass die Arten der in 2 gezeigten Computereinheiten 54A bis 54N nur veranschaulichend gedacht sind, und dass die Cloud-Datenverarbeitungsumgebung 50 mit jeder beliebigen Art von computergesteuerten Einheiten über jede beliebige Art von Netzwerk und/oder Netzwerk-/adressierbarer Verbindung (z. B. unter Verwendung eines Web-Browsers) Daten austauschen kann.
-
3 zeigt einen Satz funktionaler Abstraktionsschichten, die durch die Cloud-Datenverarbeitungsumgebung 50 (2) bereitgestellt werden. Es ist im Vorfeld zu beachten, dass die in 3 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend gedacht sind und die vorliegende Erfindung nicht darauf beschränkt ist. Wie abgebildet, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
Eine Hardware- und Software-Schicht 60 beinhaltet Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten zählen Großrechner (mainframes), in einem Beispiel IBM® zSeries®-Systeme; auf RISC-Architektur (Reduced Instruction Set Computer – Computer mit verringertem Anweisungssatz) beruhende Server, in einem Beispiel IBM pSeries®-Systeme; IBM xSeries®-Systeme; IBM BladeCenter®-Systeme; Speichereinheiten; Netzwerke und Netzwerkkomponenten. Zu Beispielen für Software-Komponenten zählen Software für Netzwerkanwendungsserver, in einem Beispiel die Anwendungsserversoftware IBM WebSphere®; und Datenbanksoftware, in einem Beispiel die Datenbanksoftware IBM DB2®. (IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere und DB2 sind Marken der International Business Machines Corporation in den USA, anderen Ländern oder beidem.)
-
Die Virtualisierungsschicht 62 stellt eine Abstraktionsschicht bereit, von der die folgenden beispielhaften virtuellen Einheiten bereitgestellt werden können: virtuelle Server; virtuelle Speicherung; virtuelle Netzwerke, einschließlich virtuelle private Netzwerke; virtuelle Anwendungen und virtuelle Clients.
-
Die Verwaltungsschicht 64 stellt die nachfolgend beschriebenen beispielhaften Funktionen bereit. Die Ressourcen-Bereitstellung stellt eine dynamische Beschaffung von Computer-Ressourcen und anderen Ressourcen bereit, die verwendet werden, um Aufgaben innerhalb der Cloud-Datenverarbeitungsumgebung durchzuführen. Die Messung und Preisfindung stellt eine Kostenverfolgung bereit, wenn Ressourcen innerhalb der Cloud-Datenverarbeitungsumgebung verwendet werden, sowie die Abrechnung oder Rechnungserstellung für die Inanspruchnahme dieser Ressourcen. In einem Beispiel können diese Ressourcen Lizenzen für Anwendungs-Software umfassen. Die Sicherheit stellt eine Identitätsüberprüfung für Benutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Das Benutzerportal stellt Zugang zur Cloud-Datenverarbeitungsumgebung sowohl für Benutzer als auch Systemadministratoren bereit. Die Dienstgüteverwaltung (service level management) stellt die Zuweisung und Verwaltung von Cloud-Datenverarbeitungs-Ressourcen bereit, so dass erforderliche Dienstgüten erreicht werden. Die Dienstgütevereinbarungs-Planung und -Erfüllung (service Level Agreement (SLA) planning and fulfillment) stellt gemäß einer Dienstgütevereinbarung (SLA) eine Voranordnung für und eine Beschaffung von Cloud-Datenverarbeitungs-Ressourcen bereit, für die eine zukünftiger Bedarf zu erwarten ist.
-
Eine Arbeitslastschicht 66 stellt Funktionalität bereit, für welche die Cloud-Datenverarbeitungsumgebung verwendet wird. Zu Beispielen von Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, zählt Folgendes: Zuordnung (mapping) und Navigation; Software-Entwicklung und Lebensdauer-Verwaltung-(lifecycle management); Bereitstellung von Ausbildung in einem virtuellen Klassenzimmer; Datenanalyseverarbeitung; Transaktionsverarbeitung und Ressourcen-Verwaltung.
-
Im Allgemeinen führt die Funktionalität der Ressourcen-Verwaltung die Funktionen der vorliegenden Erfindung aus wie sie hierin in Verbindung mit 4 bis 7 erläutert sind. Wie vorstehend erläutert stellt die vorliegende Erfindung ein internetgestütztes Verzeichnis von Cloud-Anbietern bereit, die anderen Mitgliedern dieser privaten Gemeinschaft die Verfügbarkeit ihrer Cloud-Ressourcen übermitteln. Die Teilnahme an dieser Gemeinschaft kann sich in einer Ausführungsform auf Gebühren stützen.
-
Das Verzeichnis beschreibt die Ressourcen-Typen, die Ressourcen-Menge, die geplante und aktuelle Verfügbarkeit der Ressource, jedwede Einschränkungen bei der Ressourcen-Nutzung, und anzuwendende Bedingungen (z. B. die Kostenstruktur für $/Terabyte an Speicherung pro Tag/Nutzung). Die Zahlungsbedingungen geben vereinbarte Werte wieder, die ein bestimmtes Mitglied für die Verwendung seiner bestimmten Ressourcen bereit ist zu akzeptieren (z. B.: $/Terabyte von Speicherung pro Tag/Nutzung ist gleichwertig zu 2 CPUs pro Tag/Nutzung). Eine Transaktions-Engine (Transaktionsfunktionseinheit) analysiert sowohl im Vergleich zum Verzeichnis als auch zu bestimmten Transaktionsanfragen. Die Transaktionen werden durch ein tokengestütztes Austauschsystem dargestellt. Jedes Mitglied darf die Verzeichniseinträge ansehen, erhält jedoch keinen Einblick in Ressourcentransaktionen, an denen es nicht teilnimmt.
-
Unter Bezugnahme auf 4 werden diese Konzepte im Kontext zweier veranschaulichender Clouds, Cloud A und Cloud B, erläutert. Insbesondere zeigt die Abbildung einen Beispielausschnitt der durch die beiden Clouds angebotenen Dienste. Es wird nun ein Beispiel betrachtet, in dem Cloud A eine Anfrage nach einem Dienst empfängt, der sowohl Computersysteme als auch Speichersysteme erfordert. In diesem Fall wird weiter angenommen, dass Cloud A nicht in der Lage ist, die Anforderungen vollständig zu erfüllen, da sie keine Kapazität zur Bereitstellung von Speicherplatz besitzt. Mittels eines Cloud-Anbieter-Verzeichnisses werden andere Cloud-Anbieter innerhalb des privaten Netzwerks gesucht, die in der Lage sein können, Speicherplatz bereitzustellen. Es wird angenommen, dass mehrere Cloud-Anbieter gefunden werden (von denen einer Cloud B ist). Mittels einer Kombination von beiden kann eine Zuweisung benötigter Anforderungen aufgrund von (jedoch nicht beschränkt auf) Kapazitäten, Preis und einer Prioritätsliste erzeugt werden. Eine Token-Anzahl kann ebenfalls berücksichtigt werden. Das heißt, eine Anzahl oder ein Zähler kann wiedergeben, wie „VERSCHULDET” Cloud A gegenüber der gesuchten Cloud ist. Im Beispiel von 2 kann Cloud B um –2 verschuldet sein. Dies bedeutet, dass Cloud B zweimal Cloud A verwendet hat, jedoch nicht umgekehrt. Daher wird Cloud B aufgrund ihrer Schuld gegenüber Cloud A ausgewählt. Auf der Grundlage einer mathematischen Berechnung kann die Token-Anzahl von Cloud B abgezogen und Cloud A hinzugefügt werden. In 4 beinhalten die veranschaulichenden Einschränkungen den Begriff „Unix®”, bei dem es sich um eine Marke von „The Open Group” in den USA und anderen Ländern handelt, und den Begriff „DB2®”, bei dem es sich um eine Marke der IBM Corp. in den USA und/oder anderen Ländern handelt.
-
Am Ende eines Zeitraums kann eine „Aufrechnung” (true up) stattfinden, wobei Preise und andere finanzielle Verpflichtungen berechnet werden. Das Ziel ist die Minimierung von Geldtransfer durch Sicherstellen gleicher Anteile. Im Beispiel von 5 greifen Dienstabnehmer 70 auf Dienste bei einem primären Cloud-Anbieter 72A zu. Der Cloud-Anbieter 72A kann Dienstanfragen an die Cloud-Gemeinschaft über das Internet-Portal oder ein anderes Medium 76 richten. Das Portal 76 unterhält das Verzeichnis 78 verfügbarer Ressourcen und der spezifischen Attribute jeder Ressource (z. B. Preis, Verfügbarkeit, Typ usw.). Darüber hinaus können Cloud-Anbieter 72B bis 72N ihren Ressourcen-Bedarf oder ihre Ressourcen-Angebote übermitteln. Eine Transaktions-Engine 80 betreibt die analytische Bewertung, welcher Anbieter der „beste” für eine gegebene Transaktion ist.
-
Mit einer eingerichteten Mitgliederschaft von Cloud-Anbietern und deren jeweiligen, im Verzeichnis festgehaltenen und verfügbaren Ressourcen sind die Cloud-Mitglieder in der Lage, das Verzeichnis bedarfsgemäß abzufragen. Wenn unter Bezugnahme auf 6 zum Beispiel ein Cloud-Anbieter 82A feststellt, dass ein Bedarf an zusätzlichen Computerservern besteht, um den Bedarf seiner Kunden zu erfüllen, kann er das Verzeichnis 78 nach verfügbaren Ressourcen abfragen, die seinen Bedarf decken. Wird eine Vereinbarung über eine Transaktion, in diesem Beispiel mit einem Standard-Cloud-Anbieter 82B, getroffen, wird diese Information in der Transaktions-Engine 80 erfasst. Im Allgemeinen führt die Transaktions-Engine 80 einen Algorithmus aus, der Transaktionen für jedes Mitglied verfolgt, so dass zukünftige Transaktionen hinsichtlich des Ziels der Kostenneutralitt optimiert werden. In diesem Fall muss dem Acme-Cloud-Anbieter 82A ein Token zugewiesen werden, das wiedergibt, dass mit dem Standard-Cloud-Anbieter 82B kein ausgeglichener Saldo besteht. Im nachfolgenden Beispiel hat die Transaktions-Engine 80 festgestellt, dass mindestens zwei Cloud-Anbieter die Ressourcen-Anfrage von Acme-Cloud-Anbieter 82A erfüllen können und hat ebenfalls erkannt, dass „Cloud-Anbieter: Standard” einen negativen Token-Saldo gegenüber dem Acme-Cloud-Anbieter 82B aufweist, wohingegen „Cloud-Anbieter: Ace” einen positiven Token-Saldo aufweist. Es ist daher zu diesem Zeitpunkt vorteilhaft für Acme, die Transaktion mit der Standard-Cloud durchzuführen, anstatt das mit Ace bestehende Saldo ausstehender Tokens zu vergrößern. Die Transaktions-Engine 80 aktualisiert die Token-Salden zwischen Acme und Standard und bestätigt die Transaktion. Sollten vor dem zuvor festgelegten Aufrechnungszyklus keine weiteren Transaktionen mehr zwischen Acme und Standard auftreten, wäre der Standard-Cloud-Anbieter 82B verpflichtet, seine Schuld ausstehender Tokens (z. B. 2) gegenüber dem Acme-Cloud-Anbieter 82A zu begleichen.
-
Wenn in einem Beispiel Standard-Cloud-Anbieter 82A sechs Mal eine Transaktion zur Bereitstellung von Ressourcen an Acme durchgeführt hat und somit sechs ausstehende Tokens mit dem Acme-Cloud-Anbieter 82B aufweist, schlägt die Transaktions-Engine dem Standard-Cloud-Anbieter 82A vor, jeglichen zukünftig vorhandenen Ressourcen-Bedarf mit dem Acme-Cloud-Anbieter 82B als erste Priorität vorzunehmen. Gleichermaßen werden im Falle, dass der Standard-Cloud-Anbieter 82A Transaktionen aufweist, die einem bestimmten Mitglied Ressourcen zur Verfügung stellten, zukünftigen Ressourcen-Nachfragen gegenüber diesen Mitgliedern Priorität eingeräumt. Zusätzliche in der Transaktions-Engine eingebettete Prioritätseinräumungen beinhalten Vorlieben für Preis, Qualität des Dienstes und Dienstgüte.
-
Unter Bezugnahme auf 7 wird nun ein Verfahrensablaufplan gemäß der vorliegenden Erfindung gezeigt. Wie gezeigt, wird in Schritt S1 eine Anfrage nach Cloud-Diensten von einem ersten Cloud-Anbieter empfangen. In Schritt S2 wird ein Ressourcen-Bedarf, der zur Erfüllung der Anfrage benötigt wird, bewertet. In Schritt S3 wird festgestellt, ob der erste Cloud-Anbieter verfügbare Ressourcen besitzt, um den Ressourcen-Bedarf zu decken. Falls ja, wird die Anfrage in Schritt S7 erfüllt. Falls nein, wird in Schritt S4 ein zweiter Cloud-Provider gesucht, der in der Lage ist, eine Lücke zwischen den beim ersten Cloud-Anbieter verfügbaren Ressourcen und dem Ressourcen-Bedarf zu schließen. In Schritt S5 wird zwischen dem ersten Cloud-Anbieter und dem zweiten Cloud-Anbieter eine Zuweisung von Ressourcen vereinbart, um die Lücke mit Ressourcen des zweiten Cloud-Anbieters zu schließen. In Schritt S6 werden die benötigten/fehlenden Ressourcen des zweiten Cloud-Anbieters dem ersten Cloud-Anbieter zugewiesen, um die Lücke zu schließen, so dass die Anfrage in Schritt S7 erfüllt werden kann.
-
Während die vorliegende Erfindung hierin als cloudübergreifende Lösung zur Verwaltung/gemeinsamen Nutzung von Ressourcen beschrieben wird, versteht es sich, dass sie weiterhin vielfältige alternative Ausführungsformen anbietet. Zum Beispiel stellt die vorliegende Erfindung in einer Ausführungsform einen computerlesbaren/von einem Computer verwendbaren Datenträger bereit, der Computerprogrammcode enthält, um es einer Computerinfrastruktur zu ermöglichen, eine cloudübergreifende Funktionalität zur Verwaltung/gemeinsamen Nutzung von Ressourcen, wie sie hierin erläutert ist, bereitzustellen. In dieser Hinsicht enthält der computerlesbare/von einem Computer verwendbare Datenträger Programmcode, der jeden der vielfältigen Prozesse der vorliegenden Erfindung ausführt. Es versteht sich, dass die Begriffe „computerlesbarer Datenträger” oder „von einem Computer verwendbarer Datenträger” eine oder mehrere beliebige Arten physischer Ausführungsformen des Programmcodes umfassen. Insbesondere kann der computerlesbare/von einem Computer verwendbare Datenträger Programmcode umfassen, der in einem oder mehreren transportablen Speicherherstellartikeln (z. B. einer Compact-Disk, einer Magnetspeicherplatte, einem Band usw.), auf einem oder mehreren Datenspeicherbereichen einer Computereinheit wie dem Speicher 28 (1) und/oder dem Speicherungssystem 34 (1) (z. B. eine fest eingebaute Speicherplatte, ein schreibgeschützter Speicher, ein Speicher mit wahlfreiem Zugriff, einem Cachespeicher usw.) und/oder einem Datensignal (z. B. ein Ausbreitungssignal) enthalten ist, das sich über ein Netzwerk bewegt (z. B. während einer kabelgebundenen oder kabellosen elektronischen Verbreitung des Programmcodes).
-
In einer weiteren Ausführungsform stellt die vorliegende Erfindung ein Verfahren bereit, das den Prozess der vorliegenden Erfindung auf der Grundlage eines Abonnements, von Werbung und/oder einer Gebühr durchführt. Das bedeutet, ein Dienstanbieter wie beispielsweise ein Lösungsintegrator (Solution Integrator) könnte anbieten, cloudübergreifende Funktionalität zur Verwaltung/gemeinsamen Nutzung von Ressourcen bereitzustellen. In diesem Fall kann der Dienstanbieter eine Computerinfrastruktur wie beispielsweise ein Computersystem 102 (1) erstellen, unterhalten, unterstützen usw., die den Prozess der vorliegenden Erfindung für einen oder mehrere Kunden durchführt. Im Gegenzug kann der Dienstanbieter eine Bezahlung von dem oder den Kunde(n) unter einem Abonnement und/oder einer Gebührenvereinbarung erhalten und/oder der Dienstanbieter kann eine Bezahlung aus dem Verkauf von Werbeinhalten an eine oder mehrere Drittparteien erhalten.
-
In noch einer weiteren Ausführungsform stellt die vorliegende Erfindung ein durch einen Computer ausführbares Verfahren zum Bereitstellen von Funktionalität zur cloudübergreifenden Verwaltung/gemeinsamen Nutzung von Ressourcen bereit. In diesem Fall kann eine Computerinfrastruktur wie das Computersystem 102 (1) bereitgestellt und ein oder mehrere Systeme zum Durchführen des Prozesses der vorliegenden Erfindung erhalten (z. B. erstellt, erworben, verwendet, verändert usw.) und der Computerinfrastruktur bereitgestellt werden. In dieser Hinsicht kann die Bereitstellung eines Systems eines oder mehrere der folgenden Elemente umfassen: (1) Installieren von Programmcode auf einer Computereinheit wie beispielsweise dem Computersystem 102 (1) von einem computerlesbaren Datenträger; (2) Hinzufügen einer oder mehrerer Computereinheiten zur Computerinfrastruktur; und (3) Hinzunehmen oder Verändern eines oder mehrerer bestehender Systeme der Computerinfrastruktur, um es der Computerinfrastruktur zu ermöglichen, den Prozess der vorliegenden Erfindung auszuführen.
-
Es versteht sich, dass die Begriffe „Programmcode” und „Computerprogrammcode”, wie sie hierein verwendet werden, Synomyme darstellen und jeglichen Ausdruck in jeder beliebigen Sprache, jedem beliebigen Code oder jeder beliebigen Notation eines Satzes von Anweisungen bedeuten, dessen Absicht es ist, eine Computereinheit mit der Fähigkeit zur Datenverarbeitung dazu zu veranlassen, eine bestimmte Funktion entweder direkt oder nach einem oder beiden von Folgendem durchzuführen: (a) Konvertierung in eine andere Sprache, einen anderen Code oder eine andere Notation und/oder (b) Reproduktion in einer anderen materiellen Form. In dieser Hinsicht kann der Programmcode als eines oder mehrere der folgenden Elemente ausgebildet sein: eine Anwendung/ein Software-Programm, Komponenten-Software/eine Bibliothek von Funktionen, ein Betriebssystem, ein grundlegendes Einheitensystem/ein Treiber für eine bestimmte Computereinheit und Ähnliches.
-
Ein Datenverarbeitungssystem, das für das Speichern und/oder Ausführen von Programmcode geeignet ist, kann hierunter bereitgestellt werden und mindestens einen über einen Systembus zum Datenaustausch direkt oder indirekt mit einem oder mehreren Speicherelementen verbundenen Prozessor beinhalten. Zu den Speicherelemente können, ohne darauf beschränkt zu sein, lokale Speicher, die während der tatsächlichen Ausführung des Programmcodes eingesetzt werden, Massenspeicher und Cachespeicher gehören, welche die vorübergehende Speicherung mindestens einigen Programmcodes bereitstellen, um die Anzahl der Abrufe von Code vom Massenspeicher während der Ausführung zu verringern. Eingabe/Ausgabe-Einheiten (wie beispielsweise, jedoch nicht beschränkt auf, Tastaturen, Anzeigen, Zeigeeinheiten usw.) können mit dem System entweder direkt oder über zwischengeschaltete Einheiten-Steuereinheiten (device controllers) verbunden sein.
-
Netzwerkadapter können ebenfalls mit dem System verbunden sein, damit das Datenverarbeitungssystem mit anderen Datenverarbeitungssystemen, entfernt angeordneten Druckern, Speichereinheiten und/oder Ähnliches durch jede beliebige Kombination zwischengeschalteter privater oder öffentlicher Netzwerke verbunden werden kann. Zu veranschaulichenden Netzwerkadaptern zählen, ohne darauf beschränkt zu sein, Modems, Kabelmodems und Ethernet-Karten.
-
Die vorangehende Beschreibung vielfältiger Aspekte der vorliegenden Erfindung wurde zum Zwecke der Veranschaulichung und Beschreibung vorgestellt. Sie ist nicht als erschöpfend oder die Erfindung auf genau die offenbarte Form beschränkend aufzufassen; offensichtlich sind vielfältige Modifikationen und Variationen möglich. Derartige Modifikationen und Variationen, die für einen Fachmann naheliegend sein können, sind als im Umfang der vorliegenden Erfindung wie sie in den begleitenden Ansprüchen festgelegt ist enthalten anzusehen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- ”Draft NIST Working Definition of Cloud Computing” (Entwurf einer NIST-Arbeitsdefinition von Datenverarbeitung über Clouds) von Peter Mell und Tim Grance vom 7. Oktober 2009 [0019]