We demonstrate interoperable mobile agents to integrate Internet of Things and wireless sensor networks with resource-constrained low-power embedded networked devices. We introduce adaptable composition for the mobile agent, complying with the Representational State Transfer principles, which are then used for agent migration, controlling the agent and exposing the data, system resources, tasks and services, to the Web. We gather requirements for the system and heterogeneous networked devices and present an application programming interface to enable mobile agents in these systems. The agents are demonstrated in a real-world prototype with smartphones and embedded networked devices, where we utilize a proxy component to expose system resources to the Web for human-machine interactions. Spanning over disparate networks and protocols, the proxy translates messages including the agent composition, between HTTP and Constrained Application Protocol. Lastly, we suggest an evaluation method for the agent communication and migration costs, considering the different types of system resources and utilization.
Original article published in:
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
๐ฑDehradun Call Girls Service ๐ฑโ๏ธ +91'905,3900,678 โ๏ธ๐ฑ Call Girls In Dehradun ๐ฑ
ย
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?