hwang 2019 - a netwrosk clock model for time awareness in the internet of things and artificial intelligence applications
hwang 2019 - a netwrosk clock model for time awareness in the internet of things and artificial intelligence applications
https://doi.org/10.1007/s11227-019-02774-0
Soyoung Hwang1
Abstract
The Internet has immeasurably changed all aspects of life, from work to social rela-
tionships. The Internet of things (IoT) promises to add a new dimension by mak-
ing possible not only communications with and among objects but also, thereby,
the vision of anytime, anywhere, anything communications. The IoT allows sensing
or control of objects remotely across network infrastructures. Its application, thus,
is very extensive. The principal IoT applications are infrastructure management,
smart manufacturing, smart agriculture, energy management, environment moni-
toring, building and home automation, metropolitan-scale deployments, medicine
and health care, and smart transportation. Many IoT applications entail the collec-
tion and also forwarding of event data. To realize the IoT’s potential, combining
it with artificial intelligence (AI) technologies is necessary. The IoT collects data,
which AI processes so as to make sense of it. In order to trigger an action in the
IoT and in AI applications, knowledge of the time at which an event occurs can be
very useful. Time information, in fact, is an essential infrastructural component of
any distributed system. Indeed, in IoT and AI applications, time information and
time synchronization are among the most fundamental components. The IoT and AI
thus require a scheme for data’s combination with time. This paper proposes a net-
work clock model that enables the sharing, by IoT and AI devices, of a consistent
notion of time. A proposed network clock model is implemented and evaluated in an
actual test platform of MICAz-compatible sensor nodes operated in TinyOS 2.0 and
Arduino Uno (R3) in order to verify its feasibility. The experimental results indicate
that, for any application, IoT devices are capable of maintaining standard time and
serving a standard timestamp.
* Soyoung Hwang
[email protected]
1
Department of Software, Catholic University of Pusan, Busan, Republic of Korea
13
Vol.:(0123456789)
4310 S. Hwang
1 Introduction
13
A network clock model for time awareness in the Internet of things… 4311
2 Technical background
A computer clock typically includes the following three components: a quartz crys-
tal that oscillates at a specifically defined frequency, a counter register as well as a
constant register. The constant register stores a constant value that is determined
based on the oscillation frequency of the quartz crystal. The counter register, mean-
while, maintains the quartz crystal’s oscillations, specifically by registering a “1”
decrement for each oscillation; once the value decreases to zero, the constant reg-
ister is reinitialized to that value by an interrupt. Each interrupt is referred to as a
clock tick [20, 21]. A general computer clock model schematic is provided in Fig. 1.
As a clock’s quartz crystal oscillates at a given frequency, so too does the clock
run at a corresponding, constant rate. The rates at which two clocks run, however,
will differ due to their respective crystals’ differences. The oscillation-period differ-
ence between them, even if exceedingly small, can accumulate, thus leading to an
observable variance in their times, regardless of their original initialization to the
same value. Limitations on the accuracy and precision of computer clocks also are
functions of inherent instability, user modifications, environmental conditions, and
system errors. Thus, if precise time processing of any computer system is required,
its synchronization with a standard clock is necessary [20, 21].
2.2 System time
13
4312 S. Hwang
System time can be converted into a type more amenable to human comprehension:
calendar time. For example, Unix system time of 1,000,000,000 s since the beginning
of the epoch represents, on a calendar, September 9, 2001, 01:46:40. Library subrou-
tines, which handle this type of conversion, also can deal with adjustments for time
zones, daylight saving time (DST), leap seconds, and a user’s local settings. Also
available are library routines that can convert calendar time into system time.
The resolution of an implementation’s time measurement does not imply, at least
not necessarily, corresponding precision. For example, even if a system returns the
current time as a microsecond value, it might actually be unable to discern individ-
ual clock ticks with a frequency better than 100 Hz (10 ms). Thus, precision hard-
ware for the clock source, as well as the corresponding software, is needed to meet
precision requirements.
In both the Unix and Linux systems, system time is expressed as the seconds
elapsed since 0 h January 1, 1970. The data structure is as follows.
The time_t data type is a signed integer (32 bits); in the newer OS, it has a size
of 64 bits. On Windows systems, the current time is expressed in units of 100 ns
elapsed since 0 h January 1, 1601, and the data structure is represented as unit 64_t,
which is the 64-bit integer data type.
Microcontrollers operating within embedded systems, for example the Raspberry
Pi, Arduino, and other, similar systems, do not always have internal hardware or sys-
tem time with which to keep track of current time. Many controller systems, in fact,
operate without any knowledge of the standard time. Nonetheless, these embedded
systems are considered to be suitable for IoT applications.
Any computer requires a timer mechanism that can keep track of current time. In a
distributed computer system, the processes of an application might run on multiple
nodes concurrently, and the corresponding clocks need to be synchronized [20, 21].
Nowadays, because distributed processing and network operations are general-
ized, time synchronization is compulsory. For network operations, time-synchro-
nized information is necessary in order to ensure optimal network performance.
Oftentimes, a lack of time synchronization is not critical until failure or inability
to troubleshoot it arises. In other cases, network processes cannot function without
time synchronization. The following are the key areas in which time synchronization
directly affects network operations:
13
A network clock model for time awareness in the Internet of things… 4313
• File timestamps
• Directory services
• Security and authentication of access
• Distributed computing
• Operation scheduling
• Real-world time values [20, 21].
Additionally, in the IoT environment, common time provides the basis for:
• Data diffusion
• Temporal co-relation of data
• Motion detection, velocity estimation
• Security (limited use of keys, detection of replay attacks)
• Data consistency
• Concurrency control
• Medium access control and duty cycling
• Localization (e.g., based on time-of-flight measurement techniques) [22].
2.4 Time‑synchronization protocols
Most protocols of traditional time synchronization share the same, basic design:
a connectionless messaging protocol, a means of exchange of clock information
between client and server(s), methods designed to reduce the effects of random
and non-deterministic communication delay, and a way to upgrade client time
based on server information [23]. A number of standard time-synchronization
protocols are defined in a series of RFC (Request for Comments) documents.
13
4314 S. Hwang
The three major time-synchronization protocols are as follows: the time proto-
col, the daytime protocol, and the network time protocol (NTP). The NTP, owing
to the facts that it is scalable, robust and offers good performance, is deployed
widely in the Internet. It consists of varying stratums of hierarchically ordered
servers that, like leaves in a hierarchical tree, provide synchronization to clients
[24].
Time servers are continuously listening for timing requests sent using any of
the above three protocols. When the server receives a request, it sends the time in
an appropriate format to the client computer. The protocol followed accords with
the client software type. The Internet time-synchronization protocols noted above
are summarized in Table 2 [25].
These time-synchronization protocols are used mostly for the purpose of syn-
chronizing system clocks in general-purpose Unix, Linux, Windows and VMS
workstations and servers. These systems are connected via the global Internet,
and they operate over a wide range of network speeds. Otherwise, the precision
time protocol (PTP) is used mostly to synchronize device clocks in special-pur-
pose industrial automation and measurement networks. These devices are all con-
nected to dedicated and high-speed Ethernet LAN (local area network) segments.
The PTP, as outlined in the IEEE-1588 standard, defines the synchronization
method used between master and slave clocks, which method is similar to the
server and client model used in the NTP. The master is the provider of the time,
the slave synchronizing to the master. A grand master is a master synchronized to
an authoritative external time reference, for example, GPS or CDMA. The PTP
has the potential to make a significant contribution to applications with hard real-
time constraints [26, 27].
In traditional distributed systems as in many applications in wireless sen-
sor networks (WSN) and the IoT, time is an important aspect. Common time, in
WSN and the IoT, provides the basis for data diffusion, temporal co-relation of
data, motion detection, velocity estimation, data consistency, and so on. Various
time-synchronization protocols for new constraints such as energy consumption,
large numbers of nodes in networks, as well as varying precision requirements
have been proposed for WSN and the IoT [28–31]. In order to utilize such time-
synchronization protocols, a clock model allowing devices to share a consistent
notion of time among networks is required.
13
A network clock model for time awareness in the Internet of things… 4315
Artificial intelligence (AI) is making machines seem more and more like human
intelligence. AI research strives to substitute machines for thinking, learning, imi-
tation, and self-development, all of which are tasks that, thus far, have only been
accomplished by human intelligence. As of recently, the combining of AI with IoT
networks is a prerequisite for success in IoT-based digital ecosystems. AI technolo-
gies enable smart machines both to simulate intelligent behavior and to make well-
informed decisions with little or no human intervention [32]. Combining AI with
IoT is important, since one of the unresolved problems of the IoT is knowledge gath-
ering from sensed data [33]. IoT collects data, which AI processes in order to make
sense of it.
The greater the number of connected devices there are, the more data there will
be for provision of valuable insights; however, a new challenge arises: How are such
large amounts of data to be analyzed? Indeed, collecting data helps no one unless
there is a way to understand it. The IoT will be smarter by incorporating AI, particu-
larly machine learning. The key factor is finding insights in enormous data [34–37].
That is why AI is necessary. Understanding massive amounts of data is the perfect
application of AI.
There are six types of IoT data analysis that AI can facilitate:
It is anticipated that the IoT will offer high-level connectivity of devices as well as
systems and services. Its application area, accordingly, is very extensive. One key
application among many others is the monitoring and controlling of operations,
which entails collecting and forwarding of event data. In order to realize the IoT’s
potential, it needs to be combined with AI technologies. As already noted, the IoT
collects data, which AI then processes in order to make sense of it. AI, in other
13
4316 S. Hwang
words, is an engine enabling analytics and decision making based on the IoT’s col-
lected data. Knowing when an event occurred can, as also noted earlier in this paper,
be useful for the purpose of triggering an action. The reliability of the timestamp
with which an event is associated can vary with its originating point. The main
options are as follows: timestamps from the device itself, those from a field gateway,
and those from a cloud gateway.
Figure 2 shows the architecture of IoT networks associated with timestamps.
Table 3 summarizes the relative strengths of latency and accuracy according to the
clock source. Latency is the extent of delay that can occur between an actual event
and the measuring of that event’s timestamp. Accuracy is the degree to which the
clock’s time is synchronized with the time-keeping systems of the world.
3.1 Basic concept
A network clock model defines a reference model that can maintain standard time
and offer, in the IoT, time services requiring various levels of accuracy and preci-
sion. Along with general computer systems, devices in the IoT that use low-cost
oscillators suffer from poor accuracy of time information due to the local clock
13
A network clock model for time awareness in the Internet of things… 4317
13
4318 S. Hwang
• Set time of day: sets the device’s system time structure to the given value.
• Get time of day: provides the current time of the device in the system time
structure format.
• Gregorian calendar date and time: provides the Gregorian calendar date and
the current time of the device for the user’s ease of recognition.
13
A network clock model for time awareness in the Internet of things… 4319
4 Prototype implementation
The proposed network clock model is implemented in a real test platform of MICAz-
compatible sensor nodes operated in TinyOS 2.0 and Arduino Uno (R3). Figure 7
shows the utilized devices.
The sensor node is based on the Atmel ATmega128L that is a low-power micro-
controller. The 51-pin expansion connector provides digital I/O, I2C, SPI, analog
inputs, and UART interfaces. These interfaces make it easy to connect to a variety
of external peripherals. The MICAz IEEE 802.15.4 is a physical and MAC (media
access control) layer standard to create personal area networks with low-rate and
low-power digital radios.
Arduino Uno is a microcontroller board based on the ATmega328P. It has 6
analog inputs, 14 digital input and output pins, a 16-MHz quartz crystal, a USB con-
nection. A PC connected to the Internet is used as a field gateway.
Fig. 7 Utilized devices: (left) three MICAz-compatible sensor nodes; (right) Arduino Uno (R3)
13
4320 S. Hwang
The structure tameval_t defines the system time structure. The structure
calendar_t is used in the date function. The date function provides both the Gre-
gorian calendar date and a device’s current time. The settimeofday function sets
a device’s system time structure to a given value; by this function, the initial
time of a device is set. The gettimeofday function provides the current time of
the device in the format of the system time structure.
13
A network clock model for time awareness in the Internet of things… 4321
Fig. 10 Timer-interrupt function for updating of system time in Arduino Uno (R3)
In the same way as demonstrated in the previous subsection, Fig. 10 shows the
timer-interrupt function for updating of system time in Arduino Uno (R3). In this
implementation, the system time is updated every 1 s.
The ATmega328 used by Uno has three hardware timers that can do many dif-
ferent things. However, it uses all three timers in the basic library. The first one
is used to increment values in the millis function; the second to execute the delay
function; and the third to output the PWM with the analogWrite function. In this
implementation, TimerOne, a third-party library, is used, to prevent the operation
of the analogWrite function. This hardware timer can be used to call a specific
function in microsecond units.
13
4322 S. Hwang
5 Experiment
This section presents the experimental environment and results along with an
application service experiment in order to verify the feasibility of the proposed
network clock model. The experimental results show definitively that IoT devices
can maintain standard time and also serve a standard timestamp for any applica-
tion. In this experiment, the microseconds data are omitted for convenience of
notation.
5.1 Experimental environment
13
A network clock model for time awareness in the Internet of things… 4323
5.2 Experimental results
In the experimental environment outlined in the preceding subsection, the field gate-
way monitored the operation of the IoT devices. Figure 12 shows the serial monitor-
ing results in TinyOS 2.0. The base station receives radio signals from the sensor
nodes and forwards them to the field gateway. The data, in the form of the current
times of the sensor nodes in UTC, are printed in hexadecimal digits.
As the results indicate, each sensor node can maintain standard time and serve a
standard timestamp for any application.
Figure 13 shows the serial monitoring results for Arduino Uno (R3). The field
gateway gathers data via serial communication from Arduino Uno. It sends its sys-
tem time in the form of seconds data from the 64-bit system’s time structure and the
Gregorian calendar date and time format. As can be seen in the result, Arduino Uno
can maintain standard time and serve a standard timestamp for any application.
An application service experiment was performed to evaluate the effect of the pro-
posed network clock model. As was the case in the experimental environment, a PC
connected to the Internet functioned as the field gateway. In addition to providing
the standard time to the IoT devices, it also monitored their operation and logged
data. The IoT devices were the three sensor nodes.
The base station was synchronized to a standard UTC through the field gateway.
Via the base station, a sensor node (node ID 1) initialized the system time, but via
the field gateway, the other sensor node (node ID 2) did not maintain the system
time.
13
4324 S. Hwang
In this experiment, both sensor nodes gathered temperature data through the
temperature sensor every 1 s. The ID 1 sensor node recorded the time whenever it
sensed the temperature; the ID 2 sensor node, however, did not, since it had no sys-
tem time by which to keep track of the current time. Both sensor nodes transmitted
their sensed data to the base station every 4 s. The base station recorded the received
time whenever it received messages from the sensor nodes, added it to the messages,
and sent them to the field gateway via serial communication.
Figure 14 shows the serial monitoring results in TinyOS 2.0. The base station
received from the sensor nodes radio signals that it then forwarded to the field gate-
way. The data were printed in the format of hexadecimal digits. The first 4 bytes’
value is the timestamp of the seconds data of the base station’s 64-bit system time
when a message is received from a sensor node. The next 2 bytes’ value shows the
ID of the sensor node. The 7th byte’s value is the number of measured temperature
data. The next four gathered temperature data follow. Then, the next four timestamps
are those of the seconds data of the 64-bit system time in the sensor node when tem-
perature is sensed through the temperature sensor.
The hexadecimal timestamp DE2E6406 is 3,727,582,214 s; that is, February 14,
2018, 07:30:18 UTC. To facilitate analysis, some sampled data of Fig. 14 are pre-
sented in Tables 4 and 5. The timestamp values are converted to the Gregorian cal-
endar date and time format. The date is omitted from the tables, since it is the same
(February 14, 2018).
As can be seen in Table 4, the data of sensor node #1 could be traced when an
event occurred, which data would be useful for further analysis. Otherwise, the
13
A network clock model for time awareness in the Internet of things… 4325
07:30:23 23 23 23 24
07:30:27 24 24 24 24
07:30:31 24 24 24 24
07:30:35 24 24 24 24
data of sensor node #2 had only the timestamp of the base station, as shown in
Table 5. Also, if transmission to the base station was delayed, the accuracy was
worse.
As shown in the results, when all network devices share a consistent notion of
time, building of efficient and robust collaborative services is easier.
13
4326 S. Hwang
6 Concluding remarks
The IoT manifests the interconnection of embedded, unique, and identifiable com-
puting devices within the Internet’s existing infrastructure. Advanced connectivity
of devices, systems, and also services, achieved by allowing objects to be sensed or
remotely controlled across network infrastructures, is the expected and anticipated
benefit of the IoT. Its application is very extensive. The main IoT applications are as
follows: infrastructure management, smart manufacturing, smart agriculture, energy
management, environment monitoring, building and home automation, metropoli-
tan-scale deployments, medicine and health care, and smart transportation.
A key specific application of the IoT is the monitoring and controlling of opera-
tions, which involves collecting and forwarding of event data. In order to realize the
potential of the IoT, it is necessary to combine it with AI technologies. The IoT col-
lects data, which AI processes to make sense of it. AI, in other words, is the engine
that enables, based on the data collected by the IoT, analytics and decision mak-
ing. Knowing when an event occurred can be useful for the purpose of triggering
an action. Additionally, sharing a consistent notion of time, among network devices,
can make building of efficient and robust collaborative services easier.
Time information is critical to the support of the IoT and AI applications’ various
requirements. This paper reviewed a clock model, considered the needs for com-
mon time in the IoT and AI applications, and proposed a network clock model for
combining of IoT time with data therein. The proposed network clock model defines
a reference model that can maintain standard time and offer time services in the IoT
and AI applications. The proposed model also defines a system time structure to
provide standard UTC to IoT devices as well as basic functions for accessing that
structure. The proposed scheme is implemented and evaluated in a real test platform
of MICAz-compatible sensor nodes operated in TinyOS 2.0 and Arduino Uno (R3).
The experimental results show that the IoT devices can maintain standard UTC.
There are two further issues with respect to the improvement of the proposed net-
work clock model. The first is the necessity for precision. As noted in Sect. 2, time-
precision requirements vary with the application. Also, the resolution of system time
does not imply a corresponding precision. In order to meet the precision require-
ments, precise hardware for the clock source as well as the software to handle it is
needed.
The second issue regarding the improvement of the proposed network clock
model is the synchronization protocol. In this paper, once standard UTC is obtained
by a device, that device maintains the current time based on a timer mechanism.
However, for maintenance of accurate and precise time, synchronization is required,
since a device’s clock has accuracy and precision limitations as affected by its inher-
ent instability, environmental elements, and node errors. These two issues are being
considered in ongoing research.
Acknowledgements The first draft of this paper was presented at the 12th KIPS International Conference
on Ubiquitous Information Technologies and Applications (CUTE 2017), Taichung, Taiwan, Decem-
ber 18–20, 2017 [42]. This research was supported by the Basic Science Research Program through the
National Research Foundation of Korea (NRF) funded by the Ministry of Science, ICT & Future Plan-
ning (NRF-2017R1A2B4009167).
13
A network clock model for time awareness in the Internet of things… 4327
References
1. Vermesan O, Friess P (eds) (2014) Internet of Things—from research and innovation to market
deployment. River Publishers, Aalborg
2. Giusto D, Iera A, Morabito G, Atzori L (eds) (2010) The Internet of Things. Springer, New York
3. Xu L, He W, Li S (2014) Internet of Things in industries: a survey. IEEE Trans Ind Inf
10(4):2233–2248
4. Kim J (2017) A review of cyber-physical system research relevant to the emerging IT trends:
industry 4.0, IoT, big data, and cloud computing. J Ind Integr Manag 2(3):1750011-1–1750011-22
5. Liu F, Tan C, Lim E, Choi B (2017) Traversing knowledge networks: an algorithmic historiogra-
phy of extant literature on the Internet of Things (IoT). J Manag Anal 4(1):3–34
6. Ngu HCV, Huh J-H (2017) B+-tree construction on massive data with Hadoop. Cluster Comput
1–11. https://doi.org/10.1007/s10586-017-1183-y
7. Moon SY, Park JH (2016) Efficient Hardware-Based Code Convertor of a Quantum Computer.
Journal of Convergence 7:1–9
8. Chui K-T, Alhalabi W, Pang SS-H, Ordóñez de Pablos P, Liu R-W, Zhao M (2017) Disease diag-
nosis in smart healthcare: innovation. Technol Appl Sustain 9:2309
9. Yin Y, Zeng Y, Chen X, Fan Y (2016) The Internet of Things in healthcare: an overview. J Ind
Inf Integr 1:3–13
10. Zhai C, Zou Z, Chen Q, Xu L, Zheng L, Tenhunen H (2016) Delay-aware and reliability-aware
contention-free MF-TDMA protocol for automated RFID monitoring in industrial IoT. J Ind Inf
Integr 3:8–19
11. Mao J, Zhou Q, Sarmiento M, Chen J, Wang P, Jonsson F, Xu L, Zheng L, Zou Z (2016) A
hybrid reader transceiver design for industrial Internet of Things. J Ind Inf Integr 2:19–29
12. Li S, Xu L, Wang X (2013) Compressed sensing signal and data acquisition in wireless sensor
networks and Internet of Things. IEEE Trans Ind Inf 9(4):2177–2186
13. Hwang S, Yu D (2012) Remote monitoring and controlling system based on ZigBee networks.
Int J Softw Eng Appl SERSC 6(3):35–42
14. Marques G, Pitarma R (2016) An indoor monitoring system for ambient assisted living based on
Internet of Things architecture. Int J Environ Res Public Health 13:1152
15. Huh J-H (2017) PLC-based design of monitoring system for ICT-integrated vertical fish farm.
Human-centric Comput Inf Sci 7(1):1–19
16. Huh J-H (2017) Smart grid test bed using OPNET and power line communication. Advances in
Computer and Electrical Engineering, IGI Global, Pennsylvania, pp 1–425
17. Kim S, Hwang K (2017) Design of real-time CAN framework based on plug and play functional-
ity. J Inf Process Syst KIPS 13(2):348–359
18. Huh J-H, Otgonchimeg S, Seo K (2016) Advanced metering infrastructure design and test bed
experiment using intelligent agents: focusing on the PLC network base technology for smart grid
system. J Supercomput 72(5):1862–1877
19. Banafa A (2017) Why IoT needs AI. https://www.bbvaopenmind.com/en/why-iot-needs-ai/.
Accessed 17 May 2018
20. Sinha PK (1997) Distributed operating systems: concepts and design. IEEE Computer Society,
pp 282–292
21. Hwang S, Yu D, Li K (2004) Embedded system design for network time synchronization. In:
Proceedings of the International Conference on Embedded and Ubiquitous Computing (EUC
2004), Aizu-Wakamatsu City, Japan, 25–27 August 2004, pp 96–106
22. Gupta A (2016) Time in the IoT. Workshop on synchronization and timing systems (WSTS)
23. PalChaudhuri S, Saha RK, Johnson DB (2004) Adaptive clock synchronization in sensor net-
works. In: Proceedings of the ACM International Conference on Embedded Networked Sensor
Systems, pp 139–149
24. Mills DL (2003) A brief history of NTP time: memoirs of an Internet timekeeper. ACM SIG-
COMM Comput Commun Rev 33(2):9–21
25. Lombardi M (2018) Computer time synchronization, Time and Frequency Division, National
Institute of Standards and Technology (NIST). https://tf.nist.gov/service/pdf/computertime.pdf.
Accessed 9 Jan 2018
13
4328 S. Hwang
26. IEEE P1588™ D2.2 Draft Standard for a Precision Clock Synchronization Protocol for Networked
Measurement and Control Systems (2008) The Institute of Electrical and Electronics Engineers
(IEEE), Inc. New York 10016-5997, USA
27. Edison JC (2018) Measurement, control and communication using IEEE 1588. Springer, New York
28. Karl H, Willig A (2005) Time synchronization in protocols and architectures for wireless sensor
networks. Wiley, West Sussex, pp 201–229
29. Guo X, Mohammad M, Saha S, Chan MC, Gilbert S, Leong D (2016) PSync: visible light-based
time synchronization for Internet of Things (IoT). In: Proceedings of the 35th Annual IEEE Inter-
national Conference on Computer Communications (IEEE INFOCOM 2016), San Francisco, CA,
USA, 10–14 April 2016
30. Son S, Kim N, Lee B, Cho CH, Chong JW (2016) A time synchronization technique for coap-based
home automation systems. IEEE Trans Consum Electron 62(1):10–16
31. Elsts A, Fafoutis X, Duquennoy S, Oikonomou G, Piechocki R, Craddock I (2018) Temperature-
resilient time synchronization for the Internet of Things. IEEE Trans Ind Inf 14(5):2241–2250
32. Jeong D-G, Song D (2017) Characteristics of IoT-Artificial Intelligence technologies and their
related industry trend. Korea Inst Inf Technol Mag 15(2):29–39
33. Hassan QF (ed) (2018) Internet of Things A to Z technologies and applications. IEEE Press, Wiley,
New Jersey
34. Chen F, Deng P, Wan J, Zhang D, Vasilakos AV, Rong X (2015) Data Mining for the Internet of
Things: literature review and challenges. Int J Distrib Sens Netw 11(8):1–14
35. Meidan Y, Bohadana M, Shabtai A, Guarnizo JD, Ochoa M, Tippenhauer NO, Elovici Y (2017)
ProfilIoT: a machine learning approach for IoT device identification based on network traffic
analysis. In: Proceedings of the symposium on applied computing (ACM SAC 2017), Marrakech,
Morocco, 03–07 April 2017
36. Shanthamallu US, Spanias A, Tepedelenlioglu C, Stanley M (2017) A brief survey of machine
learning methods and their sensor and IoT applications. In: Proceedings of the 8th International
Conference on Information, Intelligence, Systems & Applications (IISA), Larnaca, Cyprus, 27–30
August 2017
37. Mahdavinejad MS, Rezvan M, Barekatain M, Adibi P, Barnaghi P, Sheth AP (2018) Machine learn-
ing for internet of things data analysis: a survey. Digit Commun Netw 4(3):161–175
38. Time Considerations. https://github.com/MicrosoftArchive/iot-journey/blob/master/docs/09-time-
considerations.md. Accessed 11 Jan 2018
39. Hwang S, Joo S-S (2009) Global time service in wireless sensor networks. In: Proceedings of the
9th international symposium on communication and information technology, pp 382–383
40. Mills D, Martin J, Burbank J, Kasch W (2010) Network time protocol version 4: protocol and algo-
rithms specification, Internet Engineering Task Force (IETF) Request for Comments: 5905
41. Coordinated Universal Time (UTC) https://www.bipm.org/cc/CCTF/Allowed/18/CCTF_09-32_
noteUTC.pdf. Accessed 22 Jan 2018
42. Hwang S, et al (2017) A network clock model for Internet of Things. In: Proceedings of the 12th
KIPS International Conference on Ubiquitous Information Technologies and Applications (CUTE
2017), Taichung, Taiwan, 18–20 December 2017, p 1
Publisher’s Note Springer Nature remains neutral with regard to jurisdictional claims in published
maps and institutional affiliations.
13