SlideShare a Scribd company logo
1 of 7
Download to read offline
Study of Fog Computing and Data Concurrency in
Internet of Things
Priyanka Goswami
Electrical and Computer Engineering
University of Arizona
Tucson, USA
priyankag@email.arizona.edu
Abstract—Internet of Things (IoT) was first explored in the
1980s, but even today there are many new concepts and
technologies that are coming up in this field. This is especially
because of the increase in smart phones and mobile devices like
smart watches, wearable medical devices, smart cars and the
emergence of smart cities. Also with increasing network speed
and availability of storage space, IoT has become available to the
masses and this has lead to an increased interest in this field.
Because of this sudden growth in devices, there is need system
which can store, process and analyze the big data that is
generated, also guaranteeing of privacy, security, low latency and
data integrity. This has lead to the combining of IoT with Cloud
Computing technologies, which provides virtually unlimited
storage and computing power. But with the system of a
centralized cloud space, the issues of latency, geographical
distribution and mobility of devices arise, and to address this,
research has started to integrate principle of Distributed
Computing Systems with IoT and Cloud, thus leading to the idea
of Fog Computing. Fog Computing, basically uses localized
clouds for storing and processing data, rather than a single
central cloud, thus addressing the above issues. This is beneficial
for IoT applications were time is a critical factor like smart
vehicles, aviation sector and smart healthcare services like
wearable heart monitor and tele-surgery. Fog faces the same
issues that are there in Distributed Computing like data
replication, retrieval and data concurrency. In the paper, all the
above topics are discussed and reviewed. Also an analysis of
different data concurrency techniques, their principle and the
some recent developments in that area is discussed.
Keywords—IoT; Distributed Computing;latency; mobile; cloud;
fog;computing;latency;concurrency;sensor;services
I. INTRODUCTION
Internet of Things was first explored by Mark Weiser who
defined it as invisible computers, which operate everyday
things like thermostats, switches and stereos, being connected
by an omnipresent network, and used the term “Ubiquitous
Computers” [1]. “Internet of Things” (IoT), first used by Peter
T. Lewis in 1985, can be defined as the connection of physical
devices like sensors and actuators through the internetwork/
internet, thus enabling them to store and exchange data. This
implies that physical entities become a part of the virtual
world, but can be controlled remotely and act as physical
access points to the Internet [2]. The physical devices are
called cyber – physical systems (CPS). The advancement in
IoT, in recent years can be contributed to developments in
smart sensors, communication technologies, RFID,
improvement in bandwidth and network speed, decreased cost
and size of storage devices and building of data centers, which
can store the data being generated. There are many areas in
which IoT can be used to improve the quality of life like
transportation, healthcare, industries and manufacturing
plants, disaster management, business as well as home
applications. There is already advancement in the area of
integrating homes with smart sensors, and using IoT for doing
various tasks like temperature control, laundry and cooking,
controlling lighting and entertainment systems. IoT is being
further integrated into everyday life with the development of
smart cars and smart cities. It is estimated that by 2020, more
than 50 billion devices will be connected to the internet, which
exceeds event the human population [3].
The IoT works on the same principle as the original
internet, which is connecting nodes through a network, with
data being stored and exchanged, but in IoT instead of servers
and computers, sensors and actuators act as the nodes. And
here is where the difference comes between the traditional
internet and IoT – sensors and actuators don’t have the same
computation or storage capacity, as that of servers and
computers. Additionally, IoT is an amalgamation of different
technologies, which help in providing the following
capabilities:
 Communication and Cooperation
 Locating, Addressing and Indentifying physical objects
 Sensing and Actuating
 Data storage and information processing
 User Interface
 Security and Privacy
 Quality of Service
Although the IoT has numerous applications, there are
many challenges that need to be addressed, before it can be
available on a mass scale and at low cost. Some of the
challenges are described below:
A. Scalability
Compared to the “Internet of Computers”, “Internet of
Things” has a much larger scale and need more cooperation
and data storage and processing capabilities. Today’s Internet
Routing System connects more than 3 billion people using
more than half million IP addresses and about 50,000
administered networks [4]. This will be higher for IoT since,
besides computers and smart phones, multiple sensors and
actuators will also be connected to each other, generating large
amount of data, in the real time, which needs to be stored and
processed at a very high speed to provide services to
customers. Also most of the network protocols designed today
is for devices having adequate computational and memory
resources [4]. Hence to solve scalability challenges, there is a
need of designing fast, adaptive network protocols,
considering that now the devices will be in motion.
B. Software and Hardware Development
This includes software and hardware availability, such that
service can be provided in a seamless fashion, anytime and
anywhere. Software design should be such that services can be
provided to multiple users, at different geographical locations,
all accessing same or different data, considering the fact the
devices may be stationery or in motion. Also the way in which
the software will handle the large amounts of data and process
it in a sensible manner will have a huge role in the quality of
service provided. Programs should also have the capability to
identify invalid data, which can cause smart devices to
function incorrectly, and this critical especially for
applications like medical and smart vehicle applications.
There is also need for correctly configuring systems having a
wide variety of devices interacting with each other in a
complex manner and configuring them such that they are
always functioning in a proper sequence. Also the codes
running on these devices should have self diagnosing and
debugging capabilities. Recent development in Software
Defined Networking (SDNs), Human Computer Interaction
(HCI), Machine Learning and Machine to Machine (M2M)
technology, has helped in addressing some of the issues.
Hardware capability means that all devices (sensors and
actuators) should be compatible to the different functionalities
and protocols, like IPv6, Bluetooth, ZigBee, 6LoWPAN,
LTE Cat, NFC, RFID, etc [5].
C. Synchronisation between devices
IoT devices not only communicate with each other and the
cloud but also need to be synchronised in real time to function
in a seamless manner. For example in smart transportation,
there has to be real time update and exchange of information
between vehicles, roads, traffic signals, navigation devices and
also authorities, and this will require a robust and omnipresent
timing system to ensure availability and integrity of data [6].
Other such time critical applications include medical
applications like tele surgery, financial and banking systems,
etc. The Simple Networking Time Protocol (SNTP) can be
used for synchronising devices and has a 64 bit timestamp
providing a higher precision compared to NTP, which is used
in PCs for time synchronisation. But for critical applications
of IoT like in transportation or medicine, higher precision is
required.
D.Security Challenges
Since IoT will be used in may critical applications, there is
need for state of the art security, to ensure there is no
corruption in the system, and user privacy is maintained.
Because of the complex and diverse components there are
many challenges to ensuring proper security cover for all
devices. To reduce cost, many IoT devices may not have the
adequate security, thus compromising even the other devices
that interact with it.
Additionally, providing a unified firmware and updating
all devices at once is a big challenge because of the large no.
of them. Also many applications are open source softwares
that are susceptible to attacks and malware. Also since all
devices are connected to each other, it is difficult to isolate the
device that was the source of the attack and take corrective
measure.
E.Data generation, storage and analysis
One major aspect of IoT is the amount of data being
continuously generated by the devices and the resources
required to store and analyse the data to get useful information
from it, which can be used for training and machine learning.
This is important as there may be lot of false information and
false positives. Another important aspect is data association,
i.e. after data collection the subsequent inferences are
associated with the correct devices [8]. Additionally storage
and usage of the data will require access permissions and
addressing privacy issues, security, openness, fast access and
robustness.
Some of the main areas of research in IoT are big data
analysis, robustness, security and privacy, machine to machine
interface, synchronization and timing of devices, human – in –
the-loop and meeting software and hardware expectations and
all these are targeted to solve the above described challenges.
Also another interesting research area in IoT is “Distributed
Systems and IoT”, which aims in connecting the physical
items (which represent the access points to Internet services)
through a geographically distributed system that can integrate
the technologies like mobile, cloud and this is being
implemented in Fog Computing [9].
The paper will focus on the integration of cloud computing
with IoT and how it helps in addressing the challenge of “data
generation, storage and analysis”. The paper will also explore
the use of Fog Computing, which is the use of Distributed
Computing for providing application services like data
analysis and security in IoT, with the focus being on Data
Concurrency, along with the challenges and possible solutions
using some real world applications as examples
II. CLOUD COMPUTING IN IOT
The NIST defines Cloud Computing as: “A model for
enabling ubiquitous, convenient, on-demand network access to
a shared pool of configurable computing resources (e.g.,
networks, servers, storage applications and services) that can
be rapidly provisioned and released with minimum
management effort or service provider interaction [10].
According to the Cisco Global Cloud Index (2014-2019),
by the end of 2019 there will be quadruple rise in the global
cloud traffic, and this can be clearly seen in Figure.1 [11]. But
the growth may be more because of the increases in no. of
devices that will be connected through the internet. And with
integration of Cloud and IoT, the amount of data being
generated will increase substantially thus causing the traffic to
increase more than that predicted. This will also cause the
Cloud traffic to be more than the data center traffic.
Figure.1. Graph showing the increase in the cloud traffic for
years 2014 – 19 [Source:Cisco Global Cloud Index 2014]
Cloud computing and IoT, although different technologies,
can be merged to solve many of the challenges described
above especially data generation, storage and analysis,
scalability and security. This is being referred as the CloudIoT
paradigm [12]. In IoT, every device will have an IP and are on
IP connected network, which means that exchanging sensor
data with every device will be a computationally and
economically expensive process and Cloud can provide a
convenient and cost effective solution. Features of Cloud like
fault tolerance, virtually unlimited storage and computational
ability means to manage and analyse big data, compatibility
with TCP/IP and other common protocols for service delivery
and location independent access to data. Additionally it can
also provide services like Saas (Sensing as a Service), SAaaS
(Aensing and Actuation as a Service), DBaaS (DataBase as
aService), IPMaaS (Identity and Policy Management as a
Service), etc [12].
Sensor cloud is an infrastructure providing large scale
integration of sensor networks, with sensing applications and
cloud computing, thus allowing collection and processing of
data from different sensor networks along with data sharing
among users and applications running on the cloud. Sensor
cloud can be defined as a heterogeneous computing
environment that is spread over a large geographical area and
combines different wireless sensor networks and provide SaaS
to the user [13]. The nodes of the Sensor network consist of
three parts [14]:
 Sensing
 Processing
 Communication
The sensor cloud is basically an extended version of cloud
computing, but is used for managing sensors (which includes
their identification, data generated, data storage, processing
and analysis), connected through the wireless network. With
the cloud providing extensive storage and processing capacity,
it enables collecting the large amount of sensor data by linking
the cloud and Wireless Sensor Network through the sensor
gateway and cloud gateway [15]. The process is as follows:
 Sensor gateway collects and compresses the data it gets
from the WSN nodes before transmitting it to the cloud
gateway.
 Cloud gateway on getting the compressed data,
decompresses and stores it
For sensor cloud, the operation can be divided in two
phases:
a. Creating the service catalogue [17], which includes the list
of services and the specifications like network speed, types of
sensors and data availability, from which templates can be
created to meet the specific requirements of the user. Here the
sensors are not actual physical entities but virtual sensors on a
cloud computing platform, making them dynamic and
geographically independent. Thus users can utilise the sensors
using come set functions and need not consider their actual
physical locations [16].
b. Service providing phase [17], in which the user requests for
service based on the templates generated in the first phase.
Once the provider generates the service, the user is
acknowledged about it and given full access and control. Once
finished with the task, the service instance is released (the
virtual sensors ceases to exist) and the user is billed for it [16].
The sensor cloud combined with IoT is used for many
applications like real time health monitoring, telemedicine,
traffic monitoring and control in smart cities, controlling
energy consumptions and operating devices in smart homes,
agriculture and environment monitoring, and many more.
Although the classic cloud computing model is an efficient
option for IoT applications, as compared to large data centers,
it may be inadequate to meet the requirements of some
latency-sensitive applications that need the sensor nodes to be
nearby, to meet the time delay requirements and also the
mobility and geologically distributed aspect of IoT [11].
Additionally, another problem faced in cloud computing is
security and privacy, since being connected through the
Internet, user requests, data transmission and system response
have to traverse through large no. of intermediate network
nodes, thus increasing the vulnerability to attack [18].
Additionally, with user data being stored in public cloud, there
is a risk of its integrity being compromised and there is no
assurance of complete confidentiality [18]. To address this, a
new platform has been developed, known as “Edge of the
Network Computing” or “Fog Computing” [19].
III. FOG COMPUTING
Fog computing is an extension of the classical concept of
cloud computing and was introduced by Cisco to ease wireless
data transfer to distributed devices which form part of the IoT
[20].The reason for naming it as “fog” is because in
meteorological terms, fog means “a cloud that is close to the
ground” (with data source being analogous to the ground).
Cisco defines Fog Computing as follows: “A paradigm that
extends Cloud Computing and services to the edge of the
network” [20]. Another definition of Fog Computing, also
known as “Fog Networking” or “Fogging” [20], is a
decentralized infrastructure in which computing resources and
application services are distributed in the most logical and
efficient manner between the point where data is generated to
the cloud, where the data is stored, with the main goal being
reducing the amount of transportation required for the data to
get stored, processed and analysed [21]. Hence, from the
above definitions, it can be said that fog can be defined as
using the concept of distributed computing systems for data
transfer and management (storage, processing and analysis) in
IoT. In this environment, the sensor data is mostly processed
in a data hub, which can be in a smart mobile device or at the
edge of network, like a smart router, thus reducing the amount
of bandwidth and time required for sending a data bundle [21].
This helps in reducing latency and is important in IoT
especially for applications like smart vehicles or controlling
traffic, where the delay in communication can cause
circumstances that can harm humans.
Some of the main characteristics of fog computing,
because of which it is being widely employed for data
transmission in IoT, are [18]:
 Highly virtualized and providing end-to-end services
between sensors and cloud computing data centers
 Location awareness and low latency
 Targeting IoT applications which need widely distributed
deployment and geographical distribution. This is also
ensured by using large number of nodes as seen in sensor
networks
 Supports mobility, which is an important aspect of most of
IoT based services.
 Supports real time interaction, over batch processing, thus
giving a more recent version of the data. This helps in
improving user experience and quality of service
 Predominantly wireless and heterogeneous and hence can
be deployed in a wide variety of environments
 Supports real time analysis and interaction with the cloud
and hence help in processing data close to the point of
generation.
Figure.2 shows a basic architecture of the fog computing
[22]. The bottom layer of consists of all IoT devices (sensors
like thermostats, pressure sensors, controllers/actuators like
switches, routers etc.) that generate or use the data. The next
layer consists of devices with computing, storage and network
connectivity known as fog nodes or fog servers and forms the
core of fog network. The data generated by IoT devices are
analyzed in this layer, with the fog nodes being close to where
the data is collected, which ensures that there is minimum
latency and sensitive data is kept within the network [22]. The
last layer consists of the cloud based data center, which
basically collects data from all the fog nodes and also analyses
data that do not have hard time limits.
Figure.2 Architecture of Fog Network
In fog the most time sensitive data will be processed on the
node closest to the point of generation, while data that can be
delayed by few seconds or minutes will be analyzed on
aggregation of nodes and the data that doesn’t have time
constraints will be passed on to the cloud [22].
From the above discussion, it can be seen that with the
increase in no. of IoT devices, it is not efficient or convenient
to send all the generated data to the cloud. This will not only
consume large amounts of bandwidth and time, but would not
also be cost efficient and reduce the quality of service. Hence,
using fog computing, these challenges can be overcome. Fog
provides the benefits of distributed computing, with the data
being collected and processed on nodes that are
geographically spread, with the main aim being that the data
should have minimum transportation. This is required for
many of time critical IoT applications like transport,
healthcare and patient monitoring and environment
monitoring. It also helps solving the issue of security and
privacy, with the chances of data being prone to attack very
less compared to that in cloud. Additionally it is more
economically efficient compared to using only cloud, thus
increasing the user base of IoT.
But as the complexity in IoT is increasing, and with the
merging of distributed computing (which is the underlying
concept of Fog Computing), the systems can face issues like
concurrency errors, deadlocks and resource starvation, which
can lead to reduction in security, data integrity and the overall
quality of service [23]. This issue will be especially
encountered at the top level of the fog network architecture,
which is the cloud based data center, where the data from all
nodes is finally stored. Hence existing concurrency control
techniques will have to be modified for application in IoT,
since here the rate and quantity of data generation is much
faster than simple PCs connected using internet. Additionally
geographical distribution and mobility of devices will also
have to be factored in. The next section will cover the issue of
concurrency at the cloud level in fog computing with the
possible solutions to resolve it.
IV. DATA CONCURRENCY IN FOG
Form the point of generation, the data within the IoT
system will have the following stages – collection at fog
nodes, filtering and processing, storage at the cloud and
retrieval whenever there is a query [24]. In IoT, the data
management system can be divided into two parts:
a. The front end that directly interacts with the sensors and
this is communication intensive, with large amount of data
being retrieved in response to queries [24]. This is the
storage units at the fog node level
b. The back end, which can be online or offline, and handles
mass storage and in-depth analysis of the data and this
handles only in depth queries, and has less communication
[24]. In fog network, this is the cloud.
Hence here, it has to be ensured that transaction
management is such that the data integrity is maintained by
guaranteeing the properties of Atomicity, Consistency,
Isolation and Durability (ACID), and it can be managed using
traditional techniques for bound spaces, but becomes complex
at a globalized scale [24]. And this is important because IoT is
continuously growing, with large no. of device being added to
the system every day.
“Data Concurrency” means that multiple users (devices)
can access data at the same time and also process it, while
“Data Consistency” means that each user can have a consistent
view of the data, with the changes being done on the data
visible to all the devices/ transactions [25]. Concurrency is
impacted by the following two scenarios:
a. When a process changing the data, doesn’t allow other
processes form accessing it [26].
b. When multiple processes try to change the data
simultaneously, but are not able to without compromising
data consistency [26].
Transactions can be classified into two types, based on
their execution time and the amount of data that they will
affect:
a. Online transactions: They have a short life span and affect
a small part of the data base. They have fast response times
and most of the transaction in IoT is of this type [27].
These transactions will use the data that is being analysed
and stored at the fog nodes. Example - Controlling the
light intensity in a smart home
b. Batch transactions: They have a longer life span and affect
a large portion of the data base [27]. In IoT these
transactions will generally run on the data stored in the
cloud. Example – Statistical analysis and application,
carrying out image processing and analysis on data
collected during environment monitoring.
Some of the main challenges that are faced by IoT
applications, especially if they run on the “edge of the
network” (fog) are as follows:
 Even if the service is only responsible for forwarding data,
through the routers to the cloud, there are many processes
simultaneously occurring in parallel, with the routers
having to handle multiple streams of data (from multiple
sensors or actuators) arriving at their interface, all at
different rates and from different locations [28]. To ensure
that the data integrity is maintained, there has to
concurrency control mechanism, but such that they do not
create latency, since the rate of new data generation is very
high, there should not be a scenario in which, by the time a
process is able to store data in the cloud a newer version of
the data is available and overwrites the old data. This will
cause data to lose its integrity and also create errors in
analysis.
 Another challenge is that the smart routers work
autonomously and with no user interface being directly
connected to it they are operated and serviced remotely,
via the same network through which the data is sent, and
so also has to be handled [28].
 The same concurrency handling mechanism/framework
cannot be used for all applications, because all the
applications are targeted to provide different types of
services [28]. For example, a framework used to handle
data concurrency for services targeted to operate smart
vehicles, cannot be used for service that cater to smart
homes or environment monitoring.
 In IoT the transaction serializability model cannot be
implemented because of the scale of transactions and the
need for no. of devices to be serviced simultaneously.
Reducing complexity of concurrency by building
application to operate in sequential manner will cause
latency as large no. of devices will require the same
services, causing large queues and time to service a
request. This cannot be tolerated for many time critical
applications.
V. CONCURRENCY CONTROL
“Concurrency Control” can be defined as a method to
maintain the consistency and integrity of the data while there
is concurrent access to the database in a multi user database
management system and creates the illusion that each user is
executing alone on the dedicated system [30]. Sometimes
concurrency control may lead to deadlocks, due to which the
data may not be accessible to the user at any point of time.
Hence to resolve such “Deadlock” situations, there are three
basic types of methods that can be used:
 Time Stamp –A unique time based identifier is used to
identify if an entry if “stale”. Read and Write operations
are based on the timestamp and accordingly executed.
Generally used where the data access pattern is mostly
consistent and only used for transactional purpose [31].
 Two-Phase Locking (2PL) – This supports multiple reads
and single writes. There are two phases: the growing phase
in which transactions set the read/write locks and the
shrinking phase in which locks are released. A process can
keep a read lock on a data and if it needs to write then it is
converted to write lock. It is used where the load pattern is
changing continuously and randomly and can be used for
transaction and analysis function [31]. For IoT databases
(in cloud and fog nodes), this technique is used and there
have been various modifications to suit to the application
needs.
 Optimistic Concurrency Control – Probability of
conflicting transaction is assumed to be low. Transactions
are allowed to proceed with writing the data and are
assigned unique version numbers. Once all the transactions
are completed, a “prepare to commit” message is sent to
the main server and if there are no conflicts the data is
updated with a unique stamp. In recent years the OCC has
been modified into two schemes by Harder: Forward
Oriented Optimistic Control (FOOC) and Backward
Oriented Optimistic Control (BOOC). This technique can
be used where the pattern of data access is consistent, since
it assumes that transaction conflicts will not be there [31].
 Wait-Die and Wound-Wait Algorithm – This algorithm is
similar to the 2PL scheme, but differs in the way deadlocks
are handled. It implements a time stamp based mechanism
to resolve issues of concurrent writes, by assigning a
timestamp to every transaction, with older transactions
given priority over the new ones to put lock on the data
[32].
For IoT based on FOG and Cloud Computing, to resolve
concurrency issues, the above described traditional schemes
are being modified and extended to suit the needs of different
IoT applications. One such scheme is the Distributed Real
Time Database Concurrency Control Transaction (DRTDBS)
[33]. This is an improved version of the two phase locking-
high priority protocol, in which transactions are allowed to put
locks based on a priority assigned to them. In the DRTBDS,
the transactions are also assigned a deadline, with the priority
being it function [33]. Hence priority can be decided in
different ways like a transaction having an early release will
be assigned a higher priority, or a transaction having the
earliest deadline is given a priority. This will depend on the
type of application that is using the data. For example if we
consider smart vehicles using the data to determine if it has to
apply brakes, then the second scheme is preferable. This
modification to the 2PL scheme helps in incorporating the
“urgency of situation” factor in the concurrency control
mechanism [33].
Conclusion
With IoT becoming available to the masses, there is going
to be massive increase in the amount of data that is generated
by the device and that needs to be stored, processed and
analyzed. The integration of IoT, Cloud and Distributed
Computing, has lead to the concept of fog computing and this
makes it possible to employ IoT at large scale, while ensuring
Quality of Service. But with Fog, being a recent development,
there are many issues that have yet to be addressed like
security, privacy, data integrity, replication and retrieval and
data concurrency. From the papers reviewed, it can be
concluded that researchers are taking the basic techniques of
Data concurrency like the 2PL, Time Stamp and Optimistic
Concurrency Control techniques and modifying them based on
the requirements of specific applications. The Two Phase
Locking Technique is said to be more suited for IoT
applications because it can easily adapt to changing load
conditions. One modification of the 2PL mechanism is the
2PL-HP, which allows for tasks to be assigned priorities and
accordingly set read/write locks on data. The DRTDBS [33],
scheme uses task deadline and time taken to release the data as
criteria to set the priority in the 2PL-HP scheme. This scheme
can be used for applications having strict deadlines like smart
vehicles and IoT in transportation.
References
[1]. M. Weiser, “The Computer for the 21st Century”, Scientific American
265(9):66–75 (1991)
[2]. F. Mattern, C. Floerkemeier, "From the Internet of Computers to the
Internet of Things”, Distributed Systems Group, Institute of Pervasive
Computing, ETH Zurich
[3]. D. Evans, “The Internet of things: How the next evolution of the Internet
Is changing everything”, CISCO, San Jose,CA, USA,White Paper, 2011.
[4]. R. Alur, E. Berger, A. Drobnis, L. Fix, K. Fu, G. Hager, D. Lopresti, K.
Nahrstedt, E. Mynnat, S. Patel, J. Rexford, J. Stankovic, B. Zorn,
"Systems Computing Challenges in the Internet of Things", A white
paper prepared for the Computing Community Consortium, 2015
[5]. A. Al-Fuqaha, M. Guizani, M. Mohammadi, M. Aledhari, M. Ayyash,
"Internet of Things: A Survey on Enabling Technologies Protocols and
Applications", IEEE Communications Surveys & Tutorials, pp. 1-1, 2015
[6]. M. Weiss, J. Eidson, C. Barry, D. Broman, L. Goldin, B. Iannucci, E. Lee,
K. Stanton, “Time-Aware Applications, Computers, and Communication
Systems (TAACCS)”, Natl. Inst. Stand. Technol. Tech. Note 1867, 25
pages (February 2015), [online]: http://dx.doi.org/10.6028/NIST.TN.1867
[7]. “Simple time synchronization for the Internet of Things”, [online]:
https://balau82.wordpress.com/2016/02/18/simple-time-synchronization-
for-the-internet-of-things
[8]. J. A. Stankovic, "Research directions for the Internet of Things", IEEE
Internet Things J., vol. 1, no. 1, pp. 3-9, Feb. 2014
[9].“Distributd Systems and IoT”, [online]: http://www.icar.cnr.it/en/node/503
[10].P. Mell, T. Grance,”The NIST Definition of Cloud Computing (Technical
report)”, National Institute of Standards and Technology: U.S.
Department of Commerce, doi:10.6028/NIST.SP.800-145, Special
publication 800-145, September 2011.
[11]. Cisco® Global Cloud Index (2014-2019), October 2015 [online]:
https://newsroom.cisco.com/press-release-content?articleId=1724918
[12]. Alessio Botta, Walter de Donato, Valerio Persico, Antonio Pescape, "On
the Integration of Cloud Computing and Internet of Things", , vol. 00, no.
, pp. 23-30, 2014, doi:10.1109/FiCloud.2014.14
[13]. S. Madria, V. Kumar, R. Dalvi, "Sensor cloud: A cloud of virtual
sensors", Software IEEE, vol. 31, no. 2, pp. 70-77, Mar 2014.
[14]. I. F. Akyildiz, W. Su, Y. Sankarasubramaniam, E. Cayirci, "A survey on
sensor networks", Communications magazine IEEE, vol. 40, no. 8, pp.
102-114, 2002
[15]. A. Alamri, W. S. Ansari, M. M. Hassan, M. S. Hossain, A. Alelaiwi and
M. A. Hossain,“A survey on sensor-cloud: Architecture, applications, and
approaches”,International Journal of Distributed Sensor Networks, vol.
2013, November, 2012
[16]. M. Yuriyama and T. Kushida, "Sensor-Cloud Infrastructure-Physical
Sensor Management with Virtualized Sensors on Cloud Computing," in
Proceedings of NBiS, Takayama, Gifu, Japan, Septemeber 2010
[17]. B. P. Rao, P. Saluia, N. Sharma, A. Mittal, S. V. Sharma, "Cloud
computing for internet of things & sensing based applications", Proc. 2012
6th Int. Conf. Sens. Technol. (ICST), pp. 374-380.
[18]. F. Bonomi, R. Milito, J. Zhu, and S. Addepalli, “Fog computing and its
Role in the internet of things, in proceedings of the first edition of the
MCC workshop on Mobile cloud computing, pages 13–16. ACM, 2012.
[19]. F. Bonomi, “Connected vehicles, the internet of things, and fog
computing”, VANET 2011, 2011.
[20]. “IoT, from Cloud to Fog Computing”, [online]:
http://blogs.cisco.com/perspectives/iot-from-cloud-to-fog-computing,
March 2015.
[21]. “Fog computing (fog networking)”, [online]:
http://internetofthingsagenda.techtarget.com/definition/fog-computing-
fogging
[22]. Cisco, “Fog Computing and the Internet of Things: Extend the Cloud to
Where the Things Are”, 2015, [online]:
https://www.cisco.com/c/dam/en_us/solutions/trends/iot/docs/computing-
overview.pdf
[23]. “How to avoid concurrency defects in IoT applications”, [online]:
http://embedded- computing.com/30602-how-to-avoid-concurrency-
defects-in-iot-applications/
[24]. Abu-Elkheir M, Hayajneh M, Ali NA. Data Management for the Internet
of Things: Design Primitives and Solution. Sensors. 2013; 13(11):15582-
15612
[25]. “Introduction to Data Concurrency and Consistency in Multiuser
Environment”, Oracle, [online]:
https://docs.oracle.com/cd/B19306_01/server.102/b14220/consist.htm
[26]. “Database Concurrency and Row Level Versioning in SQL Server 2005”,
April 2005, [online]: https://technet.microsoft.com/en-
us/library/cc917674.aspx
[27]. J. Gray and A. Reuter, Transaction Processing: Concepts and Techniques,
Morgan Kaufmann. 1993
[28]. “Concurrency in IoT: Don’t Try to Framework it Away”, September
2014, [online]: http://www.bitreactive.com/concurrency-in-iot
[29]. “Distributed concurrency control”, [online]:
https://en.wikipedia.org/wiki/Distributed_concurrency_control
[30]. P. Bernstein, N. Goodman, “Concurrency Control in Distributed Database
Systems”, ACM Computing Surveys (CSUR), v.13 n.2, p.185-221, June
1981
[31]. V. Garde, A. Mudaliar, “Concurrency Lock Issues in Relational Cloud
Computing”, Network and Complex Systems, Vol.3, No.1, 2013, pp. 45-
49, ISSN 2224-610X (Paper) ISSN 2225-0603 (Online)
[32]. A. Gupta, Y. Gore, “Concurrency Control and Security Issue in
Distributed Database System”, Vol.4 Issue 2, IJEDR, 2016 ISSN: 2321-
9939
[33]. Q. Zheng, X. Bi, “An Improved Concurrency Control Algorithm for
Distributed Real-Time Database”, Proceedings of IEEE International
Conference on Advanced Management Science (ICAMS), Chengdu,
China, July 2010, pp. 364–367

More Related Content

What's hot

MINI PROJECT ABSTRACT-Embedded based data acquisition system and control with...
MINI PROJECT ABSTRACT-Embedded based data acquisition system and control with...MINI PROJECT ABSTRACT-Embedded based data acquisition system and control with...
MINI PROJECT ABSTRACT-Embedded based data acquisition system and control with...
ASHOKKUMAR RAMAR
 
Micro controller based DAQ
Micro controller based DAQMicro controller based DAQ
Micro controller based DAQ
Murugappa Group
 
Power system automation
Power system automationPower system automation
Power system automation
Kiran Gham
 
SCADA PROJECTS ABSTRACT-Scada for power station substation monitoring and aut...
SCADA PROJECTS ABSTRACT-Scada for power station substation monitoring and aut...SCADA PROJECTS ABSTRACT-Scada for power station substation monitoring and aut...
SCADA PROJECTS ABSTRACT-Scada for power station substation monitoring and aut...
ASHOKKUMAR RAMAR
 
Power system automation
Power system automationPower system automation
Power system automation
satyam11
 

What's hot (20)

( KEVIN SONI )DATA ACQUISITION SYSTEM
( KEVIN SONI )DATA ACQUISITION SYSTEM ( KEVIN SONI )DATA ACQUISITION SYSTEM
( KEVIN SONI )DATA ACQUISITION SYSTEM
 
Data Acquisition System
Data Acquisition SystemData Acquisition System
Data Acquisition System
 
MINI PROJECT ABSTRACT-Embedded based data acquisition system and control with...
MINI PROJECT ABSTRACT-Embedded based data acquisition system and control with...MINI PROJECT ABSTRACT-Embedded based data acquisition system and control with...
MINI PROJECT ABSTRACT-Embedded based data acquisition system and control with...
 
Micro controller based DAQ
Micro controller based DAQMicro controller based DAQ
Micro controller based DAQ
 
Data acquisition & system control basic information
Data acquisition & system control basic information Data acquisition & system control basic information
Data acquisition & system control basic information
 
Data Acquisition System & Data Logger
Data Acquisition System & Data LoggerData Acquisition System & Data Logger
Data Acquisition System & Data Logger
 
Data acquisition softwares
Data acquisition softwaresData acquisition softwares
Data acquisition softwares
 
Lab 1 data acquisition fundamentals
Lab 1   data acquisition fundamentalsLab 1   data acquisition fundamentals
Lab 1 data acquisition fundamentals
 
MadgeTech Wireless Data Loggers
MadgeTech Wireless Data LoggersMadgeTech Wireless Data Loggers
MadgeTech Wireless Data Loggers
 
Power system automation
Power system automationPower system automation
Power system automation
 
Samiullah final ppt sacda
Samiullah final ppt sacdaSamiullah final ppt sacda
Samiullah final ppt sacda
 
Dhiraj seminar # power system automation
Dhiraj seminar # power system automationDhiraj seminar # power system automation
Dhiraj seminar # power system automation
 
Tikam ppt 8 sem
Tikam ppt 8 semTikam ppt 8 sem
Tikam ppt 8 sem
 
Dhiraj power system automation
Dhiraj power system automationDhiraj power system automation
Dhiraj power system automation
 
Data logger
Data loggerData logger
Data logger
 
Power system automation introduction
Power system automation introductionPower system automation introduction
Power system automation introduction
 
Data loggers
Data loggersData loggers
Data loggers
 
supervisory control and data acquisition system
supervisory control and data acquisition systemsupervisory control and data acquisition system
supervisory control and data acquisition system
 
SCADA PROJECTS ABSTRACT-Scada for power station substation monitoring and aut...
SCADA PROJECTS ABSTRACT-Scada for power station substation monitoring and aut...SCADA PROJECTS ABSTRACT-Scada for power station substation monitoring and aut...
SCADA PROJECTS ABSTRACT-Scada for power station substation monitoring and aut...
 
Power system automation
Power system automationPower system automation
Power system automation
 

Similar to Fog computing and data concurrency

Smart city landscape
Smart city landscapeSmart city landscape
Smart city landscape
Samir SEHIL
 
MULTI-ACCESS EDGE COMPUTING ARCHITECTURE AND SMART AGRICULTURE APPLICATION IN...
MULTI-ACCESS EDGE COMPUTING ARCHITECTURE AND SMART AGRICULTURE APPLICATION IN...MULTI-ACCESS EDGE COMPUTING ARCHITECTURE AND SMART AGRICULTURE APPLICATION IN...
MULTI-ACCESS EDGE COMPUTING ARCHITECTURE AND SMART AGRICULTURE APPLICATION IN...
ijmnct
 

Similar to Fog computing and data concurrency (20)

Research Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and ScienceResearch Inventy : International Journal of Engineering and Science
Research Inventy : International Journal of Engineering and Science
 
IoT: Ongoing challenges and opportunities in Mobile Technology
IoT: Ongoing challenges and opportunities in Mobile TechnologyIoT: Ongoing challenges and opportunities in Mobile Technology
IoT: Ongoing challenges and opportunities in Mobile Technology
 
THE INTERNET OF THINGS: NEW INTEROPERABILITY, MANAGEMENT AND SECURITY CHALLENGES
THE INTERNET OF THINGS: NEW INTEROPERABILITY, MANAGEMENT AND SECURITY CHALLENGESTHE INTERNET OF THINGS: NEW INTEROPERABILITY, MANAGEMENT AND SECURITY CHALLENGES
THE INTERNET OF THINGS: NEW INTEROPERABILITY, MANAGEMENT AND SECURITY CHALLENGES
 
THE INTERNET OF THINGS: NEW INTEROPERABILITY, MANAGEMENT AND SECURITY CHALLENGES
THE INTERNET OF THINGS: NEW INTEROPERABILITY, MANAGEMENT AND SECURITY CHALLENGESTHE INTERNET OF THINGS: NEW INTEROPERABILITY, MANAGEMENT AND SECURITY CHALLENGES
THE INTERNET OF THINGS: NEW INTEROPERABILITY, MANAGEMENT AND SECURITY CHALLENGES
 
THE INTERNET OF THINGS: NEW INTEROPERABILITY, MANAGEMENT AND SECURITY CHALLENGES
THE INTERNET OF THINGS: NEW INTEROPERABILITY, MANAGEMENT AND SECURITY CHALLENGESTHE INTERNET OF THINGS: NEW INTEROPERABILITY, MANAGEMENT AND SECURITY CHALLENGES
THE INTERNET OF THINGS: NEW INTEROPERABILITY, MANAGEMENT AND SECURITY CHALLENGES
 
Smart city landscape
Smart city landscapeSmart city landscape
Smart city landscape
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 
Hardware/Software Interoperability and Single Point Vulnerability Problems of...
Hardware/Software Interoperability and Single Point Vulnerability Problems of...Hardware/Software Interoperability and Single Point Vulnerability Problems of...
Hardware/Software Interoperability and Single Point Vulnerability Problems of...
 
SEMANTIC TECHNIQUES FOR IOT DATA AND SERVICE MANAGEMENT: ONTOSMART SYSTEM
SEMANTIC TECHNIQUES FOR IOT DATA AND SERVICE MANAGEMENT: ONTOSMART SYSTEMSEMANTIC TECHNIQUES FOR IOT DATA AND SERVICE MANAGEMENT: ONTOSMART SYSTEM
SEMANTIC TECHNIQUES FOR IOT DATA AND SERVICE MANAGEMENT: ONTOSMART SYSTEM
 
SEMANTIC TECHNIQUES FOR IOT DATA AND SERVICE MANAGEMENT: ONTOSMART SYSTEM
SEMANTIC TECHNIQUES FOR IOT DATA AND SERVICE MANAGEMENT: ONTOSMART SYSTEMSEMANTIC TECHNIQUES FOR IOT DATA AND SERVICE MANAGEMENT: ONTOSMART SYSTEM
SEMANTIC TECHNIQUES FOR IOT DATA AND SERVICE MANAGEMENT: ONTOSMART SYSTEM
 
SEMANTIC TECHNIQUES FOR IOT DATA AND SERVICE MANAGEMENT: ONTOSMART SYSTEM
SEMANTIC TECHNIQUES FOR IOT DATA AND SERVICE MANAGEMENT: ONTOSMART SYSTEMSEMANTIC TECHNIQUES FOR IOT DATA AND SERVICE MANAGEMENT: ONTOSMART SYSTEM
SEMANTIC TECHNIQUES FOR IOT DATA AND SERVICE MANAGEMENT: ONTOSMART SYSTEM
 
Understanding the Information Architecture, Data Management, and Analysis Cha...
Understanding the Information Architecture, Data Management, and Analysis Cha...Understanding the Information Architecture, Data Management, and Analysis Cha...
Understanding the Information Architecture, Data Management, and Analysis Cha...
 
A MIDDLEWARE FOR THE INTERNET OF THINGS
A MIDDLEWARE FOR THE INTERNET OF THINGSA MIDDLEWARE FOR THE INTERNET OF THINGS
A MIDDLEWARE FOR THE INTERNET OF THINGS
 
IOTCYBER
IOTCYBERIOTCYBER
IOTCYBER
 
05_AJMS_08_18_CS.pdf
05_AJMS_08_18_CS.pdf05_AJMS_08_18_CS.pdf
05_AJMS_08_18_CS.pdf
 
05_AJMS_08_18_CS.pdf
05_AJMS_08_18_CS.pdf05_AJMS_08_18_CS.pdf
05_AJMS_08_18_CS.pdf
 
IRJET-A Review: IoT and Cloud Computing for Future Internet
IRJET-A Review: IoT and Cloud Computing for Future InternetIRJET-A Review: IoT and Cloud Computing for Future Internet
IRJET-A Review: IoT and Cloud Computing for Future Internet
 
Iot architecture report
Iot architecture reportIot architecture report
Iot architecture report
 
F5 Networks: The Internet of Things - Ready Infrastructure
F5 Networks: The Internet of Things - Ready InfrastructureF5 Networks: The Internet of Things - Ready Infrastructure
F5 Networks: The Internet of Things - Ready Infrastructure
 
MULTI-ACCESS EDGE COMPUTING ARCHITECTURE AND SMART AGRICULTURE APPLICATION IN...
MULTI-ACCESS EDGE COMPUTING ARCHITECTURE AND SMART AGRICULTURE APPLICATION IN...MULTI-ACCESS EDGE COMPUTING ARCHITECTURE AND SMART AGRICULTURE APPLICATION IN...
MULTI-ACCESS EDGE COMPUTING ARCHITECTURE AND SMART AGRICULTURE APPLICATION IN...
 

More from Priyanka Goswami

More from Priyanka Goswami (7)

Project 3
Project 3Project 3
Project 3
 
Texture based feature extraction and object tracking
Texture based feature extraction and object trackingTexture based feature extraction and object tracking
Texture based feature extraction and object tracking
 
Stock analysis report
Stock analysis reportStock analysis report
Stock analysis report
 
Cad report
Cad reportCad report
Cad report
 
Presentation_Final
Presentation_FinalPresentation_Final
Presentation_Final
 
Biomedical image processing ppt
Biomedical image processing pptBiomedical image processing ppt
Biomedical image processing ppt
 
Thermal Imaging and its Applications
Thermal Imaging and its ApplicationsThermal Imaging and its Applications
Thermal Imaging and its Applications
 

Recently uploaded

UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
rknatarajan
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Dr.Costas Sachpazis
 

Recently uploaded (20)

UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and workingUNIT-V FMM.HYDRAULIC TURBINE - Construction and working
UNIT-V FMM.HYDRAULIC TURBINE - Construction and working
 
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...Top Rated  Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
Top Rated Pune Call Girls Budhwar Peth ⟟ 6297143586 ⟟ Call Me For Genuine Se...
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Glass Ceramics: Processing and Properties
Glass Ceramics: Processing and PropertiesGlass Ceramics: Processing and Properties
Glass Ceramics: Processing and Properties
 
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank  Design by Working Stress - IS Method.pdfIntze Overhead Water Tank  Design by Working Stress - IS Method.pdf
Intze Overhead Water Tank Design by Working Stress - IS Method.pdf
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
 
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
Structural Analysis and Design of Foundations: A Comprehensive Handbook for S...
 

Fog computing and data concurrency

  • 1. Study of Fog Computing and Data Concurrency in Internet of Things Priyanka Goswami Electrical and Computer Engineering University of Arizona Tucson, USA priyankag@email.arizona.edu Abstract—Internet of Things (IoT) was first explored in the 1980s, but even today there are many new concepts and technologies that are coming up in this field. This is especially because of the increase in smart phones and mobile devices like smart watches, wearable medical devices, smart cars and the emergence of smart cities. Also with increasing network speed and availability of storage space, IoT has become available to the masses and this has lead to an increased interest in this field. Because of this sudden growth in devices, there is need system which can store, process and analyze the big data that is generated, also guaranteeing of privacy, security, low latency and data integrity. This has lead to the combining of IoT with Cloud Computing technologies, which provides virtually unlimited storage and computing power. But with the system of a centralized cloud space, the issues of latency, geographical distribution and mobility of devices arise, and to address this, research has started to integrate principle of Distributed Computing Systems with IoT and Cloud, thus leading to the idea of Fog Computing. Fog Computing, basically uses localized clouds for storing and processing data, rather than a single central cloud, thus addressing the above issues. This is beneficial for IoT applications were time is a critical factor like smart vehicles, aviation sector and smart healthcare services like wearable heart monitor and tele-surgery. Fog faces the same issues that are there in Distributed Computing like data replication, retrieval and data concurrency. In the paper, all the above topics are discussed and reviewed. Also an analysis of different data concurrency techniques, their principle and the some recent developments in that area is discussed. Keywords—IoT; Distributed Computing;latency; mobile; cloud; fog;computing;latency;concurrency;sensor;services I. INTRODUCTION Internet of Things was first explored by Mark Weiser who defined it as invisible computers, which operate everyday things like thermostats, switches and stereos, being connected by an omnipresent network, and used the term “Ubiquitous Computers” [1]. “Internet of Things” (IoT), first used by Peter T. Lewis in 1985, can be defined as the connection of physical devices like sensors and actuators through the internetwork/ internet, thus enabling them to store and exchange data. This implies that physical entities become a part of the virtual world, but can be controlled remotely and act as physical access points to the Internet [2]. The physical devices are called cyber – physical systems (CPS). The advancement in IoT, in recent years can be contributed to developments in smart sensors, communication technologies, RFID, improvement in bandwidth and network speed, decreased cost and size of storage devices and building of data centers, which can store the data being generated. There are many areas in which IoT can be used to improve the quality of life like transportation, healthcare, industries and manufacturing plants, disaster management, business as well as home applications. There is already advancement in the area of integrating homes with smart sensors, and using IoT for doing various tasks like temperature control, laundry and cooking, controlling lighting and entertainment systems. IoT is being further integrated into everyday life with the development of smart cars and smart cities. It is estimated that by 2020, more than 50 billion devices will be connected to the internet, which exceeds event the human population [3]. The IoT works on the same principle as the original internet, which is connecting nodes through a network, with data being stored and exchanged, but in IoT instead of servers and computers, sensors and actuators act as the nodes. And here is where the difference comes between the traditional internet and IoT – sensors and actuators don’t have the same computation or storage capacity, as that of servers and computers. Additionally, IoT is an amalgamation of different technologies, which help in providing the following capabilities:  Communication and Cooperation  Locating, Addressing and Indentifying physical objects  Sensing and Actuating  Data storage and information processing  User Interface  Security and Privacy  Quality of Service Although the IoT has numerous applications, there are many challenges that need to be addressed, before it can be available on a mass scale and at low cost. Some of the challenges are described below: A. Scalability Compared to the “Internet of Computers”, “Internet of Things” has a much larger scale and need more cooperation and data storage and processing capabilities. Today’s Internet Routing System connects more than 3 billion people using more than half million IP addresses and about 50,000
  • 2. administered networks [4]. This will be higher for IoT since, besides computers and smart phones, multiple sensors and actuators will also be connected to each other, generating large amount of data, in the real time, which needs to be stored and processed at a very high speed to provide services to customers. Also most of the network protocols designed today is for devices having adequate computational and memory resources [4]. Hence to solve scalability challenges, there is a need of designing fast, adaptive network protocols, considering that now the devices will be in motion. B. Software and Hardware Development This includes software and hardware availability, such that service can be provided in a seamless fashion, anytime and anywhere. Software design should be such that services can be provided to multiple users, at different geographical locations, all accessing same or different data, considering the fact the devices may be stationery or in motion. Also the way in which the software will handle the large amounts of data and process it in a sensible manner will have a huge role in the quality of service provided. Programs should also have the capability to identify invalid data, which can cause smart devices to function incorrectly, and this critical especially for applications like medical and smart vehicle applications. There is also need for correctly configuring systems having a wide variety of devices interacting with each other in a complex manner and configuring them such that they are always functioning in a proper sequence. Also the codes running on these devices should have self diagnosing and debugging capabilities. Recent development in Software Defined Networking (SDNs), Human Computer Interaction (HCI), Machine Learning and Machine to Machine (M2M) technology, has helped in addressing some of the issues. Hardware capability means that all devices (sensors and actuators) should be compatible to the different functionalities and protocols, like IPv6, Bluetooth, ZigBee, 6LoWPAN, LTE Cat, NFC, RFID, etc [5]. C. Synchronisation between devices IoT devices not only communicate with each other and the cloud but also need to be synchronised in real time to function in a seamless manner. For example in smart transportation, there has to be real time update and exchange of information between vehicles, roads, traffic signals, navigation devices and also authorities, and this will require a robust and omnipresent timing system to ensure availability and integrity of data [6]. Other such time critical applications include medical applications like tele surgery, financial and banking systems, etc. The Simple Networking Time Protocol (SNTP) can be used for synchronising devices and has a 64 bit timestamp providing a higher precision compared to NTP, which is used in PCs for time synchronisation. But for critical applications of IoT like in transportation or medicine, higher precision is required. D.Security Challenges Since IoT will be used in may critical applications, there is need for state of the art security, to ensure there is no corruption in the system, and user privacy is maintained. Because of the complex and diverse components there are many challenges to ensuring proper security cover for all devices. To reduce cost, many IoT devices may not have the adequate security, thus compromising even the other devices that interact with it. Additionally, providing a unified firmware and updating all devices at once is a big challenge because of the large no. of them. Also many applications are open source softwares that are susceptible to attacks and malware. Also since all devices are connected to each other, it is difficult to isolate the device that was the source of the attack and take corrective measure. E.Data generation, storage and analysis One major aspect of IoT is the amount of data being continuously generated by the devices and the resources required to store and analyse the data to get useful information from it, which can be used for training and machine learning. This is important as there may be lot of false information and false positives. Another important aspect is data association, i.e. after data collection the subsequent inferences are associated with the correct devices [8]. Additionally storage and usage of the data will require access permissions and addressing privacy issues, security, openness, fast access and robustness. Some of the main areas of research in IoT are big data analysis, robustness, security and privacy, machine to machine interface, synchronization and timing of devices, human – in – the-loop and meeting software and hardware expectations and all these are targeted to solve the above described challenges. Also another interesting research area in IoT is “Distributed Systems and IoT”, which aims in connecting the physical items (which represent the access points to Internet services) through a geographically distributed system that can integrate the technologies like mobile, cloud and this is being implemented in Fog Computing [9]. The paper will focus on the integration of cloud computing with IoT and how it helps in addressing the challenge of “data generation, storage and analysis”. The paper will also explore the use of Fog Computing, which is the use of Distributed Computing for providing application services like data analysis and security in IoT, with the focus being on Data Concurrency, along with the challenges and possible solutions using some real world applications as examples II. CLOUD COMPUTING IN IOT The NIST defines Cloud Computing as: “A model for enabling ubiquitous, convenient, on-demand network access to
  • 3. a shared pool of configurable computing resources (e.g., networks, servers, storage applications and services) that can be rapidly provisioned and released with minimum management effort or service provider interaction [10]. According to the Cisco Global Cloud Index (2014-2019), by the end of 2019 there will be quadruple rise in the global cloud traffic, and this can be clearly seen in Figure.1 [11]. But the growth may be more because of the increases in no. of devices that will be connected through the internet. And with integration of Cloud and IoT, the amount of data being generated will increase substantially thus causing the traffic to increase more than that predicted. This will also cause the Cloud traffic to be more than the data center traffic. Figure.1. Graph showing the increase in the cloud traffic for years 2014 – 19 [Source:Cisco Global Cloud Index 2014] Cloud computing and IoT, although different technologies, can be merged to solve many of the challenges described above especially data generation, storage and analysis, scalability and security. This is being referred as the CloudIoT paradigm [12]. In IoT, every device will have an IP and are on IP connected network, which means that exchanging sensor data with every device will be a computationally and economically expensive process and Cloud can provide a convenient and cost effective solution. Features of Cloud like fault tolerance, virtually unlimited storage and computational ability means to manage and analyse big data, compatibility with TCP/IP and other common protocols for service delivery and location independent access to data. Additionally it can also provide services like Saas (Sensing as a Service), SAaaS (Aensing and Actuation as a Service), DBaaS (DataBase as aService), IPMaaS (Identity and Policy Management as a Service), etc [12]. Sensor cloud is an infrastructure providing large scale integration of sensor networks, with sensing applications and cloud computing, thus allowing collection and processing of data from different sensor networks along with data sharing among users and applications running on the cloud. Sensor cloud can be defined as a heterogeneous computing environment that is spread over a large geographical area and combines different wireless sensor networks and provide SaaS to the user [13]. The nodes of the Sensor network consist of three parts [14]:  Sensing  Processing  Communication The sensor cloud is basically an extended version of cloud computing, but is used for managing sensors (which includes their identification, data generated, data storage, processing and analysis), connected through the wireless network. With the cloud providing extensive storage and processing capacity, it enables collecting the large amount of sensor data by linking the cloud and Wireless Sensor Network through the sensor gateway and cloud gateway [15]. The process is as follows:  Sensor gateway collects and compresses the data it gets from the WSN nodes before transmitting it to the cloud gateway.  Cloud gateway on getting the compressed data, decompresses and stores it For sensor cloud, the operation can be divided in two phases: a. Creating the service catalogue [17], which includes the list of services and the specifications like network speed, types of sensors and data availability, from which templates can be created to meet the specific requirements of the user. Here the sensors are not actual physical entities but virtual sensors on a cloud computing platform, making them dynamic and geographically independent. Thus users can utilise the sensors using come set functions and need not consider their actual physical locations [16]. b. Service providing phase [17], in which the user requests for service based on the templates generated in the first phase. Once the provider generates the service, the user is acknowledged about it and given full access and control. Once finished with the task, the service instance is released (the virtual sensors ceases to exist) and the user is billed for it [16]. The sensor cloud combined with IoT is used for many applications like real time health monitoring, telemedicine, traffic monitoring and control in smart cities, controlling energy consumptions and operating devices in smart homes, agriculture and environment monitoring, and many more. Although the classic cloud computing model is an efficient option for IoT applications, as compared to large data centers, it may be inadequate to meet the requirements of some latency-sensitive applications that need the sensor nodes to be nearby, to meet the time delay requirements and also the mobility and geologically distributed aspect of IoT [11]. Additionally, another problem faced in cloud computing is security and privacy, since being connected through the Internet, user requests, data transmission and system response have to traverse through large no. of intermediate network nodes, thus increasing the vulnerability to attack [18]. Additionally, with user data being stored in public cloud, there
  • 4. is a risk of its integrity being compromised and there is no assurance of complete confidentiality [18]. To address this, a new platform has been developed, known as “Edge of the Network Computing” or “Fog Computing” [19]. III. FOG COMPUTING Fog computing is an extension of the classical concept of cloud computing and was introduced by Cisco to ease wireless data transfer to distributed devices which form part of the IoT [20].The reason for naming it as “fog” is because in meteorological terms, fog means “a cloud that is close to the ground” (with data source being analogous to the ground). Cisco defines Fog Computing as follows: “A paradigm that extends Cloud Computing and services to the edge of the network” [20]. Another definition of Fog Computing, also known as “Fog Networking” or “Fogging” [20], is a decentralized infrastructure in which computing resources and application services are distributed in the most logical and efficient manner between the point where data is generated to the cloud, where the data is stored, with the main goal being reducing the amount of transportation required for the data to get stored, processed and analysed [21]. Hence, from the above definitions, it can be said that fog can be defined as using the concept of distributed computing systems for data transfer and management (storage, processing and analysis) in IoT. In this environment, the sensor data is mostly processed in a data hub, which can be in a smart mobile device or at the edge of network, like a smart router, thus reducing the amount of bandwidth and time required for sending a data bundle [21]. This helps in reducing latency and is important in IoT especially for applications like smart vehicles or controlling traffic, where the delay in communication can cause circumstances that can harm humans. Some of the main characteristics of fog computing, because of which it is being widely employed for data transmission in IoT, are [18]:  Highly virtualized and providing end-to-end services between sensors and cloud computing data centers  Location awareness and low latency  Targeting IoT applications which need widely distributed deployment and geographical distribution. This is also ensured by using large number of nodes as seen in sensor networks  Supports mobility, which is an important aspect of most of IoT based services.  Supports real time interaction, over batch processing, thus giving a more recent version of the data. This helps in improving user experience and quality of service  Predominantly wireless and heterogeneous and hence can be deployed in a wide variety of environments  Supports real time analysis and interaction with the cloud and hence help in processing data close to the point of generation. Figure.2 shows a basic architecture of the fog computing [22]. The bottom layer of consists of all IoT devices (sensors like thermostats, pressure sensors, controllers/actuators like switches, routers etc.) that generate or use the data. The next layer consists of devices with computing, storage and network connectivity known as fog nodes or fog servers and forms the core of fog network. The data generated by IoT devices are analyzed in this layer, with the fog nodes being close to where the data is collected, which ensures that there is minimum latency and sensitive data is kept within the network [22]. The last layer consists of the cloud based data center, which basically collects data from all the fog nodes and also analyses data that do not have hard time limits. Figure.2 Architecture of Fog Network In fog the most time sensitive data will be processed on the node closest to the point of generation, while data that can be delayed by few seconds or minutes will be analyzed on aggregation of nodes and the data that doesn’t have time constraints will be passed on to the cloud [22]. From the above discussion, it can be seen that with the increase in no. of IoT devices, it is not efficient or convenient to send all the generated data to the cloud. This will not only consume large amounts of bandwidth and time, but would not also be cost efficient and reduce the quality of service. Hence, using fog computing, these challenges can be overcome. Fog provides the benefits of distributed computing, with the data being collected and processed on nodes that are geographically spread, with the main aim being that the data should have minimum transportation. This is required for many of time critical IoT applications like transport, healthcare and patient monitoring and environment monitoring. It also helps solving the issue of security and privacy, with the chances of data being prone to attack very less compared to that in cloud. Additionally it is more economically efficient compared to using only cloud, thus increasing the user base of IoT. But as the complexity in IoT is increasing, and with the merging of distributed computing (which is the underlying concept of Fog Computing), the systems can face issues like concurrency errors, deadlocks and resource starvation, which can lead to reduction in security, data integrity and the overall quality of service [23]. This issue will be especially encountered at the top level of the fog network architecture, which is the cloud based data center, where the data from all
  • 5. nodes is finally stored. Hence existing concurrency control techniques will have to be modified for application in IoT, since here the rate and quantity of data generation is much faster than simple PCs connected using internet. Additionally geographical distribution and mobility of devices will also have to be factored in. The next section will cover the issue of concurrency at the cloud level in fog computing with the possible solutions to resolve it. IV. DATA CONCURRENCY IN FOG Form the point of generation, the data within the IoT system will have the following stages – collection at fog nodes, filtering and processing, storage at the cloud and retrieval whenever there is a query [24]. In IoT, the data management system can be divided into two parts: a. The front end that directly interacts with the sensors and this is communication intensive, with large amount of data being retrieved in response to queries [24]. This is the storage units at the fog node level b. The back end, which can be online or offline, and handles mass storage and in-depth analysis of the data and this handles only in depth queries, and has less communication [24]. In fog network, this is the cloud. Hence here, it has to be ensured that transaction management is such that the data integrity is maintained by guaranteeing the properties of Atomicity, Consistency, Isolation and Durability (ACID), and it can be managed using traditional techniques for bound spaces, but becomes complex at a globalized scale [24]. And this is important because IoT is continuously growing, with large no. of device being added to the system every day. “Data Concurrency” means that multiple users (devices) can access data at the same time and also process it, while “Data Consistency” means that each user can have a consistent view of the data, with the changes being done on the data visible to all the devices/ transactions [25]. Concurrency is impacted by the following two scenarios: a. When a process changing the data, doesn’t allow other processes form accessing it [26]. b. When multiple processes try to change the data simultaneously, but are not able to without compromising data consistency [26]. Transactions can be classified into two types, based on their execution time and the amount of data that they will affect: a. Online transactions: They have a short life span and affect a small part of the data base. They have fast response times and most of the transaction in IoT is of this type [27]. These transactions will use the data that is being analysed and stored at the fog nodes. Example - Controlling the light intensity in a smart home b. Batch transactions: They have a longer life span and affect a large portion of the data base [27]. In IoT these transactions will generally run on the data stored in the cloud. Example – Statistical analysis and application, carrying out image processing and analysis on data collected during environment monitoring. Some of the main challenges that are faced by IoT applications, especially if they run on the “edge of the network” (fog) are as follows:  Even if the service is only responsible for forwarding data, through the routers to the cloud, there are many processes simultaneously occurring in parallel, with the routers having to handle multiple streams of data (from multiple sensors or actuators) arriving at their interface, all at different rates and from different locations [28]. To ensure that the data integrity is maintained, there has to concurrency control mechanism, but such that they do not create latency, since the rate of new data generation is very high, there should not be a scenario in which, by the time a process is able to store data in the cloud a newer version of the data is available and overwrites the old data. This will cause data to lose its integrity and also create errors in analysis.  Another challenge is that the smart routers work autonomously and with no user interface being directly connected to it they are operated and serviced remotely, via the same network through which the data is sent, and so also has to be handled [28].  The same concurrency handling mechanism/framework cannot be used for all applications, because all the applications are targeted to provide different types of services [28]. For example, a framework used to handle data concurrency for services targeted to operate smart vehicles, cannot be used for service that cater to smart homes or environment monitoring.  In IoT the transaction serializability model cannot be implemented because of the scale of transactions and the need for no. of devices to be serviced simultaneously. Reducing complexity of concurrency by building application to operate in sequential manner will cause latency as large no. of devices will require the same services, causing large queues and time to service a request. This cannot be tolerated for many time critical applications. V. CONCURRENCY CONTROL “Concurrency Control” can be defined as a method to maintain the consistency and integrity of the data while there is concurrent access to the database in a multi user database management system and creates the illusion that each user is executing alone on the dedicated system [30]. Sometimes concurrency control may lead to deadlocks, due to which the data may not be accessible to the user at any point of time. Hence to resolve such “Deadlock” situations, there are three basic types of methods that can be used:
  • 6.  Time Stamp –A unique time based identifier is used to identify if an entry if “stale”. Read and Write operations are based on the timestamp and accordingly executed. Generally used where the data access pattern is mostly consistent and only used for transactional purpose [31].  Two-Phase Locking (2PL) – This supports multiple reads and single writes. There are two phases: the growing phase in which transactions set the read/write locks and the shrinking phase in which locks are released. A process can keep a read lock on a data and if it needs to write then it is converted to write lock. It is used where the load pattern is changing continuously and randomly and can be used for transaction and analysis function [31]. For IoT databases (in cloud and fog nodes), this technique is used and there have been various modifications to suit to the application needs.  Optimistic Concurrency Control – Probability of conflicting transaction is assumed to be low. Transactions are allowed to proceed with writing the data and are assigned unique version numbers. Once all the transactions are completed, a “prepare to commit” message is sent to the main server and if there are no conflicts the data is updated with a unique stamp. In recent years the OCC has been modified into two schemes by Harder: Forward Oriented Optimistic Control (FOOC) and Backward Oriented Optimistic Control (BOOC). This technique can be used where the pattern of data access is consistent, since it assumes that transaction conflicts will not be there [31].  Wait-Die and Wound-Wait Algorithm – This algorithm is similar to the 2PL scheme, but differs in the way deadlocks are handled. It implements a time stamp based mechanism to resolve issues of concurrent writes, by assigning a timestamp to every transaction, with older transactions given priority over the new ones to put lock on the data [32]. For IoT based on FOG and Cloud Computing, to resolve concurrency issues, the above described traditional schemes are being modified and extended to suit the needs of different IoT applications. One such scheme is the Distributed Real Time Database Concurrency Control Transaction (DRTDBS) [33]. This is an improved version of the two phase locking- high priority protocol, in which transactions are allowed to put locks based on a priority assigned to them. In the DRTBDS, the transactions are also assigned a deadline, with the priority being it function [33]. Hence priority can be decided in different ways like a transaction having an early release will be assigned a higher priority, or a transaction having the earliest deadline is given a priority. This will depend on the type of application that is using the data. For example if we consider smart vehicles using the data to determine if it has to apply brakes, then the second scheme is preferable. This modification to the 2PL scheme helps in incorporating the “urgency of situation” factor in the concurrency control mechanism [33]. Conclusion With IoT becoming available to the masses, there is going to be massive increase in the amount of data that is generated by the device and that needs to be stored, processed and analyzed. The integration of IoT, Cloud and Distributed Computing, has lead to the concept of fog computing and this makes it possible to employ IoT at large scale, while ensuring Quality of Service. But with Fog, being a recent development, there are many issues that have yet to be addressed like security, privacy, data integrity, replication and retrieval and data concurrency. From the papers reviewed, it can be concluded that researchers are taking the basic techniques of Data concurrency like the 2PL, Time Stamp and Optimistic Concurrency Control techniques and modifying them based on the requirements of specific applications. The Two Phase Locking Technique is said to be more suited for IoT applications because it can easily adapt to changing load conditions. One modification of the 2PL mechanism is the 2PL-HP, which allows for tasks to be assigned priorities and accordingly set read/write locks on data. The DRTDBS [33], scheme uses task deadline and time taken to release the data as criteria to set the priority in the 2PL-HP scheme. This scheme can be used for applications having strict deadlines like smart vehicles and IoT in transportation. References [1]. M. Weiser, “The Computer for the 21st Century”, Scientific American 265(9):66–75 (1991) [2]. F. Mattern, C. Floerkemeier, "From the Internet of Computers to the Internet of Things”, Distributed Systems Group, Institute of Pervasive Computing, ETH Zurich [3]. D. Evans, “The Internet of things: How the next evolution of the Internet Is changing everything”, CISCO, San Jose,CA, USA,White Paper, 2011. [4]. R. Alur, E. Berger, A. Drobnis, L. Fix, K. Fu, G. Hager, D. Lopresti, K. Nahrstedt, E. Mynnat, S. Patel, J. Rexford, J. Stankovic, B. Zorn, "Systems Computing Challenges in the Internet of Things", A white paper prepared for the Computing Community Consortium, 2015 [5]. A. Al-Fuqaha, M. Guizani, M. Mohammadi, M. Aledhari, M. Ayyash, "Internet of Things: A Survey on Enabling Technologies Protocols and Applications", IEEE Communications Surveys & Tutorials, pp. 1-1, 2015 [6]. M. Weiss, J. Eidson, C. Barry, D. Broman, L. Goldin, B. Iannucci, E. Lee, K. Stanton, “Time-Aware Applications, Computers, and Communication Systems (TAACCS)”, Natl. Inst. Stand. Technol. Tech. Note 1867, 25 pages (February 2015), [online]: http://dx.doi.org/10.6028/NIST.TN.1867 [7]. “Simple time synchronization for the Internet of Things”, [online]: https://balau82.wordpress.com/2016/02/18/simple-time-synchronization- for-the-internet-of-things [8]. J. A. Stankovic, "Research directions for the Internet of Things", IEEE Internet Things J., vol. 1, no. 1, pp. 3-9, Feb. 2014 [9].“Distributd Systems and IoT”, [online]: http://www.icar.cnr.it/en/node/503 [10].P. Mell, T. Grance,”The NIST Definition of Cloud Computing (Technical report)”, National Institute of Standards and Technology: U.S. Department of Commerce, doi:10.6028/NIST.SP.800-145, Special publication 800-145, September 2011. [11]. Cisco® Global Cloud Index (2014-2019), October 2015 [online]: https://newsroom.cisco.com/press-release-content?articleId=1724918 [12]. Alessio Botta, Walter de Donato, Valerio Persico, Antonio Pescape, "On the Integration of Cloud Computing and Internet of Things", , vol. 00, no. , pp. 23-30, 2014, doi:10.1109/FiCloud.2014.14
  • 7. [13]. S. Madria, V. Kumar, R. Dalvi, "Sensor cloud: A cloud of virtual sensors", Software IEEE, vol. 31, no. 2, pp. 70-77, Mar 2014. [14]. I. F. Akyildiz, W. Su, Y. Sankarasubramaniam, E. Cayirci, "A survey on sensor networks", Communications magazine IEEE, vol. 40, no. 8, pp. 102-114, 2002 [15]. A. Alamri, W. S. Ansari, M. M. Hassan, M. S. Hossain, A. Alelaiwi and M. A. Hossain,“A survey on sensor-cloud: Architecture, applications, and approaches”,International Journal of Distributed Sensor Networks, vol. 2013, November, 2012 [16]. M. Yuriyama and T. Kushida, "Sensor-Cloud Infrastructure-Physical Sensor Management with Virtualized Sensors on Cloud Computing," in Proceedings of NBiS, Takayama, Gifu, Japan, Septemeber 2010 [17]. B. P. Rao, P. Saluia, N. Sharma, A. Mittal, S. V. Sharma, "Cloud computing for internet of things & sensing based applications", Proc. 2012 6th Int. Conf. Sens. Technol. (ICST), pp. 374-380. [18]. F. Bonomi, R. Milito, J. Zhu, and S. Addepalli, “Fog computing and its Role in the internet of things, in proceedings of the first edition of the MCC workshop on Mobile cloud computing, pages 13–16. ACM, 2012. [19]. F. Bonomi, “Connected vehicles, the internet of things, and fog computing”, VANET 2011, 2011. [20]. “IoT, from Cloud to Fog Computing”, [online]: http://blogs.cisco.com/perspectives/iot-from-cloud-to-fog-computing, March 2015. [21]. “Fog computing (fog networking)”, [online]: http://internetofthingsagenda.techtarget.com/definition/fog-computing- fogging [22]. Cisco, “Fog Computing and the Internet of Things: Extend the Cloud to Where the Things Are”, 2015, [online]: https://www.cisco.com/c/dam/en_us/solutions/trends/iot/docs/computing- overview.pdf [23]. “How to avoid concurrency defects in IoT applications”, [online]: http://embedded- computing.com/30602-how-to-avoid-concurrency- defects-in-iot-applications/ [24]. Abu-Elkheir M, Hayajneh M, Ali NA. Data Management for the Internet of Things: Design Primitives and Solution. Sensors. 2013; 13(11):15582- 15612 [25]. “Introduction to Data Concurrency and Consistency in Multiuser Environment”, Oracle, [online]: https://docs.oracle.com/cd/B19306_01/server.102/b14220/consist.htm [26]. “Database Concurrency and Row Level Versioning in SQL Server 2005”, April 2005, [online]: https://technet.microsoft.com/en- us/library/cc917674.aspx [27]. J. Gray and A. Reuter, Transaction Processing: Concepts and Techniques, Morgan Kaufmann. 1993 [28]. “Concurrency in IoT: Don’t Try to Framework it Away”, September 2014, [online]: http://www.bitreactive.com/concurrency-in-iot [29]. “Distributed concurrency control”, [online]: https://en.wikipedia.org/wiki/Distributed_concurrency_control [30]. P. Bernstein, N. Goodman, “Concurrency Control in Distributed Database Systems”, ACM Computing Surveys (CSUR), v.13 n.2, p.185-221, June 1981 [31]. V. Garde, A. Mudaliar, “Concurrency Lock Issues in Relational Cloud Computing”, Network and Complex Systems, Vol.3, No.1, 2013, pp. 45- 49, ISSN 2224-610X (Paper) ISSN 2225-0603 (Online) [32]. A. Gupta, Y. Gore, “Concurrency Control and Security Issue in Distributed Database System”, Vol.4 Issue 2, IJEDR, 2016 ISSN: 2321- 9939 [33]. Q. Zheng, X. Bi, “An Improved Concurrency Control Algorithm for Distributed Real-Time Database”, Proceedings of IEEE International Conference on Advanced Management Science (ICAMS), Chengdu, China, July 2010, pp. 364–367