PARAMETRISIERBARES DISPERSIONSMODUL FÜR DEN EINSATZ IN EINER CLOUD-SPEICHERDIENST- INTEGRATION

Größe: px
Ab Seite anzeigen:

Download "PARAMETRISIERBARES DISPERSIONSMODUL FÜR DEN EINSATZ IN EINER CLOUD-SPEICHERDIENST- INTEGRATION"

Transkript

1 Fakultät Informatik Institut für Systemarchitektur, Professur Rechnernetze PARAMETRISIERBARES DISPERSIONSMODUL FÜR DEN EINSATZ IN EINER CLOUD-SPEICHERDIENST- INTEGRATION Maximilian Quellmalz Matrikelnummer BELEGARBEIT Betreuer Dr.-Ing. Josef Spillner Betreuender Hochschullehrer Prof. Dr. rer. nat. habil. Dr. h. c. Alexander Schill Eingereicht am 14. November 2013

2

3 3

4

5 SELBSTSTÄNDIGKEITSERKLÄRUNG Hiermit erkläre ich, dass ich die vorliegende Belegarbeit mit dem Titel Parametrisierbares Dispersionsmodul für den Einsatz in einer Cloud-Speicherdienst-Integration selbstständig verfasst habe. Es wurden keine anderen als die in der Arbeit angegebenen Quellen und Hilfsmittel benutzt. Die wörtlichen oder sinngemäß übernommenen Zitate habe ich als solche kenntlich gemacht. Dresden, 14. November 2013 Maximilian Quellmalz 5

6

7 INHALTSVERZEICHNIS 1. Einleitung Hintergrund Die verwendete Notation Begriffe zur Datenverteilung Replikation Partitionierung Forward Error Correction Erasure-Codes Information Dispersal Algorithmus Secret-Sharing Codierungsverfahren Erasure-Codes Secret-Sharing Algorithmen Vergleich frei verfügbarer Datendispersionsbibliotheken Jerasure Jerasure GF-Complete JigDFS Schifra Cleversafe dsnet Crypto IDA (Java) zfec JSharing Gibraltar StorageCORE - Cross-Object Redundancy CORE - Concurrent Recovery Zusammenfassung Konzept Datenverarbeitung Daten aus dem Speicher

8 Inhaltsverzeichnis Dateien verarbeiten Architektur Splitter Plugins Codecs Datenstrukturen Pluginbeschreibung (PluginDescription) Codecbeschreibung (CodecDescription) Codecparameter Metadaten Codierungsauftrag (CodingTask) Interfaces Splitter Interface Plugin Interface Codec Interface Callback Interface Verwendung des Splitter-NG Implementierung Implementierung des Splitter-NG Umsetzung von Multithreading und Warteschlange Umsetzung des asynchronen Interfaces Umsetzung des Plugin-Konzeptes Erweitern des Splitter-NG durch eigene Plugins Plugins erstellen Codecs erstellen Plugin als JAR-Datei Exportieren Verwendung von nicht-java Bibliotheken in Plugins Implementierung der JSharing Bibliothek als Splitter-NG Plugin Implementierung von Jerasure 1.2A als Splitter-NG Plugin Implementierung einer Testanwendung Parametrisierung der implementierten Plugins und Codecs Zusammenhang der Projekte Analyse der Implementierung Verbesserungen Aufwandsabschätzung für die Pluginentwicklung Differenzen zum Konzept Quantitativer Geschwindigkeitsvergleich der implementierten Codecs Zusammenfassung und Ausblick Zusammenfassung Ausblick A. Quellcode des Beispiel-Plugins für RAID-1 67 A.1. SplitterPluginRaid1.java A.2. CodecRaid1.java

9 ABBILDUNGSVERZEICHNIS 2.1. Codierung mit Erasure-Codes Mögliche Datenverarbeitungswege Verarbeitung großer Datenblöcke in Chunks Splitter-NG Pluginschnittstelle Splitter-NG Pluginschnittstelle EncodingTask und DecodingTask erben von der Klasse CodingTask Auslesen der Informationen über Plugins und Codecs Verwendung des Splitter-NG durch eine Anwendung Die Plugins sind nach dem Entwurfsmuster Abstract Factory implementiert Textausgabe der Testanwendung Zusammenhang der implementierten Projekte

10

11 TABELLENVERZEICHNIS 2.1. Vorgaben der Parameterwahl für verschiedene Codierungsverfahren Zusammenfassung zu Jerasure Zusammenfassung zu Jerasure Zusammenfassung zu GF-Complete Zusammenfassung zu JigDFS Zusammenfassung zu Schifra Zusammenfassung zu Cleversafe dsnet Zusammenfassung zu Crypto Zusammenfassung zu IDA (Java) Zusammenfassung zu zfec Zusammenfassung zu JSharing Zusammenfassung zu Gibraltar Zusammenfassung zu StorageCORE Zusammenfassung zu CORE Vergleich des Funktionsumfangs und der Aktualität der Bibliotheken Beispiel für Metadaten nach dem Encodieren Befehle zur Bedienung der Testanwendung Parameter für die Codecs aus dem Jerasure-Plugin Implementierungsgrad der Verfahren und Bibliotheken als Plugins

12

13 LISTINGS 3.1. Methoden der Klasse PluginDescription Methoden der Klasse CodecDescription Das Splitter-NG Interface zur Einbindung in eine Anwendung Das Plugin Interface zur Einbindung von Plugins in den Splitter-NG Das Interface eines Codecs zur Einbindung in ein Plugin Callback Interface Änderungen im JNI Makefile der Jerasure Bibliothek Start-Script für die Test-Anwendung splittertest.jar bei Verwendung des Jerasure-Plugins Initialisierung des Splitter-NG mit dem RAID-1-Codec im Quelltext der Testanwendung Quantitativer Geschwindigkeitsvergleich ausgewählter Codecs A.1. Quellcode des Raid-1 Plugins A.2. Quellcode des Raid-1 Codecs für das Raid-1 Plugin

14

15 1. EINLEITUNG Dispersion von Daten ist seit Jahren als Standard etabliert, wenn es um die Erhöhung der Datenverfügbarkeit bei Ausfall einzelner Festplatten in Computersystemen geht. Bei diesen RAID-Systemen (Redundant Array of Independent Disks) werden zu den Festplatten, die die relevanten Daten enthalten, weitere hinzugefügt, auf die redundante Daten geschrieben werden. Mit Hilfe dieser Redundanz bleiben die Informationen im Falle eines Festplattenausfalls weiterhin verfügbar. Auf diese Weise kann, je nach Konfiguration, der Ausfall einer oder mehrerer Festplatten toleriert werde. Es können dabei unterschiedliche Verfahren eingesetzt werden. Die Möglichkeiten reichen von einfachem Spiegeln der Daten auf weitere Festplatten (RAID-1), bis zu komplexen Verfahren unter Verwendung von Erasure-Codes, die den Ausfall mehrerer Festplatten abfangen können. So kann ein RAID-6-System bis zu zwei gleichzeitige Festplattenausfälle kompensieren. Die Grundidee, wichtigen Daten redundante Informationen hinzuzufügen, ist auch für andere Anwendungen, wie Cloud-Speicher, interessant. Mit Hilfe von Erasure- Codes kann eine Datei in Fragmente geteilt werden, die neben den relevanten Daten auch redundante Informationen enthalten. Diese Fragmente können dann auf mehrere Speicheranbieter verteilt werden. Dadurch kann sichergestellt werden, dass die Daten komplett verfügbar sind, auch wenn nicht alle Anbieter erreichbar sein sollten. Im Gegensatz zu RAID-Systemen können die Dateifragmente auch geographisch getrennt gespeichert werden. Weiterhin kann eine Dispersion mit speziellen Verfahren wie Secret-Sharing und All or Nothing Transformation dazu genutzt werden, die Vertraulichkeit der Information zu gewährleisten. Es sind dabei mehrere Fragmente notwendig um Rückschlüsse auf die Originaldatei zuzulassen. Werden diese nicht alle bei einem Provider gespeichert, ist das Risiko, dass die Daten für Unbefugte zugänglich sind auch dann gering, wenn ein Speicheranbieter kompromittiert wird, oder die Daten durch interne Fehlfunktionen frei zugänglich sind, wie es 2011 bei Dropbox geschehen ist [Hei11]. 15

16 1. Einleitung Es existieren bereits einige Anwendungen, die das Konzept der Datendispersion auf Cloud-Storage anwenden. Sie haben jedoch alle gemeinsam, dass die Dispersionsverfahren fest implementiert sind. So werden zum Beispiel vom Cloud-Storage- Controller NubiSave direkt die Java-Klassen von JigDFS verwendet. Allgemein bietet eine solche feste Einbindung kaum Flexibilität. Bei NubiSave wäre ein Wechsel zu einer anderen Dispersionsbibliothek nicht ohne größeren Aufwand möglich. Ziel dieser Arbeit ist es ein flexibles Modul Splitter-Next-Generation (Splitter-NG) zu entwickeln, das die Datendispersion kapselt und in unterschiedlichen Cloud- Storage-Controllern verwendet werden kann. Damit sollen verschiedene Verfahren und Bibliotheken über eine einheitliche Schnittstelle nutzbar gemacht werden. Die Einbindung eines Dispersionsalgorithmus soll nicht immer wieder reimplementiert werden müssen. 16

17 2. HINTERGRUND In diesem Kapitel wird zunächst auf die in dieser Arbeit verwendete Notation eingegangen. Anschließend werden wichtige Begriffe kurz erläutert und einige Erasure- Codierungsverfahren vorgestellt. Außerdem werden mehrere frei verfügbare Bibliotheken, die verschiedene Codierungsverfahren anbieten, verglichen DIE VERWENDETE NOTATION Die verwendeten Begriffe und Abkürzungen im Bereich der Datendispersion sind je nach Literatur unterschiedlich. Im Folgenden wird hier die von [PSS08] verwendete Notation benutzt. Wird eine Datei codiert, so wird sie in n = k + m Fragmente geteilt. Dabei ist m die Anzahl redundanter Fragmente und k die Anzahl der originalen Fragmente. Die redundanten Fragmente werden dabei so berechnet, dass eine beliebige Teilmenge aus mindestens k Fragmenten benötigt wird, um die Datei erfolgreich zu decodieren (Siehe Abbildung 2.1). Weiterhin verwenden einige Verfahren die Wortlänge w. Durch Anpassung der Wortlänge kann oft die Effizienz der Berechnung beeinflusst werden. Wird w {8, 16, 32} gewählt, kann zum Beispiel direkt auf Byte beziehungsweise 16 oder 32 Bit Integer gerechnet werden. Bei XOR-Vergleichen kann so die Rechnerhardware optimal ausgenutzt werden. Zweidimensionale Array-Codes, wie EVENODD und RDP, berechnen jedes codierte Bit c i,j als bitweise XOR-Verknüpfung anderer Bits aus dem Array der Datenbits d i,j. Hier beschreibt k die Anzahl der Spalten und w die Anzahl der Reihen des Arrays. Zur Verbesserung der Performance wird dabei zusätzlich die Paketgröße angege- 17

18 2. Hintergrund ben, die ein Vielfaches eines Datenwortes sein muss. Die XOR-Operationen werden dann nicht mehr auf einzelnen Bits ausgeführt, sondern auf diesen Paketen. Außerdem kann zum Lesen und Schreiben von Dateien die Puffergröße angegeben werden. Ist eine Datei größer als der Puffer, wird sie in mehreren Schritten eingelesen BEGRIFFE ZUR DATENVERTEILUNG REPLIKATION Um die Datensicherheit durch Verteilen zu erhöhen, ist eine Replikation der einfachste Weg. Die Daten werden an zwei oder mehreren Orten identisch gespeichert. Oft werden dafür auch die Begriffe Spiegelung oder Mirroring verwendet. Ein Beispiel für Replikation sind RAID-1-Systeme. Sie fassen zwei Festplatten zu einer Virtuellen zusammen, indem alle Datenblöcke identisch auf beide Platten geschrieben werden. Dadurch ist sichergestellt, dass auch beim Ausfall einer Platte die Daten verfügbar bleiben PARTITIONIERUNG Eine weitere triviale Methode Daten zu verteilen ist die Partitionierung. Dabei wird ein Datenblock in mehrere kleinere geteilt und anschließend verteilt. Dieses Verfahren dient nicht der Verbesserung der Datensicherheit, da es keine redundanten Informationen hinzufügt. Es kann aber zum Beispiel dazu genutzt werden, mehrere Speicher zu einem größeren zusammenzufassen, wie es bei RAID-0 der Fall ist. Dabei werden die Datenblöcke eines virtuellen Datenträgers über mehrere reale Datenträger verteilt werden. Oft werden auch die Begriffe Striping oder Slicing synonym verwendet. Es sind auch Kombinationen aus Partitionierung und Replikation möglich, um die Eigenschaften beider Verfahren zu nutzen. Dies ist bei Raid-10 der Fall. Hier wird RAID-0 auf mit RAID-1 gespiegelte Festplatten angewendet FORWARD ERROR CORRECTION Forward Error Correction oder Vorwärtsfehlerkorrektur (FEC) ist ein Verfahren zur Fehlerkorrektur durch Rekonstruktion. Es wird oft bei der sicheren Speicherung von 18

19 2.2. Begriffe zur Datenverteilung Daten und bei der Kanalcodierung auf störanfälligen Übertragungsstrecken verwendet. Durch Hinzufügen redundanter Informationen ist es möglich, eventuell auftretende Fehler zu korrigieren ERASURE-CODES Erasure-Codes sind FEC-Codes. Sie zählen zu den Block-Codes, da sie mit Datenblöcken (Symbolen) fester Größe arbeiten. Während in der Codierungstheorie ein Symbol normalerweise ein Bit bezeichnet, bezieht es sich bei Speicheranwendungen auf Datenblöcke einer bestimmten Größe. Das können zum Beispiel die Blöcke einer Festplatte sein.[glw10] Bei Erasure-Codes werden aus k Datenblöcken m Datenblöcke so berechnet, dass die Originaldaten aus beliebigen k der n = k + m rekonstruiert werden können. Von diesen n Blöcken, enthalten die ersten k die aufgeteilten Originaldaten und die berechneten m Datenblöcke die codierte Redundanz.[PSS08] Der Name Erasure-Code leitet sich davon ab, dass hier bis zu m Datenblöcke gelöscht werden können und die Daten trotzdem wieder hergestellt werden können. Die Abbildung 2.1 veranschaulicht dieses Verfahren. Sind weniger als k Wörter vorhanden, können unter Umständen auch noch Teile der Information lesbar sein, da sie in den ersten k Blöcken lediglich aufgeteilt und nicht verändert wird. Die codierten m Blöcke sind dagegen dann unbrauchbar. (a) Fragmente encodieren (b) Fragmente decodieren Abbildung 2.1.: Beim encodieren werden aus dem Inhalt der k Dateifragmente m redundante Fragmente berechnet. Beim Decodieren wird eine Teilmenge mit mindestens k Fragmenten benötigt, um die k originalen Fragmente zu rekonstruieren.[pss08] INFORMATION DISPERSAL ALGORITHMUS Der Begriff des Information Dispersal Algorithmus (IDA) [Rab89] wurde 1989 von Rabin definiert. Es handelt sich um einen Algorithmus um eine Datei F, der Größe L = F, so in n Fragmente der Größe F n = L/k zu zerlegen, dass jede Teilmenge mit k Fragmenten ausreicht, um die Datei wieder herzustellen.[rab89] Dieses Verfahren ermöglicht die fehlertolerante Speicherung von Dateien. Werden die Frag- 19

20 2. Hintergrund mente auf n Festplatten verteilt, können bis zu m = n k davon ausfallen, ohne das es zu Datenverlusten kommt SECRET-SHARING Secret-Sharing bezeichnet ein Verfahren um ein Geheimnis zu schützen, indem es geteilt wird. Dafür wird es durch einen Algorithmus in n Fragmente geteilt. Um es rekonstruieren zu können sind mindestens k n Fragmente nötig. Sind weniger Fragmente vorhanden, lassen sich keine Rückschlüsse auf das Geheimnis ziehen. Die ursprüngliche Idee war es damit zum Beispiel kryptographische Schlüssel vor dem Zugriff durch eine einzelne Person zu schützen.[sha79, Bla79] 2.3. CODIERUNGSVERFAHREN In diesem Abschnitt werden einige Codierungsverfahren vorgestellt. Tabelle 2.1 gibt einen Überblick über die Vorgaben bei der Parametrisierung der verschiedenen Verfahren, die im Anschluss kurz erläutert werden ERASURE-CODES REED-SOLOMON Die Reed-Solomon (RS) Codierung [RS60] ist eine sehr häufig verwendete und leistungsfähige Codierungstechnik. Sie gehört zu den Erasure-Codes und wird zum Beispiel bei der Fehlerkorrektur von Audio-CDs verwendet. Bei der Codierung werden w-bit Wörter verwendet. Über Galois-Feld-Berechnungen mit einer Vandermonde-Matrix und Berechnungen in GF (2 w ) werden jeweils aus k Wörtern m codierte Wörter berechnet. Von diesen n = k + m Wörtern, enthalten k Wörter die Originaldaten und m Wörter die codierte Redundanz. Für die Rekonstruktion der Originaldaten werden mindestens k beliebige Wörter benötigt.[pss08] Sind weniger als k Wörter vorhanden, können unter Umständen noch Teile der Information lesbar sein, da sie in den Datenwörtern lediglich aufgeteilt und nicht verändert werden. Die Inhalte der codierten Teile sind dagegen nicht direkt brauchbar. 20

21 2.3. Codierungsverfahren CAUCHY REED-SOLOMON Um die aufwändigen Berechnungen in GF (2 w ) zu umgehen, wird bei der Cauchy- Reed-Solomon (CRS) Codierung [BKK + 95] die Verteilungsmatrix in eine Bitmatrix konvertiert. Dadurch kann die Berechnung auf reine XOR Vergleiche reduziert werden. [PSS08] AONT-RS Unter dem Gesichtspunkt der Vertraulichkeit sind RS- und CRS-Codierung nicht optimal. Die k Datenwörter werden nicht verändert, wodurch Teile der Daten ausgelesen werden können ohne alle k Teile zu besitzen. Um das zu umgehen, kombiniert AONT-RS [RP11] die klassische RS-Codierung mit dem All-Or-Nothing-Verfahren von Rivest [Riv97]. Damit bleibt die Information solange vollständig verschlüsselt, bis die zur Decodierung notwendigen k Wörter vorhanden sind. EVENODD EVENODD handelt es sich um einen Paritäts-Test-Code.[BBBM95] Er kommt besonders bei RAID6 Systemen zum Einsatz. EVENODD arbeitet mit einer zweidimensionalen Struktur von Datenwörtern und berechnet daraus die m = 2 Paritätswörter durch XOR Vergleiche.[GLW10] Bei EVENODD muss die Wortlänge w so gewählt werden, dass w + 1 k und w + 1 eine Primzahl ist. Es besteht daher die Möglichkeit für ein bestimmten Wert für k aus mehreren Wortlängen zu wählen. Dabei ist die Codierung für kürzere Wortlängen effizienter als für lange. [Pla07] ROW-DIAGONAL-PARITY Sehr ähnlich zu EVENODD ist die Row-Diagonal-Parity (RDP) [CEG + 04]. Hier sind für die Parameter die folgenden Bedingungen nötig: Für die Wortlänge w muss gelten, dass w + 1 eine Primzahl ist. Weiterhin muss w + 1 > k sein, nicht wie bei EVENODD k. Die Redundanz ist ebenfalls auf m = 2 festgelegt.[pla07] MINIMUM DENSITY CODES Minimum Density RAID-6 Codes arbeiten mit Bitmatrizen. Die Anzahl redundanter Blöcke ist m = 2. Es ist eine minimal-dichte Matrix, wenn sie die geringste mögliche Anzahl von 2kw + k 1 Einsen enthält. Die Kosten für die Codierung sind dabei genau k 1 + (k 1) 2w XOR Operationen. Dies liegt sehr nahe an der optimalen Codierung, für die k 1 XOR Operationen nötig sind. Besonders interessant ist, 21

22 2. Hintergrund dass der Faktor w, um den die Berechnungen über dem Optimum liegen, nicht mehr von k abhängt, sondern ausschließlich von der Wortlänge w.[pla09] Sie kann bei den hier im folgenden betrachteten Codes nicht beliebig gewählt werden. Blaum-Roth Codierung Die Blaum-Roth-Codierung [BR99] benötigt eine Wortlänge w, so dass w + 1 prim ist. Um eine gute Performance zu erreichen, eignen sich besonders w = 4 und w = 16. Die XOR Operationen können dann auf ganzen Datenwörtern ausgeführt werden. Liberation Codierung Bei der Liberation-Codierung [Pla08] gibt es keine derart günstigen Wortlängen, da hier die w ein Primzahl sein muss. Längere Wörter liefern eine bessere Performance als kürzere [Pla07]. Liber8tion Codierung Die Liber8tion Codierung [Pla09] schließt eine Lücke, die von den anderen Minimum-Density-Codes nicht abgedeckt wird. Hier wird die Wortlänge w = 8 verwendet. Das bietet Vorteile bei der Berechnung und Speicherung in Computersystemen. Tabelle 2.1.: Vorgaben der Parameterwahl für verschiedene Codierungsverfahren Verfahren k m w Reed-Solomon beliebig beliebig beliebig Cauchy Reed-Solomon beliebig beliebig beliebig AONT-RS beliebig beliebig beliebig EVENODD beliebig 2 w + 1 k und w + 1 prim RDP beliebig beliebig w + 1 > k und w + 1 prim Secret Sharing beliebig beliebig beliebig liberation w 2 > 2, prim liber8tion w 2 8 Blaum-Roth w 2 > 2, w + 1 prim SECRET-SHARING ALGORITHMEN Zwei der bekanntesten Secret-Sharing Verfahren wurden fast parallel von G. R. Blakley und Adi Shamir im Jahr 1979 entwickelt. 22

23 2.4. Vergleich frei verfügbarer Datendispersionsbibliotheken BLAKLEY SECRET-SHARING Das Blakley Secret Sharing war eines der ersten Verfahren, mit dem ein Geheimnis durch Teilen geschützt werden konnte. Es wurde von G. R. Blakley an der Texas A&M University entwickelt. [Bla79] Das Verfahren arbeitet auf geometrischer Basis. Dabei wird das Geheimnis als Punkt S in einem k-dimensionalen Vektorraum als Schnittpunkt der Hyperebenen dargestellt. Jeder zu verteilende Geheimnisteil stellt dann einen k 1-dimensionalen Untervektorraum dar, in dem der Punkt S enthalten ist. Um den Punkt S eindeutig zu bestimmen, sind mindestens k Teile notwendig. Das Verfahren ist jedoch nicht perfekt im Sinne des Secret-Sharing.Das heißt, dass mit Kenntnis jedes weiteren Geheimnisteils die möglichen Punkte für S stark reduziert werden, was das Erraten des Geheimnisses erleichtert.[pla99] SHAMIR SECRET-SHARING Im gleichen Jahr wie Blakleys Algorithmus wurde auch Shamir s Secret-Sharing Algorithmus veröffentlicht. [Sha79] Er basiert auf Polynom-Interpolation. Dabei wird ein Polynom vom Grad k 1 definiert, dessen konstanter Teil das zu schützende Geheimnis darstellt. Nun können n, n k Stützstellen des Polynoms berechnet und verteilt werden. Um das Polynom eindeutig berechnen zu können sind mindestens k der n berechneten Stützstellen notwendig. Sind weniger als k vorhanden, bleibt das Geheimnis geschützt. Dieses Verfahren ist auch perfekt im Sinne des Secret- Sharing. Das heißt, dass selbst durch Kenntnis von k 1 Teilen, immer noch keine Rückschlüsse auf das Geheimnis gezogen werden können.[pla99] Außerdem ist es laut [Sha79] auch effizienter als das Verfahren von Blakley VERGLEICH FREI VERFÜGBARER DATENDISPERSIONSBIBLIOTHEKEN In diesem Abschnitt werden im Internet verfügbare Datendispersionsbibliotheken systematisch verglichen. Dabei werden folgende Aspekte berücksichtigt. Die Programmiersprache, in der die Bibliothek geschrieben wurde, ist mit Blick auf die Performance und die Einbindung in eigene Projekte interessant. Wichtig ist hier auch unter welcher Lizenz die Bibliothek veröffentlicht ist. Weiterhin werden der Funktionsumfang und die unterstützten Codierungsverfahren betrachtet. Außerdem werden Projekte genannt, die die Bibliothek verwenden und betrachtet, ob sie aktuell weiterentwickelt wird. 23

24 2. Hintergrund Nicht zu allen Verfahren, die in Abschnitt 2.3 erläutert wurden, sind auch Implementierungen verfügbar. So existiert zur Zeit keine öffentlich verfügbare Umsetzung von AONT-RS. Auch EVENODD und RDP finden sich in keiner der betrachteten Bibliotheken JERASURE 1.2 Jerasure ist eine C/C++ Bibliothek, die speziell für den Einsatz von Erasure-Codes in Speicheranwendungen entwickelt wurde. Sie soll den Einsatz verschiedener Codierungen ermöglichen und wurde von James S. Plank an der University of Tennessee entwickelt.[pss08] Erstmals wurde Jerasure im September 2007 unter der GNU Lesser General Public License 2.1 veröffentlicht. Version 1.2, die einige Verbesserungen enthält, ist aus dem August Version 1.2A kam im Mai 2011 heraus. Sie enthält jedoch keine Neuerungen, sondern ist lediglich unter einer anderen Lizenz herausgegeben, der New BSD License. Für diese Version ist auf GitHub eine inoffizielle Version mit Java JNI Wrapper zu finden. 1 2 Jerasure hat einen großen Funktionsumfang und ist sehr flexibel einsetzbar. Laut dem Bericht [PSS08] zur Bibliothek, werden klassische Reed-Solomon Codierung, Cauchy Reed-Solomon Codierung sowie Minimal Density RAID-6 Codierungen unterstützt. Bei der klassischen Reed-Solomon Codierung kann zwischen der Verwendung von Vandermonde-Matrizen und speziellen, für RAID-6 optimierten Prozeduren, bei denen die Anzahl redundanter Blöcke m = 2 vorgegeben ist, gewählt werden. Bei der Cauchy Reed-Solomon Codierung kann zwischen der Verwendung der originalen Cauchy-Matrizen und optimierten Matrizen gewählt werden. Es ist außerdem eine Heuristik enthalten, mit der Matrizen optimiert werden können, damit weniger Berechnungen durchgeführt werden müssen. Aus der Kategorie Minimal-Density RAID-6 Codierungen werden Liberation-, Liber8tion- und Blaum- Roth-Codierung unterstützt. Außerdem bietet Jerasure die Möglichkeit Bitmatrizen zu erzeugen, die alle bei der Codierung notwendigen Operationen in XOR Operationen transformieren. Dies bringt schon einen erheblichen Performancegewinn. Darüber hinaus kann aus einer Bitmatrix ein sogenanntes schedule erzeugt werden, in dem nur noch die wirklich zu berechnenden Operationen enthalten sind. Es muss also bei der Codierung nicht jedes mal die Bitmatrix nach Einsen durchsucht werden, was einen weiteren Performancegewinn darstellt. Der Prototyp des Projektes CORE [LLL13] bindet die Jerasure Bibliothek ein. Er wird seit 2013 an der Chinese University of Hong Kong entwickelt und verwendet die von Jerasure implementierten Codes und Bitmatrixoptimierungen. 1 Webseite zu Jerasure 2 Git Repository: Jerasure mit Java JNI Wrapper https://github.com/jvandertil/jerasure 24

25 2.4. Vergleich frei verfügbarer Datendispersionsbibliotheken Tabelle 2.2.: Zusammenfassung zu Jerasure 1.2 Sprache Funktionalität Stand gepflegt Lizenz C++, viele Verfahren 2011 nein New BSD License / (Java Wrapper) LGPL JERASURE 2.0 Mitte 2011 wurde von Deshmukh, Maginnis und Chandler ein Design-Dokument zur Weiterentwicklung von Jerasure veröffentlicht [DMC11]. Es beschreibt, wie die bestehende Jerasure Bibliothek an den Stand der Technik angepasst werden sollte. Ein offizielles Update der Bibliothek ist nicht veröffentlicht worden. Laut [PH13] war es für August 2013 geplant und sollte eine neue Bibliothek für die Galois-Feld Berechnungen verwenden, Multithreading unterstützen sowie weitere Codierungsverfahren implementieren. Leider ist das Update bis zur Fertigstellung dieser Arbeit noch nicht veröffentlicht worden. Auf Google Project Hosting ist die Bibliothek bereits zu finden.[goo11] Laut der dazugehörigen Dokumentation 3 soll diese Version objektorientiert geschrieben sein. Auch sollen, neben den aus Jerasure 1.2 bekannten Verfahren, bereits EVENODD und RDP Codierung unterstützt werden. Außerdem soll Multithreading implementiert worden sein. Inwiefern weitere Vorschläge aus dem Design-Dokument umgesetzt wurden, ist nicht bekannt. Jerasure 2.0 ist wie die Vorgängerversion unter der New BSD License veröffentlicht. Seit August 2011 wurde das Projekte nicht weiter gepflegt. Tabelle 2.3.: Zusammenfassung zu Jerasure 2.0 Sprache Funktionalität Stand gepflegt Lizenz C++ große Auswahl an Verfahren 2011 nein New BSD License GF-COMPLETE Die GF-Complete Bibliothek [PMH13] implementiert selbst keine Codierungsverfahren. Sie soll hier aber dennoch erwähnt werden, da sie auf Prozessoren mit Intel SSE3 Erweiterung sehr schnelle Galois-Feld Arithmetik zur Verfügung stellt. Dadurch können, entsprechende Prozessoren vorausgesetzt, andere Bibliotheken, wie zum Beispiel Jerasure, erheblich beschleunigt werden. GF-Complete wurde unter anderem von James S. Plank an der University of Tennessee entwickeln. Hier wird noch die Version 0.1 betrachten. Version 1 sollte im 3 [Goo11] als PDF im Unterverzeichnis trunk/jerasure3/documentation/paper.pdf 25

26 2. Hintergrund Juni 2013 veröffentlicht werden. Bis zur Fertigstellung dieser Arbeit ist sie jedoch noch nicht veröffentlicht worden. Tabelle 2.4.: Zusammenfassung zu GF-Complete Sprache Funktionalität Stand gepflegt Lizenz C++ Galois-Feld Arithmetik 2013 ja New BSD License JIGDFS Das Jigsaw Distributed File System (JigDFS) [BS09] ist ein Projekt für ein sicheres, verteiltes Dateisystem auf P2P Basis. JigDFS verwendet eine Java-Implementierung des Cauchy Reed-Solomon Codes und verschlüsselt die Dateien zusätzlich. Entwickelt wurde JigDFS von Jiang Bian an der University of Arkansas at Little Rock. Es wurde unter der GNU General Public License v3 publiziert. Seit der Veröffentlichung im Jahr 2009 wurde das Projekt nicht weiterentwickelt. Die Java Klassen aus JigDFS werden im aktuellen Splitter des NubiSave Prototyps verwendet.[sbm + 11][Mü12] Tabelle 2.5.: Zusammenfassung zu JigDFS Sprache Funktionalität Stand gepflegt Lizenz Java Cauchy Reed-Solomon 2009 nein GNU GPLv SCHIFRA Schifra [Par00] von Arash Partow implementiert die Reed-Solomon in C++ und VHDL. Schifra ist flexibel und gut optimiert. Es werden viele Reed-Solomon Varianten unterstützt, wie sie unter anderem bei Intelsat 1-4, DVB-S/T und WiMAX IEEE d zum Einsatz kommen. Außerdem werden optimierte Encoder und Decoder für SSE1-3 angeboten. Für die private und nicht kommerzielle Nutzung ist Schifra unter der GNU General Public License (Version 2) veröffentlicht. Zum freien Download steht Version als C++ Version vom Juli 2000 bereit. Für die kommerzielle Nutzung gilt die Schifra General User License. Die Dokumentation und anscheinend auch die VHDL Implementierung sind nur gegen Bezahlung unter dieser Lizenz verfügbar. [Par00] Plank et al. [PLS + 09] haben die Open-Source Variante von Schifra in ihrer Performanceanalyse nicht betrachtet, da sie keinen Encoder und Decoder implementieren konnten, der ausreichende Vergleichbarkeit mit den anderen betrachten Bibliotheken bot. 26

RAID. Name: Artur Neumann

RAID. Name: Artur Neumann Name: Inhaltsverzeichnis 1 Was ist RAID 3 1.1 RAID-Level... 3 2 Wozu RAID 3 3 Wie werden RAID Gruppen verwaltet 3 3.1 Software RAID... 3 3.2 Hardware RAID... 4 4 Die Verschiedenen RAID-Level 4 4.1 RAID

Mehr

Lehrveranstaltung Speichersysteme Sommersemester 2009

Lehrveranstaltung Speichersysteme Sommersemester 2009 Lehrveranstaltung Speichersysteme Sommersemester 2009 Kapitel 6: Double Disk Failures André Brinkmann Data CorrupDon in the Storage Stack Was sind Latent Sector Errors Was ist Silent Data CorrupDon Checksum

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

Die allerwichtigsten Raid Systeme

Die allerwichtigsten Raid Systeme Die allerwichtigsten Raid Systeme Michael Dienert 4. Mai 2009 Vorbemerkung Dieser Artikel gibt eine knappe Übersicht über die wichtigsten RAID Systeme. Inhaltsverzeichnis 1 Die Abkürzung RAID 2 1.1 Fehlerraten

Mehr

Hard & Software Raid

Hard & Software Raid Hard & Software Raid Werner von Siemens Schule Präsentation Inhaltsverzeichnis Hardware Raid Raid 0 Raid 1 Parity Raid 0+1 & 2 Raid 3 & 4 Raid 5 & 6 Raid 7 Software Raid Fragen, Schlusswort 2 Hardware

Mehr

Betriebssysteme K_Kap11C: Diskquota, Raid

Betriebssysteme K_Kap11C: Diskquota, Raid Betriebssysteme K_Kap11C: Diskquota, Raid 1 Diskquota Mehrbenutzer-BS brauchen einen Mechanismus zur Einhaltung der Plattenkontingente (disk quotas) Quota-Tabelle enthält Kontingenteinträge aller Benutzer

Mehr

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014

Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung. Klaus Kusche, September 2014 Die Bedeutung abstrakter Datentypen in der objektorientierten Programmierung Klaus Kusche, September 2014 Inhalt Ziel & Voraussetzungen Was sind abstrakte Datentypen? Was kann man damit grundsätzlich?

Mehr

Dateisysteme mit Plugin-Funktion

Dateisysteme mit Plugin-Funktion Dateisysteme mit Plugin-Funktion Basierend auf Reiser 4 unter Linux http://llugb.amsee.de/logo.gif Ausgearbeitet und vorgetragen von Michael Berger 1/23 Agenda Die Idee Dateisysteme mit Plugin-Funktion

Mehr

Angewandte Informationstechnik

Angewandte Informationstechnik Angewandte Informationstechnik im Bachelorstudiengang Angewandte Medienwissenschaft (AMW) Fehlererkennung und -korrektur Dr.-Ing. Alexander Ihlow Fakultät für Elektrotechnik und Informationstechnik FG

Mehr

Codierungstheorie Rudolf Scharlau, SoSe 2006 9

Codierungstheorie Rudolf Scharlau, SoSe 2006 9 Codierungstheorie Rudolf Scharlau, SoSe 2006 9 2 Optimale Codes Optimalität bezieht sich auf eine gegebene Quelle, d.h. eine Wahrscheinlichkeitsverteilung auf den Symbolen s 1,..., s q des Quellalphabets

Mehr

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny

Grundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 2 Datenstrukturen 2.1 Einführung Syntax: Definition einer formalen Grammatik, um Regeln einer formalen Sprache (Programmiersprache) festzulegen.

Mehr

NAS 251 Einführung in RAID

NAS 251 Einführung in RAID NAS 251 Einführung in RAID Ein Speicher-Volume mit RAID einrichten A S U S T O R - K o l l e g Kursziele Nach Abschluss dieses Kurses sollten Sie: 1. Ü ber ein grundlegendes Verständnis von RAID und seinen

Mehr

PIWIN 1 Übung Blatt 5

PIWIN 1 Übung Blatt 5 Fakultät für Informatik Wintersemester 2008 André Gronemeier, LS 2, OH 14 Raum 307, andre.gronemeier@cs.uni-dortmund.de PIWIN 1 Übung Blatt 5 Ausgabedatum: 19.12.2008 Übungen: 12.1.2009-22.1.2009 Abgabe:

Mehr

C# im Vergleich zu Java

C# im Vergleich zu Java C# im Vergleich zu Java Serhad Ilgün Seminar Universität Dortmund SS 03 Gliederung Entstehung von C# und Java Überblick von C# und Java Unterschiede und Gemeinsamkeiten Zusammenfassung und Ausblick Entstehung

Mehr

Projekt AGB-10 Fremdprojektanalyse

Projekt AGB-10 Fremdprojektanalyse Projekt AGB-10 Fremdprojektanalyse 17. Mai 2010 1 Inhaltsverzeichnis 1 Allgemeines 3 2 Produktübersicht 3 3 Grundsätzliche Struktur und Entwurfsprinzipien für das Gesamtsystem 3 3.1 Die Prefuse Library...............................

Mehr

Lokales Storage Teil 1

Lokales Storage Teil 1 Lokales Storage Teil 1 Linux-Kurs der Unix-AG Zinching Dang 08. Juli 2015 Lokales Storage im Allgemeinen Datenträger, die direkt am Host angeschlossen sind Anbindung über verschiedene Bus-Systeme möglich,

Mehr

AFS Backup und Recover nicht nur für (Legato) NetWorker

AFS Backup und Recover nicht nur für (Legato) NetWorker AFS Backup und Recover nicht nur für (Legato) NetWorker Wolfgang Friebel, DESY 28.9.2006 1 Backup Inhalt Schematischer Ablauf Volle und inkrementelle Backups Backup auf Disk Backup auf Tape Recover Recover

Mehr

KURZANLEITUNG CLOUD BLOCK STORAGE

KURZANLEITUNG CLOUD BLOCK STORAGE KURZANLEITUNG CLOUD BLOCK STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung......Seite 03 2. Anlegen eines dauerhaften Block Storage...Seite 04 3. Hinzufügen von Block Storage

Mehr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr

Parallele und funktionale Programmierung Wintersemester 2013/14. 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr 8. Übung Abgabe bis 20.12.2013, 16:00 Uhr Aufgabe 8.1: Zeigerverdopplung Ermitteln Sie an folgendem Beispiel den Rang für jedes Listenelement sequentiell und mit dem in der Vorlesung vorgestellten parallelen

Mehr

Lokales Storage Teil 1

Lokales Storage Teil 1 Lokales Storage Teil 1 Zinching Dang 08. Juli 2015 1 Lokales Storage im Allgemeinen Lokales Storage im Allgemeinen Datenträger, die direkt am Host angeschlossen sind Anbindung über verschiedene Bus-Systeme

Mehr

Approximationsalgorithmen

Approximationsalgorithmen Ausarbeitung zum Thema Approximationsalgorithmen im Rahmen des Fachseminars 24. Juli 2009 Robert Bahmann robert.bahmann@gmail.com FH Wiesbaden Erstellt von: Robert Bahmann Zuletzt berarbeitet von: Robert

Mehr

Kodierungsalgorithmen

Kodierungsalgorithmen Kodierungsalgorithmen Komprimierung Verschlüsselung Komprimierung Zielsetzung: Reduktion der Speicherkapazität Schnellere Übertragung Prinzipien: Wiederholungen in den Eingabedaten kompakter speichern

Mehr

Handbuch Version 1.02 (August 2010)

Handbuch Version 1.02 (August 2010) Handbuch Version 1.02 (August 2010) Seite 1/27 Inhaltsverzeichnis 1. Einleitung 1.1. Begrüßung 03 1.2. Was ist PixelX Backup FREE / PRO 03 1.3. Warum sollten Backups mittels einer Software erstellt werden?

Mehr

Benutzerdokumentation Web-Portal

Benutzerdokumentation Web-Portal GRUPP: SWT0822 Benutzerdokumentation Web-Portal Yet Another Reversi Game Martin Gielow, Stephan Mennicke, Daniel Moos, Christine Schröder, Christine Stüve, Christian Sura 05. Mai 2009 Inhalt 1. Einleitung...3

Mehr

Workbooster File Exchanger Command Line Tool

Workbooster File Exchanger Command Line Tool Thema Technische Benutzerdokumentation - WBFileExchanger Workbooster File Exchanger Command Line Tool Letzte Anpassung 18. Januar 2014 Status / Version Finale Version - V 1.1 Summary Erstellung Diese technische

Mehr

2. Braunschweiger Linux-Tage. Vortrag über RAID. von. Thomas King. http://www.t-king.de/linux/raid1.html. 2. Braunschweiger Linux-Tage Seite 1/16

2. Braunschweiger Linux-Tage. Vortrag über RAID. von. Thomas King. http://www.t-king.de/linux/raid1.html. 2. Braunschweiger Linux-Tage Seite 1/16 2. Braunschweiger Linux-Tage Vortrag über RAID von Thomas King http://www.t-king.de/linux/raid1.html 2. Braunschweiger Linux-Tage Seite 1/16 Übersicht: 1. Was ist RAID? 1.1. Wo wurde RAID entwickelt? 1.2.

Mehr

AJAX SSL- Wizard Referenz

AJAX SSL- Wizard Referenz AJAX SSL- Wizard Referenz Version 1.0.2+ - 04.04.2011 Präambel Die vorliegende Dokumentation beschreibt den AJAX basierten SSL- Wizard der CertCenter AG. Der SSL- Wizard kann mit wenigen Handgriffen nahtlos

Mehr

10 Datenträgerverwaltung, RAID

10 Datenträgerverwaltung, RAID 10 Datenträgerverwaltung, RAID Datenträger und Dateisysteme werden vom Dienst für virtuelle Datenträger verwaltet. 10.1 MMC-Snap-In Datenträgerverwaltung, Grundlagen Das Snap-In Datenträgerverwaltung sieht

Mehr

6.6 Persistenter virtueller Speicher

6.6 Persistenter virtueller Speicher 6.6 Persistenter virtueller Speicher Idee: alle Segmente sind persistent Datei -Begriff überflüssig! Aber: Segment hat erweiterten Deskriptor. bs-6.6 1 Segment überdauert Tod des erzeugenden Prozesses,

Mehr

Perzentile mit Hadoop ermitteln

Perzentile mit Hadoop ermitteln Perzentile mit Hadoop ermitteln Ausgangspunkt Ziel dieses Projektes war, einen Hadoop Job zu entwickeln, der mit Hilfe gegebener Parameter Simulationen durchführt und aus den Ergebnissen die Perzentile

Mehr

Alles Spricht von RAID-Verband

Alles Spricht von RAID-Verband Alles Spricht von RAID-Verband Der Begriff "RAID" fiel in der Vergangenheit lediglich in dem Zusammenhang von Server-PC's. Doch heutzutage, wo die PC-Hardware immer günstiger werden und das Interesse an

Mehr

Software RAID oder LVM auf einem Suse Linux System aufsetzen

Software RAID oder LVM auf einem Suse Linux System aufsetzen Software RAID oder LVM auf einem Suse Linux System aufsetzen Das Software RAID Wir gehen hier nun von einer Neuinstallation aus. Hierbei haben wir zwei Festplatten im System, die ausschließlich nur für

Mehr

Konzepte zur Datenhaltung für Webseiten in einem Web-Content- Management-System

Konzepte zur Datenhaltung für Webseiten in einem Web-Content- Management-System Konzepte zur Datenhaltung für Webseiten in einem Web-Content- Management-System Web-Content-Management-Systeme () dienen dazu, komplexe Websites zu verwalten und den Autoren einzelner Webseiten möglichst

Mehr

1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes

1. Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 1 Woche Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 1 Woche: Einführung in die Codierungstheorie, Definition Codes, Präfixcode, kompakte Codes 5/ 44 Unser Modell Shannon

Mehr

Lineare Codes. Dipl.-Inform. Wolfgang Globke. Institut für Algebra und Geometrie Arbeitsgruppe Differentialgeometrie Universität Karlsruhe 1 / 19

Lineare Codes. Dipl.-Inform. Wolfgang Globke. Institut für Algebra und Geometrie Arbeitsgruppe Differentialgeometrie Universität Karlsruhe 1 / 19 Lineare Codes Dipl.-Inform. Wolfgang Globke Institut für Algebra und Geometrie Arbeitsgruppe Differentialgeometrie Universität Karlsruhe 1 / 19 Codes Ein Code ist eine eindeutige Zuordnung von Zeichen

Mehr

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Name: Matrikel-Nr: Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Bitte schreiben Sie leserlich und antworten Sie kurz und präzise. 1. Zeichnen Sie das Schichten-Modell eines Computersystems und markieren

Mehr

Moderne RAID Technologie. Grundlagen technisches Wissen, verständlich erklärt

Moderne RAID Technologie. Grundlagen technisches Wissen, verständlich erklärt Moderne RAID Technologie Grundlagen technisches Wissen, verständlich erklärt K o m p e t e n z i n C o n t r o l l e r Moderne RAID Technologie RAID Primer Grundlagen Technisches Wissen, verständlich

Mehr

Inhalt: Version 1.7.5

Inhalt: Version 1.7.5 Inhalt: Objekte ohne Methoden Objekte mit einfachen Methoden Objekte und Methoden mit Parametern Objekte und Methoden mit Rückgabewert Objekte mit einem Array als Attribut Beziehungen zwischen Objekten

Mehr

Merkblatt: HSM. Version 1.01. Systemvoraussetzungen, Setup und Trouble Shooting. pdfsupport@pdf-tools.com

Merkblatt: HSM. Version 1.01. Systemvoraussetzungen, Setup und Trouble Shooting. pdfsupport@pdf-tools.com Merkblatt: HSM Version 1.01 Systemvoraussetzungen, Setup und Trouble Shooting Kontakt: pdfsupport@pdf-tools.com Besitzer: PDF Tools AG Kasernenstrasse 1 8184 Bachenbülach Schweiz www.pdf-tools.com Copyright

Mehr

SEMT. Prof. G. Bengel. Searching as a Service (Programming Model: MapReduce)

SEMT. Prof. G. Bengel. Searching as a Service (Programming Model: MapReduce) Hochschule Mannheim Fakultät für Informatik SEMT Prof. G. Bengel Sommersemester 2009 Semester 8I Searching as a Service (Programming Model: MapReduce) Michel Schmitt (520361) 1.06.2009 Inhalt 1. Einführung...

Mehr

Dateisysteme und Datenverwaltung in der Cloud

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

Mehr

RAID-Konfigurations-Tool

RAID-Konfigurations-Tool RAID-Konfigurations-Tool Benutzerhandbuch Version: 1.1 SecureGUARD GmbH, 2011 Inhalt: 1. Der Begriff RAID... 3 1.1. RAID-Level... 3 2. RAID erstellen... 5 3. RAID löschen... 8 4. Fehlerbehebung... 10 4.1.

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

Software Engineering Übung 4 Architektur, Modulentwurf

Software Engineering Übung 4 Architektur, Modulentwurf software evolution & architecture lab Software Engineering Übung 4 Architektur, Modulentwurf 1 Informationen 1.1 Daten Ausgabe Di 27.10.2009 Abgabe So 08.11.2009 bis 23:59 Uhr Besprechung am Di 17.11.2009

Mehr

Technische Informatik II

Technische Informatik II Institut für Technische Informatik und Kommunikationsnetze Technische Informatik II Übung 3: Input / Output Hinweis: Weitere Aufgaben zu diesem Thema finden sie in den Begleitbüchern zur Vorlesung. Aufgabe

Mehr

Numerisches Programmieren

Numerisches Programmieren Technische Universität München SS 2012 Institut für Informatik Prof Dr Thomas Huckle Dipl-Inf Christoph Riesinger Dipl-Math Alexander Breuer Dipl-Math Dipl-Inf Jürgen Bräckle Dr-Ing Markus Kowarschik Numerisches

Mehr

Netzwerksicherheit. Teil 5: Virtualisierung und Ausfallsicherheit. Martin Mauve, Björn Scheuermann und Philipp Hagemeister

Netzwerksicherheit. Teil 5: Virtualisierung und Ausfallsicherheit. Martin Mauve, Björn Scheuermann und Philipp Hagemeister Netzwerksicherheit Teil 5: Virtualisierung und Ausfallsicherheit Martin Mauve, Björn Scheuermann und Philipp Hagemeister Sommersemester 2015 Heinrich-Heine-Universität Düsseldorf Netzwerksicherheit Virtualisierung

Mehr

2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer. Beitrag von Peter Küsters. Spiegelung. Archiv. Bild 1: Unterschied zwischen FTP und Spiegelung

2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer. Beitrag von Peter Küsters. Spiegelung. Archiv. Bild 1: Unterschied zwischen FTP und Spiegelung 2. DFG- Workshop 3.1. Erfassung/Bewertung/Transfer Beitrag von Peter Küsters Formen des Datentransfers bei der Erfassung von Websites Im folgenden werden Methoden und Software zur Erfassung vorgestellt.

Mehr

Übungspaket 19 Programmieren eigener Funktionen

Übungspaket 19 Programmieren eigener Funktionen Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame

Mehr

Implementierung von Dateisystemen

Implementierung von Dateisystemen Implementierung von Dateisystemen Teil 2 Prof. Dr. Margarita Esponda WS 2011/2012 44 Effizienz und Leistungssteigerung Festplatten sind eine wichtige Komponente in jedem Rechnersystem und gleichzeitig

Mehr

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

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

Mehr

Praktikum Internetprotokolle - POP3

Praktikum Internetprotokolle - POP3 Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Institut für Praktische Informatik und Medieninformatik Fachgebiet Telematik/Rechnernetze 19. Mai 2008 1 Aufgabenstellung Praktikum

Mehr

SNMP4Nagios. SNMP4Nagios. Grazer Linuxtage 2007. Peter Gritsch

SNMP4Nagios. SNMP4Nagios. Grazer Linuxtage 2007. Peter Gritsch SNMP4Nagios Grazer Linuxtage 2007 Peter Gritsch Inhalte Motivation für Network Monitoring SNMP Grundlagen Nagios Grundlagen SNMP4Nagios PlugIns Motivation für Network Monitoring Probleme erkennen bevor

Mehr

Referat über Streamer, DAT und Datensicherung

Referat über Streamer, DAT und Datensicherung %DOWKDVDU1HXPDQQ7HFKQLNXP )DFKVFKXO I 7HFKQLN Modul 7 Klasse: ITZ99 Lehrer: Herr Beford Referat über Streamer, DAT und Datensicherung Verfasser: Thomas Hartz Erklärung: 2. Februar 2000 Hiermit erkläre

Mehr

FAST LTA Systeme Langzeitspeicher für medizinische Universalarchive 29.12.2007

FAST LTA Systeme Langzeitspeicher für medizinische Universalarchive 29.12.2007 FAST LTA Systeme Langzeitspeicher für medizinische Universalarchive 29.12.2007 FAST LTA AG Spezialist für digitale Langzeitarchivierung Erste FAST Gründung (Software Security) im Jahr 1985 FAST LTA (1999),

Mehr

OmniCloud. Sichere Nutzung von Cloud-Speicherdiensten. Ruben Wolf (Fraunhofer SIT)

OmniCloud. Sichere Nutzung von Cloud-Speicherdiensten. Ruben Wolf (Fraunhofer SIT) OmniCloud Sichere Nutzung von Cloud-Speicherdiensten Ruben Wolf (Fraunhofer SIT) Sicus e.v. AK Datenschutz & Security AK Identity & Access Management 25.04.2013 ThyssenKrupp, Essen Inhalt 1. Sicherheit

Mehr

MapReduce in der Praxis

MapReduce in der Praxis MapReduce in der Praxis Rolf Daniel Seminar Multicore Programmierung 09.12.2010 1 / 53 Agenda Einleitung 1 Einleitung 2 3 Disco Hadoop BOOM 4 2 / 53 1 Einleitung 2 3 Disco Hadoop BOOM 4 3 / 53 Motivation

Mehr

LVM AUSARBEITUNGEN ZUM THEMA A6: TIMO BÖLLINGER DOMINIC ECKART DOZENT: PROF. TISCHHHAUSER MANNHEIM 2004 VON UND

LVM AUSARBEITUNGEN ZUM THEMA A6: TIMO BÖLLINGER DOMINIC ECKART DOZENT: PROF. TISCHHHAUSER MANNHEIM 2004 VON UND 1 AUSARBEITUNGEN ZUM THEMA A6: LVM VON TIMO BÖLLINGER UND DOMINIC ECKART DOZENT: PROF. TISCHHHAUSER MANNHEIM 2004 2 INHALTSVERZEICHNIS 1. LOGICAL VOLUME MANAGEMENT EINFÜHRUNG...3 1.1. WAS KANN LVM?...4

Mehr

C# - PROGRAMME MIT PLUGINS ERWEITERN

C# - PROGRAMME MIT PLUGINS ERWEITERN C# - PROGRAMME MIT PLUGINS ERWEITERN Schreibt man ein Programm welches erweiterbar sein soll, dann gibt es häufig mehrere Möglichkeiten dies umzusetzen. Die Objektorientierung ist dabei der erste Schritt,

Mehr

Integration Services - Dienstarchitektur

Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Dieser Artikel solle dabei unterstützen, Integration Services in Microsoft SQL Server be sser zu verstehen und damit die

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

Objektorientierte Programmierung. Kapitel 12: Interfaces

Objektorientierte Programmierung. Kapitel 12: Interfaces 12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/

Mehr

Einführung in die Java- Programmierung

Einführung in die Java- Programmierung Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags Pommes... Praktikum A 230 C 207 (Madeleine) F 112 F 113 (Kevin) E

Mehr

Das Studiengangsinformationssystem (SGIS)

Das Studiengangsinformationssystem (SGIS) Das Studiengangsinformationssystem (SGIS) Manual für Typo3-Redakteure Version 1.a Mai 2015 Kontakt: Referat 1.4 - Allgemeine Studienberatung und Career Service Christian Birringer, christian.birringer@uni-rostock.de

Mehr

7 Dateien und Datenströme (Streams)

7 Dateien und Datenströme (Streams) 7 Dateien und Datenströme (Streams) Jörn Loviscach Versionsstand: 21. März 2014, 22:57 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html

Mehr

Managed VPSv3 Was ist neu?

Managed VPSv3 Was ist neu? Managed VPSv3 Was ist neu? Copyright 2006 VERIO Europe Seite 1 1 EINFÜHRUNG 3 1.1 Inhalt 3 2 WAS IST NEU? 4 2.1 Speicherplatz 4 2.2 Betriebssystem 4 2.3 Dateisystem 4 2.4 Wichtige Services 5 2.5 Programme

Mehr

Technische Beschreibung: Modul Datei und Ordnerverwaltung

Technische Beschreibung: Modul Datei und Ordnerverwaltung EPOD Encrypted Private Online Disc Technische Beschreibung: Modul Datei und Ordnerverwaltung Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221

Oracle 10g und SQL Server 2005 ein Vergleich. Thomas Wächtler 39221 Oracle 10g und SQL Server 2005 ein Vergleich Thomas Wächtler 39221 Inhalt 1. Einführung 2. Architektur SQL Server 2005 1. SQLOS 2. Relational Engine 3. Protocol Layer 3. Services 1. Replication 2. Reporting

Mehr

DSLinux Skriptbasierte Inventarisierung für Linux

DSLinux Skriptbasierte Inventarisierung für Linux DSLinux Skriptbasierte Inventarisierung für Linux www.docusnap.com TITEL DSLinux AUTOR Docusnap Consulting DATUM 21.04.2015 Die Weitergabe, sowie Vervielfältigung dieser Unterlage, auch von Teilen, Verwertung

Mehr

PeDaS Personal Data Safe. - Bedienungsanleitung -

PeDaS Personal Data Safe. - Bedienungsanleitung - PeDaS Personal Data Safe - Bedienungsanleitung - PeDaS Bedienungsanleitung v1.0 1/12 OWITA GmbH 2008 1 Initialisierung einer neuen SmartCard Starten Sie die PeDaS-Anwendung, nachdem Sie eine neue noch

Mehr

Open Source. Eine kleine Geschichte zum Konzept der freien Software

Open Source. Eine kleine Geschichte zum Konzept der freien Software Open Source Eine kleine Geschichte zum Konzept der freien Software Open Source Definition (1) Freie Weitergabe Die Lizenz darf niemanden darin hindern, die Software zu verkaufen oder sie mit anderer Software

Mehr

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008 PIWIN I Kap. 7 Objektorientierte Programmierung - Einführung 1 PIWIN I Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I Vorlesung 3 SWS WS 2007/2008 FB Informatik

Mehr

Kapitel 6. Vererbung

Kapitel 6. Vererbung 1 Kapitel 6 2 Ziele Das sprinzip der objektorientierten Programmierung verstehen Und in Java umsetzen können Insbesondere folgende Begriffe verstehen und anwenden können: Ober/Unterklassen Subtyping Überschreiben

Mehr

Programmierprojekt. Anne0e Bieniusa Sommersemester 2014

Programmierprojekt. Anne0e Bieniusa Sommersemester 2014 Programmierprojekt Anne0e Bieniusa Sommersemester 2014 Phasen der So;ware- Entwicklung Planungsphase DefiniConsphase Entwurfsphase ImplemenCerungsphase Testphase Wasserfall- Modell Einführungs- und Wartungsphase

Mehr

Content-Verwertungsmodelle und ihre Umsetzung in mobilen Systemen

Content-Verwertungsmodelle und ihre Umsetzung in mobilen Systemen Content-Verwertungsmodelle und ihre Umsetzung in mobilen Systemen Digital Rights Management 4FriendsOnly.com Internet Technologies AG Vorlesung im Sommersemester an der Technischen Universität Ilmenau

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

JMangler. Frithjof Kurtz. Universität Bonn, Seminar Softw aretechnologie WS 03/04, Jmangler Frithjof Kurtz 1

JMangler. Frithjof Kurtz. Universität Bonn, Seminar Softw aretechnologie WS 03/04, Jmangler Frithjof Kurtz 1 JMangler Frithjof Kurtz Universität Bonn, Seminar Softw aretechnologie WS 03/04, Jmangler Frithjof Kurtz 1 JMangler Vortragsgliederung Motivation Java Grundlagen JMangler Grundlagen Transformationen Algorithmen

Mehr

Datensicherung. David Baumgartner Matthias Kalischnig

Datensicherung. David Baumgartner Matthias Kalischnig Datensicherung David Baumgartner Matthias Kalischnig 1 GFS - Grandfather - Father - Son Prinzip Sicherungsarten Inkrementelles Backup Vorteile Nachteile Differentielles Backup Vorteile Nachteile Vollbackup

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Universität der Bundeswehr Fakultät für Informatik Institut 2 Priv.-Doz. Dr. Lothar Schmitz FT 2006 Zusatzaufgaben Lösungsvorschlag Objektorientierte Programmierung Lösung 22 (Java und UML-Klassendiagramm)

Mehr

Ceph. Distributed Storage Julian mino Klinck GPN15-05.06.2015

Ceph. Distributed Storage Julian mino Klinck GPN15-05.06.2015 Distributed Storage Julian mino Klinck GPN15-05.06.2015 Julian mino! Interessen: Netzwerke # Karlsruhe Hardware $ gpn15@lab10.de Cocktails " twitter.com/julianklinck Hacking Musik- und Lichttechnik 2 Julian

Mehr

Generieren von Nodelock Lizenzen. Hilfe für www.intergraph.com/sgi/license

Generieren von Nodelock Lizenzen. Hilfe für www.intergraph.com/sgi/license Generieren von Nodelock Lizenzen Hilfe für www.intergraph.com/sgi/license SG&I Lizenzen April 2010 2010 Intergraph SG&I Deutschland GmbH. Alle Rechte vorbehalten. Der Inhalt dieses Dokuments ist urheberrechtlich

Mehr

Fantec SQ-35RU3e. 4x 3,5" SATA HDD, RAID, USB3.0, esata. Bedienungsanleitung

Fantec SQ-35RU3e. 4x 3,5 SATA HDD, RAID, USB3.0, esata. Bedienungsanleitung Fantec SQ-35RU3e 4x 3,5" SATA HDD, RAID, USB3.0, esata Bedienungsanleitung Wichtig: Beim ändern des RAID-Modus werden alle Daten gelöscht. Sichern Sie die Festplatte(n), bevor Sie den RAID-Modus umstellen.

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 9 17. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz

Einführung in das Microsoft.NET-Framework. Programmiersprache C# MEF Das Managed Extensibility Framework. André Kunz Einführung in das Microsoft.NET-Framework Programmiersprache C# MEF Das Managed Extensibility Framework André Kunz 21.09.2010 1 In dieser Einführung bekommen Sie einen kurzen Einstieg in das.net-framework

Mehr

Softwaretechnik (WS 11/12)

Softwaretechnik (WS 11/12) Universität Augsburg, LSt. Softwaretechnik, K. Stenzel, H. Seebach, G. Anders Softwaretechnik (WS 11/12) Lösungsvorschlag 5 Aufgabe 1 (System Behavior: System Sequence Diagrams) (10/5 Punkte) a) Was sind

Mehr

Alle Metadaten werden in Dateien gehalten

Alle Metadaten werden in Dateien gehalten 6 Beispiel: Windows NT (NTFS) 6.3 Metadaten 6.3 Metadaten Alle Metadaten werden in Dateien gehalten Indexnummer 0 1 2 3 4 5 6 7 8 16 17 MFT MFT Kopie (teilweise) Log File Volume Information Attributtabelle

Mehr

Kryptographische Verfahren. zur Datenübertragung im Internet. Patrick Schmid, Martin Sommer, Elvis Corbo

Kryptographische Verfahren. zur Datenübertragung im Internet. Patrick Schmid, Martin Sommer, Elvis Corbo Kryptographische Verfahren zur Datenübertragung im Internet Patrick Schmid, Martin Sommer, Elvis Corbo 1. Einführung Übersicht Grundlagen Verschlüsselungsarten Symmetrisch DES, AES Asymmetrisch RSA Hybrid

Mehr

Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen

Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen Kapitel 4: Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Codierung von rationalen Zahlen Konvertierung

Mehr

DDBAC-SDK unter Linux (mit Wine) Installationsanleitung

DDBAC-SDK unter Linux (mit Wine) Installationsanleitung DDBAC-SDK unter Linux (mit Wine) Installationsanleitung Installation von Wine Einleitung Übersicht Titel Thema Datei DDBAC-SDK unter Linux (mit Wine) Installationsanleitung DDBAC_Wine_Installation.doc

Mehr

Konzept für eine Highperformance- und Hochverfügbarkeitslösung für. einen Anbieter von Krankenhaus Abrechnungen

Konzept für eine Highperformance- und Hochverfügbarkeitslösung für. einen Anbieter von Krankenhaus Abrechnungen Konzept für eine Highperformance- und Hochverfügbarkeitslösung für Anforderungen : einen Anbieter von Krankenhaus Abrechnungen Es soll eine Cluster Lösung umgesetzt werden, welche folgende Kriterien erfüllt:

Mehr

Weißbuch zur RAID-Technologie

Weißbuch zur RAID-Technologie Weißbuch zur RAID-Technologie Bei LaCie, einem auf Datenspeicherung spezialisiertem Unternehmen, ist man sich darüber im Klaren, dass fast alle Computerbenutzer Datenspeicher- bzw. Datensicherungslösungen

Mehr

Handbuch für Android 1.5

Handbuch für Android 1.5 Handbuch für Android 1.5 1 Inhaltsverzeichnis 1 Leistungsumfang... 3 1.1 Über Boxcryptor Classic... 3 1.2 Über dieses Handbuch... 3 2. Installation... 5 3. Grundfunktionen... 5 3.1 Einrichtung von Boxcryptor

Mehr

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

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

Mehr

PARAGON Encrypted Disk

PARAGON Encrypted Disk PARAGON Encrypted Disk Anwenderhandbuch Paragon Technologie, Systemprogrammierung GmbH Copyright Paragon Technologie GmbH Herausgegeben von Paragon Technologie GmbH, Systemprogrammierung Pearl-Str. 1 D-79426

Mehr

Migrationsanleitung von 2.0 auf 2.1

Migrationsanleitung von 2.0 auf 2.1 Die wichtigste Neuerung von 2.0 auf 2.1 aus Sicht der Anwendungs- Migration ist die Verwendung von Maven. Mit Maven holt sich die Anwendung alle notwendigen Bibliotheken in den jeweils angegebenen Versionen

Mehr

RAID Redundant Array of Independent [Inexpensive] Disks

RAID Redundant Array of Independent [Inexpensive] Disks RAID Redundant Array of Independent [Inexpensive] Disks Stefan Wexel Proseminar Algorithms and Data Structures im WS 2011/2012 Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Informatik

Mehr