Ein adaptives Brokernetz für Publish/Subscribe Systeme

Größe: px
Ab Seite anzeigen:

Download "Ein adaptives Brokernetz für Publish/Subscribe Systeme"

Transkript

1 Diplomarbeit Ein adaptives Brokernetz für Publish/Subscribe Systeme vorgelegt von Helge Parzyjegla Berlin, den 26. Oktober 2005 Gutachter Prof. Dr. Hans-Ulrich Heiß Fachgebiet Kommunikations- und Betriebssysteme Fakultät IV Elektrotechnik und Informatik Technische Universität Berlin Dr.-Ing. Gero Mühl Fachgebiet Kommunikations- und Betriebssysteme Fakultät IV Elektrotechnik und Informatik Technische Universität Berlin Betreuer Dipl. Inf. Michael A. Jaeger Fachgebiet Kommunikations- und Betriebssysteme Fakultät IV Elektrotechnik und Informatik Technische Universität Berlin

2 ii

3 Inhaltsverzeichnis 1 Einleitung Motivation Ziele Wissenschaftlicher Beitrag Aufbau der Arbeit Publish/Subscribe Konzepte Ereignisse, Notifikationen und Nachrichten Publisher, Subscriber und Broker Filter, Subskriptionen und Ankündigungen Filtermodelle Entkopplung Architekturen Routing-Algorithmen Multicast und Peer-to-Peer Systeme Siena Gryphon Jedi Rebeca Hermes Verwandte Arbeiten Selbstorganisation Selbststabilisierung Adaptivität und Selbstoptimierung Rekonfiguration Design eines adaptiven Brokernetzes Kostenmodell Modell eines Publish/Subscribe Systems Kostenfaktoren Minimale und maximale Spannbäume Optimale Publish/Subscribe Bäume NP-Vollständigkeit Konsequenzen Bestimmung gemeinsamer Brokerinteressen Assoziativität Caches Bloom-Filter iii

4 iv INHALTSVERZEICHNIS Integration der Caches Strategie des Algorithmus Grundlagen der Heuristik Bewertungsphase Abstimmungsphase Integration der Heuristik Rekonfiguration Strawman Approach Grundlagen der Rekonfiguration Invarianten Integration des Rekonfigurationsalgorithmus Algorithmusdetails Implementierung Übersicht Broker Warteschlangen Routing-Tabelle Cache Lokale Umgebung Simulationsumgebung Ereignisse Brokertopologien Applikationen Szenarien Simulation und Auswertung Simulationsaufbau Netzwerktopologie Parameter Beispiel Adaptionsgüte Lastverteilung Lokalität Kostenverhältnis Aufwand Heuristik Rekonfiguration Nachrichtenordnungen Zusammenfassung Bewertung Ausblick Literaturverzeichnis 99 A CD-ROM 111

5 Abbildungsverzeichnis 2.1 Ereignisbasierte Interaktion Illustration der Schnittstelle eines Publish/Subscribe Systems Overlay-Netzwerk basierend auf einem physischen Netz Verschiedene Brokertopologien Modell eines Brokers Brokernetz basierend auf einem minimalen Spannbaum Brokernetz basierend auf einem maximalen Spannbaum Assoziativität und Ereignisverteilung Caches und Notifikationen Bloom-Filter mit drei Hashfunktionen Modell eines Brokers mit Cache Kosten verschiedener Verbindungsvarianten Abstimmung über einen Rekonfigurationswunsch Routing einer Broadcast-Nachricht Routing einer Request-Nachricht Illustration des Strawman Approachs Grundlagen des Rekonfigurationsalgorithmus Vermeiden von Notifikationsduplikaten Verzögern von Subskriptionen und Kündigungen Garantie einer FIFO- und einer kausalen Ordnung der Notifikationen Modell eines Brokers mit Cache und zusätzlichen Warteschlangen Sperren des Rekonfigurationspfades Beginn des eigentlichen Rekonfigurationsprozesses Routing der Separator-Nachrichten Durch Separator-Nachricht initiierte Aktionen Freigabe des gesperrten Rekonfigurationspfades Garantie der Nachrichtenvollständigkeit und -ordnung UML-Klassendiagramm eines Brokers UML-Klassendiagramm der Simulationsumgebung Beispiel einer Topologiedatei Beispiel einer Konfigurationsdatei Parameter der Simulationsexperimente Beispiel eines Simulationslaufs Relative Verbesserung bei ungleichmäßiger Lastverteilung Relative Verbesserung bei steigender Lokalität Relative Verbesserung bei variierten Kostenverhältnissen Relative Performanz und Kostenanteile Rekonfigurationskosten bei steigender Pfadlänge Mittlere Verzögerungszeit bei steigender Pfadlänge v

6 vi ABBILDUNGSVERZEICHNIS

7 Kapitel 1 Einleitung In den letzten Jahrzehnten haben sich Computer deutlich verändert aus riesigen Maschinen wurden kleine, tragbare Geräte, die trotzdem ein Vielfaches der Rechenleistung ihrer einstigen Vorfahren besitzen. Gleichzeitig nahm ihre Komplexität beständig zu, wobei auch heutzutage ein Ende dieser Entwicklung nicht abzusehen ist. Die Komplexität entsteht durch Abhängigkeiten einzelner Komponenten voneinander, die es erschweren das Verhalten des Gesamtsystems zu erfassen. In der Folge ist es schwierig zu bedienen und aufwändig zu warten. Daher ist die Beherrschung der Komplexität eine aktuelle Herausforderung und zugleich auch Voraussetzung für die weitere Entwicklung. In diesem Zusammenhang ist es eine faszinierende und vielversprechende Idee, Computersystemen die Fähigkeit zu geben, sich und ihre Komponenten selbständig verwalten zu können. Hierbei betrachtet IBMs Autonomic Computing Initiative [IBM01a] sogar den menschlichen Körper als inspirierendes Vorbild. Dessen autonomes Nervensystem reguliert automatisch Körperfunktionen wie Atmung und Herzschlag, ohne dass dem Menschen die inhärente Komplexität dieser Vorgänge bewusst ist. Analog sollen zukünftige Computersysteme sich autonom kontrollieren, so dass manuelle Eingriffe nur in Ausnahmefällen erforderlich sind. Natürlich besteht noch ein weiter Weg bis zum angestrebten Ziel des Autonomic Computings [GC03]. Mit der vorliegenden Arbeit unternehmen wir einen Schritt in diese Richtung. Im Bereich der Publish/Subscribe Systeme beschreiben wir die Entwicklung eines adaptiven Brokernetzes, dass sich selbständig rekonfiguriert und an die Topologie des Kommunikationsnetzes anpasst, jedoch gleichzeitig auch die Interessen der Anwendungen beachtet. 1.1 Motivation Mit abnehmender physischer Größe gelingt es Computern immer mehr Bereiche des täglichen Lebens zu durchdringen. Bereits heutzutage ist der Mensch von unzähligen Mikroprozessoren umgeben. Sie befinden sich beispielsweise in Fahrzeugen, Haushaltsgeräten oder Spielwaren. Einige Geräte, wie Persönliche Digitale Assistenten (PDAs) oder Mobiltelefone, vereinen Beweglichkeit, Rechenleistung und die Möglichkeit zur Kommunikation. Damit entstehen hochgradig vernetzte, mobile und intelligente Systeme, die zunehmend Mark Weisers Vision des Ubiquitous Computing[Wei91] entsprechen, in der eine mit computerisierten Artefakten angereicherte Umgebung den Menschen bei seinen Tätigkeiten in 1

8 2 1. EINLEITUNG unaufdringlicher Weise assistiert. Ein ähnliches Bild zeichnet auch der von IBM geprägte Begriff des Pervasive Computings[HMNS03] allerdings mit der Intention der breiten Anwendung bereits verfügbarer Technologien in Mobile- und Electronic-Commerce Szenarien. Ubiquitous und Pervasive Computing implizieren beide eine dynamische Welt mit einer gewaltigen Anzahl an kommunizierenden Geräten und Anwendungen, die Kommunikationsnetze und -infrastrukturen vor neue Herausforderungen stellt. Dabei ist absehbar, dass klassische Kommunikationsformen, insbesondere Client/Server Modelle, an ihre Grenzen stoßen. Sie sind zu unflexibel und scheitern bereits an der klassischen Rollenaufteilung in Client oder Server. Publish/Subscribe Systeme können hier ihr volles Potential ausschöpfen. Als ereignisbasierte Systeme ermöglichen sie eine Konzentration auf Kommunikationsinhalte, ohne Nachrichten direkt adressieren zu müssen. Inhaltsbasierte Filter erlauben den Anwendungen zudem die exakte Beschreibung und Auswahl der Ereignisse, für die sie sich interessieren. Beides zusammen gestattet eine lose und flexible Kopplung einzelner Komponenten, wie sie zukünftige dynamische Umgebungen benötigen. Doch auch schon heute helfen Publish/Subscribe Systeme die stetig wachsende Informations- und Datenflut einzudämmen, da eine Kommmunikation nur erfolgt, wenn einerseits eine neue Nachricht vorliegt und andererseits an ihr tatsächlich ein Interesse besteht. Derzeit gibt es eine Vielzahl von Implementierungen verteilter Publish/Subscribe Systeme, die auf einem Brokernetz basieren und einen Notifikationsdienst bilden. Allerdings besitzt ihr Brokernetz meist statische Strukturen, wodurch es sich als starr und unflexibel erweist. Sowohl die wachsende Größe des Netzes, beispielsweise in einem globalen Internet- Szenario, als auch die hohe Dynamik ubiquitärer Umgebungen werden jedoch letztlich eine Anpassung erfordern. Hierzu bieten gegenwärtige Systeme keine oder nur begrenzte manuelle Rekonfigurationsmöglichkeiten, die in beiden Fällen vom Aufwand nicht mehr zu vertreten sind. Folglich benötigen wir autonome, eigenständige Publish/Subscribe Systeme, die in der Lage sind sich selbst und insbesondere ihr Brokernetz, an die Topologie des Kommunikationsnetzes sowie den Anwendungsinteressen in dynamischen Umgebungen anzupassen. 1.2 Ziele Die Autonomic Computing Initiative definiert vier fundamentale Eigenschaften autonomer Computersysteme [GC03]. Zunächst besitzen sie die Fähigkeit sich selbst zu konfigurieren (engl. self-configuring). Für Einsatzzweck und -umgebung finden sie jeweils passende und sinnvolle Einstellungen. Dann sind sie in der Lage sich selbst zu heilen (engl. self-healing), indem sie auftretende Fehler eigenständig erkennen, diagnostizieren und schließlich beheben. Ferner sind autonome Systeme ständig bestrebt sich selbst zu optimieren (engl. self-optimising). Sie passen die Aufteilung ihrer Ressourcen kontinuierlich an, um stets eine optimale Funktionalität zu gewährleisten. Zuletzt wissen sie auch ihre Daten und Dienste zu schützen (engl. self-protecting). Unberechtigte Zugriffe oder Angriffe werden automatisch erkannt und verhindert. Die Betrachtung aller vier Eigenschaften würde im Kontext von Publish/Subscribe Systemen den Rahmen dieser Arbeit sprengen. Wir beschränken uns daher auf den Aspekt der Selbstoptimierung mit dem Ziel, die Performance eines Publish/Subscribe Systems durch Adaption seines Brokernetzes zu steigern. Dies umfasst folgende Punkte:

9 1.3. WISSENSCHAFTLICHER BEITRAG 3 Primäres Vorhaben ist die Entwicklung eines adaptiven, verteilten Algorithmus, der sich an die Topologie des Kommunikationsnetzes anpasst, dabei jedoch auch die Nachrichteninteressen der Anwendungen berücksichtigt. Im Ergebnis soll sowohl die Leistung des Routing-Verfahrens erhöht, als auch die Netzlast reduziert werden. Der Algorithmus soll möglichst universell einsetzbar sein. Hierfür müssen weitreichende und einschränkende Annahmen, beispielsweise über Nachrichtenhäufigkeiten und -verteilungen, vermieden werden. Die Rekonfiguration des Brokernetzes soll für Anwendungen kaum wahrzunehmen sein. Daher darf sie nur minimale Auswirkungen auf die Dienstgüte des Publish/ Subscribe Systems haben. 1.3 Wissenschaftlicher Beitrag Schwerpunkt dieser Arbeit ist die Entwicklung eines adaptiven Brokernetzes für Publish/ Subscribe Systeme. Die folgenden Punkte markieren wichtige Schritte im Entwicklungsprozess und bilden essentielle Bestandteile der Arbeit: Das Kostenmodell ist die Grundlage, auf der Rekonfigurationsentscheidungen getroffen werden. Mit seiner Hilfe führen wir den Nachweis, dass die Optimierung des Brokernetzes NP vollständig ist. Wir stellen ein Verfahren zur Bestimmung des gemeinsamen Nachrichteninteresses verschiedener Broker vor. Da das Verfahren auf Caches und Bloom-Filtern beruht, werden keine Annahmen über Nachrichten- bzw. Ereignisverteilungen benötigt. Kernstück des entwickelten Algorithmus ist eine Heuristik, die Broker mit gleichen Interessen möglichst direkt miteinander verbindet, sofern der Aufwand für das genutzte Kommunikationsnetz ein akzeptables Maß nicht übersteigt. Für die notwendige Rekonfiguration des Brokernetzes präsentieren wir eine Möglichkeit, die ohne Nachrichtenverlust auskommt und zudem Aufwand und Auswirkungen lokal begrenzt. Durch Queueing kann zusätzlich eine FIFO- bzw. kausale Ordung der Nachrichten gewährleistet werden. Durch Implementierung des Algorithmus und Simulation verschiedener Szenarien analysieren wir seine Charakteristika. Ebenfalls erfolgt ein Vergleich mit anderen Ansätzen und Verfahren. 1.4 Aufbau der Arbeit Im folgenden Kapitel 2 erläutern wir die Grundlagen des Publish/Subscribe Modells, wobei sowohl dessen Konzepte erörtert, als auch aktuelle Systeme vorgestellt werden. Ferner geben wir einen Überblick über verwandte Arbeiten, die vor allem Aspekte autonomer Systeme beinhalten. Kapitel 3 beschreibt den Entwurf eines adaptiven Brokernetzes für Publish/Subscribe Systeme. Zunächst stellen wir ein Kostenmodell und ein Verfahren zum Bestimmen gemeinsamer Brokerinteressen vor. Darauf aufbauend entwickeln wir eine Adaptionsheuristik sowie einen Rekonfigurationsalgorithmus.

10 4 1. EINLEITUNG Anschließend diskutiert Kapitel 4 sowohl die Implementierung der entwickelten Algorithmen und Verfahren, als auch den Aufbau einer flexiblen Simulationsumgebung zu ihrer Auswertung. Wir besprechen die Details der wichtigsten Klassen und erläutern die unter ihnen bestehenden Beziehungen und Abhängigkeiten. Kapitel 5 beschäftigt sich mit der Simulation und Evaluierung der Heuristik und des Rekonfigurationsalgorithmus. In verschiedenen Szenarien untersuchen wir sowohl die erreichte Adaptionsgüte, als auch den verursachten Aufwand und vergleichen die Ergebnisse mit denen anderer Verfahren und Ansätze. Abschließend fasst Kapitel 6 die geleistete Arbeit zusammen und bewertet die gewonnenen Ergebnisse. Ferner wird ein Ausblick auf weiterführende Thematiken und Aspekte gegeben.

11 Kapitel 2 Publish/Subscribe Dieses Kapitel widmen wir dem Publish/Subscribe Paradigma. Wir erläutern seine Grundlagen, die das Fundament dieser Arbeit bilden und auf denen nachfolgende Kapitel aufbauen. Zunächst werden maßgebliche Konzepte vorgestellt und dann deren Umsetzung in aktuellen Publish/Subscribe Systemen betrachtet. Abschließend geben wir eine kurze Zusammenfassung aktueller Forschung auf diesem Gebiet. Insbesondere interessieren uns Veröffentlichungen, die bewusst Aspekte autonomer Systeme thematisieren. 2.1 Konzepte Publish/Subscribe Systeme ermöglichen eine flexible ereignisbasierte Kommunikation. Ihre Flexibilität liegt in den genutzten Konzepten begründet, die wir im Folgenden erläutern. Wir beginnen unsere Betrachtung aus Sicht der Anwendungen und untersuchen, warum das Publish/Subscribe Modell insbesondere für zukünftige, dynamische Szenarien wie das Ubiquitous- oder Pervasive Computing geeignet ist. Anschließend interessieren wir uns mehr für technische Details der Systeme und diskutieren Varianten der Implementierung Ereignisse, Notifikationen und Nachrichten In ereignisbasierten Systemen interagieren Komponenten, indem sie Notifikationen austauschen und sich gegenseitig über aufgetretene Ereignisse informieren [CNRW98]. Ein Ereignis ist eine beobachtbare Zustandsänderung, die sowohl in der realen, physischen Welt, als auch im Inneren des Computers liegen kann. Beispielsweise kann ein physisches Ereignis durch einen Sensor registriert werden, was zu einer Änderung seines Messwertes führt. Aber auch das Ergebnis interner Rechenoperationen ist ein Ereignis, das den Abschluß der Berechnung markiert. Ereignisse können ebenfalls in Größe und Umfang variieren. Sowohl ein einfacher Hardwareinterrupt, als auch die komplexe Auftragsannahme in einer Electronic-Commerce Anwendung stellen in diesem Sinne Ereignisse dar. Möchte eine Komponente eine andere über ein Ereignis informieren, so erstellt sie hierzu eine Notifikation. Eine Notifikation enthält die notwendigen Daten, um das Ereignis und eventuell die Umstände seines Auftretens zu beschreiben [Zei04]. Gleichzeitig repräsentiert sie das Ereignis in der Form, in der es von anderen Komponenten verarbeitet werden kann. Gebräuchliche Datenmodelle sind Name/Wert Paare [CRW01], Objekte [EGD01] oder semi-strukturierte Daten im XML-Format [MF01]. 5

12 6 2. PUBLISH/SUBSCRIBE Ereignis Publisher Ereignisbasierte Interaktion Subscriber Notifikation Notifikation Broker Broker Nachricht Kommunikationsnetz Abbildung 2.1: Ereignisbasierte Interaktion. Die Zustellung der Notifikationen an interessierte Empfänger übernimmt ein Notifikationsdienst. Ist hierfür der Transport über ein Netzwerk erforderlich, so sprechen wir auf Netzebene von Nachrichten. Eine Nachricht ist schlicht der Transportcontainer einer Notifikation und praktisch meist die serialisierte Notifikation selbst Publisher, Subscriber und Broker In der Publish/Subscribe Welt wird ein Produzent von Notifikationen als Publisher 1 bezeichnet. Wir sagen, ein Publisher veröffentlicht oder publiziert Notifikationen, wann immer ein Ereignis auftritt. Ein Subscriber ist hingegen der Konsument von Notifikationen. Wir sagen, ein Subscriber abonniert oder subskribiert Notifikationen, für die er sich interessiert. Für eine Komponente gibt es keine feste Aufteilung der Rollen. Sie kann Publisher und zugleich Subscriber sein. Die Aufgabe des Notifikationsdienstes übernimmt das Publish/Subscribe System. Ein verteiltes Publish/Subscribe System besteht aus einer Menge untereinander vernetzter Broker. Für Publisher wie Subscriber bilden die Broker Schnittstelle und Zugangspunkte zum System. Abbildung 2.1 illustriert die ereignisbasierte Kommunikation in einem verteilten Publish/Subscribe System. Ein Publisher registriert ein Ereignis, worauf er eine Notifikation veröffentlicht und sie seinem lokalen Broker übergibt. Dieser sendet sie, verpackt in einer Nachricht, an den Broker des Subscribers, der die Notifikation dann ausliefert Filter, Subskriptionen und Ankündigungen Nicht jedes Ereignis ist bedeutend und daher nur ein Teil der Notifikationen relevant. Broker nutzen Filter, um die wichtigen Notifikationen von den uninteressanten zu trennen. 1 Sofern keine treffenden deutschen Übersetzungen existieren, werden englische Bezeichnungen verwendet.

13 2.1. KONZEPTE 7 advertise() unadvertise() publish() Broker subscribe() unsubscribe() notify() Publisher Subscriber Abbildung 2.2: Illustration der Schnittstelle eines Publish/Subscribe Systems. Ein Filter ist eine boolsche Funktion, mit der ein Broker eine erhaltene Notifikation auf ihre Relevanz testet. Entweder besteht an ihr Interesse oder nicht. Durch eine Subskription können Konsumenten ihr Interesse an bestimmten Notifikationen äußern. Eine Subskription enthält einen Filter, der genau die Notifikationen beschreibt, an denen der Subscriber interessiert ist. Er übergibt die Subskription dann seinem lokalen Broker, der das Filtern übernimmt. Während Filter sich nur auf den Inhalt einer Notifikation beziehen, können Subskriptionen noch Metadaten mit einschließen [Zei04]. Beispiele sind Sichtbarkeitsbereiche [FMG02a], Sicherheits- [BEP + 03] und Zeitinformationen [CFH + 03] sowie maximale Auslieferungsraten [MUHW04]. Auf der anderen Seite können Produzenten ihrem lokalen Broker durch eine Ankündigung mitteilen, welche Notifikationen sie veröffentlichen werden. Analog zu Subskriptionen enthalten Ankündigungen einen Filter, der den Inhalt zukünftiger Notifikationen festlegt. Diese Information kann vom Publish/Subscribe System zu Optimierungszwecken ausgenutzt werden. Allerdings kann auf Ankündigungen auch vollständig verzichtet werden, wenn implizit angenommen wird, dass jeder Publisher fähig ist, beliebige Notifikationen zu erzeugen. Abbildung 2.2 veranschaulicht Schnittstellen und zugehörige Operationen eines Publish/- Subscribe Systems. Durch subscribe()- und unsubscribe()- Aufrufe äußert ein Subscriber sein Interesse an Notifikationen bzw. widerruft es. Ein Publisher kann mit advertise() und unadvertise() die Erzeugung von Notifikationen an- bzw. aufkündigen. publish() und notify() dienen dem Veröffentlichen von Notifikationen bzw. deren Zustellung Filtermodelle Broker vertreten die Interessen ihrer Klienten. Sie filtern gewünschte Notifikationen heraus und benachrichtigen ihre Subscriber. Dem Wunsch der Subscriber nach einer möglichst präzisen Beschreibung der Interessen steht ein erhöhter Filteraufwand seitens der Broker gegenüber. Zwischen Ausdrucksstärke und Skalierbarkeit muss abgewogen werden [CRW99]. Nach ihrer Ausdrucksstärke unterscheiden wir im Wesentlichen fünf Filtermodelle [Zei04]: Kanalbasierte Filterung. Notifikationen werden in benannten Nachrichten-Kanälen veröffentlicht. Ein Subscriber kann einen oder mehrere Kanäle abonnieren und erhält dann alle dort publizierten Notifikationen. Eine differenziertere Auswahl findet nicht statt. Ein Beispiel ist der Corba Event Service [OMG04].

14 8 2. PUBLISH/SUBSCRIBE Themenbasierte Filterung. Jede Notifikation gehört zu einem Thema. Beispielsweise könnte IBMs aktueller Aktienkurs unter market.nyse.stock.stockquote.ibm veröffentlicht werden. Themen sind hierarchisch geordnet, wobei untergeordnete Kategorien den Notifikationsinhalt weiter eingrenzen. Jede Subskription bezieht sich auf ein bestimmtes Thema und kann auch untergeordnete Themen mit einschließen. Typbasierte Filterung. Notifikationen werden als Objekte betrachtet. Die Auswahl erfolgt anhand der Typhierarchie ihrer zugehörigen Klassen [EGD01]. Typbasierte Filterung ähnelt stark der themenbasierten, erweitert deren Ausdruckskraft jedoch um die Möglichkeit der Mehrfachvererbung (falls implementiert). Durch Kombination mit inhaltsbasierten Filtern kann die Selektion weiter verfeinert werden. Inhaltsbasierte Filterung. Inhaltsbasierte Filter erlauben die Selektion anhand beliebiger inhaltlicher Aspekte, was die Auswertung der gesamten Notifikation zulässt [Müh02]. Die Subscriber sind somit unabhängig von jeglicher Klassifizierung durch die Publisher. Die Ausdruckskraft wird nur durch die genutzten Filterprädikate und das Datenmodell der Notifikationen begrenzt [Zei04]. Vorgeschlagen werden u.a. Templates [CNF01], Filter für Name/Wert Paare [Müh01], XPath für XML [AF00] sowie der Einsatz von mobilem Programmcode [DMDP03]. Konzeptbasierte Filterung. Ereignisse lassen sich unterschiedlich beschreiben abhängig vom jeweiligen Kontext. Beispielsweise könnte ein New Yorker Aktienkurs das Attribut price=50$ tragen, wohingegen ein Frankfurter Kurs mit preis=50e gekennzeichnet wird. Konzeptbasierte Filterung [Cil02] berücksichtigt inhaltliche Transformationen und erlaubt die Auswahl von Notifikationen auf einem semantischen Niveau. Konzeptbasierte Filterung erweitert so die inhaltsbasierte, setzt jedoch wohl definierte Ontologien voraus [Zei04] Entkopplung Gegenüber dem weit verbreiteten Request/Reply Paradigma bietet Publish/Subscribe ein flexibleres Kommunikationsmodell. Die Flexibilität liegt vor allem in der Entkopplung der Kommunikationspartner begründet. Das Publish/Subscribe System agiert als neutraler Mediator zwischen Ereignisproduzenten und -konsumenten. Publisher und Subscriber werden in drei Dimensionen entkoppelt [EFGK03]: Entkopplung im Raum. Publisher und Subscriber müssen sich nicht gegenseitig kennen. Publisher veröffentlichen ihre Notifikationen und die Broker übernehmen deren Auslieferung an alle interessierten Subscriber. Dabei werden die Empfänger einzig aus dem Inhalt der Notifikation und den Filtern der abgegebenen Subskriptionen bestimmt. Die resultierende Gruppenkommunikation ist daten- bzw. inhaltszentriert und damit anonym sowie indirekt. Entkopplung in der Zeit. Durch den Einsatz von Caches [CFH + 03] können Broker Notifikationen temporär zwischenspeichern. Subscriber brauchen dann zum Veröffentlichungszeitpunkt einer Notifikation nicht mehr mit dem System verbunden zu sein. Die Notifikation kann auch später noch zugestellt werden, selbst wenn der Publisher nun seinerseits nicht mehr erreichbar ist.

15 2.1. KONZEPTE 9 Entkopplung in der Synchronisation. Publisher werden beim Veröffentlichen einer Notifikation nicht blockiert und deren Auslieferung an die Subscriber erfolgt asynchron durch Callbacks. Die Kontrollflüsse von Publishern und Subscribern sind daher nicht so stark miteinander verwoben und voneinander abhängig, wie dies bei entfernten Prozeduraufrufen im Request/Reply Modell üblich ist. Eine lose Kopplung einzelner Komponenten ist Voraussetzung für dynamische Szenarien wie das Ubiquitous- oder Pervasive Computing, in denen eine Vielzahl von Sensoren, Aktuatoren und mobilen Geräten miteinander kommunizieren. Publish/Subscribe erlaubt die asynchrone Benachrichtigung der Subscriber, wenn sich beispielsweise ein Sensormesswert ändert. Mit Request/Reply bliebe hingegen nur das ineffiziente periodische Abfragen des Sensors, um eine Änderung zu detektieren [FZ98]. Durch die indirekte, inhaltsbasierte Kommunikation brauchen Komponenten sich nicht mehr gegenseitig zu kennen. Der Sensor muss nicht wissen, welche und wieviele Anwendungen sich für seine Daten interessieren. Ein mobiles Gerät ist hauptsächlich daran interessiert, dass ein Dienst erbracht wird und weniger von wem. Publisher wie Subscriber müssen sich nicht um die Verwaltung von Adressinformationen kümmern, die sich in mobilen Welten zudem ständig ändern können. Das temporäre Zwischenspeichern von Notifikationen trägt hier ebenfalls den fragilen Verbindungen drahtloser Netze Rechnung [Zei04]. Das abrupte Abbrechen einer Verbindung muss in mobilen Szenarien Berücksichtigung finden. Publish/Subscribe Systeme können dies durch Caches auf Middleware-Ebene unterstützen und so einen Notifikations- und Datenverlust für die Anwendungen vermeiden Architekturen Einfache Publish/Subscribe Systeme bestehen nur aus einem Server, der für das Filtern und Ausliefern veröffentlichter Notifikationen verantwortlich ist. Erste Implementierungen folgten diesem zentralistischen, jedoch nicht skalierbaren Ansatz. Hingegen bestehen aktuelle Publish/Subscribe Systeme aus einer Anzahl untereinander vernetzter und kooperierender Broker. Die Broker bilden dabei ein logisches Overlay-Netzwerk [PB03a]. Zwei Broker müssen hierzu nicht notwendiger Weise direkt miteinander verbunden sein. Nachrichten können erst über mehrere physische Knoten des genutzten Kommunikationsnetzes laufen, ehe sie den jeweils anderen Broker erreichen. Abbildung 2.3 zeigt ein Overlay-Netzwerk basierend auf einem bespielhaften physischen Netz. Viele verteilte Publish/Subscribe Systeme unterscheiden sich in den Topologien ihrer Overlay-Netze. Im Folgenden differenzieren wir vier verschiedene Formen [Car98]: Hierarchische Topologie. Eine hierarchische Topologie entsteht durch Erweiterung des zentralistischen Ansatzes (mit einem Server). Jeder Broker hat eine Anzahl von Klienten, was Publisher und Subscriber, aber auch andere Broker sein können [Car98]. Ein Broker vertritt seine Klienten, indem er erhaltene Subskriptionen und Notifikationen an den jeweils übergeordneten Broker weiterleitet. Aus Sicht des übergeordneten Brokers erscheint dieser dann wie ein einfacher Publisher oder Subscriber und muss daher nicht gesondert behandelt werden. Abbildung 2.4(a) zeigt eine hierarchische Topologie. Broker sind als Kreise, Publisher und Subscriber als Rechtecke dargestellt.

16 10 2. PUBLISH/SUBSCRIBE Overlay- Netzwerk Physisches Netzwerk Abbildung 2.3: Overlay-Netzwerk basierend auf einem physischen Netz. Azyklische Topologie. Azyklische Topologien basieren wie hierarchische auf Baumstrukturen, benötigen jedoch keinen ausgezeichneten Wurzelknoten. Die Broker sind einander gleichgestellt und tauschen bidirektional Subskriptionen, Ankündigungen und Notifikationen aus. Abbildung 2.4(b) gibt ein Beispiel. Generische Topologie. In generischen Topologien, wie in Abbildung 2.4(c) dargestellt, werden zusätzliche Zyklen zugelassen, wodurch sich die Fehlertoleranz erhöht. Sind zwei Broker über mehr als einen Weg miteinander verbunden, kann eine Verbindung unterbrochen werden. Ebenfalls ist es möglich, die Last auf mehrere Wege zu verteilen. Allerdings konstruieren viele Routing-Algorithmen zunächst wieder azyklische Baumstrukturen, beispielsweise minimale Spannbäume für Publisher, auf denen sie dann effizient arbeiten [CW03, CRW04]. Die tatsächlich genutzten Verbindungen ergeben sich aus einer Überlagerung der konstruierten Bäume. Hybride Topologie. Hybride Topologien entstehen durch Kombination der obigen. Abbildung 2.4(d) illustriert eine generische Topologie mit zwei hierarchischen Subnetzen (Cluster) Routing-Algorithmen Die Art und Weise, wie Broker untereinander Subskriptionen, Ankündigungen und Notifikationen austauschen, wird durch die genutzten Routing-Algorithmen bestimmt. Prinzipiell beeinflussen Subskriptionen, wohin passende Notifikationen geschickt werden. Wir unterscheiden folgende Routing-Algorithmen [Müh02]: Flooding. Flooding bezeichnet das kontrollierte Fluten des Brokernetzes. Die Notifikationen werden grundsätzlich an alle Broker gesendet. Deshalb brauchen Subskriptionen nicht weitergeleitet zu werden. Dieser triviale Ansatz ist nicht skalierbar [MFB02]. Da Broker grundsätzlich alle veröffentlichten Notifikationen erhalten, muss jeder von ihnen auch solche verarbeiten, für die sich kein Subscriber interessiert. Somit werden wertvolle Ressourcen verschwendet. Simple Routing. Simple Routing ist der einfachste inhaltsbasierte Routing-Algorithmus. Das Brokernetz wird mit Subskriptionen geflutet, so dass jeder Broker globales Wissen über alle Interessen besitzt. Ein Broker muss Notifikationen dann nur noch in die Richtungen weiterleiten, in denen sich weitere interessierte Broker befinden.

17 2.1. KONZEPTE 11 (a) (b) (c) (d) Abbildung 2.4: Verschiedene Brokertopologien: (a) hierarchische Topologie; (b) azyklische Topologie; (c) generische Topologie; (d) hybride Topologie (generisch/hierarchisch). Hierzu speichert er in einer Routing-Tabelle jeweils den Filter einer Subskription zusammen mit dem Nachbarbroker, von dem er sie erhalten hat. Empfangene Notifikationen werden gegen die Filter der Tabelle getestet und nur an die Nachbarn weitergeleitet, die einen passenden Routing-Eintrag haben. Identity-based Routing. Identity-based Routing nutzt Gemeinsamkeiten zwischen den Filtern zweier Subskriptionen aus, um die Größe der Routing-Tabellen und somit den Aufwand in jedem Routing-Schritt zu reduzieren [MFB02]. Das Weiterleiten einer Subskription an einen Nachbarn wird unterbunden, wenn an diesen bereits eine identische Subskription 2 gesendet wurde. Dies verringert die Anzahl seiner Routing- Einträge. Covering-based Routing. Covering-based Routing [CRW01] ist eine Erweiterung des Identity-based Routings. Subskriptionen, die nur eine Teilmenge an Notifikationen einer bereits übermittelten Subskription erfassen, werden ebenfalls nicht mehr weitergeleitet. Erst beim Kündigen der überdeckenden Subskription müssen sie übermittelt werden. Merging-based Routing. Merging-based Routing erlaubt Brokern ihre Routing-Einträge zu neuen, überdeckenden Subskriptionen zu verschmelzen, die sie anstatt der 2 Eine Subskription, die eine identische Menge an Notifikationen beschreibt.

18 12 2. PUBLISH/SUBSCRIBE Originale weiterleiten [MFB02]. So kann die Größe der Routing-Tabellen nochmals reduziert werden. Ankündigungen schränken ebenfalls die Weiterleitung von Subskriptionen ein. Subskriptionen müssen nur noch in die Teile des Overlay-Netzes propagiert werden, aus denen Ankündigungen stammen, die sich mit ihnen überschneiden. Für das Routing der Ankündigungen können alle oben vorgestellten Algorithmen, bis auf das Flooding, genutzt werden. Ebenfalls können unterschiedliche Algorithmen für das Weiterleiten von Subskriptionen und von Ankündigungen miteinander kombiniert werden Multicast und Peer-to-Peer Die im vorigen Abschnitt vorgestellten Algorithmen beschreiben das Routing im Overlay- Netz der Broker, wobei Gemeinsamkeiten der Filter von Subskriptionen sowie von Ankündigungen zur Optimierung genutzt werden. Doch können auch Mechanismen des zu Grunde liegenden Kommunikationsnetzes zur Leistungssteigerung eingesetzt werden. Beispielsweise bietet sich IP-Multicast [Dee89] für eine effiziente Gruppenkommunikation der Broker an. Aktuelle Arbeiten [PB02, Pie04] nutzen allerdings auch Peer-to-Peer Routing- Verfahren und daraus entstehende Overlay-Netze, um auf deren Grundlage Publish/Subscribe Systeme zu realisieren. Multicast. Multicast bezeichnet das Senden von Informationen an eine Gruppe von Empfängern. IP-Multicast-Nachrichten laufen hierbei nur einmal über jede Kante des Netzes und werden erst an den Knoten kopiert, an denen sich die Wege zu unterschiedlichen Empfängern trennen. Alle Beteiligten gehören einer gemeinsamen Multicast-Gruppe an. In themenbasierten Publish/Subscribe Systemen kann für jedes Thema eine Multicast- Gruppe eingerichtet werden, der die Broker bei Interesse ihrer Subscriber beitreten. Bei einer nur begrenzten Anzahl verfügbarer Multicast-Adressen und -Gruppen gegenüber einer großen Menge an Themen führt dieser Ansatz zum sogenannten Channelization Problem [AGK + 01]. Das Finden einer optimalen Zuordnung bezogen auf genutzte Ressourcen von Themen zu einzelnen Gruppen ist NP-vollständig [AGK + 01]. In inhaltsbasierten Systemen bestimmt erst der Inhalt einer Notifikation, an welche Broker sie gesendet wird. Die Menge der Empfänger kann sich so von Notifikation zu Notifikation ändern, wobei insgesamt 2 N mögliche Kombinationen bei N beteiligten Brokern existieren [OAA + 00]. Prinzipiell müsste daher eine exponentielle Anzahl von Multicast-Gruppen bereitgehalten werden, was nicht skalierbar ist und ebenfalls zu einem Channelization Problem führt 3. Die Anzahl genutzter Multicast-Gruppen wird nicht nur durch die Verfügbarkeit freier Adressen begrenzt, sondern vor allem durch den Aufwand die Gruppen zu verwalten. Broker treten den Gruppen bei und verlassen sie wieder. Routing-Informationen für das Kommunikationsnetz müssen berechnet, gespeichert und stets aktuell gehalten werden. Opyrchal et al. erörtern daher in [OAA + 00] mehrere Heuristiken, um die Anzahl der benötigten Gruppen zu reduzieren. Dabei geben sie einen Überblick über generelle Ansätze und Möglichkeiten: 3 Die Analogie ist ersichtlich, wenn wir uns für jede der 2 N Kombinationen ein eigenes Thema vorstellen.

19 2.1. KONZEPTE 13 Reduzieren der Gruppenpräzision. In einer Gruppe werden auch Notifikationen veröffentlicht, für die sich nur ein Teil der beigetretenen Broker interessiert. Mehrfaches Senden von Multicasts. Eine Notifikation wird in mehreren Multicast- Gruppen veröffentlicht. Senden über mehrere Knoten. Ein Broker sendet die Notifikation in einer Multicast- Nachricht an einen Teil seiner Nachbarn, die sie dann mittels Multicast analog weiterleiten. Peer-to-Peer. In Peer-to-Peer Netzen [Ora01] interagieren Knoten als Gleichgestellte und bieten sich gegenseitig Dienste an bzw. nehmen diese in Anspruch. Der Begriff Peerto-Peer wurde im Zusammenhang mit Internettauschbörsen bekannt, in denen Nutzer sich gegenseitig Zugriff auf Dateien gewähren. Peer-to-Peer Systeme der ersten Generation waren unstrukturiert und fluteten Anfragen direkt in ihr Netz, was zu Performance- und Skalierbarkeitsproblemen führte [CP02]. Aktuelle Systeme wie Pastry [RD01] oder Tapestry [ZKJ01], die auf verteilten Hashtabellen basieren, sind in der Lage Nachrichten in durchschnittlich O(log N) Schritten zu einem der N Netzknoten zu leiten. Ihr Routing-Algorithmus konstruiert ein sogenanntes Small-World Overlay-Netz [Ora01], das stark geclustert ist und einen geringen Durchmesser aufweist. Derartige Peer-to-Peer Systeme sind in hohem Maße fehlertolerant sowie skalierbar. Eine verteilte Hashtabelle [Dev93] ist eine dezentrale Datenstruktur, die einen Schlüssel auf einen Netzknoten abbildet, der ein zugehöriges Datum speichert. Der Aufwand zum Speichern wird gleichmäßig auf alle Knoten verteilt. Anfragen leitet das Peer-to-Peer System effizient an den durch den Hashwert des Schlüssels bestimmten Knoten, der diese dann bedient. Auf dieser Basis lässt sich ein Multicast auf Applikationsebene [CRZ00] entwerfen, der äquivalent zu themenbasierten Publish/Subscribe ist. Subskriptionen sowie Notifikationen werden durch das Peer-to-Peer Netz geroutet, wobei ihr Thema als Schlüssel dient. Ihr Zielknoten, der sich durch den Hashwert des Schlüssels bzw. Themas ergibt, ist der Rendezvous-Punkt [CDKR02], an dem sie sich treffen. Auf ihrer Reise zum Rendezvous-Punkt hinterlassen Subskriptionen in jedem Knoten Routing-Informationen, die den letzten Vorgänger auf ihrem bisherigen Weg beinhalten. Damit initialisieren sie die Pfade, die in umgekehrter Richtung der Auslieferung der Notifikationen dienen. Es entsteht ein kernbasierter Multicast-Baum [BFC93] für ein bestimmtes Thema mit dem zugehörigen Rendezvous-Knoten als Wurzel. Ist die Adresse bekannt, so können Notifikationen auch direkt an den Wurzelknoten geschickt werden, von dem ausgehend die eigentliche Verteilung an die Subscriber beginnt. Scribe [CDKR02] implementiert einen derartigen Multicast basierend auf Pastry. Eine weitere, ähnliche Implementierung ist Bayeux [ZZJ + 01], die hingegen Tapestry als Peerto-Peer Routing-Schicht nutzt. In Bayeux verwalten die Rendezvous-Knoten zusätzlich die Mitgliedschaft in ihren Gruppen. Ferner wird der Multicast-Baum erst von Nachrichten des Rendezvous-Knotens an die Subscriber erzeugt, die ihre Subskriptionen bestätigen. Hermes [PB02] (siehe auch Kapitel 2.2.5) erweitert den vorgestellten Multicast-Mechanismus um inhaltsbasierte Filterung zu einem flexiblen und vollwertigen Publish/Subscribe System.

20 14 2. PUBLISH/SUBSCRIBE 2.2 Systeme Es gibt eine Vielzahl verschiedener Publish/Subscribe Systeme. Wang et al. verweisen allein in [WQA + 02] auf elf Projekte. Dies sind bei weitem nicht alle und aufgrund der Attraktivität des Publish/Subscribe Modells werden es kontinuierlich mehr. Wir haben fünf Repräsentanten Siena [Car98], Gryphon [IBM01b], Jedi [CNF98], Rebeca [FMB01] und Hermes [PB02] ausgewählt, die wir im Folgenden vorstellen. Vor allem interessiert uns, welche der im vorigen Abschnitt betrachteten Konzepte jeweils umgesetzt wurden SIENA Das Siena Projekt [Car98, CRW01] ist am Software Engineering Research Laboratory der Universität von Colorado in Boulder beheimatet [SER04]. Die Scalable Internet Event Notification Architecture (Siena) ist eine der ersten Implementierungen eines verteilten inhaltsbasierten Publish/Subscribe Systems. Siena Server bilden die Zugangspunkte zum System und bieten ihren Klienten eine Schnittstelle zum Publizieren, Subskribieren und Ankündigen von Notifikationen. Notifikationen bestehen aus typisierten Attributen, die in Form von (Name, T yp, W ert) Tripeln angegeben werden. Die Auswahl möglicher Typen ist jedoch auf eine feste, vordefinierte Menge beschränkt. Subskriptionen bzw. Filter erlauben die Angabe einfacher Prädikate über den Attributwerten. Siena nutzt Covering-Based Routing als inhaltsbasierten Routing-Algorithmus [CRW00], wobei statische, azyklische Netzwerktopologien unterstützt werden. Eine Rekonfiguration des Brokernetzes, bestehend aus den Siena Servern, ist nicht vorgesehen. Allerdings werden in [CIP02] und [CCW03] Erweiterungen für mobile Klienten vorgestellt, die auf dem Zwischenspeichern der Notifikationen basieren, solange Subscriber nicht mit Brokern verbunden sind. Die vorgeschlagenen Lösungen können den Verlust von Notifikationen drastisch reduzieren, aber aufgrund auftretender Race-Conditions nicht vollständig ausschließen [Zei04] GRYPHON Ziel des seit Frühjar 1997 am IBM Watson Research Center bestehenden Gryphon Projekts [IBM01b] ist die Entwicklung eines hoch skalierbaren, zuverlässigen sowie sicheren inhaltsbasierten Publish/Subscribe Systems. Gryphon ist heute als IBM WebSphere MQ Event Broker Bestandteil von IBMs kommerzieller WebSphere Produktreihe [IBM05] und wurde bereits erfolgreich bei globalen Sportveranstaltungen wie den australischen Olympischen Spielen 2000 oder Wimbledon 2001 eingesetzt. Gryphons Zuverlässigkeit und Skalierbarkeit beruhen auf Redundanz. Virtuelle Broker werden eingeführt, die aus Zellen (Clustern) untereinander vernetzter physischer Broker bestehen. Eine Kante im Netz der virtuellen Broker wird auf ein Bündel von Verbindungen zwischen physischen Brokern der verschiedenen Zellen abgebildet. So kann einerseits die Last aufgeteilt und andererseits der Ausfall einzelner physischer Broker oder Verbindungen toleriert werden. Gryphon unterscheidet zwischen Brokern, die entweder nur für Publisher oder nur für Subscriber zuständig sind, sowie zwischen intermediären Brokern, die keine Klienten besitzen. Das Routing der Notifikationen wird von einem Informationsfluss-Graphen (IFG)

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

Methoden zur adaptiven Steuerung von Overlay-Topologien in Peer-to-Peer-Diensten

Methoden zur adaptiven Steuerung von Overlay-Topologien in Peer-to-Peer-Diensten Prof. Dr. P. Tran-Gia Methoden zur adaptiven Steuerung von Overlay-Topologien in Peer-to-Peer-Diensten 4. Würzburger Workshop IP Netzmanagement, IP Netzplanung und Optimierung Robert Henjes, Dr. Kurt Tutschku

Mehr

Message Oriented Middleware am Beispiel von XMLBlaster

Message Oriented Middleware am Beispiel von XMLBlaster Message Oriented Middleware am Beispiel von XMLBlaster Vortrag im Seminar XML und intelligente Systeme an der Universität Bielefeld WS 2005/2006 Vortragender: Frederic Siepmann fsiepman@techfak.uni bielefeld.de

Mehr

Seminararbeit Embedded Systems - Discovery Mechanismus für sdds. Kevin Sapper

Seminararbeit Embedded Systems - Discovery Mechanismus für sdds. Kevin Sapper Seminararbeit Embedded Systems - Discovery Mechanismus für sdds Kevin Sapper Seminararbeit Embedded Systems - Discovery Mechanismus für sdds Kevin Sapper Table of Contents... v 1. Einführung... 1 2. Grundlagen...

Mehr

PIWIN II. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler II. Vorlesung 2 SWS SS 08

PIWIN II. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler II. Vorlesung 2 SWS SS 08 PIWIN II Kap. 3: Verteilte Systeme & Rechnernetze 1 PIWIN II Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler II Vorlesung 2 SWS SS 08 Fakultät für Informatik Technische

Mehr

Vortrag zum Fortsetzungantrag

Vortrag zum Fortsetzungantrag 1 / 18 Vortrag zum Fortsetzungantrag Universität Rostock Fakultät für Informatik und Elektrotechnik Institut für Informatik Lehrstuhl für Informations- und Kommunikationsdienste 24.06.2008 2 / 18 Inhalt

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 5 26.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: Erläutern

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013. WebSphere MQ Teil 3

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013. WebSphere MQ Teil 3 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/2013 WebSphere MQ Teil 3 Trigger el0100 Copyright W. G. Spruth,

Mehr

Szenarien zu Hochverfügbarkeit und Skalierung mit und ohne Oracle RAC. Alexander Scholz

Szenarien zu Hochverfügbarkeit und Skalierung mit und ohne Oracle RAC. Alexander Scholz Hochverfügbar und Skalierung mit und ohne RAC Szenarien zu Hochverfügbarkeit und Skalierung mit und ohne Oracle RAC Alexander Scholz Copyright its-people Alexander Scholz 1 Einleitung Hochverfügbarkeit

Mehr

Bayeux. Dirk Ewerlin

Bayeux. Dirk Ewerlin Bayeux Dirk Ewerlin Inhalt Einleitung Routing & Loaklisierung Basisstruktur Erweiterung der Skalierbarkeit Fehlertolerante Paketzustellung Einleitung Multicast-Lösung auf Anwendungsebene über Unicast-

Mehr

Beyond Music File Sharing: A Technical Introduction to P2P Networks

Beyond Music File Sharing: A Technical Introduction to P2P Networks Beispielbild Beyond Music File Sharing: A Technical Introduction to P2P Networks Christian Cikryt Fachbereich Informatik, Freie Universität Berlin 29. Januar 2010 Gliederung 1. Motivation 2. Überblick

Mehr

Verfahren zur Berechnung von Routen zur Gewährleistung von Ende-zu-Ende QoS

Verfahren zur Berechnung von Routen zur Gewährleistung von Ende-zu-Ende QoS Verfahren zur Berechnung von Routen zur Gewährleistung von Ende-zu-Ende QoS Dezember 007 Dipl.-Ing. Stefan Abu Salah Dipl.-Ing. Achim Marikar QoS (Quality of Service): Sicherstellung der Qualität Zeitkritische

Mehr

Erfassung von Umgebungskontext und Kontextmanagement

Erfassung von Umgebungskontext und Kontextmanagement Erfassung von Umgebungskontext und Kontextmanagement Jörg Schneider, Christian Mannweiler, Andreas Klein, Hans D. Schotten 13.05.2009 Inhalt 1. Einleitung 2. Anforderungen 3. Kontext Erfassung und Verteilung

Mehr

Enterprise Service Bus

Enterprise Service Bus Enterprise Service Bus Christopher Weiß 25.01.2010 Gliederung 1 Motivation und Einordung Integrationsformen 2 Definition und Eigenschaften Definitionen Eigenschaften 3 Aufbau und Konzepte Aufbau Produkte

Mehr

Distributed Space Partitioning Trees

Distributed Space Partitioning Trees Distributed Space Partitioning Trees Management von ortsbezogenen Diensten Fachbereich Informatik FernUniversität Hagen Ortsbezogene Dienste Ein ortsbezogener Dienst ist eine Anwendung, die: - auf geographischen

Mehr

Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 04.06.2004 7. Vorlesung

Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 04.06.2004 7. Vorlesung Algorithmen für Peer-to-Peer-Netzwerke Sommersemester 2004 04.06.2004 7. Vorlesung 1 Kapitel III Skalierbare Peer to Peer-Netzwerke Tapestry von Zhao, Kubiatowicz und Joseph (2001) Netzw erke 2 Tapestry

Mehr

Hauptdiplomklausur Informatik März 2002: Internet Protokolle

Hauptdiplomklausur Informatik März 2002: Internet Protokolle Universität Mannheim Fakultät für Mathematik und Informatik Lehrstuhl für Praktische Informatik IV Professor Dr. W. Effelsberg Hauptdiplomklausur Informatik März 2002: Internet Protokolle Name:... Vorname:...

Mehr

Ist das Internet unkontrollierbar?

Ist das Internet unkontrollierbar? Ist das Internet unkontrollierbar? Hannes Federrath Technische Universität Dresden, Fakultät Informatik, 01062 Dresden E-Mail: federrath@inf.tu-dresden.de http://www.inf.tu-dresden.de/~hf2 Gliederung des

Mehr

Sichere und effiziente Namensauflösung für dezentrale IP-Telefonie

Sichere und effiziente Namensauflösung für dezentrale IP-Telefonie Sichere und effiziente Namensauflösung Ingmar Baumgart Welche IP-Adresse hat? KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu IP-Telefonie

Mehr

Architektur verteilter Anwendungen

Architektur verteilter Anwendungen Architektur verteilter Anwendungen Schwerpunkt: verteilte Algorithmen Algorithmus: endliche Folge von Zuständen Verteilt: unabhängige Prozessoren rechnen tauschen Informationen über Nachrichten aus Komplexität:

Mehr

Unterscheidung: Workflowsystem vs. Informationssystem

Unterscheidung: Workflowsystem vs. Informationssystem 1. Vorwort 1.1. Gemeinsamkeiten Unterscheidung: Workflowsystem vs. Die Überschneidungsfläche zwischen Workflowsystem und ist die Domäne, also dass es darum geht, Varianten eines Dokuments schrittweise

Mehr

Client/Server-Systeme

Client/Server-Systeme Fachbereich Informatik Projektgruppe KOSI Kooperative Spiele im Internet Client/Server-Systeme Vortragender Jan-Ole Janssen 26. November 2000 Übersicht Teil 1 Das Client/Server-Konzept Teil 2 Client/Server-Architekturen

Mehr

Umweltmodellierung in Sensornetzen am Beispiel von SWARMS

Umweltmodellierung in Sensornetzen am Beispiel von SWARMS Umweltmodellierung in Sensornetzen am Beispiel von SWARMS Software Architecture for Radio- Based Mobile Systems Carsten Buschmann, Stefan Fischer 23.7.2003 Ziele von SWARMS Erforschung von Middlewarekonzepten

Mehr

DISKUSSIONSBEITRÄGE DER FAKULTÄT FÜR BETRIEBSWIRTSCHAFTSLEHRE MERCATOR SCHOOL OF MANAGEMENT UNIVERSITÄT DUISBURG-ESSEN. Nr. 378

DISKUSSIONSBEITRÄGE DER FAKULTÄT FÜR BETRIEBSWIRTSCHAFTSLEHRE MERCATOR SCHOOL OF MANAGEMENT UNIVERSITÄT DUISBURG-ESSEN. Nr. 378 DISKUSSIONSBEITRÄGE DER FAKULTÄT FÜR BETRIEBSWIRTSCHAFTSLEHRE MERCATOR SCHOOL OF MANAGEMENT UNIVERSITÄT DUISBURG-ESSEN Nr. 378 Umsetzung ausgewählter Supply-Chain-Operations-Reference-Metriken durch das

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Institut für Informatik Prof. Dr. Bernhard Bauer Stephan Roser Viviane Schöbel Wintersemester 07/08 Übungsblatt 5 08.01.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1:

Mehr

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung Wintersemester 2009/10 Prof. Dr. Dr. h.c. Manfred Broy Unter Mitarbeit von Dr. K. Spies, Dr. M. Spichkova, L. Heinemann, P.

Mehr

Definition. Gnutella. Gnutella. Kriterien für P2P-Netzwerke. Gnutella = +

Definition. Gnutella. Gnutella. Kriterien für P2P-Netzwerke. Gnutella = + Definition Gnutella Ein -to--netzwerk ist ein Kommunikationsnetzwerk zwischen Rechnern, in dem jeder Teilnehmer sowohl Client als auch Server- Aufgaben durchführt. Beobachtung: Das Internet ist (eigentlich

Mehr

3 Das verbindungslose Vermittlungsprotokoll IP

3 Das verbindungslose Vermittlungsprotokoll IP Das verbindungslose Vermittlungsprotokoll IP 27 3 Das verbindungslose Vermittlungsprotokoll IP In diesem Kapitel lernen Sie das verbindungslose Vermittlungsprotokoll IP näher kennen. Nach dem Durcharbeiten

Mehr

Online Analytical Processing

Online Analytical Processing Online Analytical Processing Online Analytical Processing Online Analytical Processing (OLAP) ermöglicht die multidimensionale Betrachtung von Daten zwecks E rmittlung eines entscheidungsunterstützenden

Mehr

Rolf Wanka Sommersemester 2007 11. Vorlesung 05.07.2007 rwanka@cs.fau.de

Rolf Wanka Sommersemester 2007 11. Vorlesung 05.07.2007 rwanka@cs.fau.de Peer-to to-peer-netzwerke Rolf Wanka Sommersemester 2007 11. Vorlesung 05.07.2007 rwanka@cs.fau.de basiert auf einer Vorlesung von Christian Schindelhauer an der Uni Freiburg Inhalte Kurze Geschichte der

Mehr

Prof. Dr.-Ing. Thomas Schwotzer FB 4 / AI / Mobile Anwendungen thomas.schwotzer@htw-berlin.de. Ad-hoc Networks. Routing

Prof. Dr.-Ing. Thomas Schwotzer FB 4 / AI / Mobile Anwendungen thomas.schwotzer@htw-berlin.de. Ad-hoc Networks. Routing Prof. Dr.-Ing. Thomas Schwotzer FB 4 / AI / Mobile Anwendungen thomas.schwotzer@htw-berlin.de Ad-hoc Networks Routing Eigenschaften keine feste Netzwerk-Infrastruktur kein Adressschema, das auf Rückschlüsse

Mehr

Marketing Update. Enabler / ENABLER aqua / Maestro II

Marketing Update. Enabler / ENABLER aqua / Maestro II Marketing Update Enabler / ENABLER aqua / Maestro II Quartal 01/2012 1 Kommentar des Herausgebers Liebe Kunden und Partner, dieser Marketing Update gibt Ihnen einen kurzen Überblick über die aktuell verfügbaren

Mehr

Verteilte Systeme - 5. Übung

Verteilte Systeme - 5. Übung Verteilte Systeme - 5. Übung Dr. Jens Brandt Sommersemester 2011 Transaktionen a) Erläutere was Transaktionen sind und wofür diese benötigt werden. Folge von Operationen mit bestimmten Eigenschaften: Atomicity

Mehr

ServiceGlobe: Flexible and Reliable Web Service Execution

ServiceGlobe: Flexible and Reliable Web Service Execution ServiceGlobe: Flexible and Reliable Web Service Execution Markus Keidl, Stefan Seltzsam und Alfons Kemper Universität Passau Fakultät für Mathematik und Informatik 94030 Passau @db.fmi.uni-passau.de

Mehr

Online Analytical Processing

Online Analytical Processing Online Analytical Processing Online Analytical Processing Online Analytical Processing (OLAP) ermöglicht die mu l- tidimensionale Betrachtung von Daten zwecks Ermit t- lung eines entscheidungsunterstützenden

Mehr

Datenzentrisches Routing und Directed Diffusion

Datenzentrisches Routing und Directed Diffusion Hauptseminar Thema 3 Datenzentrisches Routing und Directed Diffusion Fred Schmidt Übersicht Einführung Datenzentrisches Routing Datenzentrisches vs. Adressorientiertes Routing Directed Diffusion Interestpropagierung

Mehr

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9

Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Prof. Dr. Wilhelm Schäfer Paderborn, 15. Dezember 2014 Christian Brenner Tristan Wittgen Musterlösung zur Vorlesung Modellbasierte Softwareentwicklung Wintersemester 2014/2015 Übungsblatt 9 Aufgabe 1 Codegenerierung

Mehr

Evaluation of Java Messaging Middleware as a Platform for Software Agent Communication

Evaluation of Java Messaging Middleware as a Platform for Software Agent Communication Evaluation of Java Messaging Middleware as a Platform for Software Agent Communication Frank Kargl Torsten Illmann Michael Weber Verteilte Systeme Universität Ulm {frank.kargl torsten.illmann weber} @informatik.uni-ulm.de

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 Name: Matrikelnummer: Note: Prüfungstag: 21.09.2012 Prüfungsdauer:

Mehr

Neuerungen Analysis Services

Neuerungen Analysis Services Neuerungen Analysis Services Neuerungen Analysis Services Analysis Services ermöglicht Ihnen das Entwerfen, Erstellen und Visualisieren von Data Mining-Modellen. Diese Mining-Modelle können aus anderen

Mehr

Performance by Design Wie werden performante ETL-Prozesse erstellt?

Performance by Design Wie werden performante ETL-Prozesse erstellt? Performance by Design Wie werden performante ETL-Prozesse erstellt? Reinhard Mense ARETO Consulting Bergisch Gladbach Schlüsselworte: DWH, Data Warehouse, ETL-Prozesse, Performance, Laufzeiten, Partitionierung,

Mehr

Seminar Informationsintegration und Informationsqualität. Dragan Sunjka. 30. Juni 2006

Seminar Informationsintegration und Informationsqualität. Dragan Sunjka. 30. Juni 2006 Seminar Informationsintegration und Informationsqualität TU Kaiserslautern 30. Juni 2006 Gliederung Autonomie Verteilung führt zu Autonomie... Intra-Organisation: historisch Inter-Organisation: Internet

Mehr

Verteilte Systeme SS 2015. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 7.

Verteilte Systeme SS 2015. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 7. Verteilte Systeme SS 2015 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 7. Juli 2015 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/13) i

Mehr

1 Hochverfügbarkeit. 1.1 Einführung. 1.2 Network Load Balancing (NLB) Quelle: Microsoft. Hochverfügbarkeit

1 Hochverfügbarkeit. 1.1 Einführung. 1.2 Network Load Balancing (NLB) Quelle: Microsoft. Hochverfügbarkeit 1 Hochverfügbarkeit Lernziele: Network Load Balancing (NLB) Failover-Servercluster Verwalten der Failover Cluster Rolle Arbeiten mit virtuellen Maschinen Prüfungsanforderungen von Microsoft: Configure

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

Verteilte Systeme CS5001

Verteilte Systeme CS5001 CS5001 Th. Letschert TH Mittelhessen Gießen University of Applied Sciences Einführung Administratives Unterlagen Verwendbar: Master of Science (Informatik) Wahlpflichtfach (Theorie-Pool) Unterlagen Folien:

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

Motivation. Motivation

Motivation. Motivation Vorlesung Modellierung nebenläufiger Systeme Sommersemester 2012 Universität Duisburg-Essen Was sind nebenläufige Systeme? Ganz allgemein: Systeme, bei denen mehrere Komponenten/Prozesse nebenläufig arbeiten

Mehr

Siehe auch Heide Balzert: Lehrbuch der Objektmodellierung.

Siehe auch Heide Balzert: Lehrbuch der Objektmodellierung. Siehe auch Heide Balzert: Lehrbuch der Objektmodellierung. 9. Analyse Muster 1 Der Unterschied von Analyse und Design Pattern besteht auch in der zeitlichen Abfolge. Analyse Muster werden in der Analyse

Mehr

Klaus Schild, XML Clearinghouse 2003. Transformation von XML-Dokumenten

Klaus Schild, XML Clearinghouse 2003. Transformation von XML-Dokumenten Transformation von XML-Dokumenten Lernziele Warum kann es sinnvoll sein XML-Dokumente zu transformieren? Wie funktioniert XSLT (Extensible Stylesheet Language Transformations)? Was ist XPath? Was sind

Mehr

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt:

Datenbanken 16.1.2008. Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: Datenbanksysteme Entwicklung der Datenbanksysteme Die Entwicklung der Datenbanksysteme ist eng an die der Hardware gekoppelt und wird wie jene in Generationen eingeteilt: 1. Generation: In den fünfziger

Mehr

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges

Agenda. Clients aus drei verschiedenen Perspektiven: Was ist ein Dialog? Komponentenarchitektur innerhalb eines Dialoges Komponentenbasierte Client-Architektur Hamburg, 16.11.2007 Bernd Olleck IT-Beratung Olleck Agenda Clients aus drei verschiedenen Perspektiven: Technische Infrastruktur Fachliche Sicht Aufgaben eines Clients

Mehr

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) 1 FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1) In dieser Kurseinheit geht es um verteilte Anwendungen, bei denen wir sowohl ein Client- als auch ein

Mehr

Kommunikation. Sitzung 01 04./11. Dezember 2015

Kommunikation. Sitzung 01 04./11. Dezember 2015 Kommunikation Sitzung 01 04./11. Dezember 2015 Unser Vorhaben Kommunikationsmodell Überblick über Netzwerk-Topologien Server-Client-Modell Internet Was ist Informatik eigentlich? Kunstwort aus Information

Mehr

Taktische Kommunikation auf Basis flexibler und dynamischer Informationsnetze

Taktische Kommunikation auf Basis flexibler und dynamischer Informationsnetze Frank Hornbach, Client Technical Advisor, Geschäftsbereich Verteidigung frank.hornbach@de.ibm.com Taktische Kommunikation auf Basis flexibler und dynamischer Informationsnetze AFCEA-ZVEI Fachveranstaltung

Mehr

1 Die Active Directory

1 Die Active Directory 1 Die Active Directory Infrastruktur Prüfungsanforderungen von Microsoft: Configuring the Active Directory Infrastructure o Configure a forest or a domain o Configure trusts o Configure sites o Configure

Mehr

Synchronisation des Temperatur-Loggers

Synchronisation des Temperatur-Loggers Synchronisation des Temperaturloggers Juni 10, 2010 1 / 7 Synchronisation des Temperatur-Loggers Einführung Zwei oder mehr Installationen der Temperaturlogger-Software können so zusammen geschaltet werden,

Mehr

Einführung in Generatives Programmieren. Bastian Molkenthin

Einführung in Generatives Programmieren. Bastian Molkenthin Einführung in Generatives Programmieren Bastian Molkenthin Motivation Industrielle Entwicklung *!!*,(% % - #$% #!" + '( & )!* Softwareentwicklung Rückblick auf Objektorientierung Objektorientierte Softwareentwicklung

Mehr

EAI - Enterprise Application Integration

EAI - Enterprise Application Integration EAI - Enterprise Application Integration Jutta Mülle WS 2005/2006 EAI - Folie 1 Überblick und Begriffsbildung Zusammenfassung und Ausblick hinweise EAI - Folie 2 Conclusion EAI Enterprise Application Integration

Mehr

Aufbau des Internets. Nelson & Bruno Quellen: Netplanet

Aufbau des Internets. Nelson & Bruno Quellen: Netplanet Aufbau des Internets Nelson & Bruno Quellen: Netplanet Inhaltsverzeichnis Arten von Netzwerken Host-Architekturen Schichtenmodelle TCP/IP - Haussprache des Internet Übertragung im Netz Routing Topologie

Mehr

E-Mail-Verschlüsselung mit Geschäftspartnern

E-Mail-Verschlüsselung mit Geschäftspartnern E-Mail-Verschlüsselung mit (Anleitung für Geschäftspartner) Datum: 13.07.2011 Dokumentenart: Anwenderbeschreibung Version: 3.0 : Redaktionsteam PKI cio.siemens.com Inhaltsverzeichnis 1. Zweck des Dokumentes:...3

Mehr

Der Einsatz von CORBA in verteilten EDA-Tools

Der Einsatz von CORBA in verteilten EDA-Tools Der Einsatz von CORBA in verteilten EDA-Tools Frank Grützmacher Technische Universität Ilmenau Fakultät für Elektrotechnik und Informationstechnik Fachgebiet Mikroelektronische Schaltungen und Systeme

Mehr

Finaler Testbericht. Finaler Testbericht. 1 Einführung 2. 1.1 Warum Softwaretests?... 2

Finaler Testbericht. Finaler Testbericht. 1 Einführung 2. 1.1 Warum Softwaretests?... 2 Inhaltsverzeichnis 1 Einführung 2 1.1 Warum Softwaretests?.................................... 2 2 Durchgeführte Tests 2 2.1 Test: allgemeine Funktionalität............................... 2 2.1.1 Beschreibung.....................................

Mehr

Software Engineering Klassendiagramme weiterführende Konzepte

Software Engineering Klassendiagramme weiterführende Konzepte Software Engineering Klassendiagramme weiterführende Konzepte Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassenattribut: static Implementierung in Java public

Mehr

sedex-client Varianten für den Betrieb in einer hoch verfügbaren

sedex-client Varianten für den Betrieb in einer hoch verfügbaren Département fédéral de l'intérieur DFI Office fédéral de la statistique OFS Division Registres Team sedex 29.07.2014, version 1.0 sedex-client Varianten für den Betrieb in einer hoch verfügbaren Umgebung

Mehr

Lookup Performanz von Verteilten Hashtabellen

Lookup Performanz von Verteilten Hashtabellen Lookup Performanz von Verteilten Hashtabellen Vortrag von Martin Christian 1.Verteilte Hashtabellen 2.Routing-Strategien 3.Lookup-Strategien 4.Replikationsstrategien 5.Zusammenfassung

Mehr

peer-to-peer Dateisystem Synchronisation

peer-to-peer Dateisystem Synchronisation Ziel Realisierungen Coda Ideen Fazit Literatur peer-to-peer Dateisystem Synchronisation Studiendepartment Informatik Hochschule für Angewandte Wissenschaften Hamburg 30. November 2007 Ziel Realisierungen

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

Microsoft ISA Server 2004

Microsoft ISA Server 2004 Microsoft ISA Server 2004 Marcel Zehner Leitfaden für Installation, Einrichtung und Wartung ISBN 3-446-40597-6 Leseprobe Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-40597-6

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 8 10. Dezember 2002 www4.in.tum.de/~rumpe/se

Mehr

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 17. Kapitel 2 Architekturen 51. Kapitel 3 Prozesse 91

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 17. Kapitel 2 Architekturen 51. Kapitel 3 Prozesse 91 Inhaltsverzeichnis Vorwort 13 Kapitel 1 Einleitung 17 1.1 Definition eines verteilten Systems................................ 19 1.2 Ziele........................................................ 20 1.2.1

Mehr

Rollen- und Rechtekonzept

Rollen- und Rechtekonzept Inhaltsverzeichnis Rollen- und Rechtekonzept 1. Ziele...1 2. Konzeption zur Realisierung durch Access Control List und im Management-Interface...2 2.1. Ansatz...2 2.2. Safety oder Security...2 2.3. User-

Mehr

Echtzeitanomalieerkennung für Internetdienste (Abschlussvortrag)

Echtzeitanomalieerkennung für Internetdienste (Abschlussvortrag) Lehrstuhl für Netzarchitekturen und Netzdienste Institut für Informatik Technische Universität München Echtzeitanomalieerkennung für Internetdienste (Abschlussvortrag) Markus Sieber Betreuer: Ali Fessi,

Mehr

Verteiltes Backup. Einleitung Grundlegende Backup Techniken Backup in Netzwerken. Client/Server Peer-to-Peer

Verteiltes Backup. Einleitung Grundlegende Backup Techniken Backup in Netzwerken. Client/Server Peer-to-Peer Verteiltes Backup Einleitung Grundlegende Backup Techniken Backup in Netzwerken Client/Server Peer-to-Peer Einleitung Backup: Das teilweise oder gesamte Kopieren der in einem Computersystem vorhandenen

Mehr

CEPaaS. Complex Event Processing as a Service. Bernhard Seeger Philipps-Universität Marburg RTM Realtime Monitoring GmbH

CEPaaS. Complex Event Processing as a Service. Bernhard Seeger Philipps-Universität Marburg RTM Realtime Monitoring GmbH CEPaaS Complex Event Processing as a Service Bernhard Seeger Philipps-Universität Marburg RTM Realtime Monitoring GmbH Daniar Achakeyev, Daniel Schäfer, Philip Schmiegelt CEP-Forschung in Marburg: aus

Mehr

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

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

Mehr

Probleme der Navigation von Rehabilitationsroboter: Intelligenter Rollstuhl

Probleme der Navigation von Rehabilitationsroboter: Intelligenter Rollstuhl 16.04.2013 Advanced Seminar "Computer Engineering" WS2012/2013 Probleme der Navigation von Rehabilitationsroboter: Intelligenter Rollstuhl Sandrine Michele Chouansu Lehrstuhl für Automation; Universität

Mehr

Microsoft Office 2010

Microsoft Office 2010 Microsoft Office 2010 Office-Anpassungstool Author(s): Paolo Sferrazzo Version: 1.0 Erstellt am: 15.06.12 Letzte Änderung: - 1 / 12 Hinweis: Copyright 2006,. Alle Rechte vorbehalten. Der Inhalt dieses

Mehr

Marktliquidität von Aktien

Marktliquidität von Aktien Marktliquidität von Aktien Inauguraldissertation zur Erlangung der Würde eines Doctor rerum oeconomicarum der Wirtschafts- und Sozialwissenschaftlichen Fakultät der Universität Bern Lukas Roth Die Fakultät

Mehr

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble

Tier-Konzepte. Vertiefungsarbeit von Karin Schäuble Vertiefungsarbeit von Karin Schäuble Gliederung 1. Einführung 3. Rahmenbedingungen in der heutigen Marktwirtschaft 3.1 Situation für Unternehmen 3.2 Situation für Applikationsentwickler 4. Lösungskonzepte

Mehr

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Autorisierung Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente Dokumentation zum Referat von Matthias Warnicke und Joachim Schröder Modul: Komponenten basierte Softwareentwickelung

Mehr

TELEMETRIE EINER ANWENDUNG

TELEMETRIE EINER ANWENDUNG TELEMETRIE EINER ANWENDUNG VISUAL STUDIO APPLICATION INSIGHTS BORIS WEHRLE TELEMETRIE 2 TELEMETRIE WELCHE ZIELE WERDEN VERFOLGT? Erkennen von Zusammenhängen Vorausschauendes Erkennen von Problemen um rechtzeitig

Mehr

Einflussfaktoren auf eine Softwarearchitektur und ihre Wechselwirkungen Entwurfsentscheidungen systematisieren

Einflussfaktoren auf eine Softwarearchitektur und ihre Wechselwirkungen Entwurfsentscheidungen systematisieren 1 Einflussfaktoren auf eine Softwarearchitektur und ihre Wechselwirkungen Entwurfsentscheidungen systematisieren W3L AG info@w3l.de 2011 2 Agenda Softwarearchitektur und Architekturentwurf Definition Überblick

Mehr

Verteilte Systeme Jürgen Nehmer, SS 2003

Verteilte Systeme Jürgen Nehmer, SS 2003 Definitionen Instanz Verteilte Systeme Jürgen Nehmer, SS 2003 Einführung Rechnervernetzung Verteiltes Programm Eine Menge autonomer Softwareinstanzen, die ein gemeinsames Problem bearbeiten und zu diesem

Mehr

Risikomanagement für IT-Projekte: Vergleich von Risiken und Methoden

Risikomanagement für IT-Projekte: Vergleich von Risiken und Methoden Sperrvermerk Risikomanagement für IT-Projekte: Vergleich von Risiken und Methoden Bachelorarbeit Zur Erlangung des akademischen Grades Bachelor of Science (B.Sc.) im Studiengang Wirtschaftswissenschaft

Mehr

Software Engineering Analyse und Analysemuster

Software Engineering Analyse und Analysemuster Software Engineering Analyse und Analysemuster Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Klassendiagramme in der Analyse Im Rahmen der Anforderungsanalyse

Mehr

SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen

SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen WEITER BLICKEN. MEHR ERKENNEN. BESSER ENTSCHEIDEN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN VERSION 1.0 OPTIMIERUNG VON ABFRAGEN IN MS SQL

Mehr

Transaction Validation for XML Documents based on XPath

Transaction Validation for XML Documents based on XPath Transaction Validation for XML Documents based on XPath @ Informatik 2002, m-dbis Stefan Böttcher Adelhard Türling Universität Paderborn Überblick Transaktionen für XML - Daten & mobile Clients Motivation

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

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

Avira Management Console 2.6.1 Optimierung für großes Netzwerk. Kurzanleitung

Avira Management Console 2.6.1 Optimierung für großes Netzwerk. Kurzanleitung Avira Management Console 2.6.1 Optimierung für großes Netzwerk Kurzanleitung Inhaltsverzeichnis 1. Einleitung... 3 2. Aktivieren des Pull-Modus für den AMC Agent... 3 3. Ereignisse des AMC Agent festlegen...

Mehr

Datenstrukturen & Algorithmen

Datenstrukturen & Algorithmen Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen

Mehr

Taxonomy of Evolution and Dependability. Integration Engineering SS 2009 Andreas Landerer

Taxonomy of Evolution and Dependability. Integration Engineering SS 2009 Andreas Landerer Taxonomy of Evolution and Dependability Integration Engineering SS 2009 Andreas Landerer Agenda Informationen über Massimo Felici Definition zentraler Begriffe Inhalt des Artikels Kernaussagen des Artikels

Mehr

Hyper-V Server 2008 R2

Hyper-V Server 2008 R2 Hyper-V Server 2008 R2 1 Einrichtung und Installation des Hyper-V-Servers 1.1 Download und Installation 4 1.2 Die Administration auf dem Client 9 1.3 Eine VM aufsetzen 16 1.4 Weiterführende Hinweise 22

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

Kommunikation und Kooperative Systeme

Kommunikation und Kooperative Systeme Kommunikation und Kooperative Systeme Teil II Verteilte Dienste und Anwendungen Nik Klever FB Informatik - FH klever@fh-augsburg.de Einführung Begriffsbestimmung Kommunikation: Austausch, Übermittlung

Mehr

Scheinaufgabe im Fach Web Engineering

Scheinaufgabe im Fach Web Engineering Otto-von-Guericke-Universität Magdeburg Fakultät für Informatik Institut für Verteilte Systeme Scheinaufgabe im Fach Web Engineering Thomas Thüm 07. August 2006 Matrikel: 171046 Lehrveranstaltung: Web

Mehr

Studienprojekt HP-MOM

Studienprojekt HP-MOM Institute of Parallel and Distributed Systems () Universitätsstraße 38 D-70569 Stuttgart Studienprojekt HP-MOM High Performance Message Oriented Middleware 23. Januar 2013 Kurt Rothermel, Frank Dürr, Patrick

Mehr

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf

Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005. Paradigmen im Algorithmenentwurf Babeș-Bolyai Universität Cluj Napoca Fakultät für Mathematik und Informatik Grundlagen der Programmierung MLG5005 Paradigmen im Algorithmenentwurf Problemlösen Problem definieren Algorithmus entwerfen

Mehr

paluno Software & CPS Matthias Book Innovationsworkshop Horizon 2020 ICT 23.01.2014

paluno Software & CPS Matthias Book Innovationsworkshop Horizon 2020 ICT 23.01.2014 Impulse aus dem CPS-Netzwerk NRW Software & CPS Matthias Book Innovationsworkshop Horizon 2020 ICT 23.01.2014 Cyber Physical NRW Überblick: Software-technische Herausforderungen Cyber Physical Systems

Mehr