Download - FESG - Technische Universität München
Download - FESG - Technische Universität München
Download - FESG - Technische Universität München
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
102 KAPITEL 4: DIE VERBESSERUNG DER DIENSTGÜTE<br />
überhaupt genutzt werden soll). Alle weiteren Verästelungen sind so gestaltet, dass<br />
sie die minimalen Erfordernisse der Container erfüllen (Integration von Kopieroperatoren)<br />
und interne Fehler durch Ausnahmebehandlungen preisgeben.<br />
Erste Baumebene bilden Pfadan- Die nächste Stufe ergibt sich aus der Notwendigkeit heraus, Zusatzinformatiogaben<br />
nen zu den Pfaden der Dateien zu verwalten. Dabei werden die Pfade nicht als hierarchisch<br />
angesehen. Jeder Pfad (Schlüssel in eine Map), auch wenn er ein Teilpfad<br />
eines anderen ist, erhält einen eigenen Eintrag. Dies ist wegen des linearen Verwaltungsaufwandes<br />
möglich, birgt allerdings eine Bedingung: Generelle Absorptionen<br />
(Durchläufe durch die Strukturen mit dem Zweck nicht weiter benötigte Einträge<br />
zu entfernen und betroffene Elemente je nach Zustand zu übernehmen oder zu löschen)<br />
müssen entsprechend der Pfadhierarchie stattfinden. Das bedeutet, dass die<br />
Absorption bei den längsten Pfaden beginnen muss, um dann in den Wurzelverzeichnissen<br />
zu enden. Deshalb wird zum einfacheren Sortieren der Pfadlängen in<br />
die über den Pfad als Schlüssel zugreifbare Pfadverwaltung auch direkt die Angabe<br />
zur Pfadlänge mit integriert.<br />
Sperrverweise für ganze Verzeichnisbäume<br />
sind in dieser<br />
Ebene angesiedelt<br />
Eine weitere Kontrollinformation der Pfadverwaltung ist die Anzahl zugreifender<br />
Nutzer, so dass evtl. einsetzende Löschaktionen abgeblockt werden können,<br />
solange mehr als ein Nutzer zugreift. Eine Vormerkung ist ebenfalls nicht nötig, da<br />
verwaltete Einträge auf zugreifende Nutzer deuten und somit von einem Inhalt in<br />
dem Verzeichnis ausgegangen werden kann. Außerdem werden rekursive Vorgänge<br />
nicht von der Schnittstelle unterstützt, sondern sind von den Anwendungen als<br />
zusätzliche Basisbefehle einer höheren Ebene zu realisieren.<br />
Um schon hier den nützlichen Sperrmechanismus einzubringen, existiert ein<br />
Eintrag, welcher auf einen sperrenden Nutzer verweist (Zeiger auf die Registrierung<br />
seiner Sitzung). Dadurch ist es möglich, komplette Pfade und damit Speicherbereiche<br />
zu sperren. Sperren wirken dabei autoritär. Alle aktiven Zugriffe ohne<br />
Sperren anderer Nutzer werden sofort beendet und begonnene mehrteilige Aktionen<br />
verworfen. Bei existierenden Sperren gilt das Vorrecht des Ersten, so dass weitere<br />
abgewiesen werden. Ab dann hat nur noch der Halter der Sperre ein exklusives<br />
Nutzungsrecht zum Lesen und Schreiben, bis er es freiwillig aufgibt. Sperren dienen<br />
somit zur Verhinderung von sog. „Lost Updates“ (unbemerktes Verschwinden<br />
von Veränderungen, sobald mindestens zwei Autoren gleichzeitig an derselben Datei<br />
arbeiten und diese zu verschiedenen Zeitpunkten freigeben). Zur Vermeidung<br />
von Deadlocks wird regelmäßig die Existenz des Inhabers einer Sperre dadurch<br />
überprüft, dass sein letzter Zugriff nicht länger zurückliegen darf, als eine vordefinierte<br />
Zeitspanne. Wird sie überschritten, wird sein exklusives Recht zwangsweise<br />
zurückgezogen, und alle bis dato unvollständigen Abläufe werden verworfen.<br />
Eine weitere Baumebene sind die Einem Pfadelement ist weiter eine Liste für die Menge der gerade in Bear-<br />
Dateiangaben beitung befindlichen Dateien (Originale, Replikate, Versionen) eingegliedert. Ein<br />
Element der Liste beinhaltet die eindeutige Identifikationsnummer der ersten Version<br />
(Zeitstempel erweitert durch eine fortlaufende Nummer und eine Zufallszahl)<br />
und der letzten. Auch hier kann wieder ein exklusives Nutzungsrecht eingetragen<br />
werden. Allerdings sperrt der Inhaber nur die jeweilige Datei und ihre Versionen<br />
mit ähnlichen Konsequenzen wie bei Pfadsperren. Soll eine Datei gelöscht werden,<br />
während noch Versionen geschrieben werden, so existiert ein Eintrag zur Vormerkung<br />
des Löschvorgangs. Da dieser in der logischen Ordnung nach allen bisherigen<br />
Startzeiten von Schreibaktionen stattfindet, tritt er nach Beendigung des letz-