1.1 – Modellering framework

Post on 10-Jan-2016

47 views 0 download

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

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

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

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

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

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

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’

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’

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

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

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

int GetLocalULPriority()CLIENT

DB

AGENT int GetLocalDLPriority()

Vector DLRequestedStatements()

boolean addFileToDB(String FilePath)

String ProduceFileAndReturnPath (String Request)

Abstract methods

String ProduceFileAndReturnPath ()

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

boolean addFileToDB(String FilePath)SERVER

DB

AGENT

String ProduceFileAndReturnPath(String Request)

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

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

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

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

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

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

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)

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

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)

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

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)

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

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)

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.

2.2 – JADE architectuur (herh.)

Mogelijke opstellingen:

• Split Container, Remote Container, Remote Platform

2.2 – JADE architectuur (herh.)

Split Container

DF en AMS zijn aanwezig op de main-container

2.2 – JADE architectuur (herh.)

Remote Container

DF en AMS zijn aanwezig op de main-container

2.2 – JADE architectuur (herh.)

Remote Platform

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

implementeren.

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

Internet

KaHoNet

AllServMondriaan

Fire-wall

MobistarNet

Scampi

10.0.0.20193.190.130.2

10.1.3.219

Opstelling 1

SSH

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

KaHoNet

AllServMondriaan

Fire-wall

Opstelling 1 – KaHoSL LAN

22

InternetFire

-wall

KaHoNet

Mondriaan

Scampi

DMZ

router

deus

Opstelling 2

MobistarNet

Internet

MobistarNet

Fire-

wall

KaHoNet

Mondriaan

Scampi

deus

remote monitoring

niet secure

Merk op: enkel op voorhand gekende poorten zijn aanspreekbaar

Opstelling 2

router

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.

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

Remote Container

1099

26142615

2.3 - Aanspreken poort binnen KaHoSL LAN

7778

22602661

Remote Platform over HTTP

2.3 - Aanspreken poort binnen KaHoSL LAN

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.

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

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)

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

2.4 – Minimale trafiek

Aanloggen

Starten agent

Zenden

HTTP 1800 TCP6683 HTTP

0 526 TCP1881 HTTP

Remote Platform

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)

2.4 – Minimale trafiek

syntax (ACLcodec) + semantiek

commun. Act + ontologies

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!

2.4 – Minimale trafiekAC - Split

container

Not imple

m.RMI

TCP

FIPA-ACL

vrij

vrij

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

2.4 – Minimale trafiek

• Eigen constructie:

Agentenplatform Agentenplatform

A B

X Y

transparantie

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

Demo + discussie

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