0 Bewertungen0% fanden dieses Dokument nützlich (0 Abstimmungen)
90 Ansichten12 Seiten
Dynamic networks involve frequent changes in its network state such as topology changes, link breakages, nodes faults or recoveries, addition or deletion of network components. There is a huge diversity of dynamic networks and research communities are engaged in research in different areas such as adhoc networks, social networks, delay tolerant networks, etc. This paper integrates the modeling techniques, algorithmic techniques and analysis techniques proposed by research communities working in different areas in a unified framework.
Dynamic networks involve frequent changes in its network state such as topology changes, link breakages, nodes faults or recoveries, addition or deletion of network components. There is a huge diversity of dynamic networks and research communities are engaged in research in different areas such as adhoc networks, social networks, delay tolerant networks, etc. This paper integrates the modeling techniques, algorithmic techniques and analysis techniques proposed by research communities working in different areas in a unified framework.
Dynamic networks involve frequent changes in its network state such as topology changes, link breakages, nodes faults or recoveries, addition or deletion of network components. There is a huge diversity of dynamic networks and research communities are engaged in research in different areas such as adhoc networks, social networks, delay tolerant networks, etc. This paper integrates the modeling techniques, algorithmic techniques and analysis techniques proposed by research communities working in different areas in a unified framework.
Models, Algorithms and Techniques for dealing with
Dynamic Networks: A Survey Muhammad Nohman Javed, Manan Saif, Sikandar Afridi and Junaid Qadir School Of Electrical Engineering And Computer Science, NUST AbstractDynamic Networks involve frequent changes in its network state such as topology changes, link breakages, nodes faults or recoveries, addition or deletion of network components, changes in load on network, variations in packets ows etc. In recent years challenges in dynamic networks grab the attention of research communities to study their behavior, formulate problems and proposed algorithms and techniques to cope these challenges. There is a huge diversity of dynamic networks and research communities are engaged in research in different areas such as ad- hoc networks, social networks, delay tolerant networks, etc. The main contribution of this survey paper is to give comprehensive overview of common issues among different areas of dynamic networks and those specic to particular areas of them. It integrates the modeling techniques, algorithmic techniques and analysis techniques proposed by research communities working in different areas in a unied framework. At rst, we discuss some main models that are used by research communities to study and analyze the problems due to dynamic characteristics of networks, and their use to evaluate the performance of proposed algorithms and techniques for these problems. Then, we discuss some common and illustrative problem domains among different areas of dynamic networks and their proposed solutions in terms of state of the art algorithms and analysis techniques. Finally, the paper ends with concluding remarks and some future considerations. KeywordsDynamic Networks, Adversarial Models, Stochastic Models, Game Theoretic Models. I. INTRODUCTION Dynamic networks are those networks which involve fre- quent changes in their states or characteristics. For example, changes in network topology overtime due to movement of nodes or edges, link breakages, node faults or recoveries, ad- dition or deletion of network components, changes in load on network, addition or deletion of objects in network applications and variations in ow of packets etc. These networks are represented as time evolving graphs and variations are mapped with respect to time. If dynamics occur for short duration and after which network becomes static over extended period of time, then it is said to be in transient dynamic. However, if changes in the network are occurring constantly and network keeps on adapting to these changes then network is said to be in continuous dynamics. Usually, researchers focus on the latter one. Dynamic behaviors of networks were rst studied in dis- tributed computer literature. Since initial work in network theory was done with assumption that networks are static and they do not change over the time. Therefore, most of the algorithms and techniques were developed to solve the problems of static networks. Later researchers started realizing that dynamicity exists in almost all the networks. For example, even in Internet data trafc patterns, applications and users are all changing dynamically. In Mobile ad-hoc networks nodes mobility, environmental conditions and network scal- ability changes dynamically. Previously, dynamic behaviors were treated as fault in the networks. For instance, self- stabilization algorithms that were devised for static network are guaranteed to work only when the changes in the network stop to occur [1]. Recently, these dynamic behaviors are commonly modeled as characteristics of networks as the changes to the networks never stop. For example, Harary [2] mentions that bandwidth changes are characterized as changes in edge- weights, topology changes as addition or deletion of edges, computing power change as change in node-weight and crashes or recoveries of nodes entails all the basic changes in dynamic graph. The models for static networks are not appropriate for dynamic networks. Similarly algorithms and techniques devised for static networks cannot apply to dynamic networks. Therefore, research efforts have been carried out to model dynamic characteristics of networks and proposed algorithms and techniques to handle them. But there is a huge diversity of dynamic networks. Almost all the real world networks are dynamic networks. Harary [2] classies the dynamic networks as a dynamic graph model G(V, E, f, g) with changes in any of these four parameters. Based on this Bilgin [3] gave a huge list of prominent real world networks and some of the ndings in them. The research efforts in different areas of dynamic networks apparently seem to be unrelated to each other but actually they are the parts of the same concept domain. Casteigts [4] investigated Delay Tolerant Networks, Opportunistic-Mobility Networks and Real-World Complex Networks as three different areas of dynamic networks and showed that one and the same concept is identied by different names in these different areas. For example, it showed that the terms temporal distance, reachability time, information latency, and temporal proximity refer to the same concept. Similarly, the terms schedule- conforming path, temporal path and time-respecting path all refer to a single concept of journey. Therefore, it is very important to integrate the works of researchers in different areas in a common pool. In this paper we put our efforts to achieve this objective. We hope to provide a systematic and unied framework for researchers to build the understanding of open challenges in the dynamic networks. It will help them to work in the context of the state of the art while avoiding duplications of the work 2 due to lack of mutual familiarity among the researchers of different areas. The paper highlights the problems that are need to be solved and the problems that have already been solved satisfactorily. First, in section II, we introduce some main models that are commonly used by the researchers in their areas to study the dynamic characteristics of networks. We throw some light on the use of these models to formulate and analyze the problems arising in maintaining the communication over the dynamic networks. We also discuss their use to develop algorithms and techniques and evaluation of their performance in different scenarios. In section III, we discuss algorithms for some important problems that are signicant for particular areas and may be- come signicant for other areas. In this section, state of the art algorithmic techniques and analysis techniques are categorized by problem domains. We highlight how different researchers use their own specic approaches to model, analyze and solve specic problems in their own areas. Finally, the paper ends with concluding remarks and future directions. II. MODELS A. Adversarial Models In these models dynamicity in network metrics is controlled by adversary. For example, adversary decides the arrival and departure of nodes, arrival rate of packets and fault and recoveries in the edges etc. Adaptive worst case adversary, oblivious worst case adversary and random graph adversary are mentioned as three types of adversaries. These adversaries are used to change the required network metrics to analyze the network behavior, formulate the problem and then develop the algorithms and techniques to tackle them. The algorithms performance and efciency is also analyzed by letting the adversary to change the network metrics in different ways. Usually, the adversary is used to control the input dynamics like packet injection rate etc. Therefore, most of the discussion in the literature is on Adversarial Queuing Models for packet routing. The same models are also used for load balancing. We refer our interesting reader to [7] for detail discussion of Adversarial Queuing Models for load balancing. Our detail discussion on load balancing algorithms is in section III- A. Therefore, we specically discuss these models in the context of packet routing in this section We specically discuss adversarial queing models in this section 1) Adversarial Queuing Models: Packet routing is one of the central tasks of networking. In dynamic networks this task becomes more challenging than static networks due to frequent changes in topology, in edges and their capacities, nodes mobility and dynamicity in packet arrival rates and their locations. Still high throughput, low latency, contention resolution, low computation overhead and network stability are our desirable goals. We nd that in research much of the attention has been paid to queuing of packets, which is one of the most important aspects of packet routing. When multiple packets are required to use a nite capacity edge, they get queued in a buffer. Then the core job is to forward and discard the packets with some order. For example, packet is forwarded using one of the following greedy protocols. FIFO(First In First Out). SIS(Shortest in System), the packet that is injected last will sent rst. LIS(Longest in System), the packet that is injected rst will sent rst. NTS(Nearest To Go), the packet that is nearest to its nal destination will sent rst. FTS(Furtherst To Go), the packet that is furthest away from its nal destination will sent rst. Similarly, packets are discarded using the schemes like tail drop and RED (Random Early Detection). To decide on which protocol and scheme should be used, the networks dynamic behavior and characteristics are studied, analyzed and parameterized widely by adversarial queuing models. In these models adversary plays a central role of packet injections with different rates and on different locations. It may control edges faults and recoveries and other networks characteristics depending on assumptions and constraints use for it in a particular model. In these models worst case analyses on queue sizes and latencies are done to nd nite upper bounds on queues and delays for network stability. Initially, the worst case analyses related to static routing problems were tried for dynamic routing. For this the static routing algorithms were periodically run and packets stored for given run were used as input for next run. But this approach results in inefcient utilization of network resources and large packet delays. So, better dynamic algorithms were needed. A rst model for dynamic routing to analyze queue sizes and delays in worst case was developed by Cruz [5]. But the most signicant work done in this direction is done by Bedoin [6] because in his framework he replaced probabilistic assumptions by worst case inputs. All the previous works assume probabilistic assumptions for packet generation and delivery. Queuing theory approaches used in these works assume packet generation process as Poisson or Bernoulli process with random destinations. They assume packets time to pass through an edge as exponentially distributed but actually this time is a constant. These assumptions arises a lot of technical difculties to adopt queuing theory approaches for continuous packet injections. Furthermore, as the network trafc complexity increases more and more these assumptions become more and more unrealistic. Bedoin [6] model provided a general robust framework with as few assumptions about network trafc as possible. Bedoin [6] captures the stability results of Cruz [5] and also laid the foundation of further research. We encourage and refer our reader to [5], [6], [12] for detail motivation of adversarial queuing models. Reader can also refer to [13], [14] for details of further work. Most of our discussion is based on them. We discuss them with brevity as following. In Bedoin [6] model, a network is a directed graph. The time evolution of this network is a game between a protocol and an adversary. The adversary injects packets on various nodes along with specifying the paths they need to traverse before they are absorbed at each time step. The constraint on adversary is that for s consecutive steps with packet injection rate of 1, it can inject at most (s(1)) packets or requests. 3 TABLE I. SUMMARY OF MODELS Model Salient features Applications Comments Adversarial Model All nodes are under one administration Queuing models for : Makes both deterministic and probablistic assump- tions Dynamics are controlled by adversary packet routing [5], [6] Considerations: buffer sizes, packet delays, throughputs Dynamics through external inuences load balancing [7] Focus: forwarding Constrain on adversary for meaningful analysis e.g packet injection kept below certain rate Stochastic model All nodes are under one administration [8] Network evolution Analysis of ties and breaks of links between nodes Dynamics are described by probabilistic processes Makes only probabilistic assumptions Constrained on process parameters e.g mean rate of packet arrival [9] Load balancing Considerations: capturing topology changes Game theoretic model Nodes are independent agents [10] for topology control Non-cooperative game Dynamics through their interactions At least one equilibrium Stability due to Nash Equilibrium Considerations: acheive efciency and network connectivity in presence of selsh nodes [11] for security problems Non-cooperative game between a node and in- truder Considerations: enhance intrusion detection sys- tem (IDS) performance to detect intruders During each time step one packet can traverse an edge e. If two or more packets want to use the edge then protocol decides the packet to use the edge and put the remaining packets in a queue at the tail of edge e. The purpose of this is to prove the stability of various protocols against various adversaries. A protocol is said to be stable against an adversary if there exist a constant C ( which may depends on underlying network and its load) then the number of unabsorbed packets in the system must not be more than C for all the time. The result of this model showed that 1. All greedy protocols are stable in a tree or a DAG for every deterministic adversary with packet packing rate of at most one. 2. FIFO and LIS are unstable against deterministic adversaries on single paths with atmost packet packing rate of 1 in a directed cyclic graph network with number of nodes greater than or equal to 3. 3. FTG is stable against every adversary with injection rate of atmost one in directed graph. 4. LIS which fails for injection rate less than or equal to 1, is stable for injection rate of 1 is less or equal to 1, for greater than 0 in directed cyclic graph. 5. All greedy protocols are stable against every adversary for packet packing rate is less than or equal to 1/2- in directed cyclic graph. 6. For arbitrary directed graph LIS is stable against every deterministic adversary for injection rate less than or equal to 1-, a greater than 0, whose packet injections consist of single shortest path. The work is further extended by Andrews [12]. Andrews [12] solved many unresolved problems in Bedoin work [6]. Bedoin [6] Main concern is stability. Andrews [12] work not only focused the stability but it further evaluates the performance of stable systems by using maximum queue size and maximum end-end delay as parameters. It also gives the examples of protocols that are universally stable and protocols that are universally unstable. In Bedoin [6] work the questions about protocols universal instability are unanswered. In Andrews [12] adversary is characterized by a pair (b, r), where b greater than or equal to 1 is a natural number and r greater than 0 and less than 1. For an interval I, an adversary can inject large number of packets with an upper bound of (r | I | +b). These restrictions on the adversary are more realistic and are derived from bucket-based techniques that are used for trafc shaping in packet switching networks. Also, this adversary is more powerful because of its bursty nature of packet injection. Andrews [12] work shows the following result. 1. Simple greedy protocols FTG, LTS, LIS and SIS are universally stable. Although they are stable, in worst case FTG, NTS and SIS may require queues and delays of exponential size. The best upper bound on queue and delay size for LIS is also exponential. 2. FIFO, LIFO, NTG and FFS are not universally stable. 3. The n-node ring having maximum queue size and maximum delay linear in n, are universally stable. 4. There is a simple distributed randomized greedy protocol having polylograthimic bound on its queue size and delay size is universally stable. Borodin [6] and Andrews [12] work is related to non-adaptive path routing in which entire path of the packet is specied by adversary before it crosses the rst edge. The non-adaptive approach hinders the packets to dynamically adapt to conges- tions and faults in their paths. In this approach, contention resolution protocols cannot alter the packet path. Aiello [14] used and extended the work of Borodin [6], Andrews [12] and many others to adaptive path routing. In this approach, smaller delays and higher throughputs can be achieved by enabling the contention resolution protocol on intermediate nodes to reroute the packets. Aiello [14] used the same adversaries as used in [6] with polynomial bounds on queue sizes and delay sizes. Furthermore, they use distributed and deterministic algorithms. We refer our interested reader to [14] for details. Also, some 4 signicant results have also shown in Goel [13] work which is also the extension of Borodin [6] and Andrews [12] works. B. Stochastic Models In this approach network dynamics are described as stochas- tic processes. For example, crashes and recoveries of edges are described as probability distribution . In this section we discuss how different models are designed to analyse network dynamicity as probabilistic processes. 1) Stochastic actor based models for dynamic networks: Stochastic actor-based models are used for network dynamicity which can model various inuences on network changes. For example stochastic actor-based models addresses the problem of dynamicity in social networks where relation or ties ran- domly breaks and formed between different communities or friends or actors which continuously change the network state. The current network structure is a constraint in these networks. The actors tend to achieve their goals under this constraint. Because of the actors activities along with purposeful changes, there are some random changes incorporated in the networks and we need a model to determine some parameters from the observed data. These parameters help to fuse a theory in a statistical model [15]. This network model represents stochastically dependences of the creation and termination of network ties. The tie changes made by the network actors are determined probabilistically by a function called the objective function. These models help in estimating parameters which expresses these inuences and also acts as a tool to test the corresponding hypotheses [16]. Stochastic actor-based models are proposed for longitudinal network data. These models are based on two different approaches Loglinear approach and Markov approach. The Loglinear approach based model is a generalization of the well-known p1- model [17]. The ability to choose the others, the ability to be chosen by the others and the ability to make a reciprocated relationship these are the set of parameters in this approach. The time parameter in this approach is discrete. The Markov based models are based on the Markov process. The process is said to be a Markov process if at given point in the time the conditional distribution of the future is only a function of the present only. It is not a function of the past. All relevant information can be assumed to be in the present state of network. In this approach, the time parameter is continuous. The change rate parameters of the Loglinear approach depends on the length of the time interval (discrete time parameter) and are abundant as compare to the Markov approach where the change rate parameters are independent of the time interval (continuous time parameter) [18]. 2) Stochastic Block models : The stochastic block models can be proposed to be a family of approaches to capture similarities in behavior of subset of nodes to those in the other set having similar pattern of ties [8]. Dynamic stochastic block models give a broad representation of many complex phenomena in dynamic networks. For example the link state in a dynamic network changes continuously as nodes are added or removed. These models address the issue of link state prediction when the link states among the nodes are continuously changing. The stochastic block models determine edges with proba- bilities and divide the nodes of a network in different classes. The network is observed at multiple steps in time instead of observing at a single point. In a priori modeling mode the task is determining the edge probabilities matrix while the class membership vectors are already known whereas in a posteriori modeling mode both are to be determined [19]. State-space stochastic block model for dynamic networks represents the dynamic network by a series of snapshots de- rived from the unobserved time-varying network states. These snapshots of network are modeled with the help of stochastic block models. The state space model combines static model of individual snapshot and the temporal model of evolution of state [20]. By using the central limit theorem one can determine the near optimal tting procedure of the state space model in online mode. By using extended Kalman lter the state tracking can be achieved with local search strategy [21]. Dynamic stochastic block model based on Bayesian approach is another stochastic block model that has been used in social network analysis quit successfully [22]. This model nds communities in dynamic social networking and evaluates them. This model uses Bayesian treatment instead of point estimation to estimate parameters that are used to calculate the posterior distribution of those parameters that are unknown. One of the approaches to analyze dynamic communities of social networking consists of two steps. Step one includes applying static analysis on the snapshot of a social network and then in second step communities are evaluated to nd the changes in communities in time [23]. But data is noisy in real world and an unstable community structure may result due to the step approach. This model addresses the issue mentioned earlier and presents a unied probabilistic framework to analyze and evaluate the communities simultaneously. 3) Stochastic differentiable models for link distribution: The dynamicity of network cause changes in the ow of data and the load is distributed dynamically. Dynamic net- work loading is presented as a stochastic differentiable model based on nite capacity queuing theory. The possible outcome of this model is distribution of queuing lengths and gives a differentiable mapping for dynamic demand on dynamic queuing length. This model addresses the time dependent and congestion dependent ow of given travel demand in a given network of transportation. This problem is known as dynamic network load. The node model is dened with the help of following terms. Arrival rate, which shows the ow that enters the queue from the upstream. Service rate shows the ow that leaves the queue from downstream at most. Queue capacity shows how many entities t in queue [9]. Node model has parameters such as Link index that is numbered in direction of ow consecutively from one, Time interval index, Inow to a link during a time interval, Outow from a link during the time interval, The ow capacity of node at downstream link during a time interval and Number of entities in the start of the time interval in a link. Finite capacity queuing model [24], Dynamic queuing model and Full link model are examples of link models. 5 C. Game Theoretic Models Game theory is widely used for problem formulation, de- sign of algorithms and analysis of dynamic networks. Game theoretic approach is different from above two approaches in a sense that here nodes are independent agents and dynamicity of network is inuenced by their mutual interaction. We dis- cuss different models that are designed by modeling network dynamics using this approach [25]. Game theory is a mathematical study that is used to model conicting and cooperative games between rational entities. Game theory is used as a tool to nd the best action for an individual decision maker when we have two or more decision makers each having different individual objective to achieve while using the similar resources in a system. The game theory nds an outcome that is optimal for the entire individual decision maker. In short to present a simple game theoretic model we will make a few simple assumptions. There must be at least two players in a game and each of them will have two or more than two individual or sequences of choices. The game for every player may lead in a win, a loss or a draw as an end state. Each individual player has a numerical payoff or utility for each possible outcome in the game. The nature of a player or a decision maker is rational and select a choice that result in a greater payoff for it [11]. There are two main classes of games in game theory. The cooperative game is theoretic game in which the players inter- act each other in different ways and gives different outcomes because of the different combinations of players. The players in such a game work together for achieving largest possible total payoff. The non-cooperative games there is a detailed static model of the moves that a player can make and try to maximize its payoff without caring the other nodes. 1) Game theoretic models for topology control : For dy- namic ad-hoc networks to satisfy connectivity topology control is one of the main issues. These are multi-hop networks where nodes have to serve their power resources to other nodes in order to establish connectivity. But nodes sometimes act selsh because they are limited in energy and try to minimize power consumption. Game theoretic models can be used to achieve energy efcient and connected network in presence of selsh nodes. This game theoretic model assumes this scenario as a non-cooperative game which differs from work done in [26], because of the best response algorithm and potential game theory it uses. In this model the nodes have to decide its transmission power level according to transmission level of all other nodes in current topology state as compared to other existing models and algorithms which assign nodal power level just to achieve connectivity which may lead to unfair assignment of power level and inefcient use of resources. This information is assumed to be provided by network layer. The model is divided into a game theoretic framework for (topology formation such as discovery of neighbor, information exchange and topology formation) and the topology control games which models establishing a connected topology and minimizing the individual transmission cost. In game theoretic framework the existence of link depends on the required transmit power from one node to other. One of the crucial steps in this framework is the neighborhood formation in which each node broadcast neighbor request message with maximum transmitting power and then collects the responses from the receivers. The best response algorithm helps to make a network topology dynamic based on local information. A node selects its transmit level given the transmit levels of all the other nodes and maximize its utility function i.e the benets a node achieve being a part of the topology. The performance matrix might be quality of service (QoS) issues such as quality of connectivity, packet loss etc [27]. The topology control games uses the convergence properties of potential game and posses at least one Nash equilibrium. The Nash equilibrium steady state topology preserves the connectivity which needs to be energy efcient too [10]. 2) Game theoretic models for security problems : Nodes of mobile ad-hoc networks have to prevent the occurrence of attacks of the intruders and other malicious activities because of the lack of centralized authentication and security. These networks are used for military and disaster relief purposes therefore security is a main concern in these types of net- works. Intrusion detection is more guaranteed than intrusion prevention in such networks because when intrusion occurs it cannot be prevented. The intrusion detection can be modeled as a game theoretic model in which the game is between an individual node and an attacker as a basic signaling game which is a multi-stage dynamic non-cooperative game with incomplete information. It is a type of non-cooperative game in which some players or nodes have their private information called type of player before the game begins. A player is assumed to know its private information with certainty. In this game the objective of an attacker is send a malicious message to the target node through an attack node. If the malicious message reaches the target node then the intrusion is not detected and when such message is intercepted then the intruding node is blocked. The rate of false alarm is performance matrix for such model. This model assumes that the attacking node attacks only single node at a time. In this model the sender node may be a regular node or it can be an attacker. The intruder detection system of the receiving nodes has prior belief with some probability that any other node is a regular or an attacking node. This model uses Byes theorem to nd posterior probability of the attacking node which can be used as prior belief by the receiving node next time. For the receiver node the choice of the strategy should be based upon the prior belief of the receiving node so that it can maximize the payoff by minimizing the rate of false alarm. The theorem is recursive in nature so nodes periodically update its posterior belief of the other nodes as independent observations as result the false alarm rates will reduce with time [11] . III. ALGORITHMS FOR ILLUSTRATIVE PROBLEM DOMAINS A. Load Balancing Algorithms With emergence of largely distributed systems, the part of managing resources is also one of the most important issues. Dynamic nature of a network also leads to this problem that 6 TABLE II. SUMMARY OF LOAD BALANCING ALGORITHMS Algorithms Type Reference Comments Gradient Model Algorithm Asynchronous Neighbor Diffusion H. Wille and P. Reeves [28] This algorithm involves the map of less loaded processing entities which is used to distribute tasks among highly loaded and less loaded entities. Receiver (Sender) initiated Diffusion Algorithm Asynchronous Neighbor Diffusion H. Wille and P. Reeves [28] This algorithm uses only near neighbor information for balancing load asynchronously. Dimension Exchange Method Synchronous Neighbor Diffusion H. Wille and P. Reeves [28], C. Xu et al [29] This algorithm works by balancing small domains synchronously and then combining all domains to make overall system stable. Generalized Dimension Exchange Algorithm Synchronous Neighbor Diffusion C. Xu and F. Lau [30] This algorithm works by coloring the edges of a graph and dimension is dened by colors. Finally balancing the colored edges dimensions. Tree walking Algorithm Synchronous Parallel W. Shu and M. Wu [31], M. Wu [32] This algorithm works by collecting global information of tree like structured network and calculating average load. After that it calculates quota and then distributes tasks. Cube walking Algorithm Synchronous Parallel M. Wu [32] This algorithm collects global information of cube like structured network and calculates average load and exchanges tasks among entities. Mesh walking Algorithm Synchronous Parallel M. Wu [32] This algorithm uses global information of a mesh network and averages load for tasks distribution. Modied Cube walking Algorithm Synchronous Parallel K. Nam et al. [32] This algorithm constructs a new topology in order to distribute tasks in short paths to reduce communication overhead. Direct Dimension Exchange Synchronous Parallel M. Wu and W. Shu [33] This algorithm makes task distribution faster than original DEM by calculating average load in all dimensions. resources should be managed in this way that all the commu- nicating entities within network share their tasks of computing fairly. Load balancing is a paradigm of efciently managing computing tasks among the processing entities evenly in order to achieve resources utilization efciency, more throughputs, less response time and avoidance of overloading on a single entity. Since the evolution of parallel processing, load balancing techniques are powerfully studied in different styles. Pre- viously, load sharing techniques were proposed for static networks with xed and centralized architectures where every entity was aware of computing time of tasks already and these tasks can be distributed among entities [34]. This type was referred as static load balancing. After that, distributed and decentralized systems became popular for their adaptive nature in which load of tasks computation can be changed dynamically and unequal load on different processing ele- ments. In order to make system efcient, entities are required to share their current load information to other neighborhood entities to share their load distribution. So, dynamic load balancing techniques became part of an extensive research. Many load balancing algorithms have been proposed for dynamic networks and every researcher has categorized load balancing in different terminologies. For example WanYeon Lee et al. have categorized load balancing algorithms into three types: Asynchronous neighbor diffusion, synchronous neighbor diffusion and synchronous parallel load balancing algorithms [34]. An example algorithm is discussed below and some algorithms are discussed in summary table. 1) Enhancement Weighted Clustering Algorithm: This al- gorithm was proposed by A. Rahman et al. for the purpose of making some improvements in weighted clustering algorithm to improve load balancing and stability. One of the principles of this algorithm is that a cluster head is adaptively selected on the basis of nodes movement or change in relative dis- tance between nodes and cluster head [35]. This procedure of selecting cluster head goes on repeating until all nodes become part of a cluster or cluster head. In order to achieve load balancing, number of mobile nodes is already dened that a cluster can cover. If a cluster contains too large number of nodes, there would be less number of clusters resulting in lower throughput and if a cluster contains too small number of nodes then there would be large number of clusters resulting in higher end to end delay. Therefore, size of cluster is already dened and procedure of selecting cluster head is repeated if cluster size is exceeded. Distance between nodes is also a factor of affecting communication. Larger distance results in transmitting information with more power which leads to more consumption of battery. Another factor is mobility of nodes. More the nodes are mobile leaving one cluster joining others, more the network unstable is. The procedure of this algorithm contains some simple steps. First of all, location of each node is determined throughout the network. Secondly distance of every node within the transmission range of each other is determined. Cluster head is selected on the basis of principles discussed above. Nodes position is updated and velocity is calculated by the formula based on random movement of nodes after some unit time. B. Mobility based Algorithms Most of the networks, which are being deployed currently, are designed by considering an important issue of scalability. This consideration of scalability issue in network planning makes convenient to add more entities in an already deployed network according to the requirements instead of changing the whole network. In large scale networks, some applications are engaged with mobility of entities. For example, mobile ad- hoc networks and intelligent transportation systems consist of mobile nodes. So this issue of moving nodes, in which nodes communicating to each other may go far out of their ranges and their links may break, leads to the dynamic nature of a network. Various approaches have been proposed in order to make 7 TABLE III. SUMMARY OF MOBILITY BASED ALGORITHMS Algorithms Type Reference Comments Lowest ID cluster Algorithm Single Metric M. Gerla and J. T. Tsai [36] In this algorithm, a node with minimum id is selected as a cluster head and other nodes who can hear cluster head and are of greater id, become part of its cluster. Highest Connectivity Clustering Algorithm Single Metric M. Gerla and J. T. Tsai [36] In this algorithm, degree of each node is calculated on the basis of distance and the node with highest degree or maximum number of neighbor nodes is selected as cluster head. K-CONID Algorithm Single Metric G. Chen et al. [37] This algorithm is combination of Lowest Id and highest connectivity algorithms. It uses connectivity of cluster heads as rst criterion and lowest id as second criterion. Mobility based D-Hop clustering Algorithm Single Metric I. Er and W. Seah [38] This algorithm divides network into d hop clusters to make it exible and selects cluster heads on the basis of stabilization. Distributed Clustering Algorithm Multiple Metrics S. Basagni [32] In this algorithm, any or all of the following parameters can be used to elect nodes as cluster heads: Ideal degree, mobility and transmission and battery power. A Weighted Clustering Algorithm Multiple Metrics M. Chatterjee et al [39] In this algorithm, any or all of the following parameters can be used to elect nodes as cluster heads: Ideal degree, mobility and transmission and battery power. Vote based Clustering Algorithm Multiple Metrics F. Li et al. [40] This algorithm uses the concept of vote in which location information and remaining battery information is used for electing cluster heads. Connectivity, Energy and Mobility driven Weighted Clustering Algorithm Multiple Metrics F. D. Tolba et al. [41] In this algorithm, different combination of metrics like best transmis- sion range, battery energy, node degree etc. communication effective and the most popular scheme is clus- tering. Following the dynamically changing network topology, clusters are also made on dynamic basis by choosing cluster heads. Normally, clustering based algorithms are classied into two categories: Single metric based clustering and multiple metrics based clustering [42]. Some example algorithms are discussed below and some are discussed in summary table. 1) A Distributed Clustering Algorithm: The distributed clustering algorithm was proposed by Thibault Bernard et al. mainly to create and maintain clusters in large networks regarding mobility of nodes [43]. This algorithm has actually token based working to build clusters of nodes which are discovered and maintaining their expansion. This algorithm is mobility adaptive in a sense that it re-computes the cluster after change in topology due to movement of nodes. This algorithm has a parameter m that denes the size of cluster which is greater than m nodes. Procedure of this algorithm is started by initiating a token from one or several nodes in order to build clusters. One token is associated to one cluster and circulate in random walk fashion. First of all, token adds free nodes to a cluster. For example, if token discovers a node, makes it part of its own cluster. This is called collect mechanism. If token discovers a node which is already part of another token cluster then two cases can occur. Either this token is transported back to its own cluster or the dissolution mechanism is followed in order to delete clusters if size m is not reached by that cluster. After this mechanism, division mechanism is followed if the clusters are grown and become divisible. This cluster is then divided into smaller stable clusters. 2) (,t)-Cluster Algorithm: (, t) cluster algorithm [44] was proposed by A. Bruce Mcdonald et al. (, t) cluster algorithm forms a basis for making clusters which are mobility adaptive and in these clusters there is a mutual probability of path availability between all the nodes specifying the time interval of t. The major requirements considered for dynamic algorithms are have a stable topology and minimize the computational complexity. This algorithm is event driven Fig. 1. Convergence of Algorithm. and species that which nodes, part of their own clusters, disseminate information. Hard state and soft state, both events are categorized in (, t) cluster algorithm. In hard state events, activation and deactivation of nodes, activation of links and failure of links are included. Soft states of algorithm includes a timer called timer which tells the maximum time of path availability to destination with probability greater than or equal to . Topological changes requirements according to the re- evaluation of clusters expire the . timer. Algorithm continu- ously monitors the (, t) criteria to be satised. Convergence of this algorithm is shown in gure 3 [44]. 3) MOBIC Algorithm: MOBIC algorithm was proposed by P. Basu et al. This algorithm is based on a metric which is ratio between the received power levels of successive transmissions measured at any node from all its neighboring nodes [42]. This helps in formation of stable clusters and choosing cluster heads. Algorithm starts by sending HELLO messages from each node and their neighbors receive these messages. All the nodes compute the mobility metric by measuring the received power levels of two successive HELLO messages from each neighbor. This mobility metric is broadcasted to neighbor nodes after every broadcast interval period and this is stored in neighbor table of node with a timeout period. The node having the lowest value of mobility metric declares itself cluster head otherwise a cluster member. If two nodes have same mobility metric, their cluster head decision is made on the basis of 8 Fig. 2. Local Periodic Update Messages. Fig. 3. Path Extension and Reduction. Lowest-ID algorithm in which node with lowest ID becomes cluster head. If two cluster heads come into the range of each other due to mobility, re-clustering does not happen for a specic time interval. After expiration of that time, re- clustering is triggered and node with lower mobility metric, is selected cluster head. 4) The PTH Algorithm : The PTH algorithm was proposed by F. El Ali et al. to solve the problem of path maintaining in dynamic networks [45]. This algorithm works by doing some local adjustments because in dynamic networks, information of the global network is unusable. Source and destination start a direct communication but when they move apart from each other then PTH algorithm takes action which maintains path from source to destination by using neighbor nodes of the broken links to disseminate information. PTH algorithm basically follows three mechanisms. First one is Local periodic update, second is path reduction and third is path extension. Local periodic update mechanism is related to the changes in neighborhood like nodes or links failures. These messages regarding the status and path are periodically sent. In these messages, information specifying the current sender and receiver is also sent with the help of ags as shown in gure 1 [45]. Main purpose of these messages is to inform local nodes about the current states of paths. According to this information, receiver nodes may also change their information respectively. Path extension mechanism deals with link breaking. When- ever nodes move apart from each other, their links are bro- ken. When a node sends some periodic messages, it expects acknowledgment and if it receives ack it means receiver has received message. But if ack is not received, message with uncertainty ag is sent to neighbors in order to propose for recovering path. Path reduction mechanism deals with the reduction of paths whenever possible. Path reducing nodes can be either the part of already built path or its neighbors. When neighbor sees the communication of other nodes and thinks it can reduce the path by relaying information instead of other intermediate nodes, it proposes for new reduced path. Path extension and reduction is shown in gure 2 [45]. C. Routing based Algorithms In dynamic networks, changes frequently happen in form of topology change, link breakage etc which are unpredictable in nature. Due to this unstable nature of a network, efcient routing becomes an important issue. Many routing techniques have been proposed according to problem domains but not a single technique is a compound solution of all problems. There is always tradeoff between network performance and the requirement in applications. Many researchers have classied routing based algorithms into different types. Some have categorized on shortest paths basis and some have categorized on optimal parameter basis. So, some of the devised algorithms for routing in dynamic networks are discussed here briey and some are discussed in summary table. 1) Regular and Uniform Ants Algorithms: Regular and uniform ants algorithms were proposed by Devika Suramanian et al. [57]. These algorithms were basically presented as adaptive to the topological and link cost changes of a network. Ant algorithms are actually inspired from the actions of natural ants to nd shortest paths for their food sources using fewer computations after exploring the network. These algorithms are suitable for highly dynamic networks because routing overhead is independent of changes in link states, cost etc. Ant algorithms mainly work on three principles. One is the exploration of network, second is making probabilistic for- warding tables and third is probabilistically updating forward- ing tables [57]. Each host in the network initiates a message, specifying the link cost from generator to receiver, which is sent to another randomly chosen host. This cost is incremented each time when message is forwarded to other hosts. These messages are called ants which explore the network. When messages reach destination nally, overall backward cost is computed from destination to source. Other algorithms like link state algorithms and distance vector algorithms make forwarding tables which are deterministic but ant algorithms make their forwarding tables which are probabilistic. For example, a router maintains its table for a message which is destined for router d, by keeping its route from neighbors and probability for each route. It forwards message to neighbors also with probability which is useful for choosing alternate paths. Ants probabilistically update tables of each router which comes in traversing path from source to destination. Cost at each router is updated from reverse path to source information. Table updating rules are taken from [58]. In regular ants algorithm, ants follow the discovered route. If a more suitable non congested path is discovered then new ants will be routed from that path. This will nally converge to a single shortest path. Regular ants algorithm also requires path cost symmetry which means cost from source s to destination d is same as d to s. Therefore this algorithm is mostly suitable for telephone networks. On the other hand, uniform ants explore paths on the basis of equal probabilities. Uniform ants are simpler than regular ants and are multipath nodes. In uniform ant structure, time to live eld is also species after which it is terminated. It also does not need destinations because knowledge of every host of network is not always useful for each node. This algorithm is suitable also for data networks. 9 TABLE IV. SUMMARY OF ROUTING ALGORITHMS Algorithms Type Reference Comments Caching and Multipath Routing Algorithm Shortest Path A. C. Valera and K.G. Seah [46] This algorithm uses cooperative packet caching and uses shortest paths. It also reduces the chances of packet failure and reduces end to end delay. Opportunistic Routing Algorithm Shortest Path H. Dubois- Ferriere et al. [47] This algorithm assigns a group of relays to a node in order to minimize cost to reach destination. Routing/Scheduling Backpressure Algorithm Shortest Path and Throughput optimal Li Ying et al. [48] This algorithm chooses set of shortest optimal paths for source to reach to destination as well as shows the stability in network. DSDV, WRP, GSR and CGSR Routing Algorithms Table driven (Proactive) Kapil Vyas et al. [49] These algorithms perform routing of data by pre dened routes. Tables are maintained by collecting the information of whole network. AODV, DSR, TORA, ABR and SSR Routing Algorithms On Demand (Reactive) Kapil Vyas et al. [49] These algorithms make routes to destinations on demand whenever there is request. ZRP, ZHLS Routing Algorithms Hybrid Marwa Altayeb and and Imad Mahgoub [50] These algorithms are combination of reactive and proactive routing algo- rithms. TABLE V. SUMMARY OF ENERGY BALANCING ALGORITHMS Algorithms Type Reference Comments Multipath and Energy aware ondemand source routing (MEA-DSR) Algorithm Load Distribution S. Chettibi et al. [51] In this algorithm, routes are discovered by keeping residual energy of nodes into consideration. Energy aware multipath routing Algorithm Load Distribution Meng Li et al. [52] This algorithm shares information among physical layer, mac layer and network layer and utilizes resources like energy and bandwidth efciently. Power aware on demand source routing Algorithm Load Distribution Morteza Malki [53] In this algorithm, routes are maintained also on the basis of energy and these routes can be made invalid due to energy depletion. Dynamic Path Switching Algorithm Sleep/Power down Giampaolo Bella [54] This algorithm switches the overloaded nodes to sleep due to energy depletion and chooses suitable nodes to play their role. Battery energy efcient Algorithm Transmission Power Control Carla F. Chi- asserini et al. [55] This algorithm selects the routes for transmission on the basis of lowest transmission energy to avoid inefciency of batteries. Power aware routing Algorithm Transmission Power Control Vinay Rishiwal et al. [56] This algorithm establishes less congested route between source and destination and improves network lifetime by minimizing power consumption. 2) Regular and Uniform Ants Algorithms: Q-routing al- gorithm was proposed by Justin A. Boyan et al. [59]. This algorithm is based on learning of packet routing policy that makes this algorithm balanced in reducing the number of hops to minimum with the probability of congestion. Different routing decisions are performed in order to gather information about which decision minimizes the delay in delivery among many routing policies. Routing policy guides a node to send packet to its neighborhood node through which it can be reached to its nal destination as early as possible. The performance of this decision is measured by the total delivery time of packet, so this is measured when packet is reached to its nal destination. Q-routing algorithm uses only local information instead of having the global knowledge of whole network. As this algorithm is based on continual learning, thats why this is suitable for unpredictably changing connections and load in a network. D. Energy balancing Algorithms Dynamic networks consisting of large number of entities are mostly those in which there is no centralized continuous power source for network components. These entities have limited power resources in form of DC batteries. Replacement of batteries of each node after a short period of time is impossible. Therefore in order to improve network lifetime by minimizing the energy consumption, many algorithms are suggested. These algorithms are normally classied into three types: Load distribution, sleep/power down and transmission power control [60]. An example algorithm is discussed below and some of the algorithms are discussed in summary table. 1) An Energy Balanced Dynamic Topology Control Algo- rithm: This algorithm was developed by Xiaoyu Chu et al. [61]. Energy balanced dynamic topology control (EBTC) algo- rithm takes original energy of transmission and reception, into consideration for the purpose of increasing lifetime. In EBTC algorithm, a node tries to minimize its energy consumption as well as tries to balance energy of all other nodes equally. In the start of EBTC algorithm, each node broadcasts information of its current energy level at maximum transmission power. After having information of neighbors, nodes calculate weights of edges. Now the collect data phase starts in which all local information is broadcasted by each node to build up its own graph. When information is received, local graph is constructed by using the algorithm Construct Local Graph (CLG) [62]. Now Directed Local Spanning Sub-graph (DLSS) algorithm [62] is used to minimize the topology according to the weight assignments. After construction of sub-graph, having only bidirectional links in sub-graph is not necessary. In EBTC 10 algorithm, edges are removed which do not have reverse links in order to minimize the interference among transmission. Now updated neighbor information is broadcasted and edges without reverse links are removed and their transmission power is considered smallest only necessary to maintain connectivity. IV. CONCLUSION In this paper, we surveyed different areas of dynamic networks and discussed different models, algorithms and tech- niques use to deal effectively with the challenges arise due to dynamicity in these networks. We have seen how adversarial, stochastic and game-theoretic models are used to study and analyze the different problems due to dynamicity of network and then their use to evaluate the performance of proposed algorithms and techniques to solve these problems. We then discussed state of the art algorithmic techniques for some illustrative problem domains of dynamic networks such as load-balancing algorithms, mobility based algorithms, energy balanced algorithms, routing and path maintaining algorithms. As the network architectures are evolving to meet the needs of new services new problems are arising. This paper presents common platform for researchers working in one area of dynamic network to get insight in handling the same problem in other areas of dynamic networks. In addition, it also high- lighted the natural differences in different dynamic networks to analyze and modify the algorithms use in one type of dynamic network to apply it in other type accordingly. V. FUTURE WORK As new applications and services are adding increasingly to the networks, the network architectures are becoming more complex and new problems are arising day by day. Therefore, it requires to extend this exploration of diversity of dynamic networks to nd out more of commonalities and natural differences among them and nding out more of their new problem domains and their proposed models, algorithms and techniques. REFERENCES [1] S. Dolev, Self-stabilization. The MIT press, 2000. [2] F. Harary and G. Gupta, Dynamic graph models, Mathematical and Computer Modelling, vol. 25, no. 7, pp. 7987, 1997. [3] C. C. Bilgin and B. Yener, Dynamic network evolution: Models, clustering, anomaly detection, IEEE Networks, 2006. [4] A. Casteigts, P. Flocchini, W. Quattrociocchi, and N. Santoro, Time- varying graphs and dynamic networks, in Ad-hoc, Mobile, and Wireless Networks. Springer, 2011, pp. 346359. [5] R. L. Cruz, A calculus for network delay. i. network elements in isolation, Information Theory, IEEE Transactions on, vol. 37, no. 1, pp. 114131, 1991. [6] A. Borodin, J. Kleinberg, P. Raghavan, M. Sudan, and D. P. Williamson, Adversarial queueing theory, in Proceedings of the twenty-eighth annual ACM symposium on Theory of computing. ACM, 1996, pp. 376385. [7] A. Anagnostopoulos, A. Kirsch, and E. Upfal, Load balancing in arbitrary network topologies with stochastic adversarial input, SIAM Journal on Computing, vol. 34, no. 3, pp. 616639, 2005. [8] C. DuBois, C. T. Butts, and P. Smyth, Stochastic blockmodeling of relational event dynamics, A, A, vol. 1, p. 0. [9] C. Osorio, G. Fl otter od, and M. Bierlaire, Dynamic network loading: A stochastic differentiable model that derives link state distributions, Procedia-Social and Behavioral Sciences, vol. 17, pp. 364381, 2011. [10] R. S. Komali, Game-theoretic analysis of topology control, Ph.D. dissertation, Virginia Polytechnic Institute and State University, 2008. [11] A. Patcha and J.-M. Park, A game theoretic formulation for intrusion detection in mobile ad hoc networks. IJ Network Security, vol. 2, no. 2, pp. 131137, 2006. [12] M. Andrews, B. Awerbuch, A. Fern andez, T. Leighton, Z. Liu, and J. Kleinberg, Universal-stability results and performance bounds for greedy contention-resolution protocols, Journal of the ACM (JACM), vol. 48, no. 1, pp. 3969, 2001. [13] A. Goel, Stability of networks and protocols in the adversarial queue- ing model for packet routing, Networks, vol. 37, no. 4, pp. 219224, 2001. [14] W. Aiello, E. Kushilevitz, R. Ostrovsky, and A. Ros en, Adaptive packet routing for bursty adversarial trafc, in Proceedings of the thirtieth annual ACM symposium on Theory of computing. ACM, 1998, pp. 359368. [15] T. A. Snijders, Stochastic actor-oriented models for network change, Journal of mathematical sociology, vol. 21, no. 1-2, pp. 149172, 1996. [16] T. A. Snijders, G. G. Van de Bunt, and C. E. Steglich, Introduction to stochastic actor-based models for network dynamics, Social networks, vol. 32, no. 1, pp. 4460, 2010. [17] P. W. Holland and S. Leinhardt, An exponential family of probability distributions for directed graphs, Journal of the american Statistical association, vol. 76, no. 373, pp. 3350, 1981. [18] G. G. Van de Bunt and P. Groenewegen, An actor-oriented dynamic network approach the case of interorganizational network evolution, Organizational Research Methods, vol. 10, no. 3, pp. 463482, 2007. [19] K. S. Xu and A. O. Hero III, Dynamic stochastic blockmodels: Statistical models for time-evolving networks, in Social Computing, Behavioral-Cultural Modeling and Prediction. Springer, 2013, pp. 201210. [20] P. W. Holland, K. B. Laskey, and S. Leinhardt, Stochastic blockmodels: First steps, Social networks, vol. 5, no. 2, pp. 109137, 1983. [21] S. S. Haykin et al., Kalman ltering and neural networks. Wiley Online Library, 2001. [22] P. W. Holland and S. Leinhardt, Local structure in social networks, Sociological methodology, vol. 7, pp. 145, 1976. [23] M. E. Newman and M. Girvan, Finding and evaluating community structure in networks, Physical review E, vol. 69, no. 2, p. 026113, 2004. [24] C. Osorio and M. Bierlaire, A multi-model algorithm for the optimiza- tion of congested networks, in European Transport Conference, 2009, 2009. [25] M. J. Osborne, A course in game theory. Cambridge, Mass.: MIT Press, 1994. [26] S. Eidenbenz, V. Kumar, and S. Zust, Equilibria in topology control games for ad hoc networks, Mobile Networks and Applications, vol. 11, no. 2, pp. 143159, 2006. [27] J. E. Wieselthier, G. D. Nguyen, and A. Ephremides, On the con- struction of energy-efcient broadcast and multicast trees in wireless networks, in INFOCOM 2000. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies. Proceedings. IEEE, vol. 2. IEEE, 2000, pp. 585594. [28] M. H. Willebeek-LeMair and A. P. Reeves, Strategies for dynamic load balancing on highly parallel computers, Parallel and Distributed Systems, IEEE Transactions on, vol. 4, no. 9, pp. 979993, 1993. [29] B. Hess, C. Kutzner, D. Van Der Spoel, and E. Lindahl, Gromacs 4: Algorithms for highly efcient, load-balanced, and scalable molecular 11 simulation, Journal of chemical theory and computation, vol. 4, no. 3, pp. 435447, 2008. [30] C.-Z. Xu and F. C. M. Lau, Analysis of the generalized dimension exchange method for dynamic load balancing, Journal of Parallel and Distributed Computing, vol. 16, no. 4, pp. 385393, 1992. [31] W. Shu and M.-Y. Wu, Runtime incremental parallel scheduling (rips) on distributed memory computers, Parallel and Distributed Systems, IEEE Transactions on, vol. 7, no. 6, pp. 637649, 1996. [32] M.-Y. Wu, On runtime parallel scheduling for processor load balanc- ing, Parallel and Distributed Systems, IEEE Transactions on, vol. 8, no. 2, pp. 173186, 1997. [33] C.-Z. Xu and F. C. Lau, The generalized dimension exchange method for load balancing in i k/i-ary i n/i-cubes and variants, Journal of Parallel and Distributed Computing, vol. 24, no. 1, pp. 7285, 1995. [34] W. Y. Lee, S. J. Hong, J. Kim, and S. Lee, Dynamic load balancing for switch-based networks, Journal of Parallel and Distributed Computing, vol. 63, no. 3, pp. 286298, 2003. [35] A. R. H. Hussein, S. Yousef, and O. Arabiyat, A load-balancing and weighted clustering algorithm in mobile ad-hoc network. [36] L. M. Correia, Mobile broadband multimedia networks: techniques, models and tools for 4G. Access Online via Elsevier, 2010. [37] F. G. Nocetti, J. S. Gonzalez, and I. Stojmenovic, Connectivity based k-hop clustering in wireless networks, Telecommunication systems, vol. 22, no. 1-4, pp. 205220, 2003. [38] I. I. Er and W. K. G. Seah, Mobility-based d-hop clustering algorithm for mobile ad hoc networks, in Wireless Communications and Net- working Conference, 2004. WCNC. 2004 IEEE, vol. 4. IEEE, 2004, pp. 23592364. [39] S. Basagni, Distributed clustering for ad hoc networks, in Parallel Ar- chitectures, Algorithms, and Networks, 1999.(I-SPAN99) Proceedings. Fourth InternationalSymposium on. IEEE, 1999, pp. 310315. [40] F. Li, S. Zhang, X. Wang, X. Xue, and H. Shen, Vote-based clustering algorithm in mobile ad hoc networks, in Information Networking. Net- working Technologies for Broadband and Mobile Networks. Springer, 2004, pp. 1323. [41] F. D. Tolba, D. Magoni, and P. Lorenz, Connectivity, energy and mobility driven clustering algorithm for mobile ad hoc networks, in Global Telecommunications Conference, 2007. GLOBECOM07. IEEE. IEEE, 2007, pp. 27862790. [42] P. Basu, N. Khan, and T. D. Little, A mobility based metric for clustering in mobile ad hoc networks, in Distributed Computing Systems Workshop, 2001 International Conference on. IEEE, 2001, pp. 413418. [43] T. Bernard, A. Bui, L. Pilard, and D. Sohier, A distributed clustering algorithm for dynamic networks, arXiv preprint arXiv:1011.2953, 2010. [44] A. B. McDonald and T. F. Znati, A mobility-based framework for adaptive clustering in wireless ad hoc networks, Selected Areas in Communications, IEEE Journal on, vol. 17, no. 8, pp. 14661487, 1999. [45] F. El Ali, B. Ducourthial et al., A distributed algorithm for path maintaining in dynamic networks, Proceeding of DYNAM, 2011. [46] A. C. Valera, W. K. G. Seah, and S. Rao, Improving protocol robustness in ad hoc networks through cooperative packet caching and shortest multipath routing, Mobile Computing, IEEE Transactions on, vol. 4, no. 5, pp. 443457, 2005. [47] H. Dubois-Ferri` ere, M. Grossglauser, and M. Vetterli, Valuable detours: Least-cost anypath routing, Networking, IEEE/ACM Transactions on, vol. 19, no. 2, pp. 333346, 2011. [48] L. Ying, S. Shakkottai, A. Reddy, and S. Liu, On combining shortest- path and back-pressure routing over multihop wireless networks, IEEE/ACM Transactions on Networking (TON), vol. 19, no. 3, pp. 841 854, 2011. [49] K. Vyas, M. H. Gupta, and H. Pathak, Algorithm and its application on mobile ad hoc network survey. [50] F. Li and Y. Wang, Routing in vehicular ad hoc networks: A survey, Vehicular Technology Magazine, IEEE, vol. 2, no. 2, pp. 1222, 2007. [51] S. Chettibi and M. Benmohamed, A multipath energy-aware on demand source routing protocol for mobile ad-hoc networks, arXiv preprint arXiv:0902.4572, 2009. [52] M. Li, L. Zhang, V. O. Li, X. Shan, and Y. Ren, An energy-aware multipath routing protocol for mobile ad hoc networks, ACM Sigcomm Asia, vol. 5, pp. 1012, 2005. [53] M. Maleki, K. Dantu, and M. Pedram, Power-aware source routing protocol for mobile ad hoc networks, in Low Power Electronics and Design, 2002. ISLPED02. Proceedings of the 2002 International Symposium on. IEEE, 2002, pp. 7275. [54] G. Bella, G. Costantino, J. Crowcroft, and S. Riccobene, Enhancing dsr maintainance with power awareness, Computer Standards & Interfaces, 2012. [55] C.-F. Chiasserini, I. Chlamtac, P. Monti, and A. Nucci, Energy efcient design of wireless ad hoc networks, in NETWORKING 2002: Network- ing Technologies, Services, and Protocols; Performance of Computer and Communication Networks; Mobile and Wireless Communications. Springer, 2006, pp. 376386. [56] V. Rishiwal, M. Yadav, and S. Verma, Power aware routing to support real time trafc in mobile adhoc networks, in Emerging Trends in Engineering and Technology, 2008. ICETET08. First International Conference on. IEEE, 2008, pp. 223227. [57] D. Subramanian, P. Druschel, and J. Chen, Ants and reinforcement learning: A case study in routing in dynamic networks, in IJCAI (2). Citeseer, 1997, pp. 832839. [58] R. Schoonderwoerd, O. E. Holland, J. L. Bruten, and L. J. Rothkrantz, Ant-based load balancing in telecommunications networks, Adaptive behavior, vol. 5, no. 2, pp. 169207, 1997. [59] J. A. Boyan and M. L. Littman, Packet routing in dynamically changing networks: A reinforcement learning approach, Advances in neural information processing systems, pp. 671671, 1994. [60] K. Sharma and V. Sharma, Energy efcient power aware multipath dynamic source routinga survey, International Journal, vol. 3, no. 5, 2013. [61] X. Chu and H. Sethu, An energy balanced dynamic topology control algorithm for improved network lifetime, arXiv preprint arXiv:1309.3284, 2013. [62] N. Li and J. C. Hou, Localized topology control algorithms for het- erogeneous wireless networks, IEEE/ACM Transactions on Networking (TON), vol. 13, no. 6, pp. 13131324, 2005. Muhammad Nohman Javed Muhammad Nohman Javed, MS student at the Electrical Engineering Department of SEECS, NUST. 12 Manan Saif Manan Saif, MS student at the Electrical Engineering Department of SEECS, NUST. Sikandar Afridi Sikandar Afridi, MS student at the Electrical Engineering Department of SEECS, NUST. Junaid Qadir Junaid Qadir, Assistant Professor at the Electrical Engineering Department of SEECS, NUST.