TECHNISCHE UNIVERSITÄT DRESDEN

Größe: px
Ab Seite anzeigen:

Download "TECHNISCHE UNIVERSITÄT DRESDEN"

Transkript

1 TECHNISCHE UNIVERSITÄT DRESDEN FAKULTÄT INFORMATIK PROFESSUR FÜR RECHNERNETZE PROF. DR. ALEXANDER SCHILL Großer Beleg ESP-Cloud Entwicklung eines Algorithmus zur effizienten Dienstverteilung in Cloud-Umgebungen Ghiath Makhoul (Matr.-Nr.: ) Betreuter: Dr.-Ing. Anja Strunk Dresden, 1. Mai. 2012

2 Selbständigkeitserklärung Hiermit versichere ich, Ghiath Makhoul, dass ich die vorliegende Arbeit selbständig verfasst und keine anderen als die angegebenen Quellen benuzt wurden. Dresden, den Ghiath Makhoul 1

3 Inhaltsverzeichnis 0 Einleitung Grundlagen Cloud Computing Die wichtigsten Charakteristika von Cloud Computing Einsatzmodelle Servicemodelle Cloud Computing Vor und Nachteile Datenkategorien Die Cloud-Sicherheitsziele Der Dreiklang von Vertraulichkeit, Verfügbarkeit und Integrität FlexCloud und die π-box FlexCloud π-cloud Datensicherung in der π-cloud Vorhandene Techniken Virtualisierung Homomorphe Verschlüsslung π-cloud Prinzip Anforderungsanalyse Problembeschreibung Funktionale Anforderungen Nicht-Funktionale Anforderungen Formale Beschreibung Eingeben Gesucht Randbedingung Die Zielfunktion Implementierung Klassendiagramm Das Cloud-Teilklassendiagramm Die Verteilungsmatrix-Teilklassendiagramm XML Datei Warum XML?... 25

4 4.2.2 Die Struktur der XML-Dateien Das Auswählen des XML-Parsers Brute-Force Algorithmus Die Verteilung eines Dienstes Der Verteilungsalgorithmus Das Umordnensverfahren Die Permutation Die Suche nach der besten Lösung Die Analyse des Algorithmus Zeitaufwand Geräte-Eigenschaften Einfluss der Dienstanzahl Einfluss Der Anzahl der Endgeräte Die Grenzen des Algorithmus Die Laufzeitberechnung (Komplexität) Zusammenfassung und Ausblick Literaturverzeichnis

5 1 Einleitung In a world that sees new technological trends bloom and fade on almost a daily basis, one new trend promises more longevity. This trend is called cloud computing, and it will change the way you use your computer and the Internet. (Miller, 2009) Tag für Tag wird der Begriff Cloud Computing immer bekannter. Diese Technologie repräsentiert eine neue Mode der verteilten Systeme. Die Firmen, die diese Technologien anbieten, stellen ihren Kunden hohe Rechenressourcen sowie Speicherkapazität und viele andere Dienste zur Verfügung. Aber trotz aller Sicherheitsmaßnamen, die die Firmen sich stellen, bleiben die Kunden verzweifelt, da sich ihre Daten bei einem fremden Anbieter befinden. Als eine Alternative würde das Konzept von Secure Personal Cloud, auch π-cloud genannt, entwickelt. Das Konzept erlaubt es dem Nutzer sowie den Unternehmen aus ihren eigenen Endgeräten eigene Cloud zu bauen. Das Problem liegt daran, dass die Rechenressourcen (Speicher, Prozessor) bei den privaten Nutzern immer begrenzt sind. Die vorliegende Arbeit setzt sich zum Ziel, ein Algorithmus zu entwickeln, der es erlaubt die für den Nutzer nötigen Dienste auf die verfügbaren Rechenressourcen optimal zu verteilen. Dazu werden Definitionen und grundlegende Elemente im ersten Kapitel dargestellt. Im zweiten Kapitel werden Sicherheitstechnologien dargestellt, die vom fremden Cloud-Anbieter benutzt werden könnten, um die Sicherheit der Nutzerdaten zu gewährleisten. In den darauffolgenden Kapiteln werden die Anforderungen zum Entwickeln des Algorithmus analysiert und Schlüsse gezogen. 2

6 2 Grundlagen 2.1 Cloud Computing Der Begriff Cloud (engl. für Wolke ) wurde früher für die Verbildlichung des Internets verwendet. Diese Verwendung wurde von den Netzwerkbeschreibungsdiagrammen abgeleitet, wo die Datenübertragung zwischen den, in verschiedenen Orten existierenden Endpunkten als eine Wolke dargestellt wird (Rittinghouse & Ransome, 2009). Die Cloud in Cloud Computing umfasst alle IT-Ressourcen wie Hardware, Netze, Datenspeicher, Dienste und Schnittstellen, die das Anbieten von Rechenleistungen als Dienste über das Internet ermöglichen. (Hurwitz, Bloor, Kaufman, & Halper, 2010) Cloud Computing an sich hat keine feste Definition, da jede Forschungsgruppe oder -organisation, die sich mit dieser Technik beschäftigt, sie anders definiert, demzufolge ist die Definition sehr undeutlich geworden (Rittinghouse & Ransome, 2009). Die Definition, auf die sich die vorliegende Arbeit stützt, stammt von Peter Mell und Tim Grance, die sie in ihrer Präsentation im Oktober 2009 unter dem Titel Effectively and Securely Using the Cloud Computing Paradigm veröffentlicht haben. Cloud computing is a pay-per-use model for enabling convenient, on-demand network access to a shared pool of configurable and reliable computing resources (e.g., networks, servers, storage, applications, services) that can be rapidly provisioned and released with minimal consumer management effort or service provider interaction. This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models. (Mell, Peter; Grance, Tim, 2009) Cloud Computing bezieht sich auf die Anwendungen, die die Nutzer über das Internet als Dienste erwerben können, sowie die IT Ressourcen, die diese Dienste zur Verfügung stellen Cloud (Armbrust, et al., 2009). Cloud Computing änderte die Art und Weise der Datensicherung sowie Datenbearbeitung. Die Programme werden dabei auf einer Gruppe von vernetzten Computern und Servern ausgeführt, auf die über das Internet zugegriffen wird (Miller, 2009). Dies bietet mehr Flexibilität in Bezug auf IT-Ressourcen und enorme Kostenvorteile für die Unternehmen (Groß, et al., 2011) Die wichtigsten Charakteristika von Cloud Computing Nach der Definition von Peter und Tim hat Cloud Computing fünf folgende essenzielle Merkmale (Mell, Peter; Grance, Tim, 2009) ((J.R.) Winkler, 2011). On-demand self service. Der Cloud-Nutzer kann nach bedarf die gebrauchten Rechenleistungen selbst bereitstellen. Dabei ist keine Interaktion mit dem Dienstanbieter erforderlich. 3

7 Broad network access. Die IT-Ressourcen stehen den Cloud-Nutzern über das Internet zur Verfügung. Resource pooling. Die IT-Ressourcen werden in einem Pool zusammengestellt, wo diese von mehreren Cloud-Kunden bedient werden können. Die Ressourcen werden den Nutzern dynamisch zugewiesen und dann nach Bedarf aufgegeben. Diese Ressourcen enthalten Datenspeicher, Rechenleistung, Arbeitsspeicher, Netzwerkbandbreite oder virtuelle Maschinen. Rapid elasticity. Der Cloud-Nutzer kann schnell und flexibel die nötigen IT- Ressourcen anfordern. Cloud Computing gibt den Nutzern das Gefühl unbegrenzte Ressourcen zu haben, weil sie jeder Zeit mehr Ressourcen erwerben können. Pay per Use. Ein flexibles Preismodell, wonach nur das bezahlt wird, was die Unternehmen konkret an IT-Ressourcen, Daten, oder Software nutzen. Angesichts der sich verändernden Bedürfnisse müssten Anwender und Anbieter gemeinsam ein neues Wertegerüst für Software definieren Einsatzmodelle Die Cloud hat mehrere Modelle (vgl. Abbildung 1), die sich nach ihrem Einsatz unterscheiden. Diese Einsatz-modelle können intern sowie extern implementiert werden und sind wie folgt definiert (Mell, Peter; Grance, Tim, 2009): Private Clouds sind das Eigentum eines bestimmten Unternehmens und das Zugreifen auf die Cloud erfolgt über ein firmeninternes Intranet. Public Clouds haben eine riesige Infrastruktur, die für die Öffentlichkeit zur Verfügung gestellt werden. Die Cloud gehört der Organisation, die die Dienste anbietet. Amazon Web Services (AWS) 1, Google AppEngine 2, und Microsoft Azure 3 dienen als gute Beispiele für Public Clouds. Hybrid Clouds stellen eine Mischung von verschiedenen Cloud-Einsatzmodellen dar. Community Clouds sind eine Kombination verschiedener privaten Clouds. (Strunk, Mosch, Groß, Thoß, & Schill) 1 2 https://developers.google.com/appengine/docs/whatisgoogleappengine 3 4

8 Abbildung 1 Cloud-Einsatzmodelle ((J.R.) Winkler, 2011) Die Unternehmen und die Benutzer können eine oder mehrere dieser Einsatzmodelle gleichzeitig implementieren außerdem sind die von einem Einsatzmodell angebotenen virtuellen Ressourcen sind nach den Anforderungen der Nutzer bzw. Unternehmen dynamisch skalierbar (L. Krutz & Dean Vines, 2010) Servicemodelle Grundsätzlich können drei verschiedene Kategorien von Servicemodellen ( Abbildung 2) unterschieden werden (Bundesamt für Sicherheit in der Informationstechnik, 2012): Infrastructure as a Service (IaaS) bietet virtualisierte IT-Ressourcen zum Vermieten an. Diese IT-Ressourcen umfassen Rechnerleistung, Datenspeicher, Arbeitsspeicher und Netze, die ein Cloud-Kunde anmieten und darauf sein gewünschtes Betriebssystem sowie seine nötige Anwendungen installieren und laufen lassen kann. Platform as a Service (PaaS) stellt eine über das Internet zur Verfügung gestellte Laufzeitumgebung dar. PaaS ist eine Plattform mit standardisierten Schnittstellen, wo der Kunde seine eigene angemietete Anwendungen laufen lassen und neue Produkte entwickeln kann. Software as a Service (SaaS) Die Anwendungen werden von einem Service-Anbieter für die Cloud-Kunden bereitgestellt. Die Kunden können auf diese Anwendungen über das Internet zugreifen und nutzen. Ein gutes Beispiel sind die von Google angebotenen Anwendungen. 5

9 Abbildung 2 Die Schichtenarchitektur der Servicemodelle (Schuller, 2008) Cloud Computing Vor und Nachteile Cloud Computing bietet mehrere Vorteile wie für die privaten Benutzer als auch für die Unternehmen. Die Cloud den privaten Benutzern via Internet rund um die Uhr einen weltweiten flexiblen und uneingeschränkten Zugriff und Bearbeitung der in der Cloud abgelegten Daten. Außerdem vereinfacht Cloud Computing die Zusammenarbeit für die Gruppenmitglieder aus verschiedenen Standorten. Auf der Unternehmensebene stechen unter anderem folgende Vorteile heraus: Cloud Computing verspricht große Kostenvorteile, indem man auf die Betreibung eigener Rechnerzentren verzichten kann (Groß, et al., 2011). Cloud Computing zeigt eine große Flexibilität sowie eine hohe Skalierbarkeit. Die Cloud reagiert ganz flexibel auf die von den Unternehmen steigenden Anforderungen an IT-Ressourcen. So können Unternehmen zeitweise je nach Bedarf mehr Ressourcen von den Cloud-Anbietern anfordern und, wenn sie nicht mehr gebraucht werden, wieder freigeben Das Pay-per-Use. (genaue Beschreibung siehe Abschn ). Trotz der lukrativen Vorteile vom entscheiden sich die Unternehmen häufig gegen das Cloud Computing. Dieses Verhalten kann man auf die folgenden Gründe zurückführen: Der Sicherheitsmangel, der durch das ständige Allokieren und Freigeben von IT-Ressourcen entsteht (Groß, et al., 2011). 6

10 Die Unklarheit bezüglich des Paradigmenwechsels zum Cloud Computing, d.h., die Migration existierender Systeme in die Cloud, welche neuartige Unterstützungsmechanismen benötigt (FlexCloud Website of the FlexCloud project (TU Dresden)). Die Vertraulichkeit, den Nutzern ist nicht bekannt, wo ihre Daten oder IT-Ressourcen gespeichert und aufbewahrt, und somit, ob diese gegen nicht autorisierte Zugriffe geschützt sind (Groß, et al., 2011). Demzufolge ist es sehr schwer für die Cloud-Nutzer den Cloud- Anbietern zu vertrauen. Cloud-Anbieter müssen daher geeignete Lösungen finden, die eine sichere Aufbewahrung der Benutzerdaten und der Cloud-basierten Systeme gewehrleisten. einige Cloud-Anbieter speichern die Nutzerdaten verschlüsselt auf der Server-Seite, auf die die Anbieter zugegreifen können. Dagegen erlauben andere Anbieter eine Client-Seite Verschlüsselung. Allerdings stehen die Verschlüsselungsanwendungen dem Nutzer nur gegen entsprechende Gebühren zur Verfügung und sind deshalb aufwendig (Strunk, Mosch, Groß, Thoß, & Schill) Datenkategorien Die Daten an sich kann man in mehreren Kategorien unterordnen: Data-at-Rest sind Daten, die sich auf einem Speichermedium befinden. Data-in-Use sind Daten, die gerade von einer Entität (zum Beispiel, Anwendung oder Dienst) bearbeitet (lesen, schreiben oder ändern) werden. Die Sicherheit dieser Daten stellt eins der Hauptziele der vorliegenden Arbeit dar. Data-in-Transit sind Daten, die zwischen mehreren Kommunikationsendpunkten übertragen werden, d.h. Daten im Übertragungsmodus Die Cloud-Sicherheitsziele Der Dreiklang von Vertraulichkeit, Verfügbarkeit und Integrität Vertraulichkeit ist die Fähigkeit, die Inhalte von Daten sowie Kommunikationsverbindungen vor unautorisierten Zugriffen zu schützen. Verfügbarkeit bedeutet, dass die Daten und Cloud-Ressourcen immer verfügbar sind. Verfügbarkeit gewährleistet, dass die angeforderte Daten und Dienste immer den autorisierten Cloud-Nutzern zugänglich sind. Integrität ist die Fähigkeit, unberechtigte Modifikationen der übertragenen Daten und Informationen zu verhindern. Das Sicherstellen der Integrität garantiert, dass die empfangenen Daten eine exakte Kopie der original gesicherten Daten. 7

11 Die Cloud-Sicherheit kann nur gewährleistet nur, wenn Vertraulichkeit, Integrität und Verfügbarkeit im Einklang zueinander existieren (vgl. Abbildung 3). Ein Wegfall von einem der Ziele kann der Sicherheit Schaden zufügen. Abbildung 3. Die Beziehung zwischen Vertraulichkeit, Integrität und Verfügbarkeit (P. Pfleeger & Lawrence Pfleeger, 2003) 2.2 FlexCloud und die π-box FlexCloud Laut (FlexCloud Website of the FlexCloud project (TU Dresden)) ist FlexCloud eine Nachwuchsforschergruppe, die an der Entwicklung von Methoden und Mechanismen zur Unterstützung eines sicheren Cloud Lebenszyklus arbeitet. FlexCloud hilft den Unternehmen sowie den privaten Nutzern ihre Anwendungen und Daten sicher in die Cloud zu bringen, ohne dabei die Kontrolle darüber zu verlieren. FlexCloud beschäftigt sich mit der Erfassung und Beschreibung nichtfunktionaler Diensteigenschaften (z.b. Vertraulichkeit, Verfügbarkeit, Informationssicherheit, Integrität 8

12 usw.) sowie der Überwachung der Service-Level-Agreement (SLA) 1 zwischen den Cloud- Dienstanbietern und Dienstnutzer. FlexCloud kombiniert alle Dienste, Ressourcen und Daten eines Nutzers oder einer Nutzergruppe zu einer Einheit, der so genannten π-cloud. (FlexCloud Website of the FlexCloud project (TU Dresden)) π-cloud Die π-cloud, auch bekannt als Personal Secure Cloud bekannt, ist eine Hybrid-Cloud, die alle Ressourcen, Dienste und Daten eines Nutzers oder einer Nutzergruppe zusammenstellt. Die π- Cloud-Nutzer haben die volle Kontrolle über ihre, in der Cloud liegenden Daten und Dienste, sie sind dabei in der Lage neue Dienste ebenso wie Ressourcen anzufordern und sie sicher mit anderen Nutzern zu teilen (Strunk, Mosch, Groß, Thoß, & Schill) (Groß & Schill, Towards User Centric Data Governance and Control in the Cloud, 2012). Die π-cloud kann den Nutzern eine sichere Veröffentlichung ihrer IT-Infrastruktur samt voller Kontrolle über die Nutzerdaten nur bieten, wenn Vertraulichkeit, Verfügbarkeit und Integrität der Dienste sowie der Daten gewährleistet werden (Strunk, Mosch, Groß, Thoß, & Schill). Die π-box ist eine persönliche Cloud-Verwaltungseinheit, die den Datenfluss und die Dienstausführung in der π-cloud steuert und den Nutzern erlaubt, mit Hilfe ihrer eigenen Geräte die eigene sichere Cloud aufzubauen. Über die π-box können sich die Nutzer sogar über das Internet mit anderen vertrauenswürdigen Personen vernetzen und eine sichere Community-Cloud Konstruieren. Die π-box besteht aus vier Bestandteilen: Cockpit, Service Controller, Daten Controller und Ressource Manager, die wie in der Abbildung 4 zueinander stehen. Abbildung 4. π-box Bestandteile 1 Service Level Agreement SLA ist eine Verständigungsvereinbarung zwischen dem Dienstanbieter und dem Nutzer, die die erforderlichen nichtfunktionalen Eigenschaften gewährleisten. 9

13 Das Cockpit dient als eine Benutzerschnittstelle, die die Administration der π-cloud vereinfacht. Der Service Controller ist für die sichere Ausführung sowie die hohe Verfügbarkeit der Cloud-Dienste verantwortlich. Der Data Controller ist für die sichere Lagerung der Daten sowie die Integrität mehrerer Speicherdienste (z.b., Amazon S3, Dropbox und Rackspece) verantwortlich. Der Resource Manager verwaltet die Rechen- sowie die Speicherressourcen. Er sucht nach verfügbaren Ressourcen und stellt sie den beiden Controllern zur Verfügung Datensicherung in der π-cloud Die Sicherheit in der π-cloud wird durch die π-box-komponenten garantiert. Diese Komponenten helfen dabei, die Datensicherheitsziele Vertraulichkeit, Verfügbarkeit und Integrität zu gewährleisten. Die sichere Dienstausführung wird vom Service Controller überprüft, indem er nur autorisierte Datenverarbeitung erlaubt. Vertraulichkeit sowie Integrität werden durch die auf vertrauenswürdige Endgeräte ausgeführten Dienste gewährleistet, während die Verfügbarkeit durch die Nutzung von auf verschiedenen Ressourcen verteilten redundanten Dienstinstanzen erreicht wird. Der Data-Controller ist für die sichere Datenspeicherung verantwortlich. Dafür werden die folgenden Hauptstrategien verwendet: Information Dispersal Algorithm (IDA). Dieser Algorithmus teilt eine Datei D in n Fragmente auf, so dass es einfach ist, diese Datei aus beliebigen ( k < n ) ihrer Teilen zu regenerieren, während es gleichzeitig unmöglich ist, Informationen über diese Datei zu erhalten, wenn nur k 1 beliebige Teile der Datei zur Verfügung stehen (Shamir, 1979). Der Algorithmus stellt eine hohe Verfügbarkeit sicher, da die Datei regeneriert werden kann, sogar wenn n k ihrer Teile ausfallen. Ein Verschlüsselungsalgorithmus. Der Algorithmus ist dafür verantwortlich, die Vertraulichkeit sowie die Integrität der Daten zu sichern. Die Teile einer Datei werden mit einem symmetrischen Verschlüsselungsalgorithmus chiffriert, während eine Prüfsumme die Datenintegrität gewährleistet (Strunk, Mosch, Groß, Thoß, & Schill). Ein Authentifizierungscode hilft dabei, die Identität des Cloud-Nutzers zu verifizieren. 10

14 Abbildung 5. Ablauf des Sicherheitsprozesses im Data Controller (Strunk, Mosch, Groß, Thoß, & Schill) Als eine letzte Sicherheitsmaßnahme in der π-cloud, müssen der Service- sowie der Data- Controller zwischen vertrauenswürdigen oder nichtvertrauenswürdigen IT Ressourcen unterscheiden. Daher wird eine Liste der vertrauenswürdigen IT-Ressourcen bei dem Resource Manager erstellt. Die Vertrauenswürdigkeit der Ressourcen wird vom π-cloud- Nutzer bestimmt und die IT-Ressourcen werden sich immer bei dem Resource Manager authentifizieren, um vertrauenswürdig zu bleiben (Strunk, Mosch, Groß, Thoß, & Schill). 11

15 12

16 3 Vorhandene Techniken Der Datenschutz ist das wichtigste Ziel im Cloud Computing und spielt eine große Rolle in allen Servicemodellen (IaaS, PaaS und SaaS). Die größte Herausforderung des Datenschutzes ist die Datenverarbeitung, da die Nutzerdaten, die sich meistens verschlüsselt auf einem fremden Rechner befinden, erst entschlüsselt werden müssen, bevor sie von den Dienste bearbeitet werden können. Die Cloud Computing Dienstanbieter müssen daher Methoden und Strategien entwickeln, die den Cloud-Nutzern die Möglichkeit geben, ihre Daten auf der Cloud zu speichern und zu bearbeiten ohne die Kontrolle darüber zu verlieren. In den folgenden Abschnitten werden Technologien und Methoden zum Gewährleisten der Sicherheit der Nutzerdaten gezeigt. Dabei ist insbesondere wichtig, wie die verwendeten Methoden die Sicherheit der Daten-in-Use gewährleisten und was für Nachteile jede Methode hat. 3.1 Virtualisierung Im Cloud Computing bieten die Cloud-Anbieter ihre konsolidierten IT-Ressourcen (Datenspeicher, Rechenressourcen, Netze usw.) als eine Basis-Betriebsumgebung an. Auf dieser Basis werden den Cloud-Kunden mehrere voneinander isolierte Betriebsumgebungen zur Verfügung gestellt. Dieses Prinzip wird Virtualisierung genannt und die resultierten Umgebungen werden als Virtual Machines VM (deutsch, Virtuelle Maschinen) bezeichnet. Die Virtuellen Maschinen abstrahieren die darunter liegenden physischen Ressourcen und stellen den Cloud-Kunden isolierte Betriebsumgebungen zur Verfügung, wo ihre ganze Datenverarbeitung stattfindet. Durch diese Isolation werden die Nutzerdaten, besonders Data in Use, gegen unautorisierte Zugriffe und/oder Verarbeitung geschützt. Demzufolge schützt die Virtualisierung die Cloud-Kunden gegen andere Cloud-Kunden, sie kann die Kundendaten aber nicht vor dem Cloud-Anbieter selbst hindern. Nach der Datenverarbeitung auf einer virtuellen Maschine, die die Ressourcen eines Hauptrechners mit anderen Maschinen teilt, besteht die Gefahr, dass der Datenrest der ausgeführten Operationen in dem Speicher bleibt (z.b. Puffer oder temporäre Dateien). Diese Daten können dann den anderen virtuellen Maschinen oder Operationen sichtbar sein, wenn ihnen nachher dieser Speicherbereich zur Verfügung gestellt wird, was eigentlich die Datenvertraulichkeit gefährdet. Zum Beispiel, wenn der Code im klaren Text das Passwort eines Nutzers empfängt, leiten die, zum Empfangen des Passworts benutzten Puffer diesen klaren Text an einen Authentifizierungscode weiter. Nachher müssen die Puffer unbedingt zurückgesetzt werden, andernfalls können sie (die Puffer) später von einem anderen Code, z.b. eines anderen Benutzers, zugegriffen werden ((J.R.) Winkler, 2011). Da verschiedene virtuelle Maschinen von unterschiedlichen Betriebssystemen betätigt werden, muss man darauf achten, dass nicht alle Betriebssysteme dafür sorgen, dass die 13

17 Restdaten gelöscht werden. Außerdem kann, selbst wenn ein Betriebssystem die Daten nach der Verarbeitung löscht, ein Fehler eine Operation beenden, bevor die Daten gelöscht werden. Eine mögliche Lösung besteht darin, die Daten, während sie verschlüsselt sind, zu verarbeiten. Dieses wird im nächsten Abschnitt genauer beschrieben. 3.2 Homomorphe Verschlüsslung Die verschlüsselte Datenverarbeitung in der Cloud ist eine der größten Herausforderungen, die die Kryptographen seit mehreren Jahren beschäftigt. Die Schwierigkeit lag daran, dass die verschlüsselten Daten erst entschlüsselt werden mussten, bevor sie bearbeitet werden konnten. Man kann die Datenverschlüsselung als einen Tresor vorstellen, in dem die Daten sicher aufbewahrt werden. Diese Daten können erst nach der Öffnung des Tresors bearbeitet werden,, was eigentlich als Sicherheitsdrohung zählt (Prince, 2009), und gegen die Gewehrleistung der Vertraulichkeit stößt. Der IBM-Forscher Craig Gentry 1 hat ein Schema entwickelt, das es erlaubt, die Daten zu analysieren und zu verarbeiten, während sie sicher verschlüsselt bleiben. Das Schema wurde die Volle Homomorphe Verschlüsselung genannt (Prince, 2009). In seiner Dissertation hat Gentry gezeigt, wie es möglich ist, mathematische Standardoperationen wie das Addieren und Multiplizieren an verschlüsselten Daten vorzunehmen, die sich dann im entschlüsselten Ergebnis widerspiegelten, als ob die Operation an den Originaldaten durchgeführt wurde. Das ist ungefähr so, als könne man eine Frage beantworten, ohne die Frage überhaupt zu kennen. (Simonite, 2010) Die voll homomorphe Verschlüsselung gilt als der Heilige Gral der Kryptographie. Berechnungen können an Daten durchgeführt werden ohne diese vorher zu entschlüsseln. Das verschlüsselte Ergebnis kann dann später bei dem Nutzer entschlüsselt werden. Die Daten werden demzufolge privat behalten und die Vertraulichkeit wird gewehrleistet. Ein volles homomorphes Verschlüsselungsschema ist in der Praxis bis jetzt noch nicht erreicht. Es gibt zurzeit mehrere homomorphe Verschlüsselungsschemen, die schrittweise eine volle Homomorphe-Verschlüsselung erreichen sie sind aber berechnungsaufwendig und behandeln eine begrenzte Anzahl von Funktionen, außerdem ist das Entschlüsselungsergebnis unzuverlässig, wenn die angewendeten Operationen kompliziert sind. 1 Craig Gentry ist ein IBM- Forscher und ein Ph.D. Kandidat der Universität Stanford. 14

18 3.3 π-cloud Prinzip Die π-cloud integriert ganz flexibel und dynamisch alle Endgeräte des Nutzers, wie Laptops, Router oder Smartphones, zu einer privat sicheren Cloud. Vertraulichkeit und Integrität werden durch die Verarbeitung der sicherkritischen Daten auf Ressourcen der π-cloud gewährleistet, während die Ausführung unkritische Dienste auf öffentliche Ressourcen ausgelagert werden kann. Demzufolge müssen sich die π-cloud-nutzer keine Sorgen um die Sicherheit ihrer eigenen kritischen Daten machen, da sie auf vertrauenswürdigen Geräten verarbeitet werden. Die Verfügbarkeit sowie die Dienstgüte werden durch redundante Dienstinstanzen gewährleistet, die mit einem erhöhten Ressourcenbedarf einhergeht. Und da die Rechenleistung der π-cloud im Vergleich zu den IT-Ressourcen der kommerziellen Cloud- Anbieter begrenzt ist, muss eine Strategie ausgedacht werden, um die Lastverteilung der Dienstinstanzen optimal auf den π-cloud Ressourcen sicherzustellen. Das Ziel dieser Arbeit besteht in der Entwicklung eines Algorithmus, der die ausgeführten Dienste entsprechend ihrer Qualitätsanforderungen und der verfügbaren IT-Ressourcen der π- Cloud platziert und den erforderlichen Ressourcenbedarf optimiert. 15

19 16

20 4 Anforderungsanalyse 4.1 Problembeschreibung Gegeben sind die Menge der Endgeräte von der π-cloud und die Menge der auf diesen Geräten auszuführenden Dienste, die unterschiedliche Ressourcenanforderungen brauchen. Keiner dieser Endgeräte kann selbständig, wegen seiner beschränkten Ressourcen, alle oder mehrere dieser Dienste gleichzeitig ausführen, daher muss einen Weg herausgefunden, diese Dienste auf die Geräte so zu verteilen, dass so viele von denen wie Möglich ausgeführt werden, ohne die vorhandenen beschränkten Ressourcen zu überschreiten. 4.2 Funktionale Anforderungen Der Algorithmus soll die folgenden Eingabedaten bekommen: Die aktuelle Verteilung der Dienste auf die Endgeräte der π-cloud. Die zum Ausführen von jedem Dienst erforderlichen Ressourcen. Das enthält die nötigen Prozess- sowie Speicherkapazität. Die Prozessor- und die Speicherkapazität von jedem Endgerät in der Cloud sowie die freie Kapazität von den Prozessoren und Speichern. Die Ausgabe des Algorithmus ist eine Matrix, die die Dienstplatzierung in der π- Cloud präsentiert. 4.3 Nicht-Funktionale Anforderungen Der Algorithmus ist korrekt, wenn er eine Lösung findet, um alle Dienste auf die vorhandenen Ressourcen zu verteilen, ansonsten wird er eine Fehlermeldung ausgeben. Das Programm sollte effizient sein. Da neue Dienste laufend gestartet oder beendet werden, muss das Programm stets zur Verfügung stehen, um die Dienste neu zu platzieren. Das Programm soll änderbar sein. Es muss einfach sein das Programm anzupassen, wenn die Einsatzbedingungen und Anforderungen sich ändern. 4.4 Formale Beschreibung Das gesuchte Problem ist ein Optimierungsproblem, das wie folgt beschrieben wird Eingeben Die Menge der Endgeräte in der π-cloud M. Jedes Endgerät 17 M hat

21 eine bestimmte Prozessorkapazität Ω, eine bestimmte Speicherkapazität Γ und einen Wert, der die Wahrscheinlichkeit bestimmt, dass das Gerät Verfügbar ist. Auf dieser Cloud wird eine Menge Dienstes benötigt von Diensten ausgeführt. Die Ausführung jedes ω CPU-Zyklen und γ Speicher. Der Wert bestimmt die Verfügbarkeit des Dienstes Gesucht I ist die Platzierungsmatrix. Sie bestimmt die Dienstplatzierung auf den Endgeräten der Cloud. Die Elemente der Platzierungsmatrix sind wie folgt definiert: I I I (1) L definiert die Lastverteilungsmatrix. L das Endgerät dem Dienst zuordnet., ist die Anzahl der CPU-Zyklen pro Sekunde, die Randbedingung Als eine erste Randbedingung muss darauf geachtet werden, dass die Verfügbarkeit der Dienste erfüllt wird. Das hängt natürlich von der Verfügbarkeit der Endgeräte ab. Daher muss die Verfügbarkeit der Endgeräte, auf den der Dienst ausgeführt wird größer oder gleich der Verfügbarkeit dieses Dienstes sein. Das kann formal wie folgt ausgedrückt werden I (2) Erklärung:Da die Verfügbarkeit des Endgeräts vorstellt, dann ist (1 ) die Ausfallswahrscheinlichkeit dieses Geräts. Da die Elemente I, der Platzierungsmatrix I bestimmen, ob ein Dienst auf dem Gerät ausgeführt wird, dann stellt der Ausdruck I die Wahrscheinlichkeit des Ausfalls für alle Endgeräte, auf den der Dienst läuft, daher, stellt der Ausdruck I die Verfügbarkeit der Geräte, auf den der Dienst ausgeführt wird. Der Fehler in dem obigen Ausdruck (2) ist, dass er gleich null ist, wenn der Dienst auf einem Endgerät nicht ausgeführt wird. Um den Ausdruck zu verbessern, müssen die Geräte auf den der Dienst nicht ausgeführt wird, aussortiert werden. Das kann man formal wie folgt ausdrücken. 18

22 I I (3) Durch den Ausdruck (3) wird nur die Verfügbarkeit der Endgeräte, auf den der Dienst einbezogen. läuft, Als eine zweite Randbedingung muss darauf geachtet werden, dass die Anzahl der CPU- Zyklen L, die das Endgerät den Dienst zuordnet, die CPU-Kapazität dieses Endgerätes nicht überschreitet. Formal kann man wie folgt ausdrücken L Ω (4) Die dritte Randbedingung ist, dass die Summe des Speicherbedarfes aller Dienste, die auf einem Endgerät laufen, nicht die Speicherkapazität dieses Geräts überschreiten darf. I Γ (5) In der letzten Randbedingung geht es darum, die CPU-Anforderung L, eines Dienstes erfüllen. zu L (6) 19

23 4.4.4 Die Zielfunktion Wenn ein Dienst in der π-cloud ausgeführt wird, wird die Verarbeitungslast auf den Endgeräten verteilt. Auf jedem Endgerät wird dem Dienst eine bestimmte Anzahl von CPU-Zyklen L, sowie die erforderliche Speicherkapazität γ zugeordnet. Während die Anzahl der dem Dienst zugeordneten CPU-Zyklen sich von Gerät zu Gerät unterscheidet, wird auf jedem dieser Geräte dem Dienst die gleiche Speicherkapazität zugeordnet. Mit anderen Worten ist die Anzahl der CPU Zyklen, die einem Dienst zugeordnet wird, nicht manipulierbar, weil sie auf jedem Gerät anders ist, während die Kapazität der einem Dienst zugeordneten Speicher auf jedem Gerät das Gleiche ist. Daher kann man den Ressourcenverbrauch einschränken, indem der Speicherbedarf jedes Dienstes minimiert wird. Formal beschrieben muss der folgende Wert minimiert werden. 20

24 5 Implementierung In dieser Phase wird das Programm Stück für Stück gebaut. Zuerst wird das Klassen Diagramm gezeigt und dann wird erklärt wie die Ergebnisse in XML-Dateien gespeichert werden. Am Ende wird einen Algorithmus zur Lösung des Problems gebaut und da wird auch erklärt, wie dieser Algorithmus funktioniert. 5.1 Klassendiagramm In diesem Abschnitt wird das ganze Klassendiagramm gezeigt. Die in der Abbildung 6 hervorgehobenen Teile sind die Haupt-Teildiagramme, die in diesem Abschnitt beschrieben werden. Das in blau markierte Teilklassendiagramm repräsentiert die π-cloud mit ihren Endgeräten und Diensten, während das andere orange markierte Teildiagramm die Verteilungsmatrix darstellt. Der Rest des Klassendiagramms wird in den darauffolgenden Abschnitten beschrieben. Er enthält die Klassen, die für die Generierung einer zufälligen π- Cloud, das Ausgeben einer Cloud oder einer Verteilungsmatrix auf dem Bildschirm und die Ausführung des Verteilungsalgorithmus verantwortlich sind. Abbildung 6. Das Klassendiagramm 21

25 5.1.1 Das Cloud-Teilklassendiagramm Die Abbildung 7 zeigt einen Teil des Klassendiagramms, der ein π-cloud darstellt. Dieses Teilklassendiagramm besteht aus den folgenden Klassen: Die Device-Klasse: repräsentiert einer der Endgeräte der π-cloud und enthält Daten über dieses Gerät, wie die Prozessor- und Speicherkapazität sowie Verfügbarkeit dieses Gerätes. Die Service-Klasse: stellt einer der auszuführenden Dienste dar. Jedes Objekt dieser Klasse repräsentiert einen Dienst und enthält Informationen über die zum Ausführen des Dienstes nötige Speicher- und Prozessorkapazität sowie die vom Rechner erforderliche Verfügbarkeit und einen booleanischen Wert, der zeigt, ob dieser Dienst ausgeführt wird. Die Cloud-Klasse: enthält eine Liste der Cloud-Endgeräte und eine Liste der Dienste, die in der Cloud ausgeführt werden. Die loadcloud Methode lädt die Daten einer Cloud von einer XML-Datei, dessen Struktur in dem Abschnitt erklärt wird. Abbildung 7 Cloud-Device-Service Klassen 22

26 5.1.2 Die Verteilungsmatrix-Teilklassendiagramm Der Algorithmus wird eine Verteilungsmatrix erstellen, die die beste Verteilung der auszuführenden Dienste auf die Endgeräte der Cloud beschreibt. Zum bilden dieser Matrix sind die drei folgenden Klassen nötig: Die ServiceAllocatedCPU Klasse ist der erste Baustein der Verteilungsmatrix. Sie beschreibt, wie viele CPU-Zyklen einem Dienst zugewiesen werden, und enthält die zwei folgenden Variablen: o service ist eine Instanz der Klasse Service und stellt einen Dienst dar, dem ein Teil der Rechenkapazität zugewiesen wird. o assignedcpu ist eine Integer-Variable und repräsentiert die Anzahl der CPU-Zyklen, die einem Dienst zugewiesen werden. Die Beziehung zwischen den beiden Variablen in der Klasse ServiceAllocatedCPU kann man sich wie in der Abbildung 8 vorstellen. Abbildung 8. Die Service-assignedCPU Zelle Die DeviceAllocatedServices Klasse Auf jedem Gerät in der Cloud werden mehrere Dienste ausgeführt, und jedem dieser Dienste wird eine bestimmte Anzahl von den CPU-Zyklen zugewiesen. Diese Verteilung wird in der Klasse DeviceAllocatedServices dargestellt, die auch zwei Variablen enthält. o device stellt das Gerät dar, auf dem die Dienste der π-cloud verteilt werden. o services ist eine ArrayList von Instanzen der Klasse ServiceAllocatedCPU, sie repräsentiert die Verteilung der Rechenkapazität des obigen Gerätes auf die Dienste der π-cloud. Natürlich 23

27 sind die Rechenkapazitäten der Dienste, die auf diesem Gerät nicht ausgeführt werden, gleich Null, d.h. assignedcpu = 0. In der Abbildung 9 wird ein Verteilungsmatrix-Element gezeigt. Dieses Element stellt die Rechenkapazitätsverteilung eines Endgerätes auf den Diensten der π-coud dar. Abbildung 9. Ein Verteilungsmatrix-Element Die DistributionMatrix Klasse ist die Verteilungsmatrix der π-cloud und stellt das Endergebnis des Verteilungsalgorithmus dar. Hier wird die Verteilung aller Dienste der Cloud auf den Endgeräten gespeichert. Diese Klasse enthält eine ArrayList der Klasse DeviceAllocatedServices. Mit anderen Worten, ist die Verteilungsmatrix, wie man in der Abbildung 10 sehen kann, nicht mehr als ein Vektor von den Elementen, die schon in der Abbildung 9 gezeigt wurden. Abbildung 10. Die Verteilungsmatrix Unter Berücksichtigung der vorherigen Vorstellung der Verteilungsmatrix, wird das Klassendiagramm dieser Matrix so aussehen, wie es in der Abbildung 11 gezeigt wird 24

28 Abbildung 11. Das Verteilungsmatrix-Klassendiagramm 5.2 XML Datei Man könnte natürlich die Daten in einer der herkömmlichen Datenbanken speichern, aber das wird die Arbeit nur verkomplizieren. Die Aufgabe des Programms besteht darin, die beste Verteilung der auszuführenden Dienste auf den verfügbaren Geräten herauszufinden. Das Sammeln von Systeminformationen wird von einem anderen Programm oder sogar einem Script durchgeführt, deswegen ist XML eine gute Wahl zum Speichern dieser Informationen, insbesondere weil XML eine weit verbreitete Auszeichnungssprache ist, die den Datenaustausch zwischen verschiedenen Programmen erlaubt, außerdem ist XML geeigneter für kleine Datenmengen und ist ein guter Weg die Cloud Datenstruktur nachvollziehbar zu repräsentieren Warum XML? Man könnte natürlich die Daten in einer der herkömmlichen Datenbanken speichern, aber das wird die Arbeit nur komplizieren. Die Aufgabe des Programms ist die beste Verteilung der auszuführenden Dienste auf den verfügbaren Geräten herauszufinden. Das Sammeln von Systeminformationen wird von einem anderen Programm oder sogar einem Script durchgeführt, deswegen ist XML eine gute Wahl zum Speichern dieser Informationen, 25

29 besonders dass XML eine weit verbreitete Auszeichnungssprache ist, die das Datenaustausch zwischen verschiedenen Programmen erlaubt, außerdem ist XML mehr geeignet für kleine Datenmengen und ist ein guter Weg der Cloud Datenstruktur nachvollziehbar zu repräsentieren Die Struktur der XML-Dateien Die Struktur der Ein- und Ausgabe-XML-Dateien wird durch XML-Schemen beschrieben. Diese Schemen sehen wie folgt aus: Das XML-Schema der Eingabedatei repräsentiert unsere π-cloud, die aus mehreren Endgeräten und Diensten besteht. Die Abbildung 12 enthält eine Beschreibung des Cloud-Elements in dem XML-Schema. <xs:element name="cloud"> <xs:complextype> <xs:sequence> <xs:element ref="devices"/> <xs:element ref="services"/> </xs:sequence> </xs:complextype> </xs:element> Abbildung 12. Das XML-Schema einer Cloud Jedes Gerät verfügt über eine eigene Identifikationsnummer (ID) und bestimmte Speicher- und Rechenkapazitäten (RAM, CPU) und ist mit der Wahrscheinlichkeit (Availability) verfügbar. Das XML-Schema eines Gerätes wird in der Abbildung 13 veranschaulicht. <xs:element name="device"> <xs:complextype> <xs:sequence> <xs:element ref="id"/> <xs:element ref="cpu"/> <xs:element ref="ram"/> <xs:element ref="availability"/> </xs:sequence> </xs:complextype> </xs:element> Abbildung 13. Das XML-Schema eines Geräts "Device" Die Dienste haben die gleiche Struktur wie die Endgeräte mit dem Unterschied, dass die CPU, RAM Elemente die erforderlich Rechen- und Speicherkapazitäten 26

30 repräsentieren, die zum Ausführen des Dienstes nötig sind. Diese Struktur kann, wie in der Abbildung 14 gezeigt wird, dargestellt werden. <xs:element name="service"> <xs:complextype> <xs:sequence> <xs:element ref="id"/> <xs:element ref="cpu"/> <xs:element ref="ram"/> <xs:element ref="availability"/> </xs:sequence> </xs:complextype> </xs:element> Abbildung 14. Das XML-Schema eines Dienstes "Service" Am Ende dieser.xsd-datei werden die Elemente ID, CPU, RAM und Availability definiert. Die Werte aller dieser Elemente müssen größer als null sein, außerdem muss die Verfügbarkeit eines Elements einem Wert zwischen 0 und 1 entsprechen. Diese Beschränkungen, die in der Abbildung zu sehen sind, werden in dem restriction Abschnitt jedes Elementes gezeigt. <xs:element name="id"> <xs:simpletype> <xs:restriction base="xs:long"> <xs:minexclusive value="0"/> </xs:restriction> </xs:simpletype> </xs:element> <xs:element name="cpu"> <xs:simpletype> <xs:restriction base="xs:int"> <xs:minexclusive value="0"/> </xs:restriction> </xs:simpletype> </xs:element> <xs:element name="ram"> <xs:simpletype> <xs:restriction base="xs:int"> <xs:minexclusive value="0"/> </xs:restriction> </xs:simpletype> </xs:element> <xs:element name="availability"> <xs:simpletype> <xs:restriction base="xs:float"> 27

31 <xs:mininclusive value="0"/> <xs:maxinclusive value="1"/> </xs:restriction> </xs:simpletype> </xs:element> Abbildung 15. Der Beschränkungsabschnitt der.xsd-datei Die Struktur der Ausgabe-Datei: als Ausgabe wird das Programm eine Matrix erstellen, die die Verteilung der auszuführenden Dienste auf den Endgeräten der Cloud darstellt. Die Verteilungsmatrix (Matrix) besteht aus mehreren Endgeräten (Devices) und jedes Endgerät (Device) wird durch eine Identifikationsnummer (ID) und die Dienste (Services), die darauf ausgeführt werden, definiert. Jeder dieser Dienste (Service) wird in der Matrix durch ihre eigene Identifikationsnummer (ID) und die dafür spezifizierte Rechenkapazität (assignedcpu) definiert. Die Ausgabedatei stellt eine Umsetzung der in der Abbildung 10 gezeigten Struktur der Verteilungsmatrix in XML dar. Der Inhalt dieser.xsd-datei wird in der Abbildung 16 veranschaulicht. 28

32 <! Die Verteilungsmatrix besteht aus einer Liste von Endgeräten --> <xsd:element name="matix"> <xsd:complextype> <xsd:sequence> <xsd:element ref="devices"/> </xsd:sequence> </xsd:complextype> </xsd:element> <!-- Die Gerätsliste --> <xsd:element name="devices"> <xsd:complextype> <xsd:sequence> <xsd:element ref="device" maxoccurs="unbounded"/> </xsd:sequence> </xsd:complextype> </xsd:element> <!-- Das Schema eines Geräts --> <xsd:element name="device"> <xsd:complextype> <xsd:sequence> <xsd:element ref="id"/> <xsd:element ref="services"/> </xsd:sequence> </xsd:complextype> </xsd:element> <!-- Das Schema eines Diensts --> <xsd:element name="service"> <xsd:complextype> <xsd:sequence> <xsd:element ref="id"/> <xsd:element ref="assignedcpu"/> </xsd:sequence> </xsd:complextype> </xsd:element> <!-- Die Einschränkung auf dem Wert assignedcpu --> <xsd:element name="assignedcpu"> <xs:simpletype> <xs:restriction base="xs:int"> <xs:mininclusive value="0"/> </xs:restriction> </xs:simpletype> </xsd:element> <!-- Die Einschränkung auf dem Wert ID --> <xsd:element name="id"> <xs:simpletype> <xs:restriction base="xs:long"> <xs:minexclusive value="0"/> </xs:restriction> </xs:simpletype> </xsd:element> Abbildung 16. Das XML-Schema der Ausgabedatei 29

33 Nachdem die Ein- und Ausgabedateien beschrieben werden besteht der nächste Schritt darin, einen geeigneten XML-Parser zu finden, um die Clouddaten von dem Programm einlesen zu können und damit das Endergebnis (Verteilungsmatrix) in einer XML-Datei zu speichern Das Auswählen des XML-Parsers Ein XML-Parser ist ein Programm, das den Inhalt einer XML-Datei einliest und ihre Gültigkeit überprüft. Die Methoden, die von der Programmierschnittstelle (API) des Parser angeboten sind, werden von den Clientprogrammen benutzt, um Informationen aus der XML- Datei abzurufen (Harold, 2002). Beim Auswählen eines XML-Parsers muss man mehrere Faktoren berücksichtigen wie der Einsatzsaufwand oder die Geschwindigkeit des ausgewählten Parsers sowie die Programmierschnittstellen (APIs), die er implementiert, und die Eigenschaften, die er anbietet. Die bekanntesten Standard-APIs für die Bearbeitung von XML-Dokumente sind: Die Simple API for XML (SAX ist eine ereignisorientierte Programmierschnittstelle (eng. Event-Driven API) zum parsen von XML-Daten. SAX wird von einem Clientprogramm benutzt um die XML-Dokumente durchzulesen und dem Clientcode eine Rückmeldung zu schicken, wenn ein XML Tag, -Comment oder -Text vorkommt (daher ist SAX Ereignisorientiert). Der Code soll dann nach der Art des Ereignisses reagieren. SAX ist schnell und sehr speichereffizient, insbesondere, wenn es um große XML-Dateien geht was eigentlich nicht unser Fall hier ist. Die Nachteile dieses Parsers sind, die Komplexität der SAX-Programmierung, außerdem kann SAX nur existierte XML-Dateien bearbeiten, d.h. er kann keine XML-Dokumente erstellen, demzufolge ist SAX nicht der geeignete Parser für die Arbeit. Das Document Object Model (DOM): ist eine von W3-Konsortium adoptierte Norm, die als eine Programmierschnittstelle dient, die den Programmiersprachen-Zugriff auf beliebige Elemente einer XML-Datei beschreibt. DOM repräsentiert ein XML- Dokument als ein Baum, deren Bestandteile als Knoten bezeichnet werden. Jeder DOM- Baum hat eine einzige Wurzelknote, die das XML-Dokument darstellt, und verschiedene Knotentypen (z.b. ElementKnoten, Attributknoten und Textknoten), die die XML-Elemente repräsentieren. Ganz im Gegenteil zu SAX erlaubt DOM Erstellung neuer XML-Dokumente. Sie ist eine Schreib-Lese-Schnittstelle, die den Zugriff auf beliebige Elemente der XML-Datei erlaubt. DOM ist speicherintensiv, deswegen ist sie für die Bearbeitung von großen XML-Dokumenten nicht geeignet, was eigentlich nicht der Fall in dieser Arbeit ist, aber die Programmierung in DOM ist im Vergleich zu anderen Programmierschnittstellen etwas komplizierter, wie zum Beispiel JDOM (sehe unten). 30

34 Mehrere Anbieter stellen andere spezifische APIs für XML-Bearbeitung zur Verfügung. Diese APIs beinhalten: o JDOM, o dom4j, o ElectricXML o und XMLPULL. Die zwei letzten Schnittstellen (ElectricXML und XMLPULL) sind kommerziell, deswegen werden sie in dieser Arbeit nicht verwendet. Für diese Arbeit wird JDOM ausgewählt. JDOM ist eine reine Java Programmierschnittstelle für das Parsen, Erstellen, Manipulieren und Serialisieren von XML Dokumenten (Harold, 2002). JDOM stellt eine Alternative für DOM in der Java-Welt dar. Außerdem macht JDOM die Bearbeitung der XML-Daten für Java-Programmierer sehr einfach und nachvollziehbar im Gegensatz zu DOM. Das Nutzen von dom4j wäre auch möglich, insbesondere da dom4j eigentlich von JDOM abgeleitet wurde. Der Unterschied zwischen dom4j und JDOM ist, dass die ersten interfaces und factory-methoden benutzen, während JDOM konkrete Klassen und Konstruktoren verwendet. Außerdem beinhaltet dom4j eine integrierte Unterstützung für XPath und XSLT, dieses ist für die vorliegende Arbeit nicht relevant. 5.3 Brute-Force Algorithmus In most projects, the first system built is barely usable. It may be too slow, too big, awkward to use, or all three. There is no alternative but to start again, smarting but smarter, and build a redesigned version in which these problems are solved. Hence plan to throw one away; you will, anyhow. Fred Brooks 1 Durch das Brute-Force Algorithmus werden alle möglichen Verteilungen der Dienste auf die Geräte der Cloud rausgefunden, dann wird der Wert der Zielfunktion für jede Verteilung berechnet und am Ende wird die Verteilung mit dem minimalen Wert von der Zielfunktion ausgewählt. 1 Frederick Phillips Brooks ist ein US-amerikanischer Informatiker. Bekannt als Verantwortlicher für die Entwicklung des OS/360 bei IBM und später für die ehrliche Beschreibung des Entwicklungsprozesses in seinem Buch The Mythical Man-Month. (http://de.wikipedia.org/wiki/frederick_p._brooks) 31

35 5.3.1 Die Verteilung eines Dienstes Zur Verteilung eines Dienstes auf den Endgeräten der Cloud werden zwei Methoden verwendet. Diese Methoden sind: o choosedevices: diese Methode erstellt eine Liste von Endgeräten, auf denen der Dienst verteilt wird. o distributeondevices: die Methode verteilt den Dienst auf den Geräten von der Liste, die von der Methode choosedevices erstellt wurde. Als nächstes wird schrittweise erklärt, wie ein Dienst verteilt werden kann. Dafür werden die folgenden Schritte befolgt: 1. Zuerst wird eine Liste von den Endgeräten erstellt, die gemeinsam ausreichende Ressourcen zum Ausführen des Dienstes haben. Dafür ist die Methode choosedevices, die in der 2. Abbildung 17 gezeigt wird, verantwortlich. FUNCTION choosedevices (service):list of devices FOR each device in the cloud DO IF getavailableram (device) service.requiredram THEN IF device.avialablecpu 0 THEN Add device s ID to the output list Calculate the remaining number of CPU cycles needed to execute the service Calculate the availability of the devices ENDIF ENDFOR ENDIF return NULL; ENDFUNCTION IF List s calculated availability service.availability THEN ENDIF IF service.neededcpucycles == 0 THEN return the output list ENDIF Abbildung 17. Der Pseudocode für die Methode choosedevice 32

36 Diese Methode überprüft für einen gegebenen Dienst, ob es in der Cloud überhaupt eins oder mehrere Geräte gibt, die zusammen genügend Speicher- und Rechenkapazität sowie ausreichend Verfügbarkeit haben, um den Dienst auszuführen, und, wenn sie was findet, dann wird die Identifikationsnummer (ID) dieser Geräte in einer Ausgabeliste gespeichert. Die Geräte der Ausgabeliste werden wie folgt ausgewählt: /1/ Damit einem bestimmten Gerät ein gegebener Dienst zugewiesen wird, ist die erste Bedingung, dass der freie Speicher dieses Gerätes größer gleich der zum Ausführen des Dienstes erforderliche Speicher ist. Wenn diese Bedingung nicht erfüllt ist, dann wird dieses Gerät übersprungen und das nächste Endgerät in der Cloud geprüft. /2/ Wenn die erste Bedingung erfüllt ist, dann wird geprüft, ob das Gerät noch freie Rechenkapazität hat. Die Anzahl der freien CPU-Zyklen des Gerätes muss nicht unbedingt größer gleich die von dem Dienst erforderlichen CPU- Zyklen sein, da der Dienst auf mehreren Geräten verteilt werden kann, die die erste Bedingung erfüllen. /3/ Wenn das Gerät die vorherigen zwei Bedingungen erfüllt, dann wird die ID dieses Geräts zur Ausgabeliste eingefügt und danach wird überprüft, ob die Summe der dem Dienst zugewiesenen CPU-Zyklen, ausreichend ist, um diesen Dienst auszuführen. Gleichzeitig wird auch die gesamte Verfügbarkeit der Geräte berechnet und mit der erforderlichen Verfügbarkeit des gegebenen Dienstes verglichen. Wenn die Ressourcen der Geräte in der Ausgabeliste noch nicht ausreichend sind, wird das nächste Gerät in der Cloud überprüft. /4/ Die Methode wird die Geräte der Cloud, eins nach dem anderen überprüfen bis eine der zwei folgenden Situationen vorkommt: o entweder sind alle Geräte in der Cloud überprüft und die Ausgabeliste hat keine genügenden Ressourcen, um den Dienst auszuführen. In diesem Fall wird die Methode choosedevices den Wert Null ausgeben, o oder sind die Ressourcen der Ausgabeliste, nachdem Überprüfen von einem oder mehreren Geräten, ausreichend, um den Dienst auszuführen. In diesem Fall werden die restlichen Geräte in der Cloud nicht mehr überprüft und die Methode choosedevices ergibt die erreichte Ausgabeliste. 3. Nachdem die Liste der Endgeräte erstellt wurde, wird jedes Gerät, dessen Nummer in der Liste steht, in der Verteilungsmatrix gesucht, danach wird die Anzahl von den CPU-Zyklen dieses Gerätes, die dem Dienst zugewiesen werden muss, berechnet. Den ganzen Vorgang erledigt die Methode distributeondevices, die in der 4. Abbildung 18 gezeigt wird. 33

37 FUNCTION distributeondevices (service, devices, distributionmatrix) IF devices!= Null THEN FOR each device s number in devices DO Get the device from the distributionmarix ENDFOR ENDIF ENDFUNCTION IF service.neededcpucycles > device.availablecpu THEN Assign device.availablecpu to the service ELSE Assign service.neededcpucycles to the service ENDIF Abbildung 18. Die distributeondevices Methode Diese Methode nimmt den Dienst und die Liste der IDs der Endgeräte als Eingabevariablen und die Verteilungsmatrix als eine Ein- Ausgabevariable und verteilt diesen Dienst auf die Geräte in der Matrix wie folgt: /1/ Wenn die Liste der Endgeräte leer ist, d.h. es wurde keine Gruppe von Geräten in der Cloud gefunden, auf der der Dienst verteilt werden kann. In diesem Fall kann der Dienst nicht ausgeführt werden. /2/ Im anderen Fall, werden die Gerätenummern in der Liste, eine nach der anderen, genommen und ihre entsprechende Geräte in der Verteilungsmatrix gesucht und die Anzahl der CPU-Zyklen, die einem Dienst zugewiesen wird, berechnet und geändert. Zuerst wird, wie in der Abbildung 19 gezeigt ist, die erste Nummer in der Liste genommen und das entsprechende Gerät in der Verteilungsmatrix gesucht. 34

38 Abbildung 19. zuerst wird das Gerät in der Matrix gesucht Sobald das Gerät gefunden wird, wird die Anzahl der CPU-Zyklen, die dem Dienst zugewiesen wird, berechnet. Dafür wird zwischen den auf diesem Gerät verfügbaren CPU-Zyklen und der noch für die Ausführung des Dienstes nötigen Rechenkapazität verglichen. Das Ziel dieser Vergleichung ist die Bestimmung der zuzuweisenden Rechenkapazität. Hier gibt es zwei Fälle: o Wenn die noch für die Ausführung des Dienstes erforderliche Rechenkapazität größer als die auf dem Gerät verfügbare Kapazität ist, dann werden dem Dienst die übrigen CPU-Zyklen des Gerätes zugewiesen und es wird das nächste Gerät überprüft. o Im anderen Fall ist die Anforderung des Dienstes an Rechenkapazität erfüllt und die Ausführung der Methode wird sich danach beenden. Normalerweise kommt diese Situation vor, wenn das letzte Gerät in der Liste erreicht ist, da die Methode choosedevices schon genau gerechnet hat, auf wie viele Endgeräte der Dienst verteilt werden kann. Nachdem die Anzahl der CPU-Zyklen bestimmt wurde, werden diese Zyklen dem Dienst zugewiesen. Dafür wird dieser Dienst im Verteilungsmatrix-Element ( Abbildung 9) gesucht und dann die berechneten CPU-Zyklen bekommen. Dieser Vorgang wird in der Abbildung gezeigt 35

39 Abbildung 20. Die Rechenkapazität ξ wird dem Dienst zugewiesen In der Abbildung 20 wird in dem Verteilungsmatrix-Element, das dem im ersten Schritt gefundenen Gerät entspricht, der Dienst Service 3 gesucht. Der Wert ξ stellt die Anzahl der zuzuweisenden CPU-Zyklen dar und wird dem gefundenen Dienst, wie in der Abbildung gezeigt, zugewiesen Der Verteilungsalgorithmus In der hier entworfenen Struktur der π-cloud, werden die Endgeräte sowie die Dienste in zwei ArrayLists gespeichert. Jede dieser Listen hat eine bestimmte Ordnung. Wenn die Dienste verteilt werden, dann wird immer mit dem ersten Dienst in der Liste angefangen. Die Methode choosedevices wird in der Cloud nach passenden Geräten für die Verteilung des Dienstes zu suchen anfangend mit dem ersten Gerät in der Liste. Das kann dazu führen, dass die Dienste nicht optimal verteilt werden. Das zeigt das folgende Beispiel. Beispiel: Wir stellen uns vor, dass unsere Cloud aus drei Geräten und drei Diensten besteht. Die Geräte bieten die folgenden Eigenschaften, die die Tabelle in der Abbildung 21 zeigt: 36

40 Geräte RAM CPU Device MB 500 MHz Device MB 1000 MHz Device MB 1000 MHz Abbildung 21. Geräte der Cloud Die Dienste werden, der Einfachheit halber, alle die gleiche Rechen- sowie Speicheranforderungen haben, was in der Tabelle der Abbildung 22 zu sehen ist. Dienste RAM CPU Service MB 300 MHz Service MB 300 MHz Service MB 300 MHz Abbildung 22. Dienste der Cloud Am Anfang wird die Vierteilungsmatrix wie in der Abbildung 23 aussehen. Abbildung 23. Die Anfangsverteilungsmatrix Um die Dienste auf den Endgeräten zu verteilen, fängt das Verteilungsalgorithmus mit dem ersten Dienst in der Liste an, d.h. Service 1, und dann wird durch die Methode choosedevices eine Geräteliste gesucht, worauf der Dienst verteilt werden kann. Diese Methode fängt ihre Suche immer mit dem ersten Gerät in der Liste an (Device 1). In diesem Beispiel ist es klar, dass das Gerät Device 1 genügend Ressourcen hat, um den Dienst Service 1 auszuführen, deshalb enthält die von der Methode-chooseDevices resultierte Liste nur das Gerät Device 1. Danach wird die Methode distributeondevices aufgerufen, die, in diesem Fall, die erforderlichen Ressourcen für die Ausführung von Service 1 auf Device 1 reserviert. Die 37

41 Abbildung 24 zeigt die Verteilungsmatrix nach dem Einfügen des ersten Dienstes. Abbildung 24. Die Verteilungsmatrix nach dem Einfügen von "Service1" Als nächstes erstellt choosedevices eine Geräteliste zur Verteilung der Dienste Service 2. Hier wird noch mal mit dem Gerät Device 1 angefangen, das genügend freien Speicher aber keine ausreichende Rechenkapazität zum Erfüllen der Rechenanforderungen des Dienstes hat. Daher wird dieses Gerät zur Liste eingefügt und das nächste Gerät, d.h. Device 2, überprüft. Dieses Gerät hat genügend Ressourcen, um die restlichen Dienstanforderungen zu erfüllen, und daher fügt choosedevices ihn zur resultierenden Liste ein,erstdann ist die Suche nach passenden Geräten beendet. Danach ist die Methode distributeondevices dran, die die nötigen Speicher- und Rechenkapazitäten auf beiden Geräten für den Dienst reserviert. Das Ergebnis dieses Schrittes ist in der Abbildung 25 gezeigt. Abbildung 25. Das Verteilen des Dienstes "Service 2" 38

42 Die gleichen Schritte werden verfolgt um den dritten Dienst Service 3 zu verteilen. Nach der Suche wird sich herausstellen, dass das Gerät Device 2 ausreichende Ressourcen hat, um diesen Dienst auszuführen. Die Abbildung 26 zeigt, wie die resultierte Verteilungsmatrix am Ende aussehen wird. Abbildung 26. Die resultierende Verteilungsmatrix Die letzte Abbildung zeigt, wie die Dienste auf den Endgeräten der π-cloud verteilt sind, und wie viele Rechenkapazitäten von jedem Gerät den Diensten zugewiesen werden. Was in dieser Abbildung klar ist, dass der Algorithmus den Dienst Service 2 auf zwei Endgeräten verteilt. Den Speicherverbrauch kann man, wie folgt, berechnen: Service1.RAM + 2 Service2.RAM + Service3.RAM 250 MB MB MB = 1000 MB Da zwei Instanzen des Dienstes Service 2 ausgeführt werden, wird der Speicherbedarf dieses Dienstes mit zwei multipliziert. Wenn man aber noch einen Blick in die Tabellen der Abbildungen Abbildung 21 und Abbildung 22 wirft, dann merkt man, dass das Gerät Device 2 genügende Ressourcen hat, um beide Dienste Service 2 und Service 3 auszuführen, und dass es nicht nötig ist, den Dienst Service 2 auf zwei Geräten zu Verteilen, was eigentlich zu weniger Ressourcenverbrauch führen kann, da es nur einen Instanz von Service 2 in dem Speicher der Cloud liegt. Ein ähnliches Ergebnis kann der Algorithmus erreichen, wenn die Methode choosedevices ihre Suche mit dem zweiten Gerät, d.h. Device 2, anfängt. Aber in diesem Fall, werden alle Dienste auf dem zuerst überprüften Gerät verteilt, wie in der Abbildung 27 gezeigt wird. 39

43 Abbildung 27. Die Verteilungsmatrix, wenn der Algorithmus die Verteilung mit dem Geräte "Device 2" anfängt Als Schlussfolgerung des letzten Beispiels ist festzuhalten, dass der Verteilungsalgorithmus die beste Verteilung der Dienste auf den Endgeräten der Cloud ergeben könnte, nur wenn die Listen der Endgeräte sowie der Dienste bestimmte Reihenfolgen haben. Um diese beste Verteilung herauszufinden, muss der Brut-Force-Algorithmus alle möglichen Reihenfolgen der Dienste auf alle möglichen Reihenfolgen der Geräte verteilen und für jede mögliche Verteilung die Zielfunktion berechnen. Die beste Verteilung wird diejenige sein, deren Zielfunktion den minimalen Wert hat Das Umordnensverfahren Wie es im vorherigen Abschnitt erklärt wird, ändert sich die Verteilung der Dienste auf den Endgeräten, wenn die Reihenfolge der Dienste oder der Endgeräte sich ändert. Bei jeder diesen Verteilungen ändert sich auch der Wert der Zielfunktion. Um die beste Verteilung der Dienste herauszufinden, ist es nötig die Dienste jedes Mal umzuordnen und jede dieser Anordnungen auf allen möglichen Reihenfolgen der Endgeräte zu verteilen. Die Methoden reorderdevices und reorderservices sind dafür verantwortlich, die Geräte sowie die Dienste in einer Verteilungsmatrix umzuordnen. Die beiden Methoden nehmen außer der Verteilungsmatrix noch einen Eingabeparameter, der hier als Umordnungsparameter bezeichnet wird. Dieser Umordnungsparameter kann wie folgt definiert werden: Der Umordnungsparameter ist eine Liste von N Zahlen : { -1} ist die Anzahl der umzuordnenden Elemente. ist der Index eines umzuordnenden Elements. Die Position von stellt in dieser Liste die neue Position des entsprechenden Elements in der Ausgabeliste dar. 40

44 Mit anderen Worten, besteht der Umordnungsparameter aus einer Reihenfolge von Indizes, die die neue Anordnung der Geräte oder der Dienste in der Verteilungsmatrix bestimmen. Als Beispiel darüber, wie die Methode reorderdevices funktioniert und welche Rolle der Umordnungsparameter da spielt, sehen wir in der Abbildung 28 eine Verteilungsmatrix einer π-cloud mit drei Geräten und einen Umordnungsparameter, der die neue Anordnung dieser Geräte in der Matrix bestimmt. Abbildung 28. Die Pfeile zeigen, wo die Geräte in der Ausgabematrix positioniert werden. Die newsequence Liste in dem Beispiel ist eine Darstellung des Umordnungsparameters. Diese Liste besteht aus drei Zahlen und jede dieser Zahlen stellt die Indexnummer eines Geräts in der Matrix dar. Die Positionen dieser Zahlen in der Liste repräsentieren die künftigen Positionen der Geräte mit den gleichen Indexnummern in der neu umgeordneten Verteilungsmatrix. Nach dem Anwenden der Methode reorderdevices auf der oberen Verteilungsmatrix mit newsequence als der Umordnungsparameter ergibt sich die Matrix in der Abbildung 29. Abbildung 29. Die neu geordnete Verteilungsmatrix Das gleiche zum umordnen der Geräte angewendete Prinzip wird bei den Diensten benutzt. Der Unterschied hier ist, dass um die Dienste umzuordnen, wird die Methode reorderservices jedes Element in der Verteilungsmatrix zugreifen und die Dienste darin neu anordnen. Das Ergebnis des Anwendens dieser Methode auf einem Element der Verteilungsmatrix wird in der 41

45 Abbildung 30 illustriert. Abbildung 30. Die Methode reorderservices Die Permutation In den vorherigen Abschnitten wurde erwähnt, dass der Wert der Zielfunktion davon abhängt, wie die Dienste auf den Endgeräten verteilt sind, und dass diese Verteilung sich ändert, wenn die Reihenfolge in der Eingabelisten der Endgeräte oder der Dienste sich ändert. Es wurde auch erklärt, wie die Geräte und Dienste in einer Verteilungsmatrix neu geordnet werden können außerdem wurde gezeigt, dass ein Umordnungsparameter die neue Anordnung der Geräte sowie der Dienste in der Ausgebelisten bestimmt. Da es bei diesem Brute-Force Algorithmus darum geht, die beste Verteilung der Dienste auf den Endgeräten herauszufinden, indem die Zielfunktion für alle möglichen Verteilungen berechnet und die Verteilung mit der minimal berechneten Zielfunktion als optimal betrachtet wird, ist es nötig, dass die Anordnung der Endgeräte jedes Mal geändert und dann die Dienste mit allen möglichen Reihenfolgen darauf verteilt werden. Um alle möglichen Reihenfolgen der Endgeräte und Dienste zu erstellen, wird eine Permutationsmethode ausgeführt. Dieses Verfahren nimmt eine Liste der Gerät- oder Dienstindizes als Eingabe und erstellt davon eine lange Liste, die alle möglichen Reihenfolgen dieser Indizes enthält. Die resultierte Liste ist nicht mehr als eine Summe von Teillisten, die alle mögliche Anordnungen der Eingabeliste repräsentieren. Die Teillisten haben natürlich die gleiche Länge wie die Eingabeliste und werden von den Umordnungsmethoden benutzt, um die Gerät- oder Dienstlisten neu zu ordnen. Die Permutationsmethode heißt pemutateindices und, wie oben schon erwähnt wurde, nimmt diese Methode eine Liste von Integer-Zahlen, die die Indizes der Elemente in einer Liste repräsentieren, als Eingabe und ergibt eine lange Liste, die alle Permutationen der Elemente von der Eingabeliste enthält. Die Abbildung 31 zeigt eine Eingabeliste, die aus = 3 Elementen besteht. Das Ergebnis der Permutation ist eine Liste, deren Länge die Multiplikation von der Anzahl aller möglichen 42

46 Anordnungen (Permutation) der Eingabeliste (d.h.! = 3! = 3 2 1) mit der Länge der Eingabeliste ( = 3) beträgt, d.h., die Ausgabeliste in dem gegebenen Beispiel besteht aus! = 3! 3 = 18 Elementen. Eingabeliste [0] [1] [2] device 1 device 2 device 3 Ausgabeliste permutateindices () Permutierte Listen Abbildung 31. Die Permutation einer Liste von Indizes Die permutateindices Methode wird in der Suche nach der besten Lösung benutzt. Die Methode findbestdistribution, deren Aufgabe die beste Verteilung der Dienst rauszufinden, wird das Permutationsverfahren zusammen mit den Umordnungsmethoden benutzen, um die Listen zu erstellen, die alle möglichen Reihenfolgen der Endgeräte sowie der Dienste enthält Die Suche nach der besten Lösung Bei der Suche nach der besten Lösung werden alle möglichen Verteilungen der Dienste auf den Endgeräte überprüft und danach wird für jede Verteilung der Wert ihrer Zielfunktion berechnet. Die Verteilung mit dem minimalen Ressourcenverbrauch, d.h. deren Zielfunktion den minimalen Wert hat, gilt als die beste Verteilung. Um das Prinzip der Suche nach der besten Lösung nachvollziehbar zu erklären, nehmen wir als Beispiel die π-cloud Abbildung 32 an, die aus = 2 Geräten und = 3 Diensten besteht. Im Folgenden wird schrittweise erklärt, wie die Methode findbestdistribution funktioniert. In dieser Methode steckt die ganze Logik des Brute-Force-Algorithmus. 43

47 Abbildung 32. Eine Cloud mit zwei Geräten und drei Diensten 1. Permutationsphase. In dieser Phase werden die zwei Listen in der 2. [0] [1] device 1 device [0] [1] [2] service 1 service 2 service Abbildung 33 erstellt, die alle möglichen Reihenfolgen (Permutationen) der Endgerätsowie der Dienstindizes enthalten. Diese Listen ergeben sich durch das Anwenden der im Abschnitt erklärten permutateindices Methode auf beide Indexlisten von den Endgeräten und den Diensten. Der Einfachheit halber werden die Ausgabeliste der permutierten Gerätindizes deviceindices und die von der permutierten Dienstindizes serviceindices genannt. In der derviceindices-liste, wenn man vom Anfang der Liste startet, zählen alle = 2 Elemente als eine Teilliste, die eine neue Anordnung der Gerätindizes darstellen. Das gleiche Prinzip gilt bei die serviceindices-liste aber mit Teillisten haben die Länge = 3. Die Teillisten in der 4. [0] [1] device 1 device 2 [0] [1] [2] 44

48 service 1 service 2 service Abbildung 33 werden mit abwechselnden Farben markiert. [0] [1] device 1 device 2 permutateindice s deviceindices [0] [1] [2] service 1 service 2 service 3 permutateindice s serviceindices Abbildung 33.Das Anwenden der Permutation auf die Endgeräts- und Dienstliste 6. Das Erstellen der temporären Verteilungsmatrizen: Nachdem die beiden Listen erstellt wurden, werden in dieser Phase noch die folgenden zwei temporären Verteilungsmatrizen initialisiert. Die Verarbeitungsmatrix tempmatrix. auf dieser temporären Matrix werden die Umordnungsmethoden angewendet. Nach jeder Neuordnung der Geräte oder Dienste wird die Zielfunktion berechnet und das Ergebnis mit dem Wert der Zielfunktion von der best erreichten Verteilungsmatrix verglichen. Die Ergebnismatrix resultmatrix. Diese Matrix wird als Puffer benutzt, der die best erreichte Verteilung der Dienste auf den Geräten enthält. Der Zielfunktionswert dieser Matrix wird jedes Mal nach den Umordnens- und Verteilungsoperationen mit dem von der Verarbeitungsmatrix verglichen. Wenn die Verarbeitungsmatrix einen kleineren Zielfunktionswert hat, dann wird der Ergebnismatrix den Inhalt der neuen Verarbeitungsmatrix zugewiesen. 45

It's all in the Cloud! Cloud Computing Grundlagen

It's all in the Cloud! Cloud Computing Grundlagen It's all in the Cloud! Cloud Computing Grundlagen Folie: 1/25 Agenda Einleitung - Cloud Computing Begriffe Überblick - Wer bietet was? Der Weg zur Private Cloud Einblick - RRZK und Cloud Computing Anmerkung

Mehr

Secure Cloud - "In-the-Cloud-Sicherheit"

Secure Cloud - In-the-Cloud-Sicherheit Secure Cloud - "In-the-Cloud-Sicherheit" Christian Klein Senior Sales Engineer Trend Micro Deutschland GmbH Copyright 2009 Trend Micro Inc. Virtualisierung nimmt zu 16.000.000 14.000.000 Absatz virtualisierter

Mehr

Gliederung. Was ist Cloud Computing Charakteristiken Virtualisierung Cloud Service Modelle Sicherheit Amazon EC2 OnLive Vorteile und Kritik

Gliederung. Was ist Cloud Computing Charakteristiken Virtualisierung Cloud Service Modelle Sicherheit Amazon EC2 OnLive Vorteile und Kritik Cloud Computing Gliederung Was ist Cloud Computing Charakteristiken Virtualisierung Cloud Service Modelle Sicherheit Amazon EC2 OnLive Vorteile und Kritik 2 Bisher Programme und Daten sind lokal beim Anwender

Mehr

Cloud Computing Chancen für KMU

Cloud Computing Chancen für KMU Cloud Computing Chancen für KMU Sascha A. Peters Cluster Manager IT FOR WORK 31. Oktober 2012 Cloud Computing Worüber reden alle? Fragen zum Thema Cloud Was ist Cloud Computing und wofür wird es genutzt?

Mehr

Anforderungen an Cloud- Rechenzentren

Anforderungen an Cloud- Rechenzentren Anforderungen an Cloud- Rechenzentren Student der Wirtscha3sinforma6k an der Universität zu Köln 1 Vorstellung Oktober 2009 bis September 2012 Bachelorstudium der Wirtscha3sinforma6k an der Wirtscha3s-

Mehr

Beim Kunden wahrgenommene Qualität von IT-Services Ein wichtiger Faktor in der Beschaffung von Cloud Services

Beim Kunden wahrgenommene Qualität von IT-Services Ein wichtiger Faktor in der Beschaffung von Cloud Services Beim Kunden wahrgenommene Qualität von IT-Services Ein wichtiger Faktor in der Beschaffung von Cloud Services BICCnet Arbeitskreistreffen "IT-Services" am 14. November bei fortiss Jan Wollersheim fortiss

Mehr

Mythen des Cloud Computing

Mythen des Cloud Computing Mythen des Cloud Computing Prof. Dr. Peter Buxmann Fachgebiet Wirtschaftsinformatik Software Business & Information Management Technische Universität Darmstadt 12.09.2012 IT-Business meets Science Prof.

Mehr

MICROSOFTS CLOUD STRATEGIE

MICROSOFTS CLOUD STRATEGIE MICROSOFTS CLOUD STRATEGIE Sebastian Weber Head of Technical Evangelism Developer Platform & Strategy Group Microsoft Deutschland GmbH Slide 1 WAS IST CLOUD COMPUTING? Art der Bereitstellung von IT-Leistung

Mehr

Azure und die Cloud. Proseminar Objektorientiertes Programmieren mit.net und C# Simon Pigat. Institut für Informatik Software & Systems Engineering

Azure und die Cloud. Proseminar Objektorientiertes Programmieren mit.net und C# Simon Pigat. Institut für Informatik Software & Systems Engineering Azure und die Cloud Proseminar Objektorientiertes Programmieren mit.net und C# Simon Pigat Institut für Informatik Software & Systems Engineering Agenda Was heißt Cloud? IaaS? PaaS? SaaS? Woraus besteht

Mehr

Cloud Computing Technologien. Maxim Schnjakin 16. April 2013

Cloud Computing Technologien. Maxim Schnjakin 16. April 2013 Cloud Computing Technologien Maxim Schnjakin 16. April 2013 Agenda 1 Cloud Computing Technologien Worum geht s? Seminarthemen Was soll gemacht werden? Organisation Wie soll s ablaufen? Definition of Cloud

Mehr

Cnlab / CSI Herbsttagung 2014 WAS IST CLOUD UND WAS NICHT?

Cnlab / CSI Herbsttagung 2014 WAS IST CLOUD UND WAS NICHT? Cnlab / CSI Herbsttagung 2014 WAS IST CLOUD UND WAS NICHT? Definition Cloud http://csrc.nist.gov/publications/nistpubs/800-145/sp800-145.pdf 10.9.2014 2 Definition Cloud: «The service model» www.sans.org

Mehr

Grenzen und Möglichkeiten. Senatsverwaltung für Inneres und Sport Verfassungsschutz Bereich: Wirtschaftsschutz René K.

Grenzen und Möglichkeiten. Senatsverwaltung für Inneres und Sport Verfassungsschutz Bereich: Wirtschaftsschutz René K. Grenzen und Möglichkeiten Senatsverwaltung für Inneres und Sport Verfassungsschutz Bereich: Wirtschaftsschutz René K. 1 Agenda Definition Architektur Durchgängigkeit der Technologien Risiken Pro Contra

Mehr

COBIT 5 Controls & Assurance in the Cloud. 05. November 2015

COBIT 5 Controls & Assurance in the Cloud. 05. November 2015 COBIT 5 Controls & Assurance in the Cloud 05. November 2015 Charakteristika der Cloud On-Demand Self Service Benötigte IT-Kapazität selbstständig ordern und einrichten Broad Network Access Zugriff auf

Mehr

Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht

Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht Eine Taxonomie und Bewertung von Cloud Computing Diensten aus Entwicklersicht Universität der Bundeswehr München Mario Golling und Michael Kretzschmar Fakultät für Informatik E-Mail: mario.golling@unibw.de

Mehr

Sicht eines Technikbegeisterten

Sicht eines Technikbegeisterten Cloud und Mobile Apps Quo Vadis? Bernhard Bauer Institut für Software und Systems Engineering Universität Augsburg Oder... IT Arbeitsplatz der Zukunft Sicht eines Technikbegeisterten IT Arbeitsplatz der

Mehr

Hybride Cloud Datacenters

Hybride Cloud Datacenters Hybride Cloud Datacenters Enterprise und KMU Kunden Daniel Jossen Geschäftsführer (CEO) dipl. Ing. Informatik FH, MAS IT Network Amanox Solutions Unsere Vision Wir planen und implementieren für unsere

Mehr

IT-Security on Cloud Computing

IT-Security on Cloud Computing Abbildung 1: IT-Sicherheit des Cloud Computing Name, Vorname: Ebert, Philipp Geb.: 23.06.1993 Studiengang: Angewandte Informatik, 3. FS Beruf: IT-Systemelektroniker Abgabedatum: 08.12.2014 Kurzfassung

Mehr

Compass Security AG [The ICT-Security Experts]

Compass Security AG [The ICT-Security Experts] Compass Security AG [The ICT-Security Experts] Live Hacking: Cloud Computing - Sonnenschein oder (Donnerwetter)? [Sophos Anatomy of an Attack 14.12.2011] Marco Di Filippo Compass Security AG Werkstrasse

Mehr

Cloud Computing mit mathematischen Anwendungen

Cloud Computing mit mathematischen Anwendungen Cloud Computing mit mathematischen Anwendungen Vorlesung SoSe 2009 Dr. Marcel Kunze Karlsruhe Institute of Technology (KIT) Steinbuch Centre for Computing (SCC) KIT the cooperation of Forschungszentrum

Mehr

Der Begriff Cloud. Eine Spurensuche. Patric Hafner 29.06.2012. geops

Der Begriff Cloud. Eine Spurensuche. Patric Hafner 29.06.2012. geops Der Begriff Cloud Eine Spurensuche Patric Hafner geops 29.06.2012 Motivation Der größte Hype der IT-Branche Hype heißt sowohl Rummel als auch Schwindel slashdot.org The cloud represents a foundational

Mehr

Cloud Computing Services. oder: Internet der der Dienste. Prof. Dr. Martin Michelson

Cloud Computing Services. oder: Internet der der Dienste. Prof. Dr. Martin Michelson Cloud Computing Services oder: Internet der der Dienste Prof. Dr. Martin Michelson Cloud Cloud Computing: Definitionen Cloud Computing ist eine Form der bedarfsgerechten und flexiblen Nutzung von IT-Dienstleistungen.

Mehr

Hochverfügbar, skalierbar und sicher in. der Public Cloud

Hochverfügbar, skalierbar und sicher in. der Public Cloud Hochverfügbar, skalierbar und sicher in der Public Cloud Thomas Bachmann CIO @ Mambu GmbH Twitter: @thobach Anwendungsbeispiel Core Banking System Verwaltung von Kunden, Konten, Transaktionen Buchhaltung,

Mehr

Multicast Backbone in the Cloud. Sebastian Zagaria Prof. Dr. Thomas C. Schmidt

Multicast Backbone in the Cloud. Sebastian Zagaria Prof. Dr. Thomas C. Schmidt Multicast Backbone in the Cloud Sebastian Zagaria Prof. Dr. Thomas C. Schmidt Gliederung Motivation HAMcast Project Cloud Computing Multicast Backbone in the Cloud Ausblick Motivation Probleme von IP Multicast

Mehr

Cloud Computing. D o m i n i c R e u t e r 19.07.2011. Softwarearchitekturen

Cloud Computing. D o m i n i c R e u t e r 19.07.2011. Softwarearchitekturen Cloud Computing D o m i n i c R e u t e r 19.07.2011 1 Seminar: Dozent: Softwarearchitekturen Benedikt Meurer GLIEDERUNG Grundlagen Servervirtualisierung Netzwerkvirtualisierung Storagevirtualisierung

Mehr

Cloud Computing mit OpenStack

Cloud Computing mit OpenStack Cloud Computing mit OpenStack B1 Systems GmbH http://www.b1-systems.de Cloud Computing Cloud Computing Servicemodelle Software as a Service (SaaS) Platform as a Service (PaaS) Infrastructure as a Service

Mehr

Sicherheit und Datenschutz in der Cloud

Sicherheit und Datenschutz in der Cloud Sicherheit und Datenschutz in der Cloud Kennen Sie die Herausforderungen der Zukunft? VDE Rhein-Main e.v. Arbeitsgemeinschaft IK Thomas Kochanek Montag, den 24.10.2011 Sicherheit und Datenschutz in der

Mehr

Cloud-Computing. Selina Oertli KBW 28.10.2014

Cloud-Computing. Selina Oertli KBW 28.10.2014 2014 Cloud-Computing Selina Oertli KBW 0 28.10.2014 Inhalt Cloud-Computing... 2 Was ist eine Cloud?... 2 Wozu kann eine Cloud gebraucht werden?... 2 Wie sicher sind die Daten in der Cloud?... 2 Wie sieht

Mehr

Clouds. Erwartungen der Nutzer. Wolkig bis Heiter. (c) 2013, Peter Sturm, Universität Trier. Er ist verwöhnt! Er ist nicht dankbar!

Clouds. Erwartungen der Nutzer. Wolkig bis Heiter. (c) 2013, Peter Sturm, Universität Trier. Er ist verwöhnt! Er ist nicht dankbar! Clouds Wolkig bis Heiter Erwartungen der Nutzer Er ist verwöhnt! Verfügbarkeit Viele Anwendungen Intuitive Interfaces Hohe Leistung Er ist nicht dankbar! Mehr! Mehr! Mehr! Moore 1 Erwartungen der Entwickler

Mehr

Jan-Peter Schulz Senior Security Consultant

Jan-Peter Schulz Senior Security Consultant Jan-Peter Schulz Senior Security Consultant 2 Definitionen im Rahmen des Cloud Computing Cloud Computing ist ein Modell, das es erlaubt, bei Bedarf jederzeit und überall bequem über ein Netz auf einen

Mehr

Linux Server in der eigenen Cloud

Linux Server in der eigenen Cloud SÜD IT AG World of IT Linux Server in der eigenen Cloud Infrastructure as a Service (IaaS) Michael Hojnacki, ProtoSoft AG Quellen: SUSE Cloud 4 Präsentation (Thore Bahr) Diverse Veröffentlichungen Stahlgruberring

Mehr

Private Cloud mit Eucalyptus am SCC

Private Cloud mit Eucalyptus am SCC Private Cloud mit Eucalyptus am SCC Christian Baun 15. Dezember 2009 KIT The cooperation of Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) http://www.kit.edu Cloud-Comuting = Grid-Computing?!

Mehr

Informatikdienste Virtualisierung im Datacenter mit VMware vsphere

Informatikdienste Virtualisierung im Datacenter mit VMware vsphere Virtualisierung im Datacenter mit ware vsphere Luzian Scherrer, ID-IS-SYS1 Virtual Center Virtualisierung im Datacenter mit ware vsphere Luzian Scherrer, ID-IS-SYS1 Cloud SaaS otion DRS ware otion Fault

Mehr

Prototypvortrag. Exploiting Cloud and Infrastructure as a Service (IaaS) Solutions for Online Game Service Provisioning. Projektseminar WS 2009/10

Prototypvortrag. Exploiting Cloud and Infrastructure as a Service (IaaS) Solutions for Online Game Service Provisioning. Projektseminar WS 2009/10 Prototypvortrag Exploiting Cloud and Infrastructure as a Service (IaaS) Solutions for Online Game Service Provisioning Projektseminar WS 2009/10 Eugen Fot, Sebastian Kenter, Michael Surmann AG Parallele

Mehr

Die Microsoft Cloud OS-Vision

Die Microsoft Cloud OS-Vision Die Microsoft Cloud OS-Vision 29-01-2014, itnetx/marcel Zehner Seit Oktober 2013 steht Microsoft mit dem neuen Betriebssystem Microsoft Windows Server 2012 R2 am Start. Aus Sicht von vielen Unternehmen

Mehr

4 Planung von Anwendungsund

4 Planung von Anwendungsund Einführung 4 Planung von Anwendungsund Datenbereitstellung Prüfungsanforderungen von Microsoft: Planning Application and Data Provisioning o Provision applications o Provision data Lernziele: Anwendungen

Mehr

Was ist die Cloud? CCW interner Vortrag für Themenabend Erstellt: Mai 2012, Heiko Ehmsen Dauer: ca. 30 Minuten. Inhalt

Was ist die Cloud? CCW interner Vortrag für Themenabend Erstellt: Mai 2012, Heiko Ehmsen Dauer: ca. 30 Minuten. Inhalt Was ist die Cloud? CCW interner Vortrag für Themenabend Erstellt: Mai 2012, Heiko Ehmsen Dauer: ca. 30 Minuten Inhalt 1. Einführung Geschichte 2. Grundidee der Cloud-Technik (Virtualisierung, Skalierbarkeit,

Mehr

Data Center Automa-on for the Cloud. Pascal Petsch

Data Center Automa-on for the Cloud. Pascal Petsch Data Center Automa-on for the Cloud Pascal Petsch Agenda Cloud Buzzwords Cloud Compu.ng in der Theorie Cloud Compu.ng in der Praxis Phase 1: Virtualisierung Phase 2: Automa.sierung mit OSDCM Phase 3+:

Mehr

Migration einer bestehenden Umgebung in eine private Cloud mit OpenStack

Migration einer bestehenden Umgebung in eine private Cloud mit OpenStack Migration einer bestehenden Umgebung in eine private Cloud mit OpenStack CeBIT 2014 14. März 2014 André Nähring Cloud Computing Solution Architect naehring@b1-systems.de - Linux/Open Source Consulting,

Mehr

CC: Herausforderungen Konsequenzen & Aufgaben

CC: Herausforderungen Konsequenzen & Aufgaben KOGIS CC: Herausforderungen Konsequenzen & Aufgaben Aus 5 Jahren Erfahrung geo.admin.ch SATW 10.9.2014 Hanspeter Christ & David Oesch KOGIS CC: Herausforderungen Konsequenzen & Aufgaben Aus 5 Jahren Erfahrung

Mehr

Cloud Computing - die Lösung der Zukunft

Cloud Computing - die Lösung der Zukunft Cloud Computing - die Lösung der Zukunft Agenda: 08:30 08:40 Begrüssung Herr Walter Keller 08:40 09:00 Idee / Aufbau der Cloud Herr Daniele Palazzo 09:00 09:25 Definition der Cloud Herr Daniele Palazzo

Mehr

Schnellstartanleitung. Version R9. Deutsch

Schnellstartanleitung. Version R9. Deutsch Data Backup Schnellstartanleitung Version R9 Deutsch März 19, 2015 Agreement The purchase and use of all Software and Services is subject to the Agreement as defined in Kaseya s Click-Accept EULATOS as

Mehr

Unternehmen-IT sicher in der Public Cloud

Unternehmen-IT sicher in der Public Cloud Unternehmen-IT sicher in der Public Cloud Safely doing your private business in public David Treanor Team Lead Infrastructure Microsoft Certified Systems Engineer (MCSE) Microsoft Certified Systems Administrator

Mehr

Cloud Computing mit der Windows Azure Platform

Cloud Computing mit der Windows Azure Platform Cloud Computing mit der Windows Azure Platform Ein Überblick Holger Sirtl Architect Developer Platform & Strategy Group Microsoft Deutschland GmbH http://blogs.msdn.com/hsirtl Wahlfreiheit bei Anwendungen

Mehr

TELEKOM CLOUD COMPUTING. NEUE PERSPEKTIVEN. Dietrich Canel Telekom Deutschland GmbH 03/2013 1

TELEKOM CLOUD COMPUTING. NEUE PERSPEKTIVEN. Dietrich Canel Telekom Deutschland GmbH 03/2013 1 TELEKOM CLOUD COMPUTING. NEUE PERSPEKTIVEN. Dietrich Canel Telekom Deutschland GmbH 03/2013 1 DIE TELEKOM-STRATEGIE: TELCO PLUS. 2 AKTUELLE BEISPIELE FÜR CLOUD SERVICES. Benutzer Profile Musik, Fotos,

Mehr

Sind Privacy und Compliance im Cloud Computing möglich?

Sind Privacy und Compliance im Cloud Computing möglich? Sind und Compliance im Cloud Computing möglich? Ina Schiering Ostfalia Hochschule für angewandte Wissenschaften Markus Hansen Unabhängiges Landeszentrum für Datenschutz www.ostfalie.de Wolfenbüttel, Germany

Mehr

Flug in die Wolke. Instrumentenflug in die Cloud mit Unic. Wallisellen, 25. Januar 2012. Christoph Camenisch

Flug in die Wolke. Instrumentenflug in die Cloud mit Unic. Wallisellen, 25. Januar 2012. Christoph Camenisch Flug in die Wolke Instrumentenflug in die Cloud mit Unic Wallisellen, 25. Januar 2012 Christoph Camenisch Flug in die Wolke Hosting by Unic Unic - Seite 2 Flug in die Wolke Cloud Computing in a nutshell

Mehr

SICHERE DATENHALTUNG IN DER CLOUD VIA HANDY. Tuba Yapinti Abschlussvortrag der Bachelorarbeit Betreuer: Prof. Reinhardt, Dr.

SICHERE DATENHALTUNG IN DER CLOUD VIA HANDY. Tuba Yapinti Abschlussvortrag der Bachelorarbeit Betreuer: Prof. Reinhardt, Dr. SICHERE DATENHALTUNG IN DER CLOUD VIA HANDY 1 Tuba Yapinti Abschlussvortrag der Bachelorarbeit Betreuer: Prof. Reinhardt, Dr. Bernd Borchert GLIEDERUNG 1. Motivation Gründe für die Entwicklung Ideen für

Mehr

Cloud Computing mit OpenStack

Cloud Computing mit OpenStack Cloud Computing mit OpenStack B1 Systems GmbH http://www.b1-systems.de Cloud Computing Fragen Was ist Cloud Computing? Was ist Infrastructure As A Service? Was ist OpenStack...... und aus welchen Komponenten

Mehr

Datenmanagement in der Cloud für den Bereich Simulationen und Wissenschaftliches Rechnen

Datenmanagement in der Cloud für den Bereich Simulationen und Wissenschaftliches Rechnen Datenmanagement in der Cloud für den Bereich Simulationen und Wissenschaftliches Rechnen Peter Reimann, Tim Waizenegger, Matthias Wieland, Holger Schwarz Institute für Parallele and Verteilte Systeme (IPVS)

Mehr

Datenschutzgerechtes CloudComputing -Risiken und Empfehlungen -

Datenschutzgerechtes CloudComputing -Risiken und Empfehlungen - Datenschutzgerechtes CloudComputing -Risiken und Empfehlungen - Dr. Thomas Reinke Die Landesbeauftragte für den Datenschutz und für das Recht auf Akteneinsicht Brandenburg (Bereich Technik und Organisation)

Mehr

Dynamische Plug-ins mit Eclipse 3. Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org)

Dynamische Plug-ins mit Eclipse 3. Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org) Dynamische Plug-ins mit Eclipse 3 Martin Lippert (martin.lippert@it-agile.de, www.it-agile.de) Tammo Freese (freese@acm.org) Überblick Die Ausgangslage Dynamische Plug-ins Warum? Eclipse 3 Die OSGi-basierte

Mehr

Emil Dübell EDConsulting

Emil Dübell EDConsulting Emil Dübell EDConsulting Emil.duebell@gmail.com www.x-plus-management.com Die Welt der IT verändert sich Cloud Computing und SaaS wird geschäftsfähig Veränderung des IT-Ökosystems Vom Lizenzgeber zum IT

Mehr

REST-basierte Web-Services mit PHP (1)

REST-basierte Web-Services mit PHP (1) REST-basierte Web-Services mit PHP (1) REST nutzt direkt die HTTP-Operationen Daher ist es (vgl. SOAP) einfacher, einen REST-basierten Webservice direkt mit PHP zu implementieren. Einige PHP-Frameworks,

Mehr

Cloud Computing: Hype oder Chance auch. für den Mittelstand?

Cloud Computing: Hype oder Chance auch. für den Mittelstand? Prof. Dr.-Ing. Rainer Schmidt HTW Aalen Wirtschaftsinformatik Überblick Was ist Cloud-Computing und wieso ist es für Unternehmen wichtig? Wie können Unternehmen mit Hilfe einer Cloud- Computing-Strategie

Mehr

Complex Hosting. Whitepaper. Autor.: Monika Olschewski. Version: 1.0 Erstellt am: 14.07.2010. ADACOR Hosting GmbH

Complex Hosting. Whitepaper. Autor.: Monika Olschewski. Version: 1.0 Erstellt am: 14.07.2010. ADACOR Hosting GmbH Complex Hosting Autor.: Monika Olschewski Whitepaper Version: 1.0 Erstellt am: 14.07.2010 ADACOR Hosting GmbH Kaiserleistrasse 51 63067 Offenbach am Main info@adacor.com www.adacor.com Complex Hosting

Mehr

Cloud Computing. Betriebssicherheit von Cloud Umgebungen C O N N E C T I N G B U S I N E S S & T E C H N O L O G Y

Cloud Computing. Betriebssicherheit von Cloud Umgebungen C O N N E C T I N G B U S I N E S S & T E C H N O L O G Y Cloud Computing Betriebssicherheit von Cloud Umgebungen Urs Zumstein Leiter Performance Care Team Urs.Zumstein@DevoTeam.ch 079 639 42 58 Agenda Definition von Cloud Services Anforderungen an die Betriebssicherheit

Mehr

Der Cloud-Dienst Windows Azure

Der Cloud-Dienst Windows Azure Der Cloud-Dienst Windows Azure Master-Seminar Cloud Computing Wintersemester 2013/2014 Sven Friedrichs 07.02.2014 Sven Friedrichs Der Cloud-Dienst Windows Azure 2 Gliederung Einleitung Aufbau und Angebot

Mehr

Cloud Computing. Arbeitskreis Informatik in der Schule. Prof. Dr. Ulrike Steffens (ulrike.steffens@haw-hamburg.de)

Cloud Computing. Arbeitskreis Informatik in der Schule. Prof. Dr. Ulrike Steffens (ulrike.steffens@haw-hamburg.de) Cloud Computing Arbeitskreis Informatik in der Schule Prof. Dr. Ulrike Steffens (ulrike.steffens@haw-hamburg.de) Hochschule für angewandte Wissenschaften Hamburg Fachbereich Informatik Gliederung 1. Vorstellung

Mehr

Vertrags- und Lizenzfragen im Rahmen des Cloud Computing LES Arbeitsgruppenmeeting 13. Mai 2011

Vertrags- und Lizenzfragen im Rahmen des Cloud Computing LES Arbeitsgruppenmeeting 13. Mai 2011 Vertrags- und Lizenzfragen im Rahmen des Cloud Computing LES Arbeitsgruppenmeeting 13. Mai 2011 Heymann & Partners Übersicht Erscheinungsformen des Cloud Computing Vertragsgestaltung beim Cloud Computing

Mehr

Verschlüsselung im Cloud Computing

Verschlüsselung im Cloud Computing Verschlüsselung im Cloud Computing Michael Herfert Fraunhofer-Institut für Sichere Informationstechnologie SIT Darmstadt Sicherheitsmanagement Enterprise & Risk Management Wien 17. Februar 2015 Inhalt

Mehr

Stefan Kusiek BFW-Leipzig

Stefan Kusiek BFW-Leipzig Stefan Kusiek BFW-Leipzig Schnellere Geräte (CPU, HDD, RAM, ) Mehrere Geräte (CPU, HDD, RAM, ) Mehrere Geräte (Rechner, Server, ) Cluster Preiswerter????? Mindestgröße Installation Konfiguration Wartung

Mehr

Windows Azure Ihre Plattform für professionelles Cloud Computing

Windows Azure Ihre Plattform für professionelles Cloud Computing Windows Azure Ihre Plattform für professionelles Cloud Computing Eine Plattform für Hochverfügbarkeit und maximale Flexibilität und ein Partner, der diese Möglichkeiten für Sie ausschöpft! Microsoft bietet

Mehr

Die Cloud, die alles anders macht. Die 6 Grundzüge der Swisscom Cloud

Die Cloud, die alles anders macht. Die 6 Grundzüge der Swisscom Cloud Die Cloud, die alles anders macht. Die 6 Grundzüge der Swisscom Cloud Viele Clouds, viele Trends, viele Technologien Kommunikation Private Apps Prozesse Austausch Speicher Big Data Business Virtual Datacenter

Mehr

ITK-Trends 2010: Hardware and Software. Engineered to work together. Rolf Kersten EMEA Hardware Product Marketing, Oracle

ITK-Trends 2010: Hardware and Software. Engineered to work together. Rolf Kersten EMEA Hardware Product Marketing, Oracle ITK-Trends 2010: Hardware and Software. Engineered to work together. Rolf Kersten EMEA Hardware Product Marketing, Oracle SAFE HARBOR STATEMENT The following is intended to outline our general product

Mehr

Cloud Computing. Einführung, EK Mitteilung, Europ. Cloud Partnership. Herbert.Leitold@a-sit.at

Cloud Computing. Einführung, EK Mitteilung, Europ. Cloud Partnership. Herbert.Leitold@a-sit.at Cloud Computing Einführung, EK Mitteilung, Europ. Cloud Partnership Herbert.Leitold@a-sit.at Beirat für Informationsgesellschaft Wien, 20. März 2013 Zentrum für sichere Informationstechnologie - Austria

Mehr

Dr. Uwe Jasnoch Intergraph SG&I Deutschland GmbH

Dr. Uwe Jasnoch Intergraph SG&I Deutschland GmbH Dr. Uwe Jasnoch Intergraph SG&I Deutschland GmbH Definition Cloud Computing Was ist cloud computing? on demand Computer Center mit pay as you go Konzepten Direkte Verfügbarkeit von Rechenkapazitäten, die

Mehr

EXIN Cloud Computing Foundation

EXIN Cloud Computing Foundation Musterexamen EXIN Cloud Computing Foundation Ausgabe Mai 2012 Copyright 2012 EXIN Alle Rechte vorbehalten. Veröffentlichung, Wiedergabe, Vervielfältigung oder Aufzeichnung auf einem Speichermedium bzw.

Mehr

Extended Abstract Obserseminar: Datenbanksysteme - Aktuelle Trends. Cloud-Datenbanken. Franz Anders 02.07.2015

Extended Abstract Obserseminar: Datenbanksysteme - Aktuelle Trends. Cloud-Datenbanken. Franz Anders 02.07.2015 Extended Abstract Obserseminar: Datenbanksysteme - Aktuelle Trends Cloud-Datenbanken Franz Anders 02.07.2015 Dies ist das erweiterte Abstract zum Vortrag Cloud-Datenbanken für das Oberseminar Datenbanksysteme

Mehr

Windows Server 2012 R2

Windows Server 2012 R2 Windows Server 2012 R2 Eine Übersicht Raúl B. Heiduk (rh@pobox.com) www.digicomp.ch 1 Inhalt der Präsentation Die wichtigsten Neuerungen Active Directory PowerShell 4.0 Hyper-V Demos Fragen und Antworten

Mehr

Cloud Computing. ITA Tech Talk, Oberursel, 28.09.2010. Nicholas Dille IT-Architekt, sepago GmbH

Cloud Computing. ITA Tech Talk, Oberursel, 28.09.2010. Nicholas Dille IT-Architekt, sepago GmbH Cloud Computing ITA Tech Talk, Oberursel, 28.09.2010 Nicholas Dille IT-Architekt, sepago GmbH Wer ist Nicholas Dille? IT-Architekt bei der sepago Strategieberatung Technische Konzeption Kernkompetenzen

Mehr

Anbietergruppen im Cloud Computing-Markt Work in Progress # 127

Anbietergruppen im Cloud Computing-Markt Work in Progress # 127 Torsten J. Gerpott/Sebastian May Anbietergruppen im Cloud Computing-Markt Work in Progress # 127 Juli 2013 Zusammenfassung Work in Progress # 127 Zf TM-WIP # 127 // CC-Anbietergruppen / Torsten J. Gerpott/Sebastian

Mehr

Cordula E. Niklaus, Fürsprecherin ll.m. Anwaltskanzlei Niklaus, Zürich - www.niclaw.ch. niclaw

Cordula E. Niklaus, Fürsprecherin ll.m. Anwaltskanzlei Niklaus, Zürich - www.niclaw.ch. niclaw Blindflug im Wolkenmeer? Rechtliche Aspekte zum Cloud Computing Last Monday vom 27. Juni 2011 Cordula E. Niklaus, Fürsprecherin ll.m. Anwaltskanzlei Niklaus, Zürich - www..ch Persönliches Cordula E. Niklaus,

Mehr

Microsoft Private und Hybrid Clouds

Microsoft Private und Hybrid Clouds cloud-finder.ch Microsoft Private und Hybrid Clouds Teil 1: Microsoft Cloud Computing Einführung 29.12.2012 Marcel Zehner itnetx gmbh Partner, Cloud Architect Microsoft Most Valuable Professional System

Mehr

WINDOWS AZURE IM ÜBERBLICK GANZ NEUE MÖGLICHKEITEN

WINDOWS AZURE IM ÜBERBLICK GANZ NEUE MÖGLICHKEITEN WINDOWS AZURE IM ÜBERBLICK GANZ NEUE MÖGLICHKEITEN Dr. Bernd Kiupel Azure Lead Microsoft Schweiz GmbH NEUE MÖGLICHKEITEN DURCH UNABHÄNGIGKEIT VON INFRASTRUKTUR BISHER: IT-Infrastruktur begrenzt Anwendungen

Mehr

«EFFIZIENTE UND SICHERE IT-INFRASTRUKTUREN...

«EFFIZIENTE UND SICHERE IT-INFRASTRUKTUREN... «EFFIZIENTE UND SICHERE IT-INFRASTRUKTUREN... 19.09.2013 In&Out AG IT Consulting & Engineering info@inout.ch www.inout.ch CLOUD SECURITY VERTRAULICHKEIT UND INTEGRITÄT VON DATEN Jörg Poell, Senior IT Security

Mehr

Das Unternehmen. BASYS Bartsch EDV-Systeme GmbH Hermine Seelhoff Str. 1-2 28357 Bremen Tel. 0421 434 20 30. Gegründet: 1988.

Das Unternehmen. BASYS Bartsch EDV-Systeme GmbH Hermine Seelhoff Str. 1-2 28357 Bremen Tel. 0421 434 20 30. Gegründet: 1988. Seite 2 Dr. Stephan Michaelsen www.basys-bremen.de Das Unternehmen BASYS Bartsch EDV-Systeme GmbH Hermine Seelhoff Str. 1-2 28357 Bremen Tel. 0421 434 20 30 www.basys-bremen.de vertrieb@basys-bremen.de

Mehr

Cloud Computing und Metadatenkonzepte

Cloud Computing und Metadatenkonzepte Cloud Computing und Metadatenkonzepte 6. Darmstädter Informationsrechtstag F. Wagner - Cloud Computing und Metadatenkonzepte - 6. Darmstädter Informationsrechtstag 26.11.2010 1 Herausforderungen Sicherheit

Mehr

Die EBCONT Unternehmensgruppe.

Die EBCONT Unternehmensgruppe. 1200 Wien, Handelskai 94-96 Johannes Litschauer, Alex Deles IT-Infrastruktur IT-Betrieb (managed Services) Cloud / Elastizität 1200 Wien, Handelskai 94-96 Johannes Litschauer, Alex Deles Enterprise Solutions

Mehr

2012 MASTERS Consulting GmbH 1

2012 MASTERS Consulting GmbH 1 2012 MASTERS Consulting GmbH 1 MASTERS Consulting ist eine Unternehmensberatung für IT Service Management. Das Beratungsumfeld umfasst die Themen IT Strategy Management, IT Governance & Compliance Management,

Mehr

Dunkel Cloud Storage. Der sichere Cloud-Speicher für Unternehmen

Dunkel Cloud Storage. Der sichere Cloud-Speicher für Unternehmen Dunkel Cloud Storage Der sichere Cloud-Speicher für Unternehmen Was ist Dunkel Cloud Storage? Dunkel Cloud Storage (DCS) stellt Ihnen Speicherplatz nach Bedarf zur Verfügung, auf den Sie jederzeit über

Mehr

Public und Private Cloud-Dienste mit KOALA komfortabel steuern

Public und Private Cloud-Dienste mit KOALA komfortabel steuern Public und Private Cloud-Dienste mit KOALA komfortabel steuern ix CeBIT Forum 2011 Christian Baun, Marcel Kunze 4. März 2011 STEINBUCH CENTRE FOR COMPUTING (SCC) KIT Universität des Landes Baden-Württemberg

Mehr

IT-Grundschutz: Cloud-Bausteine

IT-Grundschutz: Cloud-Bausteine IT-Grundschutz: Cloud-Bausteine Dr. Clemens Doubrava Bundesamt für Sicherheit in der Informationstechnik Grundlagen der Informationssicherheit und IT-Grundschutz 12.09.2013 Was sind die Risiken? (Public

Mehr

Hybride Cloud Datacenter

Hybride Cloud Datacenter Hybride Cloud Datacenter Enterprise und KMU Kunden Daniel Jossen Geschäftsführer (CEO) dipl. Ing. Informatik FH, MAS IT Network Amanox Solutions Dynamisches IT-Startup Unternehmen mit Sitz in Bern Mittlerweile

Mehr

Dynamische Web-Anwendung

Dynamische Web-Anwendung Dynamische Web-Anwendung Christiane Lacmago Seminar Betriebssysteme und Sicherheit Universität Dortmund WS 02/03 Gliederung Einleitung Definition und Erläuterung Probleme der Sicherheit Ziele des Computersysteme

Mehr

Windows Server 2012 R2 Storage

Windows Server 2012 R2 Storage Tech Data - Microsoft Windows Server 2012 R2 Storage MS FY14 2HY Tech Data Microsoft Windows Server 2012 R2 Kontakt: Microsoft @ Tech Data Kistlerhofstr. 75 81379 München microsoft-sales@techdata.de +49

Mehr

Mobile Device Management

Mobile Device Management Mobile Device Management Ein Überblick über die neue Herausforderung in der IT Mobile Device Management Seite 1 von 6 Was ist Mobile Device Management? Mobiles Arbeiten gewinnt in Unternehmen zunehmend

Mehr

Möglichkeiten der E-Mail- Archivierung für Exchange Server 2010 im Vergleich

Möglichkeiten der E-Mail- Archivierung für Exchange Server 2010 im Vergleich Möglichkeiten der E-Mail- Archivierung für Exchange Server 2010 im Vergleich Seit Microsoft Exchange Server 2010 bieten sich für Unternehmen gleich zwei mögliche Szenarien an, um eine rechtskonforme Archivierung

Mehr

Heiter bis wolkig Sicherheitsaspekte und Potentiale von Cloud Computing für die öffentlichen Verwaltung

Heiter bis wolkig Sicherheitsaspekte und Potentiale von Cloud Computing für die öffentlichen Verwaltung Heiter bis wolkig Sicherheitsaspekte und Potentiale von Computing für die öffentlichen Verwaltung Hardy Klömpges Public Sector Deutschland Führungskräfteforum, Bonn 14.10.2010 Copyright Siemens AG 2010.

Mehr

Cloud-Computing. 1. Definition 2. Was bietet Cloud-Computing. 3. Technische Lösungen. 4. Kritik an der Cloud. 2.1 Industrie 2.

Cloud-Computing. 1. Definition 2. Was bietet Cloud-Computing. 3. Technische Lösungen. 4. Kritik an der Cloud. 2.1 Industrie 2. Cloud Computing Frank Hallas und Alexander Butiu Universität Erlangen Nürnberg, Lehrstuhl für Hardware/Software CoDesign Multicorearchitectures and Programming Seminar, Sommersemester 2013 1. Definition

Mehr

synergetic AG Open House 2012 Ihr Unternehmen in der Wolke - Cloud Lösungen von synergetic

synergetic AG Open House 2012 Ihr Unternehmen in der Wolke - Cloud Lösungen von synergetic synergetic AG Open House 2012 Ihr Unternehmen in der Wolke - Cloud Lösungen von synergetic Markus Krämer Vorsitzender des Vorstandes der synergetic AG Verantwortlich für Strategie und Finanzen der synergetic

Mehr

Dateisysteme und Datenverwaltung in der Cloud

Dateisysteme und Datenverwaltung in der Cloud Dateisysteme und Datenverwaltung in der Cloud Sebastian Fischer Master-Seminar Cloud Computing - WS 2013/14 Institut für Telematik, Universität zu Lübeck Dateisysteme und Datenverwaltung in der Cloud 1

Mehr

Heiter bis wolkig Sicherheitsaspekte und Potentiale von Cloud Computing für die öffentlichen Verwaltung

Heiter bis wolkig Sicherheitsaspekte und Potentiale von Cloud Computing für die öffentlichen Verwaltung Heiter bis wolkig Sicherheitsaspekte und Potentiale von Computing für die öffentlichen Verwaltung Jörg Thomas Scholz Leiter Professional Services Public Sector Deutschland, Siemens AG Führungskräfteforum,

Mehr

CLOUD, GRID und Virtualisierung

CLOUD, GRID und Virtualisierung CLOUD, GRID und Virtualisierung Benjamin Schmidt 1 Hintergrund 2 Vollvirtualisierung Sämtliche Hardwarekomponenten (u.a. Netzwerkkarte, SCSI Controller) werden emuliert Erlaubt die Verwendung eines unmodifizierten

Mehr

Software as a Service, Cloud Computing und aktuelle Entwicklungen Seminarvorbesprechung

Software as a Service, Cloud Computing und aktuelle Entwicklungen Seminarvorbesprechung Software as a Service, Cloud Computing und aktuelle Entwicklungen Seminarvorbesprechung A. Göbel, Prof. K. Küspert Friedrich-Schiller-Universität Fakultät für Mathematik und Informatik Lehrstuhl für Datenbanken

Mehr

RECHTLICHE ASPEKTE BEIM CLOUD COMPUTING Technik-Evolution bringt Business-Revolution

RECHTLICHE ASPEKTE BEIM CLOUD COMPUTING Technik-Evolution bringt Business-Revolution RECHTLICHE ASPEKTE BEIM CLOUD COMPUTING Technik-Evolution bringt Business-Revolution Dr. Johannes Juranek, Partner bei CMS Reich-Rohrwig Hainz Rechtsanwälte GmbH Ebendorferstraße 3, 1010 Wien WS 2011 1.

Mehr

Cloud Speicher. Agnes Marcol Proseminar Speicher- und Dateisysteme SoSe 2012

Cloud Speicher. Agnes Marcol Proseminar Speicher- und Dateisysteme SoSe 2012 Cloud Speicher Agnes Marcol Proseminar Speicher- und Dateisysteme SoSe 2012 Ablauf Cloud-Speicher allgemein Was ist die Cloud? Möglichkeiten Vorteile Nutzer u. Anbieter 3 Beispiele Dropbox Ubuntu One TeamDrive

Mehr

1 2 013 I BM I C BM orporatiton

1 2 013 I BM I C BM orporatiton 1 Ronald Brutter, Senior IT Architect 3. Nov. 2013 Backup wozu? Ich habe Cloud Was ist Cloud? 5 Charakteristika nach NIST Das NIST listet fünf essentielle Charakteristika für Cloud-Computing: 1. Selbstzuweisung

Mehr

ISSS Security Lunch - Cloud Computing

ISSS Security Lunch - Cloud Computing ISSS Security Lunch - Cloud Computing Technische Lösungsansätze Insert Andreas Your Kröhnert Name Insert Technical Your Account Title Manager Insert 6. Dezember Date 2010 The Cloud Unternehmensgrenzen

Mehr

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

Mehr

IT-Lösungsplattformen

IT-Lösungsplattformen IT-Lösungsplattformen - Server-Virtualisierung - Desktop-Virtualisierung - Herstellervergleiche - Microsoft Windows 2008 für KMU s Engineering engineering@arcon.ch ABACUS Kundentagung, 20.11.2008 1 Agenda

Mehr