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

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

ANHANG A: SCHNITTSTELLEN DER REALISIERUNG<br />

ANHANG A: SCHNITTSTELLEN DER REALISIERUNG<br />

Anhang A.1: Instanzenanteil-repräsentierende Objekte<br />

package de.upb.jscatter.runtime.migration;<br />

import ...;<br />

// Schnittstelle eines migrierbaren Instanzenanteil-repräsentierenden Objektes<br />

public interface MigrateableCuckoo extends Serializable<br />

{<br />

public void _setObjectID(int _objectID); // zum Aktualisieren der _objectID<br />

}<br />

public int _getObjectId();<br />

public void _setObjectIP(String _objectIP); // zum Aktualisieren der _objectIP<br />

public String _getObjectIp();<br />

public void _setClassName(String _className); // zum Setzen des Namens nach Migration<br />

public void _migrated(); // setzt das Cuckoo-Objekt migriert<br />

public boolean _isMigrated(); // Schnittstelle für Einfachmigration<br />

// Schnittstelle zum Ermitteln der aktuell aktiven Methodenzugriffe<br />

public int _numberOfActivedMethodCalls();<br />

// Schnittstelle zum Ermitteln ob das ClassObject aktuell migriert oder repliziert wird<br />

public boolean _isMigrationActive();<br />

// Schnittstelle zum Migrieren eines Cuckoo-Objekts<br />

public Handle _migrate(int destinationNodehostID) throws RemoteException;<br />

// Schnittstelle zum Replizieren eines Cuckoo-Objekts<br />

public void _replicate(int destinationNodehostID) throws RemoteException;<br />

// makiert ein Cuckoo-Objekt als Replikat<br />

public void _replicated();<br />

// gibt an, ob das Cuckoo-Objekt ein Replikat ist<br />

public boolean _isReplicated();<br />

// Schnittstelle für Replikationsstrategie: Replikate-Bei-Schreibzugriff-Löschen<br />

public void deleteReplicaByWriteAccess() throws RemoteException;<br />

// Schnittstelle für Replikationsstrategie: Replikate-Bei-Schreibzugriff-Aktualisieren<br />

public void lockReplicaForWriteAccess() throws RemoteException;<br />

// Schnittstelle für Replikationsstrategie: Replikate-Bei-Schreibzugriff-Aktualisieren<br />

public void updateAndReleaseReplicaForWriteAccess() throws RemoteException;<br />

// sperrt ein Cuckoo-Replikat Aktualisierung des Objektzustandes<br />

public void _lockReplica();<br />

// gibt an, ob das Cuckoo-Replikat aktuell <strong>zur</strong> Aktualisierung des Objektzustand<br />

// gesperrt ist<br />

public boolean isReplicaLocked();<br />

// Schnittstelle zum Aktualisieren des Objektzustandes eines Cuckoo-Replikats<br />

public void _updateReplica(byte[] serialisedState);<br />

// Erzeugt ein Abbild des Objektzustandes eines Cuckoo-Objekts für dessen Migration<br />

public Memento createMigrationMemento();<br />

// Erzeugt ein Abbild des Objektzustandes eines Cuckoo-Objekts für dessen Replikation<br />

public Memento createReplicationMemento();<br />

// Schnittstelle zum Setzen des Objektzustandes nach Migration eines Cuckoo-Objektes<br />

public void setStateAfterMigration(Memento migrationMemento);<br />

// Schnittstelle zum Aktualisieren des Objektzustandes eines Replikats nach einem<br />

// Schreibzugriff <strong>auf</strong> ein repliziertes Original-Cuckoo-Objekt<br />

public void updateStateAfterReplication(Memento replicationMemento);<br />

// Schnittstelle zum Setzen des Objektzustandes nach Replikation eines Cuckoo-Objektes<br />

public void setStateAfterReplication(Memento replicationMemento);<br />

81

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!