DE102016222048B4 - 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
DE102016222048B4
DE102016222048B4 DE102016222048.9A DE102016222048A DE102016222048B4 DE 102016222048 B4 DE102016222048 B4 DE 102016222048B4 DE 102016222048 A DE102016222048 A DE 102016222048A DE 102016222048 B4 DE102016222048 B4 DE 102016222048B4
Authority
DE
Germany
Prior art keywords
vpn
vpn tunnel
tunnel
cloud
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.)
Active
Application number
DE102016222048.9A
Other languages
English (en)
Other versions
DE102016222048A1 (de
Inventor
Robert Jeffrey Hoy
Sreekanth Ramakrishna Iyer
Kaushal Kiran Kapadia
Ravi Krishnan Muthukrishnan
Nataraj Nagaratnam
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 DE102016222048A1 publication Critical patent/DE102016222048A1/de
Application granted granted Critical
Publication of DE102016222048B4 publication Critical patent/DE102016222048B4/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/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • 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/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • 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/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/164Implementing security features at a particular protocol layer at the network layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

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

Verfahren, aufweisend:in einem ersten VPN-Agenten Verwalten eines ersten VPN-Tunnels in einer Mehrzahl von VPN-Tunneln zwischen einer ersten Cloud und einer zweiten Cloud in einer hybriden Cloud-Umgebung;Empfangen einer Anforderung von einem VPN-Manager, wobei die Anforderung eine erste Gruppe von Anforderungen für den ersten VPN-Tunnel in der Mehrzahl von VPN-Tunneln enthält;Erstellen des ersten VPN-Tunnels gemäß der ersten Gruppe von Anforderungen;Empfangen einer Modifizierungsanforderung von dem VPN-Manager, die eine zweite Gruppe von Anforderungen enthält;Abstimmen des ersten VPN-Tunnels gemäß einer zweiten Gruppe von Anforderungen;Zusammenführen eines zweiten VPN-Tunnels, der gemäß der zweiten Gruppe von Anforderungen erstellt wurde, mit dem ersten VPN-Tunnel; undModifizieren des ersten VPN-Tunnels gemäß der ersten und der zweiten Gruppe von Anforderungen.

Description

  • HINTERGRUND DER ERFINDUNG
  • Technisches Gebiet
  • Diese Offenbarung betrifft allgemein Datenübertragungen in einer „Cloud“-Datenverarbeitungsumgebung. Insbesondere betrifft sie ein 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 für Computer und andere Einheiten auf Anforderung (On Demand) bereitgestellt werden. Cloud-Computing kann IT-Kosten und Komplexitäten beträchtlich verringern, während gleichzeitig die Arbeitslastoptimierung 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 Web-Browser über HTTP zugegriffen werden kann. Eine Beispielanwendung könnte eine sein, die eine allgemeine Gruppe von Nachrichten übermittelnden Funktionen bereitstellt, wie beispielsweise eMail, Kalender, Kontaktverwaltung und sofortige Nachrichtenübermittlung (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 so genannten Bare Metal Cloud Hosting, oder unter Verwendung einer virtualisierten Architektur, wobei Anwendungen in virtuellen Servern oder so genannten „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, in der die Datenverarbeitungsressourcen im Besitz der Organisation sind, und Dienste nur für diese Organisation bereitstellen, als auch eine öffentliche Cloud enthält, 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 vor Ort zu haben, auf die direkt zugegriffen werden kann, wobei Zugriff auf die öffentliche Cloud-Umgebung in Zeiten erhöhten Bedarfs bereitgestellt wird. Diese Integration ist jedoch mit der Notwendigkeit einer sicheren Datenübertragung zwischen den beiden Umgebungen verbunden. Eine Möglichkeit zum Erstellen von Datenübertragungen besteht über einen dedizierten virtuellen öffentlichen Netzwerk- (VPN) Tunnel.
  • Die folgende Offenbarung beschreibt ausführlich Möglichkeiten zum Verbessern einer VPN-Datenübertragung in einer hybriden Cloud-Umgebung.
  • In US 2013/0311778 A1 beschreibt ein Verfahren zum Empfangen einer Anforderung für einen Cloud-Fähigkeitssatz während einer Internet-Schlüsselaustausch-Verhandlung, die mit einem VPN-Tunnel (Virtual Private Network) zwischen einem Teilnehmer und einer Cloud verbunden ist, wobei der Cloud-Fähigkeitssatz eine oder mehrere Cloud-Fähigkeiten umfasst, das Zuordnen der Anforderung zu einem oder mehreren kryptografischen Modulen, die den Cloud-Fähigkeitssatz unterstützen können, und das Abgeben des VPN-Tunnels an das eine oder die mehreren kryptografischen Module. US 2005/0088977 A1 beschreibt eine dynamische Quality of Service (QoS)-Behandlung des Datenverkehrs innerhalb eines sicheren Virtual Private Network (VPN)-Tunnels durch das Anbringen einer QoS-Markierung an den Datenverkehr an einem Eingangsende des VPN-Tunnels.
  • KURZDARSTELLUNG
  • Gemäß dieser Offenbarung 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 in einem ersten VPN-Agenten einen ersten VPN-Tunnel in einer Mehrzahl von VPN-Tunneln zwischen einer ersten Cloud und einer zweiten Cloud in einer hybriden Cloud-Umgebung. Der VPN-Agent empfängt eine Anforderung von einem VPN-Manager. Die Anforderung enthält eine erste Gruppe von Anforderungen für den ersten VPN-Tunnel in der Mehrzahl von VPN-Tunneln. Der VPN-Agent erstellt den ersten VPN-Tunnel gemäß der ersten Gruppe von Anforderungen. Von dem VPN-Manager wird eine Modifizierungsanforderung empfangen, die eine zweite Gruppe von Anforderungen enthält. Der VPN-Agent stimmt den ersten VPN-Tunnel gemäß der zweiten Gruppe von Anforderungen ab.
  • In einem weiteren Aspekt der Erfindung verwaltet eine Vorrichtung den ersten VPN-Tunnel mit einem Prozessor und einem Computer-Arbeitsspeicher, der Computerprogrammanweisungen enthält, die von dem Prozessor ausgeführt werden. Die Computerprogrammanweisungen enthalten Programmcode, der eine erste Anforderung von einem VPN-Manager empfängt. Die Anforderung enthält eine erste Gruppe von Anforderungen für den ersten VPN-Tunnel in der Mehrzahl von VPN-Tunneln. Der Programmcode erstellt den ersten VPN-Tunnel gemäß der ersten Gruppe von Anforderungen. Eine zweite Anforderung von dem VPN-Manager wird von dem Programmcode empfangen. Die zweite Anforderung enthält eine zweite Gruppe von Anforderungen für einen zweiten VPN-Tunnel in der Mehrzahl von VPN-Tunneln. Der Programmcode erstellt den zweiten VPN-Tunnel gemäß der zweiten Gruppe von Anforderungen. Eine Zusammenführungsanforderung zum Zusammenführen des zweiten VPN-Tunnels in den ersten VPN-Tunnel wird vom Programmcode empfangen. Der Programmcode führt den ersten VPN-Tunnel und den zweiten VPN-Tunnel zusammen. Das Programm stimmt den ersten VPN-Tunnel gemäß einer zweiten Gruppe von Anforderungen ab.
  • In einem weiteren Aspekt der Erfindung verwaltet ein Computerprogrammprodukt in einem nicht-transitorischen computerlesbaren Medium, wenn es von dem Prozessor ausgeführt wird, einen ersten VPN-Tunnel einer Mehrzahl von VPN-Tunneln zwischen einer ersten Cloud und einer zweiten Cloud in einer hybriden Cloud-Umgebung. Die Computerprogrammanweisungen enthalten Programmcode, der eine erste Anforderung von einem VPN-Manager empfängt, wobei die erste Anforderung eine erste Gruppe von Anforderungen für einen ersten VPN-Tunnel in der Mehrzahl von VPN-Tunneln enthält. Der Programmcode erstellt den ersten VPN-Tunnel gemäß der ersten Gruppe von Anforderungen. Der Programmcode empfängt eine zweite Anforderung von dem VPN-Manager. Die zweite Anforderung enthält eine zweite Gruppe von Anforderungen für einen VPN-Tunnel in der Mehrzahl von VPN-Tunneln. Der Programmcode modifiziert den ersten VPN-Tunnel gemäß der zweiten Gruppe von Anforderungen. Die erste Gruppe von Anforderungen dient dem Datenverkehr von einer ersten Cloud-Anwendung, und die zweite Gruppe von Anforderungen dient dem Datenverkehr von einer zweiten Cloud-Anwendung, und der erste VPN-Tunnel überträgt Datenverkehr von ersten und zweiten Cloud-Anwendungen. Der Programmcode empfängt eine Aufteilungsanforderung für den ersten VPN-Tunnel. Der Programmcode teilt den ersten VPN-Tunnel in den ersten VPN-Tunnel und einen zweiten VPN-Tunnel auf. Der VPN-Agent stimmt den ersten VPN-Tunnel gemäß der ersten Gruppe von Anforderungen für Datenverkehr von der ersten Cloud-Anwendung ab und stimmt den zweiten VPN-Tunnel gemäß einer zweiten Gruppe von Anforderungen für Datenverkehr von der zweiten Cloud-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 Erfindungsgegenstands auf eine andere Weise oder durch eine Modifizierung der Erfindung erzielen, wie beschrieben wird.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • 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 umgesetzt werden können;
    • 2 ein beispielhaftes Blockschaubild eines Datenverarbeitungssystems ist, in dem beispielhafte Aspekte der veranschaulichenden Ausführungsformen umgesetzt werden können;
    • 3 eine beispielhafte Cloud-Computing-Architektur veranschaulicht, in der der offenbarte Erfindungsgegenstand umgesetzt werden kann;
    • 4 ein Ablaufplan höchster Ebene einer bevorzugten Ausführungsform der Erfindung ist;
    • 5 eine hybride Cloud-Umgebung veranschaulicht, in der eine Ausführungsform der 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, ein Zusammenführen von VPN-Tunneln und ein 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 Erfindung ist;
    • 9 ein Ablaufplan der Erstellung und Modifizierung von VPN-Tunneln gemäß einer Ausführungsform der Erfindung ist; und
    • 10 das Erstellen eines VPN zwischen Cloud-Umgebungen darstellt, die von zwei verschiedenen VPN-Managern auf Grundlage eines Föderationsmodells 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 zunehmender Anzahl von Anwendungen und Plattformen wächst auch rasch die Anzahl von Datenübertragungspfaden, 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 der Erstellung 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 Ereignisverwaltung über eine hybride Cloud-Umgebung 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 zum Bereitstellen von besser abgestimmten VPNs auf Grundlage von Anwendungsanforderungen und Topologieanforderungen für die hybride Cloud-Umgebung bereit, als Lösungen des Stands der Technik.
  • 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“ 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 Tunnelungsprotokoll 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 Internets 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 Weitverkehrsnetz (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 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 können, die Prozesse für veranschaulichende Ausführungsformen der Offenbarung umsetzen.
  • Unter folgender Bezugnahme auf 2 wird ein Blockschaubild eines Datenverarbeitungssystems gezeigt, in dem veranschaulichende Ausführungsformen 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 zum Umsetzen der Prozesse für die veranschaulichenden Ausführungsformen befinden können. 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 je nach der speziellen Umsetzung eine Gruppe von einem oder mehreren Prozessoren 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 permanenter 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 irgendeine 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.
  • Die E/A-Einheit 212 gestattet die Eingabe und Ausgabe von Daten mit anderen Einheiten, die mit dem Computersystem 200 verbunden sein können. Zum Beispiel kann die Eingabe/Ausgabe-Einheit 212 eine Verbindung für eine Benutzereingabe über eine Tastatur und eine Maus bereitstellen. Ferner kann die Eingabe/AusgabeEinheit 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 Speichermedien verkörpert werden, wie beispielsweise dem Arbeitsspeicher 206 oder dem permanenten Speicher 208.
  • Ein Programmcode 216 befindet sich in einer Funktionsform auf computerlesbaren Speichermedien 218, die selektiv ausgetauscht werden können, und kann zur Ausführung durch die Prozessoreinheit 204 in das Datenverarbeitungssystem 200 geladen und/oder übertragen werden. Der Programmcode 216 und die computerlesbaren Speichermedien 218 bilden in diesen Beispielen ein Computerprogrammprodukt 220. In einem Beispiel können die computerlesbaren Speichermedien 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 Speichermedien 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 der computerlesbaren Speichermedien 218 wird auch als durch den Computer beschreibbare Speichermedien bezeichnet. In einigen Fällen können die vom Computer beschreibbaren Speichermedien 218 nicht ausgetauscht werden.
  • Alternativ kann der Programmcode 216 von den computerlesbaren Medien 218 über eine Datenübertragungsverbindung mit der Datenübertragungseinheit 210 und/oder eine Verbindung mit der Eingabe/Ausgabe-Einheit 212 zu dem Datenverarbeitungssystem 200 ü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 nicht-konkreter 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, in der verschiedene Ausführungsformen umgesetzt werden können. Die verschiedenen veranschaulichenden Ausführungsformen 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 einen oder mehrere Busse aufweisen, wie beispielsweise einen Systembus oder einen Eingabe/Ausgabe-Bus. Selbstverständlich kann das Bussystem unter Verwendung jedes geeigneten Typs von Architektur umgesetzt werden, der eine Übertragung von Daten 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 Cache-Speicher sein, wie beispielsweise derart, die in einem Schnittstellen- und Arbeitsspeicher-Controller-Hub zu finden sind, die in der Datenübertragungsstruktur 202 vorhanden sein können.
  • Computerprogrammcode zum 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 eines lokalen Netzwerks (LAN) oder eines Weitverkehrsnetzes (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 auf ein anderes Multiprozessor-Datenverarbeitungssystem als das vorher erwähnte SMP-System angewendet werden, ohne von dem Erfindungsgedanken und 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 der Client-Maschinen mit einem über das Internet zugänglichen Portal, das auf einer Gruppe von einer oder mehreren Maschinen ausgeführt wird, auf Web-Grundlage Daten austauschen. Endbenutzer betreiben ü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. Vertrautheit mit diesen Standards wird vorausgesetzt.
  • Cloud-Computing ist ein Modell einer Dienstleistung zum Ermöglichen eines bequemen bedarfsabhängigen Netzwerkzugriffs (On-Demand-Netzwerkzugriff) auf einen gemeinsam genutzten Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzbandbreite, Server, Verarbeitung, Arbeitsspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste), die mit minimalem Verwaltungsaufwand oder Interaktion mit einem Anbieter des Diensts rasch bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Merkmale, mindestens drei Dienstmodelle und mindestens vier Nutzungsmodelle 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.
  • Typische Merkmale sind insbesondere wie folgt:
    • On-Demand-Selfservice: Ein Cloud-Nutzer kann einseitig und je nach Bedarf automatisch Datenverarbeitungsressourcen, wie z.B. Serverzeit und Netzwerkspeicher, ohne erforderliche menschliche Interaktion mit dem Anbieter des Diensts bereitstellen.
  • Breiter Netzwerkzugriff: Funktionen stehen über ein Netzwerk zur Verfügung, und auf sie wird über Standardmechanismen zugegriffen, die eine Verwendung über heterogene Thin-Client- oder Thick-Client-Plattformen unterstützen (z.B. Mobiltelefone, Laptops und PDAs).
  • Ressourcen-Pooling: Die Datenverarbeitungsressourcen des Anbieters sind in einem Pool zusammengeschlossen, um unter Verwendung eines Multi-Tenant-Modells mehrere Nutzer mit unterschiedlichen physischen und virtuellen Ressourcen zu bedienen, deren Zuweisung oder Zuweisungsaufhebung je nach Bedarf dynamisch erfolgt. Es herrscht insofern ein Gefühl der Standortunabhängigkeit, als der Nutzer im Allgemeinen keine Kontrolle oder Kenntnis in Bezug auf den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene anzugeben (z.B. Land, Bundesstaat oder Rechenzentrum).
  • Schnelle Elastizität: Funktionen können rasch und flexibel, in einigen Fällen automatisch für eine schnelle Erweiterung bereitgestellt und für eine schnelle Reduzierung rasch freigegeben werden. Für den Nutzer scheinen die zur Bereitstellung verfügbaren Funktionen oft unbegrenzt zu sein und können jederzeit in beliebiger Menge erworben werden.
  • Richtig bemessener Dienst: Cloud-Systeme kontrollieren und optimieren Ressourcen automatisch durch die Nutzung einer Messfunktion auf einer Abstraktionsebene, die dem Diensttyp entspricht (z.B. Speicher, Verarbeitung, Bandbreite und aktive Benutzerkonten). Eine Inanspruchnahme von Ressourcen kann überwacht, kontrolliert und gemeldet werden, was sowohl für den Anbieter als auch den Nutzer des in Anspruch genommenen Dienstes für Transparenz sorgt.
  • Es gibt folgende typische Dienstmodelle:
    • Software as a Service (SaaS): Die für den Nutzer bereitgestellte Funktion besteht darin, die auf einer Cloud-Infrastruktur ausgeführten Anwendungen des Anbieters zu verwenden. Auf die Anwendungen kann über eine Thin-Client-Schnittstelle, wie beispielsweise einen Web-Browser (z.B. eMail auf Web-Grundlage), von verschiedenen Client-Geräten aus zugegriffen werden. Weder verwaltet noch kontrolliert der Nutzer die zu Grunde liegende Cloud-Infrastruktur, einschließlich Netzwerk, Server, Betriebssysteme, Speicher oder auch einzelne Anwendungsfunktionen, ausgenommen möglicherweise begrenzte benutzerspezifische Einstellungen einer Anwendungskonfiguration.
  • Platform as a Service (PaaS): Die für den Nutzer bereitgestellte Funktion besteht darin, auf der Cloud-Infrastruktur vom Nutzer erstellte oder erworbene Anwendungen einzusetzen, die unter Verwendung von Programmiersprachen und Tools erstellt wurden, die von dem Anbieter unterstützt werden. Weder verwaltet noch kontrolliert der Nutzer die zu Grunde liegende Cloud-Infrastruktur, einschließlich Netzwerk, Server, Betriebssysteme oder Speicher, aber er besitzt die Kontrolle über die umgesetzten Anwendungen und möglicherweise die Hosting-Umgebungskonfigurationen von Anwendungen.
  • Infrastructure as a Service (IaaS): Die für den Nutzer bereitgestellte Funktion besteht in der Bereitstellung von Verarbeitung, Speicher, Netzwerken und anderen grundlegenden Datenverarbeitungsressourcen, wobei der Nutzer in der Lage ist, beliebige Software bereitzustellen und auszuführen, zu der auch Betriebssysteme und Anwendungen gehören können. Weder verwaltet noch kontrolliert der Nutzer die zu Grunde liegende Cloud-Infrastruktur, aber er hat die Kontrolle über Betriebssysteme, Speicher, genutzte Anwendungen und möglicherweise eine begrenzte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
  • Es gibt folgende typische Nutzungsmodelle:
    • Private Cloud: Die Cloud-Infrastruktur wird ausschließlich für eine Organisation betrieben. Sie kann von der Organisation oder einer Drittpartei verwaltet werden und kann innerhalb oder außerhalb der Geschäftsräume vorhanden sein.
  • Community Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Community, die gemeinsame Problemstellungen hat (z.B. Berücksichtigung von Zielsetzung, Sicherheitsanforderungen, Richtlinien und Konformität). Sie kann von den Organisationen oder einer Drittpartei verwaltet werden und kann innerhalb oder außerhalb der Geschäftsräume vorhanden sein.
  • Public Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Industriegruppe zur Verfügung gestellt und ist im Besitz einer Organisation, die Cloud-Dienste verkauft.
  • Hybrid Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung von zwei oder mehr Clouds (Private, Community oder Public), die eindeutige Entitäten bleiben, aber durch eine standardisierte oder proprietäre Technologie vereinigt sind, die eine Daten- und Anwendungsportabilität ermöglicht (z.B. Cloud Bursting für einen Lastausgleich zwischen Clouds).
  • Eine Cloud-Datenverarbeitungsumgebung ist dienstorientiert mit einem Schwerpunkt auf Statusungebundenheit, niedriger Kopplung, Modularität und semantischer Interoperabilität. Das Kernstück des Cloud-Computing ist 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 betriebsbereit ist. Zu Beispielen für bekannte 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, Mainframe-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 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 Es sollte von vornherein verstanden werden, dass die in 3 gezeigten Komponenten, Schichten und Funktionen nur veranschaulichend sein 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 Mainframes, in einem Beispiel zSeries@-Systeme von IBM®; Server auf der Grundlage einer 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 und DB2 sind Marken der International Business Machines Corporation, die weltweit unter zahlreichen Gerichtsbarkeiten registriert sind.)
  • Eine Virtualisierungsschicht 302 stellt eine Abstraktionsschicht bereit, von der aus die folgenden Beispiele für virtuelle Entitäten bereitgestellt werden können: virtuelle Server; virtueller Speicher; virtuelle Netzwerke, einschließlich virtuelle private Netzwerke; virtuelle Anwendungen und Betriebssysteme; und virtuelle Clients.
  • In einem Beispiel kann die Verwaltungsschicht 304 die im Folgenden beschriebenen Funktionen bereitstellen. Die Ressourcenbereitstellung sorgt für die dynamische Beschaffung von Datenverarbeitungsressourcen und weiteren Ressourcen, die zum Ausführen von Aufgaben innerhalb der Cloud-Computing-Umgebung eingesetzt werden. Messung und Preisbestimmung ermöglichen beim Einsatz von Ressourcen innerhalb der Cloud-Computing-Umgebung eine Kostenverfolgung und eine Abrechnung oder Rechnungsstellung für die Inanspruchnahme dieser Ressourcen. In einem Beispiel können diese Ressourcen Lizenzen für Anwendungssoftware aufweisen. Die Sicherheit stellt für Nutzer der Cloud und Aufgaben eine Identitätsüberprüfung sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal stellt den Zugang zur Cloud-Computing-Umgebung für Nutzer und Systemadministratoren bereit. Die Service-Level- (Dienstgüte) Verwaltung sorgt für die Zuordnung und Verwaltung von Cloud-Computing-Ressourcen, so dass erforderliche Service-Levels eingehalten werden. Planung und Vertragserfüllung des Service Level Agreement (SLA) (Dienstgütevereinbarung) stellen eine Vorab-Vereinbarung für und Beschaffung von Cloud-Computing-Ressourcen bereit, für die gemäß eines SLA eine zukünftige Anforderung erwartet wird.
  • Die Arbeitslastenschicht 306 stellt Beispiele für die Funktionalität bereit, für die die Cloud-Computing-Umgebung eingesetzt werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht aus bereitgestellt werden können, zählen: Zuordnung und Navigation; Software-Entwicklung und Lifecycle-Management; Bereitstellung von virtuellen Schulungen; Datenanalyseverarbeitung; Transaktionsverarbeitung; und Sonstiges (z.B. unternehmensspezifische Funktionen in einer privaten Cloud).
  • Es ist von vornherein zu verstehen, dass, obwohl diese Offenbarung eine ausführliche Beschreibung zu Cloud-Computing enthält, eine Umsetzung der hierin zitierten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist. Die Ausführungsformen der vorliegenden Erfindung sind stattdessen fähig, in Verbindung mit jedem anderen Typ einer jetzt bekannten oder später entwickelten Datenverarbeitungsumgebung umgesetzt zu werden.
  • Hybride Cloud-Umgebungen verlangen eine sichere Datenübertragung zwischen Anwendungen zwischen verschiedenen Hosting-Umgebungen. Mit zunehmender Anzahl von Anwendungen und Plattformen wächst auch rasch die Anzahl von sicheren Datenübertragungspfaden. Dedizierte VPNs des Stands der Technik erstellen große Datenübertragungskanäle in Umgebungen, die gesichert werden müssen. Viele Übertragungsanforderungen 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 Effizienzvorteil einer Erweiterung nicht.
  • Die vorliegende Erfindung enthält Ausführungsformen, 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 höchster 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 sein 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 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. In 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, Bandbreitenbegrenzung und weitere Merkmale, z.B. die Sicherheitsqualitäten und die Durchsatzleistungen.
  • Als Nächstes stellt der VPN-Manager im Schritt 405 einen VPN-Endpunkt-Agenten oder einfach „VPN-Agent“ zur Installation auf der anfordernden Maschine oder einer anderen Maschine in derselben Cloud bereit. In bevorzugten Ausführungsformen 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 Erfindung können die VPN-Agenten spezialisiert sein, in verschiedene Typen konfiguriert, und der Typ des VPN-Agents, der einem bestimmten VPN-Tunnel zugewiesen wird, ist je nach angeforderten Qualitäten und Funktionen für den VPN-Tunnel unterschiedlich. In weiteren Ausführungsformen der Erfindung wird ein allgemeiner, 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 ein VPN-Agent bereits an dem Endpunkt oder einer Maschine in der Nähe vorhanden sein. Ferner verwenden Ausführungsformen der Erfindung vorhandene Agenten, wie beispielsweise Chef-Agenten oder eine API zu vorhandenen VPN-Controllern anstatt einen VPN-Agenten bereitzustellen. Daher ist Schritt 405 in vielen Ausführungsformen der Erfindung optional. In Schritt 407 steht der VPN-Agent in Datenaustausch mit dem VPN-Manager, um Details zur Bereitstellungskonfiguration zu empfangen, wie vorher von der Anwendung angefordert, und stellt den VPN-Tunnel gemäß diesen Details bereit.
  • Wie in Schritt 409 gezeigt, können die anfordernden Anwendungen die gewünschten angeforderten Sicherheitsqualitäten und Durchsatzleistungen im gesamten Anwendungslebenszyklus für den VPN-Tunnel ändern. Die „Abstimmung“ des VPN-Tunnels kann die Sicherheit und andere Funktionen des Tunnels ändern oder kann ein Zusammenführen oder ein Aufteilen der VPN-Tunnel umfassen, wie im Folgenden erörtert, 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-Agenten anweisen, einen VPN-Tunnel von einer großen VPN-Pipe (VPN-Leitung) mit einem Zwei-Wege-Tunnel mit schnellem Sicherheitsprotokoll, der während der Bereitstellung 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 berechtigten 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 stehen Anwendungen mit dem VPN-Manager in Datenaustausch, und der VPN-Manager steht wiederum mit den VPN-Agenten an den beiden Endpunkten des VPN-Tunnels in Datenaustausch. Dieser Schritt, also die dynamische Änderung des Durchsatzes und der Sicherheitsqualitäten eines VPN-Tunnels, kann während des gesamten Anwendungslebenszyklus wiederholt werden.
  • Wie in 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 allgemein zu gestatten oder zu verweigern, indem in den ACL-Feldern aufgelistet wird, was einem IP/Anschluss oder IP/Anschlüssen 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 in Schritt 409. Ein VPN-Filter, der ursprünglich in Schritt 403 angefordert wird, könnte durch einen später angeforderten VPN-Filter ersetzt oder ergänzt werden. Dieser Schritt, das Anfordern eines neuen VPN-Filters, 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 aufteilt 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 Erfindung wird die Ereignisprotokollierung bereitgestellt. In einigen Ausführungsformen wird die Datenverkehrsprotokollierung ebenfalls bereitgestellt. In einer bevorzugten Ausführungsform sind die Ereignis- und Datenverkehrsprotokollierung mit dem VPN-Manager in Beziehung stehende Prüfereignisse. In anderen Ausführungsformen der Erfindung können die Ereignisse, die mit Anwendungen in Beziehung stehen, die mit anderen Anwendungen verbunden sind, über den VPN-Agenten protokolliert werden. Zum Beispiel kann die Bandbreite, die von den Anwendungen verwendet wird, einschließlich des Bandbreitenverlaufs, von den VPN-Agenten protokolliert werden. In noch weiteren Ausführungsformen kann der Datenübertragungsverkehr von Anwendungen durch die Agenten protokolliert werden. Sicherheitsbezogene Ereignisse werden vom Security Operations Center (SOC) zur Überwachung auf Sicherheitsverstöße verarbeitet. Ereignis- und Datenverkehrsprotokollierung werden ausführlicher im Folgenden in Verbindung mit 8 beschrieben.
  • In bevorzugten Ausführungsformen der Erfindung nimmt der VPN-Manager die Weiterleitung und Umleitung von Datenverkehr über vorhandene VPN-Agenten vor und stellt neue VPN-Agenten bereit, um den Datenverkehrsfluss nach Bedarf zu optimieren, Schritt 415. In Reaktion auf Abnahmen im Datenverkehr, zum Beispiel unter Verwendung von verfügbaren Datenverkehrsprotokollen, die gespeichert und überwacht werden, kann der VPN-Manager die VPN-Agenten anweisen, VPN-Tunnel zusammenzuführen, wenn die Sicherheitsanforderungen für den Datenverkehr an den beiden VPN-Tunneln kompatibel sind. Das Erkennen könnte an dem VPN-Agenten 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 Nachricht an den VPN-Manager sendet, dass sie von einer Bereitstellungsphase 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-Agenten erstellt werden, um eine neue erwartete Last oder Anforderung zu bearbeiten. Die Sicherheitsanforderungen der Anwendungen können sich mit dem Anwendungslebenszyklus ändern, der den Bedarf an neuen VPN-Agenten erstellen kann. Dieser Schritt kann ein erneutes Zuweisen von verschiedenen VPN-Agenten zu verschiedenen VPN-Tunneln, ein Beenden von nicht benötigten VPN-Agenten und ein Erstellen und ein Bereitstellen von neuen VPN-Agenten zum Ausführen des zusammengeführten VPN-Tunnels oder zum Ausführen eines neuen VPN-Tunnels umfassen, wenn neuer Datenverkehr erwartet wird.
  • Wie auch in Schritt 417 dargestellt, müssen die VPN-Tunnel möglicherweise wegen Anforderungen neu konfiguriert werden, 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-Agenten an, VPNs nach Bedarf neu zu konfigurieren, zusammenzuführen und aufzuteilen. Gemäß der Erfindung umfasst ein „Aufteilen“ eines VPN-Tunnels ein Umleiten des Datenverkehrs von vorhandenen Anwendungen oder Maschinen, der vorher von einem einzelnen VPN-Tunnel bearbeitet wurde, auf zwei VPN-Tunnel. Im Gegensatz dazu trifft ein Hinzufügen oder Erstellen eines neuen VPN-Tunnels auf eine neue Anwendungsanforderungen von einer Anwendung, die vorher nicht von dem VPN-Manager bedient worden ist, sondern nur Datenverkehr von einer neuen Quelle umfasst. 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 Neukonfiguration der VPN-Tunnel und der vorhergehende Schritt des Neukonfigurierens der VPN-Agenten ähnliche Schritte, da die VPN-Agenten möglicherweise gleichzeitig mit den VPN-Tunneln neu konfiguriert und erneut zugewiesen werden müssen, aus Gründen der Übersichtlichkeit wird in der Zeichnung das Neukonfigurieren von VPN-Agenten und das Neukonfigurieren von VPN-Tunneln jedoch als getrennte Schritte gezeigt.
  • In einer bevorzugten Ausführungsform der Erfindung enthalten die Funktionen der VPN-Manager in Übereinstimmung mit den VPN-Agenten 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 zu konfigurieren wie beispielsweise Bandbreiten-Schwellenwerte (Mindest- und Höchstwert) und Sicherheitsrichtlinien. Der VPN-Manager hat die Fähigkeit, eine Föderation mit anderen VPN-Managern zu bilden, 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-Tunnel zusammengeführt, hinzugefügt, aufgeteilt oder neu konfiguriert werden.
  • Erstellen und Verwalten eines VPN-Tunnels ist nach dem Stand der Technik bekannt. Der VPN-Tunnel kann gemäß 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 beschäftigt, besteht darin, dass VPN-Tunnel nach dem Stand der Technik nach ihrer Erstellung statisch sind und sich nicht an Änderungen in der Cloud-Umgebung anpassen, wie beispielsweise an Ä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 diejenigen der vorliegenden Erfindung. Die vorliegende 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 werden im Folgenden bereitgestellt.
  • Wie in 5 gezeigt, wird eine bevorzugte Ausführungsform der Erfindung in einer hybriden Cloud-Umgebung verwendet, die eine Vor-Ort-Infrastruktur 501 integriert, die eine private Cloud, eine Cloud-Arbeitslast auf einer laaS-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 der VPN-Manager 508 befindet, kann entweder eine private Cloud oder eine öffentliche Cloud sein. Maschinen A bis D werden als in der laaS-Infrastruktur 501 befindlich gezeigt, Maschinen E und F werden in der SaaS-Umgebung 505 gezeigt, Maschinen G bis J werden in der privaten Cloud 501 gezeigt, und Maschinen K und L werden in der allgemeinem Cloud-Umgebung 507 gezeigt. Ein Protokoll- und Ereignis-Manager 512 wird als auf Maschine M befindlich gezeigt. Der VPN-Manager 508 befindet sich entweder auf Maschine K oder Maschine L.
  • Wie in 5 gezeigt, sind die VPN-Tunnel 509 und 511 gemäß einer veranschaulichenden Ausführungsform der Erfindung konfiguriert. In dieser Ausführungsform der Erfindung konfiguriert ein Administrator die VPN-Tunnel unter Verwendung einer Benutzeroberfläche. In weiteren Ausführungsformen der Erfindung stellen VPN-Manager-orientierte Anwendungen Anforderungen direkt an den VPN-Manager. Der Administrator lässt 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 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 Benutzeroberfläche 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 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 zwingende Vorgabe könnte sein, dass das VPN nur die durch den Anforderer angegebenen Sicherheitsanforderungen verwendet. Wenn ein Anforderer eine Sicherheitsanforderung angibt, würde als weiteres Beispiel eine eingeschränkte Untergruppe von kompatiblen Protokollen, die, falls sie von einem anderen Anforderer angefordert oder von einem anderen VPN-Tunnel verwendet würde, 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 nicht durch berechtigte Maschinen angefordert. 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 keinen vorherigen Kontakt mit Maschine M hatte, erwartet der VPN-Manager 508 eine Verbindung von Maschine M. In dieser Ausführungsform registriert der Administrator die Maschine M für den VPN-Manager In Reaktion auf die Anforderung oder Registrierung installiert der VPN-Manager 508 jeweils VPN-Agenten 515, 517 auf Maschine M und Maschine A. Als Nächstes konfiguriert der VPN-Manager 508 durch Einwirken über die installierten VPN-Agenten 515, 517 das VPN 511 zwischen Maschine A und Maschine M mit den Parameterangaben in der Anforderung 513 der Maschine A (Syslog, Anschluss, unidirektional, Bandbreite usw.). Das bedeutet, der VPN-Manager 508 gibt Anweisungen und Konfigurationsanforderungen an die VPN-Agenten aus, die von den VPN-Agenten (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) zum Sichern des Tunnels. 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 Maschine B mit dem VPN-Manager in Kontakt treten und eine VPN-Verbindung mit Maschine A anfordern. Als Teil dieser Anforderung stellt 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-Agenten auf Maschine B. Der VPN-Manager identifiziert den vorher vorhandenen VPN-Tunnel 511 in der Nähe, der von Maschine A stammt. Nach einer Feststellung, dass die Sicherheitsrichtlinien von Maschine A und Maschine B kompatibel sind, konfiguriert der VPN-Manager 508 Maschine B über den VPN-Agenten auf Maschine B, um angegebenen Datenverkehr an 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 von 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 503 ü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 bietet insofern mehr Berechtigung, als er jetzt Datenverkehr von zwei Quellen und zwei Pakettypen zulässt, in der bevorzugten Ausführungsform prüft der VPN-Filter jedoch immer noch, dass der richtige Pakettyp von der richtigen Maschine kommt.
  • In dieser veranschaulichenden Ausführungsform kann der VPN-Manager 508 VPN-Tunnel zwischen mehr als zwei Clouds verwalten, in der die Organisation Maschinen hat. In Fortsetzung des Beispiels fordert der Administrator, dass ein VPN-Tunnel von Maschine F von der generischen SaaS-Anwendung in der SaaS-Umgebung 505 zum Protokoll- und Ereignis-Manager 512 in der privaten Cloud 501 erstellt wird. Entweder der Administrator oder der Eigentümer der generischen SaaS-Anwendung stellt an den VPN-Manager eine Anforderung unter Verwendung der vom Administrator angegebenen Berechtigungsnachweise zum Erstellen eines VPN-Tunnels. Die Anforderung enthält die gewünschten Anforderungen 523 für das VPN:
    • 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-Agenten 522 auf Maschine F. Über den VPN-Agenten 522 konfiguriert der VPN-Manager 508 einen VPN-Tunnel zwischen Maschine F und Maschine M mit den angegebenen Filtern aus der anfänglichen Anforderung 523.
  • In dieser veranschaulichenden Ausführungsform stellen die Maschinen A und B Protokoll- und Ereignisdaten für den Protokoll- und Ereignis-Manager auf Maschine M über den VPN-Tunnel 511 bereit, und Maschine F stellt derartige Daten über den VPN-Tunnel 509 bereit. Wie in der Figur gezeigt, stellen die zusammen untergebrachten Maschinen G und I ebenfalls Protokoll- und Ereignisdaten für den Protokoll- und Ereignis-Manager bereit. Da die Maschinen G und I Daten über das private Netzwerk in der privaten Cloud 501 direkt mit Maschine M austauschen können, besteht kein Bedarf, den VPN-Manager 508 einzubeziehen.
  • Die oben beschriebenen Schritte stellen ein veranschaulichendes Beispiel der anfänglichen Konfiguration der VPN-Tunnel bereit. Wie im Folgenden erörtert wird, kann eine korrekte Anwendung, da sich die Bedürfnisse der Anwendungen während ihres Lebenszyklus ändern, ferner Anforderungen zum Ändern der Parameter ausgeben, die für den Tunnel benötigt werden. Zum Beispiel benötigt die Anwendung während der Bereitstellung oder anderen Perioden hoher Nutzung eine große Bandbreite über den Tunnel. Während anderer Zeiträume, zum Beispiel während einer Routine-Überwachung, benötigt die Anwendung eine geringere Bandbreite. Die Anwendung kann weitere Anforderungen ausgeben, mit denen die angeforderte Bandbreite geändert wird. In alternativen Ausführungsformen kann der VPN-Agent, der den VPN-Tunnel überwacht, den von einer Gruppe von Anwendungen kommenden Datenverkehr überwachen. Wenn der überwachte Datenverkehr viel geringer 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 als Teil des Deinstallationsprozesses den VPN-Manager, dass kein VPN-Tunnel mehr erforderlich ist. Die Sicherheitsanforderungen einer Anwendung können sich während ihres Lebenszyklus auch ändern. In noch weiteren Ausführungsformen der Erfindung werden die Ereignis- und Protokollinformationen für den Administrator dargestellt, der Anforderungen zum Ändern des VPN-Agents und der VPN-Tunnelkonfiguration auf Grundlage von wahrgenommenen Änderungen des Anwendungslebenszyklus in den Ereignis- und Protokollinformationen ausgeben kann.
  • 6 stellt eine Ausführungsform einer Administratoransicht in einer grafischen Benutzeroberfläche 600 in einem Muster-Dashboard dar, das durch den VPN-Manager bereitgestellt wird. Dem Fachmann wird klar sein, dass weitere 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 anfä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, und nicht die weiteren Komponenten in der hybriden Cloud-Umgebung. Andere Ausführungsformen der aktuellen Zustandsansicht würden weitere Komponenten zeigen. Maschine M im privaten Netzwerk 601 wird jeweils mit einer laaS-Infrastruktur 603 und einer SaaS-Umgebung 605 durch einen VPN-Tunnel 611 und einen VPN-Tunnel 609 verbunden gezeigt. Die erforderlichen Konfigurationsparameter von Maschine A werden in einem Feld 613 gezeigt, während die angeforderten Konfigurationsparameter von Maschine B in einem Feld 619 gezeigt werden. Die sich daraus ergebenden VPN-Parameter des VPN-Tunnels 611 werden in einem Feld 621 gezeigt. Desgleichen werden die angeforderten Konfigurationsparameter von Maschine F in einem Feld 623 gezeigt, während die sich daraus ergebenden VPN-Parameter für den VPN-Tunnel 609 in einem Feld 625 gezeigt werden. In einer bevorzugten Ausführungsform ist jedes der Felder 613, 619, 621, 623 und 625 durch den Systemadministrator bearbeitbar. Durch Bearbeiten von einem der angeforderten Konfigurationsparameter-Felder 613, 619 oder 623 wird eine neue Anforderung bezüglich der VPN-Merkmale an den VPN-Manager gestellt, die von einer der Maschinen oder Anwendungen gewünscht werden, die auf den Maschinen ausgeführt werden. Sobald diese Anforderung ausgeführt wird, würde eine Aktualisierung der VPN-Merkmale in dem entsprechenden VPN-Parameterfeld 621 oder 625 gezeigt.
  • Ist in dem Feld unzureichender Platz vorhanden, würde eine Bildlaufsteuerung dargestellt, die dem Administrator gestattet, sämtliche der verfügbaren Parameter durchzublättern. Nicht-bearbeitbare Parameter könnten ausgegraut dargestellt werden. Weitere Ansichten des Netzwerks sind in bevorzugten Ausführungsformen der Erfindung vorgesehen. Zum Beispiel könnten alle Maschinen in den Netzwerken dargestellt werden, sodass 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 standardmäßige, bearbeitbare Parameter in dem erforderlichen Konfigurationsfeld aufgefüllt werden, die der Administrator bearbeiten oder weiterleiten kann. 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 VPN-Tunnel 611 oder das VPN-Parameterfeld 621 hervorgehoben dargestellt und gibt damit eine Aktion an, auf die der Administrator achten muss. Zum Beispiel kann ein Hervorheben von zwei Tunneln in der Oberfläche eine Gelegenheit zum Zusammenführen der beiden Tunnel angeben, um einen effizienteren Dienst bereitzustellen. Das Hervorheben eines einzelnen Tunnels kann angeben, dass der Durchsatz die Kapazität des Tunnels überschreitet, oder dass eine neue Dienstanforderung mit dem vorhandenen Tunnel nicht berücksichtigt werden kann wegen eines Konflikts zwischen einer neuen Gruppe von Anforderungen und den bereits vorhandenen VPN-Parametern für den Tunnel, der durch frühere Anforderungen erstellt wurde. Wenn die hervorgehobenen Tunnel durch den Administrator ausgewählt wurden, können zusätzliche Details wie Ereignisprotokolle und Durchsätze, die Ursache der Alerts waren, in zusätzlichen Feldern dargestellt werden.
  • Der VPN-Manager würde Optionen zum manuellen Hinzufügen, Löschen und Neukonfigurieren von VPN-Agenten und VPN-Tunneln offenlegen. In einer bevorzugten Ausführungsform wäre die Benutzerschnittstelle (UI) eine UI + REST-API-Schnittstelle. Die UI 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-Tunnel gezeigt. Dieses Beispiel zeigt ein Beispiel für eine Netzwerk-Topologieänderung, die verursacht, dass der VPN-Manager 708 die VPN-Tunnel-Infrastruktur der hybriden Cloud ändert. In dem Beispiel geht es dabei um das Entfernen einer Maschine aus einer der Clouds. Zu anderen Netzwerk-Topologieänderungen zählen das Hinzufügen oder Entfernen einer Cloud-Anwendung, das Hinzufügen einer „Klon“-Maschine mit derselben Cloud-Anwendung wie eine andere Maschine, z.B. zum Lastausgleich, Verschieben einer Cloud-Anwendung von einer Maschine in eine andere Maschine und 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 Erfindung wird diese Art von Netzwerk-Topologieänderung an den VPN-Manager 708 als ein „Ereignis“ gesendet, und der VPN-Manager 708 führt entweder eine automatische Neukonfiguration der VPN-Tunnel-Infrastruktur aus oder stellt für den Administrator einen Alert als eine Situation dar, die ein Kandidat für eine VPN-Tunnel-Neukonfiguration ist.
  • Wie durch das „X“ bezeichnet, entfernt der Administrator Maschine A aus der IaaS-Infrastruktur 703, die eine Neukonfiguration des Datenverkehrs von Maschine B auslöst, der von Maschine A bearbeitet wird. Wenn der Administrator mit dem Entfernen von Maschine A beginnt, nimmt der VPN-Agent 704 auf Maschine A Kontakt mit dem VPN-Manager in der Cloud 707 auf. Der VPN-Manager analysiert die kombinierten VPN-Verbindungen in einem VPN-Tunnel 711, wobei in diesem Falls der VPN-Tunnel 711, der von Maschine A stammt, auch den Datenverkehr von Maschine B bearbeitet. Der VPN-Manager 708 weist einen VPN-Agenten 712 auf Maschine B an, unter Verwendung von vorher vorhandenen Anforderungen einen VPN-Tunnel 720 von Maschine B zu Maschine M zu erstellen, d.h. mit den vorhandenen Anforderungen von Maschine B und jeder anderen Maschine in der laaS-Infrastruktur 703, die den VPN-Tunnel 711 verwendet hat. Da Maschine A entfernt wird, sind keine ihrer Anforderungen relevant. Nur Anforderungen der Maschine B werden verwendet, wenn der VPN-Filter für den Tunnel eingerichtet wird. In der Darstellung werden die Anforderungen von Maschine B beim Anfordern von VPN-Dienst veranschaulicht. 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}$/)
    • SICHERHEITSRICHTLINIE B
  • Wie gezeigt, sind die VPN-Parameter 721 für den neuen VPN-Tunnel 720 verschieden von den Parametern 521 für den kombinierten VPN-Tunnel 511, der in 5 gezeigt wird, oder den VPN-Tunnel 711 in dieser Figur. Der VPN-Tunnel 711 wird entfernt, wie durch das „X“ angegeben. Indem nur angeforderte Parameter aus anerkannten Maschinen berücksichtigt werden, die aktuellen VPN-Tunnel-Bedarf haben, wird die Sicherheit erhöht.
  • 7A kann auch verwendet werden, um das Entfernen einer Anwendung aus Maschine A zu erörtern. Sobald in diesem Fall der neue VPN-Tunnel 720 erstellt ist, entfernt der VPN-Manager 708 optional den VPN-Tunnel 711 von A zu M. Der VPN-Manager 708 deinstalliert ebenfalls optional den VPN-Agenten 704 auf Maschine A. Diese optionalen Schritte erzeugen ein korrektes System und verringern das Sicherheitsrisiko einer Verwaltung des VPN-Tunnels und VPN-Agenten, wenn sich keine abonnierten berechtigten Anwendungen auf Maschine A befinden. Allerdings könnten alternative Ausführungsformen den VPN-Tunnel oder den VPN-Agenten aktiv erhalten, um den Systemaufwand beim Starten eines neuen VPN-Agenten zu verringern, für den Fall, dass eine neue Anwendungsanforderung an den VPN-Manager gerichtet wurde.
  • In Ausführungsformen der Erfindung gibt es Gruppen von Regeln für ein Zusammenführen und Aufteilen der VPN-Tunnel. Regeln auf Sicherheitsgrundlage beziehen sich darauf, ob die Sicherheitsanforderungen oder Richtlinien von jeder der Anwendungen, die bedient werden oder potenziell von einem VPN-Tunnel bedient werden, mit den Sicherheitsanforderungen oder Richtlinien von anderen Anwendungen kompatibel sind. Das Zusammenführen von VPN-Tunneln würde dadurch bedingt, dass die Sicherheitsanforderungen der Anwendungen, die durch 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 Sicherheitsrichtlinien des VPN-Managers für eine Cloud-zu-Cloud-Datenübertragung interpretiert. Wenn zum Beispiel ein VPN-Tunnel nur http-Datenverkehr gestattet, und ein anderer VPN-Tunnel nur ftp-Datenverkehr aufgrund der Anwendungs-Sicherheitsrichtlinien gestattet, können die beiden Tunnel nicht zusammengeführt werden. Wenn jedoch beide Tunnel http-Datenverkehr oder jeden Datenverkehr gestatten, können sie zusammengeführt werden. Als weiteres Beispiel können zwei Anwendungen auf zwei verschiedenen VPN-Tunneln zwei verschiedene Sicherheits- oder Verschlüsselungsprotokolle erfordern, und die Sicherheitsrichtlinie des VPN-Managers, die für die Datenübertragung zwischen den beiden Clouds wirksam ist, erfordert, dass ein einziges Verschlüsselungsprotokoll verwendet werden muss. Somit kann eine Sicherheitsanforderung oder Richtlinie einer Anwendung ein 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 in Anbetracht einer Kompatibilitätsregel verursachen, dass der aktuelle VPN-Tunnel aufgeteilt wird. In einer bevorzugten Ausführungsform wird die Kompatibilität für eine potenzielle Zusammenführung bestimmt, indem die Sicherheitsanforderungen und VPN-Filter auf den beiden VPN-Tunneln auf direkte Konflikte ausgewertet werden. Wenn ein Konflikt gefunden wird, kann eine Benutzeroberfläche in einigen Ausführungsformen die Kandidaten-VPN-Tunnel für einen Administrator 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 ein Modifizieren des VPN-Filters, ein 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 weiterer Fall, in dem der VPN-Tunnel in einer Ausführungsform aufgeteilt werden kann, liegt vor, wenn sich die Sicherheitsanforderungen von einer der Anwendungen ändern, die einen gemeinsam genutzten VPN-Tunnel verwenden. Wenn zum Beispiel eine Anwendung dann ftp-Datenverkehr zusätzlich zum ursprünglichen http-Datenverkehr übertragen möchte, und der aktuelle VPN-Tunnel keinen ftp-Datenverkehr zulässt, könnte der VPN-Tunnel aufgeteilt werden. Wenn als weiteres Beispiel eine der Anwendungen eine höhere Verschlüsselungsebene als der aktuelle VPN-Tunnel wünscht, kann es sinnvoll sein, den aktuellen VPN-Tunnel aufzuteilen, statt einen höheren Systemaufwand 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 Erfindung verwendet.
  • Eine weitere 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 das zulässige Tunnel-Limit (Bandbreite) überschreitet. In diesem Fall teilt der VPN-Manager den Tunnel auf. Ein Zusammenführen von VPN-Tunneln kann ausgeführt werden, wenn einer oder mehrere kompatible VPN-Tunnel eine Bandbreite unter dem Mindestbandbreitenlimit des Tunnels haben.
  • In 7B wird eine veranschaulichende Ausführungsform einer Neukonfiguration einer Zusammenführung der VPN-Tunnel gezeigt. Dieses Beispiel zeigt den Fall, in dem sich Anforderungen von den Anwendungen auf den Maschinen A und B wegen verringerter Bandbreitenanforderungen geändert haben, die ein Zusammenführen der VPN-Tunnel 711 und 720 gestatten. Ein weiterer Fall, der ein Zusammenführen der VPN-Tunnel gestatten würde, ist eine Änderung in den Sicherheitsprotokollen für eine der Anwendungen, sodass die neue Gruppe von Sicherheitsprotokollen gemäß wirksamen Sicherheitsrichtlinien kompatibel ist. Wie gezeigt, wird der VPN-Tunnel 711 zwischen den Clouds 701 und 703 entfernt, da der andere VPN-Tunnel 720 den aggregierten Bedarf berücksichtigen kann. In bevorzugten Ausführungsformen der Erfindung muss der Datenverkehr (zusätzlich zu den Sicherheitsanforderungen) auf den beiden VPN-Tunneln für eine Zusammenführung kompatibel sein. In bevorzugten Ausführungsformen der Erfindung empfängt der VPN-Manager 708 Informationen von den VPN-Agenten 704 und 712, die Maschine A und Maschine B zugewiesen sind. Der VPN-Manager konfiguriert den VPN-Agenten 712 auf Maschine B neu, um den VPN-Tunnel 720 von Maschine B zu Maschine M zu modifizieren, indem Anforderungen hinzugefügt werden, d.h. die vorhandenen Anforderungen von Maschine A, die den VPN-Tunnel 711 verwendet hatte. In der Darstellung werden die Anforderungen 739 von Maschine A und die Anforderungen 719 von Maschine B veranschaulicht. 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}$/)
  • 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, sind die VPN-Parameter 751 für den modifizierten VPN-Tunnel 720 verschieden von den Parametern von den einzelnen VPN-Tunneln 711 und 720, wenn sie eine einzelne Anwendung unterstützt haben. Indem nur angeforderte Parameter aus anerkannten Maschinen berücksichtigt werden, wird die Sicherheit erhöht. In dieser Figur leitet der VPN-Agent 704 auf Maschine A den Datenverkehr von Maschine A an den VPN-Agenten 712 auf 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 angemessen, um die Datenübertragungen sowohl von Maschine A als auch Maschine B zu bearbeiten. Die Aufteilung des VPN-Tunnels kann das Ergebnis einer Maßnahme des Administrators oder einer Anforderung von einer VPN-Managerorientierten 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 VPN-Tunnel 720, der von Maschine B stammt und auch den Datenverkehr von Maschine A bearbeitet, und kann für den Administrator über eine Benutzeroberfläche einen Alert anzeigen. In diesem Beispiel wird eine neue Gruppe von Anforderungen 759 von der Anwendung empfangen, die auf Maschine A ausgeführt wird, die einen erwarteten erhöhten Bedarf aufgrund einer Aktualisierung angibt, die einen bidirektionalen VPN-Tunnel sowie ein neues Sicherheits-/Verschlüsselungsprotokoll erfordert. In Anerkennung dessen, dass diese neuen Anforderungen 759 mit dem VPN-Tunnel 720 nicht erfüllt werden können, oder dass zumindest eine Modifizierung des VPN-Tunnels 720 in Reaktion auf die neuen Anforderungen vom Standpunkt entweder der Sicherheit oder des Durchsatzes nicht optimal ist, konfiguriert der VPN-Manager 708 den VPN-Agenten 704 auf Maschine A neu, um unter Verwendung der neuen Anforderungen einen neuen VPN-Tunnel 763 von Maschine A zu Maschine M zu erstellen. Somit wird der alte VPN-Tunnel 720 „aufgeteilt“, wenn Datenverkehr von den Quellen auf Maschine A und Maschine B von zwei VPN-Tunneln in der neuen VPN-Tunnel-Infrastruktur bedient wird.
  • 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 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}$/)
  • Indem wiederum nur angeforderte Parameter von anerkannten Maschinen berücksichtigt werden, wird die Sicherheit erhöht, sodass die neuen VPN-Parameter 761 für den modifizierten VPN-Tunnel 720 verschieden sind von den Parametern 751 für den kombinierten VPN-Tunnel 720, der in 7B gezeigt wird. Desgleichen geben die VPN-Parameter 763 für einen neu erstellten VPN-Tunnel 757 nur die Anforderungen 759 für Maschine A wieder.
  • 8 ist ein Ablaufplan der Ereignismeldungs- und Ereignisprotokollierungsoperationen des VPN-Managers. Die Ereignis- und Datenverkehrsprotokollierung gestattet dem VPN-Manager zu verstehen, welche Anwendungen mit anderen Anwendungen in Datenaustausch stehen. Außerdem ermöglicht sie dem VPN-Manager zu verstehen, welche Clouds miteinander verbunden sind, welche Daten übertragen werden. Ferner gestatten Ereignismeldungs- und Ereignisprotokollierungsoperationen das Erkennen von Richtlinienverletzungen oder Sicherheitsverstößen durch das Security Operations Center (SOC).
  • In Schritt 801 wartet der VPN-Manager auf Ereignisse, die von den VPN-Agenten gemeldet werden müssen. Wenn Ereignisse empfangen werden, Schritt 803, werden die Ereignisse protokolliert, Schritt 805. Der VPN-Manager bestimmt, ob das bzw. die empfangenen Ereignisse in Schritt 807 eine Regel auslösen. Zum Auslösen einer Regel muss das zuletzt empfangene Ereignis möglicherweise mit Ereignissen korreliert werden, die bereits protokolliert worden sind. Wie vorher erwähnt, ist ein Beispiel für eine Regel eine Schwellenwertregel für den Datenverkehr. Wenn der Datenverkehr auf einem VPN einen Schwellenwert überschreitet oder vermutlich überschreiten wird, gibt der VPN-Manager Anweisungen an die VPN-Agenten aus, einen einzelnen VPN-Tunnel in zwei Tunnel aufzuteilen. Eine weitere Schwellenwertregel für den Datenverkehr ist eine Mindestdatenverkehrsregel. Wenn benachbarte VPN-Tunnel einen Datenverkehr unter einem Schwellenwert aufweisen, kann der VPN-Manager Anweisungen an die VPN-Agenten ausgeben, die VPN-Tunnel zusammenzuführen. Ein weiteres Beispiel für eine Regel ist eine sicherheitsbezogene Regel. Wenn Sicherheitsereignisse in Bezug auf einen VPN-Tunnel vorlagen, kann der VPN-Manager Anweisungen an die VPN-Agenten ausgeben, die Sicherheitsparameter für den Tunnel zu ändern. Zum Beispiel sind bei erkannten unbefugten Zugriffen für eine der Maschinen, die von einem VPN-Tunnel bedient wird, problematische Ereignisse aufgetreten, die genauer untersucht werden müssen. Somit kann der VPN-Manager Anweisungen an den bzw. die VPN-Agenten für diesen Tunnel ausgeben, Ereignisse von der Maschine genauer 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, wobei Ereignissen von anderen, nicht betroffenen Maschinen ein geringerer Systemaufwand bei der Erkennung von unbefugtem Zugriff eingeräumt wird.
  • Wenn das Ereignis eine Modifizierungsanforderung ist, die von einer VPN-Managerorientierten Anwendung gestellt wurde, kann die Standardregel lauten, die Anforderung zu erfüllen. In diesem Fall gibt der VPN-Manager Anweisungen an den bzw. die VPN-Agenten aus, die mit der Modifizierungsanforderung konsistent sind. Eine weitere Regel wäre, auszuwerten, ob die Modifizierungsanforderung mit den für den VPN-Tunnel geltenden Sicherheitsrichtlinien konsistent ist, und falls nicht, einen Administrator warnend auf weitere Maßnahmen hinzuweisen.
  • Wenn in Schritt 809 durch das bzw. die Ereignisse eine Regel ausgelöst worden ist, gibt der VPN-Manager Anweisungen an die VPN-Agenten 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 für einen VPN-Tunnel, ein Zusammenführen von VPN-Tunneln oder ein Aufteilen eines VPN-Tunnels in zwei oder mehr VPN-Tunnel. In einer bevorzugten Ausführungsform löst die Regel einen Alert in einer Benutzeroberfläche aus, um dem Administrator zu gestatten, die Anweisungen an die VPN-Agenten zu bestätigen und/oder zu modifizieren. Der Prozess kehrt zurück, um in Schritt 801 auf neue Ereignisse zu warten.
  • 9 veranschaulicht den Prozess zum Optimieren des Datenverkehrsflusses, zum Zusammenführen und Aufteilen von VPNs gemäß einer Ausführungsform der Erfindung. Der Prozess beginnt in Schritt 901, wobei der VPN-Manager die vorhandenen VPN-Tunnel überwacht. Dieser Schritt enthält ein Überwachen des Durchsatzes und der Ereignisse, die oben in Verbindung mit 8 beschrieben wurden. In einer bevorzugten Ausführungsform melden die VPN-Agenten, die an jedem Tunnel-Endpunkt und jeder abonnierten Maschine und/oder Anwendung erstellt wurden, die relevanten Informationen an den VPN-Manager, Schritt 903. Alle Anweisungen, die der VPN-Manager an den VPN-Agenten übermitteln muss, werden ebenfalls in diesem Schritt übertragen. Zu Beispielen für Anweisungen, die der VPN-Manager an den VPN-Agenten übermittelt, gehören, welcher VPN-Tunnel für Datenverkehr von einer bestimmten Anwendung oder Maschine zu verwenden ist, mit welchem Endpunkt (z.B. Anwendung) der VPN-Tunnel zu verbinden ist, welche Filtereinstellungen eingeschaltet sein müssen, Daten in Bezug auf VPN-Agenten und Agentenkonfigurationen usw.
  • Auf Grundlage der in Schritt 905 empfangenen Informationen wird eine Entscheidung getroffen, ob eine Änderung an der vorhandenen VPN-Infrastruktur angezeigt ist. Eine bejahende Entscheidung kann auf vielen Faktoren beruhen. Erstens, wie oben beschrieben, könnte auf Administrator- oder Anwendungsgrundlage eine neue Anforderung von Änderungen an den VPN-Tunnel-Einstellungen vorliegen. Die neue Anforderung könnte zu einer neuen Verbindung für eine neue Anwendung oder einer neuen Maschine oder einer Änderung an einem vorhandenen VPN-Tunnel zwischen bereits abonnierten Maschinen gehören. Zweitens könnte die Änderung durch die Durchsatzmessungen durch die VPN-Agenten angegeben werden. VPN-Tunnel könnten anfänglich durch Anwendungen in einer Bereitstellungsphase des Anwendungslebenszyklus erstellt werden, in der hohe Bandbreitenanforderungen vorhanden sind. Daher werden zum Bereitstellen der benötigen Bandbreite separate VPN-Tunnel erstellt. Später, in der Produktionsphase des Anwendungslebenszyklus, sind die Bandbreitenanforderungen der Anwendungen geringer, sodass unter der Voraussetzung, dass die Sicherheitsanforderungen zwischen Anwendungen kompatibel sind, VPN-Tunnel zusammengeführt werden können. Drittens, am Ende des Anwendungslebenszyklus, wenn die Anwendung entfernt wird, können der VPN-Tunnel und der 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-Agenten melden, dass die VPN-Tunnel unausgelastet sind und daher Kandidaten für ein Zusammenführen mit anderen VPN-Tunneln sind. Der VPN-Manager, der eine Übersicht über sämtliche der vorhandenen VPN-Tunnel unter seiner Kontrolle besitzt, gibt die benötigten Befehle für ein Zusammenführen aus, z.B. eine vorhandene Gruppe von Anforderungen für den VPN-Tunnel, der geschlossen werden soll, wird an den ersten VPN-Agenten gesendet, der den ersten VPN-Tunnel steuert, damit er offen bleibt, einen Befehl zum Ändern der VPN-Merkmale des ersten VPN-Tunnels auf diese neuen Anforderungen, einen Befehl, um Datenübertragungen von dem zweiten VPN-Agenten, der aktuell den zweiten VPN-Tunnel steuert, der geschlossen werden soll, stattdessen an den ersten VPN-Agenten weiterzuleiten usw.
  • Die Änderung könnte ein Hinweis dafür sein, dass ein VPN-Tunnel wegen neuer Bandbreiten- oder Sicherheitsanforderungen aufgeteilt werden muss. Vorher zusammengeführte VPN-Tunnels sind oft Hauptkandidaten für eine Aufteilung in mehrere Tunnel. Während der Anwendungslebenszyklen kann es Perioden geben, in denen sich die Bandbreiten- oder Sicherheitsanforderungen ändern, zum Beispiel während einer Aktualisierung oder in Reaktion auf einen angezeigten unbefugten Zugriff von einer der Cloud-Anwendungen, d.h. der eine spezielle Sicherheitsbearbeitung erfordert. Ein weiterer Grund, warum ein VPN-Tunnel aufgeteilt werden muss, ist auf eine neue Anforderung durch zusätzliche Maschinen oder Anwendungen zurückzuführen. Angenommen, in dem oben beschriebenen Beispiel unter Bezugnahme auf 5 war der VPN-Tunnel 511 angemessen, um Maschine A und Maschine B zu bedienen, Anwendungs- oder Administratoranforderungen wurden für einen VPN-Dienst für die Maschinen C und D gestellt, und ein einzelner VPN-Tunnel konnte die Bandbreitenanforderungen für alle vier Maschinen nicht erfüllen. 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 kompatibler sind als für die Maschinen A und B, und dass es somit am wirkungsvollsten wäre, einen VPN-Tunnel zu haben, der die Maschinen A und C bedient, und einen zweiten Tunnel, der B und D bedient. Falls keine Änderung angegeben wird, kehrt der Prozess zur Überwachung der VPN-Tunnel zurück, Schritt 901.
  • In Schritt 907 wird bestimmt, ob die Änderung mit der vorhandenen Gruppe von VPN-Tunneln vorgenommen werden kann. Im Allgemeinen ist es effizienter, und die Cloud ist weniger anfällig für Sicherheitsangriffe, je weniger VPN-Tunnel zwischen den beiden Clouds verwaltet werden. Die erforderliche Bandbreite, aktuelle Bandbreite und die verfügbare Bandbreite des aktuellen Tunnels werden verglichen. Die vorhandenen und angeforderten Sicherheitsparameter werden verglichen, um die Kompatibilität der Sicherheitsparameter zu bestimmen, die von den jeweiligen Anwendungen angefordert werden. Wenn die vorhandenen VPN-Tunnel verwendet werden können, einschließlich eines Zusammenführens der vorhandenen VPN-Tunnel, werden an die vorhandenen VPN-Agenten die gewünschten Anforderungen ausgegeben, um alle erforderlichen Änderungen an den VPN-Tunneln vorzunehmen. Wenn die VPN-Tunnel verwendet werden können, ist es wahrscheinlich, dass in den anfordernden Maschinen bereits VPN-Agenten installiert sind. Wenn jedoch neue VPN-Agenten erforderlich sind, z.B. in einer Ausführungsform, in der spezielle statt allgemeine VPN-Agenten verwendet werden, sendet der VPN-Manager sie in Schritt 911 an die Maschinen-Endpunkte. Der Prozess fährt danach mit der Überwachung der vorhandenen VPN-Infrastruktur fort, Schritt 901.
  • Wenn die Änderung andererseits einen neuen VPN-Tunnel erfordert, bestimmt der Prozess in Schritt 913, ob bereits ein VPN-Agent installiert ist. Falls nicht, sendet der VPN-Manager 915 den neuen VPN-Agenten an den Endpunkt, der ihn benötigt. In Schritt 917 wird der neue VPN-Tunnel über die neuen und/oder vorhandenen VPN-Agenten erstellt. Der neue VPN-Tunnel kann als Aufteilung eines vorhandenen Tunnels betrachtet werden. Der Prozess kehrt danach zu Schritt 901 zurück, um die VPN-Infrastruktur auf mögliche Änderungen zu überwachen.
  • In den bevorzugten Ausführungsformen der Erfindung wird ein zentraler VPN-Manager durch einen einzelnen System- oder Cloud-Anbieter gesteuert. Zum Beispiel wäre es in Cloud-Umgebungen für laaS- und PaaS-Anbieter nützlich, eine VPN-Funktion in diesen Umgebungen anzubieten, die durch die vorliegende Erfindung aktiviert wird.
  • Ein Föderationsmodell kann verwendet werden, in dem ein VPN-Manager von einem Cloud-Anbieter bereitgestellt wird und der Cloud-Anbieter ein Modell verwendet, das der föderierten Identität (OAuth, OpenID usw.) ähnlich ist, um ein Trust-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 Authentifizierung des Typs Föderation mit dem VPN-Server der Organisation verwenden, um eine Trust-Verbindung mit dem VPN-Manager des Cloud-Anbieter zu erstellen.
  • Eine Ausführungsform wird in 10 veranschaulicht. Eine Anwendung für eine erste Organisation befindet sich auf Maschine M in einer von einer ersten Gruppe von Clouds 1001 und erfordert die Erstellung eines VPN-Tunnels, um mit Maschine F in einer von einer zweiten Gruppe von Clouds 1003 Daten auszutauschen, die zu einer anderen Organisation gehört. VPN-Tunnel zwischen Maschinen in der Gruppe von Clouds 1001 werden von einem VPN-Manager 1005 verwaltet, während VPN-Tunnel in der Gruppe von Clouds 1003 von einem VPN-Manager 1007 verwaltet werden.
  • Wenn Anwendungen dann einen VPN-Tunnel haben möchten, stellen sie eine Anforderung an den Server ihres eigenen VPN-Anbieters, z.B. nimmt die Anwendung auf Maschine M Kontakt mit dem VPN-Manager 1005 auf. Der VPN-Manager 1005 würde mit dem ihm entsprechenden VPN-Manager 1007 Daten austauschen, um den neuen VPN-Tunnel 1011 einzurichten. Somit würden Clients 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 einfachen Tunnel generieren. Ähnlich der Beschreibung oben für VPN-Tunnel in einer hybriden Cloud-Umgebung können die VPN-Tunnel, die zwischen den beiden Cloud-Umgebungen 1001 und 1003 verwaltet werden, neu konfiguriert, zusammengeführt und aufgeteilt werden, um die Anforderungen der Anwendungen während ihrer Lebenszyklen zu berücksichtigen.
  • Der oben beschriebene Erfindungsgegenstand bietet viele Vorteile. In bevorzugten Ausführungsformen ermöglicht das Zusammenführen und Aufteilen von VPN-Tunneln Netzwerkoptimierungen. Der VPN-Manager kann verfügbare Bandbreite, verfügbare Maschinenrechenleistung, Netzwerktopologie und VPN-Systemaufwand berücksichtigen, wenn Entscheidungen zu Standort und Kombination von VPNs getroffen werden. Beim Stand der Technik werden dedizierte VPN-Tunnel verwendet, um Sicherheit zwischen Cloud-Umgebungen bereitzustellen. Durch die Überwachung des Durchsatzes auf bestimmten VPN-Tunneln kann der VPN-Manager die Erstellung eines zusätzlichen VPN-Tunnels zum Aufteilen der VPNs vorschlagen, um eine große Menge an Datenverkehr zu bearbeiten, oder ein Zusammenführen von nicht ausgelasteten VPNs vorschlagen, die an Standorten innerhalb derselben Cloud enden.
  • Wenn der VPN-Manager mit ausreichender Berechtigung in Cloud-Umgebungen integriert wird, kann er automatisch eine dedizierte Maschine zum Auslagern von VPN-Datenverkehr bereitstellen. Wenn der VPN-Manager über die Berechtigungsnachweise eines Cloud-Administrators verfügt, können diese Berechtigungsnachweise für die automatische Erstellung einer VM in der Cloud und deren Dedikation für die Verarbeitung von VPN-Datenverkehr verwendet werden, wodurch ein neuer VPN-Manager für die gemeinsame Nutzung der Last erstellt wird. Dies hilft dabei, die Last auf den vorhandenen Maschinen zu entschärfen, die auf dem VPN-Manager ausgeführt werden, und macht den VPN-Manager für die hybride Cloud skalierbarer. Alle oder einige VPN-Agenten beginnen danach, mit dem neuen VPN-Manager Daten auszutauschen. In einer weiteren Ausführungsform kann der VPN-Manager, abhängig von der Verfügbarkeit, auch auf eine dedizierte VPN-Einheit auslagern. Wenn der VPN-Manager eine VPN-Einheit erkennt, kann er einen VPN-Manager installieren (oder einen bereits installierten verwenden), danach kann der VPN-Manager ähnlich wie bei einer Cloud-VM damit beginnen, Datenverkehr auf die VPN-Einheit auszulagern, um einiges von der Arbeitslast auf dem vorhandenen VPN-Manager abzubauen. Zwar kann die Erfindung in einigen bevorzugten Ausführungsformen weitgehend autonom sein, doch kann der Administrator die VPN-Tunnel über die Benutzeroberfläche manuell abstimmen. In autonomen Ausführungsformen der Erfindung kann eine Benutzeroberfläche bereitgestellt werden, um den Administrator warnend auf Maßnahmen hinzuweisen, die durch den VPN-Manager ergriffen wurden. Der Administrator kann das Protokoll für die Ereignisse prüfen, die von den Agenten erkannt wurden, und die anschließenden Maßnahmen, die durch den VPN-Manager ergriffen oder angewiesen wurden, um entweder die autonomen Richtlinien anzupassen oder Maßnahmen außer Kraft zu setzen, die durch den VPN-Manager ergriffen wurden. Der Administrator kann physische VPN-Einheiten installieren und den VPN-Manager konfigurieren, um explizit diese Einheiten standardmäßig zu verwenden.
  • In alternativen Ausführungsformen, statt der oben erörterten Verwaltung auf Agenten-Grundlage, könnte der VPN-Manager Cloud-APIs nutzen oder vorhandene Agenten nutzen (wie zum Beispiel Chef-Client-Agenten), um die Endpunkte der VPN-Tunnel neu zu konfigurieren. In diesen Ausführungsformen werden die oben als von den VPN-Agenten ergriffenen beschriebenen Maßnahmen stattdessen von anderen Netzwerk-Entitäten ergriffen, wie beispielsweise den Chef-Agenten oder anderen VPN-Steuermechanismen, die sich bereits in der Cloud-Infrastruktur befinden. Wenn die Cloud-APIs verwendet werden, könnte eine Vernetzung auf Software-Grundlage in der Cloud verfügbar sein, die zum Erstellen von VPN-Tunneln für alle VMs verwendet werden könnte, die mit einem softwaredefiniertem Netzwerk (SDN) verbunden sind, anstatt Agenten auf allen und jeder Maschine bereitzustellen.
  • Wie oben erörtert, kann eine Anwendung die VPN-Parameter für den VPN-Tunnel ändern, wenn sich der Lebenszyklus der Anwendung ändert. Zum Beispiel kann während eines Anwendungs-Bereitstellungsprozesses die Anwendung verschiedene Datenübertragungsbandbreiten und Sicherheitsprotokolle erfordern. 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 eine dynamische VPN-Bereitstellung, -Verwaltung und - Neukonfiguration in Reaktion auf detaillierte und dynamische Anforderungen bereit, die durch eine Gruppe von Anwendungen oder Maschinen innerhalb der Organisationsnetzwerke vorgegeben werden. Durch Ermöglichen einer Zusammenführung und Aufteilung von mehreren flexiblen VPN-Tunneln wird die Effizienz und Sicherheit einer hybriden Cloud verbessert. Ferner kann eine Organisation die Erfindung verwenden, um VPN-Tunnelungsfunktionen mit Föderation mit der Cloud-Umgebung bereitzustellen, die durch Partner oder andere vertrauenswürdige Entitäten kontrolliert wird. Die Föderation von VPN-Funktionalität durch Schaffen von Vertrauen zwischen VPN-Managern, die zu verschiedenen Organisationen gehören, ermöglicht Anwendungen die Nutzung von vorhandenen Vertrauensbeziehungen ohne zu verlangen, dass sich die Anwendung selbst mehreren Organisationen anschließt.
  • Ausführungsformen der Erfindung ermöglichen Änderungen an der VPN-Tunnel-Topologie in Reaktion auf ein automatisiertes Bereitstellen und Entfernen von Cloudgehosteter Hardware für eine effizientere Verwaltung und Auslagern von VPN-Aktivität. Die Wahl der VPN-Technologie erfolgt in Reaktion auf Umgebungsänderungen und Anforderungen der anfordernden Anwendungen. Durch die Nutzung der Cloud-Infrastruktur (APIs, automatisierte Bereitstellungswerkzeuge) kann der VPN-Manager VPN-Tunnel mit einem Mindestmaß an zusätzlicher Infrastruktur verwalten. Ausführungsformen der Erfindung ändern reagierend auf Grundlage des Anwendungslebenszyklus die Datenübertragung, wie beispielsweise eine Änderung von zulässigen Protokollen auf Grundlage von anwendungsgesteuerten Befehlen. Durch eine durchgehende Ü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 VPN-Tunnel-Neukonfiguration.
  • Gegenüber dem Stand der Technik sind viele Vorteile vorhanden. Die Erfindung stellt eine dynamische VPN-Bereitstellung, -Verwaltung und -Neukonfiguration in Reaktion auf detaillierte und dynamische Anforderungen bereit, die durch die Anwendungen vorgegeben werden. Des Weiteren können mehrere VPN-Manager VPNs in verschiedenen Clouds und durch Föderation von VPN-Funktionalität durch Schaffen von Vertrauen 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 einzelnen VPN-Tunnel verbessert die Effizienz und Sicherheit der Datenübertragung zwischen Clouds. Falls erforderlich, kann auch eine Aufteilung von kombinierten VPNs berücksichtigt werden, um neuen Anforderungen gerecht zu werden. In Ausführungsformen der Erfindung wird die Hardware, die zum Bereitstellen der VPN-Funktion verwendet wird, für eine effizientere Verwaltung automatisch bereitgestellt und entfernt. Die VPN-Technologie zum Erstellen eines bestimmten Tunnels wird in Reaktion auf die Cloud-Umgebung und die Anforderungen gewählt, die von der Anwendung angegeben werden. In Fällen, in denen spezielle VPN-Agenten verwendet werden, sind die speziellen VPN-Agenten so konfiguriert, dass sie die Anforderungen bereitstellen, die von der Anwendung oder der Maschine gestellt werden, die einen VPN-Tunnel anfordern. Die Cloud-Infrastruktur selbst ist flexibel, was eine Neuzuweisung von Aufgaben zwischen Maschinen ermöglicht. Diese Flexibilität kann in dem VPN-Verwaltungsprozess genutzt werden (APIs, automatisierte Bereitstellungswerkzeuge), indem derartige Ressourcen dynamisch zugewiesen werden, um zusätzliche VPNs bei Bedarf zu verwalten.
  • Die VPN-Tunnel können zum Bereitstellen einer Erweiterung oder Einschränkung des Datenübertragungskanals auf Grundlage des Anwendungslebenszyklus sowie einer Echtzeitänderung der zulässigen Protokolle in einem VPN-Tunnel auf Grundlage von anwendungsgesteuerten Befehlen reagierend geändert werden. In bevorzugten Ausführungsformen der Erfindung überwachen die VPN-Agenten für eine dynamische VPN-Neukonfiguration durchgehend VPN-Anforderungen, die durch den Administrator oder die Anwendung oder eine Gruppe von Anwendungen bereitgestellt werden, sowie den tatsächlichen Durchsatz, der durch die Anwendung angefordert wird. Wie beschrieben, kann der Ansatz hierin manuell oder automatisiert im Ganzen oder in Teilen umgesetzt werden.
  • Zwar wurde eine bevorzugte Betriebsumgebung und ein bevorzugter Anwendungsfall beschrieben, doch können die Techniken hierin in jeder anderen Betriebsumgebung verwendet werden, in denen eine Bereitstellung von Diensten gewünscht wird.
  • Wie beschrieben, kann die oben beschriebene Funktionalität als eigenständiger Ansatz umgesetzt werden, z.B. 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 eines Webdienstes über eine SOAP/XML-Schnittstelle). Die hierin beschriebenen speziellen Hardware- und Software-Umsetzungsdetails dienen nur zu veranschaulichenden Zwecken und sollen den Schutzumfang des beschriebenen Erfindungsgegenstands nicht 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 zu der 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, föderierten 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 oder einer Ausführungsform annehmen, die Hardware- und Software-Elemente enthält. In einer bevorzugten Ausführungsform 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 Anwendungen oder der Code können auch in einem computerlesbaren Speichermedium in einem Server-Datenverarbeitungssystem gespeichert und angepasst werden, 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 werden die Techniken in einer Sonder-Datenverarbeitungsplattform umgesetzt, bevorzugt in Software, die durch einen oder mehrere 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. In ihrer Gesamtheit weist diese Sonder-Hardware und -Software die oben beschriebene Funktionalität auf.
  • In der bevorzugten Ausführungsform wird die hierin bereitgestellte Funktionalität als ein Zusatzbereich oder eine Erweiterung zu einer vorhandenen Verwaltungslösung für eine Cloud-Rechenleistungsbereitstellung umgesetzt.
  • Obwohl im Vorgenannten eine bestimmte Reihenfolge von Operationen beschrieben wird, die von bestimmten Ausführungsformen der Erfindung ausgeführt werden, sollte klar sein, dass eine derartige Reihenfolge beispielhaft ist, da alternative Ausführungsformen die Operationen in einer anderen Reihenfolge ausführen, Operationen kombinieren, bestimmte Operationen überlappen können oder dergleichen. Verweise in der Patentschrift auf eine bestimmte Ausführungsform geben an, dass die beschriebene Ausführungsform ein bestimmtes Merkmal, eine bestimmte Struktur oder Eigenschaft enthalten kann, dass aber nicht jede Ausführungsform notwendigerweise das bestimmte Merkmal, die bestimmte Struktur oder Eigenschaft enthalten muss.
  • Während bestimmte Komponenten des Systems separat beschrieben worden sind, wird einem Fachmann abschließend klar sein, dass einige der Funktionen in bestimmten Anweisungen, Programmfolgen, Codeabschnitten und dergleichen kombiniert oder gemeinsam genutzt werden können.
  • Nach der Beschreibung der Erfindung wird Folgendes beansprucht.

Claims (19)

  1. Verfahren, aufweisend: in einem ersten VPN-Agenten Verwalten eines ersten VPN-Tunnels in einer Mehrzahl von VPN-Tunneln zwischen einer ersten Cloud und einer zweiten Cloud in einer hybriden Cloud-Umgebung; Empfangen einer Anforderung von einem VPN-Manager, wobei die Anforderung eine erste Gruppe von Anforderungen für den ersten VPN-Tunnel in der Mehrzahl von VPN-Tunneln enthält; Erstellen des ersten VPN-Tunnels gemäß der ersten Gruppe von Anforderungen; Empfangen einer Modifizierungsanforderung von dem VPN-Manager, die eine zweite Gruppe von Anforderungen enthält; Abstimmen des ersten VPN-Tunnels gemäß einer zweiten Gruppe von Anforderungen; Zusammenführen eines zweiten VPN-Tunnels, der gemäß der zweiten Gruppe von Anforderungen erstellt wurde, mit dem ersten VPN-Tunnel; und Modifizieren des ersten VPN-Tunnels gemäß der ersten und der zweiten Gruppe von Anforderungen.
  2. Verfahren nach Anspruch 1, ferner aufweisend: Überwachen auf Ereignisse, die in dem ersten VPN-Tunnel auftreten; Erkennen eines ersten Ereignisses, das in dem ersten VPN-Tunnel auftritt; und Senden des ersten Ereignissen an den VPN-Manager.
  3. Verfahren nach Anspruch 1, wobei die erste Gruppe von Anforderungen eine Gruppe von Sicherheitsanforderungen enthält.
  4. Verfahren nach Anspruch 2, wobei das erste Ereignis aus der Gruppe ausgewählt wird, bestehend aus dem Empfangen einer Modifizierungsanforderung von einer Anwendung unter Verwendung des ersten VPN-Tunnels, die eine zweite Gruppe von Anforderungen für den ersten VPN-Tunnel enthält, dem Erkennen einer Änderung in der Datenverkehrsbandbreite in dem ersten VPN-Tunnel, einer Netzwerk-Topologieänderung für die erste Cloud und einer Modifizierungsanforderung von einer Anwendung für eine Änderung in den Sicherheitsanforderungen für den ersten VPN-Tunnel.
  5. Verfahren nach Anspruch 1, ferner aufweisend: Empfangen einer Anforderung von dem VPN-Manager, wobei die Anforderung eine zweite Gruppe von Anforderungen für den ersten VPN-Tunnel enthält; Modifizieren des ersten VPN-Tunnels gemäß der zweiten Gruppe von Anforderungen, wobei die erste Gruppe von Anforderungen für Datenverkehr von der ersten Cloud-Anwendung steht und die zweite Gruppe von Anforderungen für Datenverkehr von einer zweiten Cloud-Anwendung steht; 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, und wobei die erste Cloud eine private Cloud ist und die zweite Cloud eine öffentliche Cloud in der hybriden Cloud-Umgebung ist.
  6. Verfahren nach Anspruch 1, ferner aufweisend: Empfangen eines ausgewählten VPN-Agenten vom VPN-Manager; Installieren des ausgewählten VPN-Agenten in einem ersten System; und wobei der VPN-Agent auf Grundlage der ersten Gruppe von Anforderungen ausgewählt wird.
  7. Vorrichtung, aufweisend: einen Prozessor; Computer-Arbeitsspeicher, der Computerprogrammanweisungen speichert, die von dem Prozessor ausgeführt werden, um einen ersten VPN-Tunnel von einer 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 betriebsfähig ist, um eine erste Anforderung von einem VPN-Manager zu empfangen, wobei die Anforderung eine erste Gruppe von Anforderungen für den ersten VPN-Tunnel in der Mehrzahl von VPN-Tunneln enthält; Programmcode, der betriebsfähig ist, um den ersten VPN-Tunnel gemäß der ersten Gruppe von Anforderungen zu erstellen; Programmcode, der betriebsfähig ist, um eine zweite Anforderung von dem VPN-Manager zu empfangen, wobei die zweite Anforderung eine zweite Gruppe von Anforderungen für einen zweiten VPN-Tunnel in der Mehrzahl von VPN-Tunneln enthält; Programmcode, der betriebsfähig ist, um den zweiten VPN-Tunnel gemäß der zweiten Gruppe von Anforderungen zu erstellen; Programmcode, der betriebsfähig ist, um eine Zusammenführungsanforderung zum Zusammenführen des zweiten VPN-Tunnels in den ersten VPN-Tunnel zu empfangen; Programmcode, der betriebsfähig ist, um den ersten VPN-Tunnel und den zweiten VPN-Tunnel zusammenzuführen; und Programmcode, der betriebsfähig ist, um den ersten VPN-Tunnel gemäß einer zweiten Gruppe von Anforderungen abzustimmen.
  8. Vorrichtung nach Anspruch 7, ferner aufweisend: Programmcode, der betriebsfähig ist, um Ereignisse in dem ersten VPN-Tunnel zu überwachen; Programmcode, der betriebsfähig ist, um Anforderungen von Anwendungen unter Verwendung des ersten VPN-Tunnels zu empfangen; und Programmcode, der betriebsfähig ist, um Anforderungen und Informationen in Bezug auf die Verwaltung des ersten VPN-Tunnels an den VPN-Manager zu übermitteln.
  9. Vorrichtung nach Anspruch 7, 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 betriebsfähig ist, um vor einem Zusammenführen des ersten VPN-Tunnels und des zweiten VPN-Tunnels zu bestimmen, ob die erste und die zweite Gruppe von Sicherheitsanforderungen kompatibel sind.
  10. Vorrichtung nach Anspruch 8, wobei das Ereignis eine erkannte Änderung in der Datenverkehrsbandbreite in dem ersten VPN-Tunnel ist, der durch den VPN-Agenten erkannt wurde.
  11. Vorrichtung nach Anspruch 8, ferner aufweisend: eine Gruppe von spezialisierten VPN-Agenten; und Programmcode, der betriebsfähig ist, um einen ausgewählten VPN-Agenten aus den spezialisierten VPN-Agenten gemäß der ersten Gruppe von Anforderungen zu erstellen;
  12. Vorrichtung nach Anspruch 8, wobei das Ereignis eine Änderung des Anwendungslebenszyklus der ersten Cloud-Anwendung erkennt.
  13. Vorrichtung nach Anspruch 10, wobei der Programmcode, der betriebsfähig ist, um Ereignisse in dem ersten VPN-Tunnel zu überwachen, ferner aufweist: Programmcode, der betriebsfähig ist, um zu bestimmen, ob ein unterer Schwellenwert einer Datenverkehrsbandbreite in dem ersten VPN-Tunnel überschritten wurde; Programmcode, der betriebsfähig ist, um zu bestimmen, ob ein oberer Schwellenwert einer Datenverkehrsbandbreite in dem ersten VPN-Tunnel überschritten wurde; Programmcode, um in Reaktion auf eine Bestimmung, dass ein Schwellenwert überschritten worden ist, eine Nachricht an den VPN-Manager zu senden.
  14. Vorrichtung nach Anspruch 8, ferner aufweisend: Programmcode, der betriebsfähig ist, um eine Aufteilungsanforderung von dem VPN-Manager zu empfangen, um den ersten VPN-Tunnel in einen dritten VPN-Tunnel und den ersten VPN-Tunnel aufzuteilen; und Programmcode, der betriebsfähig ist, um den ersten Tunnel in den ersten VPN-Tunnel und den dritten VPN-Tunnel aufzuteilen.
  15. Computerprogrammprodukt in einem nicht-transitorischen computerlesbaren Datenträger zur Verwendung in einem Datenverarbeitungssystem, wobei das Computerprogrammprodukt Computerprogrammanweisungen speichert, die von dem Prozessor ausgeführt werden, um einen ersten VPN-Tunnel von einer 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 betriebsfähig ist, um eine erste Anforderung von einem VPN-Manager zu empfangen, wobei die erste Anforderung eine erste Gruppe von Anforderungen für einen ersten VPN-Tunnel in der Mehrzahl von VPN-Tunneln enthält; Programmcode, der betriebsfähig ist, um den ersten VPN-Tunnel gemäß der ersten Gruppe von Anforderungen zu erstellen; Programmcode, der betriebsfähig ist, um eine zweite Anforderung von dem VPN-Manager zu empfangen, wobei die zweite Anforderung eine zweite Gruppe von Anforderungen für einen VPN-Tunnel in der Mehrzahl von VPN-Tunneln enthält; Programmcode, der betriebsfähig ist, den ersten VPN-Tunnel gemäß der zweiten Gruppe von Anforderungen zu modifizieren, wobei die erste Gruppe von Anforderungen für Datenverkehr von einer ersten Cloud-Anwendung steht, und die zweite Gruppe von Anforderungen für Datenverkehr von einer zweiten Cloud-Anwendung steht, und der erste VPN-Tunnel Datenverkehr von ersten und zweiten Cloud-Anwendungen überträgt; Programmcode, der betriebsfähig ist, um eine Aufteilungsanforderung für den ersten VPN-Tunnel zu empfangen; und Programmcode, der betriebsfähig ist, um den ersten VPN-Tunnel in den ersten VPN-Tunnel und einen zweiten VPN-Tunnel aufzuteilen, wobei der VPN-Agent den ersten VPN-Tunnel gemäß der ersten Gruppe von Anforderungen für Datenverkehr von der ersten Cloud-Anwendung abstimmt und den zweiten VPN-Tunnel gemäß einer zweiten Gruppe von Anforderungen für Datenverkehr von der zweiten Cloud-Anwendung abstimmt.
  16. Computerprogrammprodukt nach Anspruch 15, ferner aufweisend: Programmcode, der betriebsfähig ist, um Ereignisse in dem ersten VPN-Tunnel zu überwachen; Programmcode, der betriebsfähig ist, um Anforderungen von Anwendungen unter Verwendung des ersten VPN-Tunnels zu empfangen; und Programmcode, der betriebsfähig ist, um Anforderungen und Informationen in Bezug auf die Verwaltung des ersten VPN-Tunnels an den VPN-Manager zu übermitteln.
  17. Computerprogrammprodukt nach Anspruch 15, wobei eine Änderung in Sicherheitsanforderungen für die erste Cloud-Anwendung die Aufteilungsanforderung für den ersten VPN-Tunnel verursacht.
  18. Computerprogrammprodukt nach Anspruch 15, das ferner einen Programmcode aufweist, der betriebsfähig ist, um zu bestimmen, dass Datenverkehr von der ersten Cloud-Anwendung nicht mit Datenverkehr von der zweiten Cloud-Anwendung kompatibel ist.
  19. Computerprogrammprodukt nach Anspruch 15, das ferner einen Programmcode aufweist, der betriebsfähig ist, um den ersten VPN-Tunnel an einem Ende des Lebenszyklus einer ersten Cloud-Anwendung zu entfernen.
DE102016222048.9A 2015-12-15 2016-11-10 Dynamisch definierte virtuelle private netzwerktunnel in hybriden cloud-umgebungen Active DE102016222048B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/970,507 2015-12-15
US14/970,507 US10142293B2 (en) 2015-12-15 2015-12-15 Dynamically defined virtual private network tunnels in hybrid cloud environments

Publications (2)

Publication Number Publication Date
DE102016222048A1 DE102016222048A1 (de) 2017-06-22
DE102016222048B4 true DE102016222048B4 (de) 2023-10-05

Family

ID=58222208

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016222048.9A Active DE102016222048B4 (de) 2015-12-15 2016-11-10 Dynamisch definierte virtuelle private netzwerktunnel in hybriden cloud-umgebungen

Country Status (5)

Country Link
US (3) US10142293B2 (de)
JP (1) JP6803114B2 (de)
CN (1) CN106888143B (de)
DE (1) DE102016222048B4 (de)
GB (1) GB2553157B (de)

Families Citing this family (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9736065B2 (en) 2011-06-24 2017-08-15 Cisco Technology, Inc. Level of hierarchy in MST for traffic localization and load balancing
US8908698B2 (en) 2012-01-13 2014-12-09 Cisco Technology, Inc. System and method for managing site-to-site VPNs of a cloud managed network
US9043439B2 (en) 2013-03-14 2015-05-26 Cisco Technology, Inc. Method for streaming packet captures from network access devices to a cloud server over HTTP
US10122605B2 (en) 2014-07-09 2018-11-06 Cisco Technology, Inc Annotation of network activity through different phases of execution
US9825878B2 (en) 2014-09-26 2017-11-21 Cisco Technology, Inc. Distributed application framework for prioritizing network traffic using application priority awareness
US10050862B2 (en) 2015-02-09 2018-08-14 Cisco Technology, Inc. Distributed application framework that uses network and application awareness for placing data
US10708342B2 (en) 2015-02-27 2020-07-07 Cisco Technology, Inc. Dynamic troubleshooting workspaces for cloud and network management systems
US10476982B2 (en) 2015-05-15 2019-11-12 Cisco Technology, Inc. Multi-datacenter message queue
US10034201B2 (en) 2015-07-09 2018-07-24 Cisco Technology, Inc. Stateless load-balancing across multiple tunnels
US11005682B2 (en) 2015-10-06 2021-05-11 Cisco Technology, Inc. Policy-driven switch overlay bypass in a hybrid cloud network environment
US10462136B2 (en) 2015-10-13 2019-10-29 Cisco Technology, Inc. Hybrid cloud security groups
US10523657B2 (en) 2015-11-16 2019-12-31 Cisco Technology, Inc. Endpoint privacy preservation with cloud conferencing
US10205677B2 (en) 2015-11-24 2019-02-12 Cisco Technology, Inc. Cloud resource placement optimization and migration execution in federated clouds
US10084703B2 (en) 2015-12-04 2018-09-25 Cisco Technology, Inc. Infrastructure-exclusive service forwarding
US10367914B2 (en) 2016-01-12 2019-07-30 Cisco Technology, Inc. Attaching service level agreements to application containers and enabling service assurance
US10044636B2 (en) 2016-03-11 2018-08-07 Sap Se Flow extension controller
US10129177B2 (en) 2016-05-23 2018-11-13 Cisco Technology, Inc. Inter-cloud broker for hybrid cloud networks
US10659283B2 (en) 2016-07-08 2020-05-19 Cisco Technology, Inc. Reducing ARP/ND flooding in cloud environment
US10432532B2 (en) 2016-07-12 2019-10-01 Cisco Technology, Inc. Dynamically pinning micro-service to uplink port
US10382597B2 (en) 2016-07-20 2019-08-13 Cisco Technology, Inc. System and method for transport-layer level identification and isolation of container traffic
US10263898B2 (en) 2016-07-20 2019-04-16 Cisco Technology, Inc. System and method for implementing universal cloud classification (UCC) as a service (UCCaaS)
US10142346B2 (en) * 2016-07-28 2018-11-27 Cisco Technology, Inc. Extension of a private cloud end-point group to a public cloud
US10567344B2 (en) 2016-08-23 2020-02-18 Cisco Technology, Inc. Automatic firewall configuration based on aggregated cloud managed information
US10659476B2 (en) * 2016-09-12 2020-05-19 Architecture Technology Corporation Transparent bridge for monitoring crypto-partitioned wide-area network
US10523592B2 (en) 2016-10-10 2019-12-31 Cisco Technology, Inc. Orchestration system for migrating user data and services based on user information
US9906401B1 (en) 2016-11-22 2018-02-27 Gigamon Inc. Network visibility appliances for cloud computing architectures
US11044162B2 (en) 2016-12-06 2021-06-22 Cisco Technology, Inc. Orchestration of cloud and fog interactions
US10326817B2 (en) 2016-12-20 2019-06-18 Cisco Technology, Inc. System and method for quality-aware recording in large scale collaborate clouds
US10334029B2 (en) 2017-01-10 2019-06-25 Cisco Technology, Inc. Forming neighborhood groups from disperse cloud providers
US10552191B2 (en) 2017-01-26 2020-02-04 Cisco Technology, Inc. Distributed hybrid cloud orchestration model
US10320683B2 (en) 2017-01-30 2019-06-11 Cisco Technology, Inc. Reliable load-balancer using segment routing and real-time application monitoring
US10671571B2 (en) 2017-01-31 2020-06-02 Cisco Technology, Inc. Fast network performance in containerized environments for network function virtualization
US11005731B2 (en) 2017-04-05 2021-05-11 Cisco Technology, Inc. Estimating model parameters for automatic deployment of scalable micro services
US10439877B2 (en) 2017-06-26 2019-10-08 Cisco Technology, Inc. Systems and methods for enabling wide area multicast domain name system
US10382274B2 (en) 2017-06-26 2019-08-13 Cisco Technology, Inc. System and method for wide area zero-configuration network auto configuration
US10425288B2 (en) 2017-07-21 2019-09-24 Cisco Technology, Inc. Container telemetry in data center environments with blade servers and switches
US10892940B2 (en) 2017-07-21 2021-01-12 Cisco Technology, Inc. Scalable statistics and analytics mechanisms in cloud networking
US10601693B2 (en) 2017-07-24 2020-03-24 Cisco Technology, Inc. System and method for providing scalable flow monitoring in a data center fabric
US10541866B2 (en) 2017-07-25 2020-01-21 Cisco Technology, Inc. Detecting and resolving multicast traffic performance issues
US11374760B2 (en) * 2017-09-13 2022-06-28 Microsoft Technology Licensing, Llc Cyber physical key
US11481362B2 (en) 2017-11-13 2022-10-25 Cisco Technology, Inc. Using persistent memory to enable restartability of bulk load transactions in cloud databases
US10705882B2 (en) 2017-12-21 2020-07-07 Cisco Technology, Inc. System and method for resource placement across clouds for data intensive workloads
US11595474B2 (en) 2017-12-28 2023-02-28 Cisco Technology, Inc. Accelerating data replication using multicast and non-volatile memory enabled nodes
US10511534B2 (en) 2018-04-06 2019-12-17 Cisco Technology, Inc. Stateless distributed load-balancing
US10721097B2 (en) * 2018-04-24 2020-07-21 Microsoft Technology Licensing, Llc Dynamic scaling of virtual private network connections
US10728361B2 (en) 2018-05-29 2020-07-28 Cisco Technology, Inc. System for association of customer information across subscribers
US10904322B2 (en) 2018-06-15 2021-01-26 Cisco Technology, Inc. Systems and methods for scaling down cloud-based servers handling secure connections
US10764266B2 (en) 2018-06-19 2020-09-01 Cisco Technology, Inc. Distributed authentication and authorization for rapid scaling of containerized services
US11019083B2 (en) 2018-06-20 2021-05-25 Cisco Technology, Inc. System for coordinating distributed website analysis
US10819571B2 (en) 2018-06-29 2020-10-27 Cisco Technology, Inc. Network traffic optimization using in-situ notification system
US10904342B2 (en) 2018-07-30 2021-01-26 Cisco Technology, Inc. Container networking using communication tunnels
US11196630B2 (en) * 2018-11-06 2021-12-07 Verizon Patent And Licensing Inc. Certificate-based authentication in networks employing small cell wireless stations
WO2021059353A1 (ja) * 2019-09-24 2021-04-01 エヌ・ティ・ティ・コミュニケーションズ株式会社 ネットワークシステム
US11140132B1 (en) * 2019-12-10 2021-10-05 Amazon Technologies, Inc. Network flow management
CN113162779B (zh) 2020-01-07 2024-03-05 华为云计算技术有限公司 一种多云互联的方法及设备
US20210250202A1 (en) * 2020-02-08 2021-08-12 Ihor YARTSEV System, method and use of software-defined virtual multi-service tunnel networking
US20210264361A1 (en) * 2020-02-26 2021-08-26 International Business Machines Corporation Market route recommendation for animals on hoof using contextualized market scores
US11526603B2 (en) * 2020-03-30 2022-12-13 Microsoft Technology Licensing, Llc Model for identifying the most relevant person(s) for an event associated with a resource
CN111934972B (zh) * 2020-08-12 2022-09-30 北京指掌易科技有限公司 应用程序vpn管理方法、装置及电子设备
US20220078209A1 (en) * 2020-09-08 2022-03-10 Cisco Technology, Inc. Enhanced trusted application manager utilizing intelligence from a secure access server edge (sase)
US11463366B1 (en) 2020-09-22 2022-10-04 Architecture Technology Corporation Autonomous network optimization using network templates
US20220103597A1 (en) * 2020-09-29 2022-03-31 Cisco Technology, Inc. Dynamic optimization of client application access via a secure access service edge (sase) network optimization controller (noc)
US11936522B2 (en) * 2020-10-14 2024-03-19 Connectify, Inc. Selecting and operating an optimal virtual private network among multiple virtual private networks
CN112468325B (zh) * 2020-11-11 2023-07-11 广州鲁邦通物联网科技股份有限公司 一种可复用的vpn架构和vpn调度方法
CN112104754B (zh) * 2020-11-18 2021-05-18 腾讯科技(深圳)有限公司 网络代理方法、系统、装置、设备及存储介质
US11297038B1 (en) * 2021-07-03 2022-04-05 Oversec, Uab Rotating internet protocol addresses in a virtual private network
CN113595846A (zh) * 2021-07-20 2021-11-02 重庆长安汽车股份有限公司 云对云环境中gre隧道实现通信的方法
US11362990B1 (en) * 2021-07-24 2022-06-14 Uab 360 It Reassigning exit internet protocol addresses in a virtual private network server
US11444911B1 (en) 2022-02-22 2022-09-13 Oversec, Uab Domain name system configuration during virtual private network connection
US20230388272A1 (en) * 2022-05-31 2023-11-30 Microsoft Technology Licensing, Llc Multiple Virtual Private Network Active Connection Management

Citations (2)

* 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
US20130311778A1 (en) 2012-05-16 2013-11-21 Cisco Technology, Inc. System and method for secure cloud service delivery with prioritized services in a network environment

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473863B1 (en) * 1999-10-28 2002-10-29 International Business Machines Corporation Automatic virtual private network internet snoop avoider
US7209479B2 (en) 2001-01-18 2007-04-24 Science Application International Corp. Third party VPN certification
US7664119B2 (en) * 2001-03-30 2010-02-16 Intel Corporation Method and apparatus to perform network routing
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
JP4457403B2 (ja) * 2004-03-17 2010-04-28 日本電気株式会社 専用線構築システム及び専用線相互接続制御プログラム
CN101091371A (zh) * 2005-01-07 2007-12-19 阿尔卡特朗讯公司 提供移动节点之间路由优化安全会话连续性的方法和装置
US20060245362A1 (en) * 2005-01-07 2006-11-02 Choyi Vinod K Method and apparatus for providing route-optimized secure session continuity between mobile nodes
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
US8503453B2 (en) 2006-11-20 2013-08-06 Cisco Technology, Inc. Adaptive quality of service in an easy virtual private network environment
US8514868B2 (en) 2008-06-19 2013-08-20 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
EP2667541B1 (de) 2012-05-23 2015-08-05 Alcatel Lucent Konnektivitätsdienst-Orchestrator
US9092427B2 (en) * 2012-06-08 2015-07-28 Lockheed Martin Corporation Dynamic trust session
US8892766B1 (en) 2012-06-28 2014-11-18 Trend Micro Incorporated Application-based network traffic redirection for cloud security service
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
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
CN104753752B (zh) * 2013-12-30 2019-05-07 格尔软件股份有限公司 一种适用于vpn的按需连接方法
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
US9723065B2 (en) 2014-10-13 2017-08-01 Vmware, Inc. Cross-cloud object mapping for hybrid clouds
US9553887B2 (en) 2014-10-13 2017-01-24 Vmware, Inc. Virtual machine compliance checking in cloud environments

Patent Citations (2)

* 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
US20130311778A1 (en) 2012-05-16 2013-11-21 Cisco Technology, Inc. System and method for secure cloud service delivery with prioritized services in a network environment

Also Published As

Publication number Publication date
US10142293B2 (en) 2018-11-27
JP2017112607A (ja) 2017-06-22
GB2553157A (en) 2018-02-28
JP6803114B2 (ja) 2020-12-23
DE102016222048A1 (de) 2017-06-22
CN106888143A (zh) 2017-06-23
US20170171158A1 (en) 2017-06-15
US10505904B2 (en) 2019-12-10
GB2553157B (en) 2019-07-10
GB201620874D0 (en) 2017-01-25
US20200067877A1 (en) 2020-02-27
US10834100B2 (en) 2020-11-10
CN106888143B (zh) 2020-03-10
US20190052601A1 (en) 2019-02-14

Similar Documents

Publication Publication Date Title
DE102016222048B4 (de) Dynamisch definierte virtuelle private netzwerktunnel in hybriden cloud-umgebungen
DE112016003726B4 (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
DE112019001481T5 (de) Selektives bereitstellen gegenseitiger transportschichtsicherheit mittels alternativer servernamen
WO2022235651A1 (en) Distributed computing system with multi tenancy based on application slices
DE112016001657T5 (de) Multi-Tenant-Sensitiver DHCP-Mechanismus für Cloud-Netzwerke
DE112013002544T5 (de) Cloudbasiertes Teilen von Datenpunkten und Zusammenarbeit unter Benutzergruppen
DE102015119890A1 (de) Paralleles Verarbeiten von Service-Funktionen in Service-Funktionsketten
DE112012003056T5 (de) Virtueller Computer und virtueller Dienst
DE102021206841A1 (de) Verfahren zur verschlüsselung der daten im ruhezustand für daten, die sich auf kubernetes-persistenten volumen befinden
DE112020000535B4 (de) Fehlerbehebung innerhalb und außerhalb der eigenen Räumlichkeiten
DE102018202432A1 (de) Strukturunterstützung für die Dienstgüte
DE102022212395A1 (de) Ende-zu-ende-netzwerk-slicing (ens) vom ran- zum kernnetz für kommunikationen der nächsten generation (ng)
DE112021004945T5 (de) Techniken der kompositionellen verifikation für rollenerreichbarkeitsanalysen in identitätssystemen
EP3860046A1 (de) Priorisierung der durchsetzung von richtlinienabsichten auf netzwerkgeräten
DE112021005237T5 (de) Verwaltung von privaten schlüsseln
DE112021006263T5 (de) Authentizitätsprüfung eines anfordernden benutzers auf der grundlage einer übertragungsanforderung
DE102020113257A1 (de) Policy management system zur bereitstellung von autorisierungsinformationen über den distributed data store
Buchanan et al. Azure Arc-Enabled Kubernetes: Getting Started
DE102021127676A1 (de) Verwaltung von richtlinien in zielumgebungen
DE202016008055U1 (de) Sichere Konfiguration von Cloud-Computerknoten
Sunita et al. Tools for Cloud for Resource Management: NOVA and SNMP
DE112021005136T5 (de) Automatisches mobiles Kube-Edge-Konfigurieren

Legal Events

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

Free format text: PREVIOUS MAIN CLASS: H04L0029060000

Ipc: H04L0065000000

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