this paper might be a pre-copy-editing or a post-print author...

48
This paper might be a pre-copy-editing or a post-print author-produced .pdf of an article accepted for publication. For the definitive publisher-authenticated version, please refer directly to publishing house’s archive system.

Upload: others

Post on 04-Apr-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

!

This paper might be a pre-copy-editing or a post-print author-produced .pdf of an article accepted for publication. For the

definitive publisher-authenticated version, please refer directly to publishing house’s archive system.

Page 2: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

Survey on Synchronization Mechanisms in

Machine-to-Machine Systems

Iva Bojic

Massachusetts Institute of Technology,Department of Urban Studies and Planning,

77 Massachusetts Ave, Cambridge, US

[email protected]

Kristian Nymoen

University of OsloDepartment of Informatics,

Postboks 1080 Blindern, 0316 Oslo, [email protected]

Abstract

People have always tried to understand natural phenomena. In computerscience natural phenomena are mostly used as a source of inspiration for solv-ing various problems in distributed systems such as optimization, clustering,data processing, etc. In this paper we will give an overview of research in fieldof computer science where fireflies in nature are used as role models for timesynchronization. We will compare two models of oscillators that explain fire-fly synchronization along with other phenomena of synchrony in nature (e.g.,synchronization of pacemaker cells of the heart and synchronization of neuronnetworks of the circadian pacemaker). Afterwards, we will present Mirolloand Strogatz’s pulse coupled oscillator model together with its limitations.As discussed by the authors of the model, this model lacks of explanationwhat happens when oscillators are nonidentical. It also does not supportmobile and faulty oscillators. Finally, it does not take into considerationthat in communication among oscillators there are communication delays.Since these limitations prevent Mirollo and Strogatz’s model to be used inreal-world environments (such as Machine-to-Machine systems), we will sumup related work in which scholars investigated how to modify the model inorder for it to be applicable in distributed systems. However, one has tobear in mind that there are usually large di↵erences between mathematical

1

Page 3: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

models in theory and their implementation in practice. Therefore, we givean overview of both mathematical models and mechanisms in distributedsystems that were designed after them.

Keywords: biological inspiration, fireflies, pulse coupled oscillator model,real-world environments, self-organization

1. Introduction

In centralized systems, there is no need to use synchronization mecha-nisms. Namely, every application that is being run on one device, whichrepresents one example of a centralized system, can send a request for thecurrent time to the device system clock. Since there is only one physical clockin the system, time in centralized systems is always unambiguous. When adecentralized architecture for clocking circuits was devised, it was realizedthat in practice it was not possible to manufacture two exactly identicalclocking circuits (i.e., physical clocks). Since these circuits were di↵erent,they could easily drift seconds per day1, accumulating significant errors overtime. Because of such imperfections of physical clocks, in distributed systemsa common notion of time does not exist.

Many applications in distributed systems (such as Machine-to-Machinesystems) rely on a common time that all devices can appeal to. Dependingon a type of an application, sometimes this common notion of time shouldalso be global, and sometimes it is enough that it is only local. If applicationsrely on a global notion of time, then devices should become synchronizedwith an external source of standard time (e.g., Coordinated Universal Time[4]). Otherwise, they can reach a common consensus on time locally, i.e.,independently of an external source of time. The process of achieving acommon synchronized notion of time, which can be either local or global, iscalled time synchronization and mechanisms that are used to achieve thatgoal are called synchronization mechanisms.

Some applications do not require devices to become synchronized with anexternal time source nor to reach consensus on common time. Still, it maybe required that consensus is reached on some common value other thantime (e.g., a firing period or a phase). In such cases, devices can achievesynchrony. In this paper we will use the same name for mechanisms that

1More about reasons why physical clocks drift apart can be found in [1], [2] and [3].

2

Page 4: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

are being used to achieve synchrony as we did for the mechanisms used toachieve time synchronization: synchronization mechanisms. The di↵erencebetween achieving common notion of time and common notion of some othervalue is that when reaching consensus on time, there is a set of rules thathave to be obeyed [5]. Particularity, there is a rule saying that during a timesynchronization process, time should never run backwards.

Time not being able to run backwards has certain implications. For in-stance, when synchronization mechanisms are used to synchronize the phys-ical clocks of devices, there is a possibility that some time moments areskipped causing a discontinuity of their physical clocks. Consequently, therisk of errors in other mechanisms that rely on readings of physical clocksis increased. One example would be a mechanism that is used as a triggerfor some action: the time moment of a scheduled action could be skippedbecause of a time synchronization process, and the action would not occuras planned.

Figure 1 gives an example of how time shown by some physical clock(shown on y-axis) changes over time compared to the global time change(shown on x-axis). We can see that if some action is scheduled for the timemoment when the physical clock shows 18, then due to a time synchroniza-tion process, this time moment is skipped and consequently the scheduledaction is not performed on time. In order to avoid a physical clock discon-tinuity, we can use synchronization mechanisms for time synchronization ofvirtual clocks. A virtual clock is a function that performs mapping from aphysical clock time to a set of virtual timestamps. A process of achieving timesynchronization of virtual clocks does not a↵ect the time shown by physicalclocks, thus avoiding the problem of a physical clock discontinuity.

Although there is a clear di↵erence between synchrony and time synchro-nization, in the rest of the paper we will mostly use the term time synchro-nization when talking both about time synchronization and synchrony. Thereason why we are going to do that is because once when we achieve timesynchronization, it is easy to achieve synchrony as well, and also vice versa.Moreover, as mentioned earlier, we use the term synchronization mecha-nisms both when talking about mechanisms for time synchronization andsynchrony.

Besides applications whose prerequisite is a common notion of time of alldevices in the system, there are also applications in which it is only importantto provide an ordering of all events in the system. Although the mechanismsused in such applications are not the main focus of this paper, synchroniza-

3

Page 5: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

Figure 1: One example of a physical clock discontinuity

tion of logical clocks should be mentioned as an alternative to mechanismsfor synchronizing the physical or virtual clocks of devices. A logical clockis a mechanism for capturing chronological and causal relationships betweendi↵erent events in the system. Here it is not important when some eventoccurred, but to know the order in which all events in the system occurred.

A time synchronization process is not an instant process. Its duration de-pends on a synchronization mechanism convergence rate. We can thus definea convergence time as the total time required to achieve time synchronization.We also have to be very careful when claiming that time synchronization isachieved. Namely, even when devices are synchronized, their physical or vir-tual clock values are not completely the same (i.e., there are always someerrors). We thus define two types of a time synchronization precision: anabsolute precision and a relative precision. The absolute precision can bedefined for synchronization mechanisms that use external sources of time asthe maximum error of physical clock values of devices with respect to anexternal source of standard time. On the other hand, the relative precisionis defined for synchronization mechanisms in which devices want to achievea local common notion of time as the maximum deviation among physical orvirtual clock readings of all devices in the system.

4

Page 6: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

Finally, for the same reasons why it is necessary to use synchronizationmechanisms in the first place (i.e., the imperfections of physical clocks), itis also important to repeat time synchronization process after its lifetimeexpires. A time synchronization lifetime is a time period during which therequired time synchronization precision is maintained. After that time, theconsistency of device clock readings is not anymore supported (i.e., devicesare no longer synchronized).

Machine-to-Machine (M2M) systems are composed of networked compu-tational devices, where the heterogeneity of the devices makes it di�cultto implement system-specific mechanisms, for instance for synchronization.One example of an M2M system with the prerequisite of device synchronyor consensus on a notion of time is applications in which devices have toshare a common resource (e.g., a shared communication channel in wirelessnetworks). It is also important to maintain the consistency of data that isstored in distributed databases. Moreover, in applications in which data iscollected distributedly, it is important to know that all data is collected si-multaneously. More about the reasons why time synchronization is requiredin distributed systems can be found in [6].

The rest of this paper is organized as follows. Section 2 gives an overviewof characteristics of M2M systems and e↵orts that have been put into theirstandardization. In this section we also propose a taxonomy that can beused in such systems for classification of di↵erent synchronization mecha-nisms. Section 3 shows how biological organisms who evolve, self-organize,self-repair, navigate, and flourish can be used as an inspiration for variousmechanism designs in distributed systems. This section also covers Mirolloand Strogatz’s pulse coupled oscillator model, which explains firefly synchro-nization in nature, together with its limitations. Section 3 is followed bythe section in which we give an overview of research that was conducted af-ter Mirollo and Strogatz. Namely, scholars investigated how to modify theirmodel in order for it to be applicable in distributed systems. Finally, Section5 concludes the paper.

2. Machine-to-Machine systems

Since there is no one unique definition of Machine-to-Machine (M2M)systems, we will mention several definitions that are used:

• M2M is a term used to describe the technologies that enable computers,embedded processors, smart sensors, actuators and mobile devices to

5

Page 7: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

communicate with one another, take measurements and make decisions— often without human intervention [7].

• M2M communication is the automated exchange of information be-tween technical end devices such as machines, vehicles or containersand a central control center. M2M allows machines to exchange infor-mation without the manual assistance of humans [8].

• The role of M2M is to establish the conditions that allow a device to(bidirectionally) exchange information with a business application viaa communication network, so that the device and/or application canact as the basis for this information exchange [9].

• Di↵erent machines (e.g., sensors, meters) in an M2M system capture“events” (e.g., temperature, inventory level), which are transmittedthrough a network (e.g., wireless, wired or hybrid) to an applicationthat translates them into meaningful information (e.g., items need tobe restocked) [10].

Although the aforementioned definitions are di↵erent, two conclusionscan be drawn: M2M systems are heterogeneous and autonomous. Hetero-geneity refers to M2M systems being composed of di↵erent devices (e.g.,sensors, computers, phones) that communicate using di↵erent communica-tion technologies (e.g., Bluetooth, Wi-Fi, Ethernet). The heterogeneity isthus present both in device hardware and software capabilities and in net-work capabilities. The autonomy of M2M systems refers to their requirementof being realized without any centralized control.

Figure 2 shows a simplified view on the architecture of M2M systems. Inone end of an M2M system there are data collection points, in the other thereare data processing points, and in between there is a communication network.Data collection points are usually very limited in their capabilities, but alsovery numerous. In contrast, data processing points usually have higher pro-cessing capabilities, but are not so numerous. Finally, the communicationnetwork consists of di↵erent interconnected networks where devices are con-nected both through wireless and wireline communication technologies.

In the last 10 years, a lot of e↵ort has been put into standardization ofM2M systems [11, 12]. The European Telecommunications Standards Insti-tute (ETSI) [13] and the 3rd Generation Partnership Project (3GPP) [14] aretwo of the most active standardization organizations in this field. Although

6

Page 8: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

Figure 2: A simplified view on the architecture of M2M systems

they alone have published over twenty technical reports and standards, manythings are still not standardized: e.g., quality-of-service [15], unique identifi-cation scheme [16], time synchronization [17].

Since the focus of this paper is time synchronization, we will give a shortoverview of standards in which time synchronization is mentioned. In ETSIstandard on M2M functional architecture, secure time synchronization islisted as an optional feature without specifying or suggesting which synchro-nization mechanisms should be used to achieve this feature [18]. Similar tothat, in ETSI standard on M2M service requirements it is said that an M2Msystem should support time synchronization [19]. Moreover, it is concludedthat the level of precision and security for time synchronization can be systemspecific and it is thus not globally standardized. Namely, ETSI alone definesdi↵erent use cases for M2M systems: smart metering [20], eHealth [21], con-nected consumer [22], automotive applications [23] and city automation [24].Until now, the need for secure time synchronization has been detected insmart metering, eHealth and automotive applications [25].

Figure 3 shows one example of an M2M system where sensors, computersand mobile phones communicate using ZigBee, Bluetooth, Wi-Fi and Ether-net. Even from this simple example it is clear that M2M systems are verycomplex and that they should be simplified by introducing proper models forthem. In this paper we thus propose a model of an M2M system as:

MM2M = {D⌧ , C⌧ ,!⌧ ,W⌧}. (1)

where a set D⌧ denotes the set of devices in the M2M system at the timemoment ⌧ (i.e., D⌧ = {d1, d2, · · · , dn}), a set C⌧ denotes the set of commu-nication channels at the time moment ⌧ (i.e., C⌧ = {c1, c2, · · · , cm}), !⌧ isa weighting function that translates the set of communication channels C⌧

7

Page 9: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

into weighted links (i.e., !⌧ : C⌧ ! R+0 , where !⌧ (cı) = tı), and finally a set

W⌧ denotes the set of device internal characteristics also at the time moment⌧ (i.e., W⌧ = {V1, V2, · · · , Vn} where Vı denotes the set of internal character-istics for device ı). These internal characteristics can refer to for example adevice memory capacity or its operating system version.

Figure 3: One example of an M2M system

Figure 4 shows what our M2M model would look like applied to theM2M system shown in Figure 3. The set D⌧ consists of 17 devices (i.e.,D⌧ = {d1, d2, · · · , d17}). The weighting function !⌧ translates the set ofcommunication channels C⌧ = {c1, c2, · · · , c40} into the set of weighted links{t1, t2, t3, t4, t5}. In this example, there are only five types of weighted linkssince there are five di↵erent communication technologies and we assume thatall communication channels of one communication technology are the same.However, this is not necessarily the case and we thus allow modeling everycommunication channel separately. Finally, the setW⌧ has 17 membersW⌧ ={V1, V2, · · · , V17} denoting various internal device characteristics.

2.1. Taxonomy of synchronization mechanisms in M2M systems

Although a lot of di↵erent time synchronization taxonomies have beenproposed in related work (e.g., [5, 26, 27, 28]), they are not directly applica-ble to M2M systems. For example, Sundararaman et al. [5] did not includethe type of clocks (e.g., logical, physical) that are being synchronized, whilein [26] authors did not consider whether synchronization mechanisms arescalable or not. Furthermore, Simeone et al. [27] did not make any di↵erencebetween di↵erent layers that synchronization mechanisms are implemented

8

Page 10: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

Figure 4: The model of the M2M system from Figure 3

on (e.g., physical layer, application layer), nor did Albu et al. [28] di↵erbetween a full versus a partial physical connectivity. Since all of the afore-mentioned synchronization mechanism characteristics are important in M2Msystems, in this paper we propose a general taxonomy of synchronizationmechanisms (see Figure 5), and use this to specify preferable properties ofsynchronization mechanisms in M2M systems.

2.1.1. Organizational structure

Synchronization mechanisms can be either centralized or decentralized.A centralized synchronization mechanism means that there is one entity ora limited number of entities responsible for time synchronization. If thereis only one entity, then this mechanism is susceptible to a single point offailure problem. Otherwise, if there is more than one entity, then theseentities must be organized hierarchically. Although a hierarchical structureeliminates the single point of failure problem, there are at least two problemswith systems organized in a hierarchical manner: it is time consuming toachieve a hierarchical structure in the first place, and then afterwards it ishard to maintain this structure when new entities join the system and someold ones leave the system.

Synchronization mechanisms that are decentralized do not su↵er eitherfrom the problem of a single point of failure or the problem of achievinga hierarchical structure. However, their disadvantage is that they are notas precise as centralized mechanisms. Nevertheless, every mechanism that

9

Page 11: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

Figure 5: Taxonomy of synchronization mechanisms applicable in M2M systems

is used in M2M systems should be decentralized since decentralized mech-anisms are more robust and more scalable. Moreover, every M2M systemis composed of di↵erent subsystems that are very dynamic, making it di�-cult to achieve a hierarchical organization. Namely, it is more complex andtime consuming to hierarchically organize M2M systems where entities areheterogeneous than systems in which all entities are the same.

2.1.2. Synchronization stimulus

A synchronization stimulus can be either external or internal. Externalsynchronization stimulus is when entities in the system are being synchro-nized with an external source of standard time, and internal synchroniza-tion stimulus is when entities inside the system are synchronizing withoutan external source of standard time. Synchronization mechanisms that useexternal stimuli are always centralized, while mechanisms that use internal

10

Page 12: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

stimuli can be either centralized or decentralized depending on how manyentities act as the stimulus. If every entity in the system can be seen as asynchronization stimulus, then this mechanism is decentralized. Otherwise,it is centralized. Consequently, synchronization mechanisms that are used inM2M systems should use internal stimuli.

2.1.3. Synchronization layer

Synchronization mechanisms can be implemented on a physical, a dataor an application layer. When a synchronization mechanism is designed forthe implementation on a physical or a data layer, then it can rely on somespecific characteristics of those layers. Consequently, time synchronization ofa higher precision can be achieved. On the other hand, if a synchronizationmechanism is implemented on higher layers (e.g., an application layer), thenit can be used in di↵erent systems without a need to be adjusted. Thedisadvantage is that these mechanisms are not as precise as mechanismsimplemented on lower layers. Since one of the main characteristic of everyM2M system is its heterogeneity, synchronization mechanisms that are usedin them should be implemented on application layers.

2.1.4. Synchronization frequency

Synchronization mechanisms can be started either on demand or they canrun always. Namely, some time period after a synchronization mechanismis started, depending on the mechanism convergence rate, entities becomesynchronized. As said before, this time period is called the convergencetime. Entities are then synchronized for some time, which depends on atime synchronization lifetime, and then after some time they again enter thestate where they are not synchronized anymore. The key point here is tounderstand that it is not enough to run a synchronization mechanism onceand then expect that entities will stay synchronized forever. Synchronizationmechanisms must thus always be enabled in systems where entities have tobe synchronized all the time. In M2M systems both types of synchroniza-tion mechanism can be used depending on the type of an application forwhich time synchronization is needed. Sometimes it is mandatory that timesynchronization is maintained all the time (e.g., when sharing a commonresource) and sometimes it is enough to synchronize entities only once in awhile (e.g., when periodically and distributedly collecting data).

11

Page 13: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

2.1.5. Physical connectivity

Entities that are being synchronized can be connected either fully orpartially. Some synchronization mechanisms can be used only in systemswhere entities are connected in an all-to-all manner (e.g., fully) and somesynchronization mechanisms support a partial connectivity. Synchronizationmechanisms that are used in M2M systems should work in systems whereentities are connected only partially.

2.1.6. Clock types

Synchronization mechanisms can be used to synchronize physical, logi-cal or virtual clocks. Every entity has its own hardware that is used as itsphysical clock. Physical clocks are imperfect and thus synchronization mech-anisms are necessary when wanting to achieve a common notion of time.In the previous section we showed that synchronization mechanisms used tosynchronize physical clocks can result in discontinuity. If we want to avoidthis, we can use synchronization mechanisms that synchronize either logicalor virtual clocks. Generally speaking, time synchronization of logical clockshas more limited application than time synchronization of virtual clocks. InM2M systems, we want for all mechanisms to work properly and we also wantto provide mechanisms with a wider spectrum of applications. Therefore, wewant to use synchronization mechanisms for virtual clocks.

2.1.7. Entity mobility

We can distinguish synchronization mechanisms based on their ability tosupport entity mobility. Namely, some synchronization mechanisms cannotbe used in systems in which entities frequently change their positions or inwhich lots of new entities join the system or lots of old entities leave it. InM2M systems we should use synchronization mechanisms that support entitymobility.

2.1.8. Scalability and adaptivity

We can also distinguish synchronization mechanisms based on their scal-ability and adaptivity. A synchronization mechanism is scalable if it works asexpected not only in systems with a small number of entities, but also worksproperly as systems grow in size. Adaptivity refers to the ability of synchro-nization mechanism to adapt to new situations. We want for synchronizationmechanisms in M2M systems to be both scalable and adaptable.

12

Page 14: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

2.2. Classification of synchronization mechanisms based on the proposed tax-onomy

Synchronization mechanism in M2M systems should be scalable, adap-tive and implemented on application layers in a decentralized way. Further,internal stimuli should be used to achieve time synchronization between thevirtual clocks of partially connected and mobile entities. In our classificationwe will include the following synchronization mechanisms:

• Timing-sync Protocol for Sensor Networks (TPSN) [29, 30],

• Flooding Time Synchronization Protocol (FTSP) [31],

• Continuous Clock Synchronization (CCS) [32],

• Reference Broadcast Synchronization (RBS) [33],

• Asynchronous Di↵usion Protocol (ADP) [34],

• Average TimeSynch (ATS) [35, 36] and

• Firefly-Based Synchronization (FBS) [37, 38].

Classification of the aforementioned synchronization mechanisms is shownin Table 1. Cells that are colored red denote undesirable characteristicsof synchronization mechanisms for M2M systems. We can conclude that afirefly-based synchronization mechanism has the best characteristics in rela-tion to what is required for the mechanisms used in M2M: it is decentralized,uses internal synchronization stimuli, does not require entities to be fullyconnected, synchronizes virtual clocks and is adaptable. However, some im-plementations are on the physical layer, some variants are not scalable, andit only partially supports entity mobility.

The firefly-based synchronization mechanism is one example of a biolog-ically inspired self-organized mechanism design. The biologically inspiredmechanism design can be seen as a three step process in which some natu-ral phenomenon is used as an inspiration for a design of a mechanism thatis then implemented in a real-world environment. In the next section willexplain the general idea behind this three step process and more specifi-cally we will illustrate this process for the natural phenomenon called fireflysynchronization.

13

Page 15: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

Table 1: Classification of synchronization mechanisms based on the proposed taxonomy

Synchronizationmechanisms

TPSN FTSP CCS RBS ADP ATS FBS

Centralized (C) or de-centralized (D) orga-nizational structure

C C C D D D D

External (E) or inter-nal (I) synchroniza-tion stimulus

E I I I I I I

Physical (P) or appli-cation (A) synchro-nization layer

P P P A A P P/A

Synchronization fre-quency: on demand(D) or always (A)

A A D D A D D/A

Full (F) or partial (P)connectivity

F F F F/P F P P

Physical (P) or vir-tual (V) clock types

P P P V P P V

Supports entity mo-bility: yes (Y) or no(N)

N Y N N Y Y Y/N

Scalability: yes (Y)or no (N)

N N N N N Y/N Y/N

Adaptivity: yes (Y)or no (N)

N N N N N N Y

3. Biologically inspired research in distributed systems

Nature is a very dynamic, enormous, and highly complex system. All in-teractions among biological organisms in nature are based only on the localknowledge those organisms have. Moreover, all processes in nature are donewithout any centralized control, and yet are self-sustainable. Distributed sys-tems that we build (e.g., M2M systems) are facing similar challenges as theygrow larger in size, but are not able to achieve the same level of robustnessand adaptivity as is present in nature.

The process explaining how nature can be used as an inspiration for a

14

Page 16: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

design of mechanisms in distributed systems is shown in Figure 6. This is ba-sically a three step process in which the first step involves investigating someinteresting patterns in nature (e.g., ant behavior [39], bee dance [40], fireflysynchronization [41]), the second step refers to the mathematical modelingof the investigated biological phenomenon (e.g., artificial bee colony algo-rithm [42], ant colony optimization algorithm [43], phase coupled oscillatormodel [44], pulse coupled oscillator model [38]), while the third step trans-lates the proposed models into real-world applications (e.g., BeeAdHoc [45],AntHocNet [46], heterogeneous PCO [47]).

Figure 6: A three step process of using nature as an inspiration for designing mechanisms

Although a lot of biologically inspired research is conducted in distributedsystems2, our focus will be on those inspired by the self-organization proper-ties of nature. Self-organization is a process in which patterns at the globallevel of a system emerge solely from numerous interactions among lower-levelcomponents in the system [51]. An emergent behavior can be described asa process whereby larger patterns arise through interactions among smalleror simpler entities that themselves do not exhibit such properties. A dis-tributed system is said to be self-organized if it is organized without anyexternal or central dedicated control entity [52]. Some of the characteristicsof self-organizing systems are flexibility, adaptivity, robustness and scalabil-ity. All of those characteristics are important in distributed systems and thusself-organization is an important concept that is used in these systems3.

2More about biologically inspired research conducted in distributed systems can befound in [48], [49] and [50].

3More about self-organization in distributed systems can be found in [53], [54] and [55].

15

Page 17: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

In nature, birds self-organize in such a way that they fly in v-formationthat boosts their e�ciency and range of flying, particularly over long mi-gratory routes [56]. Another example of self-organization is seen in beesregulating their body temperature by means of behavior, morphology andphysiology, which helps them to meet individual and social needs [57]. Inthis paper our focus will be on self-organizing synchronization inspired bythe firefly behavior in nature [58]. Besides fireflies, there are other examplesof self-organizing synchronization in nature: pacemaker cells in the heart[37], nervous system [59], pancreatic beta cells [60] and a menstrual synchro-nization among women friends or roommates [61].

3.1. Investigating a natural phenomenon: firefly synchronization

Biologists have investigated firefly synchronization for more than 100years. However, not everyone has been so appreciative of the wonders of timesynchronization in the fireflies world. In 1993 the tabloid National Enquirerran an article entitled [62]: “Govt. Blows Your Tax $$ to Study Fireflies inBorneo-Not a Bright Idea!” in which Tom Petri said: “Spending taxpayers’money studying fireflies doesn’t sound like a very bright idea to me”. He isnot to blame, since it was before the “Internet era”. Namely, in 1994 it wasrealized that spontaneous pulsations in the tra�c between computers calledrouters were behaving like fireflies, exchanging periodic messages that wereinadvertently synchronizing them [63].

Firefly synchronization can be explained on fireflies that gather on theriverbanks in Asia at dawn and start emitting their flashes at regular peri-ods. After some time it seems like the whole trees along the riverbanks areflashing in perfect synchrony. Over the last 100 years several dozen scholarshave tried to understand firefly synchronization. During that time scholarscould not answer the question why fireflies synchronize, let alone how theydo it. The first arisen question is not particularly interesting in the computerscience field since it is pretty obvious that the reasons why devices in dis-tributed systems should be synchronized di↵er from the reasons why firefliesin nature synchronize their pulses. However, we will mention a few theoriesthat explain fireflies motives to become synchronized.

Over time biologist have o↵ered dozens of plausible explanations on whyfireflies synchronize their pulses. However, the real reason that lies behindthis synchronization is still unknown. In the oldest hypothesis, which is calledbeacon, Buck and Buck suggested that synchronized displays serve as nightlyquasi-permanent rendezvous for mass mating and that synchrony increases

16

Page 18: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

their e�ciency as beacons [64]. In 1977 Otte and Smiley explained severalother hypotheses about why fireflies synchronize their pulses [65] and thenfinally in 1988 Buck and Buck summed up all the given hypotheses [66].

3.1.1. The first decade of biological research conducted on fireflies

One of the first scholars who investigated firefly synchronization was Blair.In 1915 he published an article in Nature claiming the following [67]: “Theflashing in unison is too regular to be caused by chance pu↵s of wind. Amore probable explanation of the phenomenon is that each flash exhausts thebattery, as it were, and a period of recuperation is required before anotherflash can be emitted. It is then conceivable that the flash of a leader mightact as a stimulus to the discharge of their flashes by the other members ofthe group, and so bring about the flashing concert by the whole company”.

Between the years 1915 and 1917 almost 10 papers were published inScience and Nature discussing firefly synchronization (see Figure 7). In 1916Morse wrote that the explanation o↵ered by Blair to explain the cause offirefly behavior seemed to him inadequate [68]. This paper was followed byseveral others trying to explain the firefly behavior [69, 70, 71]. And then atthe end of 1916 Craig wrote [72]: “Viewing any large assortment of instanceswithout statistical methods, one can see in them whatever one is predisposed tosee; and we are always predisposed to perceive a rhythm – this is a well-knownpsychological fact”. Early in 1917 Laurent came to the same conclusion [73]:“The apparent phenomenon was caused by the twitching or sudden loweringand raising of my eyelids. The insects had nothing whatsoever to do withit”. This paper was followed by a paper from Gates where he wrote [74]: “Itseems to me that complete synchronism in the flashing of a group of firefliesis simply a very rare accident, occurring when the flashes of the individualschance to come at the same time”.

Figure 7: Research conducted between 1915 and 1917

In 1918 Hudson wrote [75]: “If it is desired to get a body of men to sing orplay together in perfect rhythm they not only must have a leader but must betrained to follow such a leader... Do these insects inherit a sense of rhythm

17

Page 19: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

more perfect than our own?” Same as Blair, Hudson believed that theremust be a maestro, a firefly that cues all the rest. It took more than 10 yearsfor scholars to perceive that this process is self-organizing. Finally, at theend of the first decade Gudger wrote a historical note on the synchronousflashing of fireflies [76] that was later on used in Buck’s research [77].

3.1.2. The second decade of biological research conducted on fireflies

During the first decade of biological research conducted on fireflies somescholars believed that firefly synchronization is only a deception (e.g., Laurent[73] and Gates [74]), while others believed it is centralized (e.g., Blair [67] andHudson [75]). Since these early hypotheses about why fireflies synchronizethemselves were not very plausible, in 1935 Smith wrote [78]: “Some of thepublished explanations are more remarkable than the phenomenon itself”.

Then finally, 15 years after Blair, Richmond perceived that this processis self-organizing [79]: “Suppose that in each insect there is an equipment thatfunctions thus: when the normal time to flash is nearly attained, incident lighton the insect hastens the occurrence of the event. In other words, if one ofthe insects is almost ready to flash and sees other insects flash, then it flashessooner than otherwise. On the foregoing hypothesis, it follows that there maybe a tendency for the insects to fall in step and flash synchronously”.

3.1.3. Buck’s research conducted on fireflies

The most notable scholar in this field was Buck4. In his first paper fromthe year 1938 he wrote a survey on biological research conducted on fireflies[77]. This paper was followed by several others in which he tried to explainthe phenomenon [41, 64]. Namely, in the 1960s John Buck and his wifeElisabeth visited Thailand in order to do experiments on fireflies. However,their early research lacked support of an appropriate model. Finally, in 1988Buck wrote another survey paper where he put forward two synchronizationmodels: phase-advance and phase-delay models [66].

Figure 8 shows biological research conducted on fireflies between the years1918 and 1988. Although, in fifty years biologists made a huge progress inunderstanding firefly synchronization, other scholars were still not able tomathematically model their behavior. In the next section we will give ahistorical note on how mathematical models, which explained firefly syn-chronization, have been developed during the years.

4More about Buck’s research can be found in [80].

18

Page 20: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

Figure 8: Research conducted between 1918 and 1988

3.2. Modeling a natural phenomenon: firefly synchronization

Over the time scholars have tried mathematically to describe firefly be-havior in nature (corresponds to the second step in Figure 6), resulting intwo models of oscillators that explain firefly synchronization along with otherphenomena of self-organizing synchronization in nature: phase coupled andpulse coupled oscillator models. The phase coupled oscillator model wasproposed by Wiener [81] and developed by Winfree [82] and Kuramoto [44],while the pulse coupled oscillator model was proposed by Peskin [37] anddeveloped by Mirollo and Strogatz [38] and Lucarelli and Wang [83].

3.2.1. Phase coupled oscillator model

In 1958 Wiener wrote his book in which he proposed one of the earliestmodels to explain self-synchronizing phenomena in biology [81]. His modelwas based on the concept of a frequency pulling, i.e., oscillators pulling oneach other’s intrinsic frequencies5. Although Wiener was investigating neu-ronal cells, his model was applicable to other self-synchronizing phenomenaas well. Winfree continued Wiener’s work by publishing a book in which hewrote equations for his system of oscillators, describing how fast each onemoved through its cycle [82]. In his model, oscillator speed was determinedby its preferred pace (i.e., its intrinsic frequency), its current sensitivity andthe total influence exerted by all the other oscillators. Oscillator current sen-sitivity depended on where it was in its time synchronization cycle, while theamount of total influence depended on where all the other oscillators were intheir time synchronization cycles.

After Wiener and Winfree, who paved the way for a better understandingof the phase coupled oscillator model, Kuramoto described the dynamic ofoscillator ı in an N -oscillators system as [84]:

5Variations of oscillator intrinsic frequencies are also called physical clock skews.

19

Page 21: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

d⇥ı

dt

= !ı +K

N

NX

|=1

(sin⇥| � sin⇥ı), 8ı 2 {1, · · · , N} (2)

where ⇥ı was oscillator ı phase, !ı denoted its intrinsic frequency and K wasa coupling constant. Kuramoto proved numerically that if the coupling con-stant strength was larger than a critical value, oscillators would synchronizethemselves. He assumed that a single oscillator was influenced by the aver-age phase of all other oscillators (i.e., a full connectivity). In the subsequentyears, oscillators with a nearest neighbor coupling (e.g., chains [85] and rings[86]) have been also studied. However, the phase coupled oscillator model isdi�cult to implement in real-world environments since it is very time con-suming and performance intensive to calculate values for all oscillator phasesthe whole time during the synchronization process6. In this paper we willthus not include a survey on this model, but on the pulse coupled oscillatormodel.

3.2.2. Pulse coupled oscillator model

The other model, which describes firefly behavior, is called the pulsecoupled oscillator model and was proposed by Peskin [37]. Peskin’s model wasproposed for the natural pacemaker of a human heart where each oscillatorwas characterized by the state x, which satisfied the following equation:

dx

dt

= ��x+ S0 0 6 x 6 1 (3)

where � and S0 were intrinsic properties of the oscillators. Peskin provedthat systems of two coupled oscillators could achieve time synchronization.In 1990 Mirollo and Strogatz extended Peskin’s model and proved that hismodel could also be used for systems with more than two oscillators7. InMirollo and Strogatz’s model the dynamics of oscillator ı in an N -oscillatorssystem was described as [38]:

xı(t) = f('ı) +NX

|=1

"ı,| gı,|(t), (4)

6More about the reasons why this model is not applicable in real-world environmentscan be found in [87].

7More about Mirollo and Strogatz’s model can be found in [88].

20

Page 22: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

where xı(t) was a value of a state variable zı at the time moment t, 'ı denotedthe internal phase of oscillator ı, f('ı) described the excitation evolution ofoscillator ı, "ı,| was a coupling constant, while gı,|(t) was a coupling functionbetween oscillators ı and |. The coupling constant "ı,| denotes the intensityof the influence that coupled oscillators ı and | have on each other. Thecoupling function gı,|(t) denotes whether oscillators ı and | are coupled andis calculated as:

gı,|(t) =

⇢1, if ı is coupled with | and t = t

⇤|

0, otherwise(5)

where t⇤| is the firing time of oscillator |. Mirollo and Strogatz assumed thatthe coupling constant "ı,| was equal for all oscillators (i.e., "ı,| = ", 8ı 8|)and proved that if the function f('ı) : [0, 1] ! [0, 1] was smooth, monoton-ically increasing and concave down, then a set of fully connected oscillatorswould always converge to time synchronization for any arbitrary set of initialconditions.

In Mirollo and Strogatz’s model every time when oscillator ı state variablereached a threshold value, the oscillator ı emitted a pulse (i.e., fired), its statevariable was reset to zero and then it repeated the next time synchronizationcycle. Time synchronization cycle is defined as time between the emitting oftwo pulses. Concurrent with the emitting of one oscillator pulse, all the otheroscillators in the system (i.e., 8| 2 N) incremented their state variables byan amount of the coupling constant "|,ı. If the threshold value was exceededby this enlarging, the other oscillators fired immediately.

Mirollo and Strogatz’s model was proposed for systems with a full con-nectivity. And then almost 15 years after Mirollo and Strogatz’s seminalwork, Lucarelli and Wang showed that the fully connected assumption couldbe replaced with a partly connected assumption and that oscillators couldstill achieve time synchronization [83]. They proved that if oscillators in dis-tributed systems were connected such that they formed a connected graph8,then they would eventually become synchronized. Since in M2M systemsdevices are not connected in an all-to-all manner, Lucarelli and Wang’s workis a very important prerequisite for this model to be eligible for the use inM2M systems.

Mirollo and Strogatz’s work, and the majority of following research as-

8Graph is said to be connected if there exists a path between any two vertices in it.

21

Page 23: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

sumed that the coupling constant " > 0. In other words, the state variablexı(t) is monotonically increasing, with non-continuous increments whenevergı,|(t) = 1. Such couplings are known as excitatory couplings, inspired by theoperations of excitatory and inhibitory synapses in the nervous system [89].The firing of excitatory synapses increases the activation level of a neuroneventually making it fire. In contrast, the firing of inhibitory synapses coun-teracts the firing of the neuron, for instance by increasing its firing threshold,and consequently delaying the firing of the neuron. Correspondingly, oscil-lators may be connected by inhibitory couplings, where " < 0. As such,inhibitory couplings result in the value of xı(t) being decreased, rather thanincreased, upon received fire events. In other words, excitatory couplingsadvance and inhibitory couplings delay the next firing of an oscillator. Whileit was generally assumed that inhibitory coupling of pulse coupled oscillatorswould result in asynchrony, van Vreeswijk and colleagues pointed out thatcertain neurobiological studies showed synchrony being reached for inhibtorysynapses [90, 91]. The dynamics of pulse coupled oscillators with excitatoryand inhibitory couplings were analysed by Timme et al. who found inhibitorycouplings to retain synchronization stability in di↵erent network topologies[92].

4. Implementing the pulse coupled oscillator model in M2M sys-

tems

As said earlier, the pulse coupled oscillator model describes firefly be-havior in nature. In the model fireflies are modeled as oscillators, whilein real-world environments (e.g., M2M systems) these oscillators are imple-mented on devices. We thus use the term oscillator when describing thesecond step from Figure 6, and the term device when describing the thirdstep. Moreover, in nature fireflies exchange information thought their flashes,oscillators communicate through their fires and devices in M2M systems ex-change synchronization messages.

In this section we will give an overview of research conducted both bymathematicians and computer scientists on the pulse coupled oscillator modelwith a particular focus on its applicability in M2M systems where Mirolloand Strogatz’s work is not directly applicable. Namely, Mirollo and Strogatzconcluded that time synchronization can be achieved but under the followingassumptions:

• all oscillators in the system are identical,

22

Page 24: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

• no delays occur in the message exchange among oscillators,

• oscillators are immobile, and

• none of oscillators have a faulty behavior that would desynchronize thesystem.

Before Lucarelli and Wang’s work, it was also assumed that all oscillatorshad to be connected in an all-to-all manner. However, since they proved thatoscillators could become synchronized even when only partly connected, inthis article we will not discuss related work on partly connected oscillators9.

All of the aforementioned assumptions are not true when it comes toM2M systems. As mentioned before, one of their main characteristics isdevice heterogeneity meaning that devices are not identical. Moreover, inany real-world environment due to the limitations of wireless channels, thereare always delays in communication. Furthermore, in M2M systems somedevices are mobile (e.g., sensors, mobile phones) and finally, since security inM2M is not completely standardized10, faulty devices, which can counteractthe synchronization of M2M systems, can be still present.

On the one hand, it is necessary to remove these assumptions in order toapply the pulse coupled oscillator in M2M systems. On the other hand, thereis always a trade-o↵, and in this case it is a time synchronization precision.In Mirollo and Strogatz’s work, the time synchronization precision was indef-inite, i.e., a real synchrony was achieved. However, when implementing thismodel in real-world environments, only weaker forms of time synchronizationcan be achieved: a phase locking or a frequency locking. The phase locking istime synchronization wherein oscillators do not necessarily fire at the sametime, but di↵erences between their state variables values are constant andnonzero, while the frequency locking denotes that oscillators run at approxi-mately the same intrinsic frequencies, but that di↵erences between their statevariables values are not constant because of frequency fluctuations.

Since M2M systems are still being developed and standardized, in thissection we will mostly present theoretical work on nonidentical, mobile andfaulty oscillators who communicate using wireless channels with message

9However, more about partially connected oscillators can be found in [93].10More about the current state of the art on security in M2M systems can be found in

[94].

23

Page 25: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

losses and delays. However, one has to bear in mind that the theory veryoften significantly di↵ers from the practice. For example, in real-world envi-ronments time synchronization will be usually achieved in a form of frequencylocking even if it has been theoretically proven that real synchrony was possi-ble. We will include research conducted on real devices (i.e., hardware) everytime when available.

4.1. Pulse coupled oscillator model with nonidentical oscillators

The main di↵erence between systems of identical oscillators and systemsof nonidentical oscillators is in the absorption phenomenon11. Namely, insystems of identical oscillators, absorption is irreversible and the number ofabsorptions is thus finite. However, in systems of nonidentical oscillators,di↵erent oscillators that fire together at one time moment can separate af-terwards. As a consequence, it is possible for one oscillator to be absorbedin di↵erent clusters at di↵erent time moments making it hard to prove whathappens in such systems.

As said before, in [37] Peskin conjectured that for a system of identicaloscillators and almost all initial conditions, the observed system approachedthe state in which all oscillators were firing synchronously and that thiswould remain true even if the oscillators were not quite identical. The firstpart of the conjecture was proven by Mirollo and Strogatz [38], while in2001 Urbanczik and Senn managed to prove that linear12 (i.e., non-leaky)nonidentical oscillators, under specific conditions, would also become syn-chronized [95]. However, the second part of their conjuncture has still notbeen proved completely, since it is not clear what happens in systems withnonlinear nonidentical oscillators.

4.1.1. Nonidentical oscillators in theory

Urbanczik and Senn proved that linear nonidentical oscillators, whoseintrinsic frequencies, thresholds, and coupling constants were heterogeneouswithin a certain range, would become synchronized for any initial condition[95]. The condition for which they proved heterogeneity could exist wasthat fluctuations in the threshold values together with the fluctuations inthe coupling constant values had to be smaller than the coupling constants

11Absorption happens every time when one oscillator is absorbed into (i.e., becomessynchronized with) the group of already synchronized oscillators.

12For linear oscillators the parameter � in (3) is equal to zero (i.e., � = 0).

24

Page 26: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

themselves. Their work was extended in 2011, when An et al. proposed a newnonidentical linear pulse coupled oscillator model to analyze time synchro-nization of pulse coupled oscillators with di↵erent intrinsic frequencies [96].They defined a new type of synchronization: instantaneous synchronization.The instantaneous synchronization condition of two oscillators ı and | wasdefined as follows:

xı|t = x||t = 0. (6)

The previous equation denotes that two oscillators ı and | are instantaneouslysynchronized if their state variables return to zero simultaneously at somepoint in time. This di↵ers from the definition for the real synchrony wheretwo oscillators ı and | are synchronized if and only if their states variablesalways return to zero at the same time. An et al. proved that an N-oscillatorsystem could achieve instantaneous synchronization if every two oscillatorsin the system satisfied the following condition:

!|6= 1 + "|,ı

1 + "ı,|, (7)

where !ı denoted oscillator ı intrinsic frequency and "ı,| coupling constantstrength denoting how much oscillator | a↵ected oscillator ı. However, itstill remains the question what happens when di↵erences between oscillatorintrinsic frequencies are not relatively small, and do not satisfy conditiongiven in (7).

One possible way to investigate nonidentical oscillators is surely to intro-duce new types of synchronization (like in [96]). The other is to investigatea clustering behavior of systems of nonidentical oscillators. This behaviorwas investigated by Bottani in 1995 who derived a condition of stability fora group of n + 1 oscillators in an N-oscillator system (where n < N) with arandom uniform distribution of their intrinsic frequencies [97]:

!1 � !ı

!16 (ı� 1)

N

, 8ı 2 {1, ..., n+ 1} (8)

where ↵ was a dissipation parameter and !ı were frequencies ordered suchthat !1 < ... < !n. He proved that if the distribution of frequencies fulfilledthe stability condition given by (8), the system becomes completely synchro-nized. If this condition was not satisfied, only a partial time synchronizationwas possible.

25

Page 27: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

In [98] it was shown that a total clustering happened in populations ofdi↵erent oscillators if the frequency distribution was su�ciently narrow orthe coupling constant strength was strong enough. Namely, authors provedthat each nonidentical oscillator in the system was eventually trapped in onecluster and fired at the frequency of the fastest oscillator of the cluster. Anoscillator trapped within a single cluster returned close to its initial positionafter the number of clusters firing.

Klinglmayr and colleagues investigated inhibitory coupling between pulsecoupled oscillators using what they refer to as instantaneous self-coupling[99]. In their model, the phase of an oscillator is not reset to zero uponfiring, but rather follow the same inhibitory phase shift as the receiving os-cillators. This way, one oscillator becomes the leading oscillator to whichthe other oscillators synchronize. Their work was extended in [100] to allowsmall di↵erences in oscillator frequencies, and also heterogeneous transmis-sion delays between oscillators. They showed that inhibitory coupling canyield the same precision as excitatory coupling in such systems.

4.1.2. Nonidentical devices in practice

In 2005 Scaglione and Hong conducted more practical experiments insystems of nonidentical devices [101]. They analyzed the convergence ratetowards synchrony in an experimental setup where devices had slight vari-ations in their intrinsic frequencies. Their experimental setup consisted ofa set of 80 fully connected devices with "ı,| = 0.1/N, 8ı8| 2 {1, · · · , N} andfrequencies randomly chosen with a uniform distribution within the interval[0.9, 1.1]. They observed that the convergence to synchrony occurred whenthe variation in frequency of every device was of a modest amount such thatthe coupling from other devices could overcome these di↵erences in deviceintrinsic frequencies.

In M2M systems device intrinsic frequencies are not necessarily alwaysdistributed within a narrow frequency window. Moreover, we cannot ran-domly choose their intrinsic frequencies, but they depend on how devices weremanufactured. As more heterogeneous devices are introduced in M2M sys-tems, it becomes more likely that their intrinsic frequencies will di↵er more.Consequently, we cannot rely on most of the aforementioned mathematicalmodels since their conjectures were that oscillator intrinsic frequencies weredistributed in a narrow frequency window. We are also not always satisfiedto be able to achieve only instantaneous synchronization as proposed in [96].

Therefore, in 2013 Bojic extended the pulse coupled oscillator model with

26

Page 28: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

a dynamic frequency adjustment mechanism [17]. Her work was based onwork done by Ermentrout back in 1991 [102]. He worked on the phase cou-pled oscillator model where he firstly investigated a phase locking in systemsof fully connected oscillators with intrinsic frequencies randomly varied insome interval [86], and afterwards he proposed an adaptive phase coupledoscillator model. From a mathematical point of view, it is easier to workon the phase coupled oscillator model than on the pulse couple oscillatormodel, because former is a continuous model. However, this model is notapplicable for implementation in any kind of real-world environments. In herdoctoral thesis [47], Bojic showed that in M2M systems consisting of LibeliumWaspmote sensors [103], time synchronization could not be achieved withouther dynamic frequency adjustment mechanism. Namely, when the proposedmechanism was not used, time synchronization precision was very low andthus time synchronization was not achieved. Moreover, since the mechanismis dynamic, it allows new devices who join the M2M system during the timesynchronization process (i.e., during synchronization convergence time) tosynchronize with the rest of the system.

4.2. Pulse coupled oscillator model with communication delays

Communication delays and message losses are present and inevitable inany real-world environment. Moreover, communication delays are most of thetime nondeterministic, thus hard to predict and to compensate for. Mirolloand Strogatz did not take communication delays into the consideration whenproposing their mathematical model [38] and that was one of the limitingfactors when wanting to apply their model to real-world environments. How-ever, their work was later on extended by many other scholars (e.g., Ernst etal. [104, 105]) by introducing communication delays into the pulse coupledoscillator model.

4.2.1. Oscillators with communication delays in theory

In 1995 Ernst et al. [104] defined a communication delay ⌧ as time be-tween firing of one oscillator and reaction of the other oscillator. This wasin the contrary to the model proposed by Mirollo and Strogatz who as-sumed that the transmission speed of an oscillator pulse is infinite. Ernstet al. investigated excitatory and inhibitory coupling, showing that oscilla-tors with communication delays exhibit a clustering e↵ect and not the realsynchrony. In systems of oscillators with communication delays, the formedclusters were stable for some time, but then afterwards became unstable. For

27

Page 29: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

two inhibitory coupled oscillators with delays, optimum synchronizaion wasobtained. In their paper from 1998 [105] Ernst et al. showed that the statevariable lag between the two oscillators is proportional to communication de-lays. Moreover, they showed that oscillators synchronize within several firinggroups when inhibitory coupling is used (i.e., multi-stable phase clustering).

In [106] authors introduced a refractory period that stabilized the system.Namely, communication delays in the system can cause an echo e↵ect thatdestabilizes the time synchronization process. The firing of one oscillatorcauses the other oscillator to fire and transmit immediately after the com-munication delay ⌧ . This echo then causes the first oscillator to increment itsstate variable and transmit again after the communication delay ⌧ . This pro-cess continues then to infinity and consequently time synchronization cannotbe achieved. In order to avoid that, Mathar and Mattfeldt [106] proposedthe refractory period as time during which an oscillator does not react to thepulse of another one, similarly to how a neuron enters a refractory state afterfiring. They showed that every oscillator should be in this period within time[0, 2⌧i after its own firing. Afterwards, the idea of a refractory period hasbeen widely used by many other scholars [107, 108, 109, 99]. Klinglmayr etal. [99] proved that their previously mentioned inhibitory model would reachan asymptotically stable phase locking from arbitrary initial conditions, witha precision depending on the coupling strength and the maximum communi-cation delay in the system. Zeitler et al. [110] studied the e↵ect of asymmetryin inhibitory couplings between oscillators with delays, and showed that sym-metry was a prerequisite to obtain perfect synchrony.

As opposed to all the aforementioned, in 2004 Atay et al. [111] wrote apaper claiming that communication delays do not always have to be a neg-ative thing for a time synchronization process. They showed that in somecases, systems with communication delays can synchronize more easily thansystems without communication delays. Their conclusion was that scale-free13 and random systems are capable of becoming synchronized despite thedelayed flow of information, whereas regular systems with nearest-neighborconnections and their small-world14 variants exhibit poor time synchroniza-tion. They also showed that communication delays determined time syn-chronization dynamics which led to the emergence of a wide range of new

13More about scale-free systems can be found in [112].14More about small-world systems can be found in [113].

28

Page 30: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

collective behaviors that individual units were not capable of producing whenalone.

4.2.2. Devices with communication delays in practice

In most of the papers on communication delays in theory (e.g., [104, 105,114]) the e↵ect of delays was considered under the unrealistic assumption of aconstant propagation delay between all oscillators. However, communicationdelays are not deterministic in homogeneous systems, let alone in hetero-geneous M2M systems. To better understand the nature of communicationdelays, Tyrrell et al. [115] define four types of communication delays thatneed to be taken into account when modeling the synchronization strategyfor real-world environments:

• propagation delay,

• transmitting delay,

• decoding delay and

• refractory delay.

The propagation delay is time taken for a synchronization message topropagate from the emitting device to the receiving device and it is pro-portional to the distance between two devices. The transmitting delay isproportional to the length of the synchronization message, while the decod-ing delay is time taken by the receiver to properly identify the emissionsof the synchronization message. Finally, the refractory delay is time duringwhich no state variable increment caused by the other oscillators is possi-ble. This time is necessary to introduce after transmitting to maintain thestability.

In 2010 Tyrrell et al. [116] proposed a mechanism for time synchronizationcalled Meshed Emergent Firefly Synchronization that was designed to beused on medium access control (i.e., data) layers in wireless networks. Bytaking into an account previously defined types of communication delaysand introducing waiting time, their mechanism was applicable in real-worldenvironments. The performance of their mechanism was evaluated againstthe scalability with respect to the system size, the adaptability with respectto di↵erent system connectivities, and the robustness in case of unreliabledetection of synchronization messages.

29

Page 31: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

Although the proposed mechanism had a high precision15, it was imple-mented on a data layer and consequently cannot be used in M2M systems.Moreover, the problem of nondeterministic communication delays is evenmore emphasized in M2M systems than it is in wireless homogeneous sys-tems since in M2M systems devices can be connected through communicationtechnologies with di↵erent average propagation delays.

In order to increase the precision of her synchronization mechanism, inher thesis Bojic [47] proposed to use ping messages. The concept of pingmessages is similar to the “real” concept of ping messages used in InternetControl Message Protocol16. Namely, each device in an M2M system fromtime to time sends ping messages to its neighbors using all available commu-nication technologies. Every device that receives a ping message, replies onit. Then the first device measures the round trip and calculates the averagepropagation delay for each communication technology it has.

After a device has the required information on average communicationdelays for all available communication technologies, every time when it re-ceives a synchronization message, it compensates for the calculated averagedelay depending on the used communication technology. Since her synchro-nization mechanism is implemented on an application layer, her mechanismcannot distinguish di↵erent types of delays defined by Tyrrell et al. [115].It can only calculate the average total delay for exchanged synchronizationmessages depending on the used communication technology. Consequently,this means that the achieved time synchronization precision is lower than forthe mechanism proposed in [116].

4.3. Pulse coupled oscillator model with mobile oscillators

Oscillator mobility can be classified into three categories:

• a new oscillator joins the system,

• an old oscillator leaves the system and

• an existing oscillator changes its position within the system.

15More about the precision of the proposed mechanism can be found in [117].16More about Internet Control Message Protocol can be found in the following RFC

[118].

30

Page 32: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

The pulse coupled oscillator model is inherently robust to situations inwhich old oscillators leave systems, since oscillators do not store informationabout their neighbors. Consequently, when some old oscillator leaves thesystem, other oscillators do not notice that. Moreover, Lucarelli and Wang[83] showed that oscillators could change their position in the system as longas they still formed a connected graph. However, if systems are continuouslyevolving due to devices joining and leaving the system, then the e↵ect ofmobility can have a negative e↵ect on the time synchronization process. Theprocess of devices joining and leaving the system is also called a churn17.

4.3.1. Mobile oscillators in theory

If a churn rate is low, then it does not a↵ect the time synchronizationprocess. However, if a churn rate is excessive, then it can jeopardize the timesynchronization process. What happens when this rate is high in systems ofpulse coupled oscillators, was investigated by Babaoglu et al. in 2007 [120].They simulated a churn by “killing” a given percentage of oscillators at eachtime synchronization cycle, and substituting them with the new ones. Inother words, the size of the system remained constant, while its composi-tion changed. In order to overcome the problem of excessive churns, theymodified their model by adding a listening period for oscillators who justjoined the system. During that constant period of time, new oscillators didnot send their pulses, but only reacted to the reception of pulses of the otheroscillators. In [121] Klinglmayr et al. showed that inhibitory coupling outper-formed excitatory coupling in dynamic systems of pulse coupled oscillatorsusing their instantaneous self-coupling model.

Lucarelli and Wang [83] gave a very strict limitation of partly connectedoscillators that wanted to become synchronized: they had to form a con-nected graph. However, when oscillators are mobile, this assumption can berelaxed a little bit. In 2010 Puerta et al. [122] showed that mobility could notonly contribute to faster convergence of a time synchronization process, butalso enable oscillators that did not form a connected graph to become syn-chronized. Namely, when oscillators in the system do not form a connectedgraph, there exists groups of oscillators that are mutually partly connected,but not connected with other groups of oscillators. If oscillators are immo-bile, then information about time synchronization cannot be passed between

17More about the e↵ect of a churn in distributed systems can be found in [119].

31

Page 33: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

those groups of oscillators and consequently they cannot achieve time syn-chronization together. However, if there are oscillators who change theirpositions between those groups of not mutually connected oscillators, theninformation about time synchronization can be exchanged between them andconsequently they can achieve time synchronization.

4.3.2. Mobile devices in practice

Bojic’s [47] mechanism for dynamic frequency adjustment allowed newdevices to become synchronized with the rest of the system no matter theirintrinsic frequencies. This however, was only as long as they joined thesystem during the time synchronization process. Once when time synchro-nization was achieved, new devices could not become synchronized with theother devices since the synchronization frequency was on demand.

On the other hand, Tyrrell et al. [116] proposed a synchronization mecha-nism that was always used. Their proposal was in contrast to a clear distinc-tion made in the aforementioned synchronization mechanisms, between theacquisition phase during which devices became synchronized, and the com-munication phase during which devices transmitted and received useful data.Since most scholars separated those two phases, in their work once when theacquisition phase was over, after time synchronization lifetime expired, thesystem was not synchronized any more. However, in very dynamic environ-ments, such as mobile ad hoc systems, a physical connectivity is changingconstantly which means that the acquisition phase needs to be repeated on aregular basis. For this reason, Tyrrell et al. [116] proposed the mitigation ofthe acquisition phase by integrating time synchronization into the commu-nication phase. Consequently, time synchronization emerged while deviceswere transmitting and receiving useful data.

4.4. Pulse coupled oscillator model with faulty oscillators

Until now we have assumed that all oscillators in the system are equalin the sense that they want to become synchronized with the rest of thesystem. However, it does not always have to be the case. In this section wewill allow oscillators to be faulty. The primary goal of faulty oscillators isto desynchronize the rest of the system. In the literature faulty entities thatbehave arbitrarily are also called Byzantine nodes18.

18More about Byzantine nodes can be found in [123].

32

Page 34: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

4.4.1. Faulty oscillators in theory

Leidenfrost et al. [124] proposed a mechanism for a fault-tolerant aver-aging that could ensure time synchronization even in cases when there werealmost 20% of faulty oscillators in the system (i.e., the number of non faultyoscillators n had to be n � 5f+1 where f denoted the number of faulty oscil-lators in the system). Their model is based on Reachback Firefly Algorithmproposed in [125]. Namely, in [125] Werner-Allen et al. proposed that thepulse coupled oscillator model was adjusted in such a way that each oscillatordid not react on the pulse of the other oscillator immediately, but only onthe end of each time synchronization cycle. During the time synchronizationcycle, it only stored information about the received pulses, and then at theend of its cycle decided how to react on the collected pulses.

In [126] authors modeled a faulty oscillator as follows: it neither transmit-ted its pulses periodically nor reacted to the received pulses from the otheroscillators, but transmitted its pulses randomly without any predefined timeslot structure. Pulses of faulty oscillators were transmitted following a Pois-son distribution which is known to maximize the entropy in the system [127],and thus seemed as a natural choice for a faulty oscillator to choose in orderto disrupt synchrony. Their conclusion was that when increasing the couplingconstant value "ı,|, the impact of the random transmissions was minimized.Moreover, they showed that their mechanism was less a↵ected by the randomtransmission of pulses when they were transmitted more often.

The previously mentioned model developed by Klinglmayr et al. [100]was shown to be robust against faulty oscillators. However, the robustnessstrongly depended on the system parameters. In [128] Klinglmayr and col-leagues introduced yet another model for pulse coupled oscillators using bothexcitatory and inhibitory couplings. The current phase of a receiving oscil-lator would determine the direction of the phase shift. Using their approach,oscillators are able to reach synchrony in environments of unreliable pulseemissions, modeled by occasionally preventing oscillators from firing.

4.4.2. Faulty devices in practice

In her doctoral thesis Bojic [47] proposed to use a simple cryptographicmechanism to protect synchronization messages exchanged among devicesin M2M systems. The cryptographic key used in the proposed mechanismwas pre-provisioned meaning that every device in the system had it before

33

Page 35: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

the time synchronization process started19. This key was then used for theXOR operation together with the synchronization message. She showed thatthis simple mechanism did not a↵ect synchronization convergence time neg-atively and could improve the time synchronization precision. However, herapproach lacked from mechanisms for protection against jamming attacks[129, 130], as well as Sybil attacks [131, 132].

5. Conclusions

Applications in distributed systems can be generally classified into twocategories: specific purpose applications (e.g., collecting data about river wa-ter levels) and generic purpose applications (e.g., identification of new de-vices). The specific purpose applications usually use services that are pro-vided by the generic purpose applications. In this paper we focus on a genericpurpose application in Machine-to-Machine (M2M) systems that provides aservice for achieving time synchronization. After proposing a taxonomy thatcould be used in M2M systems and using the taxonomy to classify the mostpopular synchronization mechanisms, we concluded that the synchronizationmechanism that used fireflies as role models had the best characteristics.

In nature fireflies are known to emit flashes at regular intervals whenisolated, while in a group they achieve time synchronization. In distributedsystems, firefly behavior is modeled with a pulse coupled oscillator model.This model can be used in M2M systems since every device can run an al-gorithm similar to the one run by fireflies in nature. Moreover, the pulsecoupled oscillator model is said to be robust, scalable and adaptive, all ofwhich are important in M2M systems. In 1990 Mirollo and Strogatz provedthat time synchronization of oscillators could be achieved using the pulsecoupled oscillator model [38]. However, their model was not directly ap-plicable in real-world environments since it did not take into considerationnonidentical, faulty and mobile oscillators nor communication delays thatoccurred in communication among the oscillators.

When it comes to nonidentical oscillators, there is still no theoreticalproof that they can achieve synchrony. However, the closest they can get isto achieve instantaneous synchronization under certain conditions. In M2Msystems devices can become synchronized with a synchronization window

19The exact way how that was possible was out of scope from her work.

34

Page 36: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

that is nonzero when using a dynamic frequency adjustment mechanism.Moreover, it was shown on a multiple occasions that faulty oscillators cancontribute to desynchronization. Namely, no matter how they are modeled,they have a common goal - do not allow synchronization of oscillators ordevices in the system. One way of dealing with a limited number of casesof faulty devices is to use simple cartographic mechanisms that reduce theirnegative e↵ects.

Although the pulse coupled oscillator model is inherently robust to mo-bility of oscillators while time synchronization is run, it is susceptible to thee↵ect called churn when a larger group of old oscillators is substituted with anew group. Moreover, once when time synchronization process is over, newoscillators cannot join the system, except when this process is run always.Finally, communication delays are inevitable in real-world environments andhave very unfortunate consequences on time synchronization precision. Theyare the reason why rather than always react on other oscillators’ pulses, intheory when investigating systems with delays, scholars use refractory time.However, this improvement is not su�cient for real-world systems as delaysare nondeterministic and have di↵erent forms. In order to improve time syn-chronization precision in cases of uncertainty, it was proposed to use ”ping”messages to calculate in the average delays for di↵erent communication chan-nels.

Acknowledgment

This work was supported by ”Machine-to-Machine Communication chal-lenges” funded by Ericsson Nikola Tesla, Croatia, and the European UnionSeventh Framework Programme under grant agreement no. 257906 ”Engi-neering Proprioception in Computing Systems” (EPiCS).

References

[1] A. S. Tanenbaum, M. V. Steen, Synchronization, in: Distributed Sys-tems: Principles and Paradigms, Prentice Hall PTR, 2001.

[2] G. Coulouris, J. Dollimore, T. Kindberg, Time and Global States, in:Distributed Systems: Concepts and Design, Addison-Wesley LongmanPublishing Company Incorporation, 2005.

35

Page 37: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

[3] A. D. Kshemkalyani, M. Singhal, Logical Time, in: Distributed Com-puting: Principles, Algorithms, and Systems, Cambridge UniversityPress, 2008.

[4] International Telecommunication Union, TF.460: standard-frequencyand time-signal emissions (2002).

[5] B. Sundararaman, U. Buy, A. D. Kshemkalyani, Clock Synchronizationfor Wireless Sensor Networks: A Survey, Ad Hoc Networks 3 (3) (2005)281–323.

[6] B. Liskov, Practical uses of synchronized clocks in distributed systems,in: Proceedings of the tenth annual ACM symposium on Principles ofdistributed computing, 1991, pp. 1–9.

[7] D. S. Watson, M. A. Piette, O. Sezgen, N. Motegi, Machine to ma-chine (m2m) technology in demand responsive commercial buildings,in: ACEEE Summer Study on Energy E�ciency in Buildings, 2004,pp. 1–14.

[8] SingTel Machine-to-Machine (M2M), http://info.singtel.com/large-enterprise/about-m2m (visited on October 21, 2013).

[9] E. Darmois, O. Elloumi, Introduction to M2M, in: M2M communica-tions: a systems approach, John Wiley & Sons, 2012.

[10] B. Emmerson, M2M: the Internet of 50 billion devices, Win-Win (2010)19–22.

[11] V. Galetic, I. Bojic, M. Kusek, G. Jezic, S. Desic, D. Huljenic, Ba-sic principles of machine-to-machine communication and its impact ontelecommunications industry, in: Proceedings of the 34th InternationalConvention MIPRO, 2011, pp. 89–94.

[12] K. Chang, A. Soong, M. Tseng, Z. Xiang, Global wireless machine-to-machine standardization, IEEE Internet Computing 15 (2) (2011)64–69.

[13] European Telecommunications Standards Institute,http://www.etsi.org (visited on October 21, 2013).

36

Page 38: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

[14] 3rd Generation Partnership Project, http://www.3gpp.org (visited onOctober 21, 2013).

[15] S. Zrncic, I. Bojic, D. Katusic, P. Skocir, M. Kusek, G. Jezic, Quality-of-service in machine-to-machine service provisioning process, in: Pro-ceedings of the 21st International Conference on Software, Telecommu-nications and Computer Networks, 2013, pp. 1–5.

[16] D. Katusic, P. Skocir, I. Bojic, M. Kusek, G. Jezic, S. Desic, D. Hul-jenic, Universal identification scheme in machine-to-machine systems,in: Proceedings of the 12th International Conference on Telecommuni-cations, 2013, pp. 71–78.

[17] I. Bojic, M. Kusek, Self-synchronization of nonidentical machines inmachine-to-machine systems, in: Proceedings of the 7th InternationalConference on Self-Adaptive and Self-Organizing Systems, 2013, pp.265–266.

[18] ETSI, Machine-to-Machine communications (M2M); Functional archi-tecture (visited on October 21, 2013).

[19] ETSI, Machine-to-Machine communications (M2M); Service require-ments (visited on October 21, 2013).

[20] ETSI, Machine-to-Machine communications (M2M); Smart meteringuse cases (visited on October 21, 2013).

[21] ETSI, Machine-to-Machine communications (M2M); Use cases of M2Mapplications for eHealth (visited on October 21, 2013).

[22] ETSI, Machine-to-Machine communications (M2M); Use cases of M2Mapplications for connected consumer (visited on October 21, 2013).

[23] ETSI, Machine-to-Machine communications (M2M); Use cases of auto-motive applications in M2M capable networks (visited on October 21,2013).

[24] ETSI, Machine-to-Machine communications (M2M); Use cases of M2Mapplications for city automation (visited on October 21, 2013).

37

Page 39: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

[25] O. Elloumi, F. Scholler, M2m requirements and high-level architecturalprinciples, in: M2M Communications, John Wiley & Sons, Ltd, 2012,pp. 57–93.

[26] Y. R. Faizulkhakov, Time synchronization methods for wireless sensornetworks: a survey, Programming and computer software 33 (4) (2007)214–226.

[27] O. Simeone, U. Spagnolini, Y. Bar-Ness, , S. H. Strogatz, Distributedsynchronization in wireless networks, IEEE signal processing magazine25 (5) (2008) 81–97.

[28] R. Albu, Y. Labit, G. Thierry, B. Pascal, An energy-e�cient clocksynchronization protocol for wireless sensor networks, in: Proceedingsof the IFIP wireless days conference, 2010, pp. 1–5.

[29] S. Ganeriwal, R. Kumar, S. Adlakha, M. Srivastava, Network-widetime synchronization in sensor networks, UCLA NESL technical report(2003) 1–6.

[30] S. Ganeriwal, R. Kumar, Srivastava, M. Srivastava, Timing-sync pro-tocol for sensor networks, in: zborniku radova 1st international confer-ence on embedded networked sensor systems, 2003, pp. 138–149.

[31] M. Marti, B. Kusy, G. Simon, kos Ldeczi, The flooding time synchro-nization protocol, in: zborniku radova 2nd international conference onembedded networked sensor systems, 2004, pp. 39–49.

[32] M. Mock, R. Frings, E. Nett, S. Trikaliotis, Continuous clock synchro-nization in wireless real-time applications, in: zborniku radova IEEESymposium on Reliable Distributed Systems, 2000, pp. 125–132.

[33] J. Elson, L. Girod, D. Estrin, Fine-grained network time synchro-nization using reference broadcasts, SIGOPS operating systems review36 (SI) (2002) 147–163.

[34] Q. Li, D. Rus, Global clock synchronization in sensor networks, IEEETransactions on Computers 55 (2) (2006) 214–226.

[35] L. Schenato, G. Gamba, A distributed consensus protocol for clocksynchronization in wireless sensor network, in: zborniku radova 46thIEEE conference on decision and control, 2007, pp. 2289–2294.

38

Page 40: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

[36] L. Schenatoa, F. Fiorentin, Average TimeSynch: a consensus-basedprotocol for time synchronization in wireless sensor networks, Auto-matica 47 (9) (2011) 1878–1886.

[37] C. S. Peskin, Mathematical Aspects of Heart Physiology, Courant In-stitute of Mathematical Sciences, New York University, 1975.

[38] R. E. Mirollo, S. H. Strogatz, Synchronization of Pulse-Coupled Biolog-ical Oscillators, SIAM Journal on Applied Mathematics 50 (6) (1990)1645–1662.

[39] S. Van Vorhis Key, T. Baker, Trail-following responses of the argentineant,iridomyrmex humilis (mayr), to a synthetic trail pheromone com-ponent and analogs, Journal of Chemical Ecology 8 (1) (1982) 3–14.

[40] K. Von Frish, The dancing bees, A Harvest, 1953.

[41] J. Buck, E. Buck, Mechanism of Rhythmic Synchronous Flashing ofFireflies, Science 159 (3821) (1968) 1319–1327.

[42] K. D., An idea based on honey bee swarm for numerical optimization,Tech. rep., Erciyes University, Engineering Faculty, Computer Engi-neering Department (2005).

[43] V. M. M. Dorigo, A. Colorni, Positive feedback as a search strategy,Tech. rep., Politecnico di Milano, Dipartimento di Elettronica (1991).

[44] Y. Kuramoto, Self-Entrainment of a Population of Coupled Non-LinearOscillators 39 (1975) 420–422.

[45] W. H. F., F. M., Beeadhocan energy-aware scheduling and routingframework, Tech. rep., University of Dortmund, School of ComputerScience (2004).

[46] G. D. Caro, F. Ducatelle, L. M. Gambardella, Anthocnet: An adap-tive nature-inspired algorithm for routing in mobile ad hoc networks,European transactions on telecommunications 16 (2005) 443–455.

[47] I. Bojic, Self-organizing synchronization in machine-to-machine com-munication systems based on a pulse-coupled oscillators model, Ph.D.thesis, University of Zagreb, Faculty of Electrical Engineering andComputing (2013).

39

Page 41: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

[48] F. Dressler, O. B. Akan, A Survey on Bio-Inspired Networking, Com-puter Networks 54 (6) (2010) 881–900.

[49] M. Meisel, V. Pappas, L. Zhang, A Taxonomy of Biologically InspiredResearch in Computer Networking, Computer Networks 54 (6) (2010)901–916.

[50] T. Nakano, Biologically Inspired Network Systems: A Review and Fu-ture Prospects, IEEE Transactions on Systems, Man, and Cybernetics,Part C: Applications and Reviews 41 (5) (2011) 630–643.

[51] S. Camazine, J. L. Deneubourg, N. Franks, J. Sneyd, G. Theraulaz,E. Bonabeau, Self-Organization in Biological Systems, Princeton Uni-versity Press, 2001.

[52] C. Prehofer, C. Bettstetter, Self-Organization in Communication Net-works: Principles and Design Paradigms, IEEE Communications Mag-azine 43 (7) (2005) 78–85.

[53] M. Schillo, Self-Organization and Adjustable Autonomy: Two Sides ofthe Same Medal?, Connection Science 14 (4) (2003) 345–359.

[54] K. L. Mills, A Brief Survey of Self-Organization in Wireless Sensor Net-works, Wireless Communications and Mobile Computing 7 (7) (2007)823–834.

[55] W. Elmenreich, R. D’Souza, C. Bettstetter, H. Meer, A survey ofmodels and design methods for self-organizing networked systems, in:Proceedings of the 4th IFIP TC 6 International Workshop on Self-Organizing Systems, 2009, pp. 37–49.

[56] H. P. Thien, M. A. Moelyadi, H. Muhammad, E↵ects of Leaders Po-sition and Shape on Aerodynamic Performances of V Flight Forma-tion, in: Proceedings of the International Conference on IntelligentUnmanned System, 2007, pp. 43–49.

[57] B. Heinrich, H. Esch, Thermoregulation in Bees, American Scientist82 (2) (1994) 164–170.

[58] D. Attenborough, BBC Trials of Life: Talking to Strangers (1990).

40

Page 42: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

[59] J. Dye, Ionic and Synaptic Mechanisms Underlying a Brainstem Os-cillator: An in Vitro Study of the Pacemaker Nucleus of Apteronotus,Journal of Comparative Physiology A: Neuroethology, Sensory, Neural,and Behavioral Physiology 168 (5) (1991) 521–532.

[60] A. Sherman, J. Rinzel, Model for Synchronization of Pancreatic Beta-Cells by Gap Junction Coupling, Biophysical Journal 59 (3) (1991)547–559.

[61] M. K. McClintock, Menstrual Synchrony and Suppression, Nature229 (5282) (1971) 244–245.

[62] D. Milne, Govt Blows Your Tax $$ to Study Fireflies in Borneo-Not aBright Idea!, National Enquirer (1993) 23–23.

[63] S. Floyd, V. Jacobson, The synchronization of periodic routing mes-sages, IEEE-ACM Transactions on Networking 122–136 (1994) 23–23.

[64] J. Buck, E. Buck, Biology of Synchronous Flashing of Fireflies, Nature211 (5049) (1966) 562–564.

[65] D. Otte, J. Smiley, Synchrony in Texas Fireflies with a Considerationof Male Interaction Models, Biology of Behaviour 2 (1977) 143–158.

[66] J. Buck, Synchronous Rhythmic Flashing of Fireflies. II., The QuarterlyReview of Biology 63 (3) (1988) 265–289.

[67] K. G. Blair, Luminous Insects, Nature 96 (2406) (1915) 411–415.

[68] E. S. Morse, Fireflies Flashing in Unison, Science 43 (1101) (1916)169–170.

[69] E. S. Morse, Fireflies Flashing in Unison, Science 44 (1133) (1916)387–388.

[70] F. A. McDermott, Flashing of Fireflies, Science 44 (1139) (1916) 610–610.

[71] H. A. Allard, The Synchronal Flashing of Fireflies, Science 44 (1142)(1916) 710–710.

41

Page 43: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

[72] W. Craig, Synchronism in the Rhythmic Activities of Animals, Science44 (1144) (1917) 784–786.

[73] P. Laurent, The Supposed Synchronal Flashing of Fireflies, Science45 (1150) (1917) 44–44.

[74] F. C. Gates, Synchronism in the Flashing of Fireflies, Science 46 (1187)(1917) 314–314.

[75] G. H. Hudson, Concerted Flashing of Fireflies, Science 48 (1249) (1918)573–575.

[76] E. W. Gudger, A Historical Note on the Synchronous Flashing ofFireies, Science 50 (1286) (1919) 188–190.

[77] J. Buck, Synchronous Rhythmic Fashing of Firefies, Quarterly Reuiewof Biology 12 (1938) 301–314.

[78] H. M. Smith, Synchronous Flashing of Fireflies, Science 82 (2120)(1935) 151–152.

[79] C. A. Richmond, Fireflies Flashing in Unison, Science 71 (1847) (1930)537–538.

[80] J. F. Case, F. E. Hanson, The luminous world of john and elisabethbuck, Integrative and Comparative Biology 44 (3) (2004) 197–202.

[81] N. Wiener, Nonlinear Problems in Random Theory, The TechnologyPress of MIT and Wiley, 1958.

[82] A. T. Winfree, Biological Rhythms and the Behavior of Populationsof Coupled Oscillators, Journal of Theoretical Biology 16 (1) (1967)15–42.

[83] D. Lucarelli, I.-J. Wang, Decentralized Synchronization Protocols withNearest Neighbor Communication, in: Proceedings of the InternationalConference on Embedded Networked Sensor Systems, 2004, pp. 62–68.

[84] Y. Kuramoto, Chemical Oscillations, Waves, and Turbulence, Springer,1984.

42

Page 44: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

[85] G. B. Ermentrout, N. Kopell, Frequency Plateaus in a Chain of WeaklyCoupled Oscillators 15 (2) (1984) 215–237.

[86] G. B. Ermentrout, Synchronization in a pool of mutually coupled oscil-lators with random frequencies, Journal of Mathematical Biology 22 (1)(1985) 1–9.

[87] T. Bojic, Iva; Lipic, V. Podobnik, Bio-inspired Clustering and DataDi↵usion in Machine Social Networks, in: omputational Social Net-works: Mining and Visualization, Springer Verlag, 2012, pp. 51–79.

[88] S. H. Strogatz, Sync: The Emerging Science of Spontaneous Order.

[89] W. S. McCulloch, W. Pitts, A logical calculus of the ideas immanent innervous activity, The bulletin of mathematical biophysics 5 (4) (1943)115–133.

[90] L. Abbott, C. van Vreeswijk, Asynchronous states in networks of pulse-coupled oscillators, Physical Review E 48 (2) (1993) 1483–1490.

[91] C. Van Vreeswijk, L. Abbott, G. B. Ermentrout, When inhibition notexcitation synchronizes neural firing, Journal of computational neuro-science 1 (4) (1994) 313–321.

[92] M. Timme, F. Wolf, T. Geisel, Coexistence of regular and irregulardynamics in complex networks of pulse-coupled oscillators, Physicalreview letters 89 (25) (2002) 258701.

[93] I. Bojic, M. Kusek, G. Jezic, Performance issues of firefly-based syn-chronization in machine-to-machine systems, New Generation Com-puting (in press) 1–22.

[94] I. Bojic, J. Granjal, E. Monteiro, D. Katusic, P. Skocir, M. Kusek,G. Jezic, Communication and security in machine-to-machine systems,in: Wireless Networking for Moving Objects, Springer, 2014, pp. 255–281.

[95] R. Urbanczik, W. Senn, Similar non-leaky integrate-and-fire neuronswith instantaneous couplings always synchronize, SIAM Journal of Ap-plied Mathematics 61 (4) (2001) 1143–1155.

43

Page 45: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

[96] Z. An, H. Zhu, X. Li, C. Xu, Y. Xu, X. Li, Nonidentical linear pulse-coupled oscillators model with application to time synchronization inwireless sensor networks, Industrial Electronics, IEEE Transactions on58 (6) (2011) 2205–2215.

[97] S. Bottani, Pulse-coupled relaxation oscillators: From biological syn-chronization to self-organized criticality, Phys. Rev. Lett. 74 (1995)4189–4192.

[98] A. Mauroy, R. Sepulchre, Clustering behaviors in networks of integrate-and-fire oscillators, Chaos 18 (3) (2008) 037122–1–037122–8.

[99] J. Klinglmayr, C. Bettstetter, M. Timme, Globally stable synchroniza-tion by inhibitory pulse coupling, in: Applied Sciences in Biomedicaland Communication Technologies, 2009. ISABEL 2009. 2nd Interna-tional Symposium on, 2009, pp. 1–4.

[100] J. Klinglmayr, C. Bettstetter, Self-organizing synchronization withinhibitory-coupled oscillators: convergence and robustness, ACMTransactions on autonomous and adaptive systems 7 (3) (2012) 1–22.

[101] Y.-W. Hong, A. Scaglione, A scalable synchronization protocol for largescale sensor networks and its applications, Selected Areas in Commu-nications, IEEE Journal on 23 (5) (2005) 1085–1099.

[102] B. Ermentrout, An adaptive model for synchrony in the firefly pterop-tyx malaccae, Journal of Mathematical Biology 29 (6) (1991) 571–585.

[103] Libelium website, http://www.libelium.com/ (visited on October 21,2013).

[104] U. A. Ernst, K. R. Pawelzik, T. Geisel, Synchronization induced bytemporal delays in pulse-coupled oscillators, Physical Review Letters74 (9) (1995) 1570–1573.

[105] U. Ernst, K. Pawelzik, T. Geisel, Delay-Induced Multistable Synchro-nization of Biological Oscillators, Physical Review E 57 (2) (1998)2150–2162.

[106] R. Mathar, J. Mattfeldt, Pulse-coupled decentral synchronization,SIAM J. Appl. Math. 56 (4) (1996) 1094–1106.

44

Page 46: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

[107] V. Kirk, E. Stone, E↵ect of a refractory period on the entrainment ofpulse-coupled integrate-and-fire oscillators, Physics Letters A 232 (12)(1997) 70–76.

[108] E. M. Izhikevich, Weakly pulse-coupled oscillators, fm interactions,synchronization, and oscillatory associative memory, IEEE Transac-tions on Neural Networks 10 (3) (1999) 508–526.

[109] A. Tyrrell, G. Auer, Imposing a reference timing onto firefly synchro-nization in wireless networks, in: 65th IEEE Vehicular Technology Con-ference, 2007, pp. 222–226.

[110] M. Zeitler, A. Da↵ertshofer, C. Gielen, Asymmetry in pulse-coupledoscillators with delay, Physical Review E 79 (6) (2009) 065203.

[111] F. M. Atay, J. Jost, A. Wende, Delays, connection topology, andsynchronization of coupled chaotic maps, Phys. Rev. Lett. 92 (2004)144101.

[112] A.-L. Barabasi, R. Albert, H. Jeong, Scale-free characteristics of ran-dom networks: the topology of the world-wide web, Physica A: Statis-tical Mechanics and its Applications 281 (1) (2000) 69–77.

[113] D. J. Watts, S. H. Strogatz, Collective dynamics of ”small-world” net-works, Nature 393 (6684) (1998) 440–442.

[114] W. Gerstner, Rapid phase locking in systems of pulse-coupled oscilla-tors with delays, Physical review letters 76 (10) (1996) 1755.

[115] A. Tyrrell, G. Auer, C. Bettstetter, Fireflies as role models for synchro-nization in ad hoc networks, in: Proceedings of the 1st internationalconference on Bio inspired models of network, information and com-puting systems, 2006.

[116] A. Tyrrell, G. Auer, C. Bettstetter, Emergent slot synchronizationin wireless networks, Mobile Computing, IEEE Transactions on 9 (5)(2010) 719–732.

[117] A. Tyrrell, G. Auer, C. Bettstetter, On the accuracy of firefly synchro-nization with delays, in: First International Symposium on AppliedSciences on Biomedical and Communication Technologies, 2008, pp.1–5.

45

Page 47: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

[118] RFC 792: Internet Control Message Protocol,http://www.ietf.org/rfc/rfc792.txt (1981).

[119] P. B. Godfrey, S. Shenker, I. Stoica, Minimizing churn in distributedsystems, in: Proceedings of the 2006 conference on Applications, tech-nologies, architectures, and protocols for computer communications,2006, pp. 147–158.

[120] O. Babaoglu, T. Binci, M. Jelasity, A. Montresor, Firefly-inspiredheartbeat synchronization in overlay networks, in: Proceedings of theFirst International Conference on Self-Adaptive and Self-OrganizingSystems, 2007, pp. 77–86.

[121] J. Klinglmayr, C. Bettstetter, Synchronization of inhibitory pulse-coupled oscillators in delayed random and line networks, in: 3rd In-ternational Symposium on Applied Sciences in Biomedical and Com-munication Technologies, 2010, pp. 1–5.

[122] G. Puerta, E. Aguirre, M. Alzate, E↵ects of topology and mobility inbio-inspired synchronization of mobile ad hoc networks, in: Commu-nications (LATINCOM), 2010 IEEE Latin-American Conference on,2010, pp. 1–6.

[123] L. Lamport, R. Shostak, M. Pease, The Byzantine generals Problem,ACM Transactions on Programming Languages and Systems 4 (3)(1982) 382–401.

[124] R. Leidenfrost, W. Elmenreich, C. Bettstetter, Fault-tolerant averagingfor self-organizing synchronization in wireless ad hoc networks, in: In-ternational symposium on wireless communication systems, 2010, pp.721–725.

[125] G. Werner-Allen, G. Tewari, A. Patel, M. Welsh, R. Nagpal, Firefly-Inspired Sensor Network Synchronicity with Realistic Radio E↵ects, in:Proceedings of the International Conference on Embedded NetworkedSensor Systems, 2005, pp. 142–153.

[126] A. Tyrrell, G. Auer, C. Bettstetter, R. Naripella, How does a faultynode disturb decentralized slot synchronization over wireless networks?,in: IEEE International conference on communications, 2010, pp. 1–5.

46

Page 48: This paper might be a pre-copy-editing or a post-print author …senseable.mit.edu/papers/pdf/20151031_Bojic_Nymoen... · 2015-09-18 · In computer science natural phenomena are

[127] J. Walrand, Entropy in communication and chemical systems, in: FirstInternational Symposium on Applied Sciences on Biomedical and Com-munication Technologies, 2008, pp. 1–5.

[128] J. Klinglmayr, C. Kirst, C. Bettstetter, M. Timme, Guaranteeingglobal synchronization in networks with stochastic interactions, NewJournal of Physics 14 (2012) 073031.

[129] M. Li, I. Koutsopoulos, R. Poovendran, Optimal jamming attacks andnetwork defense policies in wireless sensor networks, in: IEEE Interna-tional conference on computer communications, 2007, pp. 1307–1315.

[130] M. Li, I. Koutsopoulos, R. Poovendran, Optimal jamming attackstrategies and network defense policies in wireless sensor networks,IEEE Transactions on mobile computing 9 (8) (2010) 1119–1133.

[131] J. Douceur, The Sybil attack, in: Peer-to-Peer systems, 2002, pp. 251–260.

[132] J. Newsome, E. Shi, D. Song, A. Perrig, The sybil attack in sensornetworks: analysis & defenses, in: International symposium on infor-mation processing in sensor networks, 2004, pp. 259–268.

47