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 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

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

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing.

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing. www.egiz.gv.at E-Mail: post@egiz.gv.at Telefon: ++43 (316) 873 5514 Fax: ++43 (316) 873 5520 Inffeldgasse 16a / 8010 Graz / Austria Beschreibung und Bedienungsanleitung Werkzeug für verschlüsselte bpks

Mehr

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren Lineargleichungssysteme: Additions-/ Subtraktionsverfahren W. Kippels 22. Februar 2014 Inhaltsverzeichnis 1 Einleitung 2 2 Lineargleichungssysteme zweiten Grades 2 3 Lineargleichungssysteme höheren als

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Datensicherung. Beschreibung der Datensicherung

Datensicherung. Beschreibung der Datensicherung Datensicherung Mit dem Datensicherungsprogramm können Sie Ihre persönlichen Daten problemlos Sichern. Es ist möglich eine komplette Datensicherung durchzuführen, aber auch nur die neuen und geänderten

Mehr

Das Handbuch zu KNetAttach. Orville Bennett Übersetzung: Thomas Bögel

Das Handbuch zu KNetAttach. Orville Bennett Übersetzung: Thomas Bögel Orville Bennett Übersetzung: Thomas Bögel 2 Inhaltsverzeichnis 1 Einführung 5 2 KNetAttach verwenden 6 2.1 Hinzufügen von Netzwerkordnern............................ 6 3 Rundgang durch KNetAttach 8 4 Danksagungen

Mehr

.NET Code schützen. Projekt.NET. Version 1.0

.NET Code schützen. Projekt.NET. Version 1.0 .NET Code schützen Projekt.NET Informationsmaterial zum Schützen des.net Codes Version 1.0 Autor: Status: Ablage: Empfänger: Seiten: D. Hoyer 1 / 6 Verteiler : Dokument1 Seite 1 von 1 Änderungsprotokoll

Mehr

Anleitung BFV-Widget-Generator

Anleitung BFV-Widget-Generator Anleitung BFV-Widget-Generator Seite 1 von 6 Seit dem 1. Oktober 2014 hat der Bayerische Fußball-Verband e.v. neue Widgets und einen neuen Baukasten zur Erstellung dieser Widgets veröffentlicht. Im Folgenden

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

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

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

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

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

Robot Karol für Delphi

Robot Karol für Delphi Robot Karol für Delphi Reinhard Nitzsche, OSZ Handel I Version 0.1 vom 24. Januar 2003 Zusammenfassung Nach der Einführung in die (variablenfreie) Programmierung mit Robot Karol von Freiberger und Krško

Mehr

Internet Explorer Version 6

Internet Explorer Version 6 Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

Einführung in. Logische Schaltungen

Einführung in. Logische Schaltungen Einführung in Logische Schaltungen 1/7 Inhaltsverzeichnis 1. Einführung 1. Was sind logische Schaltungen 2. Grundlegende Elemente 3. Weitere Elemente 4. Beispiel einer logischen Schaltung 2. Notation von

Mehr

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser Seite 1 von 14 Cookie-Einstellungen verschiedener Browser Cookie-Einstellungen verschiedener Browser, 7. Dezember 2015 Inhaltsverzeichnis 1.Aktivierung von Cookies... 3 2.Cookies... 3 2.1.Wofu r braucht

Mehr

ICS-Addin. Benutzerhandbuch. Version: 1.0

ICS-Addin. Benutzerhandbuch. Version: 1.0 ICS-Addin Benutzerhandbuch Version: 1.0 SecureGUARD GmbH, 2011 Inhalt: 1. Was ist ICS?... 3 2. ICS-Addin im Dashboard... 3 3. ICS einrichten... 4 4. ICS deaktivieren... 5 5. Adapter-Details am Server speichern...

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

Task: Nmap Skripte ausführen

Task: Nmap Skripte ausführen Task: Nmap Skripte ausführen Inhalt Einfache Netzwerkscans mit NSE Ausführen des Scans Anpassung der Parameter Einleitung Copyright 2009-2015 Greenbone Networks GmbH Herkunft und aktuellste Version dieses

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Grundfunktionen und Bedienung

Grundfunktionen und Bedienung Kapitel 13 Mit der App Health ist eine neue Anwendung in ios 8 enthalten, die von vorangegangenen Betriebssystemen bislang nicht geboten wurde. Health fungiert dabei als Aggregator für die Daten von Fitness-

Mehr

5.2 Neue Projekte erstellen

5.2 Neue Projekte erstellen 5.2 Neue Projekte erstellen Das Bearbeiten von bestehenden Projekten und Objekten ist ja nicht schlecht wie aber können Sie neue Objekte hinzufügen oder gar völlig neue Projekte erstellen? Die Antwort

Mehr

Lizenzierung von Windows Server 2012

Lizenzierung von Windows Server 2012 Lizenzierung von Windows Server 2012 Das Lizenzmodell von Windows Server 2012 Datacenter und Standard besteht aus zwei Komponenten: Prozessorlizenzen zur Lizenzierung der Serversoftware und CALs zur Lizenzierung

Mehr

Anleitung öffentlicher Zugang einrichten

Anleitung öffentlicher Zugang einrichten TRK-DashBoard Anleitung öffentlicher Zugang einrichten Manual für Kunden VERSION DATUM AUTOR DATEINAME 1.0 8. SEPTEMBER 2011 HRR ANLEITUNG_OEFFENTLICHER_ZUGANG_DASHBOARD_V10 INHALT 1 ALLGEMEINE INFORMATIONEN...

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

Überblick. Multi-Cloud Computing Motivation Redundant Array of Cloud Storage (RACS) Zusammenfassung. c td MWCC (WS14/15) Multi-Cloud Computing 13 1

Überblick. Multi-Cloud Computing Motivation Redundant Array of Cloud Storage (RACS) Zusammenfassung. c td MWCC (WS14/15) Multi-Cloud Computing 13 1 Überblick Multi-Cloud Computing Motivation Redundant Array of Cloud Storage (RACS) Zusammenfassung c td MWCC (WS14/15) Multi-Cloud Computing 13 1 Vendor Lock-In -Problem Typische Vorgehensweise bei der

Mehr

Sehr geehrte Faktor-IPS Anwender,

Sehr geehrte Faktor-IPS Anwender, März 2014 Faktor-IPS 3.11 Das neue Release Faktor-IPS 3.11 steht Ihnen zum Download zur Verfügung. Wir informieren Sie über die neusten Feautres. Lesen Sie mehr Sehr geehrte Faktor-IPS Anwender, Auf faktorzehn.org

Mehr

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Software Engineering Klassendiagramme Assoziationen

Software Engineering Klassendiagramme Assoziationen Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen

Mehr

Inkrementelles Backup

Inkrementelles Backup Inkrementelles Backup Im Gegensatz zu einer kompletten Sicherung aller Daten werden bei einer inkrementellen Sicherung immer nur die Dateien gesichert, die seit der letzten inkrementellen Sicherung neu

Mehr

SDD System Design Document

SDD System Design Document SDD Software Konstruktion WS01/02 Gruppe 4 1. Einleitung Das vorliegende Dokument richtet sich vor allem an die Entwickler, aber auch an den Kunden, der das enstehende System verwenden wird. Es soll einen

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Plugins. Stefan Salich (sallo@gmx.de) Stand 2008-11-21

Plugins. Stefan Salich (sallo@gmx.de) Stand 2008-11-21 Plugins Stefan Salich (sallo@gmx.de) Stand 2008-11-21 Inhaltsverzeichnis 0 Einleitung...3 0.1 Sinn und Zweck...3 0.2 Änderungsübersicht...3 0.3 Abkürzungsverzeichnis...3 1 Einfügen eines Plugins...4 1.1

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen Alexander Schunk Henry Trobisch Inhalt 1. Vergleich der Unit-Tests... 2 2. Vergleich der Codeabdeckungs-Tests... 2 3. Vergleich

Mehr

ARAkoll 2013 Dokumentation. Datum: 21.11.2012

ARAkoll 2013 Dokumentation. Datum: 21.11.2012 ARAkoll 2013 Dokumentation Datum: 21.11.2012 INHALT Allgemeines... 3 Funktionsübersicht... 3 Allgemeine Funktionen... 3 ARAmatic Symbolleiste... 3 Monatsprotokoll erzeugen... 4 Jahresprotokoll erzeugen

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift. Briefe Schreiben - Arbeiten mit Word-Steuerformaten Ab der Version 5.1 stellt die BüroWARE über die Word-Steuerformate eine einfache Methode dar, Briefe sowie Serienbriefe mit Hilfe der Korrespondenzverwaltung

Mehr

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am 14.08.08 Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements von Stephanie Wilke am 14.08.08 Überblick Einleitung Was ist ITIL? Gegenüberstellung der Prozesse Neuer

Mehr

SANDBOXIE konfigurieren

SANDBOXIE konfigurieren SANDBOXIE konfigurieren für Webbrowser und E-Mail-Programme Dies ist eine kurze Anleitung für die grundlegenden folgender Programme: Webbrowser: Internet Explorer, Mozilla Firefox und Opera E-Mail-Programme:

Mehr

Ihr CMS für die eigene Facebook Page - 1

Ihr CMS für die eigene Facebook Page - 1 Ihr CMS für die eigene Facebook Page Installation und Einrichten eines CMS für die Betreuung einer oder mehrer zusätzlichen Seiten auf Ihrer Facebook Page. Anpassen der "index.php" Installieren Sie das

Mehr

Tevalo Handbuch v 1.1 vom 10.11.2011

Tevalo Handbuch v 1.1 vom 10.11.2011 Tevalo Handbuch v 1.1 vom 10.11.2011 Inhalt Registrierung... 3 Kennwort vergessen... 3 Startseite nach dem Login... 4 Umfrage erstellen... 4 Fragebogen Vorschau... 7 Umfrage fertigstellen... 7 Öffentliche

Mehr

Serviceanweisung Austausch Globalsign Ausstellerzertifikate

Serviceanweisung Austausch Globalsign Ausstellerzertifikate Serviceanweisung Austausch Globalsign Ausstellerzertifikate Version: Stand: 1.0 03.03.2014 Leipziger Straße 110, 04425 Taucha Tel.: +49 34298 4878-10 Fax.: +49 34298 4878-11 Internet: www.procilon.de E-Mail:

Mehr

Microsoft PowerPoint 2013 Folien gemeinsam nutzen

Microsoft PowerPoint 2013 Folien gemeinsam nutzen Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft PowerPoint 2013 Folien gemeinsam nutzen Folien gemeinsam nutzen in PowerPoint 2013 Seite 1 von 4 Inhaltsverzeichnis Einleitung... 2 Einzelne

Mehr

Theoretische Informatik SS 04 Übung 1

Theoretische Informatik SS 04 Übung 1 Theoretische Informatik SS 04 Übung 1 Aufgabe 1 Es gibt verschiedene Möglichkeiten, eine natürliche Zahl n zu codieren. In der unären Codierung hat man nur ein Alphabet mit einem Zeichen - sagen wir die

Mehr

KURZANLEITUNG CLOUD OBJECT STORAGE

KURZANLEITUNG CLOUD OBJECT STORAGE KURZANLEITUNG CLOUD OBJECT STORAGE Version 1.12 01.07.2014 SEITE _ 2 INHALTSVERZEICHNIS 1. Einleitung... Seite 03 2. Anmelden am Cloud&Heat Dashboard... Seite 04 3. Anlegen eines Containers... Seite 05

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 keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113

Mehr

IAWWeb PDFManager. - Kurzanleitung -

IAWWeb PDFManager. - Kurzanleitung - IAWWeb PDFManager - Kurzanleitung - 1. Einleitung Dieses Dokument beschreibt kurz die grundlegenden Funktionen des PDFManager. Der PDF Manager dient zur Pflege des Dokumentenbestandes. Er kann über die

Mehr

Qt-Projekte mit Visual Studio 2005

Qt-Projekte mit Visual Studio 2005 Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung

Mehr

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me Bevor Sie die Platte zum ersten Mal benutzen können, muss sie noch partitioniert und formatiert werden! Vorher zeigt sich die Festplatte

Mehr

Support-Tipp Mai 2010 - Release Management in Altium Designer

Support-Tipp Mai 2010 - Release Management in Altium Designer Support-Tipp Mai 2010 - Release Management in Altium Designer Mai 2010 Frage: Welche Aufgaben hat das Release Management und wie unterstützt Altium Designer diesen Prozess? Zusammenfassung: Das Glück eines

Mehr

Tritt beim Aufruf ein Fehler aus, so wird eine MessageBox mit dem Fehlercode und der Kommandozeile angezeigt.

Tritt beim Aufruf ein Fehler aus, so wird eine MessageBox mit dem Fehlercode und der Kommandozeile angezeigt. WinCC UniAddIn Motivation Add-ins für WinCC können in VBA und VB6 programmiert werden. Andere Entwicklungsumgebungen werden nicht standardmäßig unterstützt. Die Entwicklung in VBA hat den Nachteil, dass

Mehr

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper) Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10 Technische Informationen (White Paper) Inhaltsverzeichnis 1. Über dieses Dokument... 3 2. Überblick... 3 3. Upgrade Verfahren... 4

Mehr

Kapiteltests zum Leitprogramm Binäre Suchbäume

Kapiteltests zum Leitprogramm Binäre Suchbäume Kapiteltests zum Leitprogramm Binäre Suchbäume Björn Steffen Timur Erdag überarbeitet von Christina Class Binäre Suchbäume Kapiteltests für das ETH-Leitprogramm Adressaten und Institutionen Das Leitprogramm

Mehr

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag Ludwig-Maximilians-Universität München WS 2015/16 Institut für Informatik Übungsblatt 9 Prof. Dr. R. Hennicker, A. Klarl Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung:

Mehr

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E

S TAND N OVEMBE R 2012 HANDBUCH DUDLE.ELK-WUE.DE T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E S TAND N OVEMBE R 2012 HANDBUCH T E R M I N A B S P R A C H E N I N D E R L A N D E S K I R C H E Herausgeber Referat Informationstechnologie in der Landeskirche und im Oberkirchenrat Evangelischer Oberkirchenrat

Mehr

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007 Fachhochschule Bonn-Rhein-Sieg University of Applied Sciences Fachbereich Informatik Prof. Dr. Peter Becker Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Mehr

SEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299

SEPA Lastschriften. Ergänzung zur Dokumentation vom 27.01.2014. Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 SEPA Lastschriften Ergänzung zur Dokumentation vom 27.01.2014 Workshop Software GmbH Siemensstr. 21 47533 Kleve 02821 / 731 20 02821 / 731 299 www.workshop-software.de Verfasser: SK info@workshop-software.de

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Primzahlen und RSA-Verschlüsselung

Primzahlen und RSA-Verschlüsselung Primzahlen und RSA-Verschlüsselung Michael Fütterer und Jonathan Zachhuber 1 Einiges zu Primzahlen Ein paar Definitionen: Wir bezeichnen mit Z die Menge der positiven und negativen ganzen Zahlen, also

Mehr

BEDIENUNGSANLEITUNG: EINREICH-TOOL

BEDIENUNGSANLEITUNG: EINREICH-TOOL BEDIENUNGSANLEITUNG: EINREICH-TOOL Bewerber können ihre maximal 60 Minuten langen Beiträge in neun Kategorien bis zum 07.04.2015 per Upload über die Website www.oesterreichischer-radiopreis.at einreichen.

Mehr

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX Allgemeines Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX Stand 21.11.2014 Die Yeastar MyPBX Telefonanlagen unterstützen die automatische Konfiguration der tiptel 3010, tiptel 3020 und tiptel 3030

Mehr

Zeichen bei Zahlen entschlüsseln

Zeichen bei Zahlen entschlüsseln Zeichen bei Zahlen entschlüsseln In diesem Kapitel... Verwendung des Zahlenstrahls Absolut richtige Bestimmung von absoluten Werten Operationen bei Zahlen mit Vorzeichen: Addieren, Subtrahieren, Multiplizieren

Mehr

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test?

Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Welche Unterschiede gibt es zwischen einem CAPAund einem Audiometrie- Test? Auch wenn die Messungsmethoden ähnlich sind, ist das Ziel beider Systeme jedoch ein anderes. Gwenolé NEXER g.nexer@hearin gp

Mehr

Speicher in der Cloud

Speicher in der Cloud Speicher in der Cloud Kostenbremse, Sicherheitsrisiko oder Basis für die unternehmensweite Kollaboration? von Cornelius Höchel-Winter 2013 ComConsult Research GmbH, Aachen 3 SYNCHRONISATION TEUFELSZEUG

Mehr

Schulberichtssystem. Inhaltsverzeichnis

Schulberichtssystem. Inhaltsverzeichnis Schulberichtssystem Inhaltsverzeichnis 1. Erfassen der Schüler im SBS...2 2. Erzeugen der Export-Datei im SBS...3 3. Die SBS-Datei ins FuxMedia-Programm einlesen...4 4. Daten von FuxMedia ins SBS übertragen...6

Mehr

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Beiträge erstellen in Joomla Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Abbildung 1 - Kontrollzentrum Von hier aus kann man zu verschiedene Einstellungen

Mehr

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Anmeldung http://www.ihredomain.de/wp-admin Dashboard Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress. Das Dashboard gibt Ihnen eine kurze Übersicht, z.b. Anzahl der Beiträge,

Mehr

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version 2.0.1 Deutsch 01.07.2014 Konfiguration VLAN's Version 2.0.1 Deutsch 01.07.2014 In diesem HOWTO wird die Konfiguration der VLAN's für das Surf-LAN der IAC-BOX beschrieben. Konfiguration VLAN's TITEL Inhaltsverzeichnis Inhaltsverzeichnis...

Mehr

AUF LETZTER SEITE DIESER ANLEITUNG!!!

AUF LETZTER SEITE DIESER ANLEITUNG!!! BELEG DATENABGLEICH: Der Beleg-Datenabgleich wird innerhalb des geöffneten Steuerfalls über ELSTER-Belegdaten abgleichen gestartet. Es werden Ihnen alle verfügbaren Belege zum Steuerfall im ersten Bildschirm

Mehr

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Über die Internetseite www.cadwork.de Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt. Internet, Codes und Update ab Version 13 Um Ihnen einen möglichst schnellen Zugang zu den aktuellsten Programmversionen zu ermöglichen liegen Update-Dateien für Sie im Internet bereit. Es gibt drei Möglichkeiten

Mehr

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH Dokumentenverwaltung Copyright 2012 cobra computer s brainware GmbH cobra Adress PLUS ist eingetragenes Warenzeichen der cobra computer s brainware GmbH. Andere Begriffe können Warenzeichen oder anderweitig

Mehr

Berechnungen in Access Teil I

Berechnungen in Access Teil I in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer

Mehr

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung

M. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales

Mehr

Kostenstellen verwalten. Tipps & Tricks

Kostenstellen verwalten. Tipps & Tricks Tipps & Tricks INHALT SEITE 1.1 Kostenstellen erstellen 3 13 1.3 Zugriffsberechtigungen überprüfen 30 2 1.1 Kostenstellen erstellen Mein Profil 3 1.1 Kostenstellen erstellen Kostenstelle(n) verwalten 4

Mehr

Anleitung zur Einrichtung von Windows Mail V 6.0 an das neue E-Mail und Groupware-System Communigate Pro

Anleitung zur Einrichtung von Windows Mail V 6.0 an das neue E-Mail und Groupware-System Communigate Pro Anleitung zur Einrichtung von Windows Mail V 6.0 an das neue E-Mail und Groupware-System Communigate Pro 29. Apr. 2010 V 1.00.0 Seite 1 / 13 Inhaltsverzeichnis Windows Mail einrichten...3 Kontakte...9

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

Mehr

Musterlösung für Schulen in Baden-Württemberg. Windows 2003. Basiskurs Windows-Musterlösung. Version 3. Stand: 19.12.06

Musterlösung für Schulen in Baden-Württemberg. Windows 2003. Basiskurs Windows-Musterlösung. Version 3. Stand: 19.12.06 Musterlösung für Schulen in Baden-Württemberg Windows 2003 Basiskurs Windows-Musterlösung Version 3 Stand: 19.12.06 Impressum Herausgeber Zentrale Planungsgruppe Netze (ZPN) am Kultusministerium Baden-Württemberg

Mehr

ANYWHERE Zugriff von externen Arbeitsplätzen

ANYWHERE Zugriff von externen Arbeitsplätzen ANYWHERE Zugriff von externen Arbeitsplätzen Inhaltsverzeichnis 1 Leistungsbeschreibung... 3 2 Integration Agenda ANYWHERE... 4 3 Highlights... 5 3.1 Sofort einsatzbereit ohne Installationsaufwand... 5

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Installationshinweise BEFU 2014

Installationshinweise BEFU 2014 Installationshinweise BEFU 2014 Allgemeines BEFU 2014 läuft unter dem Betriebssystem Windows XP, Vista, 7, 8. Für BEFU 2014 wird als Entwicklungsumgebung Access (32-Bit) verwendet. Es werden zum Download

Mehr

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9 1 Allgemeine Beschreibung "Was war geplant, wo stehen Sie jetzt und wie könnte es noch werden?" Das sind die typischen Fragen, mit denen viele Unternehmer

Mehr

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline Öffentliche Ordner Offline INDEX Öffentliche Ordner erstellen Seite 2 Offline verfügbar einrichten Seite 3 Berechtigungen setzen Seite 7 Erstelldatum 12.08.05 Version 1.1 Öffentliche Ordner Im Microsoft

Mehr

WordPress. Dokumentation

WordPress. Dokumentation WordPress Dokumentation Backend-Login In das Backend gelangt man, indem man hinter seiner Website-URL einfach ein /wp-admin dranhängt www.domain.tld/wp-admin Dabei gelangt man auf die Administrationsoberfläche,

Mehr

Quick Reference Historie des Dokuments

Quick Reference Historie des Dokuments Dokumentinformationen Information Wert Autor BEN Erstelldatum 30.04.08 Historie des Dokuments Version Status / Änderungen Datum Autor 1.0 Version 1.0 / Ursprungsversion 30.04.2008 BEN 1.1 Anpassungen 17.11.2008

Mehr

Umstellung des Schlüsselpaares der Elektronischen Unterschrift von A003 (768 Bit) auf A004 (1024 Bit)

Umstellung des Schlüsselpaares der Elektronischen Unterschrift von A003 (768 Bit) auf A004 (1024 Bit) Umstellung des Schlüsselpaares der Elektronischen Unterschrift von A003 (768 Bit) auf A004 (1024 Bit) 1. Einleitung Die Elektronische Unterschrift (EU) dient zur Autorisierung und Integritätsprüfung von

Mehr

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 Handbuch Fischertechnik-Einzelteiltabelle V3.7.3 von Markus Mack Stand: Samstag, 17. April 2004 Inhaltsverzeichnis 1. Systemvorraussetzungen...3 2. Installation und Start...3 3. Anpassen der Tabelle...3

Mehr

Installation von Updates

Installation von Updates Installation von Updates In unregelmässigen Abständen erscheinen Aktualisierungen zu WinCard Pro, entweder weil kleinere Verbesserungen realisiert bzw. Fehler der bestehenden Version behoben wurden (neues

Mehr

Professionelle Seminare im Bereich MS-Office

Professionelle Seminare im Bereich MS-Office Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion

Mehr

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze Ihre Interessentendatensätze bei inobroker Wenn Sie oder Ihre Kunden die Prozesse von inobroker nutzen, werden Interessentendatensätze erzeugt. Diese können Sie direkt über inobroker bearbeiten oder mit

Mehr