Parallelisierung von Ray Tracing Berechnungen in einem heterogenen Netzwerk. Studienarbeit

Größe: px
Ab Seite anzeigen:

Download "Parallelisierung von Ray Tracing Berechnungen in einem heterogenen Netzwerk. Studienarbeit"

Transkript

1 Parallelisierung von Ray Tracing Berechnungen in einem heterogenen Netzwerk Studienarbeit Vorgelegt von Robert Bärz Institut für Computervisualistik Arbeitsgruppe Computergraphik Betreuer: Prüfer: Dipl.-Inform. M. Geimer Prof. Dr.-Ing. Stefan Müller Oktober 2004

2 ZUSAMMENFASSUNG. Die vorliegende Studienarbeit baut auf dem Ray Tracing System Dream auf. Mit dem Dream Ray Tracer ist es schon auf Einzelrechnern möglich, interaktive Frameraten zu erzielen. Um diese Frameraten auch bei komplexeren Berechnungen konstant zu halten, erweitert diese Studienarbeit das bestehende System um die Fähigkeit zur verteilten Berechnung von Ray Tracing Daten. Insbesondere ist es möglich, die Netzwerkfähigkeit auch in heterogenen Netzwerken mit unterschiedlichen Betriebsystemen und Prozessortypen zu verwenden. i

3 Inhaltsverzeichnis 1 Einleitung Ausgangspunkt Zielsetzung Schwerpunkte Strukturierung Architektur Externe Abhängigkeiten Komponenten des Systems Netzwerk Master Slave Softwaremodell Überblick Konzepte im Master Netzwerk Die IndexSource Schnittstelle Das fertige Bild Synchronisierung der Threads Konzepte im Slave Zentral: Der SlaveThread Synchronisierung mittels IndexBuffer Berechnung der Farbwerte Verbindungsabbruch Netzwerkkommunikation Aufbau des ServerThreads Netzwerkprotokoll Implementierung Programmierkonventionen Klassenbeschreibungen Tools Network ii

4 4.2.3 Master Slave Das Netzwerk Protokoll Bedienung Starten des Masters Starten eines Slaves Das Wrapper Skript Dream Voraussetzungen Beschreibung Netzwerk Beschreibungsdatei Eingabeschnittstelle des Masters Benutzerschnittstelle des slaves Performance Testumgebung Testergebnisse Datendurchsatz Load Balancing Leistungssteigerung bei mehreren Rechnern Leistungssteigerung in Abhängigkeit zur Szenenkomplexität Fazit Ausblick iii

5 Abbildungsverzeichnis 2.1 Verteiltes System im Netzwerk Komponentendiagramm (Master) Komponentendiagramm (Slave) Klassenübersicht (Master) Detailiertes Klassendiagramm (Master) Klassenübersicht (Slave) Detailiertes Klassendiagramm (Slave) Ablauf des ServerThreads Netzwerkprotokoll als Statechart IndexSource IndexBuffer NetIdxBuffer Socket TcpStream Protocol ServerThread SessionPool SessionThread SlaveThread TraceThreadPool SimpleTraceThread msginfo msghelo msgrequest msgcamera msgtile msgresult msgwait msgbye Netzwerkdurchsatz NetIO Netzwerkdurchsatz Dream I/O iv

6 6.3 Load Balancing Leistungsteigerung mit mehreren Rechnern Abhängigkeit von der Szenenkomplexität v

7 1 Einleitung 1.1 Ausgangspunkt Im September 2003 veröffentlichte das Institut für Computervisualistik einen Interaktiven Ray Tracer [GM03], mit dem es möglich ist, bei mittelgroßen Szenen bereits mit einem Rechner interaktive Frameraten zu erzielen. Um dieses System auch für komplexere Szenen oder erweiterte Effekte interaktiv zu halten, erweitert diese Studienarbeit das Framework um die Möglichkeit zur verteilten Berechnung der Ray Tracing Daten. Die Erweiterung des Systems kann sich auf die Verteilung der Ray Tracing Aufträge im Netzwerk konzentrieren, da es für die Ray Tracing Berechungen das vorhandene System verwendet. 1.2 Zielsetzung Das Ziel dieser Studienarbeit ist es, das optimierte Ray Tracing System Dream so zu erweitern, dass die Ray Tracing Berechnungen in einem Pool von Rechnern verteilt werden können. Um eine gute Skalierbarkeit des Systems zu gewährleisten, ist auf eine effiziente Datenübertragung zu achten. Außerdem soll das System in einem heterogenen Umfeld (x86/linux und PowerPC/Mac OS X) einsetzbar sein. 1.3 Schwerpunkte Schwerpunkte der Arbeit sind: 1. Einarbeitung in die verschiedenen Möglichkeiten zur Verteilung von Ray Tracing Berechnungen (demand/data driven, hybrid) und in das Ray Tracing System Dream. 2. Entwurf einer erweiterten Systemarchitektur. 3. Implementierung der spezifizierten Erweiterungen in der Sprache C++ und Integration des bestehenden Renderingsystemes. 1

8 4. Dokumentation des Gesamtsystemes sowie der erzielten Ergebnisse. 1.4 Strukturierung Die vorliegende Studienarbeit ist in folgende Kapitel unterteilt: Systemarchitektur stellt die Architektur des Softwaresystems vor. Softwaremodell erläutert anhand von UML Diagrammen die Umsetzung der Systemarchitektur. Implementierung geht näher auf Details in der Implementierung ein. Bedienung erklärt die Handhabung des Softwaresystems. Performance analysiert die Leistung des Softwaresystems. Fazit ist eine Zusammenfassung und Bewertung der Studienarbeit. 2

9 2 Architektur In diesem Kapitel wird die modulare Struktur des Systems aus der Sicht von Außen beschrieben. Um Ray Tracing Berechnungen parallel auf mehreren Rechnern ausführen zu können, muss auf jedem beteiligten Rechner ein entsprechendes Programm zum raytracen ausgeführt werden (Abbildung 2.1). Wobei genau ein Rechner für die Darstellung der berechneten Bilder zuständig ist. Bei den übrigen Rechnern spricht man von unterstützenden Rechnern. Das Programm zur Darstellung und Koordinierung heißt im Folgenden Master. Das Gegenstück, das Programm zur Unterstützung bei den Berechnungen, wird Slave genannt. Abbildung 2.1: Verteiltes System im Netzwerk Zur Umsetzung dieser Zweiteilung des Systems in Master und Slave, gibt es verschiedene Methoden: Master und Slave bilden ein Programm, das per Kommandozeilenparameter in den 3

10 Master- oder Slave-Modus versetzt werden kann. Master und Slave sind getrennt kompilierbare Programme mit jeweils einer eigenen ausführbaren Datei. Der Vorteil der ersten Methode ist eine geringere Redundanz im Quelltext, da beide Programme aus dem selben Quelltext entstehen. Die zweite Methode, die hier umgesetzt wurde, bietet jedoch zwei entscheidende Vorteile: Bibliotheken, die nur von einem der beiden Programme benötigt werden, sind zum kompilieren des jeweils andern nicht erforderlich. Der Quelltext kann sauberer geschrieben werden, da man nur auf die Möglichkeiten des einen Programms Rücksicht nehmen muss. Besonders der erste Punkt ist für die Umsetzung wichtig, da der Master gegen Bibliotheken gebunden wird, die möglicherweise nicht auf allen Rechnern vorhanden sind, z.b. OpenGL, GLUT, GLU oder GLEW. Der Master ist das komplexere Programm. Er ist einerseits für die Verwaltung der Netzwerkverbindungen zu den einzelnen Slaves zuständig, andererseits muss er die errechneten Daten in einer Bilderfolge anzeigen. Zusätzlich kann der Master nicht nur Berechnungsaufgaben an die Slaves verteilen, sondern er kann auch lokale Ray Tracing Berechnungen durchführen. Der Master kann also auch unabhängig von anderen Rechnern als Darstellungsprogramm für Einzelrechner genutzt werden. Ein Slave verbindet sich bei Programmstart mit dem Master und bekommt von ihm die benötigten Anfangsinformationen. Danach erhält er über die Verbindung seine Arbeitsaufträge. Der Slave ist somit abhängig vom Master und kann nicht alleine laufen. Damit die beiden Teilprogramme, Master und Slave, miteinander kommunizieren können, wird ein Kommunikationsprotokoll zwischen ihnen benötigt. Im Abschnitt 4.3 wird dieses Protokoll detailliert erläutert. 2.1 Externe Abhängigkeiten Wie schon weiter oben erwähnt, ist bereits das Ausgangssystem Dream von diversen Bibliotheken abhängig: OpenGL, GLU platformunabhängige, schnelle Darstellungsroutinen. 4

11 GLUT platformunabhängige, Schnittstelle zum Windowing System. GLEW portable Behandlung von OpenGL Extensions. pthread POSIX Thread Library (portables Multithreading). Dream stellt für das Multithreading (Nebenläufigkeiten) sogenannte C++ Wrapper Klassen zur Verfügung 1. Ebenso werden für OpenGL Klassen zur einfachen Handhabung bereitgestellt. Was an externen Abhängigkeiten für diese Studienarbeit noch fehlt, sind die Netzwerkkomponenten. Damit der Stil von Dream nicht gebrochen wird, sind die Netzwerkkomponenten ebenfalls als dünne Wrapper Klassen in C++ implementiert. Auf diese Art ist das System nicht von weiteren externen Bibliotheken abhängig. 2.2 Komponenten des Systems Die beiden Teile des verteilten Ray Tracing Systems untergliedern sich wiederum in einzelne Komponenten. In diesem Abschnitt werden die Komponenten vorgestellt und ihre Abhängigkeiten untereinander verdeutlicht. In Abbildung 2.2 ist das Komponentendiagramm für den Master dargestellt. Die Komponenten sind im Diagramm farbig gekennzeichnet. Graue Komponenten sind als externe Bibliotheken eingebunden. Grün sind die Teile des ursprünglichen Dream Systems. Sie werden von der Studienarbeit großenteils nur genutzt und nicht maßgeblich verändert. Die blauen Komponenten sind durch die Studienarbeit hinzugekommen. Der Slave besitzt ein eigenes Komponentendiagramm, das in 2.3 abgebildet ist. Die geringere Komplexität des Slaves drückt sich durch weniger Abhängigkeiten im Diagramm aus Netzwerk Das Netzwerkmodul bietet dem System Zugriff auf das Netzwerk. Vom Betriebssystem werden sogenannte Sockets zur Verfügung gestellt. Ein Socket ist als Endpunkt einer Netzwerkverbindung zu verstehen. Wie der Einsatz von Sockets vermuten läßt, wird die Netzwerkkommunikation über das TCP/IP Protokoll (ein gängiges Protokoll für Ethernet Netzwerke) abgewickelt. 1 Wrapper Klassen kapseln den Zugriff auf Funktionen einer niedrigeren Schicht 5

12 Abbildung 2.2: Komponentendiagramm (Master) Das Modul ist in Form eines C++ Wrappers für Sockets geschrieben. Im Einzelnen werden folgende Klassen bereitgestellt: Socket Diese Klasse implementiert Basisfunktionalitäten zum Aufbau und zur Handhabung von Netzwerkverbindungen. TcpStream Diese Klasse erweitert die Socket Klasse um die Fähigkeit, Daten über einen virtuellen Datenstrom zu verschicken. Die zweite Aufgabe die vom Netzwerkmodul erfüllt wird, ist die Spezifizierung eines Netzwerkprotokolls. In der Klasse Protocol ist die gesamte Kommunikation zwischen dem Master und dem Slave geregelt, d.h., andere Programmmodule benötigen keinen direkten Zugriff auf die Methoden des TcpStreams, sondern können auf einer höheren Ebene Nachrichten mit Hilfe des Protokolls verschicken. Eine Besonderheit, auf die speziell geachtet wurde, ist die Byte-Order der Prozessorn. Die Linux/x86 Systeme besitzen Intel oder AMD Prozessoren. Diese speichern Daten im Little- 6

13 Abbildung 2.3: Komponentendiagramm (Slave) Endian Format, d.h. niederwertige Bytes liegen an niedrigeren Adressen im Speicher. Die Motorola Prozessor basierten Mac Systeme hingegen speichern im Big-Endian Format, also genau anders herum. Bei der Übertragung von Daten zwischen Systemen mit unterschiedlicher Byte-Order muss also darauf geachtet werden, dass die Daten jeweils richtig interpretiert werden. Die Verantwortlichkeit dafür liegt im Dream System bei den Slaves. Die zweite Möglichkeit wäre, die Daten nur in einer Byte-Order über das Netzwerk zu schicken, was zum Nachteil hätte, das Daten möglicherweise doppelt geswapt würden. Die dritte Möglichkeit, dass der Master für die richtige Ordnung der Bytes sorgt, hätte zum Nachteil, dass der Master einen erhöhten Speicher- und Rechenaufwand hätte. In der Klassenhierarchie ist allein der TcpStream dafür zuständig, die Daten in der korrekten Form zur Verfügung zu stellen Master Die Master Komponente besteht ebenfalls aus zwei Teilen. Zum Einen gibt es den ServerThread, eine Klasse, die zum Programmstart als eigener Thread gestartet wird. Zum Anderen gibt es viele SessionThreads, die bei Bedarf von dem ServerThread gestartet werden. 7

14 Die SessionThreads werden in einem SessionPool verwaltet. Die Aufgabe des ServerThreads ist es, eingehende Verbindungen festzustellen und an die SessionThreads weiterzuleiten. Dazu initialisiert er zu Programmstart einen Serversocket zum lauschen an einem bestimmten TCP Port. Sobald er eine neue Verbindung registriert, wird diese auf einen anderen Port verlegt und an einen neu erstellten SessionThread übergeben. Danach widmet der ServerThread sich wieder dem Lauschen an seinem Serversocket. Ein SessionThread bekommt vom ServerThread die Verbindung zu einem Slave in Form eines TcpStreams übergeben. Nach der Übergabe ist dieser SessionThread für die Kommunikation mit diesem Slave zuständig. Sobald die Kommunikation beendet ist, terminiert auch der SessionThread und gibt seine Ressourcen frei Slave Das Slavemodul enthält einen SlaveThread. Dieser beginnt mit dem Programmstart seine Arbeit. Seine erste Aktion ist der Aufbau einer Verbindung zum Master. Sollte dies nicht gelingen, bricht der SlaveThread umgehend seine Arbeit ab und beendet das Programm. Andernfalls beginnt der SlaveThread seine Kommunikation mit dem Master und sorgt dafür, dass das Programm mit den nötigen Daten versorgt wird. 8

15 3 Softwaremodell 3.1 Überblick In diesem Kapitel wird mit Hilfe gängiger UML Techniken das entwickelte Softwaresystem von der Design Seite her vorgestellt. Die hier abgebildeten Diagramme wurden mit dem UML Modelling Tool Umbrello[ea04] erstellt. Zum Einsatz kommen Klassendiagramme der beiden Systemteile (Master und Slave). Zum Einen werden Diagramme auf hohem Abstraktionsniveau verwendet, die einen Überblick über die Beziehungen der einzelnen Klassen geben. Zum Anderen werden detaillierte Klassendiagramme benutzt, die einen größeren Aufschluss über die Funktionsweise der wesentlichen Klassen geben. Weiterhin wird der Netzwerkteil mit Hilfe von Aktivitätsdiagrammen genauer betrachtet. Das Netzwerkprotokoll wird in vereinfachter Form als Statechart präsentiert. In allen Diagrammen ist die Farbgebung, die auch schon weiter oben verwendet wurde, konsequent weiterverfolgt. Grüne Teile sind also aus dem ursprünglichen Dream System und blaue Teile sind neu hinzugekommen. In den Diagrammen taucht eine Klasse GlutThread (türkisfarben markiert) auf. Sie existiert im Quellcode nicht und repräsentiert in den Diagrammen die Aufgaben der display()- Funktion. 3.2 Konzepte im Master Netzwerk Das Netzwerksubsystem besteht im Kern aus dem ServerThread und dem SessionThread. Beide sind von der Klasse Thread abgeleitet, daher müssen sie die Methode run() implementieren, die zum Starten eines Threads intern aufgerufen wird. Der ServerThread nutzt, wie in Abbildung 3.1 zu sehen ist, die Basisklasse Socket. Er führt über seinen Socket keine Kommunikation durch (wofür die Socketklasse selber auch nicht gedacht ist), sondern nutzt ihn nur zum Lauschen auf Verbindungen. 9

16 Die SessionThreads kommunizieren via Netzwerk mit den Slaves. Dazu nutzen sie den TcpStream, eine von Socket abgeleitete Klasse. Der TcpStream wird nicht direkt zum Senden von Netzwerknachrichten verwendet, dafür ist die Klasse Protocol zuständig. Sie bekommt bei der Initialisierung eine Referenz auf die entsprechende Instanz einer TcpStream Klasse und kann diese zur Kommunikation mit dem Master nutzen. Die Fehlerbehandlung des Netzwerkbereiches wird mit Hilfe von Exceptions durchgeführt. Die Exceptions werden vom Protocol und vom TcpStream geworfen und können vom ServerThread, respektive dem SessionThread, gefangen werden. Abbildung 3.1: Klassenübersicht (Master) Die IndexSource Schnittstelle Der Master verhält sich, solange keine Slaves verbunden sind, genauso wie das ursprüngliche Dream System. Um möglichst ohne Änderungen im Quelltext des ursprünglichen Systems auszukommen und dennoch die Erweiterungen einbauen zu können, existiert die Schnittstelle 10

17 IndexSource. Diese abstrakte Basisklasse definiert virtuelle Funktionen, die Integerwerte (interpretiert als Indexwerte im PrimaryPool 1 ) zur Verfügung stellen. Die IndexSource Schnittstelle wird von den Klassen PrimaryPool, IndexBuffer und NetIdxBuffer implementiert. So kann sich der PrimaryThread 2 im Einzelrechner-Modus wie bisher seine Aufträge aus dem PrimaryPool holen. Im Netzwerk-Modus wird der PrimaryPool jedoch nicht mehr direkt angesprochen, sondern nur über die Indirektion der Klassen IndexBuffer und NetIdxBuffer (Abbildung 3.2). Zu Beginn jedes Frames wird der PrimaryPool zu einem bestimmten Prozentsatz für lokale Berechnungen reserviert und in den IndexBuffer überführt. Der Rest wird in den NetIdxBuffer zur verteilten Berechnung übertragen. Diese Aufteilung ist sinnvoll, weil die Berechnungen des Masters so identisch wie möglich zum Originalsystem bleiben sollen. Im Originalsystem werden die Arbeitsaufträge vom PrimaryThread bearbeitet, der jedoch nur eine kurze Zeit der Berechnungsdauer am arbeiten ist. Den größeren Teil der Arbeit erledigt der ShadingThread. Dieses Verhältnis ist ungünstig für das Load Balancing im Netzwerk, denn ein Großteil der Aufträge würde lokal weggeschnappt werden und viele Slaves gingen leer aus. Wenn nun von Anfang an eine bestimmte Anzahl von Aufträgen zur lokalen Berechnung reserviert ist, muss nur noch das Verhältnis günstig sein um ein brauchbares Load Balancing zu erhalten (siehe Abschnitt 6.2.2) Das fertige Bild Das Bild eines Frames kommt aus zwei Quellen zustande. Die eine ist der lokale ShadingThread, der zum richtigen Zeitpunkt vom PrimaryThread geweckt wird. Der ShadingThread berechnet die Sichtbarkeit, Reflektionen und abschließend den eigentlichen Farbwert eines Pixels. Danach trägt der ShadingThread den Farbwert im DreamImage ein. Die zweite Quelle sind die SessionThreads. Diese bekommen im Netzwerk-Modus die Resultate der Berechnungen der Slaves übertragen und tragen diese ebenfalls im DreamImage ein Synchronisierung der Threads Die lokale Synchronisierung der Primary- und ShadingThreads im Zusammenspiel mit der display()-funktion von Glut hat sich nicht geändert. Auch im Netzwerk-Modus funktioniert die gleiche Synchronisierung mittels einer Barrier 3. Allerdings wird anschließend 1 Der PrimaryPool enthält Tiles; kleine, zu ray tracende Bildbereiche. 2 Der PrimaryThread führt die Schnittpunktberechnungen durch und benötigt dafür Aufträge in Form von Tiles. 3 Zu Framebeginn wird eine Barriere von einer Höhe n errichtet, die erst durchlässig wird, wenn n Threads die Barriere betreten. 11

18 Abbildung 3.2: Detailiertes Klassendiagramm (Master) 12

19 zusätzlich auf die Fertigstellung der Arbeitsaufträge im NetIdxBuffer gewartet, sofern diese noch nicht abgearbeitet sind. Falls tatsächlich noch Aufträge im NetIdxBuffer warten - d.h. das Verhältnis der initialen Aufteilung der Arbeitsaufträge in Index- und NetIdxBuffer war nicht besonders günstig - unterstützt der Master während des Wartens die Abarbeitung der restlichen Arbeitsaufträge. Zur Unterstützun werden nicht der Primary- und ShadingThread herangezogen, sondern, wie auch auf den Slaves, ein SimpleTraceThread. Auf diese Art können Schwankungen in der Netzwerkübertragung ausgeglichen werden. 3.3 Konzepte im Slave Zentral: Der SlaveThread Im Slave übernimmt der SlaveThread kurz nach Programmstart die Kontrolle. Der Slave- Thread versucht eine Verbindung über einen TcpStream mit dem Master aufzubauen. Falls dies gelingt, beginnt er die Kommunikation mit dem Master mit Hilfe einer Instanz der Protocol Klasse. Sobald er die nötigen Daten, wie die Scene und die Größe des Bildes, empfangen hat, kann er seine SimpleTraceThreads, die für die Bearbeitung von Arbeitsaufträgen zuständig sind, starten. Anschließend sorgt der SlaveThread in einer Schleife dafür, dass stets genügend Arbeitsaufträge im IndexBuffer sind. Aus diesem können die SimpleTraceThreads ihre Aufträge beziehen Synchronisierung mittels IndexBuffer Der Slave versucht seinen IndexBuffer stets mit einer bestimmten Anzahl 4 von Arbeitsaufträgen voll zu halten. Da die SimpleTraceThreads ihre Arbeitsaufträge aus diesem IndexBuffer beziehen und nebenläufig sind, ist der IndexBuffer durch einen Mutex geschützt. Sollte der IndexBuffer leer werden, z.b. wenn ein Bild fertiggestellt ist, oder der SlaveThread nicht schnell genug für Nachschub sorgen kann, vergeuden die SimpleTraceThreads keine Prozessorzeit, sondern schlafen ein. Sobald wieder neue Arbeitsaufträge im IndexBuffer eintreffen, weckt dieser automatisch alle darauf wartenden Threads. 4 Die genaue Größe des IndexBuffers kann per Kommandozeilenparameter übergeben werden -q <anzahl>. Bei langsamen Rechnern sollte keine zu Große Anzahl von Arbeitsaufträgen vorgehalten werden, da sich sonst das ganze System verlangsamt. 13

20 Abbildung 3.3: Klassenübersicht (Slave) 14

21 3.3.3 Berechnung der Farbwerte Im Slave werden die Farbwerte einzelner Pixel durch einen oder mehrere SimpleTraceThreads berechnet. Ein SimpleTraceThread korrespondiert zu jeweils einem PrimaryThread und einem ShadingThread im Master. Der Unterschied zum Master liegt darin, dass die Arbeitsschritte sequentiell abgearbeitet werden. Abbildung 3.4: Detailiertes Klassendiagramm (Slave) 15

22 3.3.4 Verbindungsabbruch Der Slave kann auf zwei Arten beendet werden. Entweder er bekommt ein Unterbrechungssignal 5, oder die Verbindung bricht ab, was durch ein Beenden des Masters oder eine Verbindungsstörung geschehen kann. Im Fall eines Unterbrechungssignals wird vom Slave eine Nachricht(msgBye) zur Mitteilung seines Vorhabens gesendet. Anschließend trennt er die Verbindung und beendet das Programm. In den anderen Fällen braucht nur das Programm beendet zu werden, da die Verbindung nicht mehr existiert. 3.4 Netzwerkkommunikation Aufbau des ServerThreads Die Funktionsweise des ServerThreads wurde im vorangegangenen Kapitel schon kurz angesprochen. In diesem Abschnitt wird der Ablauf der ServerThreads schematisch als Aktivitätsdiagramm (siehe Abbildung 4.7) dargestellt. Der ServerThread befindet sich die meiste Zeit in einem wartenden Zustand, der nahezu keine Ressourcen verbraucht. Sobald jedoch eine eingehende Verbindung festgestellt wird, nimmt der Server diese an und erstellt zur Kommunikation mit dem entfernten Rechner einen SessionThread, der ab dann für diese Verbindung alleine zuständig ist. Anschließend fällt der Server wieder in seinen Wartezustand. Der Wartezustand ist zusätzlich mit einem Timeout von einer Sekunde versehen, damit der ServerThread von Zeit zu Zeit ansprechbar ist und auch wieder beendet werden kann. Damit der ServerThread beim Beenden alle noch offenen Verbindungen schließen kann, wurde der SessionPool entworfen, der die Verwaltung der SessionThreads übernimmt. Diese Klasse ermöglicht das Hinzufügen eines neuen SessionThreads in den Pool und das Beenden aller SessionThreads die zu dem Zeitpunkt im Pool sind Netzwerkprotokoll Eine vereinfachte, jedoch umfassende Darstellung des Kommunikationsprotokolles, welches zwischen SessionThread und SlaveThread gilt, ist in Abbildung 3.6 als Statechart dargestellt. In diesem Statechart wird die übliche Semantik für Transitionsbeschriftungen verwendet: Ereignisse werden normal dargestellt. 5 Wird in einem Terminal meist mit CTRL+C gesendet. 16

23 Abbildung 3.5: Ablauf des ServerThreads 17

24 Wächter 6 werden in eckige Klammern geschrieben. Aktionen, die beim Transitionsübergang ausgelöst werden, sind hinter einen Slash gestellt. Das Diagramm ist insofern vereinfacht, als daß keine Netzwerkfehler berücksichtigt wurden. Dies kann aber vernachlässigt werden, da bei einem Fehler stets das Programm abgebrochen wird. Fehler kommen jedoch im Normalfall nicht vor, da TCP/IP ein sicheres Protokoll ist, das bei Fehlern eine Neuübertragung veranlasst. Zu Beginn einer Verbindung zwischen Master und Slave liegt die Initiative beim Master. Der Slave hingegen verhält sich passiv und wartet alle vom Master kommendenen Nachrichten ab, bis eine msgnoop (No Operation) kommt, die die Initialphase beendet. Innerhalb der Initialphase sendet der Master eine msghelo, die den Slave begrüßt und die Serverseitige Byte- Order mitteilt. Anschließend teilt der Master interaktiv einige Daten zur aktuellen Szene mit, so auch den Namen der Szenedatei, die Größe des Bildes und bei Bedarf sogar den kompletten Inhalt der Szenedatei. Ab dann liegt zum größten Teil der Zeit die Initiative beim Slave. Dieser startet zuerst eine msgrequest, woraufhin der Master weiß, daß dem Slave Arbeitsaufträge fehlen. Dann wird der Master bei Bedarf (d.h., falls ein neuer Frame begonnen hat) die Kamera Informationen in einer msgcamera und danach, sofern im NetIdxBuffer vorhanden, die gewünschte Anzahl an Arbeitsaufträgen als msgtile versenden. Abgeschlossen wird der Request wiederum durch eine msgnoop. Falls also keine Arbeitsaufträge, sondern nur eine msgnoop beim Slave ankommt, weiß dieser, daß zur Zeit seine Rechenleistung nicht benötigt wird. Wenn der Slave einen Arbeitsauftrag erledigt hat und somit Farbwerte für den Master bereit sind, verschickt er diese Ergebnisse eines Tiles gebündelt in einer msgresults an den Master zurück. Sobald keine Aufträge mehr in Bearbeitung sind und vom Master keine weiteren Aufträge zu erhalten sind (da zur Zeit kein Frame in Auftrag ist), fällt der Slave in einen Ruhezustand. Die SimpleTraceThreads befinden sich zu dem Zeitpunkt schon in einem Schlafzustand. Der SlaveThread sendet eine msgwait an den Master. Diese Nachricht sagt dem Master, daß der Slave idle ist und sendet erst eine Antwort, nachdem ein Timeout aufgetreten ist oder neue Arbeitsaufträge vorhanden sind (ein neuer Frame hat angefangen). 6 Bedingung die beim Transitionsübergang gelten muss. 18

25 Abbildung 3.6: Netzwerkprotokoll als Statechart 19

26 4 Implementierung 4.1 Programmierkonventionen Die Implementierung des Systems erfolgte analog zu der ursprünglichen Implementierung von Dream in objektorientiertem C++. Wie auch in Dream wurde auf die Dokumentierung aller Klassen geachtet, so daß mit einem Programm zur automatisierten Erstellung von Dokumentationen (Doxygen [vh04]) eine komplette Beschreibung aller Klassen in HTML erzeugt werden kann. 4.2 Klassenbeschreibungen In den folgenden Abschnitten werden die Klassen aus den vier neuen Komponenten (Master, Slave, Network und Tools 1 ) beschrieben und Details ihrer Implementierung näher erläutert. Neben jeder Klasse wird ein UML konformes Klassendiagramm dargestellt, das einen Überblick über die Methoden und Attribute der Klasse geben soll Tools IndexSource Diese Klasse ist eine Schnittstelle 2 für Integerwerte liefernde Quellen. Die Werte werden von der Funktion nextindex() geliefert. Falls keine Werte mehr in der Quelle vorhanden sind, wird der Fehlerwert NO TILE zurückgeliefert. Bei den gespeicherten Werten handelt es sich um Indizes auf Tiles im PrimaryPool, die als Arbeitsauftrag verstanden werden können. In Abschnitt ist beschrieben, wir diese Schnittstelle im Zusammenspiel mit den anderen Klassen funktioniert. Abbildung 4.1: IndexSource 1 Das Modul Tools gab es schon zuvor. Es wurde jedoch um einige Klassen erweitert, die hier vorgestellt werden. 2 Schnittstelle: in C++ Terminologie heißt dies Abstrakte Basis Klasse. 20

27 IndexBuffer Der IndexBuffer implementiert die Schnittstelle IndexSource. Zum Speichern der Integerwerte wird intern ein Vector aus der Standard Bibliothek benutzt. Zum Eintragen von Werten in den Vector wird die Funktion addindex() verwendet, die nicht in der Schnittstelle definiert ist, da die Schnittstelle sich auf das Entnehmen von Werten beschränkt. Die Funktion weckt alle Threads, die auf neue Werte warten, auf, sofern der entsprechende Parameter sigifwaiting mit übergeben wird und solche wartenden Threads existieren. Abbildung 4.2: IndexBuffer Auf Seite des Masters dient der IndexBuffer als Quelle für Arbeitsaufträge für den Primary- Thread. Der Buffer wird zu Beginn eines neuen Frames mit einem Prozentsatz aller zu berechnenden Tiles gefüllt. Dies gilt jedoch nur für den Netzwerk-Modus, im Einzelrechner-Modus bezieht der PrimaryThread seine Aufträge aus dem PrimaryPool (siehe Abschnitt 3.2.2). Auf Seite des Slaves beziehen die SimpleTraceThreads ihre Arbeitsaufträge aus einem Index- Buffer. Hier wird der IndexBuffer vom SlaveThread mit neuen Aufträgen gefüllt, die dieser via Netzwerk vom Master abruft. NetIdxBuffer Der NetIdxBuffer ist von der Klasse IndexBuffer abgeleitet und implementiert somit ebenfalls die IndexSource Schnittstelle. Auch er wird zu Beginn eines Frames mit Arbeitsaufträgen gefüllt. Er enthält den zum IndexBuffer komplementären Teil an Arbeitsaufträgen. Diese sind jedoch nicht zur lokalen Berechnung, sondern zur Verteilung ins Netzwerk gedacht. Aus diesem Grund muss über die durch nextindex() herausgegebenen Werte Buch geführt werden, um feststellen zu können welche Aufträge schon erledigt sind und welche noch im Netzwerk in Bearbeitung sind. Abbildung 4.3: NetIdxBuffer Wenn die Berechnungsresultate beim Master eintreffen, muss daher die Funktion release() für das zugehörige Tile aufgerufen werden, um dieses aus der Buchführung zu streichen. Zum Speichern der herausgegebenen Aufträge wird eine std::map verwendet, da mit dieser schnell auf bestimmte Werte zugegriffen werden kann. 21

28 4.2.2 Network Socket Der Socket bildet als C++ Wrapper Klasse die Schnittstelle zu den systemnahen Socket Funktionen. Die Klasse bietet keine Methoden zur Übertragung, sondern nur zum Aufbau einer Verbindung (Serverseitig oder Clientseitig). Um einen Socket zu erstellen, der auf einem bestimmten Port lauscht (Serversocket genannt), ist folgende Befehlsfolge nötig: Socket server; server.create(); Abbildung 4.4: Socket server.bind (<portnummer>); server.listen(); Socket stream; while (server.ispending(pendingconnection, <timeout>)) { server.accept(stream); // Kommuniziere über den neu erstellten stream stream.disconnect(); } Um hingegen als Client zu einem Serversocket zu verbinden, reicht diese Befehlsfolge: Socket client; client.create(); client.connect(<servername/ip>, <port>); // kommuniziere mit server client.disconnect(); Da der Socket selber keine Funktionen zur Kommunikation besitzt, ist es sinnvoll für Clientsockets den im folgenden Abschnitt beschriebenen TcpStream zu verwenden. TcpStream Der TcpStream ist abgeleitet von der Socket Klasse. Er erweitert die Socket Klasse um Funktionen zur Kommunikation mit dem verbundenen Socket. 22

29 Er ist zum Einsatz als Clientsocket gedacht und bietet explizite Funktionen zum Übertragen von Bytes, Integerwerten, Gleitkommazahlen und Datenströmen. Außerdem kann mit der Funktion setbyteswap() eingestellt werden, ob beim Übertragen von Werten, die je nach Byte-Order des Prozessors unterschiedlich interpretiert werden können, ein Tausch der einzelnen Bytes vorgenommen werden soll. Der TcpStream ist dafür verantwortlich, dass die Werte im richtigen Format vorliegen. Um hohe Datenübertragungsraten erzielen zu können, sollten so wenig Pakete wie möglich verschickt werden, die so groß wie möglich sind. Im Verlauf der Performance-Tests wurden zwei unterschiedliche Übertragungsmethoden getestet. Die eine Methode war leicht zu implementieren und führte intern zu 8 Systemaufrufen von ::send() mit jeweils 128 zu sendenden Bytes. Die zweite Methode erforderte mehr Aufwand bei der Implementierung und führte dazu, dass nur noch ein Systemaufruf Abbildung 4.5: TcpStream von ::send() mit 1024 zu übertragenden Bytes stattfand. Das Ergebnis der Tests war, dass die zweite Methode die Übertragung um einen Faktor von bis zu vier beschleunigen konnte. Da zum Erhalten von interaktiven Frameraten ein enorm hoher Datendurchsatz notwendig ist (zum Übertragen eines Bildes der Größe 512x512 Pixel, werden schon 4 MB benötigt, interaktive Frameraten verlangen jedoch mehr als ein Bild pro Sekunde), müssen die Übertragungsmethoden stark optimiert sein. Um die Anzahl der Aufrufe von ::send() zu minimieren ist die Klasse so programmiert, dass alle Methoden zum Versenden die Daten vorerst intern in einen Buffer schreiben. Erst wenn dieser Buffer voll ist, oder ein flush() aufgerufen wurde, werden die Daten tatsächlich abgeschickt. 23

30 Protocol Wie im vorangegangenen Kapitel beschrieben, dient die Klasse Protocol dem Kapseln der gesamten Netzwerkkommunikation. Die einzelnen Methoden repräsentieren die Protokollstruktur des Systems. Das Zusammenspiel der Methoden ist ein Hauptbestandteil der Studienarbeit und wird daher am Ende dieses Kapitels ausführlich beschrieben. Die Klasse steht im engen Zusammenhang mit dem TcpStream, der die Übertragung der einzelnen Nachrichten vornimmt. Daher muss auch die Protocol Klasse mit Blick auf die Minimierung der Anzahl an übertragenen Paketen implementiert werden. Ebenfalls wichtig zur Maximierung des Datendurchsatzes ist die Vermeidung von Latenzzeiten, die durch interaktive Nachrichten auftreten. Aus diesem Grund sind diejenigen Nachrichten, die während der Kommunikation zum Berechnen eines Frames auftreten, soweit möglich, nicht interaktiv gehalten. Abbildung 4.6: Protocol Master ServerThread Die Funktionsweise des ServerThread ist im Abbschnitt beschrieben. Der ServerThread ist verantwortlich für die SessionThreads und den SessionPool. Mit dem ServerThread werden am Programmende die Instanzen dieser beiden Klassen terminiert und deren Ressourcen freigegeben. Abbildung 4.7: ServerThread 24

31 SessionPool Im SessionPool sind die SessionThreads, die mit den Slaves kommunizieren in einer std::list abgelegt. Um diese Liste bei Programmende zu leeren, müssen alle in ihr enthaltenen Threads zum Stoppen veranlasst, ihre Terminierung abgewartet und ihre Ressourcen freigegeben werden. Abbildung 4.8: SessionPool SessionThread Ein SessionThread ist jeweils für die Kommunikation mit einem verbundenen Slave verantwortlich. Der SessionThread steht, wie in Abschnitt erläutert, für Anfragen des Slaves zur Verfügung. Da der Session- Thread eine eigenständige Einheit ist, kann er sich bei einer vorzeitigen Terminierung (z.b. aufgrund von Verbindungsfehlern oder vorzeitigen Programmabbruchs des zugehörigen Slave) selbst aus der ihn enthaltenden Liste entfernen und zerstören. Abbildung 4.9: SessionThread Slave SlaveThread Auf Seite des Slaves ist der SessionThread mit einem SlaveThread verbunden. Der Slave- Thread ist verantwortlich für die Erzeugung der Instanzen von allen wichtigen Klassen, wie z.b. Scene, Image, TcpStream, Protocol oder SimpleTraceThreads. Zum Programmstart versucht er sich mit dem Master zu verbinden. Kommt die Verbindung zustande, erhält er die benötigten Informationen über den Namen der Szene und die Bildgröße. Schlägt die Verbindung jedoch fehl, wird der Slave umgehend beendet, da er ohne Master keine sinnvolle Arbeit verrichten kann. 25

32 In seiner Betriebsphase muss der SlaveThread versuchen, mit möglichst wenig Prozessorzeit den IndexBuffer für die SimpleTraceThreads voll zuhalten. Dies macht er, indem er in einer Schleife prüft, ob der IndexBuffer neue Aufträge benötigt und ob neue Ergebnisse zum versenden an den Master bereit sind. Zum Abschluss jedes Durchlaufes dieser Schleife gibt er mit dem Aufruf yield() seine Rechenleistung ab. Abbildung 4.10: SlaveThread Sobald der SlaveThread feststellt, dass ein Frame fertiggerendert wurde, gibt er entsprechende Leistungsstatisken auf der Konsole aus. TraceThreadPool Der TraceThreadPool kann eine bestimmte Anzahl an SimpleTraceThreads erzeugen und verwalten. Zum Speichern der Referenzen wird ein std::vector verwendet. Wenn der Slave beendet wird, veranlasst der TraceThreadPool die Abbildung 4.11: TraceThreadPool Terminierung aller in ihm enthaltenen Threads und leert anschließend seinen Pool, indem er die Ressourcen der Threads freigibt. SimpleTraceThread Der SimpleTraceThread übernimmt im Slave die entsprechende Funktion, wie der PrimaryThread und der ShadingThread im Master, d.h. er bezieht Arbeitsaufträge aus einer IndexSource und berechnet die zugehörigen Farbwerte im Bild. Wenn keine Aufträge vorhanden sind, schläft der Thread ein um keine Prozessorzeit zu vergeuden. Abbildung 4.12: SimpleTraceThread 4.3 Das Netzwerk Protokoll Dieser Abschnitt behandelt einen Hauptbestandteil des um Netzwerk erweiterten Dream Systems: Das Netzwerk Protokoll. Der Zustandsgraph der beiden Netzwerkkommunikationspartner (auf Master Seite der SessionThread und auf Slave Seite der SlaveThread) wurde im Abschnitt schon spezifiziert und erläutert. Hier soll die Implementation der einzelnen Netzwerknachrichten erklärt werden. Die gesamte in diesem Abschnitt vorgestellte Funktionalität liegt im Zuständigkeitsbereich der Klasse Protocol. 26

Teil 1: Ein einfacher Chat

Teil 1: Ein einfacher Chat Teil 1: Ein einfacher Chat Verteilte Systeme / Chat Der Weg ist das Ziel Im Laufe dieses Projektes werden Sie schrittweise ein Chat-Programm entwickeln. Dabei werden Sie einiges über den Aufbau des Internets

Mehr

Transmission Control Protocol (TCP)

Transmission Control Protocol (TCP) Transmission Control Protocol (TCP) Verbindungsorientiertes Protokoll, zuverlässig, paketvermittelt stream-orientiert bidirektional gehört zur Transportschicht, OSI-Layer 4 spezifiziert in RFC 793 Mobile

Mehr

IRF2000, IF1000 Application Note ModbusTCP API

IRF2000, IF1000 Application Note ModbusTCP API Version 2.0 Original-Application Note ads-tec GmbH IRF2000, IF1000 Application Note ModbusTCP API Version 2.0 Stand: 28.10.2014 ads-tec GmbH 2014 IRF2000 IF1000 2 Inhaltsverzeichnis 1 Einführung... 3 2

Mehr

Byte-Taxi. Bedienungsanleitung. Seite 1 von 8

Byte-Taxi. Bedienungsanleitung. Seite 1 von 8 Byte-Taxi Bedienungsanleitung Seite 1 von 8 Inhaltsverzeichnis 1. Beschreibung 3 2. Systemvoraussetzungen 4 3. Installationsanleitung 5 4. Bedienung 6 5. Infos & Kontakt 8 Seite 2 von 8 1. Beschreibung

Mehr

A-Plan 12.0. Zeiterfassung 2.0. Ausgabe 1.1. Copyright. Warenzeichenhinweise

A-Plan 12.0. Zeiterfassung 2.0. Ausgabe 1.1. Copyright. Warenzeichenhinweise A-Plan 12.0 Zeiterfassung 2.0 Ausgabe 1.1 Copyright Copyright 1996-2014 braintool software gmbh Kein Teil dieses Handbuches darf ohne ausdrückliche Genehmigung von braintool software gmbh auf mechanischem

Mehr

TCP/UDP. Transport Layer

TCP/UDP. Transport Layer TCP/UDP Transport Layer Lernziele 1. Wozu dient die Transportschicht? 2. Was passiert in der Transportschicht? 3. Was sind die wichtigsten Protkolle der Transportschicht? 4. Wofür wird TCP eingesetzt?

Mehr

Anleitung für zwei C++ - Openmp - Beispiele auf der NWZSuperdome

Anleitung für zwei C++ - Openmp - Beispiele auf der NWZSuperdome Anleitung für zwei C++ - Openmp - Beispiele auf der NWZSuperdome (Timo Heinrich, t_hein03@uni-muenster.de) Inhaltsverzeichnis: 0.Einleitung 1.Teil: Helloworldprogramm 1.1 Quellcode: Helloworld.cpp 1.2

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

Übung 4: Schreiben eines Shell-Skripts

Übung 4: Schreiben eines Shell-Skripts Aufgabenteil 1 Ziel der Übung Übung 4: Schreiben eines Shell-Skripts Anhand eines einfachen Linux-Skripts sollen die Grundlagen der Shell-Programmierung vermittelt werden. Das für die Bash-Shell zu erstellende

Mehr

Buzzword Bingo Game Documentation (Java based Game)

Buzzword Bingo Game Documentation (Java based Game) Buzzword Bingo Game Documentation (Java based Game) Meppe Patrick Djeufack Stella Beltran Daniel April 15, 2011 1 Inhaltsverzeichnis 1 Einleitung 3 2 Aufgabenstellung 3 3 Allgemeines zu Buzzword Bingo

Mehr

Wie fängt man an. Fortgeschrittene Kontakt Verwaltung

Wie fängt man an. Fortgeschrittene Kontakt Verwaltung Wie fängt man an Um alle Vorzüge der iphone TBird Anwendung zu nutzen, sollten nachfolgende Hinweise gelesen werden. Fortgeschrittene Kontakt Verwaltung Mit der TBird iphone Anwendung ist es möglich Kontakte

Mehr

Internetprotokolle: POP3. Peter Karsten Klasse: IT7a. Seite 1 von 6

Internetprotokolle: POP3. Peter Karsten Klasse: IT7a. Seite 1 von 6 Internetprotokolle: POP3 Peter Karsten Klasse: IT7a Seite 1 von 6 Alle Nachrichten, die auf elektronischem Weg über lokale oder auch globale Netze wie das Internet verschickt werden, bezeichnet man als

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

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

1 Überblick. A-Z SiteReader Benachrichtigung.doc Seite 1 von 9

1 Überblick. A-Z SiteReader Benachrichtigung.doc Seite 1 von 9 1 Überblick In A-Z SiteReader ist das Feature Benachrichtigung enthalten. Dieses Feature ermöglicht einer Installation, beim Auftreten von Ereignissen eine automatische Benachrichtigung für verschiedene

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

Mitglied der: KNX Association OPC Foundation BACnet Interest Group Europe. Dokumentversion: 1.0.2

Mitglied der: KNX Association OPC Foundation BACnet Interest Group Europe. Dokumentversion: 1.0.2 Mitglied der: KNX Association OPC Foundation BACnet Interest Group Europe Dokumentversion: 1.0.2 Inhaltsverzeichnis 1. System Überblick 4 2. Windows Firewall Konfiguration 5 2.1. Erlauben von DCOM Kommunikation

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

Performance und Bandbreitenmanagement Tests Version 10.01.2005. MuSeGa

Performance und Bandbreitenmanagement Tests Version 10.01.2005. MuSeGa Berner Fachhochschule Hochschule für Technik und Informatik HTI Performance und Bandbreitenmanagement Tests Version 10.01.2005 Diplomarbeit I00 (2004) MuSeGa Mobile User Secure Gateway Experte: Andreas

Mehr

Seminararbeit Ruby Uno Kartenspiel

Seminararbeit Ruby Uno Kartenspiel Seminararbeit Ruby Uno Kartenspiel Autor: Fabian Merki Fabian Merki 05.11.2006 1 von 10 Inhaltsverzeichnis Einleitung... 3 Die Idee... 4 Design und Implementierung in Ruby... 5 Testing... 7 Startbefehle...

Mehr

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

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

Mehr

Musterlösung Klausur SS 2004

Musterlösung Klausur SS 2004 Musterlösung Klausur SS 2004 Fachrichtung: Informatik Lehrveranstaltung: Verteilte Systeme Dozent: Prof. G. Bengel Tag: 15.6.04 Bearbeitungszeit: 90 Minuten Name:... Matr.Nr.:... Punkte:... Note:... Hilfsmittel:

Mehr

CompuLok Zentrale. Software Interface. Digitalzentrale für DCC und Motorola Format

CompuLok Zentrale. Software Interface. Digitalzentrale für DCC und Motorola Format CompuLok Zentrale Software Interface Digitalzentrale für DCC und Motorola Format Inhalt CompuLok Software Interface... 3 Das Software Interface... 3 Installation... 3 Treiber installieren.... 3 Hinweis

Mehr

Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein.

Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein. Pfade einstellen Stand: Dezember 2012 Diese Anleitung bezieht sich auf FixFoto, V 3.40. In älteren oder neueren Versionen könnte die Arbeitsweise anders sein. Diese Anleitung soll zeigen, wie man Pfad-Favoriten

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

Lösung Verteilte Systeme WS 2011/12 Teil 1

Lösung Verteilte Systeme WS 2011/12 Teil 1 Seite 1 von 5 Lösung Verteilte Systeme WS 2011/12 Teil 1 2.02.2012 1. Aufgabe (5) Sie fahren in Ihrem Privatfahrzeug auf einer Autobahn und hinter Ihnen fährt ein Polizeifahrzeug. 1.1 Nennen Sie ein Szenario,

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 WebSphere Application Server Teil 4 Leistungsverhalten el0100 copyright W. G. Spruth,

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Grundsätzliche Struktur und Entwurfsprinzipien des Gesamtsystems. Grundsätzliche Struktur und Entwurfsprinzipien der einzelnen Pakete

Grundsätzliche Struktur und Entwurfsprinzipien des Gesamtsystems. Grundsätzliche Struktur und Entwurfsprinzipien der einzelnen Pakete Allgemeines 2 Produktübersicht 2 Grundsätzliche Struktur und Entwurfsprinzipien des Gesamtsystems 3 Grundsätzliche Struktur und Entwurfsprinzipien der einzelnen Pakete Account-Verwaltung 5 Freund-Funktionen

Mehr

Grundlagen der Verwendung von make

Grundlagen der Verwendung von make Kurzskript zum Thema: Grundlagen der Verwendung von make Stefan Junghans Gregor Gilka 16. November 2012 1 Einleitung In diesem Teilskript sollen die Grundlagen der Verwendung des Programmes make und der

Mehr

Druckanpassung von Mahnungen

Druckanpassung von Mahnungen Druckanpassung von Mahnungen Nur wenn Sie die faktura in der Einzelversion nutzen, steht Ihnen für die Druckanpassung der Mahnungen auch der Formularassistent zur Verfügung. Dort können Sie die gewünschten

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

PowerBridge MSSQL Beta

PowerBridge MSSQL Beta SoftENGINE PowerBridge MSSQL Beta Dokumentation Thomas Jakob 17.04.2011 Inhalt Einrichtung der SQL Umgebung... 3 SQL-Server Installieren... 3 BüroWARE Installieren... 3 PowerBridge-SQL Modus einrichten...

Mehr

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI

Drei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 16: 3-Schichten-Architektur 1 Fachkonzept - GUI Universität Osnabrück Drei-Schichten-Architektur 3 - Objektorientierte Programmierung in Java Vorlesung 6: 3-Schichten-Architektur Fachkonzept - GUI SS 2005 Prof. Dr. F.M. Thiesing, FH Dortmund Ein großer

Mehr

TECHNISCHE PRODUKTINFORMATION CARUSO

TECHNISCHE PRODUKTINFORMATION CARUSO 1111 TECHNISCHE PRODUKTINFORMATION CARUSO TECHNISCHE PRODUKTINFORMATION Seite 0/7 Inhalt 1 Systemdefinition............2 2 Technische Details für den Betrieb von CARUSO......2 2.1 Webserver... 2 2.2 Java

Mehr

Scalera Mailplattform Dokumentation für den Anwender Installation und Konfiguration des Outlook Connectors

Scalera Mailplattform Dokumentation für den Anwender Installation und Konfiguration des Outlook Connectors Installation und Konfiguration des Outlook Connectors Vertraulichkeit Die vorliegende Dokumentation beinhaltet vertrauliche Informationen und darf nicht an etwelche Konkurrenten der EveryWare AG weitergereicht

Mehr

Gefahren aus dem Internet 6 Aktive Angriffe April 2010

Gefahren aus dem Internet 6 Aktive Angriffe April 2010 6 Aktive Angriffe Lernziele Sie können grob erklären, wie ein Angreifer in Ihren Computer eindringen kann. Sie können herausfinden, welche Ports auf Ihrem Computer offen sind. Sie wissen, warum der Einsatz

Mehr

Erste Schritte mit HG 2

Erste Schritte mit HG 2 Erste Schritte mit HG 2 Malte Ried FH-Gießen Version: 1.0 21. November 2003 Inhaltsverzeichnis 1 Einführung 2 2 Allgemeines 2 2.1 Koordinaten...................................... 2 2.2 Farben.........................................

Mehr

estos XMPP Proxy 5.1.30.33611

estos XMPP Proxy 5.1.30.33611 estos XMPP Proxy 5.1.30.33611 1 Willkommen zum estos XMPP Proxy... 4 1.1 WAN Einstellungen... 4 1.2 LAN Einstellungen... 5 1.3 Konfiguration des Zertifikats... 6 1.4 Diagnose... 6 1.5 Proxy Dienst... 7

Mehr

CORBA. Systemprogrammierung WS 2006-2007

CORBA. Systemprogrammierung WS 2006-2007 CORBA Systemprogrammierung WS 2006-2007 Teilnehmer: Bahareh Akherattalab Babak Akherattalab Inhaltsverzeichnis: Verteilte Systeme Vergleich zwischen lokale und verteilte Systeme Verteilte Anwendungen CORBA

Mehr

IP routing und traceroute

IP routing und traceroute IP routing und traceroute Seminar Internet-Protokolle Dezember 2002 Falko Klaaßen fklaasse@techfak.uni-bielefeld.de 1 Übersicht zum Vortrag Was ist ein internet? Was sind Router? IP routing Subnet Routing

Mehr

WinSCP Zugriff auf Daten des Uni-Netzwerkes

WinSCP Zugriff auf Daten des Uni-Netzwerkes WinSCP Zugriff auf Daten des Uni-Netzwerkes Robert Hillig 2013/03 1. Vorwort Das Universitätsnetzwerk ist von außen per SSH (Secure SHell) über login.tu-chemnitz.de auf Port 22 erreichbar. SSH ist ein

Mehr

Verfassen einer E-Mail mit Outlook-Express. 2

Verfassen einer E-Mail mit Outlook-Express. 2 [ ] Inhaltsverzeichnis Seite Einleitung 3 E-Mail-Programme 4 Outlook-Express einrichten 4 E-Mail abrufen 10 E-Mail verfassen und versenden 11 E-Mails beantworten 13 Verfassen einer E-Mail mit Outlook-Express.

Mehr

EasyDIS-base-44-v1.0.nrg GT1_v44_programs.iso (falls vorhanden) K+DCAN Interface von MY-OBD2.COM Shop

EasyDIS-base-44-v1.0.nrg GT1_v44_programs.iso (falls vorhanden) K+DCAN Interface von MY-OBD2.COM Shop EasyDIS-base-44-v1.0.nrg GT1_v44_programs.iso (falls vorhanden) K+DCAN Interface von MY-OBD2.COM Shop Grundinstallation EasyDIS-base-44-v1.0 Eine korrekte Installation von Vmware sollte wie rechts abgebildet

Mehr

Einführung in die Cross-Plattform Entwicklung Responsive Webdesign mit dem Intel XDK

Einführung in die Cross-Plattform Entwicklung Responsive Webdesign mit dem Intel XDK Einführung in die Cross-Plattform Entwicklung Responsive Webdesign mit dem Intel XDK Einführung Dieses Hands-on-Lab (HOL) macht den Leser mit dem Intel XDK und dem Responsive Webdesign vertraut. Es wird

Mehr

Dokumentation zum Projekt Mail-Adapter in SAP PI. 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696

Dokumentation zum Projekt Mail-Adapter in SAP PI. 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696 Dokumentation zum Projekt Mail-Adapter in SAP PI 17.01.2011 Sinkwitz, Sven 519707 Theel, Thomas 519696 Inhalt 1. Einleitung... 2 2. Vorgehen... 3 1. Datentyp für die Mail einrichten... 3 2. Message Typen

Mehr

Kurzanleitung. MEYTON Migrationstool. 1 Von 16

Kurzanleitung. MEYTON Migrationstool. 1 Von 16 Kurzanleitung MEYTON Migrationstool 1 Von 16 Inhaltsverzeichnis Sinn und Zweck des Migrationsprogramms...3 Die LIVE C D...3 START...3 Erste Schritte...4 Login...4 Einleitung...5 Die Bedienung...5 Das Hauptmenü...6

Mehr

Klausur Kommunikation I. Sommersemester 2003. Dipl.-Ing. T. Kloepfer

Klausur Kommunikation I. Sommersemester 2003. Dipl.-Ing. T. Kloepfer Kommunikation I 1 Klausur Kommunikation I Sommersemester 2003 Dipl.-Ing. T. Kloepfer Bearbeitungsinformationen Aufbau der Klausur Die Klausur ist wie folgt aufgebaut: Die Klausur ist in 18 Aufgaben unterteilt.

Mehr

Programmieren II. Timer. Vorlesung 11. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011. Timer. Sockets.

Programmieren II. Timer. Vorlesung 11. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester 2011. Timer. Sockets. Programmieren II Martin Schultheiß Hochschule Darmstadt Sommersemester 2011 1 / 26 Timer Sockets SMTP-Client 2 / 26 Timer Mit einem Timer können bestimmte Aktionen periodisch wiederkehrend durchgeführt

Mehr

Userhandbuch. Version B-1-0-2 M

Userhandbuch. Version B-1-0-2 M Userhandbuch Version B-1-0-2 M Inhaltsverzeichnis 1.0 Was bietet mir SERVRACK?... 3 1.1 Anmeldung... 3 1.2 Passwort vergessen?... 3 1.3 Einstellungen werden in Realtime übernommen... 4 2.0 Die SERVRACK

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 2 05.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: Das

Mehr

Session Storage im Zend Server Cluster Manager

Session Storage im Zend Server Cluster Manager Session Storage im Zend Server Cluster Manager Jan Burkl System Engineer, Zend Technologies Agenda Einführung in Zend Server und ZSCM Überblick über PHP Sessions Zend Session Clustering Session Hochverfügbarkeit

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

ekey TOCAhome pc Software Inhaltsverzeichnis 1. ZWECK DIESES DOKUMENTS... 3 2. VERWENDUNGSHINWEIS ZUR SOFTWARE... 3

ekey TOCAhome pc Software Inhaltsverzeichnis 1. ZWECK DIESES DOKUMENTS... 3 2. VERWENDUNGSHINWEIS ZUR SOFTWARE... 3 Inhaltsverzeichnis Software ekey TOCAhome pc 1. ZWECK DIESES DOKUMENTS... 3 2. VERWENDUNGSHINWEIS ZUR SOFTWARE... 3 3. MONTAGE, INSTALLATION UND ERSTINBETRIEBNAHME... 3 4. VERSION... 3 Version 1.5 5. BENUTZEROBERFLÄCHE...

Mehr

Überwacht laufend verschiedene Alarmwege

Überwacht laufend verschiedene Alarmwege Testalarm-Generator Überwacht laufend verschiedene Alarmwege Status: Freigegeben Dieses Dokument ist geistiges Eigentum der Accellence Technologies GmbH und darf nur mit unserer ausdrücklichen Zustimmung

Mehr

Handbuch zu AS Connect für Outlook

Handbuch zu AS Connect für Outlook Handbuch zu AS Connect für Outlook AS Connect für Outlook ist die schnelle, einfache Kommunikation zwischen Microsoft Outlook und der AS Datenbank LEISTUNG am BAU. AS Connect für Outlook Stand: 02.04.2013

Mehr

syntax.tex Eine Übersicht

syntax.tex Eine Übersicht syntax.tex Eine Übersicht Bernd Worsch 7. Juli 1997 Inhaltsverzeichnis 1 Einleitung 1 2 Bevor es funktioniert... 1 3 Grundelemente von syntax.tex 1 4 Strukturelemente von syntax.tex 3 5 Setzen von Syntaxdiagrammen

Mehr

Das Handbuch zu Desktop Sharing. Brad Hards Übersetzung: Frank Schütte

Das Handbuch zu Desktop Sharing. Brad Hards Übersetzung: Frank Schütte Brad Hards Übersetzung: Frank Schütte 2 Inhaltsverzeichnis 1 Einleitung 5 2 Das Remote Frame Buffer -Protokoll 6 3 Verwendung von Desktop Sharing 7 3.1 Verwaltung von Desktop Sharing-Einladungen.....................

Mehr

Von der UML nach C++

Von der UML nach C++ 22 Von der UML nach C++ Dieses Kapitel behandelt die folgenden Themen: Vererbung Interfaces Assoziationen Multiplizität Aggregation Komposition Die Unified Modeling Language (UML) ist eine weit verbreitete

Mehr

C L O N E Z I L L A - A N L E I T U N G

C L O N E Z I L L A - A N L E I T U N G C L O N E Z I L L A - A N L E I T U N G ERSTELLEN UND WIEDERHERSTELLEN VON DATENTRÄGERABBILDERN Clonezilla ist eine kostenlose Software, mit der Abbilder von Partitionen und Datenträgern erstellt und wiederhergestellt

Mehr

Zeiterfassung-Konnektor Handbuch

Zeiterfassung-Konnektor Handbuch Zeiterfassung-Konnektor Handbuch Inhalt In diesem Handbuch werden Sie den Konnektor kennen sowie verstehen lernen. Es wird beschrieben wie Sie den Konnektor einstellen und wie das System funktioniert,

Mehr

LaMa-Creation Portscanner

LaMa-Creation Portscanner LaMa-Creation Portscanner Seite 1 von 12 Seite 2 von 12 Inhaltsverzeichnis Einleitung...4 Systemanforderung...5 Hardware:...5 Software:...5 Unterstützte Clientbetriebssysteme:... 5 Unterstützte Serverbetriebssysteme:...5

Mehr

EasyWk DAS Schwimmwettkampfprogramm

EasyWk DAS Schwimmwettkampfprogramm EasyWk DAS Schwimmwettkampfprogramm Arbeiten mit OMEGA ARES 21 EasyWk - DAS Schwimmwettkampfprogramm 1 Einleitung Diese Präsentation dient zur Darstellung der Zusammenarbeit zwischen EasyWk und der Zeitmessanlage

Mehr

webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25

webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25 webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25 E-Mail: sales@softvision.de Web: www.softvision.de Inhaltsverzeichnis

Mehr

Dieses Dokument beschreibt, wie mit FreeFileSync eine einfache Daten-Synchronisation auf gemanagten Geräten eingerichtet wird.

Dieses Dokument beschreibt, wie mit FreeFileSync eine einfache Daten-Synchronisation auf gemanagten Geräten eingerichtet wird. IT Services Support Werftestrasse 4, Postfach 2969, CH-6002 Luzern T +41 41 228 42 42, F +41 41 228 42 43 www.hslu.ch Luzern, 5. August 2015 Seite 1/8 Kurzbeschrieb: Dieses Dokument beschreibt, wie mit

Mehr

Outlook Web App 2010. Kurzanleitung. interner OWA-Zugang

Outlook Web App 2010. Kurzanleitung. interner OWA-Zugang interner OWA-Zugang Neu-Isenburg,08.06.2012 Seite 2 von 15 Inhalt 1 Einleitung 3 2 Anmelden bei Outlook Web App 2010 3 3 Benutzeroberfläche 4 3.1 Hilfreiche Tipps 4 4 OWA-Funktionen 6 4.1 neue E-Mail 6

Mehr

1 Einleitung. 1.1 Caching von Webanwendungen. 1.1.1 Clientseites Caching

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

Mehr

Die automatische Clientkonfiguration durch den DHCP-Server geschieht folgendermaßen:

Die automatische Clientkonfiguration durch den DHCP-Server geschieht folgendermaßen: Default Gateway: 172.16.22.254 Ein häufiger Fehler in den Konfigurationen liegt darin, dass der Netzanteil des Default Gateway nicht mit dem Netzanteil der IP-Adresse des Rechners übereinstimmt. 4.4 DHCP-Service

Mehr

CVS-Einführung. Sebastian Mancke, mancke@mancke-software.de

CVS-Einführung. Sebastian Mancke, mancke@mancke-software.de CVS-Einführung Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation und Anforderung Sobald ein Softwaresystem anwächst, ergeben sich Probleme im Umgang mit dem Quell Code. CVS (Concurrent

Mehr

DeskSave 8.2. - Aufruf mit Kommandozeilenparametern möglich - Automatisches Restaurieren bei Auflösungswechsel, Programmstart oder Rückkehr aus

DeskSave 8.2. - Aufruf mit Kommandozeilenparametern möglich - Automatisches Restaurieren bei Auflösungswechsel, Programmstart oder Rückkehr aus DeskSave 8.2 (c) 1998-2008 Thorsten Blauhut DeskSave ist ein anwenderfreundliches Tool, mit dem man das Icon-Layout des Desktops sichern und bei Bedarf wieder restaurieren kann. Eigenschaften: - Sicherung

Mehr

Software Bedienungsanleitung. ENiQ Access Management: Online-Inbetriebnahme

Software Bedienungsanleitung. ENiQ Access Management: Online-Inbetriebnahme Software Bedienungsanleitung ENiQ Access Management: Online-Inbetriebnahme V1.0 April 2015 Inhaltsverzeichnis 1 Voraussetzungen... 3 2 Allgemeine Hinweise... 3 3 Generelle Einstellungen... 3 4 Dienste

Mehr

DCOM Einstellungen zur rechnerübergreifenden Kommunikation zwischen OPC Server und OPC Client

DCOM Einstellungen zur rechnerübergreifenden Kommunikation zwischen OPC Server und OPC Client DCOM Einstellungen zur rechnerübergreifenden Kommunikation zwischen OPC Server und OPC Client 1. Einleitung Für die rechnerübergreifende Kommunikation zwischen OPC Client und OPC Server wird bei OPC DA

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

Antwortzeitverhalten von Online Storage Services im Vergleich

Antwortzeitverhalten von Online Storage Services im Vergleich EPOD Encrypted Private Online Disc Antwortzeitverhalten von Online Storage Services im Vergleich Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee

Mehr

Dokumentation RabattManagerLX Pro. Version 1.0.901.1

Dokumentation RabattManagerLX Pro. Version 1.0.901.1 Dokumentation RabattManagerLX Pro Version 1.0.901.1 Dokumentation RabattManagerLX Pro Version 1.0.901.1 Was ist RabattManagerLX Pro? RabattManagerLX Pro ist ein Programm um individuelle Warengruppen-Rabatte

Mehr

Verwendung der Support Webseite

Verwendung der Support Webseite amasol Dokumentation Verwendung der Support Webseite Autor: Michael Bauer, amasol AG Datum: 19.03.2015 Version: 3.2 amasol AG Campus Neue Balan Claudius-Keller-Straße 3 B 81669 München Telefon: +49 (0)89

Mehr

OPC-Server VM OPC. Anleitung. Installation, Konfiguration, Verwendung. Version 1.01

OPC-Server VM OPC. Anleitung. Installation, Konfiguration, Verwendung. Version 1.01 Installation, Konfiguration, Verwendung Version 1.01 Seite 2 von 20 OPC-Server VM OPC Revision Version Erstellt am Versionsnummer Bemerkung 1.00 26.07.2013 Erstellung 1.01 05.11.2013 2.14 - Reiter der

Mehr

TimePunch. TimePunch Command. Benutzerhandbuch 14.08.2013. TimePunch KG, Wormser Str. 37, 68642 Bürstadt

TimePunch. TimePunch Command. Benutzerhandbuch 14.08.2013. TimePunch KG, Wormser Str. 37, 68642 Bürstadt TimePunch TimePunch Command Benutzerhandbuch 14.08.2013 TimePunch KG, Wormser Str. 37, 68642 Bürstadt Dokumenten Information: Dokumenten-Name Benutzerhandbuch, TimePunch Command Revisions-Nummer 37 Gespeichert

Mehr

Anleitung E-Mail Konfiguration sowie Übersicht Mailprogramm roundcube Inhaltsverzeichnis

Anleitung E-Mail Konfiguration sowie Übersicht Mailprogramm roundcube Inhaltsverzeichnis Anleitung E-Mail Konfiguration sowie Übersicht Mailprogramm roundcube Inhaltsverzeichnis Einführung... 2-3 Servereinstellungen für die Einrichtung auf dem E-Mail Client... 4 E-Mail Adresse / Postfach einrichten...

Mehr

Fresh Minder 3-Server

Fresh Minder 3-Server Fresh Minder 3-Server Installation und Betrieb Fresh Minder-Vertrieb Rieslingweg 25 D - 74354 Besigheim support@freshminder.de www.freshminder.de ÜBERSICHT Die Standardversion (Einzelplatzversion) von

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

Matthias Hofherr. WLAN-Sicherheit. Professionelle Absicherung von 802.11-Netzen. Heise

Matthias Hofherr. WLAN-Sicherheit. Professionelle Absicherung von 802.11-Netzen. Heise Matthias Hofherr WLAN-Sicherheit Professionelle Absicherung von 802.11-Netzen Heise 5 Bevor man einen genaueren Blick auf die Sicherheitsmechanismen von Netzwerken auf Basis des Standards 802.11 wirft,

Mehr

GeoShop Netzwerkhandbuch

GeoShop Netzwerkhandbuch Technoparkstrasse 1 8005 Zürich Tel.: 044 / 350 10 10 Fax.: 044 / 350 10 19 GeoShop Netzwerkhandbuch Zusammenfassung Diese Dokumentation beschreibt die Einbindung des GeoShop in bestehende Netzwerkumgebungen.

Mehr

Wichtige Grundsätze für die Nutzung der E-Mail-Schnittstellen

Wichtige Grundsätze für die Nutzung der E-Mail-Schnittstellen Einleitung Diese Dokumentation soll Ihnen bei der Nutzung unseres Produktes zur Seite stehen. Leider können wir hiermit sicherlich nicht alle Fragen und Fallstricke aus der Welt schaffen, daher scheuen

Mehr

Anbindung an Wer-hat-Fotos.net

Anbindung an Wer-hat-Fotos.net Anbindung an Wer-hat-Fotos.net Stand: 7. Juni 2012 2012 Virthos Systems GmbH www.pixtacy.de Anbindung an Wer-hat-Fotos.net Einleitung Einleitung Dieses Dokument beschreibt, wie Sie Ihren Pixtacy-Shop an

Mehr

1. Interface. Wireshark (Ehtereal)

1. Interface. Wireshark (Ehtereal) Wireshark (Ehtereal) Das Programm Wireshark Network Protocol Analyzer dient dazu, wie der Name schon sagt, ersichtlich zu machen, welche Datenpakete die Netzwerkkarte empfängt bzw. sendet. In Form von

Mehr

5. Threads, Serverprozesse und Benachrichtigungen

5. Threads, Serverprozesse und Benachrichtigungen 5. Threads, Serverprozesse und Benachrichtigungen Threads allgemein Threads in Android: Handler und Messages Services: Local, Remote, Binding Benachrichtigungen Entwicklung mobiler Anwendungen Europäische

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

Hylafax mit CAPI und Kernel 2.6 auf Debian Sarge

Hylafax mit CAPI und Kernel 2.6 auf Debian Sarge Hylafax mit CAPI und Kernel 2.6 auf Debian Lukas Mensinck First public release Version 1.0.0 Revision History Revision 1.0.0 2007.04.11 LukasMensinck Mensinck Consulting First public release of HowTo Type:

Mehr

PRÜFUNG. Grundlagen der Softwaretechnik

PRÜFUNG. Grundlagen der Softwaretechnik Universität Stuttgart Institut für Automatisierungs- und Softwaretechnik Prof. Dr.-Ing. Dr. h. c. P. Göhner PRÜFUNG Grundlagen der Softwaretechnik Musterlösung Name: Matrikelnummer: Note: Prüfungstag:

Mehr

Leitfaden zur Inbetriebnahme von BitByters.Backup

Leitfaden zur Inbetriebnahme von BitByters.Backup Leitfaden zur Inbetriebnahme von BitByters.Backup Der BitByters.Backup - DASIService ist ein Tool mit dem Sie Ihre Datensicherung organisieren können. Es ist nicht nur ein reines Online- Sicherungstool,

Mehr

SmarTeam MS Outlook Integration Version 3.1 Beschreibung des Funktionsumfangs

SmarTeam MS Outlook Integration Version 3.1 Beschreibung des Funktionsumfangs SmarTeam MS Outlook Integration Version 3.1 Beschreibung des Funktionsumfangs Der Aufbau der MS Outlook Integration orientiert sich stark an den SmarTeam Integrationen zu den MS Office Produkten, wobei

Mehr

Benutzerhandbuch für FaxClient für HylaFAX

Benutzerhandbuch für FaxClient für HylaFAX Benutzerhandbuch für FaxClient für HylaFAX Vielen Dank, daß Sie entschlossen haben, dieses kleine Handbuch zu lesen. Es wird Sie bei der Installation und Benutzung des FaxClients für HylaFAX unterstützen.

Mehr

Hinweise zur Datenübertragung mit. Bluetooth is a registered trademark of Bluetooth SIG, Inc.

Hinweise zur Datenübertragung mit. Bluetooth is a registered trademark of Bluetooth SIG, Inc. Hinweise zur Datenübertragung mit Bluetooth is a registered trademark of Bluetooth SIG, Inc. Information Diese Anleitung hilft Ihnen, das smartlab Bluetooth Modul in Ihr smartlab genie Blutzuckermessgerät

Mehr

Datenzugriff über VPN

Datenzugriff über VPN Leitfaden Datenzugriff über VPN Einführung Ab der Version 3.0 besteht bei einer Installation von SPG-Verein die Möglichkeit, den Programmund Datenbereich getrennt abzulegen. Dadurch kann u. a. der Datenbereich

Mehr

xcall Technische Dokumentation

xcall Technische Dokumentation xcall Technische Dokumentation zu Version 4.x Autor: Martin Roth Erstelldatum: 14.08.2008 Version: 1.4 Seite 2 / 7 Zweck...3 Schnittstellenarchitektur...3 Outbound-Schnittstellen...3 Outlook...3 TwixTel...3

Mehr

3. Konzepte der objektorientierten Programmierung

3. Konzepte der objektorientierten Programmierung 3. Konzepte der objektorientierten Programmierung 3.1 Basiskonzepte 3.2 Generalisierung / Spezialisierung 3.3 Aggregation 3.4 Assoziation 3.5 Nachrichten 3.6 Polymorphismus 3. Konzepte der Objektorientierung

Mehr

17.2 MS-Access Projekte

17.2 MS-Access Projekte 964 Von MS-Access 2000 zum SQL-Server 17.2 MS-Access Projekte MS-Access-Projekte, die die Dateiendung adp besitzen, werden als Front-End-Anwendung verwendet. Für die Back-End-Seite gibt es mehrere Möglichkeiten.

Mehr

Die angegebenen Versionsnummern beziehen sich jeweils auf die Datei DbbLxGui.exe.

Die angegebenen Versionsnummern beziehen sich jeweils auf die Datei DbbLxGui.exe. Change Log: DBB/LX Die angegebenen Versionsnummern beziehen sich jeweils auf die Datei DbbLxGui.exe. 1. Version 4.5.0.1243 1. AF: Das Tool Datenbank neu aufbauen wurde ergänzt. Damit können Datenbanken,

Mehr

Gateway für netzwerkfähige Komponenten ewon kann als Gateway für alle netzwerkfähigen Komponenten dienen

Gateway für netzwerkfähige Komponenten ewon kann als Gateway für alle netzwerkfähigen Komponenten dienen ewon - Technical Note Nr. 005 Version 1.3 Gateway für netzwerkfähige Komponenten ewon kann als Gateway für alle netzwerkfähigen Komponenten dienen 08.08.2006/SI Übersicht: 1. Thema 2. Benötigte Komponenten

Mehr