DE112013000425T5 - Aktivieren einer Cloud zur effektiven Zuweisung von Arbeitsbelastungen an Server - Google Patents

Aktivieren einer Cloud zur effektiven Zuweisung von Arbeitsbelastungen an Server Download PDF

Info

Publication number
DE112013000425T5
DE112013000425T5 DE112013000425.9T DE112013000425T DE112013000425T5 DE 112013000425 T5 DE112013000425 T5 DE 112013000425T5 DE 112013000425 T DE112013000425 T DE 112013000425T DE 112013000425 T5 DE112013000425 T5 DE 112013000425T5
Authority
DE
Germany
Prior art keywords
application
instructions
data
cloud
requirement
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.)
Withdrawn
Application number
DE112013000425.9T
Other languages
English (en)
Inventor
Radhakrishna Hiremane
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.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE112013000425T5 publication Critical patent/DE112013000425T5/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • G06F9/30178Runtime instruction translation, e.g. macros of compressed or encrypted instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

Entsprechend einiger Ausführungsformen, kann ein öffentlicher Infrastructure as a Service(IaaS)-Nutzer dem Serviceprovider eine Datei zukommenlassen, mit Informationen über die spezifischen Befehle und Befehlscodes, die dazu verwendet werden, eine Anwendung auf dem System des Cloud-Serviceproviders ablaufen zu lassen. Durch den Nutzer können diese Daten können zur Kompilationszeit entwickelt werden, bevor dieser die Arbeitsbelastung auf die öffentliche IaaS Cloud einstellt. Somit hat der Nutzer die volle Kontrolle über die bereitgestellten Daten.

Description

  • HINTERGRUND
  • Dies bezieht sich im Allgemeinen auf das Cloud Computing.
  • Beim Cloud Computing, wird Rechner- und Speicherkapazität für eine Vielzahl von Nutzern bereitgestellt, basierend auf Größenvorteilen und Ressourcenteilung. Dies ermöglicht Nutzern, tatsächlich unbegrenzte Kapazität zu haben, ohne Kosten für die Aufstellung eines Datencenters auf sich zu laden.
  • Infrastructure as a Service oder IaaS, bietet Computer, entweder in physischer Form oder als virtuelle Maschinen, Versorgung mit reiner Speicherkapazität, Firewalls, Lastverteiler und Netzwerke für eine Vielzahl von Nutzern. Beim öffentlichen IaaS sind die Ressourcen für jeden Nutzer verfügbar. Im Allgemeinen hat ein IaaS Cloud Anbieter einen großen Server-Pool, um Nutzer auf Abruf zu versorgen. Der Cloud-Nutzer installiert seine eigenen Betriebssystem-Bilder und Anwendungs-Software und ist für deren Wartung verantwortlich. Der Cloud-Nutzer bezahlt auf einer Kosten-pro-Nutzungs-Basis für tatsächlich genutzte Dienstleistungen.
  • In öffentlichen IaaS-Systemen ist der Serviceprovider, der die Cloud zur Nutzung in allen Bereichen bereitstellt, mit dem Problem belastet, daß er Nichts über die Art der Arbeitsbelastungen weiß, die er von diesen Nutzern erhält. Im Allgemeinen ist der Grund dafür, dass Privatsphäre- und Sicherheitsbedenken die Daten limitieren, die der Serviceprovider erhält. Der Serviceprovider der Cloud kann nicht die Vorgänge des Kunden, auf den Servern des Serviceproviders, einsehen, um die Anwendungs-Eigenschaften zu nachzuvollziehen, Noch kann dieser Serviceprovider den Verbrauch der physischen Ressourcen von Kunden-Anwendungen ausreichend flächendeckend überwachen, um die Eigenschaften der Kunden-Anwendungen zu bestimmen, da dies die Leistung der Kunden-Anwendungen beeinflussen würde.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Einige Ausführungsformen werden im Hinblick auf die folgenden Abbildungen beschrieben:
  • ist eine schematische Abbildung einer Ausführungsform der vorliegenden Erfindung;
  • ist ein Ablaufdiagramm für eine Abfolge, entsprechend einer Ausführungsform der vorliegenden Erfindung und
  • ist ein Ablaufdiagramm einer weiteren Ausführungsform der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Entsprechend einiger Ausführungsformen, kann ein öffentlicher Infrastructure as a Service(IaaS)-Nutzer dem Serviceprovider eine Datei zukommenlassen, mit Informationen über die spezifischen Befehle und Befehlscodes, die dazu verwendet werden, eine Anwendung auf dem System des Cloud-Serviceproviders ablaufen zu lassen. Durch den Nutzer können diese Daten können zur Kompilationszeit entwickelt werden, bevor dieser die Arbeitsbelastung auf die öffentliche IaaS Cloud einstellt. Somit hat der Nutzer die volle Kontrolle über die in einigen Ausführungsformen bereitgestellten Daten.
  • Zum Beispiel, kann besonderer Umgang in der Cloud von Nutzen für bestimmte Befehle und/oder Befehlscodes sein. Die Ausführung auf Servern mit bestimmten Leistungsfähigkeiten kann für bestimmte Typen von Befehlen von Nutzen sein. Wüsste der Cloud-Serviceprovider, dass diese Befehle in einer Anwendung vorliegen, könnte er die Arbeitsbelastung den effizientesten Servern für diese besonderen Arbeitsbelastungen zuweisen.
  • Im Einzelnen kann ein Cloud-Serviceprovider Konsolidierungsquoten erhöhen und die Effizienz seiner Infrastruktur verbessern, indem er auf eine Weise, so viele Vorgänge wie möglich zusammenpackt, dass die individuelle Serverausnutzung maximiert wird. Zusätzlich kann ein Serviceprovider vermeiden, kollidierende Arbeitsbelastungen auf dem selben Server zu platzieren. Beispielsweise, statt zwei bandweitenintensive Arbeitsbelastungen zusammen auf dem selben Server zu platzieren, können die Arbeitsbelastungen, zum besseren Ressourcenmanagement, auf unterschiedlichen Servern eingeplant werden.
  • Bei einigen Ausführungsformen werden, zur Kompilations- oder Einsatzzeit der Anwendung oder des virtuellen Maschinenvorgangs, Eigenschaften von Schlüsselanwendungen in einer Datei festgehalten, die Katalog genannt wird. Dieser Katalog kann vom Cloud-Nutzer dem IaaS Serviceprovider zur Einsatzzeit bereitgestellt werden. Dann kennt der Cloud-Serviceprovider die Anwendungs-Eigenschaften. Dies kann zur effizienten Planung und besseren Zuordnung von Arbeitsbelastungen für verfügbare Serverressourcen verwendet werden, ohne Notwendigkeit zur Überwachung oder Prüfung der Kunden-Anwendung.
  • Der Katalog muss nicht unbedingt ein Laufzeitprofil enthalten. Zum Beispiel, wenn für in der Cloud auszuführende Anwendungen Verschlüsselung verwendet wird, wie Hypertext Transfer Protocol Secure (HTTPS) oder Secure Sockets Layer (SSL), wäre Advanced Encryption Standard(AES)-New Instruction (NI), für die Compiler Logs im Anwendungskatalog von Nutzen. Dann verwendet der Cloud-Serviceprovider wiederum diese Kenntnis, um die Arbeitsbelastung für einen AES-NI-fähigen Server einzuplanen (statt für ein älteres System, ohne Verschlüsselungsbeschleunigung).
  • Als weiteres Beispiel, wenn für die in der Cloud auszuführenden Anwendungen teure Gleitkommas verwendet werden, können die Katalogdaten vom Cloud-Serviceprovider, zum Einstellen der Arbeitsbelastung auf Many integrated core(MIC)-unterstützten Servern, benutzt werden.
  • Und, als weiteres Beispiel, wenn der Cloud-Serviceprovider, als Ergebnis einer Katalog-Analyse, bemerkt, dass eine Anwendung mit Advanced Vector Extensions (AVX) Befehlssatz-Erweiterungen kombiniert ist, kann dieser Serviceprovider die Arbeitsbelastung an einen verfügbaren Server anpassen und Infrastruktur und Effizienz erhöhen.
  • Bei einigen Ausführungsformen, kann der Katalog sprachenspezifische Hinweise enthalten, wie z. B. dass die Arbeitsbelastung im virtuellen Maschinenvorgang Java-basiert ist, dadurch kann der Cloud-Serviceprovider die Arbeitsbelastung auf einen Java Virtual Machine(JVM)-optimierten Pool von Servern einplanen.
  • Mit Bezug auf : es wir eine Übersicht des System oder des Datencenters 10 gezeigt. Oben, bei 1, wird die Kompilation der Anwendung auf der eigenen Seite des Cloud-Nutzers gezeigt 1. Die Anwendung (App) 12 wird für einen Compiler 14 bereitgestellt, was das kompilierte Objekt 16 erzeugt, ebenso wie den Katalog 18. Wie in gezeigt, kann der Katalog 18 kennzeichnen, dass Befehle oder Befehlscodes, wie AES- oder AVX-Befehle, in der Anwendung vorliegen, für die die Ablauf-Zuordnung zu Servern mit speziellen Fähigkeiten, von Nutzen wäre.
  • Darm stellt der Kunde (Nr. 2) die Arbeitsbelastung in der öffentlichen IaaS Cloud auf der virtuellen Maschine (VM) 20 ein. Dies bedeutet, daß die Cloud sowohl das kompilierte Objekt 16 als auch den Katalog 18 erhält. Die Cloud-Betriebskonfiguration 22 mit Speicher 25 enthält einen Katalogleser 23, der die Katalogdaten in die virtuelle Maschine einliest, wie durch den Pfeil zum Kartenleser 23 angezeigt. Dann setzt die Cloud die Anwendung in die best geeignete IaaS-Hardware ein, um die Arbeitsbelastung im durchführbaren Ausmaß zu bearbeiten. Dieser Einsatz kann durch die Verfügbarkeit von Servern begrenzt sein. In manchen Fällen kann eine Arbeitsbelastung aufgeschoben werden, bis ein geeigneter Server verfügbar ist. Zum Beispiel, wenn AES-Befehle bereitgestellt werden, kann die Arbeitsbelastung (Nr. 3) für Server mit AES-NI und/oder AVX-Fähigkeit bereitgestellt werden, wie bei 28 aufgeführt, statt für Server 26 innerhalb Struktur 24, die diese Fähigkeiten nicht haben.
  • Bei manchen Ausführungsformen, entwickelt der Compiler den Katalog zur Kompilationszeit. Wenn dann der Cloud-Kunde die Anwendung in den vom Cloud-Serviceprovider gekauften Vorgang zusammenpackt, ist der Katalog in diesem Vorfall enthalten. Der Katalogleser und die Betriebskonfiguration 22 können innerhalb der Cloud-Betriebskonfiguration eingebettet sein. Wenn ein Kunde den Vorgang einsetzt, wird der Vorgang in die Cloud Betriebskonfiguration gestapelt, zur Planung der verfügbaren Iaas-Infrastruktur 24. Die Cloud Betriebskonfiguration, die den eingebetteten Katalogleser verwendet, kennt die Eigenschaften der Anwendung und setzt daher die Arbeitsbelastung ein, basierend auf der am besten passenden Infrastruktur.
  • Anwendungen mit bestimmten Fähigkeiten, wie AVX- oder AES-NI-Fähigkeiten, verwenden ganz spezielle Befehle und Befehlscodes. Daher ermittelt ein Analyse-Werkzeug, als Teil des Compilers, diese Befehle und kann die Arbeitsbelastung markieren, während sie kompiliert wird. Zum Beispiel deutet das Vorliegen von Befehlen oder ihren Befehlscodes, wie AESENC, AESENCLAST, AESDEC, AESDECLAST, AESKEYGENASSIST, AESIMC, PCLMULQDQ, darauf hin, dass die Anwendung kompiliert werden könnte, um Nutzen aus AES-NI Befehlen zu ziehen. Die Erfindung ist nicht auf diese Befehlscodes und Befehle begrenzt. Jeder Befehl des Befehlssatzes, der durch seinen Befehlscode oder Funktionalität gekennzeichnet werden kann, kann von einem Compiler zum Erreichen ähnlicher Ziele verwendet werden.
  • In kann eine Kompilations-Sequenz 14 in der Software, Firmware und/oder Hardware, umgesetzt werden. Bei Software- und Firmware-Ausführungsformen, können ausführbare Befehle in einem oder mehreren nicht-transitorischen computerlesbaren Medien, wie magnetischer, Halbleiter- und/oder optischer Speicherung gespeichert werden.
  • Somit, bezogen auf , erhält der Compiler 14 am Kundenstandort die Anwendung, wie bei 12 angegeben und kompiliert den Code, wie angegeben bei 30. Ein Analyse-Werkzeug innerhalb des Compilers 14 kann zur Ermittlung spezifischer Befehle oder Befehlscodes verwendet werden, wie angegeben in Block 32. Grundsätzlich kann eine Datei mit zu suchenden Befehlen und Befehlscodes bereitgestellt werden und das Analyse-Werkzeug ermittelt automatisch dieses Befehle oder Befehlscodes innerhalb des Codes, der gerade kompiliert wird.
  • Falls das Analyse-Werkzeug einen dieser Befehle findet, bei Raute 34, markiert es die Arbeitsbelastung und lädt die gefundenen spezifischen Befehle und Befehlscodes, wie in Block 36 angegeben. Dann kann ein Profilkatalog vorbereitet werden, wie angegeben in Block 38, zum gemeinsamen Versand mit dem kompilierten Objekt, an den Cloud-Serviceprovider. In einigen Ausführungsformen kann ein Leser mit dem Katalog mitgesendet werden.
  • Der Katalog kann eine bestimmte Form oder Vorlage haben, in einigen Ausführungsformen, bereitgestellt durch den Cloud-Serviceprovider. Ferner können bestimmte Codes eingerichtet werden, um auf die Anwesenheit bestimmter Befehle oder Befehlscodes in der Anweisung hinzuweisen. Zusätzlich kann der Katalog Anforderungen für die Handhabung auf Servern mit bestimmten Eigenschaften enthalten. Der Katalog kann auch darauf hinweisen, wie zeitkritisch die Anwendung ist, damit die Cloud beurteilen kann, ob die Ausführung, in Abhängigkeit von der Verfügbarkeit eines vorteilhaften Servers, aufgeschoben wird. Ähnlich, kann der Katalog mögliche kollidierende Arbeitslasten kennzeichnen, die nicht dem selben Server zugeordnet werden sollten.
  • In kann eine Arbeitsbelastung mit einer vorgegebenen Reihenfolge 40 in Software, Firmware und/oder Hardware ausgeführt werden. Bei Software- und Firmware-Ausführungsformen, können durch den Computer ausführbare Befehle in einem oder mehreren nicht-transitorischen computerlesbaren Medien, wie magnetischer, Halbleiter- und/oder optischer Speicherung, gespeichert werden.
  • Die in gezeigte Reihenfolge 40, kann bei einer Ausführungsform, in der Cloud-Betriebskonfiguration ausgeführt werden. Beim Cloud-Serviceprovider erhält ein Arbeitsbelastungs-Zuordner, der Teil der Cloud-Betriebskonfiguration 22 ist, die Arbeitsbelastung, wie in Block 42 angegeben. Der Katalogleser innerhalb der Betriebskonfiguration liest die Katalogdaten, wie in Block 44 angegeben. Dann wird die Anwendung in den geeigneten Server oder Server-Pool eingesetzt, der and die Arbeitsbelastung angepasst ist, wie in Block 46 angegeben.
  • Bei einigen Ausführungsformen ist die Cloud-Betriebskonfiguration 22 ein Server- oder Prozessor-basiertes System, das auf computerlesbaren Medien gespeicherte Befehle ausführt. Besonders diese Befehle können in einem oder mehreren nicht-transitorischen Medien, wie optischer, magnetischer oder Halbleiter-Speicherung gespeichert werden. Beispielsweise ist in solch eine Speicherung angegeben, bei 25. Dieser Speicher kann zur Ausführung der in gezeigten Reihenfolge benötigte Befehle speichern. Ebenso kann der Compiler 14 einen Speicher 15 enthalten, der Befehle zur Ausführung der in gezeigten Reihenfolge speichert. Bei manchen Ausführungsformen, kann mehr als ein Speicher zur Speicherung der Befehlssätze für die Ausführung der Reihenfolgen aus und verwendet werden.
  • Bei einer Ausführungsform kann der Katalog in einem oder mehreren Paketen, inklusive einer Überschrift, die das oder die Pakete als Katalog kennzeichnet, enthalten sein. Dann kann das/die Paket(e) leicht, mittels Analyse-Werkzeug während Kompilationszeit, ermittelt werden. Andere Verfahren zum Ermöglichen der Ermittlung des Katalogs innerhalb anderer Daten können ebenfalls verwendet werden.
  • Die hierin beschriebenen Reihenfolgen beginnen bevor die Anwendung ins System hochgeladen wird, wie der Cloud, auf der sie ablaufen soll. Der Kunde oder der Cloud-Provider hat die Arbeitsbelastung auf die Warteschlange des Providers geladen. Dann kann der Cloud-Provider sie aufnehmen und auf einem der vielen Server im seinem Datencenter ablaufen lassen.
  • Vor Platzierung der Arbeitsbelastung auf einem System innerhalb des Datencenters des Cloud-Providers, kann es nützlich für den Cloud-Provider sein, zu wissen ob die Arbeitsbelastung für spezielle Befehle optimiert ist. Dann kann der Cloud-Provider seine Datencenter-Ressourcen effizienter nutzen und Kunden bekommen, bei einigen Ausführungsformen, schnellere Fertigstellung.
  • Beispielsweise kann ein Kunde AVX-optimierte Medien-Arbeitsbelastungen auf der Cloud platzieren. Aus Privatsphäre-Gründen, kann der Cloud-Serviceprovider die Arbeitsbelastung nicht untersuchen, um zu sehen ob diese AVX-optimiert ist oder nicht. Der Kunde hat keine Mittel, dem Cloud-Serviceprovider mitzuteilen, ob die Arbeitsbelastung AVX-optimiert ist oder nicht.
  • Bei einigen Ausführungsformen der vorliegenden Erfindung können Cloud-Provider und Kunden das Arbeitsbelastungs-Profil, auf skalierbare und automatisierte Weise, kommunizieren. In diesem Beispiel, sofern der Cloud-Serviceprovider AVX-fähige Server in seinem Server-Pool hätte, zur Bearbeitung der Arbeitsbelastung, könnte er die Arbeitsbelastung auf solche Server setzen und erhielte schnellere Fertigstellungszeiten und könnte, in einigen Ausführungsformen, mit der Zeit mehr Arbeitsbelastungen bearbeiten. Nachdem die Arbeitsbelastung auf einem AVX-fähigen Server platziert wäre, könnten die dynamisch verlinkten Bibliotheken (DLLs) die Zentralprozessor-Kennung (CPUID) untersuchen und den optimalen Code-Pfad durchführen. Und zwar, basierend auf seiner Zentralprozessor-Kennung zu erkennen, dass der Server AVX-fähig ist und die Anwendung den optimierten Pfad verwendeten kann.
  • Die folgenden Bestimmungen und/oder Beispiele gehören zu weiteren Ausführungsformen:
    Eine Beispielausführungsform kann ein Verfahren sein, das daraus besteht, Daten über von der Anwendung verwendete Befehle oder Befehlscodes zu erhalten; und basierend auf diesen Daten die Anwendung einem Server, aus einer Vielzahl an Servern, zuzuordnen. Das Verfahren kann auch den Erhalt von Daten enthalten/enthält den Erhalt von Daten, aus einem Katalog, der dem kompilierten Code der Anwendung beiliegt. Das Verfahren kann auch enthalten: besagte Daten weisen darauf hin, dass die Anwendung Verschlüsselung verwendet, zur Ausführung wird die Anwendung einem geeigneten Server zugeordnet, der Verschlüsselungsbefehle ausführen kann. Das Verfahren kann auch enthalten: die Bestimmung, ob die Anwendung erweiterte Vektor-Befehle verwendet. Das Verfahren kann auch enthalten: die Zuordnung einer Anwendung zu einem, für die Ausführung von erweiterten Vektor-Befehlen geeigneten, Server. Das Verfahren kann auch enthalten: In einer Cloud ein kompiliertes Objekt nebst besagter Daten zur Ausführung zu erhalten. Das Verfahren kann auch enthalten: das Lesen besagter Daten in einer Cloud-Betriebskonfiguration, vor der Zuweisung der Arbeitsbelastung, einschließlich des Objekts, an einen Server. Das Verfahren kann auch enthalten: Auswahl eines Servers zur Bearbeitung besagter Arbeitsbelastung, basierend auf besagten Daten. Das Verfahren kann auch enthalten: Zuweisung eines Servers zu einer öffentlichen Infrastructure as a Service-Cloud. Eine weitere Ausführungsform kann ein nicht-transitorisches, computerlesbares Medium sein, das Befehle speichert, die dem Prozessor ermöglichen: Daten über von einer Anwendung verwendete Befehle und Befehlscodes zu erhalten und, basierend auf diesen Daten, die Anwendung einem Server, aus einer Vielzahl von Servern, in einer Cloud zuzuweisen. Ferner kann das Medium Befehle speichern, um Daten aus einem Katalog, der dem kompilierten Code für besagte Anwendung beiliegt, zu erhalten. Ferner kann das Medium Befehle speichern, um die Anwendung zur Ausführung einem geeigneten Server zuzuordnen, der Verschlüsselungsbefehle ausführen kann, falls besagte Daten darauf hinweisen, dass die Anwendung Verschlüsselung verwendet. Ferner kann das Medium Befehle speichern, zur Bestimmung, ob die Anwendung erweiterte Vektor-Befehle verwendet. Ferner kann das Medium Befehle speichern, um die Anwendung einem geeigneten Server zuzuordnen, der erweiterte Vektor-Befehle verarbeiten kann, basierend auf der Festlegung, dass die Anwendung erweiterte Vektor-Befehle verwendet. Ferner kann das Medium Befehle speichern, um ein kompiliertes Objekt samt besagter Daten in einer Cloud, zur Ausführung, zu erhalten. Ferner kann das Medium Befehle speichern, zum Lesen besagter Daten in einer Cloud-Betriebskonfiguration, vor der Zuweisung der Arbeitsbelastung, einschließlich des Objekts, an einen Server. Ferner kann das Medium Befehle speichern, zur Auswahl eines Servers, der, basierend auf besagten Daten, die Arbeitsbelastung verarbeiten kann. Ferner kann das Medium Befehle speichern, um einen Server in einer öffentlichen Infrastructure as a Service-Cloud zuzuweisen.
  • Eine beispielhafte Ausführungsform kann ein nicht-transitorisches, computerlesbares Medium sein, das Befehle speichert, die einem Prozessor ermöglichen: eine Anwendung zu erhalten; Code für die Anwendung zu kompilieren; Ermittlung spezifischer Befehle oder Befehlscodes innerhalb besagtem Code, und, falls ein spezifischer Befehl gefunden wird, die Anwendung zu markieren; sowie Vorbereiten eines Profilkatalogs, der Daten über besagte Befehle oder Befehlscodes für die Anwendung markiert, die auf der Seite eines Cloud-Serviceproviders gelesen wird. Das Medium kann die Speicherung von Befehlen enthalten, zur Analyse der Anwendung auf Verschlüsselungsbefehle. Das Medium kann die Speicherung von Befehlen enthalten, zur Analyse der Anwendung, um zu bestimmen, ob die Anwendung erweiterte Vektor-Befehle verwendet. Das Medium kann die Speicherung von Befehlen enthalten, zur Kennzeichnung besagter Befehle oder Befehlscodes während der Kompilationszeit: Das Medium kann ebenfalls die Speicherung von Befehlen enthalten, ein kompiliertes Objekt samt besagter Daten, zur Ausführung, an eine Cloud zu schicken. Eine beispielhafte Ausführungsform kann eine Vorrichtung sein, bestehend aus einem Prozessor, zur Analyse von Befehlen oder Befehlscodes innerhalb einer Anwendung, und falls ein spezifischer Befehl oder Befehlscode gefunden wird, die Anwendung zu markieren und einen Profilkatalog vorzubereiten, zur Kennzeichnung der Daten über besagte Befehle oder Befehlscodes für die Anwendung, der auf der Seite eines Cloud-Serviceproviders gelesen wird; sowie aus einem mit besagtem Prozessor gekoppelten Speicher. Die Vorrichtung kann besagten Prozessor enthalten, zur Analyse der Anwendung auf Verschlüsselungsbefehle. Die Vorrichtung kann besagten Prozessor enthalten, zur Analyse der Anwendung, um zu bestimmen, ob die Anwendung erweiterte Vektor-Befehle verwendet. Die Vorrichtung kann besagten Prozessor enthalten, zur Kennzeichnung besagter Befehle und Befehlscodes während der Kompilationszeit. Die Vorrichtung kann auch besagten Prozessor enthalten, um ein kompiliertes Objekt samt besagter Daten an eine Cloud, zur Ausführung, zu schicken.
  • Verweise in dieser Beschreibung auf „eine Ausführungsform” bedeuten, dass ein bestimmtes Merkmal, eine Struktur oder Charakteristik, die in Verbindung mit der Ausführungsform beschrieben wird, mindestens in einer, innerhalb der vorliegenden Erfindung enthaltenen Implementierung, enthalten ist. Somit beziehen sich Verwendungen des Ausdrucks „bei einer Ausführungsform” nicht notwendigerweise auf die gleiche Ausführungsform. Außerdem können die bestimmten Merkmale, Strukturen oder Charakteristika in anderen, geeigneten Formen eingeführt werden, die sich von der bestimmten, veranschaulichten Ausführungsform unterscheiden, und alle solchen Formen können innerhalb der Anforderungen der vorliegenden Anwendung enthalten sein.
  • Obwohl die vorliegende Erfindung im Hinblick auf eine begrenzte Anzahl von Ausführungsformen beschrieben wurde, sind sich Fachleute bewusst, dass viele weitere Modifikationen und Varianten davon möglich sind. Die beigefügten Ansprüche sollen alle solchen Modifikationen und Varianten abdecken, die dem Sinn und Schutzbereich der vorliegenden Erfindung entsprechen.

Claims (28)

  1. Ein Verfahren, das umfasst: Erlangung von Daten Über Befehle oder Befehlscodes, die von einer Anwendung verwendet werden; und Zuweisen der Anwendung an einen Server, aus einer Vielzahl von Servern, in einer Cloud, basierend auf besagten Daten.
  2. Das Verfahren von Anforderung 1, worin die Erlangung von Daten die Erlangung von Daten aus einem Katalog beinhaltet, der dem kompilierten Code für die Anwendung, beiliegt.
  3. Das Verfahren von Anforderung 1 einschließlich, falls besagte Daten darauf hinweisen, dass die Anwendung Verschlüsselung verwendet, wird die Anwendung, zur Ausführung, einem geeigneten Server zugeordnet, der Verschlüsselungsbefehle ausführen kann.
  4. Das Verfahren von Anforderung 1, einschließlich der Ermittlung, ob die Anwendung erweiterte Vektor-Befehle verwendet.
  5. Das Verfahren von Anforderung 4, einschließlich Zuweisung der Anwendung an einen geeigneten Server, der erweiterte Vektor-Befehle verarbeiten kann.
  6. Das Verfahren von Anforderung 1, einschließlich des Empfangs eines kompilierten Objekts samt besagter Daten, in einer Cloud, zur Ausführung.
  7. Das Verfahren von Anforderung 6, einschließlich dem Lesen besagter Daten in einer Cloud-Betriebskonfiguration, vor der Zuweisung der Arbeitsbelastung, einschließlich des Objekts, an einen Server.
  8. Das Verfahren von Anforderung 7, einschließlich Auswahl eines Servers, zur Bearbeitung besagter Arbeitsbelastung, basierend auf besagten Daten.
  9. Das Verfahren aus Anforderung 1, einschließlich Zuweisung eines Servers in einer Infrastructure as a Service-Cloud.
  10. Ein oder mehr nicht-transitorische(s) computerlesbare(s) Medium/Medien, das Befehle speichert, um einen Prozessor in die Lage zu versetzen: Daten über Befehle oder Befehlscodes zu erlangen, die von einer Anwendung verwendet werden und Zuweisung der Anwendung an einen Server, aus einer Vielzahl von Servern, in einer Cloud, basierend auf diesen Daten.
  11. Ferner kann das Medium aus Anforderung 10 Befehle speichern, um Daten aus einem Katalog, der dem kompilierten Code für besagte Anwendung beiliegt, zu erhalten.
  12. Das Medium aus Anforderung 10 kann ferner Befehle speichern, um die Anwendung, zur Ausführung, einem geeigneten Server zuzuordnen, der Verschlüsselungsbefehle ausführen kann, falls besagte Daten darauf hinweisen, dass die Anwendung Verschlüsselung verwendet.
  13. Das Medium aus Anforderung 10 kann ferner Befehle speichern, um zu bestimmen, ob die Anwendung erweiterte Vektor-Befehle verwendet.
  14. Ferner kann das Medium aus Anforderung 13 Befehle speichern, um die Anwendung einem geeigneten Server zuzuordnen, der erweiterte Vektor-Befehle verarbeiten kann, basierend auf der Festlegung, dass die Anwendung erweiterte Vektor-Befehle verwendet.
  15. Das Medium aus Anforderung 11 kann ferner Befehle speichern, um ein kompiliertes Objekt samt besagter Daten in einer Cloud, zur Ausführung, zu erhalten.
  16. Das Medium aus Anforderung 15 kann ferner Befehle speichern, zum Lesen besagter Daten in einer Cloud-Betriebskonfiguration, vor der Zuweisung der Arbeitsbelastung, einschließlich des Objekts, an einen Server.
  17. Das Medium aus Anforderung 16 kann ferner Befehle speichern, zur Auswahl eines Servers, der die Arbeitsbelastung bearbeiten kann, basieren auf besagten Daten.
  18. Das Medium aus Anforderung 10 kann ferner Befehle speichern, zur Zuweisung eins Servers in einer öffentlichen Infrastructure as a Service-Cloud.
  19. Ein oder mehr nicht-transitorische(s) computerlesbare(s) Medium/Medien, das Befehle speichert, um einen Prozessor in die Lage zu versetzen: eine Anwendung zu empfangen; den Code für die Anwendung zu kompilieren; spezifische Befehle oder Befehlscodes innerhalb besagtem Code zu ermitteln, und, falls spezifische Befehle gefunden werden, die Anwendung zu markieren; und einen Profilkatalog vorzubereiten, der die Daten über besagte Befehle oder Befehlscodes kennzeichnet, damit die Anwendung auf der Seite des Cloud-Serviceproviders gelesen werden kann.
  20. Das Medium aus Anforderung 19 kann ferner Befehle speichern, zur Analyse der Anwendung auf Verschlüsselungsbefehle.
  21. Das Medium aus Anforderung 19 kann ferner Befehle speichern, zur Analyse der Anwendung, um zu bestimmen, ob die Anwendung erweiterte Vektor-Befehle verwendet.
  22. Das Medium aus Anwendung 19 kann ferner Befehle speichern, zur Kennzeichnung besagter Befehle oder Befehlscodes während der Kompilationszeit.
  23. Das Medium aus Anforderung 19 kann ferner Befehle speichern, zum Senden eines kompilierten Objekts samt besagter Daten, zur Ausführung, an eine Cloud.
  24. Eine Vorrichtung, die umfasst: Einen Prozessor, zur Analyse von Befehlen und Befehlscodes innerhalb einer Anwendung, und falls ein spezifischer Befehl oder Befehlscode gefunden wird, die Anwendung zu markieren und einen Profilkatalog vorzubereiten, zur Kennzeichnung von Daten über besagten Befehl oder Befehlscode für die Anwendung. einen Speicher, der mit diesem Prozessor gekoppelt ist.
  25. Die Vorrichtung aus Anforderung 24, worin besagter Prozessor die Anwendung auf Verschlüsselungsbefehle prüft.
  26. Die Vorrichtung aus Anforderung 24, worin besagter Prozessor die Anwendung prüft, um zu bestimmen, ob die Anwendung erweiterte Vektor-Befehle verwendet.
  27. Die Vorrichtung aus Anforderung 24, worin besagter Prozessor die besagten Befehle oder Befehlscodes während der Kompilationszeit kennzeichnet.
  28. Die Vorrichtung aus Anforderung 24, worin besagter Prozessor ein kompiliertes Objekt samt besagter Daten an eine Cloud, zur Ausführung, schickt.
DE112013000425.9T 2012-08-31 2013-08-09 Aktivieren einer Cloud zur effektiven Zuweisung von Arbeitsbelastungen an Server Withdrawn DE112013000425T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/600,309 2012-08-31
US13/600,309 US9582332B2 (en) 2012-08-31 2012-08-31 Enabling a cloud to effectively assign workloads to servers
PCT/US2013/054242 WO2014035635A1 (en) 2012-08-31 2013-08-09 Enabling a cloud to effectively assign workloads to servers

Publications (1)

Publication Number Publication Date
DE112013000425T5 true DE112013000425T5 (de) 2014-09-18

Family

ID=50184131

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013000425.9T Withdrawn DE112013000425T5 (de) 2012-08-31 2013-08-09 Aktivieren einer Cloud zur effektiven Zuweisung von Arbeitsbelastungen an Server

Country Status (4)

Country Link
US (1) US9582332B2 (de)
CN (1) CN104025072B (de)
DE (1) DE112013000425T5 (de)
WO (1) WO2014035635A1 (de)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9130943B1 (en) * 2013-03-11 2015-09-08 Ca, Inc. Managing communications between client applications and application resources of on-premises and cloud computing nodes
US20160070626A1 (en) * 2014-09-05 2016-03-10 Microsoft Corporation Assessing quality of service provided by applications based on hosting system support
US9876853B2 (en) * 2015-08-19 2018-01-23 International Business Machines Corporation Storlet workflow optimization leveraging clustered file system placement optimization features
US11263006B2 (en) 2015-11-24 2022-03-01 Vmware, Inc. Methods and apparatus to deploy workload domains in virtual server racks
US10467405B2 (en) 2017-04-25 2019-11-05 Micro Focus Llc Format preserving encryption of floating point data
US10452564B2 (en) * 2017-04-25 2019-10-22 Entit Software Llc Format preserving encryption of object code
US10402429B2 (en) 2017-05-31 2019-09-03 International Business Machines Corporation Minimizing data transport within a storlet architecture
US10447806B1 (en) * 2017-06-09 2019-10-15 Nutanix, Inc. Workload scheduling across heterogeneous resource environments
US10824719B1 (en) * 2017-08-01 2020-11-03 Rodney E. Otts Anti-malware computer systems and method

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10228382A (ja) * 1997-02-14 1998-08-25 Nec Corp コンパイル方式
JP2001005791A (ja) 1999-06-18 2001-01-12 Nec Corp 分散オブジェクト生成方式
US7430670B1 (en) * 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
US7254586B2 (en) * 2002-06-28 2007-08-07 Microsoft Corporation Secure and opaque type library providing secure data protection of variables
US8363806B2 (en) * 2002-11-07 2013-01-29 Blake Bookstaff Method and system for alphanumeric indexing for advertising via cloud computing
US20050091535A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Application identity for software products
US20080141069A1 (en) * 2006-12-06 2008-06-12 Sony Electronics Inc. Back-up supply for devce registration
US8931038B2 (en) 2009-06-19 2015-01-06 Servicemesh, Inc. System and method for a cloud computing abstraction layer
US8782613B2 (en) * 2008-08-12 2014-07-15 Hewlett-Packard Development Company, L.P. Optimizing applications using source code patterns and performance analysis
US9300532B2 (en) 2008-10-24 2016-03-29 Microsoft Technology Licensing, Llc Automating deployment of service applications by exposing hosting environment constraints
KR101626117B1 (ko) * 2009-06-22 2016-05-31 삼성전자주식회사 클라우드 스토리지를 제공하는 클라이언트, 중개 서버 및 방법
US20110047540A1 (en) * 2009-08-24 2011-02-24 Embarcadero Technologies Inc. System and Methodology for Automating Delivery, Licensing, and Availability of Software Products
US8656019B2 (en) 2009-12-17 2014-02-18 International Business Machines Corporation Data processing workload administration in a cloud computing environment
CN101741850B (zh) * 2009-12-25 2012-05-30 北京邮电大学 面向混合网络服务的多任务并发执行系统及方法
US20110161495A1 (en) * 2009-12-26 2011-06-30 Ralf Ratering Accelerating opencl applications by utilizing a virtual opencl device as interface to compute clouds
US8656387B2 (en) * 2010-06-17 2014-02-18 Gridcentric Inc. Method and system for workload distributing and processing across a network of replicated virtual machines
US8745233B2 (en) * 2010-12-14 2014-06-03 International Business Machines Corporation Management of service application migration in a networked computing environment
US8447863B1 (en) * 2011-05-06 2013-05-21 Google Inc. Systems and methods for object recognition
US8984611B2 (en) * 2011-05-09 2015-03-17 I Think Security Ltd. System, apparatus and method for securing electronic data independent of their location
CN102223398B (zh) * 2011-05-30 2013-09-11 北京航空航天大学 一种部署在云计算环境中部署服务的方法
US9471373B2 (en) * 2011-09-24 2016-10-18 Elwha Llc Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority
US9349118B2 (en) * 2011-08-29 2016-05-24 Avaya Inc. Input, display and monitoring of contact center operation in a virtual reality environment
US8914515B2 (en) * 2011-10-28 2014-12-16 International Business Machines Corporation Cloud optimization using workload analysis
CN102438044B (zh) * 2011-12-04 2014-02-19 河南科技大学 一种基于云计算的数字内容可信使用控制方法
CN102420873B (zh) * 2011-12-06 2014-06-11 肇庆全商联盟信息科技有限公司 复合网络全新云应用平台
US20140059341A1 (en) * 2012-08-21 2014-02-27 International Business Machines Corporation Creating and accessing encrypted web based content in hybrid applications

Also Published As

Publication number Publication date
US9582332B2 (en) 2017-02-28
WO2014035635A1 (en) 2014-03-06
CN104025072A (zh) 2014-09-03
CN104025072B (zh) 2018-06-29
US20140068078A1 (en) 2014-03-06

Similar Documents

Publication Publication Date Title
DE112013000425T5 (de) Aktivieren einer Cloud zur effektiven Zuweisung von Arbeitsbelastungen an Server
US10496446B2 (en) Altruistic dependable memory overcommit for virtual machines
DE112012004336B4 (de) System, Verfahren und Programmprodukt für kostenbewusste Auswahl von Vorlagen zum Bereitstellen von gemeinsam genutzten Ressourcen
US9836332B2 (en) Software defined SaaS platform
DE112011100094T5 (de) Verfahren und System zum Abstrahieren eines auf nichtfunktionalen Anforderungen beruhenden Einsatzes von virtuellen Maschinen
DE102021109774A1 (de) Container-as-a-service (CAAS)-Controller für die Auswahl einer Bare-Metal-Maschine einer privaten Cloud für einen Cluster eines verwalteten Containerdienstes
CN104410543B (zh) 基于云资源的自动化测试方法和系统
DE112016003249T5 (de) Container-Bereitstellung auf Abhängigkeitsgrundlage
DE112020000629T5 (de) Vereinheitlichte und automatisierte installation, einsatz, konfiguration und verwaltung von softwaredefinierten speicheranlagen
DE112011100739T5 (de) Programmatisches Ermitteln eines Ausführungsmodus für eine Anforderungszuteilungunter Verwendung von historischen Masszahlen
DE112010005705T5 (de) Umplanen von Workload in einer hybriden Datenverarbeitungsumgebung
US20170123777A1 (en) Deploying applications on application platforms
DE102021109511A1 (de) Container-as-a- service (caas)-controller für die überwachung von clustern und die implementierung von autoscaling-richtlinien
DE112013000369T5 (de) Verwaltung von Threads innerhalb einer Datenverarbeitungsumgebung
DE112015007188T5 (de) Batch-Migration virtueller Maschinen während des aktiven Bertriebs
DE112013000656T5 (de) System und Verfahren zum Verringern der Speichernutzung durch optimales Platzieren von virtuellen Maschinen in einem virtualisierten Rechenzentrum
CN109976989A (zh) 跨节点应用性能监测方法、装置及高性能计算系统
CN111190691A (zh) 适用于虚拟机的自动迁移方法、系统、装置及存储介质
US11748168B2 (en) Flexible batch job scheduling in virtualization environments
US10447536B2 (en) Managing cross-cloud distributed application
DE102018207314A1 (de) Software-definierte mikrodienste
DE112019005043T5 (de) Streamzuweisung unter verwendung von stream-guthaben
DE102008016180A1 (de) Darlegen von Systemtopologie für die Ausführungsumgebung
CN112527642A (zh) 性能测试指标数据的显示方法、装置、设备及存储介质
DE112019005038T5 (de) Ressourcenzuweisung unter verwendung von guthaben mit verteilter segmentverarbeitung

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: MAUCHER BOERJES JENKINS, DE

Representative=s name: MAUCHER JENKINS, DE

Representative=s name: MAUCHER JENKINS PATENTANWAELTE & RECHTSANWAELT, DE

R012 Request for examination validly filed

Effective date: 20140716

R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee