PowerPoint-Pr - PowerPoint PPT Presentation

About This Presentation
Title:

PowerPoint-Pr

Description:

Title: PowerPoint-Pr sentation Author: lohr Last modified by: lohr Created Date: 1/14/2002 12:08:11 PM Document presentation format: Bildschirmpr sentation – PowerPoint PPT presentation

Number of Views:75
Avg rating:3.0/5.0
Slides: 13
Provided by: Lohr1
Category:

less

Transcript and Presenter's Notes

Title: PowerPoint-Pr


1
7.2 Mobile Objekte (mobile objects, auch
Objektmigration, object migration)
bedeutet Objekt ist nicht an den Ort gebunden,
an dem es erzeugt wurde, kann dynamisch
verlagert werden. Warum? - Effizienz
(Alternative Replikation/Caching 7.3) -
Verfügbarkeit (z.B. beim Mobilrechnen) -
Verfügungsgewalt (Sicherheit) Achtung Nicht
Migration mit Kopieren verwechseln
! (allerdings enge technische Verwandtschaft)
2
Klassifikation Steuerung der
Migration explizit implizit imperativ
deklarativ Migrationsabstraktion
passiv weak mobility Objekt ist während
der Migration aktiv strong mobility
3
Allgemeine Probleme bei der Migration wenn
Objekt verlagert wird ? Aktiv oder nur
passiv? Synchronisation erforderlich? ?
Merkt es davon etwas, d.h. verhält es sich am
Zielort anders? ? Werden Objekte, auf die es
verweist, mitverlagert? ? . . . und wenn es
nichtverlagerbare Systemobjekte sind? ? Sind
Objekte nach mehrfacher Verlagerung schwerer
erreichbar?
4
7.2.1 Imperative Migration wird explizit durch
entsprechende Anweisung veranlaßt
Wünschenswert (nicht in RMI) Remote und
UnicastRemoteObject haben Operationen void
move(String url) void move(RemoteObject
ob) - bringen eine Kopie des Objekts nach url
bzw. zu ob (eingebettete Objekte werden wie in
7.1.5.3 behandelt) - ersetzen das Original
durch einen Vertreter, der sich auf die Kopie
bezieht
5
Mobile Agenten mobile Objekte, die selbst
migrieren
nicht verwechseln mit Intelligenten Agenten für
verteiltes Problemlösen
this.move("//remote8300") verlagert das
Objekt und generiert am Zielort einen Thread,
der die Ausführung fortsetzt Variante void
move(String url, String op) beendet laufende
Operation des Objekts, verlagert das Objekt und
generiert am Zielort einen Thread, der die
Operation op ausführt, z.B. this.move("//marke
t.com", "trade")
6
Information über mobile Agenten und einschlägige
Systeme http//www.davidreilly.com/topics/softw
are_agents/mobile_agents/ http//mole.informatik.
uni-stuttgart.de/mal/mal.html
7
7.2.2 Deklarative Migration
wird unterstützt durch spezielle Sprache mit
entsprechenden Konstrukten bzw. durch
deklarative Spracherweiterungen Annotationen
und entsprechenden Vorübersetzer 2
Beispiele ? Emerald (Univ. of Washington,
Seattle, 1983-86) http//www.diku.dk/ research-g
roups/distlab/Research/Internal/DistOOS/Emerald/
? Doorastha (FU Berlin, Markus Dahm)
http//www.inf.fu-berlin.de/dahm/doorastha/
8
Emerald Zusätzliche Parametermechanismen bei
Fernaufrufen Call-by-move - Argument migriert
zum aufgerufenen Objekt server.op(move
arg) Call-by-visit - Argument migriert zum
aufgerufenen Objekt und zurück server.op(visit
arg) (! Nicht verwechseln mit
call-by-value-result !) Plattform Workstation
Cluster, Programmcode auf allen Stationen
repliziert
9
Doorastha Java mit Annotationen lt ..... gt ,
ohne (sichtbaren) RMI-Code Klasse für
Fernobjekte ltglobalizablegt class Table
... Fernerzeugung Table t new ltremotenew
host...gt Table() Spezifikation von
call-by-move void op(ltby-movegt Table t)
... weitere Annotationen, auch für Attribute
von Objekten
10
7.2.3 Migrationsabstraktion
z.B. bei JavaParty Univ. Karlsruhe, Michael
Philippsen) http//wwwipd.ira.uka.de/JavaParty/
(lokal file/import/public/opt/JavaParty/doc/
features.html) minimal erweitertes Java für
hochgradige Verteilungsabstraktion zwecks
Parallelrechnen im Lokalnetz ohne (sichtbaren)
RMI-Code remote class X ... bewirkt, daß die
Objekte fernaufrufbar und mobil
sind Migration wird von intelligentem
Laufzeitsystem gesteuert (explizite Steuerung
ist ebenfalls möglich) Voraussetzung alle
Stationen sehen gemeinsames (verteiltes)
Dateisystem
11
Benutzung von JavaParty 1. Übersetzen mit
JavaParty-Übersetzer jpc ltfilenamegt.java
z.B. jpc HelloJP.java mit public remote class
HelloJP public static void main(String arg)
System.out.println("Hello JavaParty!")
generiert diverse Klassen, einschließlich
Hilfs- und Stub-Klassen 2. JavaParty Runtime
Manager starten jprm
12
3. Eine oder mehrere JavaParty Virtual Machines
starten, z.B. auf verschiedenen Stationen,
aber so, daß die .class-Dateien erreichbar
sind jpvm Achtung jpvm sucht Kontakt
mit jprm per Rundruf Stationen sollten daher
im gleichen Subnetz sein 4. Programm so
starten, daß die .class-Dateien erreichbar sind,
z.B. jp HelloJP 5. Die mit jprm und jpvm
hochgezogene Plattform abräumen mit jprk (rk
wie remote kill)
Write a Comment
User Comments (0)
About PowerShow.com