DE112016003355B4 - Sicherer Einsatz einer Anwendung über Einsatzorte hinweg - Google Patents

Sicherer Einsatz einer Anwendung über Einsatzorte hinweg Download PDF

Info

Publication number
DE112016003355B4
DE112016003355B4 DE112016003355.9T DE112016003355T DE112016003355B4 DE 112016003355 B4 DE112016003355 B4 DE 112016003355B4 DE 112016003355 T DE112016003355 T DE 112016003355T DE 112016003355 B4 DE112016003355 B4 DE 112016003355B4
Authority
DE
Germany
Prior art keywords
application
data
message
usage restrictions
aspects
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.)
Active
Application number
DE112016003355.9T
Other languages
English (en)
Other versions
DE112016003355T5 (de
Inventor
Martin Andrew Ross
John Hosie
Craig Howard Stirling
Dominic Storey
Daniel James McGinnes
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
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112016003355T5 publication Critical patent/DE112016003355T5/de
Application granted granted Critical
Publication of DE112016003355B4 publication Critical patent/DE112016003355B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1076Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration 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/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal

Abstract

Es werden Verfahren und Systeme für den sicheren Einsatz einer Anwendung über Einsatzorte hinweg bereitgestellt. Aspekte beinhalten das Bereitstellen einer Anwendung zur Analyse, wobei die Anwendung in der Lage ist, in Verarbeitungsknoten geteilt zu werden, die möglicherweise an verschiedenen Orten eingesetzt werden. Die Anwendung verarbeitet Nachrichten beruhend auf Nachrichtenmodellen, die Anmerkungen aufweisen, die Beschränkungen für den Einsatz von Daten in gegebenen Datenaspekten festlegen. Zu Datenaspekten gehören die gesamte Nachricht oder Datenfelder, Datenelemente oder Datenstrukturen der Nachricht. Zu Aspekten gehören auch das Analysieren der Anwendung, um Verarbeitungsknoten zu erkennen, die auf die gegebenen Datenaspekte mit Einsatzbeschränkungen verweisen, und das Ermitteln einer Einschränkung für einen Verarbeitungsknoten beruhend auf den Einsatzbeschränkungen der verwiesenen Datenaspekte. Zu Aspekten gehört ferner das Einsetzen jedes Verarbeitungsknotens der Anwendung entsprechend der ermittelten Einschränkung.

Description

  • HINTERGRUND
  • Die vorliegende Erfindung betrifft den sicheren Einsatz einer Anwendung über Einsatzorte hinweg.
  • Produkte wie zum Beispiel der IBM Integration Bus (IBM und Integration Bus sind Marken von International Business Machines Corporation) stellen Optionen für eine allgemeine Integrationsbasis beruhend auf der Enterprise-Service-Bus- (ESB-) Technologie bereit. Umsetzungen dienen dazu, Verbindungsmöglichkeiten und Umwandlungen in heterogenen Informationstechnologie-Umgebungen für Unternehmen jeder beliebigen Größe und Branche zu ermöglichen, und decken eine Reihe von Plattformen ab, darunter Cloud-Umgebungen und Mainframe-Server.
  • Bestimmte Integrationsabläufe führen möglicherweise Aktionen für sensible Daten enthaltende Nachrichten aus, die wahrscheinlich Einschränkungen im Zusammenhang damit unterliegen, wo diese Daten fließen können. Zum Beispiel müssen bestimmte Daten möglicherweise innerhalb der Unternehmensfirewall bleiben oder dürfen das Land nicht verlassen.
  • Die Nutzung von Cloud-Technologien ermöglicht es Unternehmen, elastisch zu skalieren, um mit der Nachfrage mitzuhalten, Informationstechnologie-Infrastrukturen zu vermindern und zu rationalisieren, Betriebskosten zu verringern und Systeme schneller, einfacher und auf Anforderung (on-demand) einzusetzen.
  • Bestimmte Ende-zu-Ende-Integrationsanwendungen oder -Dienste laufen möglicherweise in hybriden Cloud-Umgebungen, wobei ein Teil der Verarbeitung in einem öffentlichen Cloud-Bereich durchgeführt wird, und ein Teil der Verarbeitung, der möglicherweise geschützte Daten verwendet, vor Ort (on-premises) innerhalb der Unternehmensfirewall läuft.
  • Es sind sichere Konnektoren bekannt, die sich mit hinter einer Firewall befindlichen Systemen verbinden. Für Systeme wie Datenbanken sind sichere Konnektoren erforderlich, um die Integration durchzuführen. Auf diese Weise wird es einer Integrationsanwendung, die in einem öffentlichen Cloud-Bereich ausgeführt wird, ermöglicht, sich mit einer Anwendung zu verbinden, die vor Ort hinter einer Unternehmensfirewall ausgeführt wird.
  • Die US 2014 / 0 101 300 A1 betrifft ein Verfahren und einen zugehörigen Netzwerkknoten, welches eines oder mehrere der folgenden umfasst: Empfangen einer Anforderung zum Einrichten einer Komponente einer Anwendung von einem anfordernden Gerät; Identifizieren einer der Anwendung zugeordneten Richtliniendatei, wobei die Richtliniendatei mindestens ein Segment für die Anwendung definiert und mindestens eine Einschränkung für ein erstes Segment des mindestens einen Segments definiert; Auswählen des ersten Segments zum Einrichten der Komponente; Auswählen eines Ortes zum Einrichten der Komponente, wobei der Ort so ausgewählt wird, dass er mit der mindestens einen Einschränkung konsistent ist; und Einrichten der Komponente an dem ausgewählten Ort.
  • KURZDARSTELLUNG
  • Die Erfindung betrifft ein auf einem Computer ausgeführtes Verfahren, ein System und ein Computerprogrammprodukt für den sicheren Einsatz einer Anwendung über Einsatzorte hinweg, deren Merkmalen in den entsprechenden Hauptansprüchen angegeben sind. Ausführungsformen der Erfindung sind in den abhängigen Patentansprüchen angegeben.
  • In einem Beispiel wird ein auf einem Computer ausgeführtes Verfahren für den sicheren Einsatz einer Anwendung über Einsatzorte hinweg bereitgestellt, aufweisend: Bereitstellen einer Anwendung zur Analyse, wobei die Anwendung in der Lage ist, in Verarbeitungsknoten geteilt zu werden, die möglicherweise an verschiedenen Orten eingesetzt werden, und wobei die Anwendung Nachrichten beruhend auf Nachrichtenmodellen verarbeitet, die Anmerkungen aufweisen, die Beschränkungen für den Einsatz von Daten in gegebenen Datenaspekten festlegen, wobei zu Datenaspekten gehören: die gesamte Nachricht oder Datenfelder, Datenelemente oder Datenstrukturen der Nachricht; Analysieren der Anwendung, um Verarbeitungsknoten zu erkennen, die auf die gegebenen Datenaspekte mit Einsatzbeschränkungen verweisen; Ermitteln einer Einschränkung für einen Verarbeitungsknoten beruhend auf den Einsatzbeschränkungen der verwiesenen Datenaspekte; und Einsetzen jedes Verarbeitungsknotens der Anwendung entsprechend der ermittelten Einschränkung.
  • In einem zweiten Beispiel wird ein System für den sicheren Einsatz einer Anwendung über Einsatzorte hinweg bereitgestellt, aufweisend: einen Prozessor und einen Hauptspeicher, der so konfiguriert ist, dass er dem Prozessor Computerprogrammanweisungen bereitstellt, um die Funktion der folgenden Komponenten auszuführen, die so angeordnet sind, dass sie die festgelegte Funktionalität bereitstellen; eine Empfangskomponente zum Empfangen einer Anwendung zur Analyse, wobei die Anwendung in der Lage ist, in Verarbeitungsknoten geteilt zu werden, die möglicherweise an verschiedenen Orten eingesetzt werden, und wobei die Anwendung Nachrichten beruhend auf Nachrichtenmodellen verarbeitet, die Anmerkungen aufweisen, die Beschränkungen für den Einsatz von Daten in gegebenen Datenaspekten festlegen, wobei zu Datenaspekten gehören: die gesamte Nachricht oder Datenfelder, Datenelemente oder Datenstrukturen der Nachricht; eine Analysierkomponente zum Analysieren der Anwendung, um Verarbeitungsknoten zu erkennen, die auf die gegebenen Datenaspekte mit Einsatzbeschränkungen verweisen; eine Ermittlungskomponente zum Ermitteln einer Einschränkung für einen Verarbeitungsknoten beruhend auf den Einsatzbeschränkungen der verwiesenen Datenaspekte; und eine Einsatzkomponente zum Einsetzen jedes Verarbeitungsknotens der Anwendung entsprechend der ermittelten Einschränkung.
  • In einem dritten Beispiel wird ein Computerprogrammprodukt für den sicheren Einsatz einer Anwendung über Einsatzorte hinweg bereitgestellt, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, auf dem Programmanweisungen enthalten sind, wobei die Programmanweisungen durch einen Prozessor ausführbar sind, um den Prozessor zu veranlassen zum: Bereitstellen einer Anwendung zur Analyse, wobei die Anwendung in der Lage ist, in Verarbeitungsknoten geteilt zu werden, die möglicherweise an verschiedenen Orten eingesetzt werden, und wobei die Anwendung Nachrichten beruhend auf Nachrichtenmodellen verarbeitet, die Anmerkungen aufweisen, die Beschränkungen für den Einsatz von Daten in gegebenen Datenaspekten festlegen, wobei zu Datenaspekten gehören: die gesamte Nachricht oder Datenfelder, Datenelemente oder Datenstrukturen der Nachricht; Analysieren der Anwendung, um Verarbeitungsknoten zu erkennen, die auf die gegebenen Datenaspekte mit Einsatzbeschränkungen verweisen; Ermitteln einer Einschränkung für einen Verarbeitungsknoten beruhend auf den Einsatzbeschränkungen der verwiesenen Datenaspekte; und Einsetzen jedes Verarbeitungsknotens der Anwendung entsprechend der ermittelten Einschränkung.
  • Die beschriebenen Aspekte der Erfindung bieten den Vorteil eines einfachen und benutzerfreundlichen Einsatzmodells für Kunden, die eine Anwendung zum Beispiel in einer verteilten Umgebung oder einer hybriden Cloud-Umgebung einsetzen möchten.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Der als Erfindung angesehene Gegenstand wird insbesondere in dem abschließenden Teil der Beschreibung dargelegt und eindeutig beansprucht. Die Erfindung kann sowohl in Bezug auf die Organisation als auch auf die Funktionsweise zusammen mit ihren Aufgaben, Merkmalen und Vorteilen am besten unter Bezugnahme auf die folgende detaillierte Beschreibung verstanden werden, wenn man diese zusammen mit den beigefügten Zeichnungen liest.
  • Beispielhafte Ausführungsformen der vorliegenden Erfindung werden nun lediglich beispielhaft unter Bezugnahme auf die beigefügten Zeichnungen beschrieben. Es zeigen:
    • Die 1A und 1B Ablaufpläne zweier beispielhafter Ausführungsformen eines Verfahrens in Übereinstimmung mit der vorliegenden Erfindung;
    • 2 einen Ablaufplan einer detaillierteren beispielhaften Ausführungsform eines Verfahrens in Übereinstimmung mit der vorliegenden Erfindung;
    • 3 ein Blockschaubild einer beispielhaften Ausführungsform eines Systems in Übereinstimmung mit der vorliegenden Erfindung;
    • 4 ein Blockschaubild einer Ausführungsform eines Computersystems, in dem die vorliegende Erfindung umgesetzt werden kann;
    • die 5A und 5B schematische Schaubilder eines Beispiels eines Einsatzes eines Nachrichtenflusses in einer Integrationsumgebung, das ein Verfahren in Übereinstimmung mit der vorliegenden Erfindung veranschaulicht;
    • 5C ein schematisches Schaubild eines zweiten Beispiels eines Einsatzes eines Nachrichtenflusses, das den festgelegten Verfolgungsaspekt in Übereinstimmung mit der vorliegenden Erfindung zeigt;
    • 6 ein Blockschaubild einer Ausführungsform eines Computersystems oder Cloud-Servers, in dem die vorliegende Erfindung realisiert werden kann;
    • 7 ein schematisches Schaubild einer Cloud-Datenverarbeitungsumgebung, in der die vorliegende Erfindung umgesetzt werden kann; und
    • 8 ein Schaubild von Abstraktionsmodellschichten einer Cloud-Datenverarbeitungsumgebung, in der die vorliegende Erfindung umgesetzt werden kann.
  • Man wird verstehen, dass in den Figuren gezeigte Elemente der Einfachheit und Klarheit der Abbildung halber nicht unbedingt maßstabsgetreu gezeichnet sind. Die Abmessungen einiger Elemente können zum Beispiel in Bezug auf andere Elemente der Klarheit halber übertrieben groß dargestellt sein. Ferner können sich Bezugszahlen in den Figuren wiederholen, wenn dies angebracht erscheint, um entsprechende oder analoge Merkmale anzuzeigen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Möglicherweise müssen Daten zwischen ungleichen Anwendungen über mehrere Hardware- und Software-Plattformen hinweg fließen. Eine Architektur, die dies unterstützt, ist die Enterprise-Service-Bus-Architektur, die integrierte Verbindungsmöglichkeiten zwischen Anwendungen und Diensten in einer serviceorientierten Architektur bereitstellt. IBM Integration Bus (früher WebSphere Message Broker, wobei IBM und WebSphere Marken von International Business Machines Corporation sind) ist ein Beispiel für eine derartige Architektur, die es ermöglicht, dass Geschäftsdaten als Integrationsanwendung fließen, wobei Regeln auf die Daten angewendet werden, die durch einen Integrationsknoten (auch als Message Broker bezeichnet) fließen, um die Daten weiterzuleiten und umzuwandeln.
  • Zu anderen Architekturen kann eine verteilte Datenverarbeitung gehören, wobei es sich bei einem verteilten System um ein Software-System handelt, in dem sich Komponenten auf vernetzten Computern befinden und Daten austauschen und ihre Aktionen koordinieren, indem sie Nachrichten weitergeben. Verteilte Anwendungen können über eine verteilte Datenverarbeitungsarchitektur hinweg verarbeitet werden.
  • Das beschriebene Verfahren und System werden auf dem Gebiet von Integrationsabläufen oder -anwendungen beschrieben, die über verschiedene Orte hinweg eingesetzt werden können, darunter die Verwendung einer hybriden Cloud-Umgebung. Ein Fachmann wird jedoch verstehen, dass gleichwertige Verfahren und Systeme auf eine verteilte Datenverarbeitungsumgebung angewendet werden können.
  • In dem beschriebenen Verfahren und System wird eine Beschreibung oder ein Modell einer Datenstruktur, die zum Beispiel in Form eines Nachrichtenmodells vorliegen kann, mit Anmerkungen versehen, um Aspekte wie zum Beispiel Felder oder Strukturen oder Elemente innerhalb der Strukturen zu erkennen, die bestimmte Beschränkungen aufweisen. Zum Beispiel sind Daten in einem bestimmten Feld oder einer bestimmten Struktur auf ein Firmengelände beschränkt, auf innerhalb einer Unternehmensfirewall beschränkt, auf ein Land beschränkt oder dürfen ungehindert in die öffentliche Cloud eintreten.
  • Eine Integrationsanwendung wird dann analysiert, um zu ermitteln, auf welche Datenfelder oder Strukturen die jeweilige Verarbeitung der Anwendung einwirkt. Die Analyse erkennt möglicherweise die Verarbeitungsknoten, die möglicherweise mit unterschiedlichen Einschränkungen beruhend auf den in dem Nachrichtenmodell bereitgestellten Einschränkungen durchgeführt werden. Die Einschränkungen schränken die Verarbeitung möglicherweise auf bestimmte Orte oder Kategorien von Orten entsprechend den in dem Nachrichtenmodell festgelegten Einschränkungen ein. Die Verarbeitungsknoten sind möglicherweise mit Metadaten gekennzeichnet, welche die Einschränkung angeben.
  • Die Analyse und das Kennzeichnen der einschränkenden Metadaten können ausgeführt werden, wenn die Anwendung entwickelt und verpackt wird, wobei die einschränkenden Metadaten in den Knoten der Anwendung gekennzeichnet sind. Alternativ kann dies zum Einsatzzeitpunkt der Anwendung durchgeführt werden, wobei in diesem Fall die Metadaten möglicherweise nicht an einem Knoten gekennzeichnet sind, und stattdessen wird der Knoten möglicherweise gemäß der anwendbaren Einschränkung eingesetzt.
  • Wenn die Integrationsanwendung eingesetzt wird, werden die Verarbeitungsknoten ordnungsgemäß innerhalb der Umgebung beruhend auf den Datenfeldern oder Strukturen, die sie verarbeiten, eingesetzt.
  • Vorteilhafterweise setzt ein Chief Information Security Officer (CISO) oder ein anderer entsprechender Systemverwalter die Einschränkungen hinsichtlich Datensicherheit im Vorfeld fest, die dann auf das Nachrichtenmodell angewendet werden. Anschließend müssen der/die Anwendungs- oder Integrationsentwickler und Systemverwalter keine tieferen Kenntnisse darüber haben, welche Einschränkungen für die Daten gelten. Hierdurch wird die Entwicklung und Verwaltung von Anwendungen in einer hybriden Cloud-Umgebung effizienter, wodurch Kosten und Komplexität verringert werden.
  • Ein Einsatzsystem in einem System zur Verarbeitung von Daten, wobei die Daten sicher (d.h. vor Ort) verarbeitet werden können oder in einer weniger sicheren Umgebung (z.B. der Cloud) verarbeitet werden können, kann die Verarbeitung verteilen, indem die einschränkenden Metadaten (entweder in dem Knoten gekennzeichnet oder während der Verarbeitung erzeugt), die Sicherheit oder Datenschutz betreffen, untersucht werden, und kann beruhend auf Regeln bestimmte Teile dieser Daten darauf beschränken, dass sie in einer sichereren Umgebung verarbeitet werden, während Daten, die nicht sensibel sind, in einer weniger sicheren Umgebung verarbeitet werden dürfen.
  • Das Verfahren beschreibt die Erweiterung des Nachrichtenmodells und die Verwendung dessen in Abstimmung mit der Anwendungsanalyse, um geeignete Einsatzorte für verschiedene Teile einer verteilten Anwendung zu ermitteln und anschließend zu bestimmen, wo die Verarbeitung stattfinden sollte. Das beschriebene Verfahren und System stellen einen Logikbruch zwischen dem Nachrichtenmodell und dem Code bereit, sodass der Entwickler nichts über Beschränkungen der Datenausbreitung wissen muss, da dies durch entsprechende Architekten auf der Nachrichtenmodellebene festgelegt wird.
  • Nachrichtenmodelle stellen allgemein eine Trennung zwischen dem Code und der Beschreibung der Nachricht bereit. Diese Trennung wird bei dem Einsatz von Anwendungen, die auf geschützte Daten zugreifen, in hybriden Cloud-Umgebungen vorteilhaft genutzt.
  • Die 1A und 1B zeigen Ablaufpläne 100, 150, die zwei beispielhafte Ausführungsformen des beschriebenen Verfahrens veranschaulichen, einer bei der Entwicklung einer Anwendung und der andere bei dem Einsatz der Anwendung. Unter Bezugnahme auf 1A veranschaulicht ein Ablaufplan 100 eine beispielhafte Ausführungsform des beschriebenen Verfahrens, das in einer Anwendungsentwicklungsstufe einer Anwendung ausgeführt werden kann, die über mehrere Systeme hinweg eingesetzt werden kann.
  • Als vorbereitender Schritt können Nachrichtenmodelle mit Beschränkungen versehen werden, um Einschränkungen für die Verwendung von Daten in Aspekten einer Nachricht bereitzustellen. Bei dem Aspekt der Nachricht, auf welche die Beschränkung angewendet wird, kann es sich um eine ganze Nachricht, ein komplexes Element (das komplexe Kindelemente oder einfache Elemente/Felder enthalten kann) oder einzelne Elemente oder Felder einer Nachricht handeln. Die Einschränkungen können als Beschränkungen in dem Nachrichtenmodell bereitgestellt werden, die festlegen, wo die Daten eingesetzt werden dürfen. Das Versehen des Nachrichtenmodells mit Anmerkungen kann Datenfelder oder Strukturen kennzeichnen, die innerhalb der Grenze X, Grenze Y usw. bleiben müssen. (D.h. innerhalb einer Abteilung, einer Firewall, eines Landes usw.). Das Nachrichtenmodell wird erweitert, um von einer Anwendung verarbeitete flüchtige Daten zu beschreiben und dies für die Ermittlung der Einsatzorte zu verwenden.
  • Ein Nachrichtenmodell stellt ein mit Anmerkungen versehenes Modell eines Nachrichtenformats zur Verfügung, zum Beispiel kann es sich bei einem Nachrichtenmodell um ein mit Anmerkungen versehenes Extensible Markup Language (XML) Schema-Modell oder ein Data Format Description Language (DFDL) Schema-Modell handeln.
  • Wenn ein Nachrichtenmodell erstellt wird, kann ein Systemverwalter ein Element oder Feld erstellen und für das Element oder Feld eine Eigenschaft festsetzen, um eine Beschränkung festzulegen. Wenn ein bestehendes Nachrichtenmodell verändert wird, kann der Systemverwalter bestehende Elemente oder Felder durch Festsetzen einer entsprechenden Beschränkungseigenschaft verändern. Eine Anwendung kann während ihrer Entwicklung Nachrichtenmodelle in den Anwendungsablauf zur Verwendung durch Knoten oder Teilmengen der Anwendung hineinziehen, die durch die Nachrichtenmodelle festgelegte Nachrichten verarbeiten. Es kann eine Anwendung zur Analyse während der Entwicklung der Anwendung bereitgestellt werden 101. Die Anwendung kann Verarbeitungsknoten oder Code-Teilmengen aufweisen, die über mehrere Systeme hinweg eingesetzt werden können, die zum Beispiel über ein Netzwerk oder eine hybride Cloud-Umgebung hinweg verteilt sein können.
  • Es wird eine Analyse der Anwendung ausgeführt, und Verarbeitungsknoten der Anwendung werden erkannt 102, die auf Datenfelder, Elemente oder Strukturen verweisen oder Nachrichten verarbeiten, die in ihrem Nachrichtenmodell Beschränkungen auferlegt haben. Die Analyse kann auf die mit Anmerkungen versehenen Nachrichtenmodelle zugreifen 103, in denen Aspekte der Nachricht wie zum Beispiel Datenfelder, Elemente und/oder Datenstrukturen mit Beschränkungen versehen wurden, um Einzelheiten der Einschränkungen für Einsatzorte der Daten in den Feldern, Elementen und/oder Strukturen zu erhalten.
  • In einer Ausführungsform kann die Analyse auch auf Verfolgungsdaten zugreifen 104, die Aspekte von Nachrichten betreffen, auf die Einschränkungen angewendet werden und die zu Zielaspekten von Nachrichten verschoben wurden, die uneingeschränkt sind. Die Zielaspekte können verfolgt werden, und es können entsprechende Beschränkungen auf deren Daten angewendet werden. Die Knoten der Anwendung können mit einschränkenden Metadaten gekennzeichnet werden 105, um die Einschränkung der Verteilung des Knotens anzugeben. Die einschränkenden Metadaten beruhen 106 auf der Anmerkung der Beschränkung in dem Nachrichtenmodell, die den Aspekt des Verfahrens (Nachricht, Datenfeld, Element oder Struktur) betrifft, der von dem Knoten verwendet wird.
  • Bei einem späteren Einsatz der Anwendung können die einschränkenden Metadaten der Verarbeitungsknoten gelesen werden, und verschiedene Knoten der Anwendung können zur Verarbeitung durch Systeme gesendet werden 107, welche die Anforderungen bezüglich der einschränkenden Metadaten für diesen Knoten erfüllen.
  • Unter Bezugnahme auf 1B veranschaulicht ein Ablaufplan 150 eine beispielhafte Ausführungsform des beschriebenen Verfahrens, das während der Verarbeitung beim Einsatz einer Anwendung ausgeführt werden kann, die über mehrere Systeme hinweg eingesetzt werden kann. Wie bei dem Verfahren aus 1A können als vorbereitender Schritt Nachrichtenmodelle mit Beschränkungen versehen werden, um Einschränkungen für die Verwendung von Daten in Aspekten einer Nachricht bereitzustellen. Eine Anwendung kann zum Einsatz bereitgestellt werden 151. Die Anwendung kann Verarbeitungsknoten aufweisen, die über mehrere Systeme hinweg eingesetzt werden können, die zum Beispiel über ein Netzwerk oder eine hybride Cloud-Umgebung verteilt sein können.
  • Es wird eine Analyse der Anwendung ausgeführt, und Verarbeitungsknoten der Anwendung werden erkannt 152, die auf Datenfelder, Elemente oder Strukturen verweisen oder Nachrichten verarbeiten, die in ihrem Nachrichtenmodell Beschränkungen auferlegt haben. Die Analyse kann auf die mit Anmerkungen versehenen Nachrichtenmodelle zugreifen 153, in denen Aspekte der Nachricht wie zum Beispiel Datenfelder, Elemente und/oder Datenstrukturen mit Beschränkungen versehen wurden, um Einzelheiten der Einschränkungen für Einsatzorte der Daten in den Feldern, Elementen und/oder Strukturen zu erhalten. In einer Ausführungsform kann die Analyse auch auf Verfolgungsdaten zugreifen 154, die Aspekte von Nachrichten betreffen, auf die Einschränkungen angewendet werden und die zu Zielaspekten von Nachrichten verschoben wurden, die uneingeschränkt sind. Die Zielaspekte können verfolgt werden, und es können entsprechende Beschränkungen auf deren Daten angewendet werden.
  • Die Einschränkungen für einen Verarbeitungsknoten können beruhend auf den Beschränkungsanmerkungen in den Nachrichtenmodellen und Verfolgungsdaten ermittelt werden 155, und die Knoten der Anwendung können gemäß der ermittelten Einschränkungen eingesetzt werden 156, und verschiedene Knoten der Anwendung können zur Verarbeitung durch Systeme gesendet werden, welche die Einschränkungsanforderungen für diesen Knoten erfüllen. Das Aufteilen einer Anwendung in Knoten für den Einsatz, wobei sich zum Beispiel einige Knoten vor Ort und einige in einer öffentlichen Cloud-Umgebung befinden, ermöglicht ein Cloud-Bursting der Verarbeitung, wenn Vor-Ort-Ressourcen knapp werden.
  • Unter Bezugnahme auf 2 zeigt ein Ablaufplan 200 eine ausführlichere beispielhafte Ausführungsform des beschriebenen Verfahrens, wie es nach der Entwicklung einer Anwendung 201 ausgeführt wird, die über mehrere Systeme hinweg eingesetzt werden kann. Diese Ausführungsform wird in einer Integrationsumgebung bereitgestellt, in der eine Anwendung ein Integrationsablauf mit Knoten ist, die eine oder mehrere eingehende Schnittstellen und eine oder mehrere ausgehende Schnittstellen aufweisen. Eine entsprechende Anwendung in einer verteilten Umgebung kann ein gleichartiges Verfahren verwenden.
  • Eine statische Analyse der entwickelten Anwendung kann ausgelöst werden 202, und ein Knoten der Anwendung kann in Schritt 203 analysiert werden. Es kann ermittelt werden 204, ob eine eingehende Schnittstelle des Knotens beschränkte Felder oder Daten enthält. Dies kann auf das Nachrichtenmodell verweisen, um Beschränkungen zu ermitteln, die für Felder oder Daten bereitgestellt werden. Dies kann auch auf einen Verfolgungsspeicher 210 verweisen, der Felder aufzeichnet, auf die Beschränkungen angewendet werden. Wenn der Knoten kein beschränktes Feld beinhaltet, fährt das Verfahren mit Schritt 208 fort, der nachfolgend beschrieben ist.
  • Wenn der Knoten ein beschränktes Feld beinhaltet, kann der Knoten entsprechend als eingeschränkt gekennzeichnet werden 205. Es kann dann ermittelt werden 206, ob die Knotenlogik ein beschränktes Feld zu irgendeinem anderen Feld auf einer ausgehenden Schnittstelle verschiebt. Wenn die Logik kein beschränktes Feld verschiebt, kann das Verfahren mit Schritt 208 fortfahren, der nachfolgend beschrieben ist. Wenn die Logik jedoch ein beschränktes Feld verschiebt, wird in dem Verfolgungsspeicher 210 aufgezeichnet 207, dass das Zielfeld beschränkte Daten enthält, bevor mit Schritt 208 fortgefahren wird.
  • In Schritt 208 kann ermittelt werden, ob eine ausgehende Schnittstelle des Knotens ein beschränktes Feld mit Daten enthält. Dies kann auch auf einen Verfolgungsspeicher 210 verweisen, der Felder aufzeichnet, auf die Beschränkungen angewendet werden. Wenn es derartige beschränkte Felder gibt, kann der Knoten entsprechend als eingeschränkt gekennzeichnet werden 209. Es kann dann ermittelt werden 211, ob es in der Anwendung weitere Knoten gibt. Falls dem so ist, kann das Verfahren eine Schleife ausführen und den nächsten Knoten 213 in Schritt 203 analysieren. Wenn es keine weiteren Knoten gibt, kann die Anwendung in einer hybriden Umgebung eingesetzt werden 214, wobei jeder Knoten beruhend auf allen in den Knoten gekennzeichneten Beschränkungen an einem entsprechenden Ort eingesetzt wird.
  • Der Verfolgungsspeicher 210 in dieser Ausführungsform wird während der Analyse vor dem Einsatz verwendet. Beim Erkennen, dass ein beschränktes Feld zum Erstellen einer neuen Nachricht verwendet wird, die auf einem Schema beruht, das keine Beschränkungen angibt, kann die statische Analyse unter Bezugnahme auf den Verfolgungsspeicher 210 erkennen, dass beim Verarbeiten dieser neuen Nachricht durch einen nachfolgenden Knoten, obwohl das aktuell verwendete Modell keine Beschränkungen aufweist, die Nachricht ein Feld aufweist, das in einem vorhergehenden Nachrichtenmodell als beschränkt gekennzeichnet wurde, wodurch der Umfang des Einsatzes oder der Verarbeitung für den Knoten eingeschränkt wird.
  • Das Verfolgungsverfahren kann mit dem Analysieren der Logik in dem Knoten selbst, im Gegensatz zu lediglich den Schnittstellen einhergehen. Dabei kann es sich um das Analysieren von Produkt-Anwendungsprogrammschnittstellen (APIs) oder allgemeiner (d.h. XSLT, XQuery usw.) handeln, um zu verstehen, welche Felder zu anderen ausgehenden Feldern verschoben oder als Eingabe für diese verwendet werden, mit Kenntnis der APIs oder der allgemeinen Umwandlungstechnologie.
  • Unter Bezugnahme auf 3 zeigt ein Blockschaubild eine beispielhafte Ausführungsform eines beschriebenen Systems 300. Das System 300 beinhaltet ein sicheres Einsatzsystem 310. Das sichere Einsatzsystem 310 kann als Teil eines Entwicklungssystems zur Anwendungsentwicklung oder als Teil eines Einsatzsystems für den Einsatz von Anwendungen über Einsatzorte hinweg bereitgestellt werden. Eine sichere Einsatzkomponente 320 ist in 3 separat gezeigt, wobei diese jedoch auch als eine Ausgangskomponente des sicheren Einsatzsystems 310 integriert sein kann, wenn dieses als Einsatzsystem bereitgestellt wird.
  • Eine Nachrichtenmodell-Anmerkungskomponente 330 kann bereitgestellt werden, die getrennt von dem sicheren Einsatzsystem 310 sein und als eine Benutzerschnittstelle für einen Systemverwalter bereitgestellt werden kann, um Nachrichtenmodelle mit Einsatzbeschränkungen wie hierin beschrieben mit Anmerkungen zu versehen. Dies kann getrennt von der Anwendungsentwicklung geschehen. Das sichere Einsatzsystem 310 kann einen Prozessor und einen Hauptspeicher beinhalten, der so konfiguriert ist, dass er dem Prozessor Computerprogrammanweisungen bereitstellt, um die Funktion der folgenden Komponenten auszuführen, die so angeordnet sind, dass sie die festgelegte Funktionalität bereitstellen.
  • Das sichere Einsatzsystem 310 kann eine Empfangskomponente 311 beinhalten, die zum Empfangen einer Anwendung 312 zur Analyse angeordnet ist, wobei die Anwendung in der Lage ist, in Verarbeitungsknoten 401 bis 405 geteilt zu werden, die möglicherweise an verschiedenen Orten eingesetzt werden. Die Anwendung 312 verarbeitet Nachrichten beruhend auf Nachrichtenmodellen 313, die Anmerkungen aufweisen, die Beschränkungen für den Einsatz von Daten in gegebenen Datenfeldern oder Strukturen der Nachricht festlegen. Eine Zugriffskomponente 317 kann zum Zugreifen auf die benötigten Nachrichtenmodelle 313 bereitgestellt werden.
  • Das sichere Einsatzsystem 310 kann eine Analysierkomponente 314 beinhalten, die zum Analysieren der Anwendung angeordnet ist, um die Verarbeitungsknoten 401 bis 405 zu erkennen, die auf die gegebenen Datenfelder oder Strukturen mit Einsatzbeschränkungen verweisen, die durch die Anmerkungen in den Nachrichtenmodellen 313 festgelegt sind. Die Analysierkomponente 314 kann auch auf eine Verfolgungskomponente 316 verweisen, die zum Verfolgen von Datenfeldern oder Strukturen mit Einsatzbeschränkungen und zum Ermitteln, ob ein Datenfeld oder eine Struktur mit Einsatzbeschränkungen von einem Verarbeitungsknoten 501 bis 505 verschoben wird, angeordnet ist. Ein Verfolgungsspeicher 318 kann bereitgestellt werden, um aufzuzeichnen, dass ein verschobenes Datenfeld oder eine verschobene Struktur Einsatzbeschränkungen aufweist.
  • Das sichere Einsatzsystem 310 kann eine Ermittlungskomponente 321 zum Ermitteln einer Einschränkung für einen Verarbeitungsknoten beruhend auf den Einsatzbeschränkungen der verwiesenen Datenfelder und Strukturen beinhalten.
  • In der Ausführungsform, in der das sichere Einsatzsystem 310 vor dem Einsatz betrieben wird, kann das sichere Einsatzsystem 310 eine Kennzeichnungskomponente 315 beinhalten, die zum Kennzeichnen der Verarbeitungsknoten 401 bis 405 mit einschränkenden Metadaten entsprechend den in dem Nachrichtenmodell 313 angemerkten Einsatzbeschränkungen, welche die gegebenen Datenfelder oder Strukturen betreffen, auf welche der Verarbeitungsknoten zugreift, angeordnet ist. Eine Ausgabekomponente 319 für gekennzeichnete Anwendungen kann die gekennzeichnete Anwendung bei Bedarf an eine separate Einsatzkomponente 320 ausgeben. Die Einsatzkomponente 320 kann die einschränkenden Metadaten lesen und jeden Verarbeitungsknoten 401 bis 405 gemäß den Einsatzbeschränkungen einsetzen.
  • In der Ausführungsform, in der das sichere Einsatzsystem 310 beim Einsatz einer Anwendung betrieben wird, kann die Ermittlungskomponente 321 die ermittelte Einschränkung für einen Verarbeitungsknoten an die sichere Einsatzkomponente 320 ausgeben, die den Verarbeitungsknoten entsprechend einsetzen kann.
  • Unter Bezugnahme auf 4 zeigt ein Blockschaubild ein beispielhaftes System 400, in dem das beschriebene Verfahren und System umgesetzt werden können. Bei dem gezeigten beispielhaften System 400 handelt es sich um eine Anwendung 312 in Form einer Integrationsanwendung, die über eine hybride Cloud-Umgebung hinweg eingesetzt wird. Einer einfachen Veranschaulichung halber ist die hybride Cloud-Umgebung als ein Vor-Ort-System 410 und eine öffentliche Cloud 420 gezeigt.
  • Das Vor-Ort-System 410 und die öffentliche Cloud 420 können Laufzeit-Engines 411 bzw. 421 aufweisen. Die Laufzeit-Engines 411, 421 führen Anwendungen aus, die auf diesen eingesetzt werden. In einer beispielhaften Ausführungsform kann es sich bei einer Laufzeit-Engine um einen Integrationsserver handeln. Die Anwendung verweist auf Bibliotheken, die üblicherweise zugehörige Ressourcen enthalten können, wie zum Beispiel die Nachrichtenmodelle 313.
  • Die Integrationsanwendung 312 weist die Verarbeitungsknoten 401 bis 405 mit den zugehörigen Nachrichtenmodellen 313 auf. Jeder der Knoten 401 bis 405 kann in der Laufzeit-Engine 411 vor Ort oder der Laufzeit-Engine 421 in der öffentlichen Cloud (oder an anderen Orten in einer komplexeren Anordnung) ausgeführt werden. Wenn die Logik in der Anwendung 312 einen Knoten 401 bis 405 erreicht, werden, wenn er in der öffentlichen Cloud 420 auszuführen ist, eine Nachricht und ein Kontext, der verarbeitet wird, an diese Laufzeit-Engine 421 gesendet. Wenn er auf dem Vor-Ort-System 410 auszuführen ist, werden eine Nachricht und ein Kontext, der verarbeitet wird, an die Laufzeit-Engine 411 auf dem Vor-Ort-System 410 gesendet.
  • Ein sicherer Konnektor 420 kann als ein an einem Ort (vor Ort, in der Cloud oder zwischen beiden aufgeteilt) laufender Prozess bereitgestellt werden, der die Laufzeit-Engine 411 vor Ort mit der Laufzeit-Engine 421 in der Cloud 420 verbindet. Sobald die Verarbeitung in der Cloud-Laufzeit-Engine 421 abgeschlossen ist, kehrt die Steuerung zu der Vor-Ort-Laufzeit-Engine 411 zurück. Also ist der sichere Konnektor 420 ein externer Prozess in Bezug auf die aufgerufenen Laufzeit-Engines 411, 421 und verbindet die Vor-Ort-Laufzeit-Engine 411 mit der Laufzeit-Engine 421 in der Cloud.
  • Die beschriebene sichere Einsatzkomponente 310 kann an dem sicheren Konnektor 420 bereitgestellt werden und kann einschränkende Metadaten an einem Verarbeitungsknoten 401 bis 405 lesen und ermitteln, auf welcher Laufzeit-Engine 411, 421 der Knoten eingesetzt werden darf.
  • Es wird nun ein Beispiel bereitgestellt, welches das beschriebene Verfahren veranschau licht.
  • Beim Beschreiben einer Nachrichtenstruktur mit einem Nachrichtenmodell (XML/DFDL-Schemas, etc.) kann ein Systemverwalter zusätzlich Anmerkungen bereitstellen, die Einschränkungen für bestimmte Datenstrukturen oder Felder festsetzen. Das folgende Beispiel erlegt FIELD2 eine Einschränkung auf, dass es die Unternehmensfirewall nicht verlässt, und dass die Daten in der komplexen Struktur PERSONAL_DATA das Land nicht verlassen dürfen:

 HEADER::
       FIELD1 ::STRING
 BODY::
       FIELD2::STRING::ONPREM
       PERSONAL_DATA::::COUNTRY
              FIELD3::INTEGER
              FIELD4::STRING
              FIELD5::STRING
 FOOTER::
              FIELD6::DATETIME
  • Die Felder/Elemente FIELD2 und PERSONAL_DATA (darunter die Unterelemente FIELD3, FIELD4 und FIELD5) weisen Beschränkungen auf. Wenn ein Knoten eine Schnittstelle zu diesen Feldern aufweist, muss er in einer geeigneten Umgebung ausgeführt werden.
  • Ein Integrationsablaufentwickler kann anschließend das Nachrichtenmodell in einen Integrationsablauf ziehen, der die beschriebenen Nachrichten verarbeitet. Wenn die Anwendung fertiggestellt und verpackt ist oder eingesetzt wird, kann eine statische Analyse des Codes stattfinden, um zu ermitteln, welche Knoten der Anwendung auf Felder zugreifen oder Nachrichten verarbeiten, die in dem Nachrichtenmodell Beschränkungen auferlegt haben. Vorteilhafterweise kann dies zusätzlich Verfolgungsdaten beinhalten, die das Nachrichtenmodell verlassen, die zum Beispiel von obigem FIELD2 entnommen und in ein nicht beschränktes Feld in einem anderen Nachrichtenmodell verschoben wurden, um einen ausgehenden Aufruf durchzuführen.
  • Die Anwendungsknoten können dann beruhend auf der Analyse gekennzeichnet werden, um anzugeben, wo sie eingesetzt werden dürfen. Die Knoten, die mit auf „ONPREM“ beschränkten Daten arbeiten, dürfen lediglich in einer Vor-Ort-Umgebung eingesetzt werden.
  • Eine erste beispielhafte Integration und ein anschließender Einsatz sind in den 5A und 5B gezeigt. Die in 5A gezeigte beispielhafte Ausführungsform eines Nachrichtenablaufs 500 einer Integration durch die Knoten Eingabe 501, Weiterleitung 502, Umwandlung 503, SOAP-Anfrage 504, Umwandlung 505 und Ausgabe 506. Wenn Nachrichtenboxen übereinander gezeigt werden, zeigt dies, dass die Nachricht oben in die Nachricht unten umgewandelt wird, oder dass die Nachricht oben an einen externen Dienst gesendet und die Nachricht unten zurückkommt.
  • An der Eingangsstufe 501 zu dem Nachrichtenablauf wird eine Nachricht 511 empfangen. Die Nachricht 511 wird beruhend auf dem in der Nachricht unterstrichenen Feld weitergeleitet 502. Der Einfachheit halber werden die anderen Pfade, die von diesem Punkt aus gewählt werden können, nicht gezeigt. Die Nachricht 513 wird von der oben gezeigten Nachricht 513A in die unten gezeigte 513B umgewandelt 503. Unterstrichene Felder zeigen Daten, die sich zu der ausgehenden Nachricht des Umwandlungsknotens 503 hin ausbreiten. Die Nachricht 514A oben an dem SOAP-Anfrageknoten 504 wird an einen externen SOAP-Dienst gesendet, und die Antwort unter 514B wird empfangen. Keine der Schnittstellen verweist auf beschränkte Felder, also kann dieser Knoten in einer Umgebung mit niedrigerer Sicherheit ausgeführt werden. Die Nachricht 515A oben an dem Umwandlungsknoten 505 wird in die unten gezeigte 151B umgewandelt. Die an dem Ausgabeknoten 506 gezeigte Nachricht 516 wird nach der Integration ausgegeben.
  • Die Nachrichtenmodelle für die Schnittstellen zwischen dem Eingabeknoten 501 und dem Weiterleitungsknoten 502 und zwischen dem Weiterleitungsknoten 502 und dem Umwandlungsknoten 503 weisen das Feld FIELD2 und die Felder und Elemente PERSONAL_DATA (darunter die Teilelemente field3, field4 und field5) auf, die beschränkt sind. Wenn also ein Knoten eine Schnittstelle zu diesen Feldern aufweist, muss er in einer geeigneten Umgebung ausgeführt werden.
  • 5B veranschaulicht das Ergebnis des Integrationseinsatzes des Nachrichtenablaufs 500. Da der Eingabeknoten 501, der Weiterleitungsknoten 502, der Umwandlungsknoten 503 beschränkte Daten verarbeiten, müssen sie vor Ort 520 verarbeitet werden. Diese sind mit einschränkenden Metadaten gekennzeichnet und werden vor Ort eingesetzt. Da der Anfrageknoten 504, der zweite Umwandlungsknoten 505 und der Ausgabeknoten 506 keine beschränkten Daten verarbeiten, können sie in einer öffentlichen Cloud-Umgebung 530 eingesetzt und verarbeitet werden.
  • Sie könnten in einer Cloud-Umgebung verwendet werden, wenn der geografische Ort der Umgebung bekannt wäre oder angegeben werden könnte. Oder könnten (zum Beispiel) nicht an eine Datenbank gesendet werden, wenn der Ort der Datenbank unbekannt oder außerhalb der geografischen Beschränkung befindlich wäre. Unter derartigen Umständen würden die Daten nicht gesendet werden (vom Inhalt befreit). Dies könnte möglicherweise einen Fehler in der Anwendung verursachen, der an Systemverwalter / Entwickler berichtet wird.
  • Unter Bezugnahme auf 5C ist eine zweite beispielhafte Integration gezeigt, die ein verfolgtes Feld 551 mit dem Wert PN515DL zeigt. Obwohl das Nachrichtenmodell der Schnittstelle zwischen dem Umwandlungsknoten 503 und dem Anfrageknoten 504 keine beschränkten Felder enthält, hat die statische Analyse gezeigt, dass das beschränkte Feld 551 (mit dem Wert PN515DL) in ein unbeschränktes Feld 552 verschoben wurde. Da dies beschränkte Daten enthält, kann es die Beschränkung nicht verlassen (d.h. muss vor Ort bleiben). Deshalb muss der Anfrageknoten 504 vor Ort verarbeitet werden. Die Schnittstellen zwischen dem Anfrageknoten 504 und dem Umwandlungsknoten 505 und zwischen dem Umwandlungsknoten 505 und der Ausgabe 506 enthalten keine beschränkten Daten, und es wurden keine in diese Nachrichtenmodelle eintretenden Daten verfolgt, die beschränkt waren, deshalb können die letzten zwei Knoten 505, 506 in einer öffentlichen Umgebung verarbeitet werden.
  • Obwohl die vorstehende Umsetzung und Beschreibung auf einer Integrationsanwendung beruhen, sind die Verfahren allgemeiner auf jede Anwendung anwendbar, die in einzelne Bestandteile zerlegt werden kann.
  • Unter Bezugnahme auf 6 ist eine schematische Abbildung eines Beispiels eines Systems 600 in Form eines Computersystems oder Servers gezeigt.
  • Ein Computersystem oder Server 612 kann mit zahlreichen anderen Universal- bzw. Spezial-Datenverarbeitungssystem-Umgebungen bzw. Konfigurationen betriebsfähig sein. Zu Beispielen für allgemein bekannte Datenverarbeitungssysteme, Umgebungen und/oder Konfigurationen, die zur Verwendung mit dem Computersystem/Server 612 geeignet sein können, gehören Personal-ComputerSysteme, Server-Computersysteme, Thin Clients, Thick Clients, Handheld- bzw. Laptop-Geräte, Multiprozessorsysteme, auf Mikroprozessoren beruhende Systeme, Set-Top-Boxen, programmierbare Verbraucherelektronik, Netzwerk-PCs, Minicomputersysteme, Mainframe-Computersysteme sowie verteilte Cloud-Computing-Umgebungen, die irgendeine(s) der obigen Systeme bzw. Einheiten enthalten, u.ä., aber nicht darauf beschränkt.
  • Das Computersystem/der Server 612 kann in dem allgemeinen Kontext von durch Computersysteme ausführbaren Instruktionen, z.B. durch Programmmodule, beschrieben werden, die von einem Computersystem ausgeführt werden. Allgemein können zu Programmmodulen Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen und so weiter gehören, die bestimmte Aufgaben durchführen bzw. bestimmte abstrakte Datentypen umsetzen. Das Computersystem/der Server 612 kann in verteilten Cloud-Computing-Umgebungen ausgeführt werden, wo Aufgaben durch ferne Verarbeitungseinheiten durchgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können sich Programmmodule sowohl in lokalen als auch in fernen Computersystem-Speichermedien befinden, darunter Arbeitsspeichereinheiten.
  • In 6 ist ein Computersystem/Server 612 in Form einer Universal-Datenverarbeitungseinheit gezeigt. Die Komponenten des Computersystems/Servers 612 können eine(n) oder mehrere Prozessoren oder Verarbeitungseinheiten 616, einen Systemspeicher 628 und einen Bus 618 aufweisen, der verschiedene Systemkomponenten, darunter den Systemspeicher 628, mit dem Prozessor 616 verbindet, sind aber nicht darauf beschränkt.
  • Der Bus 618 stellt eine oder mehrere einer beliebigen von mehreren Arten von Busstrukturen dar, darunter einen Speicherbus oder eine Speichersteuereinheit, einen Peripheriebus, einen beschleunigten Grafikanschluss und einen Prozessor- oder lokalen Bus, die eine beliebige aus einer Vielfalt von Busarchitekturen verwenden. Zu derartigen Architekturen gehören als Beispiel und nicht als Einschränkung ein ISA-Bus (Industry Standard Architecture), ein MCA-Bus (Micro Channel Architecture), ein EISA-Bus (Enhanced ISA), ein VESA-Lokalbus (Video Electronics Standards Association) sowie ein PCI-Bus (Peripheral Component Interconnects).
  • Das Computersystem/der Server 612 beinhaltet üblicherweise eine Vielfalt von durch ein Computersystem lesbaren Medien. Bei derartigen Medien kann es sich um jedes beliebige Medium handeln, auf welches das Computersystem/der Server 612 zugreifen kann, und es beinhaltet sowohl flüchtige als auch nichtflüchtige Medien, austauschbare und nicht austauschbare Medien.
  • Der Systemspeicher 628 kann durch ein Computersystem lesbare Medien in Form eines flüchtigen Speichers wie einen Direktzugriffsspeicher (RAM) 630 und/oder Cachespeicher 632 enthalten. Das Computersystem/der Server 612 kann ferner andere austauschbare/nicht austauschbare, flüchtige/nichtflüchtige Computersystem-Speichermedien enthalten. Lediglich als Beispiel kann das Speichersystem 634 zum Lesen von und zum Schreiben auf ein nicht austauschbares, nichtflüchtiges magnetisches Medium bereitgestellt werden (das nicht gezeigt ist und üblicherweise „Festplattenlaufwerk“ genannt wird). Es können auch ein Magnetplattenlaufwerk zum Lesen von und Schreiben auf eine austauschbare, nichtflüchtige Magnetplatte (z.B. eine „Floppy-Diskette“) und ein optisches Plattenlaufwerk zum Lesen von oder Schreiben auf eine austauschbare, nichtflüchtige optische Platte wie eine CD-ROM, DVD-ROM oder ein anderes optisches Medium bereitgestellt werden, auch wenn diese nicht gezeigt sind. In derartigen Fällen können sie jeweils über eine oder mehrere Datenmedienschnittstellen mit dem Bus 618 verbunden sein. Wie nachfolgend weiter abgebildet und beschrieben wird, kann der Speicher 628 mindestens ein Programmprodukt enthalten, das einen Satz von Programmmodulen (z.B. mindestens einen) aufweist, die so konfiguriert sind, dass sie die Funktionen von Ausführungsformen der Erfindung ausführen.
  • Als Beispiel und nicht als Einschränkung können das Programm/Dienstprogramm 640 mit (mindestens) einem Satz von Programmmodulen 642 sowie ein Betriebssystem, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten in dem Speicher 628 gespeichert sein. Jedes der Betriebssysteme, ein oder mehrere Anwendungsprogramme, andere Programmmodule und die Programmdaten oder eine beliebige Kombination daraus können eine Umsetzung einer Netzwerkumgebung enthalten. Die Programmmodule 642 führen allgemein die hierin beschriebenen Funktionen und/oder Methodiken von Ausführungsformen der Erfindung aus.
  • Das Computersystem/der Server 612 kann auch mit einer oder mehreren externen Einheiten 614 wie einer Tastatur, einer Zeigeeinheit, einer Anzeige 624 usw., einer oder mehreren Einheiten, die es einem Benutzer ermöglichen, mit dem Computersystem/Server 612 Daten auszutauschen, und/oder beliebigen Einheiten (z.B. Netzwerkkarten, Modems usw.) Daten austauschen, die es dem Computersystem/Server 612 ermöglichen, mit einer oder mehreren anderen Datenverarbeitungseinheiten Daten auszutauschen. Ein derartiger Datenaustausch kann über die Eingabe/Ausgabe- (E/A-) Schnittstellen 622 erfolgen. Außerdem kann das Computersystem/der Server 612 über den Netzwerkadapter 620 mit einem oder mehreren Netzwerken Daten austauschen, wie zum Beispiel einem lokalen Netzwerk (LAN), einem allgemeinen Weitverkehrsnetz (WAN) und/oder einem öffentlichen Netzwerk (z.B. dem Internet). Wie abgebildet ist, tauscht der Netzwerkadapter 620 mit den anderen Komponenten des Computersystems/Servers 612 über den Bus 618 Daten aus. Es sollte klar sein, dass andere Hardware- und/oder Software-Komponenten in Verbindung mit dem Computersystem/Server 612 verwendet werden könnten, auch wenn diese nicht gezeigt sind. Zu Beispielen gehören folgende, ohne auf diese beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten, externe Festplattenlaufwerk-Arrays, RAID-Systeme, Bandlaufwerke und Speichersysteme zur Datenarchivierung usw.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) beinhalten, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch ein System zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch kodierte Einheit wie zum Beispiel Lochkarten oder gehobene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. durch ein Glasfaserkabel geleitete Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs-/Verarbeitungseinheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetz und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Leitwegrechner, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o.ä. sowie herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, im Feld programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern durch durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, so dass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, so dass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, ein Herstellungsprodukt aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, so dass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Cloud-Computing
  • Es sei von vornherein klargestellt, dass das Umsetzen der hierin angeführten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist, obwohl diese Offenbarung eine ausführliche Beschreibung von Cloud-Computing enthält. Stattdessen können Ausführungsformen der vorliegenden Erfindung gemeinsam mit jeder beliebigen Art von jetzt bekannter oder später erfundener Datenverarbeitungsumgebung umgesetzt werden.
  • Cloud-Computing ist ein Servicebereitstellungsmodell zum Ermöglichen eines problemlosen bedarfsgesteuerten Netzwerkzugriffs auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Service schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften enthalten, mindestens drei Dienstmodelle und mindestens vier I mplementierungsm odelle.
  • Bei den Eigenschaften handelt es sich um die Folgenden:
  • On-Demand Self-Service: Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf für Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicher sorgen, ohne dass eine menschliche Interaktion mit dem Anbieter der Dienste erforderlich ist.
  • Broad Network Access: Es sind Funktionen über ein Netzwerk verfügbar, auf die durch Standardmechanismen zugegriffen wird, welche die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Laptops und PDAs) unterstützen.
  • Resource-Pooling: Die Datenverarbeitungsressourcen des Anbieters werden zusammengeschlossen, um mehreren Nutzern unter Verwendung eines Multi-Tenant-Modells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum).
  • Rapid Elasticity: Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt und sie können jederzeit in jeder beliebigen Menge gekauft werden.
  • Measured Service: Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Der Ressourcen-Verbrauch kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz geschaffen wird.
  • Bei den Dienstmodellen handelt es sich um die Folgenden:
  • Software as a Service (SaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine Thin-Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende E-Mail) von verschiedenen Client-Einheiten her zugänglich. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicher bzw. sogar einzelne Anwendungsfunktionen, mit der möglichen Ausnahme von eingeschränkten benutzerspezifischen Anwendungskonfigurationseinstellungen.
  • Platform as a Service (PaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen des Application Hosting Environment.
  • Infrastructure as a Service (IaaS): Die dem Nutzer bereitgestellte Funktion besteht darin, Verarbeitungs-, Speicher-, Netzwerk- und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
  • Bei den Einsatzmodellen handelt es sich um die Folgenden:
  • Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
  • Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Angelegenheiten hat (z.B. Mission, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann in den eigenen Räumen oder fremden Räumen stehen.
  • Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und sie gehört einer Cloud-Dienste verkaufenden Organisation.
  • Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Einheiten bleiben, aber durch eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert mit Fokus auf Statusunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität. Im Herzen von Cloud-Computing liegt eine Infrastruktur, die ein Netzwerk aus zusammengeschalteten Knoten aufweist.
  • Unter Bezugnahme auf 7 ist die veranschaulichende Cloud-Computing-Umgebung 750 abgebildet. Wie gezeigt ist, weist die Cloud-Computing-Umgebung 750 einen oder mehrere Cloud-Computing-Knoten 600 auf, mit denen von Cloud-Benutzern verwendete lokale Datenverarbeitungseinheiten wie zum Beispiel der elektronische Assistent (PDA, personal digital assistant) oder das Mobiltelefon 754A, der Desktop-Computer 754B, der Laptop-Computer 754C und/oder das Automobil-Computer-System 754N Daten austauschen können. Die Knoten 600 können miteinander Daten austauschen. Sie können physisch oder virtuell in ein oder mehrere Netzwerke wie private, Benutzergemeinschafts-, öffentliche oder hybride Clouds gruppiert werden (nicht gezeigt), wie vorstehend beschrieben wurde, oder in eine Kombination daraus. Dies ermöglicht es der Cloud-Computing-Umgebung 750, Infrastruktur, Plattformen und/oder Software als Dienst anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es sei darauf hingewiesen, dass die Arten von in 7 gezeigten Datenverarbeitungseinheiten 754A bis N lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 600 und die Cloud-Computing-Umgebung 750 über eine beliebige Art Netzwerk und/oder über eine beliebige Art von über ein Netzwerk aufrufbarer Verbindung (z.B. unter Verwendung eines Web-Browsers) mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
  • Unter Bezugnahme auf 8 wird ein Satz von funktionalen Abstraktionsschichten gezeigt, die durch die Cloud-Computing-Umgebung 750 (7) bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 8 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie abgebildet ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
    • Eine Hardware- und Software-Schicht 860 enthält Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten gehören: Mainframe-Computer 861; auf der RISC- (Reduced Instruction Set Computer) Architektur beruhende Server 862; Server 863; Blade-Server 864; Speichereinheiten 865; und Netzwerke sowie Netzwerkkomponenten 866. In einigen Ausführungsformen beinhalten Software-Komponenten eine Netzwerk-Anwendungsserver-Software 867 und eine Datenbank-Software 868.
  • Die Virtualisierungsschicht 870 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server 871, virtueller Speicher 872, virtuelle Netzwerke 873, darunter virtuelle private Netzwerke, virtuelle Anwendungen und Betriebssysteme 874; und virtuelle Clients 875.
  • In einem Beispiel kann die Verwaltungsschicht 880 die nachfolgend beschriebenen Funktionen bereitstellen. Eine Ressourcen-Bereitstellung 881 stellt die dynamische Beschaffung von Datenverarbeitungsressourcen sowie anderen Ressourcen bereit, die zum Durchführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Ein Messen und eine Preisfindung 882 stellen die Kostenverfolgung beim Verwenden von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie die Abrechnung oder Rechnungsstellung für den Verbrauch dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Anwendungs-Software-Lizenzen aufweisen. Die Sicherheit stellt die Identitätsüberprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 883 stellt Nutzern und Systemadministratoren den Zugang zu der Cloud-Computing-Umgebung bereit. Eine Verwaltung des Dienstumfangs 884 stellt die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die benötigten Dienstziele erreicht werden. Ein Planen und Erfüllen von Vereinbarungen zum Dienstumfang (SLA, Service Level Agreement) 885 stellt die Anordnung vorab und die Beschaffung von Cloud-Computing-Ressourcen, für die eine zukünftige Anforderung vorausgesehen wird, gemäß einem SLA bereit.
  • Eine Arbeitslastschicht 890 stellt Beispiele für die Funktionalität bereit, für welche die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Abbildung und Navigation 891; Software-Entwicklung und Lebenszyklusverwaltung 892; Bereitstellung von Ausbildung in virtuellen Klassenzimmern 893; Datenanalytikverarbeitung 894; Transaktionsverarbeitung 895; und Einsatz- und Verbindungsfunktionalität 896 für den sicheren Einsatz über Einsatzorte hinweg.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zum Zwecke der Veranschaulichung aufgeführt, sollen jedoch nicht gesamthaft stehen für bzw. begrenzt sein auf die offenbarten Ausführungsformen. Für Fachleute werden viele Abänderungen und Abweichungen ersichtlich sein, ohne von dem Umfang und dem Gedanken der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder technische Verbesserung von auf dem Markt vorgefundenen Technologien bestmöglich zu erläutern oder um es anderen Fachleuten zu ermöglichen, die hierin offenbarten Ausführungsformen zu verstehen.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zum Zwecke der Veranschaulichung aufgeführt, sollen jedoch nicht gesamthaft stehen für bzw. begrenzt sein auf die offenbarten Ausführungsformen. Für Fachleute werden viele Abänderungen und Abweichungen ersichtlich sein, ohne von dem Umfang und dem Gedanken der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder technische Verbesserung von auf dem Markt vorgefundenen Technologien bestmöglich zu erläutern oder um es anderen Fachleuten zu ermöglichen, die hierin offenbarten Ausführungsformen zu verstehen.
  • Claims (17)

    1. Auf einem Computer ausgeführtes Verfahren für den sicheren Einsatz einer Anwendung über Einsatzorte hinweg, aufweisend: Bereitstellen einer Anwendung zur Analyse, wobei die Anwendung in der Lage ist, in Verarbeitungsknoten geteilt zu werden, die möglicherweise an verschiedenen Orten eingesetzt werden, und wobei die Anwendung Nachrichten beruhend auf Nachrichtenmodellen verarbeitet, die Anmerkungen aufweisen, die Beschränkungen für den Einsatz von Daten in gegebenen Datenaspekten festlegen, wobei zu Datenaspekten gehören: eine gesamte Nachricht oder Datenfelder, Datenelemente oder Datenstrukturen der Nachricht, wobei es sich bei der Anwendung um eine verteilte Anwendung handelt, die Verarbeitungsknoten aufweist, die in der Lage sind, über verteilte Ressourcen hinweg eingesetzt zu werden; Analysieren der Anwendung, um Verarbeitungsknoten zu erkennen, die auf die gegebenen Datenaspekte mit Einsatzbeschränkungen verweisen; Ermitteln einer Einschränkung für einen Verarbeitungsknoten beruhend auf den Einsatzbeschränkungen der verwiesenen Datenaspekte; Kennzeichnen von Verarbeitungsknoten mit einschränkenden Metadaten entsprechend den in dem Nachrichtenmodell angemerkten Einsatzbeschränkungen, welche die gegebenen Datenaspekte betreffen, auf die durch den Verarbeitungsknoten verwiesen wird; und Einsetzen jedes Verarbeitungsknotens der Anwendung entsprechend der ermittelten Einschränkung, wobei das Analysieren und Ermitteln vor dem Einsatz der Anwendung ausgeführt wird.
    2. Verfahren nach Anspruch 1, wobei das Analysieren und Ermitteln dynamisch beim Einsatz der Anwendung ausgeführt wird.
    3. Verfahren nach Anspruch 1, wobei das Einsetzen an gekennzeichneten Verarbeitungsknoten durch Lesen der einschränkenden Metadaten und Einsetzen jedes Verarbeitungsknotens entsprechend der Einschränkung ausgeführt wird.
    4. Verfahren nach Anspruch 1, beinhaltend: Verfolgen von Datenaspekten mit Einsatzbeschränkungen; Ermitteln, ob ein Datenaspekt mit Einsatzbeschränkungen zu einem Zieldatenaspekt verschoben wird, der keine Einsatzbeschränkungen aufweist; und Aufzeichnen, dass der Zieldatenaspekt Einsatzbeschränkungen aufweist.
    5. Verfahren nach Anspruch 4, wobei das Analysieren der Anwendung, um Verarbeitungsknoten zu erkennen, die auf die gegebenen Datenaspekte mit Einsatzbeschränkungen verweisen, das Ermitteln beinhaltet, ob ein gegebener Datenaspekt als Einsatzbeschränkungen aufweisend verfolgt wird.
    6. Verfahren nach Anspruch 1, beinhaltend: Zugreifen auf die Nachrichtenmodelle, um die in dem Nachrichtenmodell für gegebene Datenaspekte angemerkten Einsatzbeschränkungen zu ermitteln.
    7. Verfahren nach Anspruch 4, beinhaltend: Zugreifen auf Verfolgungsdaten, um Einsatzbeschränkungen für gegebene Datenaspekte zu ermitteln.
    8. Verfahren nach Anspruch 1, wobei ein Logikbruch zwischen den Nachrichtenmodellen und einem Code der Anwendung bereitgestellt wird, wodurch ermöglicht wird, dass Einsatzbeschränkungen lediglich in dem Nachrichtenmodell festgelegt werden.
    9. Verfahren nach Anspruch 1, wobei die Anwendung ein Integrationsablauf mit Verarbeitungsknoten ist, die eine oder mehrere eingehende Schnittstellen und eine oder mehrere ausgehende Schnittstellen aufweisen, und wobei das Analysieren der Anwendung, um Verarbeitungsknoten zu erkennen, die auf die gegebenen Datenaspekte verweisen, das Ermitteln beinhaltet, ob eine eingehende Schnittstelle oder eine ausgehende Schnittstelle die gegebenen Datenaspekte mit Einsatzbeschränkungen enthält.
    10. Verfahren nach Anspruch 1, wobei die Anwendung in der Lage ist, in einer hybriden Cloud-Umgebung eingesetzt zu werden, und sich die Einsatzbeschränkungen auf Einsatzorte in der hybriden Cloud-Umgebung beziehen, zu der eine oder mehrere aus einer Gruppe der Folgenden gehören: lokale Client-Bereitstellung, Vor-Ort-Bereitstellung, Einsatz innerhalb eines Unternehmens, Einsatz innerhalb eines geografischen Ortes oder Einsatz in einer öffentlichen Cloud.
    11. System für den sicheren Einsatz einer Anwendung über Einsatzorte hinweg, aufweisend: einen Prozessor und einen Hauptspeicher, die konfiguriert sind zum: Empfangen einer Anwendung zur Analyse, wobei die Anwendung in der Lage ist, in Verarbeitungsknoten geteilt zu werden, die möglicherweise an verschiedenen Orten eingesetzt werden, und wobei die Anwendung Nachrichten beruhend auf Nachrichtenmodellen verarbeitet, die Anmerkungen aufweisen, die Beschränkungen für den Einsatz von Daten in gegebenen Datenaspekten festlegen, wobei zu Datenaspekten gehören: eine gesamte Nachricht oder Datenfelder, Datenelemente oder Datenstrukturen der Nachricht, wobei es sich bei der Anwendung um eine verteilte Anwendung handelt, die Verarbeitungsknoten aufweist, die in der Lage sind, über verteilte Ressourcen hinweg eingesetzt zu werden; Analysieren der Anwendung, um Verarbeitungsknoten zu erkennen, die auf die gegebenen Datenaspekte mit Einsatzbeschränkungen verweisen; Ermitteln einer Einschränkung für einen Verarbeitungsknoten beruhend auf den Einsatzbeschränkungen der verwiesenen Datenaspekte; Kennzeichnen von Verarbeitungsknoten mit einschränkenden Metadaten entsprechend den in dem Nachrichtenmodell angemerkten Einsatzbeschränkungen, welche die gegebenen Datenaspekte betreffen, auf die durch den Verarbeitungsknoten verwiesen wird; und Einsetzen jedes Verarbeitungsknotens der Anwendung entsprechend der ermittelten Einschränkung, wobei das Analysieren und Ermitteln vor dem Einsatz der Anwendung ausgeführt wird.
    12. System nach Anspruch 11, wobei das Analysieren und Ermitteln dynamisch beim Einsatz der Anwendung ausgeführt wird.
    13. System nach Anspruch 11, wobei das Einsetzen an gekennzeichneten Verarbeitungsknoten durch Lesen der einschränkenden Metadaten und Einsetzen jedes Verarbeitungsknotens entsprechend der Einschränkung ausgeführt wird.
    14. System nach Anspruch 11, bei dem der Prozessor ferner konfiguriert ist zum: Verfolgen von Datenaspekten mit Einsatzbeschränkungen; Ermitteln, ob ein Datenaspekt mit Einsatzbeschränkungen zu einem Zieldatenaspekt verschoben wird, der keine Einsatzbeschränkungen aufweist; und Aufzeichnen, dass der Zieldatenaspekt Einsatzbeschränkungen aufweist.
    15. System nach Anspruch 14, wobei das Analysieren der Anwendung, um Verarbeitungsknoten zu erkennen, die auf die gegebenen Datenaspekte mit Einsatzbeschränkungen verweisen, das Ermitteln beinhaltet, ob ein gegebener Datenaspekt als Einsatzbeschränkungen aufweisend verfolgt wird.
    16. System nach Anspruch 11, wobei der Prozessor darüber hinaus konfiguriert ist zum Zugreifen auf die Nachrichtenmodelle, um die in dem Nachrichtenmodell für gegebene Datenaspekte angemerkten Einsatzbeschränkungen zu ermitteln.
    17. Computerprogrammprodukt für den sicheren Einsatz einer Anwendung über Einsatzorte hinweg, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, auf dem Programmanweisungen enthalten sind, wobei die Programmanweisungen durch einen Prozessor ausführbar sind, um den Prozessor zu veranlassen zum: Bereitstellen einer Anwendung zur Analyse, wobei die Anwendung in der Lage ist, in Verarbeitungsknoten geteilt zu werden, die möglicherweise an verschiedenen Orten eingesetzt werden, und wobei die Anwendung Nachrichten beruhend auf Nachrichtenmodellen verarbeitet, die Anmerkungen aufweisen, die Beschränkungen für den Einsatz von Daten in gegebenen Datenaspekten festlegen, wobei zu Datenaspekten gehören: eine gesamte Nachricht oder Datenfelder, Datenelemente oder Datenstrukturen der Nachricht, wobei es sich bei der Anwendung um eine verteilte Anwendung handelt, die Verarbeitungsknoten aufweist, die in der Lage sind, über verteilte Ressourcen hinweg eingesetzt zu werden; Analysieren der Anwendung, um Verarbeitungsknoten zu erkennen, die auf die gegebenen Datenaspekte mit Einsatzbeschränkungen verweisen; Ermitteln einer Einschränkung für einen Verarbeitungsknoten beruhend auf den Einsatzbeschränkungen der verwiesenen Datenaspekte; Kennzeichnen von Verarbeitungsknoten mit einschränkenden Metadaten entsprechend den in dem Nachrichtenmodell angemerkten Einsatzbeschränkungen, welche die gegebenen Datenaspekte betreffen, auf die durch den Verarbeitungsknoten verwiesen wird; und Einsetzen jedes Verarbeitungsknotens der Anwendung entsprechend der ermittelten Einschränkung, wobei das Analysieren und Ermitteln vor dem Einsatz der Anwendung ausgeführt wird.
    DE112016003355.9T 2015-11-29 2016-11-21 Sicherer Einsatz einer Anwendung über Einsatzorte hinweg Active DE112016003355B4 (de)

    Applications Claiming Priority (3)

    Application Number Priority Date Filing Date Title
    US14/953,353 US9398087B1 (en) 2015-11-29 2015-11-29 Secure deployment of an application across deployment locations
    US14/953,353 2015-11-29
    PCT/IB2016/057007 WO2017089943A1 (en) 2015-11-29 2016-11-21 Secure deployment of an application across deployment locations

    Publications (2)

    Publication Number Publication Date
    DE112016003355T5 DE112016003355T5 (de) 2018-04-05
    DE112016003355B4 true DE112016003355B4 (de) 2021-10-07

    Family

    ID=56381819

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    DE112016003355.9T Active DE112016003355B4 (de) 2015-11-29 2016-11-21 Sicherer Einsatz einer Anwendung über Einsatzorte hinweg

    Country Status (6)

    Country Link
    US (1) US9398087B1 (de)
    JP (1) JP6714693B2 (de)
    CN (1) CN108140007B (de)
    DE (1) DE112016003355B4 (de)
    GB (1) GB2561759B (de)
    WO (1) WO2017089943A1 (de)

    Families Citing this family (22)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US10318265B1 (en) * 2015-10-09 2019-06-11 Amazon Technologies, Inc. Template generation for deployable units
    US9398087B1 (en) * 2015-11-29 2016-07-19 International Business Machines Corporation Secure deployment of an application across deployment locations
    US20180329700A1 (en) * 2015-11-30 2018-11-15 Hewlett Packard Enterprise Development Lp Application migration system
    US10601871B2 (en) 2017-01-18 2020-03-24 International Business Machines Corporation Reconfiguration of security requirements for deployed components of applications
    US10579511B2 (en) 2017-05-10 2020-03-03 Bank Of America Corporation Flexible testing environment using a cloud infrastructure—cloud technology
    US10419539B2 (en) 2017-05-19 2019-09-17 Bank Of America Corporation Data transfer path selection
    US10462230B2 (en) 2017-05-23 2019-10-29 Bank Of America Corporation Migrating sessions using a private cloud-cloud technology
    US10320920B2 (en) 2017-05-23 2019-06-11 Bank Of America Corporation Automatic migration of communication sessions using a private cloud-cloud technology
    US10461898B2 (en) 2017-06-08 2019-10-29 Bank Of America Corporation Parallel data transmission
    US10608793B2 (en) 2017-06-08 2020-03-31 Bank Of America Corporation Serial data transmission
    US10481954B2 (en) 2017-06-09 2019-11-19 Bank Of America Corporation System and method of managing computing resources
    US10657615B2 (en) 2017-06-09 2020-05-19 Bank Of America Corporation System and method of allocating computing resources based on jurisdiction
    US10796304B2 (en) 2017-06-12 2020-10-06 Bank Of America Corporation System and method of managing computing resources
    US10423590B2 (en) 2017-06-23 2019-09-24 Bank Of America Corporation System and method of managing data in a distributed computing environment
    US10659451B2 (en) 2017-07-18 2020-05-19 Bank Of America Corporation System and method for injecting a tag into a computing resource
    US10462126B2 (en) 2017-08-17 2019-10-29 Bank Of America Corporation Self-adjusting multifactor network authentication
    US10462665B2 (en) 2017-08-17 2019-10-29 Bank Of America Corporation Multifactor network authentication
    US11537445B2 (en) 2019-09-17 2022-12-27 International Business Machines Corporation Dynamic integration flows in hybrid cloud environments
    US20210390197A1 (en) 2019-09-25 2021-12-16 Hitachi, Ltd. Computer System, Data Control Method, and Storage Medium
    US11169864B2 (en) * 2019-11-21 2021-11-09 Spillbox Inc. Systems, methods and computer program products for application environment synchronization between remote devices and on-premise devices
    US11756112B2 (en) 2020-06-10 2023-09-12 Bank Of America Corporation Settings optimization engine using artificial intelligence to enhance client privacy
    CN113973127B (zh) * 2020-07-24 2024-03-19 中移(苏州)软件技术有限公司 一种网络部署方法、装置及存储介质

    Citations (1)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US20140101300A1 (en) 2012-10-10 2014-04-10 Elisha J. Rosensweig Method and apparatus for automated deployment of geographically distributed applications within a cloud

    Family Cites Families (17)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US20050277428A1 (en) * 2004-05-13 2005-12-15 International Business Machines Corporation Location-based control of wireless communications device features
    WO2007099276A1 (en) * 2006-03-02 2007-09-07 British Telecommunications Public Limited Company Message processing methods and systems
    US9049306B1 (en) * 2008-11-30 2015-06-02 Nadejda V. Gueorguieva Apparatus and methods for remote control of access to facilities
    US20120005724A1 (en) 2009-02-09 2012-01-05 Imera Systems, Inc. Method and system for protecting private enterprise resources in a cloud computing environment
    CN102004886B (zh) * 2010-11-15 2012-07-25 上海安纵信息科技有限公司 一种基于操作系统虚拟化原理的数据防泄漏方法
    US8549539B2 (en) * 2010-12-13 2013-10-01 International Business Machines Corporation Programmatic modification of a message flow during runtime
    US9519520B2 (en) * 2011-10-25 2016-12-13 Viasat, Inc. Federated, policy-driven service meshes for distributed software systems
    US8434080B2 (en) 2011-12-22 2013-04-30 Software Ag Usa, Inc. Distributed cloud application deployment systems and/or associated methods
    US8984132B2 (en) * 2012-01-23 2015-03-17 International Business Machines Corporation System and method for supporting secure application deployment in a cloud
    US9959273B2 (en) 2012-04-26 2018-05-01 International Business Machines Corporation Enterprise-level data protection with variable data granularity and data disclosure control with hierarchical summarization, topical structuring, and traversal audit
    US20140075502A1 (en) * 2012-09-11 2014-03-13 Selim Aissi Resource management of execution environments
    US9832205B2 (en) * 2013-03-15 2017-11-28 International Business Machines Corporation Cross provider security management functionality within a cloud service brokerage platform
    US9344516B2 (en) 2013-05-30 2016-05-17 Zentera Systems, Inc. Interlocking applications and files
    WO2015006170A1 (en) * 2013-07-12 2015-01-15 FREILICH, Arthur A computer system storing content into application independent objects
    US20150134424A1 (en) * 2013-11-14 2015-05-14 Vmware, Inc. Systems and methods for assessing hybridization of cloud computing services based on data mining of historical decisions
    US9411611B2 (en) * 2014-05-02 2016-08-09 International Business Machines Corporation Colocation and anticolocation in colocation data centers via elastic nets
    US9398087B1 (en) * 2015-11-29 2016-07-19 International Business Machines Corporation Secure deployment of an application across deployment locations

    Patent Citations (1)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US20140101300A1 (en) 2012-10-10 2014-04-10 Elisha J. Rosensweig Method and apparatus for automated deployment of geographically distributed applications within a cloud

    Also Published As

    Publication number Publication date
    CN108140007B (zh) 2021-10-01
    DE112016003355T5 (de) 2018-04-05
    GB2561759A (en) 2018-10-24
    GB201810593D0 (en) 2018-08-15
    CN108140007A (zh) 2018-06-08
    WO2017089943A1 (en) 2017-06-01
    GB2561759B (en) 2019-05-08
    US9398087B1 (en) 2016-07-19
    JP6714693B2 (ja) 2020-06-24
    JP2018535480A (ja) 2018-11-29

    Similar Documents

    Publication Publication Date Title
    DE112016003355B4 (de) Sicherer Einsatz einer Anwendung über Einsatzorte hinweg
    DE112016003120B4 (de) Umleiten einer Kopie beim Schreiben
    DE112020003820T5 (de) Erkennung von Anomalien und Abweichungen unter Verwendung eines domänenindizierten Einschränkungs-Repository
    DE112019001433T5 (de) Datenanonymisierung
    DE112021002245T5 (de) Verhindern einer unberechtigten bereitstellung von paketen in clustern
    DE112019002235T5 (de) Einbinden eines wörterbuch-bearbeitungssystems in ein text mining
    DE112017005588T5 (de) Speichern und abrufen von eingeschränkten datensätzen in und aus einem cloud-netzwerk mit nichteingeschränkten datensätzen
    DE112018005898T5 (de) Dynamische bereitstellung von software-funktionen
    DE112021003401T5 (de) Schattenexperimente für serverlose multi-tenant-cloud-dienste
    DE102016103713A1 (de) Erkennung virtueller Maschineneinheiten auf der Grundlage eines Katalogs
    DE102016105062A1 (de) Nähengestützte Berechtigungsprüfung für einheitenübergreifend verteilte Daten
    DE112020000891T5 (de) Erzeugung von nativem code für cloud-services
    DE102013206354A1 (de) Adaptive Bewertung der Objektrelevanz auf der Grundlage dynamischer Benutzereigenschaften
    DE112017005022T5 (de) Umladen der Bandverarbeitung auf Objektspeicher
    DE112019003130T5 (de) Hsm-selbstzerstörung in einer hybriden cloud-kms-lösung
    DE112017005015T5 (de) Verarbeiten von gleichgeordneten Aufrufen (SIBLING CALLS)
    DE112019002052T5 (de) Datenschutzsensibilisierung bei der bereitstellung von arbeitslasten
    DE102014116744A1 (de) Management von Informationstechnologieressourcen
    DE112021005927T5 (de) Patchen von arbeitsabläufen
    DE112021004663T5 (de) Verteiltes, ressourcen berücksichtigendes training von pipelines desmaschinellen lernens
    DE112021004695T5 (de) Umgang mit zurückstellbaren netzwerkanforderungen
    DE102021125847A1 (de) Auf blockchain beruhende reservierung und delegierung von diensten
    DE102021123058A1 (de) Maskieren von sensiblen informationen in einem dokument
    DE112021004577T5 (de) Verwalten eines aufgabenablaufs in einer edge-datenverarbeitungsumgebung
    DE102016204594A1 (de) Abgleichen von datenquellen ohne tags mit datenanalyseanwendungen ohne tags

    Legal Events

    Date Code Title Description
    R012 Request for examination validly filed
    R016 Response to examination communication
    R018 Grant decision by examination section/examining division
    R084 Declaration of willingness to licence
    R020 Patent grant now final