B.Sc.
(CS) VI Semester
Internet of Things
TBS-605
Jaishankar Bhatt
Assistant Professor
Graphic Era Deemed to be University
Dehradun
Graphic Era Deemed to be Universsity,
Dehradun
Unit – 3
Contents
• Resource Management In The Internet Of Things
• Clustering
• Software Agents
• Synchronization
• Potential Application Domains
• Home automation
• Healthcare applications
• Industry applications
• Transportation
• Traffic management
• Surveillance applications
Resource Management in IoT
Resource Management is the process to manage all the resources efficiently
like CPU, memory, input/output devices, and other hardware resources among
the various programs and processes running in an IoT based system.
Resource management is an important thing because resources of a IoT based
system are limited and multiple processes or components may require access
to the same resources at the same time. The operating system has to manage
and ensure that all processes get the resources they need to execute, without
any problems like deadlocks.
Resource Management in IoT
The objects of the Internet of Things will be empowered by embedded
devices whose constrained resources will need to be managed efficiently. It
is envisioned that these devices will be able to form ad-hoc networks, and
that the connection from these networks to the Internet of Things
infrastructure will not always be possible.
The following three techniques are used to overcome the challenges of
managing the resources of the Internet of Things objects.
1. Clustering
2. Software agents
3. Synchronisation
1. Clustering:
Clustering is a popular method of organising wireless network topologies, in
which a few nodes, the cluster heads (CH), are elected as representatives to route
the traffic originated in the entire network. The clustering of intelligent
computing devices has been widely researched in the fields of Wireless Sensor
Networks (WSN) and Mobile Ad-hoc NETworks (MANET), although aiming at
different objectives. The main objective of a MANET is network reliability and the
accessibility of nodes.
2- Software Agents:
Agent Based Systems are an evolving software paradigm that strives to create
software that can possess human characteristics, such as autonomy, adaptability,
sociality, judiciousness, mobility and reactivity. Commonly cited definitions of
computational agents found in literature are:
• Intelligent agents are software programs that continuously perform three
functions: perception of dynamic conditions in the environment; reasoning to
interpret perceptions, solve problems, draw inferences, and determine actions.
• Autonomous agents are computational systems that inhabit some complex
dynamic environment, sense and act autonomously in this environment, and by
doing so, realise a set of goals or tasks for which they are designed.
Software agents should maintain the following properties:
• Autonomy, which suggests that agents should operate without the direct
intervention of external forces, and control over their actions and internal state
• A description of the current state of its environment; in order for it to perceive
the state it is in. In the case that the environment consists of other agents, the
agent needs to have “social-ability, i.e., an interaction protocol and language. An
agent’s social-ability might be collaborative, competitive or even antagonistic.
• Reactivity (reflex based agent) and/or proactivity (goal/utility based agent),
meaning that they should respond to changes in the environment and exhibit
goal-directed behaviour by taking the initiative and planning to reach its goals.
• Knowledge of how the agent’s actions affect its environment, in order for
reactivity and proactivity to happen.
Agents might also “learn” to improve their behaviour using feedback from its
performance, evolve or self-replicate depending on the needs of a particular
application. Agent design has been the focus of much debate in the study of
artificial intelligence over the years.
3- Data Synchronization
Understanding the Internet of Things as a new generation of the Internet, where
more and more objects and things will be connected globally, it is to expect that
the amount of data and information created and exchanged in this context will extremely
increase. Due to the complexity and pervasiveness of the Internet of Things architecture,
it is envisioned that this synchronization will be a big challenge. The following
requirements for distribute databases are outlined by Bell and Grimson (1992):
• Data Handling,
• Query Optimization,
• Concurrency Control,
• Recovery,
• Integrity and Security.
Two additional requirements are added by Öszu (1999):
• Transaction Management,
• Replication Protocols.
Potential Domains of Internet of Things