1.1 – modellering framework
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 PresentationTRANSCRIPT
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