1 romain quilici objectweb architecture meeting july 2nd 2003 proactive architecture of an open...
TRANSCRIPT
![Page 1: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/1.jpg)
1
Romain Quiliciwww.objectweb.org/ProActive
ObjectWeb Architecture meetingJuly 2nd 2003
ProActive Architecture of an Open Middleware for
the Grid
![Page 2: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/2.jpg)
2
– A uniform framework: An Active Object pattern– A formal model behind: Prop. Determinism, insensitivity to
deploy.
Main features: Remotely accessible Objects (RMI, JINI, --> UDDI) Asynchronous Communications with synchro: automatic Futures Group Communications, Migration (mobile computations) XML Deployment Descriptors Interfaced with various protocols: rsh,ssh,LSF,Globus,--> SOAP Visualization and monitoring: IC2D
In the ObjectWeb Consortiumsince April 2002 (LGPL License)
ProActive A Java API + Tools for Parallel, Distributed Computing
![Page 3: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/3.jpg)
3
Table of Contents ProActive Runtime
Active Objects Model
Future Objects and Automatic Continuation
Groups Communication
Active Objects Migration
Abstract Deployment Model
Components Infrastructure
Security
![Page 4: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/4.jpg)
4
ProActive Runtime Transparently created when using ProActive Only one by JVM -- Singleton pattern Offer basics services to create or receive Active Objects Accessible remotely Partially hidden from users --> Use of Nodes (look like remote) ProActive Nodes are defined on PART --> possibly N nodes by
JVMs Use of patterns to improve integration
– Smart Proxy
– Adapter– Factory ….
![Page 5: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/5.jpg)
5
ProActive Runtime Architecture
RMI case
PART Smart Proxy
PART
PART Remote
Node1
PART Stub
Jvm1 Jvm2
Singleton
Adapter
Factory
Node1 properties
![Page 6: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/6.jpg)
6
Table of Contents ProActive RuntimeProActive Runtime
Active Objects Model
Future Objects and Automatic ContinuationFuture Objects and Automatic Continuation
Groups CommunicationGroups Communication
Active Objects MigrationActive Objects Migration
Abstract Deployment ModelAbstract Deployment Model
Components InfrastructureComponents Infrastructure
SecuritySecurity
![Page 7: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/7.jpg)
7
Active Object Model Active objects : coarse-grained structuring entities (subsystems) Each active object: - possibly owns many passive objects
- has exactly one thread. No shared passive objects -- Parameters are passed by deep-copy Asynchronous Communication between active objects Future objects and wait-by-necessity. Full control to serve incoming requests (reification)
![Page 8: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/8.jpg)
8
Instantiation-based:
A a = (A)ProActive.newActive(«A», params, node);
To get a non-FIFO behavior (Class-based):
class pA extends A implements RunActive { … }
Object-based:A a = new A (obj, 7);
... ...
a = (A)ProActive.turnActive (a, node);
Creating active objects
![Page 9: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/9.jpg)
9
"A"
"pA"
ap_a
foo (A a){ a.g (...); v = a.f (...); ... v.bar (...);}
ProActive: Reuse and seamlessTwo key features:Polymorphism between standard and active objects
– Type compatibility for classes (and not only interfaces)– Needed and done for the future objects also– Dynamic mechanism (dynamically achieved if needed)
Wait-by-necessity: inter-object synchronization– Systematic, implicit and transparent futures (“value to come”)
Ease the programming of synchronizations, and the reuse of routines
O.foo(a) : a.g() and a.f() are « local »
O.foo(p_a): a.g() and a.f()are remote + Async.»
![Page 10: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/10.jpg)
10
Active Object Components
Body
Object
Proxy
StubObject
Caller
Components of an Active Object
![Page 11: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/11.jpg)
11
Active Object Architecture
RMI case Jvm1 Jvm2
Caller
Stub
Object
Proxy
Body
Smart Proxy
Body Stub Remote
Body
Body
Object
RMI Specific
Byte code generation with asm
![Page 12: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/12.jpg)
12
Body
Request Receiver
Reply Receiver
Reply Sender
Service ObjectRequestLine
FuturePool
Body Architecture
![Page 13: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/13.jpg)
13
1
1 - Call
2
2 - Reception of Request
3
3 - Selection of Request
4
4 - Execution
5
5 - Sending back the reply
Caller
Body
Request Receiver
Reply Receiver
Reply Sender
Service Objet
Request to an Active Object
![Page 14: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/14.jpg)
14
Table of Contents ProActive RuntimeProActive Runtime
Active Objects ModelActive Objects Model
Future Objects and Automatic Continuation
Groups CommunicationGroups Communication
Active Objects MigrationActive Objects Migration
Abstract Deployment ModelAbstract Deployment Model
Components InfrastructureComponents Infrastructure
SecuritySecurity
![Page 15: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/15.jpg)
15
Future Objects
A res = ActiveObject.foo();
FutureProxy
Stub_Ares
• The caller receives a Future : it continues its execution
• If it tries to access to the value or res, it is blocked in the future proxy (Wait By Necessity), until this value is available
Caller
![Page 16: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/16.jpg)
16
Object
• When the called object finish the computation of res, the value is returned to the caller
• Future is updated transparently
FutureProxy
Stub_AresCaller
Future Objects
A res = ActiveObject.foo();
![Page 17: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/17.jpg)
17
Automatic Continuation
Caller
b
a
![Page 18: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/18.jpg)
18
Caller
b
a
r1=a.foo()
Automatic Continuation
A Future can be passed by parameter or by result: chains of futures will be updated by Automatic Continuation.
…
r1=a.foo()
…
![Page 19: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/19.jpg)
19
Caller
b
a
Future_r1
Automatic Continuation
A Future can be passed by parameter or by result: chains of futures will be updated by Automatic Continuation.
…
r1=a.foo()
…
![Page 20: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/20.jpg)
20
Caller
b
a
Future_r1
r2=b.bar(r1)
Automatic Continuation
A Future can be passed by parameter or by result: chains of futures will be updated by Automatic Continuation.
…
r1=a.foo()
…
r2=b.bar(r1)
![Page 21: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/21.jpg)
21
Caller
b
a
Future_r1
Future_r1Future_r2
Automatic Continuation
A Future can be passed by parameter or by result: chains of futures will be updated by Automatic Continuation.
…
r1=a.foo()
…
r2=b.bar(r1)
![Page 22: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/22.jpg)
22
Caller
b
a
Future_r1
Future_r1Future_r2
Value_r1
UPDATE
Automatic Continuation
A Future can be passed by parameter or by result: chains of futures will be updated by Automatic Continuation.
…
r1=a.foo()
…
r2=b.bar(r1)
![Page 23: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/23.jpg)
23
Caller
b
a
Future_r1
Future_r1Future_r2
Value_r1
UPDATE
Value_r1
Automatic Continuation
A Future can be passed by parameter or by result: chains of futures will be updated by Automatic Continuation.
…
r1=a.foo()
…
r2=b.bar(r1)
![Page 24: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/24.jpg)
24
Caller
b
a
Future_r1
Future_r1Future_r2
Value_r1
UPDATE
Value_r1
Value_r2
Automatic Continuation
A Future can be passed by parameter or by result: chains of futures will be updated by Automatic Continuation.
…
r1=a.foo()
…
r2=b.bar(r1)
![Page 25: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/25.jpg)
25
Table of Contents ProActive RuntimeProActive Runtime
Active Objects ModelActive Objects Model
Future Objects and Automatic ContinuationFuture Objects and Automatic Continuation
Groups Communication
Active Objects MigrationActive Objects Migration
Abstract Deployment ModelAbstract Deployment Model
Components InfrastructureComponents Infrastructure
SecuritySecurity
![Page 26: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/26.jpg)
26
Group Communication
Manipulate groups of Active Objects in a simple and typed manner– Typed groups of active and remote objects.
– Maintain the ‘dot ’ notation, language property
– Dynamic generation of groups of results
Be able to express high-level collective communication– broadcast
– scatter, gather
Based on the ProActive communication mechanism– Replication of N ‘ single ’ communications
– Preservation of the « rendez-vous »
– Asynchronous
![Page 27: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/27.jpg)
27
Group Structure
Proxy for Group
RemoteOA
StubJvm1 Jvm2
Jvm3
Stub Proxy
Stub Proxy
RemoteOA
![Page 28: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/28.jpg)
28
A
Construction of a Result Group
Typed Group Java or Active Object
A ag = newActiveGroup (…)V v = ag.foo(param); v.bar();
V
![Page 29: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/29.jpg)
29
Table of Contents ProActive RuntimeProActive Runtime
Active Objects ModelActive Objects Model
Future Objects and Automatic ContinuationFuture Objects and Automatic Continuation
Groups CommunicationGroups Communication
Active Objects Migration
Abstract Deployment ModelAbstract Deployment Model
Components InfrastructureComponents Infrastructure
SecuritySecurity
![Page 30: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/30.jpg)
30
Migration of Active Objects
Migration is initiated by the active object itself through a primitive: migrateTo
Can be initiated from outside through any public method
The active object migrates with:• all pending requests• all its passive objects • all its future objects
Automatic and transparent forwarding of:• requests (remote references remain valid)• replies (its previous queries will be fullfilled)
![Page 31: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/31.jpg)
31
Characteristics and optimizations
Same semantics guaranteed (RDV, FIFO order point to point, asynchronous)
Safe migration (no agent in the air!) Local references if possible when arriving within a VM Tensionning (removal of forwarder)
![Page 32: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/32.jpg)
32
Characteristics and optimizations
Same semantics guaranteed (RDV, FIFO order point to point, asynchronous)
Safe migration (no agent in the air!) Local references if possible when arriving within a VM Tensionning (removal of forwarder)
![Page 33: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/33.jpg)
33
direct
Characteristics and optimizations
Same semantics guaranteed (RDV, FIFO order point to point, asynchronous)
Safe migration (no agent in the air!) Local references if possible when arriving within a VM Tensionning (removal of forwarder)
![Page 34: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/34.jpg)
34
direct
direct
Characteristics and optimizations
Same semantics guaranteed (RDV, FIFO order point to point, asynchronous)
Safe migration (no agent in the air!) Local references if possible when arriving within a VM Tensionning (removal of forwarder)
![Page 35: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/35.jpg)
35
direct
direct
forwarder
Characteristics and optimizations
Same semantics guaranteed (RDV, FIFO order point to point, asynchronous)
Safe migration (no agent in the air!) Local references if possible when arriving within a VM Tensionning (removal of forwarder)
![Page 36: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/36.jpg)
36
direct
direct
forwarder
Characteristics and optimizations
Same semantics guaranteed (RDV, FIFO order point to point, asynchronous)
Safe migration (no agent in the air!) Local references if possible when arriving within a VM Tensionning (removal of forwarder)
![Page 37: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/37.jpg)
37
direct
direct
forwarder
Characteristics and optimizations
Same semantics guaranteed (RDV, FIFO order point to point, asynchronous)
Safe migration (no agent in the air!) Local references if possible when arriving within a VM Tensionning (removal of forwarder)
![Page 38: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/38.jpg)
38
direct
direct
forwarder
Characteristics and optimizations
Same semantics guaranteed (RDV, FIFO order point to point, asynchronous)
Safe migration (no agent in the air!) Local references if possible when arriving within a VM Tensionning (removal of forwarder)
![Page 39: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/39.jpg)
39
API for Mobile Agents Basic primitive: migrateTo
• public static void migrateTo (String u)
• public static void migrateTo (Node n)
// String or ProActive node (VM)
• public static void migrateTo (Object o)
// joinning another active object
Primitive to automatically execute action upon migration
• public static void onArrival (String r) // execute r upong arrival on a new Node
• public static void onDeparture (String r)
![Page 40: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/40.jpg)
40
Migration
Body
Request Receiver
Reply Receiver
Reply Sender
Service ObjectRequestLine
FuturePool
Migration Manager
Body
Request Receiver
Reply Receiver
Reply Sender
Service ObjectRequestLine
FuturePool
Migration Manager
Caller
![Page 41: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/41.jpg)
41
Body
Request Receiver
Reply Receiver
Body
Request Receiver
Reply Receiver
Reply Sender
Service ObjectRequestLine
FuturePool
Migration Manager
Caller
Forwarder
Migration
![Page 42: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/42.jpg)
42
Table of Contents ProActive RuntimeProActive Runtime
Active Objects ModelActive Objects Model
Future Objects and Automatic ContinuationFuture Objects and Automatic Continuation
Groups CommunicationGroups Communication
Active Objects MigrationActive Objects Migration
Abstract Deployment Model
Components InfrastructureComponents Infrastructure
SecuritySecurity
![Page 43: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/43.jpg)
43
Abstract Deployment Model Objectives
Problem:– Difficulties and lack of flexibility in deployment– Avoid scripting for: configuration, getting nodes,
connecting, etc. A key principle:
– Abstract Away from source code:• Machines• Creation Protocols• Lookup and Registry Protocols
Context:– Grid – Distributed Objects, Java– Not legacy-code driven, but adaptable to it
![Page 44: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/44.jpg)
44
Descriptors: based on Virtual Nodes
Virtual Node (VN):• Identified as a string name
• Used in program source
• Configured (mapped) in an XML descriptor file --> Nodes
Operations specified in descriptors:• Mapping of VN to JVMs (leads to Node in a JVM on Host)
• Register or Lookup VNs, Create or Acquire JVMs
• Components Definition, Security Settings
Program Source Descriptor (RunTime)|----------------------------------| |--------------------------------------|Activities (AO) --> VN VN --> JVMs --> Hosts
Runtime structured entities: 1 VN --> n Nodes in n JVMs
![Page 45: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/45.jpg)
45
<virtualNodesDefinition>
<virtualNode name="Dispatcher"/>
</virtualNodesDefinition>
<map virtualNode="Dispatcher">
<jvmSet>
<vmName value="Jvm1"/>
</jvmSet>
</map>
<jvm name="Jvm1">
<acquisition method="rmi"/>
<creation>
<processReference refid="jvmProcess"/>
</creation>
</jvm>
Definitions
and mapping
Definition of Virtual Nodes
Mapping of Virtual Nodes
Mapping Virtual Nodes: example
![Page 46: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/46.jpg)
46
Mapping Virtual Nodes: example<processDefinition id="jvmProcess">
<jvmProcess class="org.objectweb.proactive.core.process.JVMNodeProcess"/>
</processDefinition>
<processDefinition id="rshProcess">
<rshProcess class="org.objectweb.proactive.core.process.rsh.RSHJVMProcess"
hostname="sea.inria.fr">
<processReference refid="jvmProcess"/>
</rshProcess>
</processDefinition>
Infrastructure
informations
JVM on the current Host
JVM started using RSH
![Page 47: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/47.jpg)
47
Virtual Nodes in Programs 1. Load the descriptor file
Descriptor pad = ProActive.getDescriptor ("file://ProActiveDescriptor.xml");
2. Activate the mapping
VirtualNode vn = pad.activateMapping ("Dispatcher"); // Triggers the JVMs
3. Use nodes
Node node = vn.getNode(); ... C3D c3d = ProActive.newActive("C3D", param, node);
log ( ... "created at: " + node.name() + node.JVM() + node.host() );
![Page 48: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/48.jpg)
48
Table of Contents ProActive RuntimeProActive Runtime
Active Objects ModelActive Objects Model
Future Objects and Automatic ContinuationFuture Objects and Automatic Continuation
Active Objects MigrationActive Objects Migration
Groups CommunicationGroups Communication
Abstract Deployment ModelAbstract Deployment Model
Components Infrastructure
SecuritySecurity
![Page 49: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/49.jpg)
49
D
C
Components based on Fractal Model
![Page 50: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/50.jpg)
50
Distributed and Parallel Components
Group proxy
A
B
C
D
A
A
B
C
P
Group proxy
![Page 51: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/51.jpg)
51
ab
body
mobility
asynchronism
Stub_a
proxy
JVM1 JVM2
component meta - objects
component representative
Components Infrastructure
![Page 52: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/52.jpg)
52
Components Infrastructure
ab
body
mobility
asynchronism
proxy
JVM1 JVM2
component meta - objects
component representative
![Page 53: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/53.jpg)
53
Components Request
ab
bodyproxy
component meta - objects
component representative
method calls are reified
![Page 54: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/54.jpg)
54
Table of Contents ProActive RuntimeProActive Runtime
Active Objects ModelActive Objects Model
Future Objects and Automatic ContinuationFuture Objects and Automatic Continuation
Active Objects MigrationActive Objects Migration
Groups CommunicationGroups Communication
Abstract Deployment ModelAbstract Deployment Model
Components InfrastructureComponents Infrastructure
Security
![Page 55: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/55.jpg)
55
Security Non-functionnal security
– located inside the meta-level, transparent for applications.
Hierarchical domains Dynamic policy negotiation
Certification chain to identify users, JVMs, objects – User certificate => Application certificate => active object
certificate
– User private key used only once for generating application certificate
Security policies set by deployment descriptors
![Page 56: 1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid](https://reader035.vdocument.in/reader035/viewer/2022062720/56649f1a5503460f94c2f8f3/html5/thumbnails/56.jpg)
56
Request to an Active Object
Body
Request Receiver
Reply Receiver
Service
Object
Security Manager
Reply Sender
Body
Request Receiver
Reply Receiver
ServiceObject
Security Manager
Reply Sender
Proxy
Request Sender
Request Sender
•Policy computation
• Keys exchange
Request path Security mechanims
encrypt decrypt