1.1 – Modellering framework

54
1.1 – Modellering framework Basisfunctionaliteit Tele Atlas Rondrijders verzenden afgewerkte update reports (UR) naar de server Voor het binnenrijden van een nieuw gebied, ontvangen de werknemers een UR van het gebied Rondrijders krijgen concrete opdrachten toegestuurd Communicatie van en naar de server moet worden gecontroleerd

description

1.1 – Modellering framework. Basisfunctionaliteit Tele Atlas Rondrijders verzenden afgewerkte update reports (UR) naar de server Voor het binnenrijden van een nieuw gebied, ontvangen de werknemers een UR van het gebied Rondrijders krijgen concrete opdrachten toegestuurd - PowerPoint PPT Presentation

Transcript of 1.1 – Modellering framework

Page 1: 1.1 – Modellering framework

1.1 – Modellering framework

Basisfunctionaliteit Tele Atlas

• Rondrijders verzenden afgewerkte update reports (UR) naar de server

• Voor het binnenrijden van een nieuw gebied, ontvangen de werknemers een UR van het gebied

• Rondrijders krijgen concrete opdrachten toegestuurd

• Communicatie van en naar de server moet worden gecontroleerd

Page 2: 1.1 – Modellering framework

1.1 – Modellering framework

Functionaliteiten IDEWE

• Medici verzenden afgewerkte dossiers naar de server

• Medici kunnen evt. ook allerlei updates toegestuurd krijgen

• Communicatie van en naar de server moet worden gecontroleerd

Page 3: 1.1 – Modellering framework

1.1 – Modellering framework

Framework

• Tot stand gekomen na gesprekken met TeleAtlas/IDEWE

• Gebaseerd op de Retsina architectuur: verschillende categorieën: interface-, taak- en informatie-agenten

• Op vraag van IDEWE verloopt de synchronisatie niet op de DB-server

Page 4: 1.1 – Modellering framework

SYNCHRO AGENT

ToestelID|TransactieID|prio|richting|aanvrager|DBactie---------+------------+----+--------+---------+------- 002 | 927 |form| -> |dca002@… | get… 002 | 928 |form| <- |uca002@… |hereis… 003 | 929 |form| -> | pol9@… |hereis… 003 | 930 |form| <- | pol5@… | get…

# actieve transacties

prioriteitsdrempel

DOWN-LOAD

CLIENT AGENT

UPLOAD

CLIENT AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

Belastingsmeteragent Belastingsmeteragent

SERVER

DB

AGENT

CLIENT

DB

AGENT

POLICY AGENTPOLICY AGENTPOLICY AGENT

DBDB

Server (ev. DB server) Server (ev. synchro server) Mobiel toestelIN

TE

RF

AC

E A

G.

TA

SK A

GE

NT

SIN

FO

RM

AT

ION

AG

EN

TS

RECEIVING SLAVE AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

SENDING SLAVE AGENT

Page 5: 1.1 – Modellering framework

SYNCHRO AGENT

ToestelID|TransactieID|prio|richting|aanvrager|DBactie---------+------------+----+--------+---------+------- 002 | 927 |form| -> |dca002@… | get… 002 | 928 |form| <- |uca002@… |hereis… 003 | 929 |form| -> | pol9@… |hereis… 003 | 930 |form| <- | pol5@… | get…

# actieve transacties

prioriteitsdrempel

DOWN-LOAD

CLIENT AGENT

UPLOAD

CLIENT AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

Belastingsmeteragent Belastingsmeteragent

SERVER

DB

AGENT

CLIENT

DB

AGENT

POLICY AGENTPOLICY AGENTPOLICY AGENT

DBDB

Server (ev. DB server) Server (ev. synchro server) Mobiel toestelIN

TE

RF

AC

E A

G.

TA

SK A

GE

NT

SIN

FO

RM

AT

ION

AG

EN

TS

RECEIVING SLAVE AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

SENDING SLAVE AGENT

Houdt lijst met gegevens en prioriteit bij van aangevraagde transacties. Abstracte klasse waarvan enkel prioriteitsformule dient geïmplementeerd te worden. Indien de prioriteit een drempel overschrijdt, wordt de transactie uitgevoerd.

Policy agents volledig zelf te implementeren. Policies worden hier vertaald naar aanvragen bij synchro server. Voorbeelden: specifieke gegevens up-to-date houden, toestellen regelmatig verplichten te zenden, interface om commando’s van de buitenwereld uit te voeren, ….

Abstracte klasse moet worden overgeërfd

Abstracte klasse moet worden overgeërfd

(optioneel) Doel: synchro agent van de toestelbelasting op de hoogte houden.

(optioneel) Doel: synchro agent van de serverbelasting op de hoogte houden.

RSA’s en SSA’s worden pas gecreëerd wanneer een transactie plaatsvindt. (1 per transactie)

DCA en UCA zijn continu op toestel aanwezig. Kunnen elk slechts 1 transactie tegelijk aan.

De prioriteiten worden continu berekend op basis van factoren naar keuze: wachttijd, prioriteit opgegeven door aanvrager, toestelbelasting, serverbelasting, # actieve transacties, toestelID, richting, …

onClose(): interactie over pending transactions

Page 6: 1.1 – Modellering framework

SYNCHRO AGENT

ToestelID|TransactieID|prio|richting|aanvrager|DBactie---------+------------+----+--------+---------+------- 002 | 927 |form| -> |dca002@… | get… 002 | 928 |form| <- |uca002@… |hereis… 003 | 929 |form| -> | pol9@… |hereis… 003 | 930 |form| <- | pol5@… | get…

DOWN-LOAD

CLIENT AGENT

UPLOAD

CLIENT AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

Belastingsmeteragent Belastingsmeteragent

SERVER

DB

AGENT

CLIENT

DB

AGENT

POLICY AGENTPOLICY AGENTPOLICY AGENT

DBDB

Server (ev. DB server) Server (ev. synchro server) Mobiel toestelIN

TE

RF

AC

E A

G.

TA

SK A

GE

NT

SIN

FO

RM

AT

ION

AG

EN

TS

RECEIVING SLAVE AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

SENDING SLAVE AGENT

TOESTEL WIL ZENDEN

1 – CDA ziet bv. dat aantal dossiers boven een bepaalde drempel uitstijgt

2 – CDA meldt dit aan UCA

3 – UCA zendt aanvraag met nodige gegevens (prio, interactieID, …) naar SyA

4 – SyA plaatst aanvraag in de lijst

5 – Eenmaal dat prio > drempel, creëert SyA een RSA

6 – RSA contacteert UCA

7 – UCA vraagt file aan CDA (van DB)

8 – UCA zendt file naar RSA

9 – RSA zendt file-referentie naar SDA (+ update DB) en vernietigt zichzelf (+ bericht naar SyA om te schrappen)

1

2

3

4

5

6

7

7

8

9

9

4bis: optioneel wordt een estimate voor wachttijd teruggezonden ‘op exponentiële tijdstippen’

Page 7: 1.1 – Modellering framework

SYNCHRO AGENT

ToestelID|TransactieID|prio|richting|aanvrager|DBactie---------+------------+----+--------+---------+------- 002 | 927 |form| -> |dca002@… | get… 002 | 928 |form| <- |uca002@… |hereis… 003 | 929 |form| -> | pol9@… |hereis… 003 | 930 |form| <- | pol5@… | get…

DOWN-LOAD

CLIENT AGENT

UPLOAD

CLIENT AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

Belastingsmeteragent Belastingsmeteragent

SERVER

DB

AGENT

CLIENT

DB

AGENT

POLICY AGENTPOLICY AGENTPOLICY AGENT

DBDB

Server (ev. DB server) Server (ev. synchro server) Mobiel toestelIN

TE

RF

AC

E A

G.

TA

SK A

GE

NT

SIN

FO

RM

AT

ION

AG

EN

TS

RECEIVING SLAVE AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

SENDING SLAVE AGENT

TOESTEL WIL ONTVANGEN

1 – CDA ziet noodzaak aan bep. dossiers (DB is ruim begrip) en meldt dit aan DCA

2 – DCA zendt aanvraag met nodige gegevens (prio, interactieID, …) naar SyA

3 – SyA plaatst aanvraag in de lijst

4 – Eenmaal dat prio > drempel, creëert SyA een SSA

5 – SSA vraagt file aan SDA (van DB)

6 – SSA contacteert DCA en zendt file na goedkeuring

7 – SSA vernietigt zichzelf

8 – DCA zendt file-referentie naar CDA (+ update DB) (+ bericht naar SyA om te schrappen)

1

71

23

4

5

5

6

8

8

4bis: optioneel wordt een estimate voor wachttijd teruggezonden ‘op exponentiële tijdstippen’

Page 8: 1.1 – Modellering framework

SYNCHRO AGENT

ToestelID|TransactieID|prio|richting|aanvrager|DBactie---------+------------+----+--------+---------+------- 002 | 927 |form| -> |dca002@… | get… 002 | 928 |form| <- |uca002@… |hereis… 003 | 929 |form| -> | pol9@… |hereis… 003 | 930 |form| <- | pol5@… | get…

DOWN-LOAD

CLIENT AGENT

UPLOAD

CLIENT AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

Belastingsmeteragent Belastingsmeteragent

SERVER

DB

AGENT

CLIENT

DB

AGENT

POLICY AGENTPOLICY AGENTPOLICY AGENT

DBDB

Server (ev. DB server) Server (ev. synchro server) Mobiel toestelIN

TE

RF

AC

E A

G.

TA

SK A

GE

NT

SIN

FO

RM

AT

ION

AG

EN

TS

RECEIVING SLAVE AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

SENDING SLAVE AGENT

SERVER WIL ONTVANGEN

1 – PolA ziet noodzaak aan bep. dossiers en zendt aanvraag aan SyA

Analoog met toestel wil zenden

4 – SyA plaatst aanvraag in de lijst

5 – Eenmaal dat prio > drempel, creëert SyA een RSA*

6 – RSA contacteert UCA

7 – UCA vraagt file aan CDA (van DB)

8 – UCA zendt file naar RSA

9 – RSA zendt file-referentie naar SDA (+ update DB) en vernietigt zichzelf (+ bericht naar SyA om te schrappen)

6

7

7

8

9

9

1

4

5

Page 9: 1.1 – Modellering framework

SYNCHRO AGENT

ToestelID|TransactieID|prio|richting|aanvrager|DBactie---------+------------+----+--------+---------+------- 002 | 927 |form| -> |dca002@… | get… 002 | 928 |form| <- |uca002@… |hereis… 003 | 929 |form| -> | pol9@… |hereis… 003 | 930 |form| <- | pol5@… | get…

DOWN-LOAD

CLIENT AGENT

UPLOAD

CLIENT AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

Belastingsmeteragent Belastingsmeteragent

CLIENT

DB

AGENT

POLICY AGENTPOLICY AGENTPOLICY AGENT

DBDB

Server (ev. DB server) Server (ev. synchro server) Mobiel toestelIN

TE

RF

AC

E A

G.

TA

SK A

GE

NT

SIN

FO

RM

AT

ION

AG

EN

TS

RECEIVING SLAVE AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

SENDING SLAVE AGENT

SERVER WIL ZENDEN

1 – PolA ziet noodzaak om bepaalde dossiers door te zenden en zendt aanvraag naar SyA

Analoog met toestel wil ontvangen

2 – SyA plaatst aanvraag in de lijst

3 – Eenmaal dat prio > drempel, creëert SyA een SSA

4 – SSA vraagt file aan SDA (van DB)

5 – SSA contacteert DCA en zendt file na goedkeuring

6 – SSA vernietigt zichzelf

7 – DCA zendt file-referentie naar CDA (+update DB) (+ bericht naar SyA om te schrappen)

1

2

3

4

4

5

6

7

7

SERVER

DB

AGENT

Page 10: 1.1 – Modellering framework

SYNCHRO AGENT

ToestelID|TransactieID|prio|richting|aanvrager|DBactie---------+------------+----+--------+---------+------- 002 | 927 |form| -> |dca002@… | get… 002 | 928 |form| <- |uca002@… |hereis… 003 | 929 |form| -> | pol9@… |hereis… 003 | 930 |form| <- | pol5@… | get…

# actieve transacties

prioriteitsdrempel

DOWN-LOAD

CLIENT AGENT

UPLOAD

CLIENT AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

Belastingsmeteragent Belastingsmeteragent

SERVER

DB

AGENT

CLIENT

DB

AGENT

POLICY AGENTPOLICY AGENTPOLICY AGENT

DBDB

Server (ev. DB server) Server (ev. synchro server) Mobiel toestelIN

TE

RF

AC

E A

G.

TA

SK A

GE

NT

SIN

FO

RM

AT

ION

AG

EN

TS

RECEIVING SLAVE AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

SENDING SLAVE AGENT

Case-specifiek

Page 11: 1.1 – Modellering framework

int GetLocalULPriority()CLIENT

DB

AGENT int GetLocalDLPriority()

Vector DLRequestedStatements()

boolean addFileToDB(String FilePath)

String ProduceFileAndReturnPath (String Request)

Abstract methods

String ProduceFileAndReturnPath ()

Page 12: 1.1 – Modellering framework

SYNCHRO AGENT

ToestelID|TransactieID|prio|richting|aanvrager|DBactie---------+------------+----+--------+---------+------- 002 | 927 |form| -> |dca002@… | get… 002 | 928 |form| <- |uca002@… |hereis… 003 | 929 |form| -> | pol9@… |hereis… 003 | 930 |form| <- | pol5@… | get…

# actieve transacties

prioriteitsdrempel

DOWN-LOAD

CLIENT AGENT

UPLOAD

CLIENT AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

Belastingsmeteragent Belastingsmeteragent

SERVER

DB

AGENT

CLIENT

DB

AGENT

POLICY AGENTPOLICY AGENTPOLICY AGENT

DBDB

Server (ev. DB server) Server (ev. synchro server) Mobiel toestelIN

TE

RF

AC

E A

G.

TA

SK A

GE

NT

SIN

FO

RM

AT

ION

AG

EN

TS

RECEIVING SLAVE AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

SENDING SLAVE AGENT

Case-specifiek

Page 13: 1.1 – Modellering framework

boolean addFileToDB(String FilePath)SERVER

DB

AGENT

String ProduceFileAndReturnPath(String Request)

Abstract methods

Page 14: 1.1 – Modellering framework

SYNCHRO AGENT

ToestelID|TransactieID|prio|richting|aanvrager|DBactie---------+------------+----+--------+---------+------- 002 | 927 |form| -> |dca002@… | get… 002 | 928 |form| <- |uca002@… |hereis… 003 | 929 |form| -> | pol9@… |hereis… 003 | 930 |form| <- | pol5@… | get…

# actieve transacties

prioriteitsdrempel

DOWN-LOAD

CLIENT AGENT

UPLOAD

CLIENT AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

Belastingsmeteragent Belastingsmeteragent

SERVER

DB

AGENT

CLIENT

DB

AGENT

POLICY AGENTPOLICY AGENTPOLICY AGENT

DBDB

Server (ev. DB server) Server (ev. synchro server) Mobiel toestelIN

TE

RF

AC

E A

G.

TA

SK A

GE

NT

SIN

FO

RM

AT

ION

AG

EN

TS

RECEIVING SLAVE AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

SENDING SLAVE AGENT

Case-specifiek

Page 15: 1.1 – Modellering framework

int CalculateServerPriority()

Abstract methods

SYNCHRO AGENT

ToestelID|TransactieID|prio|richting|aanvrager|DBactie---------+------------+----+--------+---------+------- 002 | 927 |form| -> |dca002@… | get… 002 | 928 |form| <- |uca002@… |hereis… 003 | 929 |form| -> | pol9@… |hereis… 003 | 930 |form| <- | pol5@… | get…

# actieve transacties

prioriteitsdrempel

Page 16: 1.1 – Modellering framework

1.1 – Modellering framework

Bemerkingen bij het framework

• AMobe implementeert ook de case-specifieke gedeelten voor Tele Atlas en IDEWE

• Voorlopig wordt de te zenden data als 1 geheel beschouwd indien het toestel wil zenden.

• Huidige principe van data opvragen:

– Request via String, return via File

• Later eventueel:

– Request via Object, return via Object

Page 17: 1.1 – Modellering framework

1.1 – Modellering framework

Bemerkingen bij het framework

• Probleem: minimale trafiek over de GPRS link gewenst (zie verder)

• Bepaalde beslissingen in het software-ontwerp kunnen later genomen worden voor agent-georiënteerde toepassingen dan voor klassieke object-georiënteerde toepassingen

Page 18: 1.1 – Modellering framework

1.2 - Modellering T&I

Functionaliteiten T&I

• Op de PC van de begeleider en op de mobiele toestellen (persoon met NAH en begeleider) worden dagschema’s en opvraagbare items gecreëerd en aangepast

• De persoon met NAH interageert met ontvangen memo’s; de begeleider krijgt informatie over deze interactie

• Analyserapporten

Page 19: 1.1 – Modellering framework

1.2 - Modellering T&I

De modellering toont veel gelijkenissen met het framework voor Tele Atlas/IDEWE:

• meerdere mobiele toestellen aanwezig

• uitwisseling dagschema’s en opvraagbare items zijn terug te brengen tot één van de vier scenario’s (toestel wil zenden/ontvangen, server wil zenden/ontvangen)

Page 20: 1.1 – Modellering framework

SYNCHRO AGENT

ToestelID|TransactieID|prio|richting|aanvrager|DBactie---------+------------+----+--------+---------+------- 002 | 927 |form| -> |dca002@… | get… 002 | 928 |form| <- |uca002@… |hereis… 003 | 929 |form| -> | pol9@… |hereis… 003 | 930 |form| <- | pol5@… | get…

# actieve transacties

prioriteitsdrempel

DOWN-LOAD

CLIENT AGENT

UPLOAD

CLIENT AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

Belastingsmeteragent Belastingsmeteragent

SERVER

DB

AGENT

CLIENT

DB

AGENT

POLICY AGENTPOLICY AGENTPOLICY AGENT

DBDB

Server (ev. DB server) Server (ev. synchro server) Mobiel toestelIN

TE

RF

AC

E A

G.

TA

SK A

GE

NT

SIN

FO

RM

AT

ION

AG

EN

TS

RECEIVING SLAVE AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

SENDING SLAVE AGENT

Mobiele persoon NAHMobiele begeleider

Begeleider op PC

Interface om dagschema en opvraagbare items te bewerken Interface om dagschema en

opvraagbare items te bewerken

Page 21: 1.1 – Modellering framework

1.2 - Modellering T&I

Creatie memo-agent

• Een memo-agent kan door de Client DB agent gecreëerd worden om met de persoon met NAH te interageren.

• De memo-agent kan de reactie van de persoon met NAH op een memo registreren via de Client DB agent en die kan op zijn beurt de reactie doorsturen naar de server. Via een gelijkaardig mechanisme kan de reactie worden doorgestuurd naar het toestel van de begeleider. (creatie memo-agent)

Page 22: 1.1 – Modellering framework

SYNCHRO AGENT

ToestelID|TransactieID|prio|richting|aanvrager|DBactie---------+------------+----+--------+---------+------- 002 | 927 |form| -> |dca002@… | get… 002 | 928 |form| <- |uca002@… |hereis… 003 | 929 |form| -> | pol9@… |hereis… 003 | 930 |form| <- | pol5@… | get…

# actieve transacties

prioriteitsdrempel

DOWN-LOAD

CLIENT AGENT

UPLOAD

CLIENT AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

Belastingsmeteragent Belastingsmeteragent

SERVER

DB

AGENT

CLIENT

DB

AGENT

POLICY AGENTPOLICY AGENTPOLICY AGENT

DBDB

Server (ev. DB server) Server (ev. synchro server) Mobiel toestelIN

TE

RF

AC

E A

G.

TA

SK A

GE

NT

SIN

FO

RM

AT

ION

AG

EN

TS

RECEIVING SLAVE AGENT

RECEIVING SLAVE AGENT

SENDING SLAVE AGENT

SENDING SLAVE AGENT

MEMO

AGENT

Page 23: 1.1 – Modellering framework

2 - Agents over GPRS

• Aankoop: Sierra Wireless AirCard 750 (PCMCIA cf. PenPCs Tele Atlas) + Mobistar abonnement voor GPRS

• Eerste test: JADE agent op laptop (met GPRS - link) laten communiceren met JADE agent op server binnen KaHoSL-LAN (beide Windows XP)

Page 24: 1.1 – Modellering framework

2.1 – Eigenschappen Aircard

Sierra Wireless AirCard 750: multislotklasse 12

Multislot class

Downlinkslots

Uplinkslots

Active slots

1 1 1 2

… … … …

11 4 3 5

12 4 4 5

Page 25: 1.1 – Modellering framework

2.1 – Eigenschappen Aircard

Mogelijke scenario’s multislotklasse12 (4u,4d,5a):

1 slot = 13.4 kbps CS2 = theoretisch optimum

• 1 Up, 4 Down (8-12 kbps Send, 32-48 kbps Receive)

• 2 Up, 3 Down (16-24 kbps Send, 24-36 kbps Receive)

• 3 Up, 2 Down (24-36 kbps Send, 16-24 kbps Receive)

• 4 Up, 1 Down (32-48 kbps Send, 8-12 kbps Receive)

Page 26: 1.1 – Modellering framework

2.1 – Eigenschappen Aircard

GPRS klasse B:

• Mobiele toestellen kunnen zowel gebruik maken van GPRS als van GSM diensten, maar niet tegelijkertijd.

• Tijdens een inkomend gesprek bv. zal de GPRS service tijdelijk worden stopgezet en daarna automatisch weer actief worden.

Page 27: 1.1 – Modellering framework

2.2 – JADE architectuur (herh.)

Mogelijke opstellingen:

• Split Container, Remote Container, Remote Platform

Page 28: 1.1 – Modellering framework

2.2 – JADE architectuur (herh.)

Split Container

DF en AMS zijn aanwezig op de main-container

Page 29: 1.1 – Modellering framework

2.2 – JADE architectuur (herh.)

Remote Container

DF en AMS zijn aanwezig op de main-container

Page 30: 1.1 – Modellering framework

2.2 – JADE architectuur (herh.)

Remote Platform

Op beide platformen is er een DF en AMS aanwezig. MTP naar keuze of zelf te

implementeren.

Page 31: 1.1 – Modellering framework

2.3 - Aanspreken poort binnen KaHoSL LAN

• Agentserver in KaHoSL LAN en agentclient in Mobistar netwerk

• Probleem: firewall laat slechts communicatie van buitenaf toe via een beperkt aantal standaardpoorten (8080, 22, …)

• Oplossing 1: via een SSH tunnel, maken we van buitenaf connectie met een host, die zowel een lokaal als een extern IP-adres (IP-forw.) heeft

• Oplossing 2: we plaatsen een agentserver in de DMZ-zone

Page 32: 1.1 – Modellering framework

Internet

KaHoNet

AllServMondriaan

Fire-wall

MobistarNet

Scampi

10.0.0.20193.190.130.2

10.1.3.219

Opstelling 1

SSH

Page 33: 1.1 – Modellering framework

Internet

Fire-wall

Port forwarding:

L 1090 mondriaan:1099

Als we lokaal op Scampi poort 1090 aanspreken, is het alsof we poort 1099 aanspreken op Mondriaan

Opstelling 1 - Tunneling

MobistarNet

ScampiPuTTY

22

Page 34: 1.1 – Modellering framework

KaHoNet

AllServMondriaan

Fire-wall

Opstelling 1 – KaHoSL LAN

22

Page 35: 1.1 – Modellering framework

InternetFire

-wall

KaHoNet

Mondriaan

Scampi

DMZ

router

deus

Opstelling 2

MobistarNet

Page 36: 1.1 – Modellering framework

Internet

MobistarNet

Fire-

wall

KaHoNet

Mondriaan

Scampi

deus

remote monitoring

niet secure

Merk op: enkel op voorhand gekende poorten zijn aanspreekbaar

Opstelling 2

router

Page 37: 1.1 – Modellering framework

2.3 - Aanspreken poort binnen KaHoSL LAN

Vergelijking:

• SSH tunnelling geeft extra overhead, maar de communicatie is beveiligd. Flexibelere server-toewijzing. Agentenserver heeft enkel lokaal IP-adres.

• De “DMZ-oplossing” geeft minder overhead, maar de communicatie is niet beveiligd (maar kan ingebouwd worden). Remote monitoring. Agentenserver heeft extern IP-adres.

Page 38: 1.1 – Modellering framework

Random poorten probleem:

• Bij de “Remote Container” en vaak bij de “Remote Platform” opstelling worden er aan de server-zijde (random) poorten open gezet voor communicatie

• Bij “Split Container” gebeurt alle communicatie via één poort op de server

2.3 - Aanspreken poort binnen KaHoSL LAN

Page 39: 1.1 – Modellering framework

Remote Container

1099

26142615

2.3 - Aanspreken poort binnen KaHoSL LAN

Page 40: 1.1 – Modellering framework

7778

22602661

Remote Platform over HTTP

2.3 - Aanspreken poort binnen KaHoSL LAN

Page 41: 1.1 – Modellering framework

2.3 - Aanspreken poort binnen KaHoSL LAN

Besluit random poorten probleem:

• Beide opstellingen (tunneling, DMZ) vereisen dat op voorhand geweten is welke poorten gebruikt worden aan de serverzijde.

• De “remote container” mode maakt per definitie meerdere willekeurige poorten aan op de server. Deze mode is dus onbruikbaar.

• Voor de reeds bestaande MTP’s in de “remote platform” mode geldt hetzelfde. Een eigen implementatie zou kunnen helpen.

Page 42: 1.1 – Modellering framework

2.4 – Minimale trafiek

• GPRS wordt betaald per data-eenheid. Wat is de gemiddelde trafiek wanneer 2 agents communiceren of wanneer een remote agent bereikbaar wordt voor de server?

• Zijn er verschillen tussen “split container”, “remote container” en “remote platform”?

• Hoe kunnen we zelf overhead reduceren?

• Praktische metingen: gemeten over LAN, monitoring m.b.v. Ethereal en WinPcap, om algemeen beeld te krijgen

Page 43: 1.1 – Modellering framework

2.4 – Minimale trafiek

Aanloggen Starten agent Zenden

358 TCP324 RMI

554 TCP 174 RMI

585 TCP174 RMI

Split Container(cijfers steeds up+down, message steeds INFORM hallo)

Page 44: 1.1 – Modellering framework

2.4 – Minimale trafiek

Aanloggen

Starten agent

Zenden

1937 TCP2400 RMI

346 TCP410 RMI

1ste keer: 2471 TCPrm => s 1648 RMI

s => rm 680 TCP 406 RMI

rm => s 960 TCP 412 RMI

Remote Container

Page 45: 1.1 – Modellering framework

2.4 – Minimale trafiek

Aanloggen

Starten agent

Zenden

HTTP 1800 TCP6683 HTTP

0 526 TCP1881 HTTP

Remote Platform

Page 46: 1.1 – Modellering framework

2.4 – Minimale trafiek

• Split container is de beste keuze (ook wat betreft poorten) (of remote platform met een eigen MTP??)

• Resultaten bericht zenden (essentieel aspect): 585 bytes (RMI) + 174 bytes (TCP) = 759 bytes (totaal)

• Vanwaar is de overhead net afkomstig? Kunnen we nog verder reduceren?

• Gelaagd model voor agentencommunicatie in Supporting Nomadic Agent-based Applications in the FIPA Agent Architecture (Heikki Helin)

Page 47: 1.1 – Modellering framework

2.4 – Minimale trafiek

syntax (ACLcodec) + semantiek

commun. Act + ontologies

Page 48: 1.1 – Modellering framework

2.4 – Minimale trafiek

• Heikki Helin: reduceer de overhead in elke laag

• Helin’s uitgangspunten: minimale trafiek, interoperability, encoderen in de lagen kan ACL performance tegenwerken

• Opmerking: dit model vertegenwoordigt enkel de agent-to-agent communicatie en houdt geen rekening met trafiek veroorzaakt door de architectuur van het platform!

Page 49: 1.1 – Modellering framework

2.4 – Minimale trafiekAC - Split

container

Not imple

m.RMI

TCP

FIPA-ACL

vrij

vrij

Page 50: 1.1 – Modellering framework

2.4 – Minimale trafiek

• Split container: 1. architecturale ingreep opdat er geen nodeloze container-platform communicatie plaatsvindt 2. onderste lagen niet vrij te kiezen DUS moeilijk verder te reduceren

• Remote container biedt geen enkel wireless voordeel t.o.v. split container

• Remote platform: eigen MTP specificeren, ACL laag biedt nog steeds overhead

Page 51: 1.1 – Modellering framework

2.4 – Minimale trafiek

• Eigen constructie:

Agentenplatform Agentenplatform

A B

X Y

transparantie

Page 52: 1.1 – Modellering framework

2.5 - Transparante technologie

Voordelen GPRS als transparante technologie:

• Geen aanpassingen bij nieuwe technologie

• Gebruik over verschillende technologieën

Voordelen GPRS als niet-transparante techn.:

• Toepassing redeneert over connectie(problem.)

• Bijkomende functionaliteit (SMS/GSM)

• geen API voorhanden

Page 53: 1.1 – Modellering framework

Demo + discussie

Page 54: 1.1 – Modellering framework

Planning komende periode

• Verdere implementatie van het framework (persistentie, noodscenario’s) + minimaliseren trafiek

• Implementatie toepassing-specifieke gedeelten voor Tele Atlas en IDEWE (toep. voor andere leden?)

• Ev. herziening van de modellering van de toepassing voor T&I

• Studie van databanken voor mobiele toestellen

• Start implementatie voor T&I

• Aankoop van een PDA uitgerust met GPRS card