Datenbanken * Informationssysteme * Softwaretechnologie * Computergrafik * Mustererkennung * Bildverarbeitung * Künstliche Intelligenz * Robotik
Dr. Serge Shumilov; Raum A119;
Tel. 0228/73-7816
Email: shumilov(at)cs.uni-bonn.de
Sprechstunde: Nach Vereinbarung!
Thema “Grundlagen der Verteilten Informationssystemen, Architekturen und Algorithmen”
Der Trend zu "offenen" Systemen einerseits sowie sinkende Preise für Rechner- und Kommunikatiossysteme andererseits haben in den letzten Jahren das Interesse an verteilten Systemen, insbesondere an verteilten Informationssystemen, stark wachsen lassen. In vielen Unternehmen hat der Wechsel von den vorhandenen monolithischen Großrechneranwendungen hin zu verteilten, dezentral organisierten Lösungen bereits begonnen oder ist doch für die nächsten Jahre geplant. In diesem Zusammenhang werden häufig Schlagworte wie Client/Server-Architektur, CORBA oder Web Services verwendet.
Ziel dieses Seminars ist die Diskussion der zur Realisierung von Client/Server-Systemen benötigten Basistechnologien (JavaRMI, CORBA, Web Services) sowie der grundlegenden Konzepten (Caching, Prefetching, Garbage Collection, etc.). Die Vorstellung der genauen Vortragsthemen erfolgt während der Vorbesprechung.
Vorbesprechung: Di. 7.2.2006, 15:30 Uhr st, SR A121
Treffen: Do. 13-15, SR A121
Einzelvortrag mit eine schriftlicher Ausarbeitung.
Ausarbeitung: Die fertige schriftliche Ausarbeitung des vorgetragenen Materials (ca. 15-Seiten)
soll vor dem Vortrag als pdf- oder ps-File per E-Mail dem jeweiligen Betreuer zuzuschicken.
Bei der Ausarbeitung ist Folgendes zu berücksichtigen:
Vortrag: Jeder Seminarteilnehmer muss einen ca. 60-minütigen Vortrag im Seminar
halten und danach für Fragen der Teilnehmer zur Verfügung stehen.
Bei der Vorbereitung der Folien können folgende Empfehlungen helfen:
Zeitplan: Diese Fristen sind unbedingt einzuhalten!
Spätestens 3 Wochen vor dem Vortragstermin: vorläufige Ausarbeitung*
Spätestens 1 Woche vor dem Vortragstermin: vorläufiger Folienentwurf*
am Vortragstermin: Vortrag
Spätestens 1 Woche nach Vortragstermin: fertige Ausarbeitung
* Eine frühere (frühstmögliche) Besprechung der Thematik/Ausarbeitung wird angeraten. Eventuell müssen dann noch Nachbesserungen vorgenommen werden.
Themen und Termine:
Diese Themen wurden für dieses ProSeminar ausgewählt.
Termin Thema Name Basistechnologien 06.04.06 Verteilte (n-tier) Architekturen Ina Hessenmueller 13.04.06 Kommunikationsdienste des Betriebssystems Sinan Ayan 20.04.06 Entfernte Prozedur- Objekt-Aufruf Paul Rybka 27.04.06 World Wide Web Marovan Bendib 04.05.06 Web Services Feng Qu Konzepte 11.05.06 Lokalisierung und Verteilten Hashtabellen (Distributed Hash Table) Sebastian Trunz 18.05.06 Caching Daria Makarova 01.06.06 Prefetching Yuhang ZHOU 22.06.06 Verteilte Garbage Collection Sergej Penner 06.07.06 Lasterverteilung (Load Balancing) Stephan Wagner 13.07.06 Synchronisation und verteilte Transaktionsverwaltung Jiliang ZHANG
Literatur:
Verteilte (n-tier) Architekturen
(Client-Server, Client-Server-Server, Kommunikationsmodelle, Proxy, Application Server, 2-tier, 3-tier, n-tier, Objekt-Adapter, Objekt-Wrapper, Agenten, P2P)
- Günther Bengel. Verteilte Systeme. Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, 2002. (Kapitel 1, 2, 3)
- Ulrike Hammerschall. Verteilte Systeme und Anwendungen. Pearson Studium, 2005. (Kapitel 1)
- Andrew S. Tanenbaum, Maarten van Stehen . Verteilte Systeme: Grundlagen und Paradigmen. Pearson Studium, 2003. (Kapitel 1, 3)
Kommunikationsdienste des Betriebssystems
(ISO-Modell, Kommunikations-Protokoll, Kommunikationsmodelle, TCP/IP-Sockets)
Konzepte, Funktionsweise, Besonderheiten
- Andrew S. Tanenbaum, Maarten van Stehen . Verteilte Systeme: Grundlagen und Paradigmen. Pearson Studium, 2003. (Kapitel 2.1, 2.4)
- Günther Bengel. Verteilte Systeme. Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, 2002. (Kapitel 3.1)
Entfernte Prozedur- Objekt-Aufruf
(Sun RPC, CORBA, Java RMI)
Programmiermodelle, Funktionsweise, Vergleich und Besonderheiten
- Ulrike Hammerschall. Verteilte Systeme und Anwendungen. Pearson Studium, 2005. (Kapitel 2, 5, 8)
- Andrew S. Tanenbaum, Maarten van Stehen . Verteilte Systeme: Grundlagen und Paradigmen. Pearson Studium, 2003. (Kapitel 2.2, 2.3, 9.1)
- Günther Bengel. Verteilte Systeme. Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, 2002. (Kapitel 3.2, 3.3)
- Iona Inc. Orbacus User Guide, Version 4.3. http://www.iona.com/support/docs/orbacus/4.3.0/users_guide/index.html
World Wide Web
(HTTP, Web Server, CGI, Servlets, Applets, Skripte)
- Andrew S. Tanenbaum, Maarten van Stehen . Verteilte Systeme: Grundlagen und Paradigmen. Pearson Studium, 2003. (Kapitel 11)
- Günther Bengel. Verteilte Systeme. Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, 2002. (Kapitel 3.4)
Web Services
(XML, SOAP, WSDL)
- http://www.w3.org/XML/
http://www.w3.org/XML/Schema
http://www.w3.org/2002/ws/
http://www.w3.org/2000/xp/Group/- Ulrike Hammerschall. Verteilte Systeme und Anwendungen. Pearson Studium, 2005. (Kapitel 7)
- Sanjiva Weerawarana, Francisco Curbera, Frank Leymann, Tony Storey, Donald F. Ferguson. Web Services Platform Architecture: SOAP, WSDL, WS-Policy, WS-Addressing, WS-BPEL, WS-Reliable Messaging, and More. Prentice Hall PTR, 2005, ISBN: 0131488740.
- Luis Felipe Cabrera, Chris Kurt. Web Services Architecture and Its Specifications: Essentials for Understanding WS-*. Microsoft Press, 2005, ISBN: 0735621624.
Lokalisierung und Verteilten Hashtabellen (Distributed Hash Table)
Ein Hash ist eine Datenstruktur, die ein Assoziatives Array implementiert. In einem Hash werden (Schlüssel => Wert)-Paare gespeichert. Jeder Schlüssel ist mit einem Wert assoziert und der Wert kann über Angabe des Schlüssels erhalten werden. Ein verteilter Hash bezeichnet einen Mechanismus, der die Identifikation und das Abrufen von Werten in einem Verteilten System ermöglicht. Der gesamte Hash ist dabei auf mehrere Stationen eines Netzwerkes verteilt, wobei jede Station über einen Teil des Hashes verfügt. In diesem Vortrag sollen die Grundprinzipien der alten bekanntesten Systeme (Napster, Gnutella, Kazaa) vorgestellt werden und mit aktuellen Ansätzen aus P2P-Forschung (Chord, Kademlia) verglichen werden.
- http://en.wikipedia.org/wiki/Distributed_hash_table
- Andrew S. Tanenbaum, Maarten van Stehen . Verteilte Systeme: Grundlagen und Paradigmen. Pearson Studium, 2003. (Kapitel 4.2)
- Cai Ziegler, Smarte Schwärme. c't, No. 16, 2005, pp. 160-164.
- Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan: Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications. ACM SIGCOMM 2001, San Deigo, CA, August 2001, pp. 149-160. http://citeseer.ist.psu.edu/stoica01chord.html
- P. Maymounkov and D. Mazieres. Kademlia: A peerto -peer information system based on the xor metric. In Proceedings of IPTPS02, Cambridge, USA, March 2002. http://www.cs.rice.edu/Conferences/IPTPS02/. http://citeseer.ist.psu.edu/article/maymounkov02kademlia.html
Caching
In diesem Vortrag sollen die wichtigsten technischen Grundlagen von verschiedenen Techniken vorgestellt werden, die durch eine Zwischenspeicherung der Daten die Performanz eines verteilten Systems verbessern können. Dazu gehören sowohl die klassische (FIFO, LFU, LRU, GreedyDual, LRV) als auch moderne Verfahren (so wie Semantisches Caching, LDD).
- Shumilov. S. Integrating existing object-oriented databases with distributed object management platforms. PhD Thesis. (Kapitel 6.3.6) http://hss.ulb.uni-bonn.de/ulb_bonn/diss_online/math_nat_fak/2003/shumilov_sergey/0266.pdf
- Cao,P. Irani, S.: Cost-aware WWW proxy caching algorithms. Proc. of the USENIX Symposium on Internet Technologies ans Systems, 193-206, 1997. http://www.cs.wisc.edu/~cao/papers/gd-size.html
- Tari, Z., Hamidjaja, H., and Lin, Q. T. 2000. Cache Management in CORBA Distributed Object Systems. IEEE Concurrency 8, 3 (Jul. 2000), 48-55. http://dx.doi.org/10.1109/4434.865893
- Davison, B., The Design And Evaluation Of Web Prefetching and Caching Techniques. PhD Thesis, 2002. http://citeseer.ist.psu.edu/davison02design.html
- Höpfner, H., Türkner, C., König-Ries, B. Mobile Datenbanken und Informationssysteme - Konzepte und Techniken. dpunkt.verlag, 2005. ISBN: 389864264X. (Kapitel 9)
Prefetching
In diesem Vortrag sollen die wichtigsten technischen Grundlagen von verschiedenen Techniken vorgestellt werden, die durch eine intelligente Auswahl der einzulagernden Daten die Performanz eines Caches verbessern können. Dieser Vorgang wird auch als Prefetching bezeichnet. Dazu gehören sowohl die klassische Strategien (OBL, PPM, TIP) als auch moderne Verfahren (so wie Data Hoarding).
(in Web)
- Davison, B., The Design And Evaluation Of Web Prefetching and Caching Techniques. PhD Thesis, 2002. http://citeseer.ist.psu.edu/davison02design.html
- Zhang, H., Improving Performance on WWW using path-based predictive caching and prefetching. MsC Thesis, 2001. http://citeseer.ist.psu.edu/459947.html
(in Datenbanken)
- Knafla, N., Prefetching Techniques for Client/Server, Object-Oriented Database Systems. PhD Thesis, 1999. http://citeseer.ist.psu.edu/210411.html
- Kristian Kvilekval and Ambuj Singh, SPREE: Object Prefetching for Mobile computers, 2004. http://citeseer.ist.psu.edu/kvilekval04spree.html
Verteilte Garbage Collection
Hier sollte ein Überblick über existierende Lösungen und Forschungsansätze für eine verteilte Garbage Collection gegeben werden - inklusive der Darstellung der jeweiligen Vor- und Nachteile bzw. Probleme. Es sollte (zumindest in der Ausarbeitung) auch geklärt werden, welche Algorithmen in heutigen Middleware Plattformen (Java-RMI, CORBA, etc) wirklich verwendet werden.
- http://en.wikipedia.org/wiki/Garbage_collection_%28computer_science%29
- David and Marc Shapiro, A Survey of Distributed Garbage Collection Techniques. Proc. of Int. Workshop on Memory Management (IWMM), 1995. http://www-sor.inria.fr/publi/SDGC_iwmm95.html
- http://pauillac.inria.fr/~lefessan/dgc/
- Andrew S. Tanenbaum, Maarten van Stehen . Verteilte Systeme: Grundlagen und Paradigmen. Pearson Studium, 2003. (Kapitel 4.3)
- S. Blackburn et al: Starting with Termination: A Methodology for Building Distributed Garbage Collection Algorithms
- D. Plainfossé, M. Shapiro: A Survey of Distributed Garbage Collection Techniques
- F. Le Fessant, I. Piumarta, M. Shapiro: An implementation of complete, asynchronous, distributed garbage collection
Lasterverteilung (Load Balancing)
Hier sollte auf Verfahren eingegangen werden, die Anwendungen oder Teile davon so über Rechner zu verteilen versuchen, dass eine möglichst hohe Performance erreicht wird. Es sollte dabei nicht (zumindest nicht ausschließlich) auf das Load Balancing in homogenen parallelen Systemen eingegangen werden; stattdessen sollte das Hauptaugenmerk auf heterogenen verteilten Systemen liegen.
- http://en.wikipedia.org/wiki/Load_balancing
- Orbacus Balancer. (Load Balancing in CORBA) http://www.iona.com/support/docs/orbacus/4.2.1/users_guide/index.html
- Othman, O. and Schmidt, D. C. 2001. Issues in the Design of Adaptive Middleware Load Balancing. In Proceedings of the ACM SIGPLAN Workshop on Languages, Compilers and Tools For Embedded Systems (Snow Bird, Utah, United States). LCTES '01. ACM Press, New York, NY, 205-213. http://doi.acm.org/10.1145/384197.384225
- Zhiling Lan, Valerie E. Taylor. Dynamic Load Balancing of SAMR Applications on Distributed Systems. http://www.sc2001.org/papers/pap.pap250.pdf
- http://www.ibr.cs.tu-bs.de/projects/load/index.shtml
- http://citeseer.nj.nec.com/541193.html
Synchronisation und verteilte Transaktionsverwaltung
Die Transaktion als Zusammenfassung logisch zusammengehörender Einzeloperationen kommt sowohl in zentralen als auch in verteilen Informationssystemen eine sehr große Bedeutung zu. In diesem Vortrag soll man der Begriff der Transaktion, die grundlegende Eigenschaften und die gängige Transaktionsmodell vorführen.
- http://de.wikipedia.org/wiki/Wettlaufsituation
http://de.wikipedia.org/wiki/Verklemmung
http://de.wikipedia.org/wiki/Semaphor_%28Informatik%29
http://de.wikipedia.org/wiki/Transaktion_%28Informatik%29
http://de.wikipedia.org/wiki/Commit-Protokoll
- Andrew S. Tanenbaum, Maarten van Stehen . Verteilte Systeme: Grundlagen und Paradigmen. Pearson Studium, 2003. (Kapitel 5.6, 7.5)
- Günther Bengel. Verteilte Systeme. Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, 2002. (Kapitel 5.3, 5.4)
- Sebastian Abeck, Peter C. Lockemann, Jochen Schiller, Jochen Seitz. Verteilte Informationssysteme. dpunkt.verlag, 2003. (Kapitel 15)
- Peter Dadam. Verteilte Datenbanken und Client/Server-Systeme. Springer, 1996. (Kapitel 7, 8)
- Bela Mutschler, Günther Specht. Mobile Datenbanksysteme. Springer, 2004. (Kapitel 5)
- Höpfner, H., Türkner, C., König-Ries, B. Mobile Datenbanken und Informationssysteme - Konzepte und Techniken. dpunkt.verlag, 2005. ISBN: 389864264X. (Kapitel 8)
Links und online-Literatur
Artikelsammlungen
- CiteSeer
- Computer Science Bibliography DBLP (Uni Trier)
- SIGMOD Record Web Edition
- Zugriff auf Online Publikationen über LibGate der Informatik
- ACM Anthology (nur von Rechnern der Informatik aus, bzw. per VPN):
- unter UNIX: /home/iai/data/docs/ACM
- unter Windows: \\iaiw2ksmb\dataint\docs\ACM
[Uni-Bonn] [Informatik] [III] [Lehre] [Seitenanfang]
Letzter Stand: 23.11.2005 14:41 Uhr, Serge Shumilov shumilov(at)cs.uni-bonn.de