VIEWS: 2 PAGES: 12 POSTED ON: 9/7/2012 Public Domain
A Bayesian Approach for Disconnection Management in Mobile Ad-hoc Networks Massimiliano de Leoni, Shah Rukh Humayoun, Massimo Mecella, Ruggero Russo Dipartimento di Informatica e Sistemistica a SAPIENZA – Universit` di Roma Via Ariosto, 25 - Roma (Italy) {deleoni,humayoun,mecella,russo}@dis.uniroma1.it Abstract Mobile Ad-hoc Networks are used in many scenarios (e.g., emergency management) for supporting collab- orative work of operators. But this requires either (i) continuous connections, or at least (ii) the possibility to foresee that a device is going out and disconnecting. Therefore a basic problem is how to predict the possible disconnections of devices, in order to let the upper layers appropriately address connection anomalies (e.g., either taking global remedial actions to maintain the network connected, or local ones to let the disconnecting device to go on for some time with its own work, e.g., cache important data needed for the following activities). In this paper we present a bayesian approach to predict disconnections in MANETs, and validating experimental results that show the viability of the approach. Keywords: disconnection prediction, mobile ad hoc networks, cooperative work. 1 Introduction critical information it is storing that is crucial for the other nodes (so to let them working); A Mobile Ad hoc NETwork (MANETs) is a peer-to-peer global disconnection management – where the (P2P) network of mobile nodes capable to communi- nodes together coordinate, e.g., through an appropri- cate with each other without an underlying infrastruc- ate Process Management System [6] to be hosted on a ture. Nodes can communicate with their own neighbors “leader device”. Such a device acts as a central server (i.e., nodes in radio-range) directly by wireless links. and rearranges nodes in a new conﬁguration in which Anyway, non-neighbor nodes can anyway communicate none is going to disconnect. by using other intermediate nodes as relays, which for- This paper introduces a new technique that permits ward packets toward destinations. The lack of a ﬁxed to predict when MANET nodes are going to disconnect infrastructure makes this kind of network suitable in all from all of others and to become isolated. According scenarios where it is needed to deploy quickly a network to the classiﬁcation proposed in [17, 18], coordination but the presence of access points is not guaranteed. Ex- can be viewed as being divided into three layers, each amples are military applications, and more recently, per- depending on those below: (i) communication, (ii) col- vasive systems for process management [13]. laboration and (iii) coordination. The lowest layer al- In order to guarantee the coordination and data ex- lows information sharing; collaboration permits partici- change the nodes should be aware of the moment when pants to collectively establish the shared goals; the latter they are going to disconnect from their MANETs (i.e., ensures to enact collaborative actions to achieve shared there is not any neighbor – node in the radio range – to goals as efﬁciently as possible. which node is connected). Indeed, if nodes are alerted According to this classiﬁcation, predicting discon- about probable disconnections, some remedial actions nections can be categorized as part of the commu- can be enacted: nication layer. Indeed, without predicting and han- local disconnection management – That is the dling disconnections, MANET communication would node can take autonomous – not requiring coordination not work and, consequently, collaboration and coordi- with other nodes – remedial actions, e.g., to cache some nation would be impossible data that are needed for other tasks to be carried out The rest of the paper is structured as follows. This while disconnected, or to disseminate to other nodes the section ends by illustrating an example about global 1 disconnection management where disconnection predic- by an underlying P2P network. Indeed, each and ev- tion may make sense. ery headquarter exports data and their schema. Then, Section 2 illustrates our approach: after sketching all these data sources are integrated in order to create a the assumptions and some basis of Bayesian ﬁltering, single “virtual” data source. It does not make difference it continues explaining how to predict when links fall to clients which servers actually provide those data. down. Finally, it ends by describing the algorithm for As a more concrete example, consider a scenario of building an estimated next connection graph. Such a archeological disaster/recovery: after an earthquake, a graph illustrates estimated MANET topology in the close team is sent to the hit area to evaluate the state of arche- future: nodes are MANET peers and arcs represent links ological sites and of precarious buildings; the goal is to that are estimated as active. draw a situation map to schedule restructuring jobs. A Section 3 describes OCTOPUS, the Virtual Environ- typical cooperative process to be enacted by the team ment that has been used as emulation platform during would be as shown in Figure 1(a) (depicted as a UML testing. Section 4 shows some technical details of the Activity Diagram). actual implementation where Section 5 describes the ex- The team leader has got installed speciﬁc periments and following results. The paper concludes hardware/software to connect to the back end to re- with Section 7 where we report ﬁnal comments in the trieve all previously stored data details, including a map light of results and discuss future progression of this of the site, the list of the most sensible objects located work. in the site, and precedent reports/materials, as well as to update the information about the emergency situation. 1.1 A Motivating Example The team is considered as an overall MANET, in We are currently working on an European-funded which the team leader’s device (requiring the most com- project, namely WORKPAD [3], that is in charge of de- putational power, therefore usually a laptop) coordinates signing and implementing a 2-level software infrastruc- the other team members devices, by providing suitable ture to support cooperative works in disaster manage- information (e.g., maps, sensible objects, etc.) and as- ment scenarios. In complex emergency scenarios, dif- signing activities. ferent teams, belonging to different organizations, need Team members are equipped with hand-held de- to collaborate. So, there exist the need of inter-team and vices (PDAs), which allow them to execute some op- intra-team coordination. The front-end level consists of erations but do not have too much computational power. several teams, whereas the back-end is formed by the Such operations, possibly provided through the support headquarters. A single front-end community is consti- of particular hardware (e.g., digital cameras, computa- tuted by the operators of a team, equipped with mobile tional power for image processing, main storage, clients devices, connected in an ad-hoc and peer-to-peer fash- for Geographic Information System, etc.), are offered ion, that carry on a process, in which the adaptiveness as software services to be coordinated. Team Member 1 to connection/task anomalies is fundamental. Opera- (using its device) could compile some speciﬁc question- tors may be humans or robots; therefore, teams may be naires (after a visual analysis of a building). This will be mixed. analyzed by the team leader to schedule next activities, Every human team member is equipped with hand- supported by speciﬁc softwares. Team Member 3 could held devices (PDAs) and communication technologies, take some pictures of the precarious buildings. Finally and is in charge of speciﬁc tasks. Team includes also Team Member 2 is in charge of speciﬁc image process- special robots, e.g., UAVs - Unmanned Aerial Vehicles, ing tasks on previous and recent pictures (e.g., for ﬁrst that are intended only to ensure connectivity among identiﬁcation of architectural anomalies). nodes, working as relays. In such a way we can see In this scenario, Team Member 2 is in charge at a the whole team as carrying on a process, and the dif- given point of matching the photos taken by Team Mem- ferent teams (of the different organizations) collaborate ber 3 and the previous ones stored at back-end. PDAs through the exchange and integration of data. Different are not so powerful that they can retrieve all photos and data sets are stored in the headquarters of organizations temporally store. So, Team Member 3 must be con- which are responsible for them. nected to the team leader during the whole task exe- Front-end operators access to the corresponding cution. Indeed, Team Leader provides a special hard- back-end server located at headquarters through private ware proxy allowing any member to connect to the back deﬁned protocols. Here they can get or set information end. In theory, every member should not need to be con- which is relevant to the situation they are dealing with. nected, possibly through multi-hop paths, to any other At the same time, operators can query information pro- member at all times. But applications running on mem- vided by other organizations. This feature is provided ber devices have to get ensured that a connection always Ubiquitous Computing and Communication Journal 2 (a) Process (b) Critical situation and adaptive management Figure 1: Disconnection prediction for adaptive coordination in MANETs exists between every couple of devices. They do not 2 Bayesian Filtering for Discon- have to be worried about disconnections: the Coordina- tion Layer will take care of them. nection Prediction Our predictive technique is based on few assumptions: But in a particular scenario, as the one depicted in 1. Each device is equipped with speciﬁc hardware Figure 1(b), it could happen that the movement of the that allows it to know its distance from the sur- operator/device equipped with the camera would result rounding connected (i.e., within radio range) de- in a disconnection from other devices/operators. The vices. This is not a very strong assumption, as Team Leader device has got deployed a Prediction Layer either devices are equipped with GPS or speciﬁc being in charge of predicting disconnection. A Coordi- techniques and methods (e.g., TDOA - time dif- nation Layer is arranged above and is continually ready ference of arrival, SNR - signal noise ratio, the to receive disconnection alarms from the layer below. It Cricket compass, etc.) are easily available. Pa- could decide to instruct a possible “bridge”, a robot, to per [16] presents a precise technique to track mul- go after the disconnecting operator (i.e. his device), to tiple wireless nodes simultaneously. It relies on maintain the connection and to ensure a path between all measuring the position of tracked mobile nodes devices. Instructing a bridge device is just a way to han- through radio interferometry. This is guaranteed dle disconnections: the coordination layer could con- to reduce signiﬁcantly the error with respect to sider more convenient, in some situations, to duplicate GPS. Nevertheless, the authors of paper [14] have required data such that the going-to-disconnect node can recently devised techniques to mitigate the error be performing assigned task, even if disconnected. when computing node position through GPS. In- deed, they performed experiments where the error has been reduced to 3 meters when nodes are not The example described above is a typical global dis- moving and to 20 meters when nodes are at 80 connection management. Indeed, actions for handling km/h. disconnections are centrally managed by the coordina- tion layer of the leader device. The leader device is ac- 2. At start-up, all devices are connected (i.e., for tually the “global entity” that has the knowledge about each device there is a path - possibly multi-hop - the status of all operators/devices, and takes into account to any other device). The reader should note that idle devices, dependencies and operations that can and we are not requiring that each device is within the cannot be safely delayed, etc. radio range of (i.e., one hop connection to) any Ubiquitous Computing and Communication Journal 3 other device (tight connection), but we require the basis of the observation in the time instant t, realizes only a loose connection (guaranteed by appropri- the update of the prediction factor. ate routing protocols, e.g., DSR, AODV, etc.). In our approach, the random variable Θt belongs to [0, 1] and we use the Beta(α,β) function as a belief dis- 3. A speciﬁc device in MANET, referred to as coor- tribution to model the behavior of the system, according dinator, is in charge of centrally predicting dis- to the following equation: connections. As all devices can communicate at start-up and the ultimate goal of our work is to Belt (θ) = Beta(αt , βt , θ) (2) maintain such connections through predictions, it where α and β represent the state of the system and vary is possible to collect centrally all the information according to the following equations: from all devices; αt+1 = αt + zt The predictive technique is essentially as follows: at a (3) βt+1 = βt + zt given time instant ti the coordinator device collects all distance information from other devices (for assump- In our approach, the observation zt represents the tions (1) and (3)); on the basis of such information, the variation of the relative distance between nodes (i,j) nor- coordinator builds a probable connection graph that is malized with respect to radio range in the time period the probable graph at the next time instant ti+1 in which [t-1,t]. It is used to update the two parameters α and β the predicted connected devices are highlighted. On the of the Beta function according to Equation 3. The eval- (i,j) basis of such prediction, the coordinator layer will take uated Beta(α, β) function predicts the value of θt+1 appropriate actions (which are no further considered in estimating the relative distance that will be covered by the following of this paper). the nodes (i,j) in the next time period [t,t+1]. 2.1 Bayesian Filtering 2.2 Prediction of the Distances Bayes ﬁlters [2] probabilistically estimate/predict the Our approach relies on clock cycles whose periods are current state of the system from noisy observations. T . The pseudo-code for the coordinator is described in Bayes ﬁlters represent the state at time t by a random Figure 2. We assume the iBuffer data structure to be variable Θt . At each point in time, a probability distri- stored only at Team Leader and accessed only by local bution Belt (θ) over Θt , called belief, represents the un- threads in a synchronized way. For each ordered couple certainty. Bayes ﬁlters aim to sequentially estimate such (i, j) of nodes, in the n-th cycle, the monitor stores two beliefs over the state space conditioned on all informa- (i,j) (i,j) ﬂoat parameters, αn and βn , and the last observed tion contained in the sensor data. To illustrate, let’s as- (i,j) distance dn−1 . sume that the sensor data consists of a sequence of time- Let us assume a node k comes in a MANET during indexed sensor observations z1 , z2 , ...., zn . The Beli (θ) the m-th clock cycle. Then, for each MANET node j we is then deﬁned by the posterior density over the random (k,j) (k,j) initialize αm = βm = 1. In such a way we get variable Θt conditioned on all sensor data available at the uniform distribution in [0, 1] and, so, every distance time t: (k,j) Belt (θ) = p(θ|z1 , z2 , ...zt ) (1) dm+1 gets the same probability. For each time period T , each generic node i sends a Generally speaking, the complexity of computing set of tuples (i, j, dj ) to the coordinator, where j is an such posterior density grows exponentially over time be- unique name of a neighboring node and dj is the dis- cause the number of observations increases over time; tance to j. The coordinator collects continuously such the following two assumptions are needed for making tuples (i, j, dj ) coming from the nodes in an intermedi- the computation tractable: ate buffer. We do no assumptions about clock synchro- nization. So, every node collects and sends information 1. The system’s dynamic is markovian, i.e., the ob- to Team Leader according to its clock, which is in gen- servations are statistically independent; eral shifted with respect to the one of other nodes. 2. The devices are the only subjects that are capable Monitor performs prediction according to the same to change the environment. clock T : at the beginning of the generic n-th clock cycle upon timer expiring, it copies the tuples (i, j, dj ) from n On the basis of the above two assumptions, the equa- the intermediate buffer to another one and, then, it emp- tion in a time instant t can be expressed as the combina- ties the former buffer to get ready for updated values. In tion of a prediction factor Belt−1 (θ) (the equation in the clock cycle, for each collected tuple (i, j, dj ) moni- the previous time instant) and an update factor that on tor updates the parameters as follow by a bayesian ﬁlter: Ubiquitous Computing and Communication Journal 4 timer: a timer expiring each T seconds. iBuffer[x,y]: a bi-dimensional squared matrix storing distance among couples of nodes X and Y. bayesianBuffer[x,y]: a bi-dimensional square matrix storing a triple (α, β , distance) for each couple of nodes X and Y. UPON DELIVERING BY NODE I OF TUPLE(i, j, dist) 1 iBuf f er[i, j] ← dist UPON EXPIRING OF TIMER() 1 localBuf f er ← iBuf f er[i, j] 2 /*empty intermediate buffer*/ 3 for (i, j) ∈ ibuf f er 4 do ibuf f er[i, j] ← RADIO RAN GE 5 6 for (i, j) ∈ localBuf f er 7 do if localBuf f er[i, j] ← RADIO RAN GE 8 then observation ← 1 9 else observation ← (localBuf f er[i, j] − bayesianBuf f er[i, j].distance)/RADIO RAN GE 10 observation ← (observation + 1)/2 11 bayesianBuf f er[i, j].distance ← localBuf f er[i, j] 12 bayesianBuf f er[i, j].alpha ← u ∗ bayesianBuf f er[i, j].alpha + observation 13 bayesianBuf f er[i, j].beta ← u ∗ bayesianBuf f er[i, j].beta + (1 − observation) Figure 2: Pseudo-codes of the Bayesian algorithm for predicting node distances. nodes, normalized in the [0, 1] range. Values greater (i,j) (i,j) (i,j) αn+1 = u · αn + on than 0.5 mean nodes to drift apart and smaller values (i,j) (i,j) (i,j) (4) βn+1 = u · βn + (1 − on ) to move closer. If the value is equal to 0.5, node i is estimated not to move with respect to j. (i,j) where on is an observation and u ∈ [0, 1] is a constant The parameters α and β are the inputs for value. Constant u aims for permitting old observations Beta distribution Beta(α, β), where the expectation to age. As new observations arrive, the previous gets θ(i,j) = E Beta(α(i,j) , β (i,j) ) is the variation of the n+1 n+1 n+1 less and less relevance. Indeed, old observations do not distance between i and j in radio-range percentage that capture the updated status of MANET connectivity and will be estimated at the beginning of (n + 1)-th clock motion. cycle. The value for observation can be computed from the At this stage we can estimate the distance between relative distance variation between i and j, scaled with nodes i and j at the beginning of (n + 1)-th clock cy- radio-range: cle. That can be done from Equation 6 by replacing the (i,j) (i,j) (i,j) (i,j) observation term on with the estimated value θn+1 . dn − dn−1 (i,j) ∆drn = (5) Hence: radio range e(i,j) (i,j) dn+1 = dn + ∆dn =f (i,j) where radio range is the maximum distance from (i,j) (7) = dn + (2θ(i,j) − 1) ∗ radio range where two nodes can communicate with each other. (i,j) Possibly dn can miss in the cycle n. The distance (i,j) (j,i) between i and j could miss because i and j are not in It should hold dn = dn ; so, it should be (i,j) (j,i) (i,j) (j,i) radio-range or packets sent by i to Team Leader are lost dn+1 = dn+1 . But we have to consider dn+1 = dn+1 . or delivered lately. Indeed distance sent by i about distance (i, j) can differ (i,j) It is straightforward to prove ∆drn to range in from what is sent by j about the same distance. This is [-1, 1] interval. This range is not suitable for Bayesian why distances are collected at beginning of clock cycles ﬁlter since observations should be between 0 and 1. So but these can be shifted. we map the value in Equation 5 into the suitable range Therefore, estimated distance di,j is computed n+1 (i,j) [0, 1] as follows1 : by considering both di,j and dn+1 , through different n+1 (i,j) (i,j) weights. dn −d n−1 dn and dn−1 are available o(i,j) = radio range (i,j) (i,j) (j,i) (j,i) n 1 1 if dn is unavailable if dn is available but dn−1 is not di,j = reln+1 ∗ dn+1 + reln+1 ∗ dn+1 n+1 2 (6) (i,j) In sum, our Bayesian approach estimates the vari- where reln+1 is a factor for the estimation ation of the future distance between every couple of reliability and it is inversely proportional to 1 If (i,j) a node has entered in this cycle we assume on = 0.5, i.e., it is not moving. Ubiquitous Computing and Communication Journal 5 (i,j) σn+1 = (i,j) V ar(Beta αn+1 , βn+1 ) : (i,j) Markov chain model of the well known gambler’s ruin problem [10, 11]. Such a study of the device move- 1 (j,i) ments and the consequent distance prediction is based (i,j) σ (i,j) σ reln+1 = 1 n+1 1 = (i,j) n+1 (j,i) . on Markov chains, because the success of a prediction (i,j) + (j,i) σn+1 + σn+1 depends only on events of previous time frame units. In- σn+1 σn+1 stead of using a markovian process in time domain, we 2.3 Connected Components Computation are going to focalize on spatial domain and we will build a matrix, which is similar to the one presented in the Disconnection prediction depends on a parameter γ, original gambler’s ruin model but with other elements. which stands for the fraction of the radio-range for Let’s consider a square matrix of |E| × |E| el- which the predictive technique does not signal a discon- ements, where |E| = m, with m, with m is (i,j) (i,j) nection anomaly2 . Let be P (discn+1 ) = P (dn+1 ≥ the total number of mobile devices in the MANET. γradio range); two nodes i and j are predicted going We build M = (mij ) as a m × m symmet- to disconnect if and only if ric matrix, in which mij = 1 is the Equation 8 is false or, otherwise mij = 0 if the equation is (i,j) (i,j) (j,i) (j,i) 1 3 reln+1 ∗ P (discn+1 ) + reln+1 ∗ P (discn+1 ) > (8) true . Every diagonal element mii = 1 since the 2 (i,j) (j,i) P (discn+1 ) = P (discn+1 ) = 0. That follows for i.e. two nodes i and j are estimated disconnecting if deﬁnition: the distance of a mobile device from itself is it is more probable their distance to be greater than always equal to 0. γradio range rather than distance to be smaller than The matrix M = (mij ) can be considered as the such a value. We could tune more conservativeness by Adjacency matrix of an (undirected) graph where the lowing γ (i.e. the fraction of radio-range in which dis- set of nodes are devices and an arc exists between two connections are not predicted). If we consider Equa- nodes if they are foreseen as direct neighbors. tion 7, then: ˛ (i,j) ˛ The strategy of the MGR algorithm, which is de- P (discn+1 ) = P (˛ radio range + (2θ(i,j) − 1)˛ ≥ γ) (i,j) dn scribed in Figure 3, is to ﬁnd the connected compo- ` (i,j) ´ nents of the graph (using the CCDFSG procedure), = P θ(i,j) ≥ 1+γ − 2∗radio range dn 2 and then, by giving two devices ei and ej , to verify (9) if they belong to the same connected component (the where the last term in Equation 9 is directly computable TEST CONNECTION function); if it is true then ei , from the estimated beta distribution: ej will still communicate in the next time period; else 1 they will lose their connection within the next time P (θ(i,j) > k) = Beta α(i,j) , β (i,j) period. Using this strategy, after building the matrix k M = (mij ), we can verify which devices are con- Once the algorithm predicts which links exist at nected, directly (i.e., one hop) or indirectly (i.e., multi the next cycle, we can compute easily the connected hop), and thus let decide when disconnection manage- components (i.e., sets of nodes that are predicted to ment techniques should be activated in order to keep the be connected). Afterwards, on the basis of the con- connection between the involved devices. The aim of nected components, disconnection anomalies are iden- such techniques should be to have a unique connected tiﬁed by the monitor. Finally, they are notiﬁed either to component in the graph. the nodes (if a local management strategy is adopted) or The MGR algorithm computes the connected com- to a coordination layer (if a global management strat- ponents starting from the matrix that represents the egy is adopted). Connected components are computable graph. The output of the MGR program is the Comps through “The Mobile Gamblers Ruin Algorithm” below, array in which for each i-th element there is an inte- where an edge between couples of nodes in the connec- ger value corresponding to the connected component tion graph exists if Equation 8 is false. it belongs. For example, if we have a set of devices E = {e1 , ..., em } and they form a graph with k con- 2.4 The Overall Technique nected components, we will have an output vector of this shape: Our predictive algorithm, called as the “The Mobile Gambler’s Ruin” (MGR) algorithm, is taken from the 0 0 ... 1 ... 2 ... k − 1 (10) 2 As an example, in IEEE 802.11 with 100 meters of radio-range, γ equal to 0.7 means that for a communication distance of 70 meters the prediction algorithm signals a probable disconnection. 3 The matrix is of course symmetric since always there holds m ij = mji Ubiquitous Computing and Communication Journal 6 FUNCTION MGR() 1 numcomps ← 0 2 Comps ← newArray of integer[m]; 3 for i ← 0 to (m − 1) 4 do if Comps[i] = 0 5 then numcomps ← numcomps + 1 6 Comps[i] ← numcomps 7 CCDFSG(M, i, numcomps, Comps[]) 8 return Comps[] SUB CCDFSG(M, i, numcomps, Comps[]) 1 for i ← 0 to (m − 1) 2 do if Comps[j] = 0 and M [i, j] = 1 3 then numcomps ← numcomps + 1 4 CCDFSG(M, j, numcomps, Comps[]) 5 FUNCTION TEST CONNECTION(i, j, Comps[]) 1 if Comps[i] = Comps[j] 2 then T EST ← true 3 else T EST ← f alse 4 return T EST Figure 3: Pseudo-Code of the MGR algorithm. Thus for two different devices ei , ej we have only to unaware of it: so when a node send packets, it believes test, using the TEST CONNECTION program, if they to send them to the speciﬁed destination. But they are have the same value in the vector (10), It will give us a captured by OCTOPUS, playing a gateway role. OCTO - conﬁdence about the probability of being still connected PUS analyzes the sender and receiver: the distance of the in the next time period. corresponding virtual nodes in the virtual map (basically whether in the radio-range), the probability of losses, obstacles screening direct view5 , motion speed and so 3 The OCTOPUS Virtual Environ- on. According to such parameters, it decides whether or not to deliver each packet to the recipient. Since the ment nodes are basically unaware of OCTOPUS, it is possible We implemented and deployed a fully-ﬂedged version to remove it and deploy ﬁnally the software with no or of the algorithm, which is running on PDAs, laptops e very limited changes. tablet PCs. The aim is to test a real implementation in order to get realistic results, instead of having informa- tion from simulations. On the other hand, on-spot test- 4 Technical Details ing may be expensive both in terms of resources and time: several persons are required to be arranged in a We implemented the Bayesian algorithm on actual de- wide area. That might need much time (and, thus, high vices. We coded in MS Visual C# .NET as it enables to cost) to prepare the whole test-bed. Furthermore, ﬁeld write applications once and deploy them on any device testing does not provide a controlled environment and for which a .NET framework exists (PCs and PDAs in- it should be used just as the ﬁnal user validation of the cluded). In this section, we describe the technical details system. of packages and classes for implementing the Bayesian Therefore, we test the implementation through em- algorithm. ulation. We used OCTOPUS [4], an emulator, which we We can identify two sides in the implementation as have implemented, speciﬁcally targeted for MANETs 4 . described in Figure 5: the code running on the coordina- OCTOPUS keeps a map of virtual areas, which users tor device, which realizes the prediction, and the one on can design and show by a GUI. Such a GUI enables the the generic peers sending information about neighbors users to put in that map the virtual nodes and bind each to the coordinator. one to a different real device. Furthermore, users can The code of generic peers is conceptually easy. It is add possible existing obstacles in a real scenario: ruins, basically composed of two modules: walls and buildings. it.uniroma1.dis.Octopus. We tested our algorithm OCTOPUS beneﬁts are that real devices are complete by OCTOPUS. OCTOPUS is intended to emulate small 4 OCTOPUS can be downloaded at www.dis.uniroma1.it/∼deleoni/Octopus 5 We assume whenever two nodes are not directly visible, every packet sent by the ﬁrst node to the second is always dropped. Ubiquitous Computing and Communication Journal 7 Figure 5: The components of the actual implementation. Laptop Tablet (Mobile Node) (Mobile Node) PDAs (Mobile Nodes) Access Point Ethernet LAN Laptop (Coordinator) Tablet (Mobile Node) Octopus Server Figure 6: The test bed setting. Ubiquitous Computing and Communication Journal 8 MANET and holds a virtual map of the are where nodes 5 Experiments are arranged. Every real device is mapped to a virtual node in the map. This module is intended to query OC - Figure 6 shows the testbed, which consists of ten ma- TOPUS in order to know neighbors and their distance. It chines (PCs and PDAs). One of them hosts OCTOPUS allows also to send special commands to OCTOPUS dur- and, hence, it does not represent a real mobile node. ing run-time emulation. In such a way modes can vir- Each of the other machines is bound to a different virtual tually move in the virtual map. That causes topology to node of OCTOPUS’ virtual map. change at any time and, therefore, new disconnections We set the testing virtual map as 400 × 300 meters are continuously predicted. wide and communication radio-range as 100 meters. At the beginning, nodes are located into the virtual map in a BayesianPredClient. This module includes inter- random fashion in order to form one connected compo- nally two timers. The ﬁrst timer has a clock T, where T nent. Afterwards, each S seconds, every node chooses is the same as deﬁned in Figure 2. For each clock pe- a point (X,Y ) in the map and begin heading towards at riod, it gets information about neighbors (who and how a speed of V m/s. Both S and V are Gaussian random far they are) by using the it.uniroma1.dis.Octopus mod- variables: the mean and variance are set as, respectively, ule. Then, it arranges such an information in a proper 450 and 40 seconds for S and 3 and 1.5 m/s for V . The packet, which is sent to coordinator. Upon expiring of couple (X,Y ) is chosen uniformly at random in the vir- the second timer, the client sends a command to OCTO - tual map. Of course, devices used in tests do not move PUS to change the position of the node which this de- actually: nodes move only in the virtual map. For this vice is mapped to. Of course, this timer uses also the purpose, devices send particular commands to a speciﬁc it.uniroma1.dis.Octopus module. OCTOPUS socket for instructing node motions. The ﬁrst set of experiments has been intended to ver- The code of the coordinator’s implementation has as ify which error in percentage is obtained for different its core the BayesianPredServer module. In order to de- values of clock period T . The error here is deﬁned as tail more, we have exploded it to its ﬁve classes: the gap between the estimated distances dn at (n − 1)-th clock cycle and the actual measures dn at n-th clock cy- DistanceServer. This module implements a TCP/IP cle. The value is scaled with respect to the radio-range: server to retrieve the neighboring information from The Figure 7(a) shows the outcome for the clock peers (sent by them through the module BayesianPred- periods equal to 15, 20, 30, and 45 seconds. We have Client). At the same time, it stores retrieved information set the parameter u of Equation 4 to value 0.5 and per- in the intermediate buffer, which is implemented by the formed ten tests per clock period. Every test was 30 module Buffer. It corresponds to event handler for upon minutes long. The results show, of course, that the error delivering of a tuple from a peer as deﬁned in Figure 2. percentage grows high as clock period increases. Prob- Buffer. It implements the intermediate buffer ably the most reasonable value for real scenarios is 30– module, written by the DistanceServer module and 45 seconds (smaller values are not practically feasible read/made empty by PredictiveTimer. This module since MANETs would be probably overloaded by “dis- guarantees synchronized accesses. tance” messages). Please consider the greatest clock pe- riod we tested: the error ranges between 24.34% and PredictiveTimer. This is a timer that repeats each T 26.8% (i.e., roughly 25 meters). seconds. It implements the event upon expiring of timer Afterwards, in a second tests set, we ﬁxed clock pe- as deﬁned in Figure 2. Consistently to the pseudo-code, riod to 30 seconds, testing for u equal to 0.01, 0.05, it accesses to the Buffer module to get new information 0.1, 0.2, . . . , 0.8. We even tripled the frequency which from other peers, as well as the BayesianBuffer module. nodes start moving with. The outcomes are depicted in The latter module stores the information to compute for Figure 7(b), where x-axis corresponds to u values and each couple of nodes the Equations 4 e 6. This module y-axis to the error percentage. The trend is parabolic: uses also the it.dis.uniroma1.Octopus module. Indeed, the minimum is obtained for u = 0.3 where the error Team Leader is a node itself and it can lead to discon- is 17.44% and the maximum is for u = 0.8 where the nections. Therefore, it has to ask for neighbors to OC - error is 21.54%. Small values for u mean that the past is TOPUS and predict distances to any other node. scarcely considered whereas large values mean the past is strongly taken into account. This matches our expec- BayesianBuffer, BayesianTuple. The Bayesian- tation: we get the best results for the intermediate val- Buffer class handles and stores the triple ues. That is to say that the best tuning is obtained when α(i,j) ,β(i,j) ,d(i,j) , each one represented by a we consider the past neither too little nor too much. BayesianTuple object. Concerning coordination, applications can rely on Ubiquitous Computing and Communication Journal 9 22,00% 21,53% 21,50% 25,00% 21,00% 22,50% 20,50% 20,00% 20,30% The error percentage 19,94% The error percentage 17,50% 20,00% 19,55% 15,00% 19,50% Best Case 12,50% Worst Case 19,02% 19,03% 19,00% 10,00% 18,50% 18,28% 7,50% 18,09% 5,00% 18,00% 17,59% 17,44% 2,50% 17,50% 0,00% 17,00% 15 20 30 45 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 Polling time u (a) The smallest and largest measured error in percentage, chang- (b) The measured error in percentage, changing the weight of ing clock periods. past observations. Figure 7: Experiment results. such predictions. Indeed, setting polling time to 30 sec- she is going. Such an information is then used for chan- onds, we have got errors around 18% for u = 0.3. If nel reservation in the new cell. Anticipating reservation range is supposed to be 100 meters, the mean error is should lower the probability of a call to be dropped dur- around 18 meters. Considering this is a preliminary val- ing handoff 6 due to the absence of a free channel for the idation, these values are quite good. Indeed, if we set call in the new cell. γ = 0.75 (i.e., disconnections are predicted when nodes The main differences with our approach are related are more than 75 far), we would be sure to predict every to different scenarios: MANETs versus mobile phone actual disconnection. That means no disconnection is networks. Indeed, peculiarities of MANETs consist in not handled, although coordination layer (distributed or the higher mobility compared with phone networks. In centralized, local or global) will be alerted about some MANETs, links between couples of devices disappear false negatives, enacting recovery actions to handle un- very frequently. That does not happen in phone cells, real disconnections. which are very big: leaving a cell and entering into a We remark that this only a preliminary validation; new is rare with respect to how often MANET links falls we are working on more detailed experiments. In new down. test sets, we will be evaluating directly disconnection We use a centralized approach like in cellular net- predictions: varying γ, how many disconnections are work where a coordinator collects information to allow predicted and among them how many are real. We will prediction. The difference is that our approach takes be analyzing, as well, how many actual disconnections into account the knowledge of all distances among all are not predicted on time. users. Indeed, we do not have any base station; there- fore, we do not have just to predict the distance of any mobile device to it. We are interested in the distance 6 Related Work from any device to whichever else. In the literature, several approaches predict the state Much research on mobility prediction has been carried of connectivity of MANET nodes. The most common ap- on (and still it is in progress) for cellular phone sys- proaches assume that some of nodes are aware of their tems [1, 8]. These approaches are based on Markov location through GPS systems in order to study node models, which predict the mobile user future’s location motions and predict disconnections. In [19] the authors on the basis of its current and past locations. The aim is perform positioning in a network using range measure- to predict whether a mobile user is leaving a current cell ments and angle of arrival measurements. But their (crossing the cell boundaries) and the new cell where method requires a fraction of nodes to disseminate their 6 In cellular telecommunications, the term handoff refers to the process of transferring an ongoing call or data session from one channel connected to a core network or cell to another. Ubiquitous Computing and Communication Journal 10 location information such that other nodes can triangu- (http://www.workpad-project.eu) we are late their position. In [20] the probability that a con- currently involved, as our plans are to build a global nection will be continuosly available during a period of management approach in which, after predicting dis- time is computed only if at least one node knows its po- connections, the coordination middleware instructs de- sition and its speed through GPS. Our approach is more vices on how to arrange differently their tasks in order generic as it does not require any speciﬁc location tech- to keep the MANET connected. niques: every hardware allowing to know node distances We are realizing such a middleware: our ﬁrst results is ﬁne. consist in a general recovery method to detect and cope In [9], MANETs are considered as a combination with any unpredictable event (see [5]) which changes of clusters of nodes and it studies the impact (i.e., the the environment where the process is executed. These performances) of two well deﬁned mobility prediction event may be such that the process cannot be carried on schemes on the temporal stability of such clusters; un- any longer. Therefore, we plan to apply the described like our approach the authors use the pre-existing pre- prediction technique to such a middleware, as discon- dictive models while the novelty of our approach con- nections represent unforeseeable events. sists in the formalization of a new model based on Future works include the evaluation in very unreli- Bayesian ﬁltering techniques. In [21] neighbor predic- able environments where information pieces could be tion in MANETs is enacted through a suitable particle ﬁl- lost. We plan, as well, to distribute prediction among all ter and it uses the information inside the routing table of nodes which participate actively to the prediction. This each node. Routing table is continuously updated by the should make the prediction layer more reliable as it does underlying MANET protocol. The ﬁrst drawback is that not have to rely on any special node (e.g., Team Lead- it can operates only with those protocols that work by ers), which could crash. Moreover, distributing com- updating routing tables. Since it is based only on rout- putational load among all devices permits to balance ing table updates, it predicts how long couples of nodes battery consumption. Indeed, every node consumes are going to be connected on the basis of how long they roughly the same energy amount, instead of having only have been connected in the past. It does not consider a central node to consume its battery. whether couples of nodes are moving closer or drift- ing apart, nor node motion speed. Our approach takes such an information also into account, making predic- References tion more accurate. [7] addresses the issue of robot location estimation. [1] I. F. Akyildiz, J. S. M. Ho, and Y. B. Lin. For each position pi and each robot rj , the technique Movement-based Location Update and Selective gives the probability for rj to be in pi . This approach Paging for PCS Networks. IEEE/ACM Transac- cannot be easily used to compute when nodes are going tions on Networking, 4(4):629 - 638, 1996. to disconnect. [2] J. O. Berger. Statistical Decision Theory and Bayesian Analysis. Springer, 1985. 7 Conclusion and Future Works [3] T. Catarci, M. de Leoni, F. De Rosa, M. Mecella, A. Poggi, S. Dustdar, L. Juszczyk, H.L. Truong, G. In this paper, we have proposed, implemented and Vetere. The WORKPAD P2P Service-Oriented In- tested a novel technique for predicting disconnections frastracture for Emergency Management In Proc. in MANETs. We think prediction is a basic block for any of the 3rd IEEE International Workshop on Col- middleware for coordination in MANET settings. laborative Service-Oriented P2P System (COPS) Collaboration and coordination among MANET at WETICE 2007, 2007. nodes could not take place when they cannot commu- nicate. Since MANETs are very dynamic, nodes are con- [4] F. D’Aprano, M. de Leoni, and M. Mecella. Em- tinuously moving and that can cause several disconnec- ulating Mobile Ad-hoc Networks of Hand-held tions. If disconnections were not handled, communica- Devices. The OCTOPUS Virtual Environment. In tion could not take place and, consequently, coordina- Proc. of the International ACM Workshop on Sys- tion. Remedial actions (either local or global) need to tem Evaluation for Mobile Platforms (MobiEval), be enforced in advance (i.e., predicted) against the ac- 2007. tual disconnection. This work is the basis of the development [5] M. de Leoni, M. Mecella, G. De Giacomo. Highly of a coordination system for MANETs in emer- Dynamic Adaptation in Process Management Sys- gency management – cfr. the WORKPAD project tem through Execution Monitoring. In Proc. of Ubiquitous Computing and Communication Journal 11 the 5th Internation Conference on Business Pro- [14] D. Hadaller, S. Keshav, T. Brecht, and S. Agar- cess Management (BPM 2007), 2007. wal. Vehicular Opportunistic Communication Un- der the Microscope. In Proc. of the 5th Interna- [6] M. de Leoni, F. De Rosa, M. Mecella. MOBIDIS: tional Conference on Mobile systems, Applications A Pervasive Architecture for Emergency Manage- and Services (MobiSys), 2007. ment. In Proc. of the 4th International Workshop on Distributed and Mobile Collaboration (DMC [15] R. J. Punnoose, P. V. Nikitin, and D. D. Stancil. 2006) (at WETICE 2006), 2006. Efﬁcient Simulation of Ricean Fading Within a [7] D. Fox, J. Hightower, L. Lao, D. Schulz, and G. Packet Simulator. In Proc. of the 52th IEEE Ve- Borriello. Bayesian Filters for Location Estima- hicular Technology Conference, 2000. tion. In IEEE Pervasive Computing, 2(3):24 - 33, [16] Branislav Kusy, Jnos Sallai, Gyrgy Balogh, kos 2003. Ldeczi, Vladimir Protopopescu, Johnny Tolliver, [8] B. Liang, and Z. J.Haas. Predictive Distance-based Frank DeNap, and Morey Parang. Radio interfero- Mobility Management for Multidimensional PCS metric tracking of mobile wireless nodes. In Proc. Networks. IEEE/ACM Transactions on Network- of the 5th International Conference on Mobile sys- ing, 11(5):718 - 732, 2003. tems, Applications and Services (MobiSys), 2007. [9] A. Venkateswaran, V. Sarangan, N. Gautam, and [17] Thomas W. Malone, Kevin Crowston. The Inter- R. Acharya. Impact of Mobility Prediction on the disciplinary Study of Coordination. In ACM Com- Temporal Stability of MANET Clustering Algo- puting Surveys, Vol. 26, No.1, March 2004. rithms. In Proc. of the 2nd ACM International Workshop on Performance Evaluation of Wireless [18] Mark Klein. Coordination Science: Challenges Ad hoc, Sensor, and Ubiquitous Networks (PE- and Directions. In Proc. of the workshop on WASUN ’05), 114 - 151, 2005. Coordination Technology for Collaborative Appli- cations - Organizations, Processes, and Agents [10] W. Feler. An Introduction to Probability Theory (ASIAN), 1996. and its Applications (2nd ed.). Willey, 1966. [19] Dragos Niculescu, Badri Nath Position and Orien- [11] G. Harik, E. Cantu-Paz, D. E. Goldgerg, and B. L. tation in ad hoc Networks In Elsevier Journal of Miller. The Gambler’s Ruin Problem, Generic Al- Ad Hoc Networks, Vol. 2, No.2, April 2004. gorithms, and the Sizing of Populations. In Proc. of the IEEE International Conference on Evolu- [20] Min Qin, Roger Zimmerman, Leslie S. Liu Sup- tionary Computation, 1997. porting Multimedia Streaming Between Mobile [12] A. Jardosh, E. M. BeldingRoyer, K. C. Almeroth, Peers with Link Availability Prediction In Proc. and S. Suri. Towards Realistic Mobility Models for the 13th annual ACM International Conference on Mobile Ad-hoc Networks. In Proc. of MobiCom, Multimedia, 2005. 2003. [21] Ovidiu V. Drugan, Thomas Plagemann, Ellen [13] G. Hackmann, R. Sen, M. Haitjema, G. C. Roman, Munthe-Kaas Non-intrusive Neighbor Prediction and C. Gill. MobiWork: Mobile Workﬂow for in Sparse MANETs In Proc. of 4th Annual IEEE MANETs. Technical Report WUCSE-06-18, Wash- Communications Society Conference on Sensor, ington University, Department of Computer Sci- Mesh and Ad Hoc Communications and Networks ence and Engineering, St. Louis, Missouri, 2006. (SECON’07), 2007. Ubiquitous Computing and Communication Journal 12