SlideShare a Scribd company logo
1 of 11
Mobile Agents for Integration of Internet
of Things and Wireless Sensor Networks
Teemu Leppänen, Meirong Liu, Erkki Harjula, Archana Ramalingam,
Jani Ylioja, Pauli Närhi, Jukka Riekki and Timo Ojala
Department of Computer Science and Engineering,
University of Oulu, Finland
Leppänen, T., Liu, M., Harjula, E., Ramalingam, A., Ylioja, J., Närhi, P., Riekki, J. and Ojala, T. “Mobile
Agents for Integration of Internet of Things and Wireless Sensor Networks,” In: IEEE International
Conference on Systems, Man and Cybernetics, pp. 14-21, October 13-16, Manchester, UK, 2013.
http://dx.doi.org/10.1109/SMC.2013.10
IoT characteristics
Collaboration of heterogeneous systems, networks, protocols and interfaces
Systems in continous transition: system configurations and service/ task execution
environments changing
Devices have heterogeneous capabilities and dynamically available resources
Benefits of mobile agents in IoT and WSN
Adapt dynamically to changing environments and resource availability
Reuse of system devices and their physical components
Abstract heterogeneous resources with standardized interfaces
Mobile agents can create services in the IoT systems dynamically
”Move computation to the edges” to save in communication costs and
utilize resources energy-efficiently
Why mobile agents?
(2/11)
Agent Composition
Segment Elements
Name { Agent name, i.e. unique resource name }
Code Code { Task code }
{ Programming language or intended platform}
Reference {URL}
{ Programming language or intended platform}
Resource Local { Resource list as URLs }
Remote { Resource list as URLs }
Static { Resource list as URLs }
State { State: the current result of the computation}
{ Local variable list }
{ Metadata: API-Key for access control, timestamp etc}
Resource segment:
Local: Agent migrates into these devices (accesses resources locally)
Remote: Accessed remotely in each iteration of the computation
Static: Accessed remotely only once for the lifetime of the agent
System independent data structure for the agent composition to be
used with heterogeneous and disparate systems
(3/11)
Mapping to CoAP
For low-power resource-constrained embedded devices, the
Constrained Application Protocol enables embedded Web services
Agent Composition CoAP Option No. Size (bytes)
Mobile Agent Content-type:
Task / Service
1 1
Name Uri-Path (not new) 1 k
Local resource
segment
Next Address [0..n] n * 8 (IPv6)
[0..m] m * 4 (IPv4)
Metadata: Access
control
API-Key 1 n
Task code Code [0..1] n
Task code reference Code Reference [0..1] k
Remote resource
segment
Remote Resource [0..n] n * (8 + j)
Static resource
segment
Static Resource [0..n] n * (8 + j)
State segment Payload 1 n
(4/11)
Agent Mobility
Currently two migration policies
1. ”Task”: visits each device only once, previous device deleted from the local
segment
2. ”Service”: local segment considered ring buffer, visits devices in turns.
Devices are not deleted from the local list
Migration sequence:
1. Agent clones itself and migrates to next device
2. New state is computed in the new hosting device
3. Agent is registered to the system with the new device address
4. Clients now access the updated state
5. Ack message sent to the previous host, where agent is then deleted
from memory
(5/11)
Agent Control API
Standardized universal communication primitives: HTTP and CoAP
methods, allowing human-machine interactions
Agent composition as JSON payload / CoAP message
POST: Agent creation and migration
GET: System resource access, including agents
DELETE: Delete system resource, including agents
Hosting device API methods
Communication: Register / Unregister, Get, Post, Delete
Message handling: Marshal / Unmarshal, Map / Unmap
Execution methods: Execute, Getter, Stop
(6/11)
Real-world prototype
We implemented real-world prototype system with
1. IP-based WSN atop 6LoWPAN in 868Mhz
2. Android-smartphones atop Wi-Fi in 2.4Ghz
Based on IETF CoRE framework
Resource Directory
Stores system resource
descriptions
HTTP and CoAP interfaces for
resource lookups
Proxy
Abstracts WSN as Web service
Translates between HTTP <->
CoAP
with code repository to store
the agent task codes
(7/11)
Execution environment
Smartphones (Android 4.1.2)
Retrieved resource values mapped into the code to
make runnable code
Uses SL4A Scripting Layer to run the task code in
Python / JavaScript
(8/11)
WSN nodes (Atmel MCUs 18MHz with 8/16kB RAM)
Implemented in C
Resource representations stored into shared memory block: 16-bit variables
Shared memory accessed through pointers: base address + offset
Program memory (Flash) slots reserved for agent task code: precompiled IntelHEX
binary format
“main loop” checks if hosting an agent, then jump into the code location and
executes code, then resource values updated through the pointers
Evaluation metrics
Metrics to evaluate the particular agent composition
Execution costs in each platform Ck
Tr is latency for remote resource requests
Tk is the time for executing the computation
Tm is the agent migration time (single hop)
mkrk TTTrC )1(
d d n
ndmprTotal CCTsTC
1
, )(
Execution costs for agent-based service CTotal
s is the number of static resources
d is number of disparate networks
Tp is message translation time in the proxy
Cm,d is the migration costs between disparate networks
n is the number of devices in each network
(9/11)
With this method, we estimated the round-trip time in prototype
system
(with one remote resource, the access time is included into the execution costs C)
However:
Metrics simplified: varying network conditions, resource availability etc, not taken
into account
Metrics nevertheless could assist in agent composition and system design to
optimize the utilization of different resource types
Cn
(ms)
Tp
(ms)
Tm,d
(ms)
Cm,d
(ms)
CTotal
(ms)
Wi-Fi 4423 0
1856
5009
16044
WSN 2830 0 3782
Evaluation metrics
(10/11)
Thank You
For further information, please contact:
teemu.leppanen (at) ee.oulu.fi
We are looking for
EU Horizon 2020
research partners.. Are you interested in co-operation?

More Related Content

Viewers also liked

Designing VR For Humans - Mike Alger
Designing VR For Humans - Mike AlgerDesigning VR For Humans - Mike Alger
Designing VR For Humans - Mike Alger
Lex Van Cooten
 

Viewers also liked (20)

SIP Flooding Attack Detection Using Hybrid Detection Algorithm
SIP Flooding Attack Detection Using Hybrid Detection AlgorithmSIP Flooding Attack Detection Using Hybrid Detection Algorithm
SIP Flooding Attack Detection Using Hybrid Detection Algorithm
 
Augmented Reality; Adding Value to Your Business 2013
Augmented Reality; Adding Value to Your Business 2013Augmented Reality; Adding Value to Your Business 2013
Augmented Reality; Adding Value to Your Business 2013
 
UX + VR FTW [ACRL e-learning]
UX + VR FTW [ACRL e-learning]UX + VR FTW [ACRL e-learning]
UX + VR FTW [ACRL e-learning]
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 
Web designing (2) - CSS Basic Coding
Web designing (2) - CSS Basic CodingWeb designing (2) - CSS Basic Coding
Web designing (2) - CSS Basic Coding
 
UX Disrupted - a new reality for UX design
UX Disrupted - a new reality for UX designUX Disrupted - a new reality for UX design
UX Disrupted - a new reality for UX design
 
5 Must Know Design Strategies for Better VR Games
5 Must Know Design Strategies for Better VR Games5 Must Know Design Strategies for Better VR Games
5 Must Know Design Strategies for Better VR Games
 
UX for VR ignite talk
UX for VR ignite talkUX for VR ignite talk
UX for VR ignite talk
 
Iottoolkit osiot
Iottoolkit osiotIottoolkit osiot
Iottoolkit osiot
 
Virtual Reality UX - Designing for Interfaces without Screens
Virtual Reality UX - Designing for Interfaces without ScreensVirtual Reality UX - Designing for Interfaces without Screens
Virtual Reality UX - Designing for Interfaces without Screens
 
Internet Of Things (IOT)
Internet Of Things (IOT)Internet Of Things (IOT)
Internet Of Things (IOT)
 
VR - Creating the ultimate reality
VR - Creating the ultimate realityVR - Creating the ultimate reality
VR - Creating the ultimate reality
 
An Introduction to WebVR – or How to make your user sick in 60 seconds
An Introduction to WebVR – or How to make your user sick in 60 secondsAn Introduction to WebVR – or How to make your user sick in 60 seconds
An Introduction to WebVR – or How to make your user sick in 60 seconds
 
Designing VR For Humans - Mike Alger
Designing VR For Humans - Mike AlgerDesigning VR For Humans - Mike Alger
Designing VR For Humans - Mike Alger
 
Mobile Ad-hoc Network (MANET) Applications
Mobile Ad-hoc Network (MANET) ApplicationsMobile Ad-hoc Network (MANET) Applications
Mobile Ad-hoc Network (MANET) Applications
 
mobile ad-hoc network (MANET) and its applications
mobile ad-hoc network (MANET) and its applicationsmobile ad-hoc network (MANET) and its applications
mobile ad-hoc network (MANET) and its applications
 
Web Design Trends for 2014
Web Design Trends for 2014Web Design Trends for 2014
Web Design Trends for 2014
 
Designing UI and UX for Interactive Virtual Reality Apps
Designing UI and UX for Interactive Virtual Reality AppsDesigning UI and UX for Interactive Virtual Reality Apps
Designing UI and UX for Interactive Virtual Reality Apps
 
TalkUX - UX in VR - UNIT9
TalkUX - UX in VR - UNIT9TalkUX - UX in VR - UNIT9
TalkUX - UX in VR - UNIT9
 
UX Challenges in VR
UX Challenges in VRUX Challenges in VR
UX Challenges in VR
 

Similar to Mobile Agents for the Integration of Wireless Sensor Networks and the Internet of Things

Augmented Reality Web Applications with Mobile Agents in the Internet of Things
Augmented Reality Web Applications with Mobile Agents in the Internet of ThingsAugmented Reality Web Applications with Mobile Agents in the Internet of Things
Augmented Reality Web Applications with Mobile Agents in the Internet of Things
Jukka Riekki
 
Prototype Implementation of a Demand Driven Network Monitoring Architecture
Prototype Implementation of a Demand Driven Network Monitoring ArchitecturePrototype Implementation of a Demand Driven Network Monitoring Architecture
Prototype Implementation of a Demand Driven Network Monitoring Architecture
Augusto Ciuffoletti
 
Robot Operating Systems (Ros) Overview &amp; (1)
Robot Operating Systems (Ros) Overview &amp; (1)Robot Operating Systems (Ros) Overview &amp; (1)
Robot Operating Systems (Ros) Overview &amp; (1)
Piyush Chand
 
Apache Hadoop India Summit 2011 talk "Profiling Application Performance" by U...
Apache Hadoop India Summit 2011 talk "Profiling Application Performance" by U...Apache Hadoop India Summit 2011 talk "Profiling Application Performance" by U...
Apache Hadoop India Summit 2011 talk "Profiling Application Performance" by U...
Yahoo Developer Network
 
Asynchronous Mobile Web Services:
Asynchronous Mobile Web Services: Asynchronous Mobile Web Services:
Asynchronous Mobile Web Services:
Dr. Fahad Aijaz
 
Abstract + Poster (MSc Thesis)
Abstract + Poster (MSc Thesis)Abstract + Poster (MSc Thesis)
Abstract + Poster (MSc Thesis)
Louis Abalu
 

Similar to Mobile Agents for the Integration of Wireless Sensor Networks and the Internet of Things (20)

Augmented Reality Web Applications with Mobile Agents in the Internet of Things
Augmented Reality Web Applications with Mobile Agents in the Internet of ThingsAugmented Reality Web Applications with Mobile Agents in the Internet of Things
Augmented Reality Web Applications with Mobile Agents in the Internet of Things
 
Prototype Implementation of a Demand Driven Network Monitoring Architecture
Prototype Implementation of a Demand Driven Network Monitoring ArchitecturePrototype Implementation of a Demand Driven Network Monitoring Architecture
Prototype Implementation of a Demand Driven Network Monitoring Architecture
 
Apache Metron: Community Driven Cyber Security
Apache Metron: Community Driven Cyber Security Apache Metron: Community Driven Cyber Security
Apache Metron: Community Driven Cyber Security
 
Robot operating systems (ros) overview & (1)
Robot operating systems (ros) overview & (1)Robot operating systems (ros) overview & (1)
Robot operating systems (ros) overview & (1)
 
Robot Operating Systems (Ros) Overview &amp; (1)
Robot Operating Systems (Ros) Overview &amp; (1)Robot Operating Systems (Ros) Overview &amp; (1)
Robot Operating Systems (Ros) Overview &amp; (1)
 
Towards a REST architecture for networked vehicles and sensors
Towards a REST architecture for networked vehicles and sensorsTowards a REST architecture for networked vehicles and sensors
Towards a REST architecture for networked vehicles and sensors
 
Apache Hadoop India Summit 2011 talk "Profiling Application Performance" by U...
Apache Hadoop India Summit 2011 talk "Profiling Application Performance" by U...Apache Hadoop India Summit 2011 talk "Profiling Application Performance" by U...
Apache Hadoop India Summit 2011 talk "Profiling Application Performance" by U...
 
TransPAC3/ACE Measurement & PerfSONAR Update
TransPAC3/ACE Measurement & PerfSONAR UpdateTransPAC3/ACE Measurement & PerfSONAR Update
TransPAC3/ACE Measurement & PerfSONAR Update
 
Asynchronous Mobile Web Services:
Asynchronous Mobile Web Services: Asynchronous Mobile Web Services:
Asynchronous Mobile Web Services:
 
Full Resume
Full ResumeFull Resume
Full Resume
 
Resume
ResumeResume
Resume
 
CN unit 1 part 2 2023.ppt
CN unit 1 part 2 2023.pptCN unit 1 part 2 2023.ppt
CN unit 1 part 2 2023.ppt
 
Resume
ResumeResume
Resume
 
AF-2599-P.docx
AF-2599-P.docxAF-2599-P.docx
AF-2599-P.docx
 
Abstract + Poster (MSc Thesis)
Abstract + Poster (MSc Thesis)Abstract + Poster (MSc Thesis)
Abstract + Poster (MSc Thesis)
 
Dynamic classification in silicon-based forwarding engine environments
Dynamic classification in silicon-based forwarding engine environmentsDynamic classification in silicon-based forwarding engine environments
Dynamic classification in silicon-based forwarding engine environments
 
oneM2M - Management, Abstraction and Semantics
oneM2M - Management, Abstraction and SemanticsoneM2M - Management, Abstraction and Semantics
oneM2M - Management, Abstraction and Semantics
 
Embedded to connected
Embedded to connectedEmbedded to connected
Embedded to connected
 
ficloud2015
ficloud2015ficloud2015
ficloud2015
 
Microservices Part 4: Functional Reactive Programming
Microservices Part 4: Functional Reactive ProgrammingMicroservices Part 4: Functional Reactive Programming
Microservices Part 4: Functional Reactive Programming
 

Recently uploaded

在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
ydyuyu
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Monica Sydney
 
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
gajnagarg
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理
F
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
ayvbos
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
ayvbos
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
F
 

Recently uploaded (20)

在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
 
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
 
APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53APNIC Updates presented by Paul Wilson at ARIN 53
APNIC Updates presented by Paul Wilson at ARIN 53
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理一比一原版田纳西大学毕业证如何办理
一比一原版田纳西大学毕业证如何办理
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
 

Mobile Agents for the Integration of Wireless Sensor Networks and the Internet of Things

  • 1. Mobile Agents for Integration of Internet of Things and Wireless Sensor Networks Teemu Leppänen, Meirong Liu, Erkki Harjula, Archana Ramalingam, Jani Ylioja, Pauli Närhi, Jukka Riekki and Timo Ojala Department of Computer Science and Engineering, University of Oulu, Finland Leppänen, T., Liu, M., Harjula, E., Ramalingam, A., Ylioja, J., Närhi, P., Riekki, J. and Ojala, T. “Mobile Agents for Integration of Internet of Things and Wireless Sensor Networks,” In: IEEE International Conference on Systems, Man and Cybernetics, pp. 14-21, October 13-16, Manchester, UK, 2013. http://dx.doi.org/10.1109/SMC.2013.10
  • 2. IoT characteristics Collaboration of heterogeneous systems, networks, protocols and interfaces Systems in continous transition: system configurations and service/ task execution environments changing Devices have heterogeneous capabilities and dynamically available resources Benefits of mobile agents in IoT and WSN Adapt dynamically to changing environments and resource availability Reuse of system devices and their physical components Abstract heterogeneous resources with standardized interfaces Mobile agents can create services in the IoT systems dynamically ”Move computation to the edges” to save in communication costs and utilize resources energy-efficiently Why mobile agents? (2/11)
  • 3. Agent Composition Segment Elements Name { Agent name, i.e. unique resource name } Code Code { Task code } { Programming language or intended platform} Reference {URL} { Programming language or intended platform} Resource Local { Resource list as URLs } Remote { Resource list as URLs } Static { Resource list as URLs } State { State: the current result of the computation} { Local variable list } { Metadata: API-Key for access control, timestamp etc} Resource segment: Local: Agent migrates into these devices (accesses resources locally) Remote: Accessed remotely in each iteration of the computation Static: Accessed remotely only once for the lifetime of the agent System independent data structure for the agent composition to be used with heterogeneous and disparate systems (3/11)
  • 4. Mapping to CoAP For low-power resource-constrained embedded devices, the Constrained Application Protocol enables embedded Web services Agent Composition CoAP Option No. Size (bytes) Mobile Agent Content-type: Task / Service 1 1 Name Uri-Path (not new) 1 k Local resource segment Next Address [0..n] n * 8 (IPv6) [0..m] m * 4 (IPv4) Metadata: Access control API-Key 1 n Task code Code [0..1] n Task code reference Code Reference [0..1] k Remote resource segment Remote Resource [0..n] n * (8 + j) Static resource segment Static Resource [0..n] n * (8 + j) State segment Payload 1 n (4/11)
  • 5. Agent Mobility Currently two migration policies 1. ”Task”: visits each device only once, previous device deleted from the local segment 2. ”Service”: local segment considered ring buffer, visits devices in turns. Devices are not deleted from the local list Migration sequence: 1. Agent clones itself and migrates to next device 2. New state is computed in the new hosting device 3. Agent is registered to the system with the new device address 4. Clients now access the updated state 5. Ack message sent to the previous host, where agent is then deleted from memory (5/11)
  • 6. Agent Control API Standardized universal communication primitives: HTTP and CoAP methods, allowing human-machine interactions Agent composition as JSON payload / CoAP message POST: Agent creation and migration GET: System resource access, including agents DELETE: Delete system resource, including agents Hosting device API methods Communication: Register / Unregister, Get, Post, Delete Message handling: Marshal / Unmarshal, Map / Unmap Execution methods: Execute, Getter, Stop (6/11)
  • 7. Real-world prototype We implemented real-world prototype system with 1. IP-based WSN atop 6LoWPAN in 868Mhz 2. Android-smartphones atop Wi-Fi in 2.4Ghz Based on IETF CoRE framework Resource Directory Stores system resource descriptions HTTP and CoAP interfaces for resource lookups Proxy Abstracts WSN as Web service Translates between HTTP <-> CoAP with code repository to store the agent task codes (7/11)
  • 8. Execution environment Smartphones (Android 4.1.2) Retrieved resource values mapped into the code to make runnable code Uses SL4A Scripting Layer to run the task code in Python / JavaScript (8/11) WSN nodes (Atmel MCUs 18MHz with 8/16kB RAM) Implemented in C Resource representations stored into shared memory block: 16-bit variables Shared memory accessed through pointers: base address + offset Program memory (Flash) slots reserved for agent task code: precompiled IntelHEX binary format “main loop” checks if hosting an agent, then jump into the code location and executes code, then resource values updated through the pointers
  • 9. Evaluation metrics Metrics to evaluate the particular agent composition Execution costs in each platform Ck Tr is latency for remote resource requests Tk is the time for executing the computation Tm is the agent migration time (single hop) mkrk TTTrC )1( d d n ndmprTotal CCTsTC 1 , )( Execution costs for agent-based service CTotal s is the number of static resources d is number of disparate networks Tp is message translation time in the proxy Cm,d is the migration costs between disparate networks n is the number of devices in each network (9/11)
  • 10. With this method, we estimated the round-trip time in prototype system (with one remote resource, the access time is included into the execution costs C) However: Metrics simplified: varying network conditions, resource availability etc, not taken into account Metrics nevertheless could assist in agent composition and system design to optimize the utilization of different resource types Cn (ms) Tp (ms) Tm,d (ms) Cm,d (ms) CTotal (ms) Wi-Fi 4423 0 1856 5009 16044 WSN 2830 0 3782 Evaluation metrics (10/11)
  • 11. Thank You For further information, please contact: teemu.leppanen (at) ee.oulu.fi We are looking for EU Horizon 2020 research partners.. Are you interested in co-operation?