04.10.2013 Aufrufe

Strategien zur automatischen Objektmigration auf Grundlage ...

Strategien zur automatischen Objektmigration auf Grundlage ...

Strategien zur automatischen Objektmigration auf Grundlage ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

KAPITEL 3 VORÜBERLEGUNGEN<br />

Konstruktoren und vererbte Klassenteile mit ihren Oberklassen verbunden<br />

sind, müssen diese Klassenbestandteile mit serialisiert werden. Damit Klassen<br />

mit nicht-serialisierbaren Oberklassen trotzdem serialisiert werden können,<br />

müssen ihre nicht-serialisierbaren Oberklassen einen accessible Konstruktor<br />

ohne Parameter besitzen. Das heißt, die Klasse muss einen Konstruktor<br />

definieren, der als public deklariert ist und keine Parameter enthält. Hierbei<br />

ist jedoch der Standard-Konstruktor nicht ausreichend, er muss konkret in der<br />

nicht-serialisierbaren Klasse definiert werden [GJS1996].<br />

Die accessible Konstruktoren ohne Parameter werden für die Deserialisierung<br />

eines Objektzustandes benötigt. Sie werden bei der Deserialisierung als erstes<br />

<strong>auf</strong>gerufen, anschließend werden die weiteren Bestandteile des Objektes<br />

deserialisiert.<br />

In verteilten Anwendungen wird Objektserialisierung sehr oft durchgeführt.<br />

Deshalb bietet eine nicht-effiziente Objektserialisierung ein großes Einsparpotential<br />

für die effiziente Ausführung einer verteilten Anwendung. PHILIPPSEN<br />

und HAUMACHER haben sich mit der Verbesserung der JDK-Serialisierung<br />

befasst und eine effizientere Objektserialisierung namens UKA-Serialisierung<br />

[PH1999] entwickelt. Sie baut <strong>auf</strong> der JDK-Serialisierung <strong>auf</strong>, ist jedoch 20% -<br />

50% schneller als die JDK-Serialisierung. Wie der Geschwindigkeitsvorteil<br />

erreicht wurde, kann in [PH1999] nachgelesen werden. In ihrer grundlegenden<br />

Vorgehensweise unterscheiden sich JDK-Serialisierung und UKA-Serialisierung<br />

nicht.<br />

3.3 Parameter von Migrationsstrategien<br />

Einige Migrationsstrategien besitzen Parameter, die den Entscheidungsprozess<br />

über Migration, Replikation oder die Beibehaltung der Platzierung eines<br />

Objektes beeinflussen. Diese Parameter stellen meist Schwellwerte dar die<br />

darüber Auskunft geben, ab oder bis zu welcher Anzahl von Zugriffen ein<br />

Objekt migriert oder repliziert wird.<br />

Wie entscheidend die Wahl des Schwellwertes für Migration das Verhalten<br />

eines verteilten Systems beeinflusst, wurde in [DW1994] hervorgehoben. Eine<br />

zu niedrige Wahl des Schwellwertes führt zu hoher zusätzlicher Belastung des<br />

verteilten Systems. Im Gegensatz dazu verhindert eine zu hohe Wahl des<br />

Schwellwertes die Leistungsverbesserung, die durch Migration und Replikation<br />

erreicht werden soll.<br />

Im Abschnitt 2.2.2 wurde schon dar<strong>auf</strong> eingegangen, dass einige Migrationsstrategien<br />

einen Replikationslevel besitzen, der die Höchstgrenze der im<br />

verteilten System befindlichen Replikate eines Objektes angibt. Findet <strong>auf</strong> ein<br />

Replikat ein Schreibzugriff statt, bestimmt der Replikationslevel und die<br />

hierdurch verursachte Größe der Zustandsänderung, wie hoch der Aufwand für<br />

den Datentransfer ist, um alle Replikate des Objektes im verteilten System<br />

konsistent zu halten.<br />

22

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!