DE112016003726T5 - Dynamisch definierte virtuelle private Netzwerktunnel in hybriden Cloud-Umgebungen - Google Patents

Dynamisch definierte virtuelle private Netzwerktunnel in hybriden Cloud-Umgebungen Download PDF

Info

Publication number
DE112016003726T5
DE112016003726T5 DE112016003726.0T DE112016003726T DE112016003726T5 DE 112016003726 T5 DE112016003726 T5 DE 112016003726T5 DE 112016003726 T DE112016003726 T DE 112016003726T DE 112016003726 T5 DE112016003726 T5 DE 112016003726T5
Authority
DE
Germany
Prior art keywords
vpn
cloud
vpn tunnel
tunnel
requests
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
DE112016003726.0T
Other languages
English (en)
Other versions
DE112016003726B4 (de
Inventor
Jeffrey Robert Hoy
Nataraj Nagaratnam
Sreekanth Ramakrishna Iyer
Kaushal Kiran Kapadia
Ravi Krishnan Muthukrishnan
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 DE112016003726T5 publication Critical patent/DE112016003726T5/de
Application granted granted Critical
Publication of DE112016003726B4 publication Critical patent/DE112016003726B4/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Gemäß dieser Offenbarung werden ein Verfahren, eine Vorrichtung und ein Computerprogrammprodukt zum Verwalten einer Mehrzahl von VPN-Tunneln zwischen einer ersten Cloud und einer zweiten Cloud in einer hybriden Cloud-Umgebung beschrieben. Der VPN-Manager empfängt eine Anforderung von einer ersten Cloud-Anwendung, die sich in der ersten Cloud befindet. Die Anforderung enthält eine erste Gruppe von Anforderungen für einen ersten VPN-Tunnel in der Mehrzahl von VPN-Tunneln. Die Anforderung wird an ein System in einer ersten Cloud gesendet, wobei das erste System den ersten VPN-Tunnel gemäß der ersten Gruppe von Anforderungen erstellt. Der VPN-Manager empfängt ein dem ersten VPN-Tunnel zugehöriges Ereignis. In Reaktion auf das Ereignis sendet der VPN-Manager eine Modifizierungsanforderung an das erste System, das eine zweite Gruppe von Anforderungen enthält. Das erste System stimmt den ersten VPN-Tunnel gemäß einer zweiten Gruppe von Anforderungen ab. Die Abstimmung des ersten VPN-Tunnels kann ein Zusammenführen des ersten VPN-Tunnels mit einem zweiten VPN-Tunnel oder ein Aufteilen des ersten VPN-Tunnels in einen ersten und einen zweiten VPN-Tunnel enthalten.

Description

  • HINTERGRUND DER ERFINDUNG
  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft allgemein Datenübertragungen in einer Datenverarbeitungsumgebung einer „Cloud“. Insbesondere betrifft sie dynamisches Erstellen von virtuellen privaten Netzwerktunneln in einer hybriden Cloud-Umgebung.
  • Hintergrund des einschlägigen Stands der Technik
  • Ein aufkommendes Bereitstellungsmodell in der Informationstechnologie (IT) ist Cloud-Computing, in dem gemeinsam genutzte Ressourcen, Software und Informationen über das Internet Computern und anderen Einheiten auf Anforderung (On Demand) bereitgestellt werden. Cloud-Computing kann IT-Kosten und Komplexitäten beträchtlich verringern, während gleichzeitig die Optimierung von Arbeitslasten und Dienstbereitstellung verbessert werden. Bei diesem Ansatz kann eine Anwendungsinstanz gehostet und über Ressourcen auf Internet-Grundlage verfügbar gemacht werden, auf die über einen herkömmlichen Webbrowser über HTTP zugegriffen werden kann. Eine Beispielanwendung könnte eine sein, die eine allgemeine Gruppe von Funktionen zur Nachrichtenübermittlung bereitstellt, wie beispielsweise eMail, Kalendrierung, Kontaktverwaltung und Übermittlung von Sofortnachrichten (Instant Messaging). Ein Benutzer würde dann auf den Dienst direkt über das Internet zugreifen. Mit der Verwendung dieses Diensts würde ein Unternehmen seine Infrastruktur für eMail, Kalender und/oder Zusammenarbeit in die Cloud stellen, und ein Endbenutzer würde einen entsprechenden Client für den Zugriff auf die eMail oder zum Ausführen eines Kalendervorgangs verwenden.
  • Ressourcen für Cloud-Computing sind typischerweise in großen Serverfarmen untergebracht, die Netzwerkanwendungen entweder unter Verwendung einer Hardware-Architektur ausführen, einem sogenannten Bare Metal Cloud Hosting, oder unter Verwendung einer virtualisierten Architektur, wobei Anwendungen in virtuellen Servern oder sogenannten „virtuellen Maschinen“ (VMs) ausgeführt werden, die physischen Servern in einer Einrichtung eines Rechenzentrums zugeordnet sind. Die virtuellen Maschinen werden typischerweise auf einem Hypervisor ausgeführt, der ein Steuerprogramm ist, das den virtuellen Maschinen physische Ressourcen zuweist.
  • Es ist bekannt, dass eine Organisation Datenverarbeitungsressourcen in einer hybriden Cloud-Umgebung anordnet, die sowohl eine private Cloud enthält, in der die Datenverarbeitungsressourcen im Besitz der Organisation sind und Dienste nur für diese Organisation bereitstellen, als auch eine öffentliche Cloud, in der eine andere Organisation Datenverarbeitungsdienste für eine Mehrzahl von „Tenants“ (Nutzern) bereitstellt, einschließlich der Organisation, die die hybride Cloud betreibt. Ein Vorteil eines hybriden Cloud-Modells besteht darin, eine private Infrastruktur am Ort zu haben, auf die direkt zugegriffen werden kann, wobei ein Zugriff auf die öffentliche Cloud-Umgebung in Zeiten eines erhöhten Bedarfs bereitgestellt wird. Bei dieser Integration besteht jedoch ein Bedarf an einer sicheren Datenübertragung zwischen den beiden Umgebungen. Eine Möglichkeit zum Erstellen von Datenübertragungen ist die Verwendung eines dedizierten virtuellen öffentlichen Netzwerk- (VPN) Tunnels.
  • Im Folgenden werden ausführlich Möglichkeiten zum Verbessern einer VPN-Datenübertragung in einer hybriden Cloud-Umgebung beschrieben.
  • KURZDARSTELLUNG
  • Im Folgenden wird ein Verfahren, eine Vorrichtung und ein Computerprogrammprodukt zum Verwalten einer Mehrzahl von VPN-Tunneln zwischen einer ersten Cloud und einer zweiten Cloud in einer hybriden Cloud-Umgebung beschrieben. In einem ersten Aspekt der Erfindung verwaltet ein Verfahren, das von einem ersten VPN-Manager ausgeführt wird, die Mehrzahl von VPN-Tunneln. Der VPN-Manager empfängt eine Anforderung von einer ersten Cloud-Anwendung, die sich in der ersten Cloud befindet. Die Anforderung enthält eine erste Gruppe von Anforderungen für einen ersten VPN-Tunnel in der Mehrzahl von VPN-Tunneln. Die Anforderung wird an ein System in einer ersten Cloud gesendet, wobei das erste System den ersten VPN-Tunnel gemäß der ersten Gruppe von Anforderungen erstellt. Der VPN-Manager empfängt ein Ereignis, das dem ersten VPN-Tunnel zugehörig ist. In Reaktion auf das Ereignis sendet der VPN-Manager eine Modifizierungsanforderung an das erste System, das eine zweite Gruppe von Anforderungen enthält. Das erste System stimmt den ersten VPN-Tunnel gemäß einer zweiten Gruppe von Anforderungen ab.
  • In einem weiteren Aspekt der Erfindung wird eine Vorrichtung mit einem Prozessor und einem Computer-Arbeitsspeicher, der Computerprogrammanweisungen enthält, zum Verwalten der Mehrzahl von VPN-Tunneln verwendet. Die Anweisungen werden von dem Prozessor ausgeführt. Die Anweisungen enthalten Programmcode, der eine erste Anforderung von einer ersten Cloud-Anwendung empfängt, die sich in der ersten Cloud befindet. Die Anforderung enthält eine erste Gruppe von Anforderungen für einen ersten VPN-Tunnel in der Mehrzahl von VPN-Tunneln. Des Weiteren ist ein Programmcode enthalten, der die erste Anforderung an ein erstes System in einer ersten Cloud sendet. Das erste System erstellt den ersten VPN-Tunnel gemäß der ersten Gruppe von Anforderungen. Der Programmcode empfängt eine zweite Anforderung von einer zweiten Cloud-Anwendung, die sich in der ersten Cloud befindet. Die zweite Anforderung enthält eine zweite Gruppe von Anforderungen für einen zweiten VPN-Tunnel in der Mehrzahl von VPN-Tunneln. Der Programmcode sendet die zweite Anforderung an das erste System in der ersten Cloud, wobei das erste System den zweiten VPN-Tunnel gemäß der zweiten Gruppe von Anforderungen erstellt. Der Programmcode empfängt anschließend ein Ereignis, das dem ersten VPN-Tunnel zugehörig ist. In Reaktion auf das Ereignis sendet der Programmcode eine Zusammenführungsanforderung an das erste System, um den zweiten VPN-Tunnel mit dem ersten VPN-Tunnel zusammenzuführen. Das erste System stimmt den ersten VPN-Tunnel gemäß einer zweiten Gruppe von Anforderungen ab.
  • In einem weiteren Aspekt der Erfindung wird ein Computerprogrammprodukt in einem nicht-flüchtigen computerlesbaren Medium zum Verwalten der Mehrzahl von VPN-Tunneln verwendet. Die Computerprogrammanweisungen enthalten Programmcode, der eine erste Anforderung von einer ersten Cloud-Anwendung empfängt, die sich in der ersten Cloud befindet. Die erste Anforderung enthält eine erste Gruppe von Anforderungen für einen ersten VPN-Tunnel in der Mehrzahl von VPN-Tunneln. Der Programmcode sendet die erste Anforderung an ein erstes System in einer ersten Cloud, wobei das erste System den ersten VPN-Tunnel gemäß der ersten Gruppe von Anforderungen erstellt. Der Programmcode empfängt eine zweite Anforderung von einer zweiten Cloud-Anwendung, die sich in der ersten Cloud befindet. Die zweite Anforderung enthält eine zweite Gruppe von Anforderungen für einen VPN-Tunnel in der Mehrzahl von VPN-Tunneln. Der Programmcode sendet die zweite Anforderung an das erste System in der ersten Cloud, wobei das erste System den ersten VPN-Tunnel gemäß der zweiten Gruppe von Anforderungen modifiziert. Der erste VPN-Tunnel überträgt Datenverkehr von den ersten und zweiten Cloud-Anwendungen. Der Programmcode empfängt ein Ereignis, das dem ersten VPN-Tunnel zugehörig ist. In Reaktion auf das Ereignis sendet der Programmcode eine Aufteilungsanforderung an das erste System, um den ersten VPN-Tunnel in den ersten VPN-Tunnel und einen zweiten VPN-Tunnel aufzuteilen. Das erste System stimmt den ersten VPN-Tunnel gemäß der ersten Gruppe von Anforderungen für Datenverkehr für die erste Anwendung ab und stimmt den zweiten VPN-Tunnel gemäß einer zweiten Gruppe von Anforderungen für Datenverkehr für die zweite Anwendung ab.
  • Im Vorgenannten wurden einige der relevanteren Merkmale des offenbarten Erfindungsgegenstands dargelegt. Diese Merkmale sollen als rein veranschaulichend ausgelegt werden. Viele weitere vorteilhafte Ergebnisse lassen sich durch die Anwendung des offenbarten Erfindungsgegenstand auf eine andere Weise oder durch Modifizieren der Erfindung erzielen, wie beschrieben wird.
  • Figurenliste
  • Für ein umfassenderes Verständnis der vorliegenden Erfindung und von deren Vorteilen wird auf die folgenden Beschreibungen in Verbindung mit den begleitenden Zeichnungen Bezug genommen, wobei:
    • 1 ein beispielhaftes Blockschaubild einer verteilten Datenverarbeitungsumgebung darstellt, in der beispielhafte Aspekte der veranschaulichenden Ausführungsformen der vorliegenden Erfindung umgesetzt werden können;
    • 2 ein beispielhaftes Blockschaubild eines Datenverarbeitungssystems ist, in dem beispielhafte Aspekte der veranschaulichenden Ausführungsformen der vorliegenden Erfindung umgesetzt werden können;
    • 3 eine beispielhafte Cloud-Computing-Architektur veranschaulicht, in der Aspekte der vorliegenden Erfindung umgesetzt werden können;
    • 4 ein Übersichtsablaufplan einer bevorzugten Ausführungsform der vorliegenden Erfindung ist;
    • 5 eine hybride Cloud-Umgebung veranschaulicht, in der eine Ausführungsform der vorliegenden Erfindung umgesetzt werden kann;
    • 6 eine grafische Benutzeroberfläche veranschaulicht, in der VPN-Tunnel und VPN-Eigenschaften für einen Administrator-Benutzer angezeigt werden können;
    • 7A bis 7C jeweils ein Ändern der Eigenschaften, Zusammenführen von VPN-Tunneln und Aufteilen eines VPN-Tunnels in Reaktion auf Änderungen in den Anforderungen der Benutzeranwendung darstellen;
    • 8 ein Ablaufplan einer Ereignis- und Protokollverwaltung in einer Ausführungsform der vorliegenden Erfindung ist;
    • 9 ein Ablaufplan der Erstellung und Modifizierung von VPN-Tunneln gemäß einer Ausführungsform der vorliegenden Erfindung ist; und
    • 10 das Erstellen eines VPN zwischen Cloud-Umgebungen darstellt, die von zwei verschiedenen VPN-Managern auf Grundlage eines Verknüpfungsmodells verwaltet werden.
  • AUSFÜHRLICHE BESCHREIBUNG EINER VERANSCHAULICHENDEN AUSFÜHRUNGSFORM
  • Hybride Cloud-Umgebungen verlangen eine sichere Datenübertragung zwischen Anwendungen zwischen verschiedenen Hosting-Umgebungen von Clouds. Mit der zunehmenden Anzahl von Anwendungen und Plattformen wächst auch die Anzahl von Datenübertragungspfaden rapide, die gesichert werden müssen. Heutzutage installieren Kunden oft dedizierte VPNs zur Überbrückung zwischen verschiedenen Clouds in den hybriden Cloud-Umgebungen, aber dedizierte VPNs ziehen eine Reihe von Nachteilen nach sich, einschließlich einer begrenzten Flexibilität und dem Erstellen eines großen Datenübertragungslochs (durch die Öffnung der Firewall, um eine Datenübertragung zuzulassen) in Umgebungen, die gesichert werden müssen. Für eine hochgranulare Anforderung wie eine über eine hybride Cloud-Umgebung übergreifende Ereignisverwaltung können kleine Protokolle von einer Unmenge von Einheiten an einen zentralen Server gesendet werden, herkömmliche VPN-Optionen erfordern jedoch, dass breite Datenübertragungskanäle zwischen den Quelleneinheiten und dem zentralen Server geöffnet werden, die weit über das hinausgehen, was zum Senden der kleinen Datenmenge erforderlich ist. Die vorliegende Erfindung stellt Mittel beriet, um auf Grundlage von Anwendungsanforderungen und Topologieanforderungen für die hybride Cloud-Umgebung besser abgestimmte VPNs als bei Lösungen des Stands der Technik bereitzustellen.
  • Eine „hybride Cloud-Umgebung“ ist eine Cloud-Umgebung, die sowohl eine private Cloud enthält, in der die Datenverarbeitungsressourcen im Besitz der Organisation sind und Dienste nur für diese Organisation bereitstellen, als auch eine öffentliche Cloud, in der eine andere Organisation Datenverarbeitungsdienste für eine Mehrzahl von „Tenants“ (Nutzern) einschließlich der Organisation bereitstellt.
  • Ein „Knoten“ kann jede elektronische Einheit, jeder Client, Server, Peer, Dienst, jede Anwendung oder jedes andere Objekt sein, das fähig ist, Informationen über Datenübertragungskanäle in einem Netzwerk zu senden, zu empfangen oder weiterzuleiten.
  • Ein „VPN-Agent“ ist eine Anwendung, die einen VPN-Tunnel an einem der beiden Knoten verwaltet, die Endpunkte des Tunnels sind.
  • Ein „VPN-Manager“ ist eine Cloud-Anwendung, die eine Infrastruktur von VPN-Tunneln in der hybriden Cloud-Umgebung verwaltet. In bevorzugten Ausführungsformen verwaltet der VPN-Manager auch eine Infrastruktur von VPN-Agents, die wiederum einen jeweiligen VPN-Tunnel verwalten.
  • Ein „VPN-Tunnel“ ist ein Datenübertragungskanal zwischen zwei Knoten, der Daten transportiert, indem er die Internet-Protokoll- (IP) Pakete der Daten gemäß jedem geeigneten Tunneling-Protokoll zur Verschlüsselung einkapselt.
  • Unter folgender Bezugnahme auf die Zeichnungen und insbesondere unter Bezugnahme auf 1 bis 2 werden beispielhafte Darstellungen von Datenverarbeitungsumgebungen bereitgestellt, in denen veranschaulichende Ausführungsformen der Offenbarung umgesetzt werden können. Es sollte klar sein, dass 1 und 2 nur Beispiele sind und durch sie keinerlei Einschränkung hinsichtlich der Umgebungen festgestellt oder impliziert werden soll, in denen Aspekte oder Ausführungsformen des offenbarten Erfindungsgegenstands umgesetzt werden können. Viele Modifizierungen können an den dargestellten Umgebungen vorgenommen werden, ohne von dem Erfindungsgedanken und Schutzumfang der vorliegenden Erfindung abzuweichen.
  • Unter folgender Bezugnahme auf die Zeichnungen stellt 1 eine bildliche Darstellung eines beispielhaften verteilten Datenverarbeitungssystems dar, in dem Aspekte der veranschaulichenden Ausführungsformen umgesetzt werden können. Ein verteiltes Datenverarbeitungssystem 100 kann ein Netzwerk von Computern enthalten, in dem Aspekte der veranschaulichenden Ausführungsformen umgesetzt werden können. Das verteilte Datenverarbeitungssystem 100 enthält mindestens ein Netzwerk 102, welches das Medium ist, das zum Bereitstellen von Datenübertragungsverbindungen zwischen verschiedenen Einheiten und Computern verwendet wird, die in dem verteilten Datenverarbeitungssystem 100 miteinander verbunden sind. Das Netzwerk 102 kann Verbindungen enthalten, wie beispielsweise drahtgebundene, drahtlose Datenübertragungsverbindungen oder Lichtwellenleiterkabel.
  • In dem dargestellten Beispiel sind ein Server 104 und ein Server 106 zusammen mit einer Speichereinheit 108 mit dem Netzwerk 102 verbunden. Außerdem sind Clients 110, 112 und 114 ebenfalls mit dem Netzwerk 102 verbunden. Diese Clients 110, 112 und 114 können zum Beispiel PCs, Netzwerkcomputer oder dergleichen sein. In dem dargestellten Beispiel stellt der Server 104 Daten wie beispielsweise Boot-Dateien, Betriebssystemabbilder und Anwendungen für die Clients 110, 112 und 114 bereit. Die Clients 110, 112 und 114 sind Clients für den Server 104 in dem dargestellten Beispiel. Das verteilte Datenverarbeitungssystem 100 kann zusätzliche Server, Clients und weitere nicht gezeigte Einheiten enthalten.
  • In dem dargestellten Beispiel ist das verteilte Datenverarbeitungssystem 100 das Internet, wobei das Netzwerk 102 für eine weltweite Sammlung von Netzwerken und Gateways steht, welche die Protokollgruppe Transmission Control Protocol/Internet Protocol (TCP/IP) für den Datenaustausch untereinander verwenden. Das Kernstück des Internet ist ein Backbone von Hochgeschwindigkeits-Datenübertragungsleitungen zwischen Hauptknoten oder Host-Computern, die aus Tausenden von gewerblichen, behördlichen, schulischen und anderen Computersystemen bestehen, die Daten und Nachrichten weiterleiten. Selbstverständlich kann das verteilte Datenverarbeitungssystem 100 auch so umgesetzt werden, dass es eine Anzahl von verschiedenen Typen von Netzwerken enthält, wie zum Beispiel ein Intranet, ein lokales Netzwerk (LAN), ein Weitverkehrsnetzwerk (WAN) oder dergleichen. Wie oben ausgeführt, soll 1 als Beispiel dienen, nicht als Architektureinschränkung für verschiedene Ausführungsformen des offenbarten Erfindungsgegenstands, und daher sollten die in 1 gezeigten speziellen Elemente hinsichtlich der Umgebungen, in denen die veranschaulichenden Ausführungsformen der vorliegenden Erfindung umgesetzt werden können, als nicht einschränkend betrachtet werden.
  • Unter folgender Bezugnahme auf 2 wird ein Blockschaubild eines beispielhaften Datenverarbeitungssystems gezeigt, in dem Aspekte der veranschaulichenden Ausführungsformen der vorliegenden Erfindung umgesetzt werden können. Ein Datenverarbeitungssystem 200 ist ein Beispiel für einen Computer, wie beispielsweise der Client 110 in 1, in dem sich ein vom Computer verwendbarer Code oder Anweisungen befinden kann bzw. können, der bzw. die die Prozesse für veranschaulichende Ausführungsformen der vorliegenden Erfindung umsetzen.
  • Unter folgender Bezugnahme auf 2 wird ein Blockschaubild eines Datenverarbeitungssystems gezeigt, in dem veranschaulichende Ausführungsformen der vorliegenden Erfindung umgesetzt werden können. Das Datenverarbeitungssystem 200 ist ein Beispiel für einen Computer, wie beispielsweise der Server 104 oder der Client 110 in 1, in dem sich ein vom Computer verwendbarer Programmcode oder Anweisungen befinden kann bzw. können, der bzw. die die Prozesse für die veranschaulichenden Ausführungsformen umsetzen. In diesem veranschaulichenden Beispiel enthält das Datenverarbeitungssystem 200 eine Datenübertragungsstruktur 202, die Datenübertragungen zwischen einer Prozessoreinheit 204, einem Arbeitsspeicher 206, einem permanenten Speicher 208, einer Datenübertragungseinheit 210, einer Eingabe/Ausgabe- (E/A) Einheit 212 und einer Anzeige 214 bereitstellt.
  • Die Prozessoreinheit 204 dient zum Ausführen von Anweisungen für Software, die in den Arbeitsspeicher 206 geladen werden kann. Die Prozessoreinheit 204 kann abhängig von der speziellen Umsetzung eine Gruppe von einem oder mehreren Prozessoren sein oder ein Mehrprozessorkern sein. Ferner kann die Prozessoreinheit 204 unter Verwendung von einem oder mehreren heterogenen Prozessorsystemen umgesetzt werden, in denen ein Hauptprozessor mit sekundären Prozessoren auf einem einzelnen Chip vorhanden ist. Als weiteres veranschaulichendes Beispiel kann die Prozessoreinheit 204 ein symmetrisches Multiprozessorsystem (SMP) sein, das mehrere Prozessoren desselben Typs enthält.
  • Der Arbeitsspeicher 206 und der permanente Speicher 208 sind Beispiele für Speichereinheiten. Eine Speichereinheit ist jedes Hardware-Element, das fähig ist, Informationen entweder auf temporärer Grundlage und/oder dauerhafter Grundlage zu speichern. In diesen Beispielen kann der Arbeitsspeicher 206 beispielsweise ein Direktzugriffsspeicher oder jede andere geeignete flüchtige oder nicht-flüchtige Speichereinheit sein. Der permanente Speicher 208 kann verschiedene Formen annehmen, die von der jeweiligen Umsetzung abhängen. Zum Beispiel kann der permanente Speicher 208 eine oder mehrere Komponenten oder Einheiten enthalten. Zum Beispiel kann der permanente Speicher 208 eine Festplatte, ein Flash-Speicher, eine wiederbeschreibbare optische Platte, ein wiederbeschreibbares Magnetband oder eine beliebige Kombination des Vorgenannten sein. Das von dem permanenten Speicher 208 verwendete Medium kann auch austauschbar sein. Zum Beispiel kann eine austauschbare Festplatte für den permanenten Speicher 208 verwendet werden.
  • Die Datenübertragungseinheit 210 sorgt in diesen Beispielen für Datenübertragungen mit anderen Datenverarbeitungssystemen oder -einheiten. In diesen Beispielen ist die Datenübertragungseinheit 210 eine Netzwerk-Schnittstellenkarte. Die Datenübertragungseinheit 210 kann Datenübertragungen durch die Verwendung von physischen oder drahtlosen Datenübertragungsverbindungen oder beidem bereitstellen.
  • Eine Eingabe/Ausgabe-Einheit 212 gestattet die Eingabe und Ausgabe von Daten mit anderen Einheiten, die mit dem Datenverarbeitungssystem 200 verbunden sein können. Zum Beispiel kann die Eingabe/Ausgabe-Einheit 212 eine Verbindung für eine Benutzereingabe über eine Tastatur und Maus bereitstellen. Ferner kann die Eingabe/Ausgabe-Einheit 212 eine Ausgabe an einen Drucker senden. Die Anzeige 214 stellt einen Mechanismus zum Anzeigen von Informationen für einen Benutzer bereit.
  • Anweisungen für das Betriebssystem und Anwendungen oder Programme befinden sich auf dem permanenten Speicher 208. Diese Anweisungen können zur Ausführung durch die Prozessoreinheit 204 in den Arbeitsspeicher 206 geladen werden. Die Prozesse der verschiedenen Ausführungsformen können von der Prozessoreinheit 204 unter Verwendung von durch den Computer umgesetzten Anweisungen ausgeführt werden, die sich in einem Arbeitsspeicher wie dem Arbeitsspeicher 206 befinden können. Diese Anweisungen werden als Programmcode, durch den Computer verwendbarer Programmcode oder als computerlesbarer Programmcode bezeichnet, der von einem Prozessor in der Prozessoreinheit 204 gelesen und ausgeführt werden kann. Der Programmcode in den verschiedenen Ausführungsformen kann auf verschiedenen physischen oder konkreten computerlesbaren Medien verkörpert sein, wie beispielsweise dem Arbeitsspeicher 206 oder dem permanenten Speicher 208.
  • Ein Programmcode 216 befindet sich in einer Funktionsform auf computerlesbaren Medien 218, die selektiv ausgetauscht werden können, und kann zur Ausführung durch die Prozessoreinheit 204 in das Datenverarbeitungssystem 200 geladen oder übertragen werden. Der Programmcode 216 und die computerlesbaren Medien 218 bilden in diesen Beispielen ein Computerprogrammprodukt 220. In einem Beispiel können die computerlesbaren Medien 218 in einer konkreten Form vorliegen, zum Beispiel als optische oder Magnetplatte, die in ein Laufwerk oder eine andere Einheit, die Teil des permanenten Speichers 208 ist, für eine Übertragung in eine Speichereinheit eingesetzt oder platziert werden, wie beispielsweise eine Festplatte, die Teil des permanenten Speichers 208 ist. In einer konkreten Form können die computerlesbaren Medien 218 auch die Form eines permanenten Speichers annehmen, wie beispielsweise eine Festplatte, ein Thumb-Drive (USB-Stick) oder ein Flash-Speicher, der mit dem Datenverarbeitungssystem 200 verbunden ist. Die konkrete Form von computerlesbaren Medien 218 wird auch als vom Computer beschreibbare Speichermedien bezeichnet. In einigen Fällen können die vom Computer beschreibbaren Medien 218 nicht ausgetauscht werden.
  • Alternativ kann der Programmcode 216 von den computerlesbaren Medien 218 zu dem Datenverarbeitungssystem 200 über eine Datenübertragungsverbindung mit der Datenübertragungseinheit 210 und/oder eine Verbindung mit der Eingabe/AusgabeEinheit 212 übertragen werden. Die Datenübertragungsverbindung und/oder die Verbindung können in den veranschaulichenden Beispielen physisch oder drahtlos sein. Die computerlesbaren Medien können auch die Form von nicht-konkreten Medien annehmen, wie beispielsweise Datenübertragungsverbindungen oder drahtlose Übertragungen, die den Programmcode enthalten. Die verschiedenen für das Datenverarbeitungssystem 200 veranschaulichten Komponenten sollen keinerlei Einschränkungen der Architektur in Bezug auf die Art und Weise sein, wie verschiedene Ausführungsformen der vorliegenden Erfindung umgesetzt werden können. Die verschiedenen veranschaulichenden Ausführungsformen der vorliegenden Erfindung können in einem Datenverarbeitungssystem mit Komponenten zusätzlich zu oder anstelle von denjenigen umgesetzt werden, die für das Datenverarbeitungssystem 200 veranschaulicht wurden. Weitere in 2 gezeigte Komponenten können von den gezeigten veranschaulichenden Beispielen abweichen. Zum Beispiel kann eine Speichereinheit im Datenverarbeitungssystem 200 jede Hardware-Vorrichtung sein, die Daten speichern kann. Der Arbeitsspeicher 206, der permanente Speicher 208 und die computerlesbaren Medien 218 sind Beispiele für Speichereinheiten in einer konkreten Form.
  • In einem weiteren Beispiel kann ein Bussystem verwendet werden, um die Datenübertragungsstruktur 202 umzusetzen und kann einen oder mehrere Busse aufweisen, wie beispielsweise einen Systembus oder einen E/A-Bus. Selbstverständlich kann das Bussystem unter Verwendung jedes geeigneten Typs von Architektur umgesetzt werden, der eine Datenübertragung zwischen verschiedenen Komponenten oder Einheiten bereitstellt, die an das Bussystem angeschlossen sind. Eine Datenübertragungseinheit kann außerdem eine oder mehrere Einheiten enthalten, die zum Senden und Empfangen von Daten verwendet werden, wie beispielsweise ein Modem oder ein Netzwerk-Adapter. Ferner kann ein Arbeitsspeicher zum Beispiel der Arbeitsspeicher 206 oder ein Cachespeicher sein, wie er in einem Schnittstellen- und Arbeitsspeicher-Controller-Hub zu finden ist, der in der Datenübertragungsstruktur 202 vorhanden sein kann.
  • Computerprogrammcode für ein Ausführen von Operationen der vorliegenden Erfindung kann in jeder Kombination von einer oder mehreren Programmiersprachen geschrieben werden, einschließlich einer objektorientierten Programmiersprache wie Java™, Smalltalk, C++, C#, Objective-C oder dergleichen und herkömmlichen prozeduralen Programmiersprachen. Der Programmcode kann vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In dem letzteren Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über jeden Typ von Netzwerk verbunden werden, einschließlich ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Nutzung eines Internet-Dienstanbieters).
  • Dem Fachmann wird klar sein, dass die Hardware in 1 bis 2 je nach Umsetzung unterschiedlich sein kann. Weitere interne Hardware- oder Peripherie-Einheiten wie Flash-Speicher, gleichwertiger nicht-flüchtiger Speicher oder optische Plattenlaufwerke und dergleichen können zusätzlich zu oder anstelle der Hardware verwendet werden, die in 1 bis 2 dargestellt ist. Außerdem können die Prozesse der veranschaulichenden Ausführungsformen der vorliegenden Erfindung auf ein anderes Multiprozessor-Datenverarbeitungssystem als das vorher erwähnte SMP-System angewendet werden, ohne von dem Schutzumfang des offenbarten Erfindungsgegenstands abzuweichen.
  • Wie ersichtlich wird, können die hierin beschriebenen Techniken in Verbindung mit dem standardmäßigen Client-Server-Paradigma ausgeführt werden, wie beispielsweise in 1 veranschaulicht, in dem Client-Maschinen mit einem über das Internet zugänglichen Portal auf Web-Grundlage Daten austauschen, das auf einer Gruppe von einer oder mehreren Maschinen ausgeführt wird. Endbenutzer bedienen über das Internet verbindbare Einheiten (z.B. Desktop-Computer, Notebook-Computer, internetfähige mobile Einheiten oder dergleichen), die fähig sind, auf das Portal zuzugreifen und damit zu interagieren. Typischerweise ist jede Client- oder Server-Maschine ein Datenverarbeitungssystem wie in 2 veranschaulicht, das Hardware und Software aufweist, und diese Entitäten tauschen über ein Netzwerk wie das Internet, ein Intranet, ein Extranet, ein privates Netzwerk oder jedes andere Datenübertragungsmedium oder jede andere Datenübertragungsverbindung Daten miteinander aus. Ein Datenverarbeitungssystem enthält typischerweise einen oder mehrere Prozessoren, ein Betriebssystem, eine oder mehrere Anwendungen und ein oder mehrere Dienstprogramme. Die Anwendungen auf dem Datenverarbeitungssystem stellen eine native Unterstützung für Webdienste bereit, einschließlich und ohne Einschränkung Unterstützung für unter anderem HTTP, SOAP, XML, WSDL, UDDI, und WSFL. Informationen zu SOAP, WSDL, UDDI und WSFL sind über das World Wide Web Consortium (W3C) verfügbar, das für die Entwicklung und Pflege dieser Standards zuständig ist; weitere Informationen zu HTTP und XML sind über die Internet Engineering Task Force (IETF) verfügbar. Es wird vorausgesetzt, dass diese Standards vertraut sind.
  • Cloud-Computing ist ein Dienstbereitstellungsmodell 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 Dienstes schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften, mindestens drei Dienstmodelle und mindestens vier Einsatzmodelle enthalten, die alle in „Draft NIST Working Definition of Cloud Computing“ von Peter Mell und Tim Grance, datiert vom 7. Oktober 2009, speziell beschrieben und definiert wurden.
  • Insbesondere lauten die typischen Merkmale wie folgt:
  • 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 typischerweise 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 eMail) 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, das Verarbeiten, Speicher, Netzwerke 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 typischerweise 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 sich in den eigenen Räumen oder fremden Räumen befinden.
  • Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und gehört einer Organisation, die Cloud-Dienste verkauft.
  • 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 eine Daten- und Anwendungsportierbarkeit ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert, wobei der Schwerpunkt auf Zustandslosigkeit, geringer Kopplung, Modularität und semantischer Kompatibilität liegt. Im Mittelpunkt von Cloud-Computing steht eine Infrastruktur, die ein Netzwerk von miteinander verbundenen Knoten aufweist. Ein repräsentativer Cloud-Computing-Knoten sieht wie oben in 2 veranschaulicht aus. Insbesondere ist in einem Cloud-Computing-Knoten ein Computersystem/Server vorhanden, das bzw. der mit zahlreichen anderen Umgebungen oder Konfigurationen für Universal- oder Sonder-Datenverarbeitungssysteme funktionsfähig ist. Zu Beispielen für wohlbekannte Datenverarbeitungssysteme, Umgebungen und/oder Konfigurationen, die für eine Verwendung mit dem Computersystem/Server geeignet sein können, zählen PC-Systeme, Servercomputersysteme, Thin Clients, Thick Clients, Handheld- oder Laptop-Einheiten, Multiprozessorsysteme, Systeme auf Grundlage von Mikroprozessoren, Set-Top-Boxen, programmierbare Unterhaltungselektronik, Netzwerk-PCs, Minicomputersysteme, Großrechner-Computersysteme und verteilte Cloud-Computing-Umgebungen, die beliebige der oben genannten Systeme oder Einheiten und dergleichen aufweisen, sie sind aber nicht darauf beschränkt. Das Computersystem/der Server kann in dem allgemeinen Kontext von durch ein Computersystem ausführbaren Anweisungen beschrieben werden, wie beispielsweise Programmmodule, die von einem Computersystem ausgeführt werden. Im Allgemeinen können Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen usw. enthalten, die bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen umsetzen. Das Computersystem/der Server kann in verteilten Cloud-Computing-Umgebungen betrieben werden, wobei Aufgaben von entfernt angeordneten Verarbeitungseinheiten ausgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. In einer verteilten Cloud-Computing-Umgebung können Programmmodule sich sowohl in lokalen als auch entfernt angeordneten Computersystem-Speichermedien befinden, die Arbeitsspeicher-Speichereinheiten enthalten.
  • Unter folgender Bezugnahme auf 3 wird als zusätzlicher Hintergrund eine Gruppe von funktionalen Abstraktionsschichten gezeigt, die von einer Cloud Computing-Umgebung bereitgestellt werden. Dabei sollte von Anfang an klar sein, dass die in 3 gezeigten Komponenten, Schichten und Funktionen lediglich zur Veranschaulichung dienen sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie dargestellt, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Eine Hardware- und Software-Schicht 300 enthält Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten zählen Großrechner, in einem Beispiel zSeries®-Systeme von IBM®; Server auf der Grundlage der RISC-(Reduced Instruction Set Computer) Architektur, in einem Beispiel pSeries®-Systeme von IBM; xSeries®-Systeme von IBM; BladeCenter®-Systeme von IBM; Speichereinheiten; Netzwerke und Netzwerkkomponenten. Zu Beispielen für Software-Komponenten zählen Software für Netzwerkanwendungsserver, in einem Beispiel Software für WebSphere®-Anwendungsserver von IBM; und Datenbanksoftware, in einem Beispiel Software für DB2®-Datenbanken von IBM. (IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere, and DB2 sind Marken der International Business Machines Corporation, die weltweit unter zahlreichen Gerichtsbarkeiten registriert sind.)
  • Eine Virtualisierungsschicht 302 stellt eine Abstraktionsschicht bereit, welche die folgenden Beispiele für virtuelle Einheiten zur Verfügung stellen kann: virtuelle Server; virtueller Speicher; virtuelle Netzwerke, die virtuelle private Netzwerke aufweisen; virtuelle Anwendungen und Betriebssysteme; sowie virtuelle Clients.
  • In einem Beispiel kann die Verwaltungsschicht 304 die im Folgenden beschriebenen Funktionen bereitstellen. Eine Ressourcenbereitstellungsfunktion stellt eine dynamische Beschaffung von Datenverarbeitungs- und anderen Ressourcen bereit, die zum Ausführen von Aufgaben innerhalb der Cloud-Computing-Umgebung verwendet werden. Messungs- und Preisermittlungsfunktionen stellen eine Kostenerfassung bei der Nutzung von Ressourcen innerhalb der Cloud-Computing-Umgebung sowie eine Fakturierung bzw. Abrechnung für den Verbrauch dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Lizenzen für Anwendungssoftware aufweisen. Eine Sicherheitsfunktion stellt eine Identitätsprüfung für Cloud-Nutzer und -Aufgaben sowie einen Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal stellt Nutzern und Systemadministratoren einen Zugriff auf die Cloud-Computing-Umgebung bereit. Eine Dienstgüteverwaltungsfunktion stellt eine Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass erforderliche Dienstgütestufen erreicht werden. Eine Planungs- und Ausführungsfunktion von Dienstgütevereinbarungen (Service Level Agreement, SLA) stellt eine Vorabfestlegung und Beschaffung von Cloud-Computing-Ressourcen bereit, für die gemäß einer SLA eine künftige Anforderung erwartet wird.
  • Eine Arbeitslastschicht 306 stellt Beispiele einer Funktionalität bereit, für welche die Cloud-Computing-Umgebung genutzt werden kann. Beispiele für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, lauten: Zuordnung und Navigation; Software-Entwicklung und Lebenszyklusverwaltung; Bereitstellung von virtuellen Schulungen; Datenanalyseverarbeitung; Transaktionsverarbeitung; und Weiteres (z.B. unternehmensspezifische Funktionen in einer privaten Cloud).
  • 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 jedem beliebigen Typ von jetzt bekannter oder später entwickelter Datenverarbeitungsumgebung umgesetzt werden.
  • Hybride Cloud-Umgebungen verlangen eine sichere Datenübertragung zwischen Anwendungen zwischen verschiedenen Hosting-Umgebungen. Mit der zunehmenden Anzahl von Anwendungen und Plattformen wächst auch die Anzahl von sicheren Datenübertragungspfaden rapide. Dedizierte VPNs des Stands der Technik erstellen große Datenübertragungskanäle in Umgebungen, die gesichert werden müssen. Viele Übertragungsbedürfnisse sind hochgranulare Anforderungen, wie beispielsweise Ereignisverwaltung, wobei Protokolldaten von vielen Einheiten an einen zentralen Server gesendet werden; herkömmliche VPNs verwenden breite Datenübertragungskanäle, die unnötig sind und Sicherheitsrisiken darstellen. Zu weiteren Beispielen für Anwendungen, die kleine Datenmengen zwischen Clouds übertragen, gehören Anwendungen, die versuchen, Daten auf periodischer Grundlage zu synchronisieren, z.B. einmal pro Monat, oder die Anwendungen überwachen, die regelmäßige, aber kleine Datenmengen senden.
  • VPNs mit Software nach dem Stand der Technik können dieses Problem teilweise lösen, indem sie Datenübertragungspfade für bestimmte Anwendungen oder bestimmte Clouds erstellen, allerdings gelten Lösungen auf Anwendungsgrundlage im Allgemeinen nur für eine einzelne Anwendung, können schwierig zu verwalten sein, können schwierig zu überwachen sein und nutzen die Effizienz einer Erweiterung nicht.
  • Ausführungsformen der vorliegenden Erfindung enthalten Systeme, die sehr gut abgestimmte VPNs auf Grundlage von Anwendungsanforderungen von mehreren Anwendungen dynamisch nutzen und neu konfigurieren und optimale Topologien für die hybriden Cloud-Umgebungen bereitstellen.
  • Der allgemeine Prozess für Ausführungsformen der Erfindung wird auf übergeordneter Ebene in 4 veranschaulicht. Wie in Schritt 401 gezeigt, interagieren die Cloud-Anwendungen, gleichgültig, ob sie in der privaten Cloud oder der öffentlichen Cloud sind, mit einem zentralen VPN-Manager, um eine Tunnel-Erstellung anzufordern. Der zentrale VPN-Manager kann in öffentlichen oder privaten Clouds installiert werden und der Organisation als eine SaaS-, eine PaaS- oder eine laaS-Funktion bereitgestellt werden. Der Einfachheit halber wird der Ablauf gezeigt, der sich aus den Anforderungen einer einzelnen Cloud-Anwendung ergibt. In einer bevorzugten Ausführungsform der vorliegenden Erfindung interagieren jedoch mehrere Cloud-Anwendungen gleichzeitig mit dem VPN-Manager, und der in 4 dargestellte Prozess kann sich für jeweilige Anwendungen in verschiedenen Stufen befinden. Im Schritt 403 stellt die Anwendung, die die Erstellung eines VPN-Tunnels anfordert, die gewünschten Anforderungen für den VPN-Tunnel bereit, wie beispielsweise Protokoll, Anschluss, Bandbreitengrenze und weitere Merkmale, z.B. die Sicherheitsqualitäten und die Durchsatzfunktionen.
  • Als Nächstes stellt der VPN-Manager im Schritt 405 einen VPN-Endpunkt-Agent oder einfach „VPN-Agent“ zur Installation auf der anfordernden Maschine oder einer anderen Maschine in derselben Cloud bereit. In bevorzugten Ausführungsformen der vorliegenden Erfindung wird der VPN-Agent dann in der Zielmaschine installiert. Der VPN-Endpunkt-Agent kann leicht unterschiedlich sein, um die Anforderungen der anfordernden Maschine zu berücksichtigen, zum Beispiel ein System auf Linux-Grundlage gegenüber einem System auf iOS-Grundlage. In einigen Ausführungsformen der vorliegenden Erfindung können die VPN-Agents spezialisiert, in verschiedene Typen konfiguriert sein, und der Typ des VPN-Agent, der einem bestimmten VPN-Tunnel zugewiesen ist, ist je nach angeforderten Qualitäten und Funktionen für den VPN-Tunnel unterschiedlich. In weiteren Ausführungsformen der vorliegenden Erfindung wird ein generischer, voll funktionsfähiger VPN-Agent verwendet, der eine Vielfalt von VPN-Tunneltypen bereitstellen kann. Abhängig davon, ob die Anforderung von der Anwendung kommt oder ob eine andere Anwendung, die sich auf derselben Maschine befindet, eine vorherige Anforderung gestellt hat, kann der VPN-Manager bereits am Endpunkt oder einer Maschine in der Nähe vorhanden sein. Ferner verwenden Ausführungsformen der vorliegenden Erfindung vorhandene Agents, wie beispielsweise Chef-Agents oder eine API zu vorhandenen VPN-Controllern anstatt einen VPN-Agent einzusetzen. Daher ist der Schritt 405 in vielen Ausführungsformen der vorliegenden Erfindung optional. Im Schritt 407 steht der VPN-Agent in Datenaustausch mit dem VPN-Manager, um Details zur Einsatzkonfiguration zu empfangen, wie vorher von der Anwendung angefordert, und stellt den VPN-Tunnel gemäß diesen Details bereit.
  • Wie im Schritt 409 gezeigt, können die anfordernden Anwendungen die gewünschten angeforderten Sicherheitsqualitäten und Durchsatzfunktionen im gesamten Anwendungs-Lebenszyklus für den VPN-Tunnel ändern. Die „Abstimmung“ des VPN-Tunnels kann die Sicherheit und andere Funktionen des Tunnels ändern oder kann, wie im Folgenden erörtert, ein Zusammenführen oder Aufteilen der VPN-Tunnel umfassen, um die sich ändernden Anforderungen der Cloud-Anwendungen zu berücksichtigen. Zum Beispiel kann der VPN-Manager im Fall einer Änderung der Merkmale des VPN-Tunnels die VPN-Agents anweisen, einen VPN-Tunnel von einer großen VPN-Pipe (VPN-Leitung) mit Zwei-Wege-Tunnel mit schnellem Sicherheitsprotokoll, der während des Einsatzes verwendet wird, für die Produktion in einen VPN-Tunnel zu ändern, der eine kleine, sehr sichere Einweg-VPN-Pipe ist. Das VPN-Netzwerk kann abgestimmt werden, um die Sicherheit zu optimieren, indem der Datenverkehr und die Berechtigungen, die von den autorisierten Anwendungen benötigt werden, nur auf einer Mindestanzahl von VPN-Tunneln zugelassen werden. Die Datenverkehrsleistung kann erhöht werden, indem mehr VPN-Tunnel mit einer höheren zulässigen Bandbreite bereitgestellt werden, möglicherweise auf Kosten der Sicherheit. In einer bevorzugten Ausführungsform der vorliegenden Erfindung stehen Anwendungen mit dem VPN-Manager in Datenaustausch, und der VPN-Manager steht wiederum mit den VPN-Agents an den beiden Endpunkten des VPN-Tunnels in Datenaustausch. Dieser Schritt, d.h. die dynamische Änderung des Durchsatzes und der Sicherheitsqualitäten eines VPN-Tunnels können während des gesamten Anwendungslebenszyklus wiederholt werden.
  • Wie im Schritt 411 gezeigt, kann die Anwendung ein VPN-Filter-Plugin für den VPN-Manager bereitstellen. Der VPN-Filter wird zum Filtern des Datenverkehrs verwendet, der über den VPN-Tunnel läuft. VPN-Filter stellen die Fähigkeit bereit, Datenverkehr nach dem Verlassen eines VPN-Tunnels und Datenverkehr vor dem Eintritt in einen VPN-Tunnel allgemeinen zu gestatten oder zu verweigern, indem in den ACL-Feldern aufgelistet wird, was für welchen IP/Anschluss bzw. welche IP/Anschlüsse gestattet oder verweigert werden soll. Dieser Schritt kann als Teil des Anforderungsschritts 403 oder später als Teil der Änderung von Sicherheitsqualitäten erfolgen, z.B. als Teil der Änderungsanforderung im Schritt 409. Ein VPN-Filter, der ursprünglich im Schritt 403 angefordert wird, kann durch einen später angeforderten VPN-Filter ersetzt oder ergänzt werden. Dieser Schritt, mit dem ein neuer VPN-Filter angefordert wird, kann während des gesamten Anwendungslebenszyklus wiederholt werden. Der VPN-Filter auf einem bestimmten VPN-Tunnel kann in Reaktion auf Anforderungen von anderen Anforderungen modifiziert werden, die die Datenübertragungsbandbreite des VPN-Tunnels gemeinsam nutzen, wenn der VPN-Tunnel mit anderen VPN-Tunnels zusammengeführt oder in mehrere VPN-Tunnel aufgeteilt wird.
  • Durch die Ereignis- und Datenverkehrsprotokollierung bietet der VPN-Manager Einblick in die VPN-Konfiguration, gezeigt als Schritt 413. In den meisten bevorzugten Ausführungsformen der vorliegenden Erfindung wird eine Ereignisprotokollierung bereitgestellt. In einigen Ausführungsformen der vorliegenden Erfindung wird auch eine Datenverkehrsprotokollierung bereitgestellt. In einer bevorzugten Ausführungsform der vorliegenden Erfindung sind die Ereignis- und Verkehrsprotokollierung mit dem VPN-Manager in Beziehung stehende Prüfereignisse. In anderen Ausführungsformen der vorliegenden Erfindung können die Ereignisse, die mit Anwendungen in Beziehung stehen, die mit anderen Anwendungen verbunden sind, über den VPN-Agent protokolliert werden. Zum Beispiel kann die Bandbreite, die von den Anwendungen verwendet wird, einschließlich des Bandbreitenverlaufs, von den VPN-Agents protokolliert werden. In noch weiteren Ausführungsformen kann der Datenübertragungsverkehr von Anwendungen durch die Agents protokolliert werden. Sicherheitsbezogene Ereignisse werden vom Security Operations Center (SOC) zur Überwachung auf Sicherheitsverstöße verarbeitet. Ereignis- und Verkehrsprotokollierung werden ausführlicher im Folgenden in Verbindung mit 8 beschrieben.
  • In bevorzugten Ausführungsformen der vorliegenden Erfindung nimmt der VPN-Manager die Weiterleitung und Umleitung von Datenverkehr über vorhandene VPN-Agents vor und stellt neue VPN-Agents bereit, um den Datenverkehrsfluss nach Bedarf zu optimieren, Schritt 415. In Reaktion auf erkannte Rückgänge des Datenverkehrs, zum Beispiel unter Verwendung von verfügbaren Datenverkehrsprotokollen, die gespeichert und überwacht werden, kann der VPN-Manager die VPN-Agents anweisen, VPN-Tunnel zusammenzuführen, wenn die Sicherheitsanforderungen für den Datenverkehr an den beiden VPN-Tunnels kompatibel sind. Das Erkennen kann an dem VPN-Agent ausgeführt werden, der den Anwendungsdatenverkehr überwacht. Alternativ könnte ein Zusammenführen von VPN-Tunneln in Reaktion auf eine korrekte Anwendung erfolgen, die eine Meldung an den VPN-Manager sendet, dass sie von einer Einsatzphase in eine Produktionsphase übergegangen ist und daher weniger Bandbreite benötigt. Der VPN-Manager bestimmt, dass in Anbetracht der vorhergesagten Bedarfsverringerung eine Gelegenheit besteht, VPN-Tunnel zusammenzuführen. Alternativ können neue Anforderungen von neuen oder vorhandenen Anwendungen verursachen, dass neue VPN-Agents erstellt werden, um eine neue erwartete Last oder Anforderung zu bewältigen. Die Sicherheitsanforderungen der Anwendungen können sich mit dem Anwendungslebenszyklus ändern, der den Bedarf an neuen VPN-Agents schaffen kann. Dieser Schritt kann ein neues Zuweisen von verschiedenen VPN-Agents zu verschiedenen VPN-Tunneln, das Beenden von nicht benötigten VPN-Agents und Erstellen und Bereitstellen von neuen VPN-Agents zum Bearbeiten des zusammengeführten VPN-Tunnels oder zum Bearbeiten eines neuen VPN-Tunnels umfassen, wenn neuer Datenverkehr erwartet wird.
  • Wie auch im Schritt 417 dargestellt, müssen die VPN-Tunnel möglicherweise neu konfiguriert werden wegen Anforderungen, die von den Anwendungen während des Lebenszyklus der Anwendungen gestellt werden, wegen überwachter Datenverkehrsänderungen oder wegen Änderungen in den Maschinen, auf denen sich die Anwendungen befinden. Wenn sich die Anwendungstopologie ändert und Maschinen bewegt werden, weist der VPN-Manager die VPN-Agents an, VPNs nach Bedarf neu zu konfigurieren, zusammenzuführen und aufzuteilen. In einer bevorzugten Ausführungsform der vorliegenden Erfindung umfasst ein „Aufteilen“ eines VPN-Tunnels ein Umleiten von Datenverkehr von vorhandenen Anwendungen oder Maschinen, der vorher von einem einzelnen VPN-Tunnel ausgeführt wurde, auf zwei VPN-Tunnel. Im Gegensatz dazu erfüllt ein Hinzufügen oder Erstellen eines neuen VPN-Tunnels eine neue Anwendungsanforderung von einer Anwendung, die vorher nicht von dem VPN-Manager bedient worden ist, betrifft aber nur Datenverkehr von einer neuen Quelle. Das Aufteilen des VPN-Tunnels kann Datenverkehr von neuen Quellen enthalten, aber um als Aufteilung betrachtet zu werden, muss ein Teil des Datenverkehrs auf jedem der VPN-Tunnel von vorhandenen Quellen stammen. Bis zu einem gewissen Grad sind die Neukonfigurierung der VPN-Tunnel und der vorhergehende Schritt des Neukonfigurierens der VPN-Agents ähnliche Schritte, da die VPN-Agents eventuell gleichzeitig mit den VPN-Tunneln neu konfiguriert und erneut zugewiesen werden müssen, in der Zeichnung werden das Neukonfigurieren von VPN-Agents und das Neukonfigurieren von VPN-Tunnels jedoch aus Gründen der Übersichtlichkeit als getrennte Schritte gezeigt.
  • In einer bevorzugten Ausführungsform der vorliegenden Erfindung enthalten die Funktionen des VPN-Managers in Übereinstimmung mit den VPN-Agents an den Endpunkten die Fähigkeit, neue VPN-Tunnel zwischen verschiedenen Clouds innerhalb der hybriden Cloud-Umgebung zu erstellen. Der VPN-Manager hat die Fähigkeit, Tunnel-Richtlinien wie beispielsweise Bandbreiten-Schwellenwerte (Mindest- und Höchstwert) und Sicherheitsrichtlinien zu konfigurieren. Der VPN-Manager hat die Fähigkeit, sich mit anderen VPN-Managern zu verbünden, die andere Cloud-Umgebungen verwalten. Der VPN-Manager kann eine VPN-Tunnel-Infrastruktur durch Zusammenführen oder dynamisches Aufteilen von VPN-Tunneln in Reaktion auf neue Anforderungen, Änderungen des Anwendungslebenszyklus, Änderungen des Datenverkehrs oder eine Netzwerk-Neukonfiguration optimieren oder VPN-Tunnel-Spezifikationen für vorhandene VPN-Tunnel dynamisch konfigurieren. Die VPN-Tunnel-Richtlinien werden vom VPN-Manager für die Entscheidung verwendet, ob eine vorgeschlagene Optimierung zulässig ist, und ob eine neue Anforderung für einen VPN-Dienst durch die vorhandene VPN-Tunnel-Infrastruktur berücksichtigt werden kann oder erfordert, dass VPN-Tunnels zusammengeführt, hinzugefügt, aufgeteilt oder neu konfiguriert werden.
  • Erstellen und Verwalten eines VPN-Tunnels ist nach dem Stand der Technik wohlbekannt. Der VPN-Tunnel kann gemäß den Anforderungen erstellt werden, die durch den Administrator oder eine anfordernde Anwendung angegeben werden. Ein VPN-Tunnel kann durch eine Software-Anwendung oder durch eine dedizierte Hardware-Einheit erstellt werden. Das Problem, mit dem sich die Erfindung auseinandersetzt, besteht darin, dass VPN-Tunnel gemäß dem Stand der Technik nach ihrer Erstellung statisch sind und sich nicht an Änderungen in der Cloud-Umgebung anpassen, wie beispielsweise Änderungen des Anwendungslebenszyklus und Änderungen der Netzwerktopologie. Aufgrund ihrer statischen Natur stellen VPN-Tunnel nach dem Stand der Technik ein größeres Sicherheitsrisiko dar als die Ausführungsformen der vorliegenden Erfindung. Eine bevorzugte Ausführungsform der vorliegenden Erfindung stimmt die Infrastruktur von VPN-Tunneln ab, um nur den notwendigen Datenverkehr zwischen Cloud-Umgebungen innerhalb der gesamten hybriden Cloud-Umgebung zuzulassen.
  • Ausführlichere Beschreibungen von ausgewählten veranschaulichenden Ausführungsformen der vorliegenden Erfindung werden im Folgenden bereitgestellt.
  • Wie in 5 gezeigt, wird eine bevorzugte Ausführungsform der vorliegenden Erfindung in einer hybriden Cloud-Umgebung verwendet, die eine lokale Infrastruktur 501 integriert, die eine private Cloud, eine Cloud-Arbeitslast auf einer IaaS-Infrastruktur 503 und eine Anwendung in einer SaaS-Umgebung 505 hostet. Die Figur stellt auch einen VPN-Manager 508 dar, der in einer allgemeinen Cloud-Umgebung 507 arbeitet. Die allgemeine Cloud-Umgebung 507, in der sich ein VPN-Manager 508 befindet, kann entweder eine private Cloud oder eine öffentliche Cloud sein. Die Maschinen A bis D werden als in der IaaS-lnfrastruktur 501 befindlich gezeigt, die Maschinen E und F werden in der SaaS-Umgebung 505 gezeigt, die Maschinen G bis J werden in der privaten Cloud 501 gezeigt, und die Maschinen K und L werden in der allgemeinem Cloud-Umgebung 507 gezeigt. Ein Protokoll- und Ereignis-Manager 512 wird auf der Maschine M befindlich gezeigt. Der VPN-Manager 508 befindet sich entweder auf der Maschine K oder der Maschine L.
  • Wie in 5 gezeigt, sind die VPN-Tunnel 509 und 511 gemäß einer veranschaulichenden Ausführungsform der vorliegenden Erfindung konfiguriert. In dieser Ausführungsform der Erfindung konfiguriert ein Administrator die VPN-Tunnel unter Verwendung einer Benutzerschnittstelle. In weiteren Ausführungsformen der Erfindung stellen VPN-Manager-orientierte Anwendungen Anforderungen direkt an den VPN-Manager. Der Administrator lässt die Maschine A mit dem VPN-Manager 508 Kontakt aufnehmen und eine VPN-Tunnelverbindung 511 zur Maschine M anfordern, sodass Protokoll- und Ereignisinformationen an den Protokoll- und Ereignismanager 512 gemeldet werden können. Als Teil dieser Anforderung stellt die Maschine A die gewünschten Anforderungen 513 für den VPN-Tunnel bereit:
    • PROTOKOLL: SYSLOG
    • ANSCHLUSS: 541
    • QUELLE: 10.1.1.5
    • ZIEL: 9.1.2.20
    • BANDBREITE: KEINE EINSCHRÄNKUNG
    • FILTER: A (/^app1[a-z]{0,10}$/)
    • SICHERHEITSRICHTLINIE A
  • Dem Fachmann dürfte klar sein, dass andere Parameter als VPN-Tunnel-Anforderungen angegeben werden können, und dass diese rein veranschaulichend sind.
  • Die Aufnahme einer Sicherheitsrichtlinie ist optional. Eine Sicherheitsrichtlinie würde höchstwahrscheinlich durch eine VPN-Manager-orientierte Anwendung aufgenommen werden. Anstelle einer bereitgestellten Sicherheitsrichtlinie erstellt der VPN-Manager eine Sicherheitsrichtlinie aus den Anforderungen, die durch die anfordernde Maschine oder Anwendung bereitgestellt werden. Ferner kann eine standardmäßige Sicherheitsrichtlinie für die Datenübertragung zwischen den einzelnen Clouds innerhalb der hybriden Cloud-Umgebung vorhanden sein. Für den Fall eines Konflikts zwischen einer standardmäßigen Sicherheitsrichtlinie und einer bereitgestellten oder erstellten Sicherheitsrichtlinie kann der VPN-Manager über eine Benutzerschnittstelle einen Alert an den Administrator ausgeben oder Regeln zum Lösen derartiger Konflikte haben, z.B. hat eine bereitgestellte Sicherheitsrichtlinie Vorrang vor einer standardmäßigen Sicherheitsrichtlinie. Obwohl sowohl Sicherheitsanforderungen als auch Sicherheitsrichtlinien in Ausführungsformen der vorliegenden Erfindung verwendet werden können, haben diese Begriffe in bevorzugten Ausführungsformen der Erfindung die folgenden Bedeutungen. Eine „Sicherheitsanforderung“ ist ein Parameter des Typs Sicherheit, dessen Vorhandensein in einem VPN-Tunnel die anfordernde Maschine verlangt. Zu Beispielen für Sicherheitsanforderungen gehören ein VPN-Protokoll und ein Verschlüsselungs-Sicherheitsprotokoll, die verwendet werden müssen. Eine „Sicherheitsrichtlinie“ würde angeben, wie die Sicherheitsanforderungen in einem VPN-Tunnel zu verwenden sind. Eine Vorgabe könnte sein, dass das VPN nur die durch den Anforderer angegebenen Sicherheitsanforderungen verwendet. Wenn ein Anforderer als weiteres Beispiel eine Sicherheitsanforderung angibt, würde eine eingeschränkte Untergruppe von kompatiblen Protokollen, die, falls sie von einem anderen Anforderer angefordert oder von einem anderen VPN-Tunnel verwendet würden, eine Grundlage für einen Kandidaten zum Verbinden des vorhandenen VPN-Tunnels oder einer Zusammenführung der VPN-Tunnel bilden. Alternativ könnte eine Sicherheitsrichtlinie tolerant sein und zulassen, dass alle Sicherheitsanforderungen, die durch Anforderer aus derselben Cloud angegeben werden, in den VPN-Tunnel aufgenommen werden, jedoch keine anderen Sicherheitsprotokolle, sofern sie nicht durch berechtigte Maschinen angefordert werden. Als weiteres Beispiel könnte eine Sicherheitsrichtlinie feststellen, dass bestimmte Sicherheitsanforderungen in demselben VPN-Tunnel nicht kompatibel waren. Somit kann eine „Sicherheitsrichtlinie“ zum Bewerten verwendet werden, ob die „Sicherheitsanforderungen“ einer Mehrzahl von Anwendungen oder einer Mehrzahl von VPN-Tunneln kompatibel sind.
  • Wenn der VPN-Manager 508 in einer bevorzugten Ausführungsform der vorliegenden Erfindung keinen vorherigen Kontakt mit der Maschine M hatte, erwartet der VPN-Manager 508 eine Verbindung von der Maschine M. In dieser Ausführungsform registriert der Administrator die Maschine M mit dem VPN-Manager. In Reaktion auf die Anforderung oder Registrierung installiert der VPN-Manager 508 jeweils VPN-Agents 515, 517 auf der Maschine M und der Maschine A. Als Nächstes konfiguriert der VPN-Manager 508 durch Einwirken über die installierten VPN-Agents 515, 517 das VPN 511 zwischen der Maschine A und der Maschine M mit den Parameterangaben der Anforderung von der Maschine A, 513 (Syslog, Anschluss, unidirektional, Bandbreite usw.). Das bedeutet, der VPN-Manager 508 gibt an die VPN-Agents Anweisungen und Konfigurationsanforderungen aus, die von den VPN-Agents (oder anderen vorhandenen Entitäten) ausgeführt werden. Wie dem Fachmann bekannt ist, würde der VPN-Tunnel eine ausgewählte VPN-Sicherheitstechnologie verwenden, wie beispielsweise die Internet-Protokoll-Sicherheit (IPsec), Secure Socket Layer/Transport Layer Security (SSL/TLS) oder Multiprotocol Label Switching (MPLS), um den Tunnel zu schützen. Zu weiteren VPN-Sicherheitsprotokollen gehören Datagram Transport Layer Security- (DTLS), Microsoft Point-to-Point Encryption- (MPPE) und Secure Shell- (SSH) Protokolle. Die VPN-Sicherheitsanforderungen in der Maschine A könnten die Auswahl des VPN-Sicherheitsprotokolls sowie die Funktionen zum Verschlüsseln von Daten gemäß verschiedenen Verschlüsselungsstandards enthalten, wie beispielsweise die Unterstützung von Datenverschlüsselungsstandards (DES/Triple DES (3DES) und Advanced Encryption Standard (AES) mit verschiedenen Schlüsselgrößen oder Multicast- oder Gruppenverschlüsselungsstandards. Die VPN-Sicherheitsanforderungen können die Fähigkeit enthalten, Daten gemäß einem Standard wie beispielsweise Lempel-Ziv-Stac (LZS) vor der Verschlüsselung zu komprimieren.
  • Als Nächstes lässt der Administrator die Maschine B mit dem VPN-Manager in Kontakt treten und eine VPN-Verbindung mit der Maschine A anfordern. Als Teil dieser Anforderung stellt die Maschine B die gewünschten Anforderungen 519 für das VPN bereit:
    • PROTOKOLL: SCP
    • ANSCHLUSS: 22
    • QUELLE: 10.1.1.5
    • ZIEL: 9.1.2.20
    • BANDBREITE: KEINE EINSCHRÄNKUNG
    • FILTER: B (/^app2[a-z]{0,30}$/)
    • SICHERHEITSRICHTLINIE B
  • In Reaktion auf die Anforderung installiert der VPN-Manager 508 einen VPN-Agent auf der Maschine B. Der VPN-Manager identifiziert den vorher vorhandenen VPN-Tunnel 511 in der Nähe, der von der Maschine A stammt. Nach einer Feststellung, dass die Sicherheitsrichtlinien von der Maschine A und der Maschine B kompatibel sind, konfiguriert der VPN-Manager 508 die Maschine B über den VPN-Agent auf der Maschine B, um angegebenen Datenverkehr an die Maschine A zu senden. Angegebener Datenverkehr ist derjenige Datenverkehr, der von den Sicherheitsrichtlinien zugelassen wird. Zum Beispiel können bestimmte Sicherheitsrichtlinien nur http-Datenverkehr und keinen ftp-Datenverkehr auf dem VPN-Tunnel zulassen. Anschließend konfiguriert der VPN-Manager 508 den VPN-Tunnel 511 A bis M neu, um die VPN-Filter aus den Anforderungen 519 der Maschine B aufzunehmen. Auf diese Weise kann ein vorhandener VPN-Tunnel 511 von einer Maschine so neu konfiguriert werden, dass Datenverkehr von einer anderen Maschine in derselben Cloud 502 übergeben wird. Der sich daraus ergebende VPN-Tunnel 511 weist die folgenden Eigenschaften 521 auf: Unidirektional, zwei Pakettypen (einer von jeder der Anwendungen), zwei Protokolle (Syslog und SCP), die von zwei Quellen stammen. Der aggregierte VPN-Filter für VPN-Tunnel stellt insofern eine größere Berechtigung bereit, als er jetzt Datenverkehr von zwei Quellen und zwei Pakettypen ermöglicht, in der bevorzugten Ausführungsform der vorliegenden Erfindung prüft der VPN-Filter jedoch immer noch, ob der richtige Pakettyp von der richtigen Maschine kommt.
  • In dieser veranschaulichenden Ausführungsform der vorliegenden Erfindung kann der VPN-Manager 508 VPN-Tunnel zwischen mehr als zwei Clouds verwalten, in denen die Organisation Maschinen hat. Unter Fortsetzung des Beispiels fordert der Administrator an, dass ein VPN-Tunnel von der Maschine F der generischen SaaS-Anwendung in der SaaS-Umgebung 505 zu dem Protokoll- und Ereignis-Manager 512 in der privaten Cloud 501 erstellt wird. Der Administrator oder der Besitzer der generischen SaaS-Anwendung stellt unter Verwendung der vom Administrator gelieferten Berechtigungen an den VPN-Manager eine Anforderung, einen VPN-Tunnel zu erstellen. Die Anforderung enthält die gewünschten Anforderungen 523 für den VPN-Tunnel:
    • PROTOKOLL: SCP
    • ANSCHLUSS: 80
    • QUELLE: 15.1.1.5
    • ZIEL: 9.1.2.20
    • BANDBREITE: KEINE EINSCHRÄNKUNG
    • FILTER: C (/^app3[a-z]{0,50}$/)
  • In Reaktion auf die Anforderung installiert der VPN-Manager 508 einen VPN-Agent 522 auf der Maschine F. Über den VPN-Agent 522 konfiguriert der VPN-Manager 508 einen VPN-Tunnel zwischen der Maschine F und der Maschine M mit den angegebenen Filtern aus der ursprünglichen Anforderung 523.
  • In dieser veranschaulichenden Ausführungsform der vorliegenden Erfindung stellen die Maschinen A und B Protokoll- und Ereignisdaten für den Protokoll- und Ereignis-Manager auf der Maschine M über den VPN-Tunnel 511 bereit, und die Maschine F stellt derartige Daten über den VPN-Tunnel 509 bereit. Wie in der Figur gezeigt, stellen auch die zusammen untergebrachten Maschinen G und I Protokoll- und Ereignisdaten für den Protokoll- und Ereignis-Manager bereit. Da die Maschinen G und I über das private Netzwerk in der privaten Cloud 501 in direktem Datenaustausch mit der Maschine M stehen können, besteht keine Notwendigkeit, den VPN-Manager 508 einzubeziehen.
  • Die oben beschriebenen Schritte stellen ein veranschaulichendes Beispiel der ursprünglichen Konfiguration der VPN-Tunnel bereit. Wie im Folgenden erläutert wird, da sich die Bedürfnisse der Anwendungen während ihres Lebenszyklus ändern, kann eine korrekte Anwendung weitere Anforderungen ausgeben, um die für den Tunnel benötigten Parameter zu ändern. Zum Beispiel ist für die Anwendung während des Einsatzes oder anderen Zeiträumen mit hoher Nutzung eine hohe Bandbreite durch den Tunnel erforderlich. Zu anderen Zeitpunkten, zum Beispiel während einer Routineüberwachung, ist für die Anwendung eine geringere Bandbreite erforderlich. Die Anwendung kann weitere Anforderungen ausgeben, die die angeforderte Bandbreite ändern. In alternativen Ausführungsformen der vorliegenden Erfindung kann der VPN-Agent, der den VPN-Tunnel verwaltet, den Datenverkehr überwachen, der von einer Gruppe von Anwendungen kommt. Wenn der überwachte Datenverkehr weitaus niedriger als angefordert ist, kann der VPN-Agent oder der VPN-Manager eine Gelegenheit erkennen, den Tunnel mit einem anderen geeigneten zusammenzuführen oder den Tunnel für eine geringere Bandbreite neu zu konfigurieren. Am Ende des Lebenszyklus, z.B. wenn die Anwendung deinstalliert wird, informiert eine korrekte Anwendung den VPN-Manager als Teil des Deinstallationsprozesses, dass ein VPN-Tunnel nicht mehr erforderlich ist. Die Sicherheitsanforderungen einer Anwendung können sich während ihres Lebenszyklus ebenfalls ändern. In noch weiteren Ausführungsformen der Erfindung werden die Ereignis- und Protokoll-Informationen einem Administrator übergeben, der Anforderungen zum Ändern des VPN-Agents und der Konfiguration des VPN-Tunnels auf Grundlage der aus den Ereignis- und Protokoll-Informationen erkannten Änderungen des Lebenszyklus der Anwendung ausgeben kann.
  • 6 stellt eine Ausführungsform einer Administrator-Ansicht in einer grafischen Benutzeroberfläche 600 in einem Beispiel-Dashboard dar, das vom VPN-Manager bereitgestellt wird. Dem Fachmann wird klar sein, dass andere alternative Benutzeroberflächen gemäß den Lehren der Erfindung bereitgestellt werden können. In dieser Ansicht wird eine aktuelle Zustandsansicht der VPN-Tunnel direkt nach der ursprünglichen Konfiguration gezeigt, die in Verbindung mit 5 beschrieben wurde. In dieser Ausführungsform der aktuellen Zustandsansicht werden nur die vorhandenen VPN-Tunnel, die durch die VPN-Tunnel verbundenen Clouds und die Maschinen dargestellt, die die VPN-Tunnel verwenden, nicht aber die anderen Komponenten in der hybriden Cloud-Umgebung. Andere Ausführungsformen der aktuellen Zustandsansicht würden andere Komponenten zeigen. Die Maschine M in einem privaten Netzwerk 601 wird jeweils mit einer durch einen VPN-Tunnel 611 und einen VPN-Tunnel 609 verbundenen IaaS-lnfrastruktur 603 und einer SaaS-Umgebung 605 gezeigt. Die angeforderten Konfigurationsparameter von der Maschine A werden in einem Anzeigefeld 613 gezeigt, während die von der Maschine B angeforderten Konfigurationsparameter in einem Anzeigefeld 619 angezeigt werden. Die sich daraus ergebenden VPN-Parameter des VPN-Tunnels 611 werden in einem Anzeigefeld 621 gezeigt. Desgleichen werden die angeforderten Konfigurationsparameter von der Maschine F in einem Anzeigefeld 623 gezeigt, während die sich daraus ergebenden VPN-Parameter für den VPN-Tunnel 609 in einem Anzeigefeld 625 angezeigt werden. In einer bevorzugten Ausführungsform ist jedes der Anzeigefelder 613, 619, 621, 623 und 625 durch den Systemadministrator bearbeitbar. Durch Bearbeiten der Anzeigefelder 613, 619 oder 623 für angeforderte Konfigurationsparameter wird an den VPN-Manager eine neue Anforderung für die VPN-Merkmale gestellt, die von einer der Maschinen oder auf den Maschinen ausgeführten Anwendungen gewünscht werden. Wenn diese Anforderung ausgeführt worden ist, würde in den entsprechenden Anzeigefeldern 621 oder 625 für VPN-Parameter eine Aktualisierung der VPN-Merkmale gezeigt.
  • Wenn in dem Anzeigefeld nicht genügend Platz vorhanden ist, würde eine Bildlaufleiste gezeigt, die dem Administrator ein Durchblättern aller verfügbaren Parameter ermöglicht. Nicht bearbeitbare Parameter könnten ausgegraut dargestellt werden. Andere Ansichten des Netzwerks werden in bevorzugten Ausführungsformen der vorliegenden Erfindung in Betracht gezogen. Zum Beispiel können alle Maschinen in den Netzwerken so dargestellt werden, dass neue VPN-Verbindungen erstellt werden könnten. Ein Zeige- und Zieh-Mechanismus könnte zum Definieren des neuen Tunnels verwendet werden. In Reaktion auf eine Zeige-und Zieh-Operation durch den Administrator könnten die standardmäßigen bearbeitbaren Parameter in dem Anzeigefeld für angeforderte Konfiguration aufgefüllt werden, die der Administrator bearbeiten oder weiterleiten könnte. In einer weiteren alternativen Ausführungsform kann eine Anwendungsansicht dargestellt werden, die statt der Maschinen die Anwendungen zeigt, die in jeder der Umgebungen arbeiten.
  • Alerts können dargestellt werden. Zum Beispiel wird in einer bevorzugten Ausführungsform der vorliegenden Erfindung der VPN-Tunnel 611 oder das Anzeigefeld für VPN-Parameter 621 optisch hervorgehoben dargestellt, wodurch eine Aktion angezeigt wird, die die Aufmerksamkeit des Administrators erfordert. Zum Beispiel kann eine optische Hervorhebung von zwei Tunneln in der Oberfläche eine Gelegenheit angeben, die beiden Tunnel zusammenzuführen, um einen effizienteren Dienst bereitzustellen. Eine optische Hervorhebung eines einzelnen Tunnels kann angeben, dass der Durchsatz die Kapazität des Tunnels überschreitet, oder dass eine neue Anforderung eines Diensts aufgrund eines Konflikts zwischen einer neuen Gruppe von Anforderungen und den bereits vorhandenen VPN-Parametern für den Tunnel, die von früheren Anforderungen erstellt wurden, nicht in dem vorhandenen Tunnel untergebracht werden kann. Wenn die optisch hervorgehobenen Tunnel durch den Administrator gewählt werden, können weitere Details wie Ereignisprotokolle und Durchsätze, die Ursachen für die Alerts waren, in zusätzlichen Anzeigefeldern dargestellt werden.
  • Der VPN-Manager würde Optionen für ein manuelles Hinzufügen, Löschen und Neukonfigurieren von VPN-Agents und VPN-Tunnels angeben. In einer bevorzugten Ausführungsform der vorliegenden Erfindung wäre die Benutzerschnittstelle (UI) eine UI + REST API-Schnittstelle. Die Benutzerschnittstelle auf Web-Grundlage verwendet die REST API, oder eine externe Anwendung könnte die REST API direkt verwenden.
  • In 7A wird eine veranschaulichende Ausführungsform einer Neukonfiguration der VPN-Tunnels gezeigt. Dieses Beispiel zeigt eine beispielhafte Änderung einer Netzwerktopologie, die veranlasst, dass ein VPN-Manager 708 die Infrastruktur des VPN-Tunnels der hybriden Cloud ändert. In dem Beispiel wird eine Maschine aus einer der Clouds entfernt. Zu weiteren Änderungen der Netzwerktopologie zählen das Hinzufügen oder Entfernen einer Cloud-Anwendung, das Hinzufügen einer „Klon“-Maschine mit einer selben Cloud-Anwendung wie eine andere Maschine, z.B. zum Lastausgleich, das Verschieben einer Cloud-Anwendung aus einer Maschine in eine andere Maschine und das Verschieben einer Cloud-Anwendung von einer Cloud in eine andere Cloud, z.B. von einer privaten Cloud in eine öffentliche Cloud. In bevorzugten Ausführungsformen der vorliegenden Erfindung wird diese Art einer Änderung der Netzwerktopologie als ein „Ereignis“ an den VPN-Manager 708 gesendet, und der VPN-Manager 708 führt entweder eine automatische Neukonfiguration der Infrastruktur des VPN-Tunnels aus oder zeigt dem Administrator einen Alert als eine Situation an, die ein Kandidat für eine Neukonfiguration des VPN-Tunnels ist.
  • Wie durch das „X“ angegeben, entfernt der Administrator die Maschine A aus einer IaaS-lnfrastruktur 703, was eine Neukonfiguration des Datenverkehrs von der Maschine B auslöst, der von der Maschine A bearbeitet wird. Wenn der Administrator mit dem Entfernen der Maschine A beginnt, setzt sich der VPN-Agent 704 auf der Maschine A mit dem VPN-Manager in einer Cloud 707 in Verbindung. Der VPN-Manager analysiert die kombinierten VPN-Verbindungen in einem VPN-Tunnel 711, in diesem Fall bearbeitet der VPN-Tunnel 711, der von der Maschine A kommt, auch den Datenverkehr von der Maschine B. Der VPN-Manager 708 weist einen VPN-Agent 712 auf der Maschine B an, unter Verwendung vorher vorhandener Anforderungen einen VPN-Tunnel 720 von der Maschine B zu der Maschine M zu erstellen, d.h. zu den vorhandenen Anforderungen von der Maschine B und jeder anderen Maschine in der IaaS-lnfrastruktur 703, die den VPN-Tunnel 711 verwendet hat. Da die Maschine A entfernt wird, sind keine ihrer Anforderungen relevant. Nur die Anforderungen von der Maschine B werden verwendet, wenn der VPN-Filter für den Tunnel eingerichtet wird. In der Darstellung werden die Anforderungen von der Maschine B beim Anfordern eines VPN-Diensts veranschaulicht. Die Maschine B hatte die gewünschten Anforderungen 719 für das VPN bereitgestellt:
    • PROTOKOLL: SCP
    • ANSCHLUSS: 22
    • QUELLE: 10.1.1.5
    • ZIEL: 9.1.2.20
    • BANDBREITE: KEINE EINSCHRÄNKUNG
    • FILTER: B (/^app2[a-z]{0,30}$/)
    • SICHERHEITSRICHTLINIE B
  • Wie gezeigt, unterscheiden sich die VPN-Parameter 721 für den neuen VPN-Tunnel 720 von den Parametern 521 für den kombinierten VPN-Tunnel 511, der in 5 gezeigt wird, oder Tunnel 711 in dieser Figur. Der VPN-Tunnel 711 wird entfernt, wie durch das „X“ angegeben. Indem nur Parameter aufgenommen werden, die von anerkannten Maschinen angefordert wurden, die aktuellen VPN-Tunnelbedarf haben, wird die Sicherheit erhöht.
  • 7A kann auch verwendet werden, um das Entfernen einer Anwendung aus der Maschine A zu erläutern. Wenn der neue Tunnel 720 erstellt ist, entfernt der VPN-Manager 708 in diesem Fall den VPN-Tunnel 711 von A nach M. Der VPN-Manager 708 deinstalliert, ebenfalls optional, den VPN-Agent 704 auf der Maschine A. Diese optionalen Schritte erzeugen ein korrektes System und vermindern das Sicherheitsrisiko beim Verwalten des VPN-Tunnels und des VPN-Agents, wenn sich auf der Maschine A keine autorisierten Abonnement-Anwendungen befinden. Allerdings könnten alternative Ausführungsformen der vorliegenden Erfindung den VPN-Tunnel oder VPN-Agent aktiv erhalten, um den Mehraufwand beim Starten eines neuen VPN-Agents für den Fall zu verringern, dass eine neue Anwendungsanforderung an den VPN-Manager gerichtet wird.
  • In Ausführungsformen der vorliegenden Erfindung sind Gruppen von Regeln für ein Zusammenführen und Aufteilen der VPN-Tunnel vorhanden. Regeln auf Sicherheitsgrundlage befassen sich damit, ob die Sicherheitsanforderungen oder - richtlinien von jeder der Anwendungen, die von einem VPN-Tunnel bedient oder potenziell bedient werden, mit den Sicherheitsanforderungen oder -richtlinien der anderen Anwendungen kompatibel sind. Ein Zusammenführen von VPN-Tunneln wäre dadurch bedingt, dass die Sicherheitsanforderungen der Anwendungen, die durch die Kandidaten-VPN-Tunnel bedient werden, kompatibel sind. In Ausführungsformen der Erfindung wird die Kompatibilität der Sicherheitsanforderungen auf Grundlage der Sicherheitsrichtlinien der Anwendungen oder der Sicherheitsrichtlinie des VPN-Managers für einen Cloud-zu-Cloud-Datenaustausch interpretiert. Wenn zum Beispiel ein VPN-Tunnel aufgrund der Sicherheitsrichtlinien der Anwendung nur Datenverkehr im HTTP-Format erlaubt und ein anderer VPN-Tunnel nur Datenverkehr im FTP-Format erlaubt, können die beiden Tunnel nicht zusammengeführt werden. Wenn jedoch beide Tunnel Datenverkehr im HTTP-Format oder sämtlichen Datenverkehr erlauben, können sie zusammengeführt werden. Als weiteres Beispiel können die beiden Anwendungen auf zwei verschiedenen VPN-Tunneln zwei verschiedene Sicherheits- oder Verschlüsselungsprotokolle erfordern, und die Sicherheitsrichtlinie des VPN-Managers, die für den Datenaustausch zwischen den beiden Clouds gültig ist, erfordert, dass ein einziges Verschlüsselungsprotokoll verwendet wird. Daher kann die Sicherheitsanforderung oder -richtlinie einer Anwendung das Zusammenführen von VPN-Tunneln verhindern, die ansonsten aus Gründen der Durchsatzeffizienz zusammengeführt werden könnten.
  • In Anbetracht einer neuen Anforderung von einer Anwendung, die eine neue Gruppe von Sicherheitsanforderungen enthält, könnte eine Auswertung des aktuellen VPN im Hinblick auf eine Kompatibilitätsregel veranlassen, dass der aktuelle VPN-Tunnel aufgeteilt wird. In einer bevorzugten Ausführungsform der vorliegenden Erfindung wird die Kompatibilität für eine potenzielle Zusammenführung durch Auswerten der Sicherheitsanforderungen und VPN-Filter auf den beiden VPN-Tunneln im Hinblick auf diskrete Konflikte bestimmt. Wenn ein Konflikt gefunden wird, kann eine Benutzerschnittstelle in einigen Ausführungsformen der vorliegenden Erfindung dem Administrator die Kandidaten-VPN-Tunnel anzeigen, um die Konflikte und die Änderungen anzuzeigen, die erforderlich sind, um die VPN-Tunnel kompatibel zu machen. Auf diese Weise kann ein Administrator entscheiden, ob Modifizieren des VPN-Filters, Hinzufügen von zusätzlichen Typen von Datenverkehr oder Sicherheits- oder Verschlüsselungsprotokollen zu dem aktuellen VPN von einem Sicherheitsstandpunkt aus akzeptabel wären. Ein anderer Fall liegt vor, wenn der VPN-Tunnel in einer Ausführungsform der vorliegenden Erfindung aufgeteilt werden kann, wenn sich die Sicherheitsanforderungen von einer der Anwendungen ändern, die einen gemeinsamen VPN-Tunnel verwenden. Wenn eine Anwendung zum Beispiel jetzt zusätzlich zu dem ursprünglichen Datenverkehr im HTTP-Format Datenverkehr im FTP-Format übertragen möchte und der aktuelle VPN-Tunnel Datenverkehr im FTP-Format nicht zulässt, könnte der VPN-Tunnel aufgeteilt werden. Wenn eine der Anwendungen eine höhere Verschlüsselungsebene als die des aktuellen VPN-Tunnels wünscht, kann es in einem weiteren Beispiel sinnvoll sein, den aktuellen VPN-Tunnel aufzuteilen, statt einen höheren Aufwand für den gesamten Datenverkehr in Kauf zu nehmen. Weitere Regeln auf Kompatibilitätsgrundlage für andere Parameter als Parameter auf Sicherheitsgrundlage werden in anderen Ausführungsformen der vorliegenden Erfindung verwendet.
  • Eine andere Gruppe von Regeln beruht auf der Bandbreite oder dem Durchsatz eines VPN-Tunnels. Eine Bandbreitenregel kann zum Beispiel auf einem oberen oder unteren Schwellenwert der Bandbreite beruhen. Eine Aufteilung von VPN-Tunneln kann ausgeführt werden, wenn der Datenverkehr von mehreren Anwendungen den zulässigen Grenzwert der Tunnel-Bandbreite überschreitet. In diesem Fall teilt der VPN-Manager den Tunnel auf. Eine Zusammenführung von VPN-Tunneln kann ausgeführt werden, wenn einer oder mehrere kompatible VPN-Tunnel eine Bandbreite unter dem Mindestgrenzwert der Tunnel-Bandbreite hat oder haben.
  • In 7B wird eine veranschaulichende Ausführungsform einer Neukonfiguration zum Zusammenführen der VPN-Tunnel gezeigt. Dieses Beispiel zeigt den Fall, in dem sich die Anforderungen der Anwendungen auf den Maschinen A und B aufgrund von Anforderungen einer geringeren Bandbreite geändert haben, die ein Zusammenführen der VPN-Tunnel 711 und 720 erlauben. Ein weiterer Fall, der ein Zusammenführen der VPN-Tunnel erlauben würde, ist eine Änderung der Sicherheitsprotokolle für eine der Anwendungen, sodass die neue Gruppe von Sicherheitsprotokollen gemäß den gültigen Sicherheitsrichtlinien kompatibel ist. Wie gezeigt, wird der VPN-Tunnel 711 zwischen den Clouds 701 und 703 entfernt, wenn der andere VPN-Tunnel 720 die aggregierte Anforderung aufnehmen kann. In bevorzugten Ausführungsformen der vorliegenden Erfindung muss der Datenverkehr (zusätzlich zu Sicherheitsanforderungen) auf den beiden VPN-Tunneln für eine Zusammenführung kompatibel sein. In bevorzugten Ausführungsformen der vorliegenden Erfindung empfängt der VPN-Manager 708 Informationen von den VPN-Agents 704 und 712, die der Maschine A und der Maschine B zugewiesen sind. Der VPN-Manager konfiguriert den VPN-Agent 712 auf der Maschine B neu, um den VPN-Tunnel 720 von der Maschine B zu der Maschine M zu modifizieren, indem Anforderungen hinzugefügt werden, d.h. die vorhandenen Anforderungen von der Maschine A, die den VPN-Tunnel 711 verwendet hat. In der Darstellung werden die Anforderungen 739 von der Maschine A und die Anforderungen 719 von der Maschine B veranschaulicht. Die Maschine A stellt die gewünschten Anforderungen 739 für den VPN-Tunnel bereit:
    • PROTOKOLL: SYSLOG
    • ANSCHLUSS: 541
    • QUELLE: 10.1.1.5
    • ZIEL: 9.1.2.20
    • BANDBREITE: KEINE EINSCHRÄNKUNG
    • FILTER: A (/^app1[a-z]{0,10}$/)
  • Die Maschine B hat die gewünschten Anforderungen 719 für das VPN bereitgestellt:
    • PROTOKOLL: SCP
    • ANSCHLUSS: 22
    • QUELLE: 10.1.1.5
    • ZIEL: 9.1.2.20
    • BANDBREITE: KEINE EINSCHRÄNKUNG
    • FILTER: B (/^app2[a-z]{0,30}$/)
  • Wie gezeigt, unterscheiden sich die VPN-Parameter 751 für den modifizierten VPN-Tunnel 720 von den Parametern der einzelnen VPN-Tunnel 711 und 720, wenn sie eine einzelne Anwendung unterstützt haben. Indem nur Parameter aufgenommen werden, die von anerkannten Maschinen angefordert wurden, wird die Sicherheit erhöht. In dieser Figur leitet der VPN-Agent 704 auf der Maschine A den Datenverkehr von der Maschine A zum VPN-Agent 712 auf der Maschine B weiter, sodass der VPN-Tunnel 720 den kombinierten Datenverkehr bearbeiten kann.
  • In 7C wird eine veranschaulichende Ausführungsform einer Aufteilung eines VPN-Tunnels 720 gezeigt. In diesem Beispiel ist der VPN-Tunnel 720 nicht mehr ausreichend, um die Datenübertragungen von der Maschine A und der Maschine B zu bearbeiten. Die Aufteilung des VPN-Tunnels kann das Ergebnis einer Aktion des Administrators oder einer Anforderung durch eine VPN-Manager-orientierte Anwendung sein, die angibt, dass sich die Anforderungen geändert haben oder demnächst ändern werden. Der VPN-Manager analysiert die kombinierten VPN-Verbindungen im Tunnel 720, der von der Maschine B ausgeht und auch den Datenverkehr von der Maschine A bearbeitet, und kann einem Administrator über eine Benutzerschnittstelle einen Alert anzeigen. In diesem Beispiel wird eine neue Gruppe von Anforderungen 759 von der Anwendung empfangen, die auf der Maschine A ausgeführt wird, die eine erwartete Bedarfssteigerung aufgrund einer Aktualisierung angeben, für die ein bidirektionaler VPN-Tunnel sowie ein neues Sicherheits-Verschlüsselungsprotokoll erforderlich sein wird. In Erkenntnis, dass diese neuen Anforderungen 759 nicht mit dem VPN-Tunnel 729 erfüllt werden können oder zumindest, dass eine Modifizierung des VPN-Tunnels 720 in Reaktion auf die neuen Anforderungen von einem Sicherheits- oder Durchsatz-Standpunkt aus nicht optimal ist, konfiguriert der VPN-Manager 708 den VPN-Agent 704 auf der Maschine A neu, um unter Verwendung der neuen Anforderungen einen neuen VPN-Tunnel 763 von der Maschine A zu der Maschine M zu erstellen. Daher wird der alte VPN-Tunnel 720 „aufgeteilt“, da der Datenverkehr von den Quellen auf der Maschine A und der Maschine B von zwei VPN-Tunneln in der neuen VPN-Tunnel-Infrastruktur bedient wird.
  • Die Maschine A stellt die gewünschten Anforderungen 759 für den VPN-Tunnel 763 bereit:
    • PROTOKOLL: SYSLOG
    • VERSCHLÜSSELUNGSPROTOKOLL: ECC
    • ANSCHLUSS: 541
    • QUELLE: 10.1.1.5
    • ZIEL: 9.1.2.20
    • BANDBREITE: BIDIREKTIONAL KEINE EINSCHRÄNKUNG
    • FILTER: A (/^app1[a-z]{0,10}$/)
  • Der VPN-Agent 712 auf Maschine B konfiguriert den VPN-Tunnel 720 neu, sodass er nur die Anforderungen von der Maschine B verwendet:
    • PROTOKOLL: SCP
    • ANSCHLUSS: 22
    • QUELLE: 10.1.1.5
    • ZIEL: 9.1.2.20
    • BANDBREITE: KEINE EINSCHRÄNKUNG
    • FILTER: B (/^app2[a-z]{0,30}$/)
  • Wiederum wird allein durch die Aufnahme von Parametern, die durch anerkannte Maschinen angefordert werden, die Sicherheit erhöht, wobei sich die neuen VPN-Parameter 761 für den modifizierten VPN-Tunnel 720 von den Parametern 751 für den kombinierten VPN-Tunnel 720 unterscheiden, der in 7B gezeigt wird. Desgleichen spiegeln die VPN-Parameter 763 für einen neuen erstellten VPN-Tunnel 757 nur die Anforderungen 759 für die Maschine A wider.
  • 8 ist ein Ablaufplan der Operationen für Ereignismeldung und -protokollierung des VPN-Managers. Die Ereignis- und Datenverkehrsprotokollierung ermöglicht dem VPN-Manager zu verstehen, welche Anwendungen mit welchen anderen Anwendungen in Datenaustausch stehen. Außerdem ermöglicht dies dem VPN-Manager zu verstehen, welche Clouds miteinander verbunden sind, welche Daten ausgetauscht werden. Ferner ermöglichen Operationen für Ereignismeldung und -protokollierung das Erkennen von Richtlinienverletzungen oder Sicherheitsverstößen durch das Security Operations Center (SOC).
  • Im Schritt 801 wartet der VPN-Manager darauf, dass von den VPN-Agents Ereignisse gemeldet werden. Wenn Ereignisse empfangen werden, Schritt 803, werden die Ereignisse protokolliert, Schritt 805. Der VPN-Manager bestimmt im Schritt 807, ob das Ereignis bzw. die empfangenen Ereignisse eine Regel auslöst oder auslösen. Um eine Regel auszulösen, muss das zuletzt empfangene Ereignis unter Umständen mit einem Ereignis korreliert sein, das bereits protokolliert wurde. Wie vorher erwähnt, ist ein Beispiel für eine Regel eine Datenverkehrs-Schwellenwertregel. Wenn der Datenverkehr auf einem VPN einen Schwellenwert überschreitet oder voraussichtlich überschreiten wird, gibt der VPN-Manager Anweisungen an die VPN-Agents aus, einen einzelnen VPN-Tunnel in zwei Tunnel aufzuteilen. Eine weitere Datenverkehrs-Schwellenwertregel ist eine Mindestdatenverkehrsregel. Wenn benachbarte VPN-Tunnel einen Datenverkehr unterhalb eines Schwellenwerts aufweisen, kann der VPN-Manager Anweisungen an die VPN-Agents ausgeben, VPN-Tunnel zusammenzuführen. Ein weiteres Beispiel für eine Regel ist eine sicherheitsbezogene Regel. Wenn Sicherheitsereignisse in Bezug auf einen VPN-Tunnel vorliegen, kann der VPN-Manager Anweisungen an die VPN-Agents ausgeben, die Sicherheitsparameter für den Tunnel zu ändern. Zum Beispiel weisen erkannte Eindringereignisse für eine der Maschine, die von einem VPN-Tunnel bedient werden, problematische Ereignisse auf, die näher untersucht werden müssen. Daher kann der VPN-Manager Anweisungen an den bzw. die VPN-Agents für diesen Tunnel ausgeben, Ereignisse von der Maschine näher zu überwachen oder den VPN-Tunnel aufzuteilen, sodass Ereignisse von der betreffenden Maschine überwacht werden können, d.h. alle Ereignisse von dem neuen Tunnel werden überwacht, während gestattet wird, dass für Ereignisse von anderen nicht betroffenen Maschinen ein geringerer Aufwand zur Eindringerkennung betrieben wird.
  • Wenn das Ereignis eine Modifizierungsanforderung von VPN-Manager-orientierter Anwendung ist, kann die Regel lauten, die Anforderung zu befolgen. In diesem Fall gibt der VPN-Manager an den bzw. die VPN-Agents Anweisungen aus, die mit der Modifizierungsanforderung konsistent sind. Eine weitere Regel wäre auszuwerten, ob die Modifizierungsanforderung mit den geltenden Sicherheitsrichtlinien für den VPN-Tunnel konsistent ist, und falls dies nicht der Fall ist, einen Administrator auf weitere Maßnahmen aufmerksam zu machen.
  • Wenn durch das Ereignis bzw. die Ereignisse im Schritt 809 eine Regel ausgelöst wurde, gibt der VPN-Manager Anweisungen an die VPN-Agents aus, den bzw. die VPN-Tunnel entsprechend abzustimmen. Wie oben erläutert, enthält ein Abstimmen des bzw. der VPN-Tunnel ein Modifizieren der Parameter auf einem VPN-Tunnel, ein Zusammenführen von VPN-Tunneln oder ein Aufteilen eines VPN-Tunnels in zwei oder mehrere VPN-Tunnel. In einer bevorzugten Ausführungsform der vorliegenden Erfindung löst die Regel einen Alert in einer Benutzerschnittstelle aus, um einem Administrator zu gestatten, die Anweisungen an die VPN-Agents zu bestätigen und/oder zu modifizieren. Der Prozess kehrt zum Schritt 801 zurück, um auf neue Ereignisse zu warten.
  • 9 veranschaulicht den Prozess zur Optimierung des Datenverkehrsflusses, wobei VPNs gemäß einer Ausführungsform der vorliegenden Erfindung zusammengeführt und aufgeteilt werden. Der Prozess beginnt im Schritt 901, in dem der VPN-Manager die vorhandenen VPN-Tunnel überwacht. Dieser Schritt enthält die Überwachung auf Durchsatz und die Ereignisse, die oben in Verbindung mit 8 beschrieben wurden. In einer bevorzugten Ausführungsform melden die an jedem Tunnel-Endpunkt und jeder Abonnement-Maschine und/oder -Anwendung erstellten VPN-Agents die relevanten Informationen an den VPN-Manager, Schritt 903. Alle Anweisungen, die der VPN-Manager an den VPN-Agent übermitteln muss, werden ebenfalls in diesem Schritt übertragen. Zu Beispielen für Anweisungen, die der VPN-Manager an den VPN-Agent übermittelt, zählen, welcher VPN-Tunnel für Datenverkehr von einer bestimmten Anwendung oder Maschine verwendet werden soll, mit welchem Endpunkt (z.B. Anwendung) der VPN-Tunnel verbunden werden soll, welche Filtereinstellungen auf VPN-Agent und einer Agent-Konfiguration zugehörigen Daten vorhanden sein müssen usw.
  • Auf Grundlage der empfangenen Informationen wird im Schritt 905 eine Entscheidung getroffen, ob eine Änderung an der vorhandenen VPN-Infrastruktur angegeben wird. Eine bestätigende Entscheidung kann auf vielen Faktoren beruhen. Erstens, wie oben beschrieben, könnte eine neue Anforderung auf Administrator-oder Anwendungsgrundlage für Änderungen an den VPN-Tunnel-Einstellungen vorliegen. Die neue Anforderung könnte zu einer neuen Verbindung für eine neue Anwendung oder eine neue Maschine oder zu einer Änderung an einem vorhandenen VPN-Tunnel zwischen bereits abonnierten Maschinen gehören. Zweitens könnte die Änderung durch die Durchsatzmessungen von den VPN-Agents angegeben werden. VPN-Tunnel könnten ursprünglich durch Anwendungen in einer Einsatzphase des Anwendungslebenszyklus erstellt werden, in der hohe Bandbreitenanforderungen vorhanden sind. Um die benötigte Bandbreite bereitzustellen, werden daher separate VPN-Tunnel erstellt. Später in der Produktionsphase des Anwendungslebenszyklus sind die Bandbreitenanforderungen der Anwendungen niedriger, sodass, vorausgesetzt die Sicherheitsanforderungen sind zwischen den Anwendungen kompatibel, VPN-Tunnel zusammengeführt werden können. Drittens können am Ende des Anwendungslebenszyklus, wenn die Anwendung entfernt wird, der VPN-Tunnel und VPN-Agent für diese Anwendung entfernt oder modifiziert werden, um nur diejenigen Anwendungen zu unterstützen, die am Endpunkt immer noch vorhanden sind. Die VPN-Agents melden, dass die VPN-Tunnel nicht voll ausgelastet sind und daher Kandidaten für eine Zusammenführung mit anderen VPN-Tunneln sind. Der VPN-Manager, der eine Zuordnung aller vorhandenen VPN-Tunnel unter seiner Kontrolle hat, gibt die benötigten Befehle für eine Zusammenführung aus, z.B. wird eine vorhandene Gruppe von Anforderungen für den VPN-Tunnel, der geschlossen werden soll, an den ersten VPN-Agent gesendet, der den ersten VPN-Tunnel kontrolliert, der offen bleiben soll, ein Befehl zum Ändern der VPN-Merkmale des ersten VPN-Tunnels auf diese neuen Anforderungen, ein Befehl zum Weiterleiten von Datenübertragungen von dem zweiten VPN-Agent, der aktuell den zweiten VPN-Tunnel kontrolliert, der geschlossen werden soll, anstatt an den ersten VPN-Agent usw.
  • Die Änderung könnte eine Angabe sein, dass ein VPN-Tunnel wegen neuer Bandbreite- oder Sicherheitsmaßnahmen aufgeteilt werden muss. Vorher zusammengeführte VPN-Tunnel sind oft Spitzenkandidaten für eine Aufteilung in mehrere Tunnel. Während der Lebenszeiten von Anwendungen kann es Zeiträume geben, in denen sich die Bandbreite- oder Sicherheitsanforderungen ändern, zum Beispiel während einer Aktualisierung oder in Reaktion auf ein angegebenes Eindringen in eine der Cloud-Anwendungen, d.h. eine spezielle Sicherheitsbearbeitung ist erforderlich. Ein weiterer Grund, warum ein VPN-Tunnel aufgeteilt werden muss, ist auf eine neue Anforderung durch zusätzlichen Maschinen oder Anwendungen zurückzuführen. Angenommen, dass in dem oben beschriebenen Beispiel unter Bezugnahme auf 5 der VPN-Tunnel 511 ausreichend war, um die Maschine A und die Maschine B zu bedienen, die Anforderungen von Anwendung oder Administrator jedoch für einen VPN-Dienst für die Maschinen C und D gestellt wurden, und ein einzelner VPN-Tunnel die Bandbreitenanforderungen nicht für alle vier Maschinen erfüllen konnte. Eine Option könnte sein, einen neuen VPN-Tunnel zu erstellen, der die Maschinen C und D bedient. Der VPN-Manager könnte jedoch feststellen, dass die Anforderungen für die Maschinen A und C besser kompatibel sind als für die Maschinen A und B, und dass es daher am effizientesten wäre, wenn ein VPN-Tunnel die Maschinen A und C bedient und ein zweiter VPN-Tunnel B und D bedient. Wenn keine Änderung angegeben wird, kehrt der Prozess zur Überwachung der VPN-Tunnel zurück, Schritt 901.
  • Im Schritt 907 wird eine Bestimmung vorgenommen, ob die Änderung mit der vorhandenen Gruppe von VPN-Tunneln erreicht werden kann. Im Allgemeinen ist es effizienter, und die Cloud ist weniger durchlässig für Sicherheitsangriffe, je weniger VPN-Tunnel zwischen den beiden Clouds verwaltet werden. Ein Vergleich der angeforderten Bandbreite, der aktuellen Bandbreite und der verfügbaren Bandbreite des aktuellen Tunnels wird vorgenommen. Ein Vergleich der vorhandenen und angeforderten Sicherheitsparameter wird vorgenommen, um die Kompatibilität der Sicherheitsanforderungen zu bestimmen, die von den jeweiligen Anwendungen angefordert werden. Wenn die vorhandenen VPN-Tunnel verwendet werden können, einschließlich Zusammenführen der vorhandenen VPN-Tunnel, werden an die vorhandenen VPN-Agents die gewünschten Anforderungen ausgegeben, um alle benötigten Änderungen an den VPN-Tunneln vorzunehmen. Wenn die VPN-Tunnel verwendet werden können, sind wahrscheinlich bereits VPN-Agents in den anfordernden Maschinen installiert. Wenn jedoch neue VPN-Agents benötigt werden, z.B. in einer Ausführungsform der vorliegenden Erfindung, in der spezialisierte statt generischer VPN-Agents verwendet werden, sendet der VPN-Manager sie im Schritt 911 an die Maschinenendpunkte. Der Prozess fährt dann im Schritt 901 mit der Überwachung der vorhandenen VPN-Infrastruktur fort.
  • Wenn die Änderung andererseits einen neuen VPN-Tunnel erfordert, bestimmt der Prozess im Schritt 913, ob bereits ein VPN-Agent installiert ist. Ist dies nicht der Fall, sendet der VPN-Manager im Schritt 915 den neuen VPN-Agent an den Endpunkt, der ihn benötigt. Im Schritt 917 wird der neue VPN-Tunnel durch die neuen und/oder vorhandenen VPN-Agents erstellt. Der neue VPN-Tunnel kann als Aufteilung eines vorhandenen Tunnels betrachtet werden. Danach kehrt der Prozess zum Schritt 901 zurück, um die VPN-Infrastruktur auf mögliche Änderungen zu überwachen.
  • In den bevorzugten Ausführungsformen der vorliegenden Erfindung wird ein zentraler VPN-Manager durch einen einzelnen System- oder Cloud-Anbieter kontrolliert. In Cloud-Umgebungen wäre es zum Beispiel für laaS- und PaaS-Anbieter von Wert, eine VPN-Funktion als durch die vorliegende Erfindung aktiviert in diesen Umgebungen bereitzustellen.
  • Ein Verknüpfungsmodell kann in Fällen verwendet werden, in denen von einem Cloud-Anbieter ein VPN-Manager bereitgestellt wird und der Cloud-Anbieter ein Modell verwendet, das einer Verknüpfungsidentität (OAuth, OpenID usw.) ähnlich ist, um ein vertrauenswürdiges Modell zwischen Client-Netzwerken und anderen Cloud-Netzwerken zu erstellen. Wenn eine Anwendung, die zu einer Organisation gehört, einen VPN-Tunnel haben möchte, kann sie eine Berechtigung des Typs Verknüpfung mit dem VPN-Server der Organisation verwenden, um mit dem VPN-Manager des Cloud-Anbieters eine Vertrauensbasis herzustellen.
  • Eine Ausführungsform der vorliegenden Erfindung wird in 10 veranschaulicht. Eine Anwendung für eine erste Organisation befindet sich auf der Maschine M in einer ersten Gruppe von Clouds 1001 und erfordert, dass ein VPN-Tunnel erstellt wird, um mit der Maschine F in einer von einer zweiten Gruppe von Clouds 1003, die zu einer anderen Organisation gehört, Daten auszutauschen. VPN-Tunnel zwischen Maschinen in der Gruppe von Clouds 1001 werden durch einen VPN-Manager 1005 verwaltet, während die VPN-Tunnel in der Gruppe von Clouds 1004 durch einen VPN-Manager 1007 verwaltet werden.
  • Wenn die Anwendungen dann einen VPN-Tunnel haben möchten, stellen sie an ihren eigenen VPN-Anbieterserver eine Anforderungen, z.B. setzt sich die Anwendung auf der Maschine M mit dem VPN-Manager 1005 in Verbindung. Der VPN-Manager 1005 würde mit seinem Gegenstück, dem VPN-Manager 1007 Daten austauschen, um einen neuen VPN-Tunnel 1011 einzurichten. Die Clients würden mit den anderen vertrauenswürdigen Clients unter Verwendung eines VPN-Tunnels Daten austauschen, um einen Zugriffspunkt und eine Verschlüsselung bereitzustellen. Der VPN-Tunnel kann durch den zentralen Server fließen, oder der VPN-Manager kann einen zusätzlichen leichten Tunnel generieren. Ähnlich wie bei der obigen Beschreibung von VPN-Tunneln in einer hybriden Cloud-Umgebung können die VPN-Tunnel, die zwischen zwei Cloud-Umgebungen 1001 und 1002 verwaltet werden, neu konfiguriert, zusammengeführt und aufgeteilt werden, um den Bedürfnissen der Anwendungen während ihrer Lebenszyklen gerecht zu werden.
  • Der oben beschriebene Erfindungsgegenstand stellt viele Vorteile bereit. In bevorzugten Ausführungsformen der vorliegenden Erfindung ermöglicht das Zusammenführen und Aufteilen von VPN-Tunnels Netzwerkoptimierungen. Der VPN-Manager kann verfügbare Bandbreite, verfügbare Maschinenberechnung, Netzwerktopologie und VPN-Aufwand bei Entscheidungen zur Speicherstelle und Kombination von VPNs berücksichtigen. Beim Stand der Technik werden VPN-Tunnel zum Bereitstellen von Sicherheit zwischen Cloud-Umgebungen verwendet. Durch Überwachen des Durchsatzes von bestimmten VPN-Tunneln kann der VPN-Manager die Erstellung eines zusätzlichen VPN-Tunnels vorschlagen, um VPNs aufzuteilen, die eine große Menge an Datenverkehr bearbeiten, oder ein Zusammenführen von nicht ausgelasteten VPNs vorschlagen, die an Positionen innerhalb derselben Cloud enden.
  • Der VPN-Manager kann nach einer Integration in Cloud-Umgebungen mit ausreichender Berechtigung automatisch eine dedizierte Maschine zum Auslagern von VPN-Datenverkehr einsetzen. Wenn dem VPN-Manager die Berechtigung eines Cloud-Administrators zur Verfügung steht, kann er die Berechtigung nutzen, um automatisch eine VM in der Cloud zu erstellen und zur Verarbeitung von VPN-Datenverkehr reservieren, wodurch ein neuer VPN-Manager zur Teilung der Last erstellt wird. Dies hilft die Last auf der vorhandenen Maschine zu verringern, auf der der VPN-Manager ausgeführt wird und macht den VPN-Manager außerdem skalierbarer für die hybride Cloud. Alle oder einige VPN-Agents beginnen dann mit dem neuen VPN-Manager Daten auszutauschen. In einer anderen Ausführungsform der vorliegenden Erfindung kann der VPN-Manager abhängig von der Verfügbarkeit auch eine Auslagerung auf eine dedizierte VPN-Einrichtung vornehmen. Wenn der VPN-Manager eine VPN-Einrichtung erkennt, kann er einen VPN-Manager installieren (oder einen bereits installierten VPN-Manager verwenden), und anschließend kann der VPN-Manager in ähnlicher Weise wie bei einer Cloud-VM damit beginnen, Datenverkehr auf die VPN-Einrichtung auszulagern, um den vorhandenen VPN-Manager etwas von der Arbeitslast darauf zu entlasten. Obwohl Ausführungsformen der vorliegenden Erfindung in einigen bevorzugten Ausführungsformen weitestgehend autonom sein können, kann der Administrator die VPN-Tunnel über die Benutzerschnittstelle manuell abstimmen. In autonomen Ausführungsformen der vorliegenden Erfindung kann eine Benutzerschnittstelle bereitgestellt werden, um den Administrator von Aktionen in Kenntnis zu setzen, die vom VPN-Manager vorgenommen werden. Der Administrator kann das Protokoll von Ereignissen, die von den Agents erkannt werden, und die anschließenden Aktionen überprüfen, die von dem VPN-Manager vorgenommen werden oder deren Ausführung er anweist, um entweder die autonomen Richtlinien anzupassen oder Aktionen außer Kraft zu setzen, die vom VPN-Manager vorgenommen werden. Der Administrator kann physische VPN-Einrichtungen installieren und den VPN-Manager so konfigurieren, dass standardmäßig nur diese Einrichtungen verwendet werden.
  • In alternativen Ausführungsformen könnte der VPN-Manager anstelle der oben erläuterten Verwaltung auf Agent-Grundlage Cloud-APIs nutzen oder vorhandene Agents nutzen (wie beispielsweise Chef-Client-Agents), um die Endpunkte der VPN-Tunnel neu zu konfigurieren. In diesen Ausführungsformen der vorliegenden Erfindung werden die Aktionen, die oben als von den VPN-Agents ausgeführt beschrieben werden, stattdessen von anderen Netzwerkentitäten vorgenommen, wie beispielsweise Chef-Agents oder anderen VPN-Kontrollmechanismen, die sich bereits in der Cloud-Infrastruktur befinden. Wenn Cloud-APIs verwendet werden, könnte in der Cloud eine Vernetzung auf Software-Grundlage verfügbar sein, die zum Erstellen von VPN-Tunneln für alle VMs verwendet werden könnte, die mit einem durch Software definierten Netzwerk (SDN) verbunden sind, statt auf jeder und allen Maschinen Agents einzusetzen.
  • Wie oben erläutert, kann eine Anwendung die VPN-Parameter für den VPN-Tunnel ändern, wenn sich der Lebenszyklus der Anwendung ändert. Zum Beispiel können während eines Einsatzprozesses einer Anwendung für die Anwendung eine andere Datenübertragungsbandbreite und andere Sicherheitsprotokolle erforderlich sein. Zum Beispiel kann ein SSH-Protokoll über den VPN-Tunnel während der Produktinstallation erforderlich sein, nicht aber während der Produktlaufzeit. Die Anwendung kann eine neue Gruppe von Anforderungen für eine dynamische VPN-Tunnel-Neukonfiguration für den VPN-Manager bereitstellen.
  • Der VPN-Manager stellt einen dynamischen Einsatz, eine dynamische Verwaltung und Neukonfiguration in Reaktion auf detaillierte und dynamische Anforderungen bereit, die von einer Gruppe von Anforderungen oder Maschinen in den Organisationsnetzwerken geliefert werden. Indem ein Zusammenführen und Aufteilen von mehreren flexiblen VPN-Tunneln gestattet wird, wird die Effizienz und Sicherheit einer hybriden Cloud verbessert. Ferner kann eine Organisation die Erfindung zum Bereitstellen von VPN-Tunnelungsfunktionen mit einer Verknüpfung mit der Cloud-Umgebung verwenden, die von Partnern oder vertrauenswürdigen Entitäten kontrolliert wird. Eine Verknüpfung der VPN-Funktion durch Herstellen einer Vertrauensbasis zwischen VPN-Managern, die zu verschiedenen Organisationen gehören, ermöglicht Anwendungen die Nutzung vorhandener Vertrauensbeziehungen ohne zu erfordern, dass sich die Anwendung selbst mehreren Organisationen anschließt.
  • Ausführungsformen der vorliegenden Erfindung ermöglichen Änderungen an der VPN-Tunneltopologie in Reaktion auf ein automatisiertes Einsetzen und Entfernen von durch die Cloud gehosteter Hardware für eine effizientere Verwaltung und zum Auslagern von VPN-Aktivität. Die Auswahl der VPN-Technologie erfolgt in Reaktion auf Umgebungsänderungen und Anforderungen der anfordernden Anwendungen. Durch die Nutzung der Cloud-Infrastruktur (APIs, automatisierte Einsatzwerkzeuge) kann der VPN-Manager VPN-Tunnel mit einem Minimum an zusätzlicher Infrastruktur verwalten. Ausführungsformen der vorliegenden Erfindung ändern reaktiv die Datenübertragung auf Grundlage des Anwendungslebenszyklus, wie beispielsweise mit einer Echtzeitänderung von zulässigen Protokollen auf Grundlage von anwendungsgesteuerten Befehlen. Durch eine kontinuierliche Überwachung der VPN-Tunnel-Anforderungen, die durch den Administrator oder die Gruppe von Anwendungen bereitgestellt werden, sorgen Ausführungsformen der Erfindung für eine dynamische Neukonfiguration von VPN-Tunneln.
  • Die vorliegende Erfindung weist gegenüber dem Stand der Technik viele Vorteile auf. Ausführungsformen der vorliegenden Erfindung stellen einen dynamischen VPN-Einsatz, eine dynamische Verwaltung und Neukonfiguration in Reaktion auf detaillierte und dynamische Anforderungen bereit. die von den Anwendungen geliefert werden. Des Weiteren können mehrere VPN-Manager VPNs in verschiedenen Clouds und durch Verknüpfung von VPN-Funktion durch Herstellen einer Vertrauensbasis zwischen VPN-Managern verwalten. Anwendungen können die vorhandene Vertrauensbeziehung nutzen, um ein VPN von einem vertrauenswürdigen VPN-Manager von einer anderen Cloud anzufordern.
  • Die Kombination von mehreren flexiblen VPN-Tunneln zu einem einzigen VPN-Tunnel verbessert die Effizienz und Sicherheit und Datenübertragungen zwischen Clouds. Falls erforderlich, können kombinierte VPNs auch geteilt werden, um neue Anforderungen zu erfüllen. In Ausführungsformen der vorliegenden Erfindung wird die Hardware, die zum Bereitstellen der VPN-Funktion verwendet wird, für eine effiziente Verwaltung automatisch eingesetzt und entfernt. Die zum Erstellen eines bestimmten Tunnels ausgewählte VPN-Technologie wirkt reaktiv auf die Cloud-Umgebung und die durch die Anwendung angegebenen Anforderungen. In Fällen, in den spezialisierte VPN-Agents verwendet werden, werden die spezialisierten VPN-Agents konfiguriert, um die Anforderungen bereitzustellen, die durch die Anwendung oder die Maschine angefordert werden, die einen VPN-Tunnel anfordern. Die Cloud-Infrastruktur selbst ist flexibel und gestattet eine Neuzuweisung von Aufgaben zwischen den Maschinen. Diese Flexibilität kann durch den VPN-Verwaltungsprozess genutzt werden (APIs, automatisierte Einsatz-Werkzeuge), indem derartige Ressourcen dynamisch zugewiesen werden, um je nach Bedarf zusätzliche VPNs zu verwalten.
  • Die VPN-Tunnel können reaktiv geändert werden, um auf Grundlage des Anwendungslebenszyklus für eine Erweiterung oder Einschränkung des Datenübertragungskanals sowie eine Echtzeit-Änderung von zulässigen Protokollen auf Grundlage von anwendungsgesteuerten Befehlen zu sorgen. In bevorzugten Ausführungsformen der vorliegenden Erfindung überwachen die VPN-Agents kontinuierlich VPN-Anforderungen, die vom Administrator oder den Anwendungen oder einer Gruppe von Anwendungen bereitgestellt werden, sowie den tatsächlichen Durchsatz, der von der Anwendung verlangt wird, auf eine dynamische VPN-Neukonfiguration. Wie beschrieben, kann die Vorgehensweise hierin manuell oder automatisiert, im Ganzen oder teilweise umgesetzt werden.
  • Obwohl eine bevorzugte Betriebsumgebung und ein bevorzugter Anwendungsfall beschrieben wurden, können die Techniken hierin in jeder anderen Betriebsumgebung verwendet werden, in der ein Einsatz von Diensten gewünscht wird.
  • Wie beschrieben wurde, kann die oben beschriebene Funktionalität auch als eigenständiger Ansatz umgesetzt werden, z.B. als eine oder mehrere Funktionen auf Software-Grundlage, die von einem oder mehreren Hardware-Prozessoren ausgeführt werden, oder sie kann als verwalteter Dienst verfügbar sein (einschließlich als Web-Dienst über eine SOAP/XML-Schnittstelle). Die hierin beschriebenen jeweiligen Details der Hardware- und Software-Umsetzung dienen rein veranschaulichenden Zwecken und sollen den Schutzumfang des beschriebenen Erfindungsgegenstands keinesfalls einschränken.
  • Allgemeiner ausgedrückt sind Datenverarbeitungseinheiten im Kontext des offenbarten Erfindungsgegenstands jeweils ein Datenverarbeitungssystem (wie in 2 gezeigt), das Hardware und Software aufweist, und diese Entitäten tauschen über ein Netzwerk wie das Internet, ein Intranet, ein Extranet, ein privates Netzwerk oder jedes andere Datenübertragungsmedium oder jede andere Datenübertragungsverbindung Daten miteinander aus. Die Anwendungen auf dem Datenverarbeitungssystem stellen eine native Unterstützung für Web- und andere bekannte Dienste und Protokolle bereit, einschließlich und ohne Einschränkung Unterstützung für unter anderem HTTP, FTP, SMTP, SOAP, XML, WSDL, UDDI und WSFL. Informationen zu SOAP, WSDL, UDDI und WSFL sind über das World Wide Web Consortium (W3C) verfügbar, das für die Entwicklung und Pflege dieser Standards zuständig ist; weitere Informationen zu HTTP, FTP, SMTP und XM sind über die Internet Engineering Task Force (IETF) verfügbar.
  • Zusätzlich zur Umgebung auf Cloud-Grundlage können die hierin beschriebenen Techniken in oder in Verbindung mit verschiedenen serverseitigen Architekturen umgesetzt werden, einschließlich einfachen n-schichtigen Architekturen, Webportalen, zusammengeschlossenen Systemen und dergleichen.
  • Noch allgemeiner ausgedrückt kann der hierin beschriebene Erfindungsgegenstand die Form einer vollständigen Hardware-Ausführungsform, einer vollständigen Software-Ausführungsform der vorliegenden Erfindung oder einer Ausführungsform der vorliegenden Erfindung annehmen, die Hardware- und Software-Elemente enthält. In einer bevorzugten Ausführungsform der vorliegenden Erfindung ist die Funktion Trusted Platform Module in einer Software umgesetzt, die Firmware, residente Software, Mikrocode und dergleichen enthält, aber nicht darauf beschränkt ist. Ferner können die Schnittstellen und die Funktionalität zum Herunterladen und Löschen die Form eines Computerprogrammprodukts annehmen, auf das von einem computerverwendbaren oder computerlesbaren Medium aus zugegriffen werden kann, das Programmcode zur Verwendung durch oder in Verbindung mit einem Computer oder irgendeinem Anweisungsausführungssystem bereitstellt. Zum Zweck dieser Beschreibung kann ein computerverwendbares oder computerlesbares Medium jede Vorrichtung sein, die das Programm zur Verwendung durch oder in Verbindung mit einem System, einer Vorrichtung oder einer Einheit zur Anweisungsausführung enthalten oder speichern kann. Das Medium kann ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem (oder eine Vorrichtung oder Einheit) sein. Zu Beispielen für ein computerlesbares Medium zählen ein Halbleiter- oder Solid-State-Speicher, ein Magnetband, eine austauschbare Computerdiskette, ein Arbeitsspeicher (RAM), ein Nur-Lese-Speicher (ROM), eine Magnetplatte und eine optische Platte. Zu aktuellen Beispielen für optische Platten zählen ein CD-ROM, eine CD-R/W und eine DVD. Das computerlesbare Medium ist ein konkretes nicht-transitorisches Element.
  • Das Computerprogrammprodukt kann ein Produkt mit Programmanweisungen (oder Programmcode) sein, um eine oder mehrere der beschriebenen Funktionen umzusetzen. Diese Anweisungen oder der Code können in einem computerlesbaren Speichermedium in einem Datenverarbeitungssystem gespeichert werden, nachdem sie über ein Netzwerk von einem entfernt angeordneten Datenverarbeitungssystem heruntergeladen wurden. Diese Anweisungen oder der Code können auch in einem computerlesbaren Speichermedium in einem Server-Datenverarbeitungssystem gespeichert und angepasst sein, um über ein Netzwerk in ein entfernt angeordnetes Datenverarbeitungssystem zur Verwendung in einem computerlesbaren Speichermedium in dem entfernt angeordneten System heruntergeladen zu werden.
  • In einer repräsentativen Ausführungsform der vorliegenden Erfindung werden die Techniken in einer Sonder-Datenverarbeitungsplattform umgesetzt, bevorzugt in Software, die von einem oder mehreren Prozessoren ausgeführt wird. Die Software wird in einem oder mehreren Datenspeichern oder Arbeitsspeichern verwaltet, die dem einen oder den mehreren Prozessoren zugehörig sind, und die Software kann als ein oder mehrere Computerprogramme umgesetzt werden. Insgesamt weist diese Sonder-Hardware und -Software die oben beschriebene Funktionalität auf.
  • In der bevorzugten Ausführungsform der vorliegenden Erfindung wird die hierin bereitgestellte Funktionalität als ein Zusatz zu oder eine Erweiterung von einer bestehenden Verwaltungslösung eines Cloud-Computing-Einsatzes umgesetzt.
  • Zwar wird im Vorgenannten eine bestimmte Reihenfolge von Operationen beschrieben, die von bestimmten Ausführungsformen der vorliegenden Erfindung ausgeführt werden, doch sollte klar sein, dass eine derartige Reihenfolge nur beispielhaft ist, da alternative Ausführungsformen der vorliegenden Erfindung die Operationen in einer anderen Reihenfolge ausführen, bestimmte Operationen kombinieren, bestimmte Operationen überlappen können usw. Verweise in der Patentschrift auf eine bestimmte Ausführungsform der vorliegenden Erfindung geben an, dass die beschriebene Ausführungsform ein bestimmtes Merkmal, eine bestimmte Struktur oder Eigenschaft enthalten kann, dass aber nicht jede Ausführungsform der vorliegenden Erfindung notwendigerweise das bestimmte Merkmal, die bestimmte Struktur oder Eigenschaft enthalten muss.
  • Während bestimmte Komponenten des Systems separat beschrieben wurden, wird der Fachmann schließlich verstehen, dass einige der Funktionen in bestimmten Anweisungen, Programmabfolgen, Codeabschnitten und dergleichen kombiniert oder gemeinsam genutzt werden können.

Claims (20)

  1. Verfahren, aufweisend: in einem ersten VPN-Manager Verwalten einer Mehrzahl von VPN-Tunneln zwischen einer ersten Cloud und einer zweiten Cloud in einer hybriden Cloud-Umgebung; Empfangen einer Anforderung von einer ersten Cloud-Anwendung, die sich in der ersten Cloud befindet, wobei die Anforderung eine erste Gruppe von Anforderungen für einen ersten VPN-Tunnel in der Mehrzahl von VPN-Tunneln enthält; Senden der Anforderung an ein System in einer ersten Cloud, wobei das erste System den ersten VPN-Tunnel gemäß der ersten Gruppe von Anforderungen erstellt; Empfangen eines dem ersten VPN-Tunnel zugehörigen Ereignisses; und in Reaktion auf das Ereignis Senden einer Modifizierungsanforderung an das erste System, das eine zweite Gruppe von Anforderungen enthält, wobei das erste System den ersten VPN-Tunnel gemäß einer zweiten Gruppe von Anforderungen abstimmt.
  2. Verfahren nach Anspruch 1, das ferner aufweist: Senden eines ersten VPN-Agents an das erste System; Installieren des ersten VPN-Agents in dem ersten System; und wobei der VPN-Manager Anforderungen und Informationen in Bezug auf die Verwaltung des ersten VPN-Tunnels an den ersten VPN-Agent sendet.
  3. Verfahren nach Anspruch 1, wobei die erste Gruppe von Anforderungen eine Gruppe von Sicherheitsanforderungen enthält.
  4. Verfahren nach Anspruch 1, wobei das Ereignis aus der Gruppe ausgewählt wird, die aus Empfangen einer Modifizierungsanforderung von der ersten Cloud-Anwendung besteht, die eine zweite Gruppe von Anforderungen für den ersten VPN-Tunnel enthält, Empfangen einer Anforderung von einer zweiten Cloud-Anwendung, die eine zweite Gruppe von Anforderungen für den ersten VPN-Tunnel enthält, Erkennen einer Änderung in der Datenverkehrsbandbreite in dem ersten VPN-Tunnel, einer Administratoranforderung zum Modifizieren des ersten VPN-Tunnels, einer Änderung des Anwendungs-Lebenszyklus für die erste Cloud-Anwendung, einer Netzwerk-Topologieänderung für die erste Cloud und einer Änderung in den Sicherheitsanforderungen für die erste Cloud-Anwendung, die sich geändert haben.
  5. Verfahren nach Anspruch 1, das ferner aufweist: Empfangen einer Anforderung von einer zweiten Cloud-Anwendung, die sich in der ersten Cloud befindet, wobei die Anforderung eine zweite Gruppe von Anforderungen für einen ersten VPN-Tunnel enthält; Senden der Anforderung an das erste System in einer ersten Cloud, wobei das erste System den ersten VPN-Tunnel gemäß der zweiten Gruppe von Anforderungen modifiziert, um den Datenverkehr von den ersten und zweiten Cloud-Anwendungen aufzunehmen; und wobei die erste Cloud eine private Cloud ist und die zweite Cloud eine öffentliche Cloud in der hybriden Cloud-Umgebung ist, und wobei ein Abstimmen des ersten VPN-Tunnels in Reaktion auf das Ereignis ein Aufteilen des ersten VPN-Tunnels in den ersten VPN-Tunnel zum Aufnehmen von Datenverkehr von der ersten Cloud-Anwendung und in einen zweiten VPN-Tunnel zum Aufnehmen von Datenverkehr von der zweiten Cloud-Anwendung aufweist.
  6. Verfahren nach Anspruch 1, das ferner aufweist: Zusammenführen eines zweiten VPN-Tunnels, der gemäß der zweiten Gruppe von Anforderungen erstellt wurde, mit dem ersten VPN-Tunnel, wobei der erste VPN-Tunnel gemäß der ersten und zweiten Gruppe von Anforderungen modifiziert wird.
  7. Verfahren nach Anspruch 1, das ferner aufweist: Herstellen einer Vertrauensbeziehung zwischen dem ersten VPN-Manager, der eine erste hybride Cloud-Umgebung einer ersten Organisation verwaltet, und einem zweiten VPN-Manager, der eine zweite hybride Cloud-Umgebung einer zweiten Organisation verwaltet; und Erstellen eines zweiten VPN-Tunnels zwischen einer ersten Maschine in der ersten hybriden Cloud und einer zweiten Maschine in der zweiten hybriden Cloud.
  8. Verfahren nach Anspruch 1, das ferner aufweist: Empfangen einer Anforderung von einer zweiten Cloud-Anwendung, die eine zweite Gruppe von Anforderungen für einen VPN-Tunnel enthält; Bestimmen, ob Datenverkehr von den ersten und zweiten Cloud-Anwendungen auf Grundlage der ersten und zweiten Gruppe von Anforderungen kompatibel ist; und Abstimmen des ersten VPN-Tunnels auf Grundlage der Bestimmung, ob der Datenverkehr von den ersten und zweiten Cloud-Anwendungen kompatibel ist.
  9. Vorrichtung, die aufweist: einen Prozessor; Computer-Arbeitsspeicher, der Computerprogrammanweisungen speichert, die von dem Prozessor ausgeführt werden, um eine Mehrzahl von VPN-Tunneln zwischen einer ersten Cloud und einer zweiten Cloud in einer hybriden Cloud-Umgebung zu verwalten, wobei die Computerprogrammanweisungen aufweisen: Programmcode, der funktionsfähig ist, um eine erste Anforderung von einer ersten Cloud-Anwendung zu empfangen, die sich in der ersten Cloud befindet, wobei die Anforderung eine erste Gruppe von Anforderungen für einen ersten VPN-Tunnel in der Mehrzahl von VPN-Tunneln enthält; Programmcode, der funktionsfähig ist, um die erste Anforderung an ein erstes System in einer ersten Cloud zu senden, wobei das erste System den ersten VPN-Tunnel gemäß der ersten Gruppe von Anforderungen erstellt; Programmcode, der funktionsfähig ist, um eine zweite Anforderung von einer zweiten Cloud-Anwendung zu empfangen, die sich in der ersten Cloud befindet, wobei die Anforderung eine zweite Gruppe von Anforderungen für einen zweiten VPN-Tunnel in der Mehrzahl von VPN-Tunneln enthält; Programmcode, der funktionsfähig ist, um die zweite Anforderung an das erste System in der ersten Cloud zu senden, wobei das erste System den zweiten VPN-Tunnel gemäß der zweiten Gruppe von Anforderungen erstellt; Programmcode, der funktionsfähig ist, um ein dem ersten VPN-Tunnel zugehöriges Ereignis zu empfangen; und Programmcode, der in Reaktion auf das Ereignis funktionsfähig ist, eine Zusammenführungsanforderung an das erste System zu senden, um den zweiten VPN-Tunnel mit dem ersten VPN-Tunnel zusammenzuführen, wobei das erste System den ersten VPN-Tunnel gemäß einer zweiten Gruppe von Anforderungen abstimmt.
  10. Vorrichtung nach Anspruch 9, die ferner aufweist: Programmcode, der funktionsfähig ist, um einen ersten VPN-Agent an das erste System zu senden; Programmcode, der funktionsfähig ist, um den ersten VPN-Agent auf dem ersten System zu installieren; und Programmcode, der funktionsfähig ist, um Anforderungen und Informationen in Bezug auf die Verwaltung des ersten VPN-Tunnels an den ersten VPN-Agent zu übermitteln.
  11. Vorrichtung nach Anspruch 9, wobei die erste Gruppe von Anforderungen eine erste Gruppe von Sicherheitsanforderungen enthält, und die zweite Gruppe von Anforderungen eine zweite Gruppe von Sicherheitsanforderungen enthält, und die Vorrichtung ferner einen Programmcode aufweist, der funktionsfähig ist, um zu bestimmen, ob die erste und die zweite Gruppe von Sicherheitsanforderungen kompatibel sind, bevor der erste VPN-Tunnel und der zweite VPN-Tunnel zusammengeführt werden.
  12. Vorrichtung nach Anspruch 9, wobei das Ereignis eine Änderung in der Datenverkehrsbandbreite in dem ersten VPN-Tunnel erkennt.
  13. Vorrichtung nach Anspruch 9, die ferner aufweist: Programmcode, der funktionsfähig ist, um eine Darstellung der Mehrzahl von VPN-Tunnels in einer Benutzerschnittstelle anzuzeigen; Programmcode, der funktionsfähig ist, um einen Alert anzuzeigen, der eine mögliche Zusammenführung des ersten VPN-Tunnels und des zweiten VPN-Tunnels angibt; und Programmcode, der in Reaktion auf eine Benutzereingabe funktionsfähig ist, um eine Anweisung an das erste System zu senden, den ersten VPN-Tunnel und den zweiten VPN-Tunnel zusammenzuführen.
  14. Vorrichtung nach Anspruch 9, wobei das Ereignis eine Änderung des Anwendungslebenszyklus der ersten Cloud-Anwendung erkennt.
  15. Vorrichtung nach Anspruch 11, ferner aufweisend einen Programmcode, der funktionsfähig ist, um eine erste Sicherheitsrichtlinie zu speichern, wobei der Programmcode, der funktionsfähig ist, um zu bestimmen, ob die erste und die zweite Gruppe von Sicherheitsanforderungen kompatibel sind, bevor der erste VPN-Tunnel und der zweite VPN-Tunnel zusammengeführt werden, sich auf die erste Sicherheitsrichtlinie bezieht, um eine Bestimmung vorzunehmen.
  16. Vorrichtung nach Anspruch 9, die ferner aufweist: Programmcode, der funktionsfähig ist, um ein dem ersten VPN-Tunnel zugehöriges zweites Ereignis zu empfangen; und Programmcode, der in Reaktion auf das zweite Ereignis funktionsfähig ist, um eine Aufteilungsanforderung an das erste System zu senden, um den ersten VPN-Tunnel in einen dritten VPN-Tunnel und den ersten VPN-Tunnel aufzuteilen.
  17. Computerprogrammprodukt in einem nicht-flüchtigen computerlesbaren Medium zur Verwendung in einem Datenverarbeitungssystem, wobei das Computerprogrammprodukt Computerprogrammanweisungen enthält, die von dem Prozessor ausgeführt werden, um eine Mehrzahl von VPN-Tunneln zwischen einer ersten Cloud und einer zweiten Cloud in einer hybriden Cloud-Umgebung zu verwalten, wobei die Computerprogrammanweisungen aufweisen: Programmcode, der funktionsfähig ist, um eine erste Anforderung von einer ersten Cloud-Anwendung zu empfangen, die sich in der ersten Cloud befindet, wobei die Anforderung eine erste Gruppe von Anforderungen für einen ersten VPN-Tunnel in der Mehrzahl von VPN-Tunneln enthält; Programmcode, der funktionsfähig ist, um die erste Anforderung an ein erstes System in einer ersten Cloud zu senden, wobei das erste System den ersten VPN-Tunnel gemäß der ersten Gruppe von Anforderungen erstellt; Programmcode, der funktionsfähig ist, um eine zweite Anforderung von einer zweiten Cloud-Anwendung zu empfangen, die sich in der ersten Cloud befindet, wobei die Anforderung eine zweite Gruppe von Anforderungen für einen VPN-Tunnel in der Mehrzahl von VPN-Tunneln enthält; Programmcode, der funktionsfähig ist, um die zweite Anforderung an das erste System in der ersten Cloud zu senden, wobei das erste System den ersten VPN-Tunnel gemäß der zweiten Gruppe von Anforderungen modifiziert, wobei der erste VPN-Tunnel Datenverkehr von der ersten und zweiten Cloud-Anwendung überträgt; Programmcode, der funktionsfähig ist, um ein dem ersten VPN-Tunnel zugehöriges Ereignis zu empfangen; und Programmcode, der in Reaktion auf das Ereignis funktionsfähig ist, um eine Aufteilungsanforderung an das erste System zu senden, um den ersten VPN-Tunnel in den ersten VPN-Tunnel und einen zweiten VPN-Tunnel aufzuteilen, wobei das erste System den ersten VPN-Tunnel gemäß der ersten Gruppe von Anforderungen für Datenverkehr von der ersten Anwendung abstimmt und den zweiten VPN-Tunnel gemäß einer zweiten Gruppe von Anforderungen für Datenverkehr von der zweiten Anwendung abstimmt.
  18. Computerprogrammprodukt nach Anspruch 17, ferner aufweisend: Programmcode, der funktionsfähig ist, um einen ersten VPN-Agent an das erste System zu senden; Programmcode, der funktionsfähig ist, um den ersten VPN-Agent auf dem ersten System zu installieren; und Programmcode, der funktionsfähig ist, um Anforderungen und Informationen in Bezug auf die Verwaltung des ersten VPN-Tunnels an den ersten VPN-Agent zu übermitteln.
  19. Computerprogrammprodukt nach Anspruch 17, wobei das Ereignis eine Änderung der Sicherheitsanforderungen für die erste Cloud-Anwendung ist.
  20. Computerprogrammprodukt nach Anspruch 17, das ferner einen Programmcode aufweist, der funktionsfähig ist, um zu bestimmen, dass Datenverkehr von der ersten Cloud-Anwendung nicht mit Datenverkehr von der zweiten Cloud-Anwendung kompatibel ist.
DE112016003726.0T 2015-12-15 2016-09-29 Dynamisch definierte virtuelle private Netzwerktunnel in hybriden Cloud-Umgebungen Active DE112016003726B4 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/970,493 2015-12-15
US14/970,493 US9571457B1 (en) 2015-12-15 2015-12-15 Dynamically defined virtual private network tunnels in hybrid cloud environments
PCT/IB2016/055834 WO2017103699A1 (en) 2015-12-15 2016-09-29 Dynamically defined virtual private network tunnels in hybrid cloud environments

Publications (2)

Publication Number Publication Date
DE112016003726T5 true DE112016003726T5 (de) 2018-05-09
DE112016003726B4 DE112016003726B4 (de) 2021-06-10

Family

ID=57965043

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112016003726.0T Active DE112016003726B4 (de) 2015-12-15 2016-09-29 Dynamisch definierte virtuelle private Netzwerktunnel in hybriden Cloud-Umgebungen

Country Status (6)

Country Link
US (1) US9571457B1 (de)
JP (1) JP6712318B2 (de)
CN (1) CN108370340B (de)
DE (1) DE112016003726B4 (de)
GB (1) GB2557767B (de)
WO (1) WO2017103699A1 (de)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8423631B1 (en) * 2009-02-13 2013-04-16 Aerohive Networks, Inc. Intelligent sorting for N-way secure split tunnel
US10523660B1 (en) 2016-05-13 2019-12-31 MobileIron, Inc. Asserting a mobile identity to users and devices in an enterprise authentication system
CN109196500B (zh) * 2016-05-13 2022-11-01 移动熨斗公司 对基于云的服务的基于统一vpn和身份的认证
US10637890B2 (en) 2016-06-09 2020-04-28 LGS Innovations LLC Methods and systems for establishment of VPN security policy by SDN application
US10484428B2 (en) 2016-06-09 2019-11-19 LGS Innovations LLC Methods and systems for securing VPN cloud servers
US10601777B2 (en) * 2017-02-17 2020-03-24 Corrata Limited Data inspection system and method
US10623374B2 (en) 2017-06-09 2020-04-14 Microsoft Technology Licensing, Llc Automatic network identification for enhanced communications administration
US10887130B2 (en) 2017-06-15 2021-01-05 At&T Intellectual Property I, L.P. Dynamic intelligent analytics VPN instantiation and/or aggregation employing secured access to the cloud network device
US10170304B1 (en) 2017-10-25 2019-01-01 Globalfoundries Inc. Self-aligned nanotube structures
US10742690B2 (en) 2017-11-21 2020-08-11 Juniper Networks, Inc. Scalable policy management for virtual networks
US10728288B2 (en) * 2017-11-21 2020-07-28 Juniper Networks, Inc. Policy-driven workload launching based on software defined networking encryption policies
JP6777663B2 (ja) * 2018-02-22 2020-10-28 日本電信電話株式会社 ポリシー競合検出システム及びポリシー競合検出方法
US10778724B1 (en) 2018-06-29 2020-09-15 Juniper Networks, Inc. Scalable port range management for security policies
US11303524B2 (en) 2019-02-04 2022-04-12 Hewlett Packard Enterprise Development Lp Network bandwidth configuration
EP3949315A1 (de) * 2019-03-27 2022-02-09 British Telecommunications public limited company Reaktive sichere kommunikation
US11700236B2 (en) 2020-02-27 2023-07-11 Juniper Networks, Inc. Packet steering to a host-based firewall in virtualized environments
KR102204237B1 (ko) * 2020-04-30 2021-01-18 주식회사 지에스아이티엠 클라우드를 이용한 통합 수율 관리 시스템
US12021740B2 (en) 2021-05-28 2024-06-25 Juniper Networks, Inc. Policy enforcement for bare metal servers by top of rack switches
JP7530865B2 (ja) 2021-06-04 2024-08-08 Vaio株式会社 端末のセットアップ方法、プログラム、端末の管理方法及び端末の管理システム
US20210314359A1 (en) * 2021-06-16 2021-10-07 Intel Corporation Efficient encryption in vpn sessions
US11663013B2 (en) 2021-08-24 2023-05-30 International Business Machines Corporation Dependency skipping execution
KR102694199B1 (ko) * 2023-04-21 2024-08-13 주식회사 엔드포인트랩 공동주택 세대간 망분리를 위한 l2 기반 가상 사설 네트워크 관리 장치

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050088977A1 (en) * 2000-12-14 2005-04-28 Nortel Networks Limited Dynamic virtual private network (VPN) tunnel quality of service (QoS) treatment
US7209479B2 (en) * 2001-01-18 2007-04-24 Science Application International Corp. Third party VPN certification
JP3901487B2 (ja) * 2001-10-18 2007-04-04 富士通株式会社 Vpnサービス管理システム、vpnサービスマネージャ及びvpnサービスエージェント
US7574738B2 (en) 2002-11-06 2009-08-11 At&T Intellectual Property Ii, L.P. Virtual private network crossovers based on certificates
US7542476B2 (en) * 2003-08-29 2009-06-02 Flash Networks Ltd Method and system for manipulating IP packets in virtual private networks
US7561586B2 (en) * 2003-09-19 2009-07-14 Nortel Networks Limited Method and apparatus for providing network VPN services on demand
JP4457403B2 (ja) * 2004-03-17 2010-04-28 日本電気株式会社 専用線構築システム及び専用線相互接続制御プログラム
US20060268901A1 (en) * 2005-01-07 2006-11-30 Choyi Vinod K Method and apparatus for providing low-latency secure session continuity between mobile nodes
EP1699181A1 (de) * 2005-03-01 2006-09-06 Swisscom AG Verfahren und System zur automatisierten Konfiguration eines Subnetzwerks innerhalb eines Netzwerkes
JP4279792B2 (ja) * 2005-03-17 2009-06-17 ソフトバンクテレコム株式会社 通信制御システム及び方法
US8189481B2 (en) * 2005-04-08 2012-05-29 Avaya, Inc QoS-based routing for CE-based VPN
US20090328192A1 (en) * 2006-08-02 2009-12-31 Alan Yang Policy based VPN configuration for firewall/VPN security gateway appliance
CN1921438A (zh) * 2006-09-15 2007-02-28 深圳市深信服电子科技有限公司 一种应用代理实现网间应用加速的方法
US8503453B2 (en) * 2006-11-20 2013-08-06 Cisco Technology, Inc. Adaptive quality of service in an easy virtual private network environment
DE102008012386A1 (de) * 2008-03-04 2009-09-10 Gateprotect Aktiengesellschaft Germany Konfigurationsvorrichtung und -verfahren
WO2009155574A1 (en) * 2008-06-19 2009-12-23 Servicemesh, Inc. Cloud computing gateway, cloud computing hypervisor, and methods for implementing same
US8683574B2 (en) * 2008-12-15 2014-03-25 Novell, Inc. Identity driven peer-to-peer (P2P) virtual private network (VPN)
US8806015B2 (en) * 2011-05-04 2014-08-12 International Business Machines Corporation Workload-aware placement in private heterogeneous clouds
US9154327B1 (en) * 2011-05-27 2015-10-06 Cisco Technology, Inc. User-configured on-demand virtual layer-2 network for infrastructure-as-a-service (IaaS) on a hybrid cloud network
US20140032733A1 (en) * 2011-10-11 2014-01-30 Citrix Systems, Inc. Policy-Based Application Management
US9609020B2 (en) * 2012-01-06 2017-03-28 Optio Labs, Inc. Systems and methods to enforce security policies on the loading, linking, and execution of native code by mobile applications running inside of virtual machines
US9203784B2 (en) * 2012-04-24 2015-12-01 Cisco Technology, Inc. Distributed virtual switch architecture for a hybrid cloud
US9065802B2 (en) * 2012-05-01 2015-06-23 Fortinet, Inc. Policy-based configuration of internet protocol security for a virtual private network
US8990901B2 (en) * 2012-05-05 2015-03-24 Citrix Systems, Inc. Systems and methods for network filtering in VPN
US8862883B2 (en) * 2012-05-16 2014-10-14 Cisco Technology, Inc. System and method for secure cloud service delivery with prioritized services in a network environment
EP2667541B1 (de) * 2012-05-23 2015-08-05 Alcatel Lucent Konnektivitätsdienst-Orchestrator
US8892766B1 (en) 2012-06-28 2014-11-18 Trend Micro Incorporated Application-based network traffic redirection for cloud security service
CN102891790B (zh) * 2012-09-21 2016-03-02 中国电信股份有限公司 一种访问虚拟私有云的vpn虚拟化方法和系统
US20140109176A1 (en) * 2012-10-15 2014-04-17 Citrix Systems, Inc. Configuring and providing profiles that manage execution of mobile applications
US20140109171A1 (en) * 2012-10-15 2014-04-17 Citrix Systems, Inc. Providing Virtualized Private Network tunnels
CN102938734A (zh) * 2012-11-26 2013-02-20 杭州华三通信技术有限公司 Mpls网络中隧道的选择方法及pe设备
US9142102B2 (en) * 2013-07-02 2015-09-22 Icf International Method and apparatus for visualizing network security alerts
JP5437518B2 (ja) * 2013-07-08 2014-03-12 エヌ・ティ・ティ・コミュニケーションズ株式会社 仮想ネットワークシステム、構成変更方法、トンネル終端装置、トンネル接続装置、及びプログラム
US9389893B2 (en) * 2013-08-13 2016-07-12 Vmware, Inc. Method and system for migration of virtual machines and virtual applications between cloud-computing facilities through multiplexed secure tunnels
US9667486B2 (en) 2013-08-30 2017-05-30 Vmware, Inc. System and method for network address administration and management in federated cloud computing networks
US9461969B2 (en) * 2013-10-01 2016-10-04 Racemi, Inc. Migration of complex applications within a hybrid cloud environment
US9665079B2 (en) * 2014-03-26 2017-05-30 Honeywell International Inc. Controller having a version control system
US9350710B2 (en) * 2014-06-20 2016-05-24 Zscaler, Inc. Intelligent, cloud-based global virtual private network systems and methods
US9553887B2 (en) * 2014-10-13 2017-01-24 Vmware, Inc. Virtual machine compliance checking in cloud environments
US9723065B2 (en) * 2014-10-13 2017-08-01 Vmware, Inc. Cross-cloud object mapping for hybrid clouds

Also Published As

Publication number Publication date
JP2019503101A (ja) 2019-01-31
GB201803075D0 (en) 2018-04-11
WO2017103699A1 (en) 2017-06-22
CN108370340A (zh) 2018-08-03
JP6712318B2 (ja) 2020-06-17
GB2557767A (en) 2018-06-27
GB2557767B (en) 2021-11-10
CN108370340B (zh) 2020-11-03
US9571457B1 (en) 2017-02-14
DE112016003726B4 (de) 2021-06-10

Similar Documents

Publication Publication Date Title
DE112016003726B4 (de) Dynamisch definierte virtuelle private Netzwerktunnel in hybriden Cloud-Umgebungen
DE102016222048B4 (de) Dynamisch definierte virtuelle private netzwerktunnel in hybriden cloud-umgebungen
DE112015004562B4 (de) Kontextbasiertes Cloud-System für die Zusicherung von Sicherheit
DE112016006080B4 (de) Verwaltung von virtuellen desktopinstanzenpools
DE112013000395B4 (de) Vorrichtung, verfahren und computerlesbarer speicher zur richtliniendurchsetzung in rechenumgebung
DE112018003482B4 (de) Serveranfrageverwaltung
DE112012000444B4 (de) Verfahren, System und Computerprogrammprodukt zum Ermitteln einer optimalen Datenverarbeitungsumgebung zum Ausführen eines Abbildes sowie Verfahren zum Implementieren eines entsprechenden Systems
DE112019001481T5 (de) Selektives bereitstellen gegenseitiger transportschichtsicherheit mittels alternativer servernamen
DE112020002189B4 (de) Container-basierte anwendungen
DE112013002544T5 (de) Cloudbasiertes Teilen von Datenpunkten und Zusammenarbeit unter Benutzergruppen
DE112012003056T5 (de) Virtueller Computer und virtueller Dienst
DE112016000915T5 (de) Sicherheit innerhalb softwaredefinierter Infrastruktur
DE112016001657T5 (de) Multi-Tenant-Sensitiver DHCP-Mechanismus für Cloud-Netzwerke
DE112011100094T5 (de) Verfahren und System zum Abstrahieren eines auf nichtfunktionalen Anforderungen beruhenden Einsatzes von virtuellen Maschinen
DE112012000249T5 (de) Bewusstheit der Mehrmandantenprüfung bei der Unterstützung von Cloud-Umgebung
DE112010004160T5 (de) Portieren virtueller Abbilder zwischen Plattformen
DE112013004805T5 (de) Unterstützen eines koordinierten Zugriffs auf einen gemeinsam genutzten Speicher eines Dateisystems unter Verwendung einer automatischen Ausrichtung eines Protokolls für einen parallelen Dateizugriff und einer Metadatenverwaltung
DE112021003348B4 (de) Verwalten von datenübertragung zwischen mikrodiensten
DE102021206841A1 (de) Verfahren zur verschlüsselung der daten im ruhezustand für daten, die sich auf kubernetes-persistenten volumen befinden
DE112022002615T5 (de) Kontinuierliche funktionsfähigkeit und integrität von anwendungen während eines migrationsvorgangs
DE102014116744A1 (de) Management von Informationstechnologieressourcen
DE112022001944T5 (de) Verteilte dekomposition von string-automatisierter schlussfolgerung unter verwendung von prädikaten
DE112018004415B4 (de) Optimierung von cloud-ressourcen bei operationen in mehrstufigem speicher auf richtliniengrundlage
DE112020005362T5 (de) Sicheres verarbeiten von integrierten nachrichtenflüssen in einem multi-tenant-container
DE112021004115B4 (de) Sicherheitssystem für eine Segmentierung von Computerdatei-Metadaten

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0012460000

Ipc: H04L0029060000

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029060000

Ipc: H04L0065000000

R020 Patent grant now final