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

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

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

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

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

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

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

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

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

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

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

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

Java und XML 2. Java und XML

Java und XML 2. Java und XML Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik Java und XML Hauptseminar Telematik WS 2002/2003

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

Vision: ICT Services aus der Fabrik

Vision: ICT Services aus der Fabrik Vision: ICT Services aus der Fabrik Der Weg zur elastischen ICT-Infrastruktur Daniel Jossen Geschäftsführer (CEO) dipl. Ing. Informatik FH, MAS IT Network Unsere Vision Wir planen und implementieren für

Mehr

Technik der Cloud. Prof. Dr. Hannes Federrath Sicherheit in verteilten Systemen (SVS) http://svs.informatik.uni-hamburg.de. München, 18.

Technik der Cloud. Prof. Dr. Hannes Federrath Sicherheit in verteilten Systemen (SVS) http://svs.informatik.uni-hamburg.de. München, 18. Technik der Cloud Prof. Dr. Hannes Federrath Sicherheit in verteilten Systemen (SVS) http://svs.informatik.uni-hamburg.de München, 18. Oktober 2013 1 Begriff Cloud Computing verteiltes, vernetztes System

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

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

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

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

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

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

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

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

Erfinderland Deutschland Baukasten Forschung Themenbereich: Informatik Niveau B1 CLIL-Unterrichtsmaterialien Vor dem Ausstellungsbesuch

Erfinderland Deutschland Baukasten Forschung Themenbereich: Informatik Niveau B1 CLIL-Unterrichtsmaterialien Vor dem Ausstellungsbesuch Seite 1 von 5 Erfinderland Deutschland Baukasten Forschung Themenbereich: Informatik CLIL-Unterrichtsmaterialien Vor dem Ausstellungsbesuch Aufgabe 1: Daten in der Wolke a. Seht das Bild an und tauscht

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

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

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

Microsoft Azure Fundamentals MOC 10979

Microsoft Azure Fundamentals MOC 10979 Microsoft Azure Fundamentals MOC 10979 In dem Kurs Microsoft Azure Fundamentals (MOC 10979) erhalten Sie praktische Anleitungen und Praxiserfahrung in der Implementierung von Microsoft Azure. Ihnen werden

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

Hmmm.. Hmmm.. Hmmm.. Genau!! Office in der Cloud Realität oder Zukunft? Dumme Frage! ist doch schon lange Realität!. aber auch wirklich für alle sinnvoll und brauchbar? Cloud ist nicht gleich Cloud!

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

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

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

System Center 2012 Server-Management-Lizenzen... 2

System Center 2012 Server-Management-Lizenzen... 2 Inhalt System Center 2012 Server-Management-Lizenzen... 2 1. Was ist neu in der Lizenzierung von System Center 2012 zur Verwaltung von Servern?... 2 2. Welche Produkteditionen bietet System Center 2012?...

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

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

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

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

Performance Monitoring Warum macht es Sinn?

Performance Monitoring Warum macht es Sinn? Performance Monitoring Warum macht es Sinn? achermann consulting ag Nicola Lardieri Network Engineer Luzern, 25.5.2011 Inhalt Definition Monitoring Warum Performance Monitoring? Performance Monitoring

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

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Bibliotheksmanagement im Netz - vernetzt

Bibliotheksmanagement im Netz - vernetzt OCLC Informationstag 12. Mai 2011 Bibliotheksmanagement im Netz - vernetzt Annette Dortmund Product Manager LBS / WMS EMEA OCLC Überblick Arbeiten im Web: Die Cloud Bibliotheksmanagement im Netz: OCLC

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

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

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

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

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

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

Virtualisierung in Netzen Möglichkeiten und Probleme

Virtualisierung in Netzen Möglichkeiten und Probleme Virtualisierung in Netzen Möglichkeiten und Probleme Dieter Kranzlmüller, Martin Metzker Munich Network Management Team Ludwig-Maximilians-Universität München (LMU) & Leibniz-Rechenzentrum der Bayerischen

Mehr

Lizenzierung von Exchange Server 2013

Lizenzierung von Exchange Server 2013 Lizenzierung von Exchange Server 2013 Das Lizenzmodell von Exchange Server 2013 besteht aus zwei Komponenten: Serverlizenzen zur Lizenzierung der Serversoftware und Zugriffslizenzen, so genannte Client

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

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

Neben den drei Servicemodellen wird auch noch nach vier Bereitstellungsvarianten unterschieden.

Neben den drei Servicemodellen wird auch noch nach vier Bereitstellungsvarianten unterschieden. Middleware Private Cloud Erstellen mit Oracle EM 12c Hubertus Schmidt ORACLE Deutschland B.V. & Co. KG Hannover Schlüsselworte Architektur, Betrieb, Cloud Computing, Middleware, Private Cloud, Enterprise

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

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

Test zur Bereitschaft für die Cloud

Test zur Bereitschaft für die Cloud Bericht zum EMC Test zur Bereitschaft für die Cloud Test zur Bereitschaft für die Cloud EMC VERTRAULICH NUR ZUR INTERNEN VERWENDUNG Testen Sie, ob Sie bereit sind für die Cloud Vielen Dank, dass Sie sich

Mehr

Die Spezialisten für innovative Lösungen im Bereich Document Output Management

Die Spezialisten für innovative Lösungen im Bereich Document Output Management Die Spezialisten für innovative Lösungen im Bereich Document Output Management Agenda Wer ist Rasterpunkt Einführung Software as a Service Hat SaaS Marktpotential? SaaS im Document Output Management: Konvertierung

Mehr

VMware Anlass Virtualisierungsupdate

VMware Anlass Virtualisierungsupdate VMware Anlass Virtualisierungsupdate 08:30 08:45 Begrüssung Einleitung 08:45 09:05 VMware News from VMware Partner Exchange 2012 09:05 09:20 Cloud?! 09:20 09:40 vcenter Operations 09:40 10:00 Veeam Backup

Mehr

Client-Server mit Socket und API von Berkeley

Client-Server mit Socket und API von Berkeley Client-Server mit Socket und API von Berkeley L A TEX Projektbereich Deutsche Sprache Klasse 3F Schuljahr 2015/2016 Copyleft 3F Inhaltsverzeichnis 1 NETZWERKPROTOKOLLE 3 1.1 TCP/IP..................................................

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

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

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

I N F O R M A T I O N V I R T U A L I S I E R U N G. Wir schützen Ihre Unternehmenswerte

I N F O R M A T I O N V I R T U A L I S I E R U N G. Wir schützen Ihre Unternehmenswerte I N F O R M A T I O N V I R T U A L I S I E R U N G Wir schützen Ihre Unternehmenswerte Wir schützen Ihre Unternehmenswerte Ausfallsicherheit durch Virtualisierung Die heutigen Anforderungen an IT-Infrastrukturen

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

Lizenzierung von SQL Server 2014

Lizenzierung von SQL Server 2014 Lizenzierung von SQL Server 2014 SQL Server 2014 bietet zwei Lizenzoptionen: das Core-basierte Lizenzmodell, dessen Maßeinheit die Anzahl der Prozessorkerne und damit die Rechenleistung der Server-Hardware

Mehr

Wiederholung: Informationssicherheit Ziele

Wiederholung: Informationssicherheit Ziele Wiederholung: Informationssicherheit Ziele Vertraulichkeit: Schutz der Information vor unberechtigtem Zugriff bei Speicherung, Verarbeitung und Übertragung Integrität: Garantie der Korrektheit (unverändert,

Mehr

ebusiness auf Wolke sieben? Internet-Partner der Wirtschaft

ebusiness auf Wolke sieben? Internet-Partner der Wirtschaft Die Cloud Vitamine Unser für Unternehmen Thema für Ihr heute: Business - ebusiness auf Wolke sieben? Internet-Partner der Wirtschaft Der Vorfilm... Es sollte schon passen... Ihr Business Unser Service

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

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

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse? Ein Beispiel Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse? Dipl.-Kfm. Claus Häberle WS 2015 /16 # 42 XML (vereinfacht) visa

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

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching 1.1 Caching von Webanwendungen In den vergangenen Jahren hat sich das Webumfeld sehr verändert. Nicht nur eine zunehmend größere Zahl an Benutzern sondern auch die Anforderungen in Bezug auf dynamischere

Mehr

Aktenverwaltung einfach gemacht

Aktenverwaltung einfach gemacht Aktenverwaltung einfach gemacht Das Problem Der sichere und schnelle Zugriff auf Geschäftsakten und - Dokumente ist das Rückgrat jedes betrieblichen Informations- Management-Systems und kann wesentlich

Mehr

Gewährleistung und SoftwaremieteVortrag im Rahmen der Veranstaltung IT-Recht - Grundlagen für Informatiker

Gewährleistung und SoftwaremieteVortrag im Rahmen der Veranstaltung IT-Recht - Grundlagen für Informatiker Gewährleistung und Softwaremiete Vortrag im Rahmen der Veranstaltung IT-Recht - Grundlagen für Informatiker Bernhard Dick 05.10.2009 Mietverträge Rechtliche Grundlage und Folgen Serviceverträge Wo finden

Mehr

Dreamwap. Systemanalyse

Dreamwap. Systemanalyse Dreamwap Systemanalyse Änderungskontrolle Version Datum Name Bemerkung 0.1 15.7.2000 P. Troxler Initialversion 0.2 16.7.2000 P. Troxler Neue Tabelle: Kap. 2.1. Vgl. Datenbank Tabellen 0.3 18.7.2000 P.

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

Cloud Computing Teil 2

Cloud Computing Teil 2 Cloud Computing Teil 2 Dropbox und andere Anbieter Dokumente, Präsentationen, Briefe, Bilder und vieles mehr in der Cloud sichern. Computeria Wallisellen, Joachim Vetter, 18.September 2013 Agenda Rückblick

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

Die maßgeschneiderte IT-Infrastruktur aus der Südtiroler Cloud

Die maßgeschneiderte IT-Infrastruktur aus der Südtiroler Cloud Die maßgeschneiderte IT-Infrastruktur aus der Südtiroler Cloud Sie konzentrieren sich auf Ihr Kerngeschäft und RUN AG kümmert sich um Ihre IT-Infrastruktur. Vergessen Sie das veraltetes Modell ein Server,

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

Alle Kanäle Eine Plattform

Alle Kanäle Eine Plattform E-Mail Brief Fax Web Twitter Facebook Alle Kanäle Eine Plattform Geschäftsprozesse im Enterprise Content Management (ECM) und Customer Experience Management (CEM) erfolgreich automatisieren ITyX Gruppe

Mehr

Vorstellung Studienprojekt. Policy4TOSCA. Umsetzung eines Policy-Frameworks für sicheres und energieeffizientes Cloud Computing

Vorstellung Studienprojekt. Policy4TOSCA. Umsetzung eines Policy-Frameworks für sicheres und energieeffizientes Cloud Computing Vorstellung Studienprojekt Policy4TOSCA Umsetzung eines Policy-Frameworks für sicheres und energieeffizientes Cloud Computing Institute of Architecture of Application Systems (IAAS) www.iaas.uni-stuttgart.de

Mehr

CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5. www.hanser.de

CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5. www.hanser.de CARL HANSER VERLAG Dirk Ammelburger XML Grundlagen der Sprache und Anwendungen in der Praxis 3-446-22562-5 www.hanser.de 1 1.1 Einleitung... 2 Über dieses Buch... 3 1.2 Für wen ist das Buch gedacht?...

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

Vorwort... 11 Azure Cloud Computing mit Microsoft... 12 Danksagungen... 13 Kontakt zum Autor... 13

Vorwort... 11 Azure Cloud Computing mit Microsoft... 12 Danksagungen... 13 Kontakt zum Autor... 13 Inhaltsverzeichnis Vorwort... 11 Azure Cloud Computing mit Microsoft... 12 Danksagungen... 13 Kontakt zum Autor... 13 Einleitung... 15 Zielgruppe... 16 Aufbau... 16 Inhalt der einzelnen Kapitel... 17 Systemanforderungen...

Mehr

MICROSOFT WINDOWS AZURE

MICROSOFT WINDOWS AZURE Cloud Computing à la Microsoft MICROSOFT WINDOWS AZURE Karim El Jed netcreate OHG Agenda Was ist Cloud Computing? Anwendungsszenarien Windows Azure Platform Alternativen Was ist Cloud Computing? Was ist

Mehr

KURZANLEITUNG DUPLICITY MIT CLOUD OBJECT STORAGE

KURZANLEITUNG DUPLICITY MIT CLOUD OBJECT STORAGE KURZANLEITUNG DUPLICITY MIT CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung...Seite 03 2. Einrichtung des Systems...Seite 04 3. Erzeugen eines Backup-Skripts...Seite

Mehr

Trusted Network Connect. Networking Academy Day 19.04.2008

Trusted Network Connect. Networking Academy Day 19.04.2008 Trusted Network Connect Networking Academy Day 19.04.2008 Dipl.-Inf. Stephan Gitz Roadmap Ziele der Informationssicherheit Herausforderungen der Informationssicherheit Angriffsvektoren

Mehr

Cloud Computing in der öffentlichen Verwaltung

Cloud Computing in der öffentlichen Verwaltung Cloud Computing in der öffentlichen Verwaltung Willy Müller /ch/open - 5.4.2012 Sie alle sind Cloud-Nutzer 2 3 Cloud-Computing als Weiterentwicklung von SOA Business process as a Service Software as a

Mehr

Sind Cloud Apps der nächste Hype?

Sind Cloud Apps der nächste Hype? Java Forum Stuttgart 2012 Sind Cloud Apps der nächste Hype? Tillmann Schall Stuttgart, 5. Juli 2012 : Agenda Was sind Cloud Apps? Einordnung / Vergleich mit bestehenden Cloud Konzepten Live Demo Aufbau

Mehr

Überblick IBM Offerings für Cloud-Provider

Überblick IBM Offerings für Cloud-Provider - IBM Cloud Computing März, 2011 Überblick IBM Offerings für Cloud-Provider Juerg P. Stoll Channel Development Executive for Cloud IMT ALPS juerg.stoll@ch.ibm.com +41 79 414 3554 1 2010 IBM

Mehr

CLOUDLÖSUNGEN FÜR DEN MITTELSTAND BUILD YOUR OWN CLOUD

CLOUDLÖSUNGEN FÜR DEN MITTELSTAND BUILD YOUR OWN CLOUD Ihr starker IT-Partner. Heute und morgen CLOUDLÖSUNGEN FÜR DEN MITTELSTAND BUILD YOUR OWN CLOUD In 5 Stufen von der Planung bis zum Betrieb KUNDENNÄHE. Flächendeckung der IT-Systemhäuser IT-Systemhaus

Mehr

Herzlich Willkommen! MR Cloud Forum 2012. Bayreuth

Herzlich Willkommen! MR Cloud Forum 2012. Bayreuth Herzlich Willkommen! MR Cloud Forum 2012 Bayreuth Partnerschaftlich in die IT-Zukunft /// 28.06.2012 /// Seite 1 Partnerschaftlich in die IT-Zukunft /// 28.06.2012 /// Seite 2 Cloud ist eine Unternehmens-Strategie,

Mehr

IT as a Service für den KMU Bereich - und was haben Sie davon?

IT as a Service für den KMU Bereich - und was haben Sie davon? 1 IBM und A1 Telekom Austria IT as a Service für den KMU Bereich - und was haben Sie davon? DI Roland Fadrany, Head of ITO, A1 Telekom Austria DI Günter Nachtlberger, Business Development Executive, IBM

Mehr

(Oracle) BPM in der Cloud

(Oracle) BPM in der Cloud ti&m seminare (Oracle) BPM in der Cloud Integration, Chancen und Risiken Alexander Knauer Architect ti&m AG Version 1.0 28. Januar 2013 ti&m AG Buckhauserstrasse 24 CH-8048 Zürich Belpstrasse 39 CH-3007

Mehr