Verteilte software entwicklung




















Frage: Was sind die Besonderheiten von Objekt-Servern? Was ist in diesem Zusammenhang ein Objekt-Adapter? Der Objektserver stellt lediglich die Mittel, um lokale Objekte remote zugreifbar zu machen.

Bevor ein Objekt aufgerufen kann, muss es in den Adressraum des Servers gebracht werden. Alle diese Entscheidungen werden in der activation policy festgelegt. Es ist schwieriger zu implementieren als Weak Mobility. Beschreiben Sie die zwei verschiedenen Arten von Architekturen von "virtual machines".

Virtualisierung erweitert diesen Gedanken auf Ressourcen, und wird auch als resource virtualization bezeichnet. Hier dient Virtualisierung dazu, dass ein Interface erweitert oder ersetzt wird, damit es die Eigenschaften eines anderen Systems imitieren kann. Bild auf Seite 80, englische Ausgabe, Second Edition. Process Virtual Machine: We can build a runtime system that essentially provides an abstract instruction set that is to be used for executing applications.

Instructions can be interpreted as in the case for the Java runtime environment , but could also be emulated as is done for running Windows applications on UNIX platforms. Note that in the latter case, the emulator will also have to mimic the behavior of system calls, which has proven to be generally far from trivial. Stressing that Virtualisation is done essentially only for a single process.

VMM: An alternative approach toward virtualization is to provide a system that is essentially implemented as a layer completely shielding the original hardware, but offering the complete instruction set of that same or other hardware as an interface. Crucial is the fact that this interface can be offered simulatneously to different programs.

As a result, it is now possible to have multiple, and different operating systems run independently and concurrently on the same platform. The layer is generally referred to as a virtual machine monitor VMM.

Typical examples of this approaches are VMware and Xen. Die restlichen laufen also normal weiter. Gute Namen sollten daher die Adresse weder direkt, noch versteckt codieren. Frage: Was ist ein "Name Space"? Ein Name identifiziert ein Objekt. Namen sind dabei immer relativ zu einem Verzeichnisknoten. Zur eindeutigen Zuordnung ist jedoch der entsprechende Kontext — eben der Namensraum zu beachten. Auswahl des ersten Knotens. Was ist reverse lookup? Was ist ein zone-transfer?

Es wird verwendet um Domainnamen auf IP-Adressen zu mappen. Knoten speichern ihre Daten in Resource Records. Dies dient der Ausfallsicherheit und Performance. Somit lassen sich z. Dazu braucht er dessen IP-Adresse. Frage: Was ist Directory Service bzw. Beschreiben Sie den prinzipiellen Aufbau des X. Attributbasierte Services werden oft auch als Directory Services bezeichnet. Jeder Eintrag kann mehrere Attribute-Wert-Paare speichern. Verwendung: z. In einem Ad hoc Netzwerk, wie z.

Ein Location Service kann dazu benutzt werden, Services zu registrieren und aufzufinden. Vorteil: sehr einfach. Frage: Wozu braucht man Uhrensynchronisation? Was ist die Problematik bei der Synchronisation von Physical Clocks? Es muss nicht immer eine "wirkliche" Uhr verwendet werden. Es kann auch nur eine logische Uhr verwendet werden. Die Genauigkeit von Zeitgebern wird durch das sogenannte Stratum definiert.

Je niedriger es ist, desto genauer ist eine Zeitquelle. Ein Rechner sendet eine Nachricht an den Zeitserver und merkt sich den Sendezeitpunkt t1. Der Server zeichnet sich den Empfangszeitpunkt t2 sowie den Sendezeitpunkt der Antwort kurz davor t3 und schickt die Antwort. Der Rechner zeichnet den Empfangszeitpunkt t4 auf. Korrektur: beschleunigen oder bremsen der lokalen Uhr.

Berkley Algorithmus: Es handelt sich dabei um eine interne Synchronisation. Es gibt einen Koordinator, welcher seine lokale Zeit an alle sendet auch an sich selbst. Jeder antwortet mit seiner Abweichung von dieser Referenzzeit. TAI seconds are of constant length, unlike solar seconds.

Leap seconds are introduced when necessary to keep UTC in phase with the sun. Weiterer Punkt: ZeitZonenProblematik. Was ist die "happened-before" Beziehung und wie funktionieren die "Lamport-Timestamps"? Verwendung von Logical Clocks: Es ist meist ausreichend, wenn alle die selbe Zeit haben, auch wenn diese nicht mit der realen Zeit zusammenpasst.

Es ist oft nur die Reihenfolge der Operationen wichtig. Dies bedeutet, dass alle Prozesse wissen, dass a vor b eingetreten ist. Zwei Situationen:. Lamport-Timestamps: Ereignisse werden nur durchnummeriert. Jeder Prozess hat seinen eigenen Counter logische Uhr. Es muss immer gelten:. Es handelt sich dabei um eine partielle Ordnung der Ereignisse. Frage: Wie funktioniert Distributed Mutual Exclusion. Wie verhalten sich verschiedene Algorithmen centralized, distributed, token-ring hinsichtlich Skalierbarkeit und Fehlertoleranz?

Das Ziel von Distributed Mutual Exclusion ist, in einem Verteilten System den exklusiven Zugriff auf Ressourcen zu vergeben, es soll verhindert werden, dass 2 Prozesse gleichzeitig auf dieselbe Ressource zugreifen. Also n points of failure! Frage: Sie sollen einen Dateiserver implementieren der mehrere Clients gleichzeitig bedienen kann. Nennen und beschreiben Sie einen konkreten Mechanismus der garantiert dass immer nur einer der Clients gleichzeitig eine Datei schreiben darf.

Die anderen Clients sollen solange blockiert werden egal ob schreibend oder lesend bis der schreibende Client seine Arbeit beendet hat. Warum ist das sinnvoll? Die Threads innerhalb des Server Prozesses treffen die Entscheideungen. Bestehend aus:. Sowohl bully, als auch der ring election Algorithmus basieren auf der Idee, dass jeder Prozess eine eindeutige ID besitzt z.

Dadurch entsteht eine Baumstruktur. Jeder Parent wartet nun nach dem Weiterleiten auf die Response aller seiner Kinder. Hat ein Parent von allen Kindern eine Response erhalten, kann er wiederum eine Response an seinen mit dem besten Prozess Parent senden. Kein Knoten kann mehr als einen Token gleichzeitig haben.

Teilchen mit gleicher Ladung. Im englischen Buch S. Geben Sie zumindest einen Algorithmus an. Ein Initiator beginnt seinen eigenen Status aufzuzeichnen und schickt einen Marker aus. Beim Empfang des 1. Markers zeichnet jeder Rechner seinen lokalen Status auf und schickt den Marker weiter. Bis zum Empfang des Markers zum zweiten Mal zeichnet queued jeder Prozess alle eingehenden Nachrichten. Es handelt sich wohl um zwei verschiedene Varianten des Algorithmus. Bei der einen wird der Status nur aufgezeichnet, bei der anderen auch an den Initiator gesendet.

Und dann muss die empfangene Nachricht auch weitergeleitet werden. In welcher Beziehung stehen Replikation und Skalierbarkeit zueinander? In diesem Fall kann die Leistung verbessert werden, indem man diesen Server repliziert und damit die Arbeit aufteilt. Medizin schlimmer als Krankheit? Replica-Server Placement ist eigentlich nicht gefragt! Client-initiierte Repliken : Auch bekannt als Cache, werden auf dem lokalen Speicher oder im lokalen Netzwerk platziert.

Dienen zum Verbessern der Zugriffszeiten auf Daten, werden jedoch nur eine begrenzte Zeit gespeichert um zu verhindern, dass extrem veraltete Daten verwendet werden, Effizienz kann gesteigert werden wenn ein gemeinsamer Cache verwendet wird. Pull- oder Push-Protokolle: Dieser Entwurfsaspekt unterscheidet sich darin , ob Aktualisierungen abgeholt pull oder automatisch verschickt werden push. In einem push-basierten Ansatz, auch als Server-basierte Protokolle bezeichnet, werden Aktualisierungen an andere Repliken weitergegeben, ohne dass diese welche angefordert haben.

Neben der Tatsache, dass statusbehaftete Server weniger fehlertolerant sind, kann die Verwaltung aller Client-Repliken und -Caches eine wesentlichen Overhead auf dem Server verursachen. In einem pull-basierten Ansatz, auch als Client-basierte Protokolle bezeichnet, fordert ein Server oder Client einen anderen Server auf, ihm Aktualisierungen zu senden, die ihm zu diesem Zeitpunkt vorliegen.

Alternativ kann der Client auch ein neues Lease anfordern. In diesem Fall verwendet ein Server eine Multicast-Gruppe, um mehreren anderen Server welche in der Multicast-Gruppe sind Aktualisierungen bereitzustellen. Alles, was der Scrum Master kann, kannst auch du! Die verteilte Zusammenarbeit ist ein Aspekt, der in verteilten Teams entwickelt werden muss. Mathis, A.

Tietz, J. Kluge, C. Dresden: TUDpress. Tietz, A. Remote Leadership: Warum Mitarbeitermotivation ein Mythos ist. Agile Denkfehler Nr. Corona: Agile Unternehmen meistern die Krise. Skalierung von Scrum: 3 Prinzipien von erfahrenen Product Ownern.

Kommentare 0. Neuen Kommentar schreiben. Ich verstehe und akzeptiere die Datenschutzbestimmungen. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy. See our Privacy Policy and User Agreement for details. Create your free account to read unlimited documents. The SlideShare family just got bigger. Home Explore Login Signup.

Successfully reported this slideshow. We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime. Next SlideShares. You are reading a preview. Create your free account to continue reading. Sign Up.



0コメント

  • 1000 / 1000