An Investigation into Distributed Channel Mobility Support for - - PowerPoint PPT Presentation

an investigation into distributed channel mobility
SMART_READER_LITE
LIVE PREVIEW

An Investigation into Distributed Channel Mobility Support for - - PowerPoint PPT Presentation

An Investigation into Distributed Channel Mobility Support for Communicating Process Architectures Kevin Chalmers Jon Kerridge School of Computing Edinburgh Napier University Breakdown Background Limitations and Definitions Potential


slide-1
SLIDE 1

An Investigation into Distributed Channel Mobility Support for Communicating Process Architectures

Kevin Chalmers Jon Kerridge School of Computing Edinburgh Napier University

slide-2
SLIDE 2

Breakdown

Background Limitations and Definitions Potential Models of Distributed Channel Mobility Analysis and Summary

slide-3
SLIDE 3

Breakdown

Background Limitations and Definitions Potential Models of Distributed Channel Mobility Analysis and Summary

slide-4
SLIDE 4

Last Year

A Critique of JCSP Networking Problems found

  • 1. Performance
  • 2. Resource usage
  • 3. Interoperability

Implementations coming

– PyCSP (delayed – sorry John) –

  • ccam-π (closer)
slide-5
SLIDE 5

Protocol for CPA Networking

Simple low level messages to support distributed channel (and barrier) communications {SEND 45 34} {24 [24]BYTE} {ACK 34 0} All message headers are triples { } Some messages require a data load { }

slide-6
SLIDE 6

Aim

Protocol support for mobility (as far as possible) Process mobility not relevant

– JCSP Networking now a communication layer – Platform specific issues

Channel mobility support

– Core to networking functionality – Supports process mobility

slide-7
SLIDE 7

Local Mobile Channels – occam-π

CHAN TYPE my.mobile MOBILE RECORD CHAN INT chan?: : PROC my.proc(CHAN my.mobile? chan!) my.mobile? in: my.mobile! out: SEQ in, out := MOBILE my.mobile chan ! in :

slide-8
SLIDE 8

Local Mobile Channels – JCSP

public class my_proc { ChannelOutput chan; public my_proc(ChannelOutput chan) { this.chan = chan; } public void run() { One2OneChannel c = Channel.one2one(); chan.write(c.in());

slide-9
SLIDE 9

Net Mobile Channels – JCSP (sort of)

public class my_proc { NetChannelOutput chan; public my_proc(NetChannelOutput chan) { this.chan = chan; } public void run() { NetChannelInput in = NetChannel.net2one(); chan.write(in);

slide-10
SLIDE 10

Why do I want this?

Distributed mobile channels would be nice

– Cross machine mobility – Interoperable mobility

Distributed mobile processes would be nicer

– Mobile agents (with code mobility) – Connected mobiles

  • Mobile agents have difficulty here
slide-11
SLIDE 11

Mobile Architecture

Code mobility specifies mobility of code element

  • nly

CPA takes a connector first approach

slide-12
SLIDE 12

Mobility of Components

slide-13
SLIDE 13

Breakdown

Background Limitations and Definitions Potential Models of Distributed Channel Mobility Analysis and Summary

slide-14
SLIDE 14

Defining a Distributed Mobile Channel

A mobile channel end resides on a node

– A node is part of a distributed application that resides on a device

We send messages (connect) to a input channel end via its address

– A channel input can therefore be defined by its location

A channel output uses this location to send messages

– To migrate a channel, we send a copy of the input location

Input end mobility is generally the problem!

slide-15
SLIDE 15

Addressability and Connectivity

Addressability

– The ability to connect to a device from its address

Connectivity

– The ability to be connected to a device

slide-16
SLIDE 16

Simplified model of network domains

Internet Edinburgh Napier Local Network (192.168.x.x) Local Network (192.168.x.x) Local Network (192.168.x.x) Local Network (192.168.x.x) TU/e

slide-17
SLIDE 17

Simplified model of network domains

slide-18
SLIDE 18

Simplified model of network domains

Internet Edinburgh Napier Local Network (192.168.x.x) Local Network (192.168.x.x) Local Network (192.168.x.x) Local Network (192.168.x.x) TU/e Connectable Connectable Connectable Connectable

slide-19
SLIDE 19

Breakdown

Background Limitations and Definitions Potential Models of Distributed Channel Mobility Analysis and Summary

slide-20
SLIDE 20

One-to-One Networked Channel

slide-21
SLIDE 21

Problem with One-to-One

slide-22
SLIDE 22

Name Server

slide-23
SLIDE 23

Message Box

slide-24
SLIDE 24

Message Box Server

slide-25
SLIDE 25

Chain

slide-26
SLIDE 26

Reconfiguring Chain

slide-27
SLIDE 27

Mobile IP

slide-28
SLIDE 28

Breakdown

Background Limitations and Definitions Potential Models of Distributed Channel Mobility Analysis and Summary

slide-29
SLIDE 29

Properties of Interest

Transmission time

– The amount of time taken to transfer a message from a sender to receiver

Reconfiguration time

– The amount of time taken to reconfigure architecture to migrate a (input) channel

Reachability

– The set of domains that can reach the input end

Robustness

– The overall reliance on connections and devices to provide the mobile infrastructure

slide-30
SLIDE 30

Analysis Results

Transmission Time Reconfiguration Time Reachability Robustness One-to-One One-to-One Chain One-to-One Name Server Message box server Reconfiguring chain Message box server Message box Message box Mobile IP Name server Message box server Chain Message box Mobile IP Reconfiguring chain Name server Message box server Message box Mobile IP Mobile IP One-to-One Reconfiguring chain Chain Reconfiguring chain Name server Chain

slide-31
SLIDE 31

Analysis Results

One-to-One is great

– If you don’t require server like communication

Name server is good

– For cluster computing (local domain)

Mobile IP is good

– For global connectivity

Which is best?

– Unsure. What do we want to use our mobility for?

slide-32
SLIDE 32

Future Work

Simulation, implementation and verification of selected model(s) Determine the required protocol messages Implement protocol in different languages / platforms

– occam-π – PyCSP – CHP – etc…

slide-33
SLIDE 33

Summary

We have a better model for mobile agents

– Component mobility, not code mobility

Distributed mobility of channels is a key problem

– We have done it before! – We need a good model – Some problems to overcome

Number of potential models

– I still don’t know which one to choose

Networking protocol for CPA still ongoing

slide-34
SLIDE 34

Questions