40 research outputs found

    Avatar: A Time- and Space-Efficient Self-Stabilizing Overlay Network

    Full text link
    Overlay networks present an interesting challenge for fault-tolerant computing. Many overlay networks operate in dynamic environments (e.g. the Internet), where faults are frequent and widespread, and the number of processes in a system may be quite large. Recently, self-stabilizing overlay networks have been presented as a method for managing this complexity. \emph{Self-stabilizing overlay networks} promise that, starting from any weakly-connected configuration, a correct overlay network will eventually be built. To date, this guarantee has come at a cost: nodes may either have high degree during the algorithm's execution, or the algorithm may take a long time to reach a legal configuration. In this paper, we present the first self-stabilizing overlay network algorithm that does not incur this penalty. Specifically, we (i) present a new locally-checkable overlay network based upon a binary search tree, and (ii) provide a randomized algorithm for self-stabilization that terminates in an expected polylogarithmic number of rounds \emph{and} increases a node's degree by only a polylogarithmic factor in expectation

    Snap-Stabilizing Message Forwarding Algorithm on Tree Topologies

    Get PDF
    In this paper, we consider the message forwarding problem that consists in managing the network resources that are used to forward messages. Previous works on this problem provide solutions that either use a significant number of buffers (that is n buffers per processor, where n is the number of processors in the network) making the solution not scalable or, they reserve all the buffers from the sender to the receiver to forward only one message %while using D buffers (where D refers to the diameter of the network) . The only solution that uses a constant number of buffers per link was introduced in [1]. However the solution works only on a chain networks. In this paper, we propose a snap-stabilizing algorithm for the message forwarding problem that uses the same complexity on the number of buffers as [1] and works on tree topologies.Nous considérons dans ce papier le problème d'acheminement de messages qui consiste à gérer les ressources du réseau. Des Solutions ont été proposées, soit qui utilisent un nombre significatif de buffers (n buffers par processeur où n correspond au nombre de processeurs dans le réseau), ce qui rend cette solution non adaptée au réseaux à grande échelle. Soit elles doivent réserver tout les buffers de la source à la destination. La seule solution qui utilise un nombre constant de buffers par lien a été introduite dans [1], cela dit cette solution fonctionne seulement sur des topologies linéaires. Dans ce papier, nous proposons un algorithme instantanément stabilisant pour le problème d'acheminement de messages ayant la même complexité en terme de nombre de buffers que [1] et qui fonctionne sur des topologies en arbre

    Self-stabilizing wormhole routing in hypercubes

    Full text link
    Wormhole routing is an efficient technique used to communicate message packets between processors when they are not completely connected. To the best of our knowledge, this is the first attempt at designing a self-stabilizing wormhole routing algorithm for hypercubes. Our first algorithm handles all types of faults except for node/link failures. This algorithm achieves optimality in terms of routing path length by following only the preferred dimensions. In an n-dimensional hypercube, those dimensions in which source and destination address bits differ are called preferred dimensions. Our second algorithm handles topological changes. We propose an efficient scheme of rerouting flits in case of node/link failures. Similar to the first algorithm, this algorithm also tries to follow preferred dimensions if they are nonfaulty at the time of transmitting the flits. However, due to topological faults it is necessary to take non-preferred dimensions resulting in suboptimality of path selection. Formal proof of correctness for both solutions is given. (Abstract shortened by UMI.)

    Corona: a stabilizing deterministic message-passing skip list

    Get PDF
    We present Corona, a deterministic self-stabilizing algorithm for skip list construction in structured overlay networks. Corona operates in the low-atomicity message-passing asynchronous system model. Corona requires constant process memory space for its operation and, therefore, scales well. We prove the general necessary conditions limiting the initial states from which a self-stabilizing structured overlay network in a message-passing system can be constructed. The conditions require that initial state information has to form a weakly connected graph and it should only contain identifiers that are present in the system. We formally describe Corona and rigorously prove that it stabilizes from an arbitrary initial state subject to the necessary conditions. We extend Corona to construct a skip graph

    A Radio Link Quality Model and Simulation Framework for Improving the Design of Embedded Wireless Systems

    Get PDF
    Despite the increasing application of embedded wireless systems, developers face numerous challenges during the design phase of the application life cycle. One of the critical challenges is ensuring performance reliability with respect to radio link quality. Specifically, embedded links experience exaggerated link quality variation, which results in undesirable wireless performance characteristics. Unfortunately, the resulting post-deployment behaviors often necessitate network redeployment. Another challenge is recovering from faults that commonly occur in embedded wireless systems, including node failure and state corruption. Self-stabilizing algorithms can provide recovery in the presence of such faults. These algorithms guarantee the eventual satisfaction of a given state legitimacy predicate regardless of the initial state of the network. Their practical behavior is often different from theoretical analyses. Unfortunately, there is little tool support for facilitating the experimental analysis of self-stabilizing systems. We present two contributions to support the design phase of embedded wireless system development. First, we provide two empirical models that predict radio-link quality within specific deployment environments. These models predict link performance as a function of inter-node distance and radio power level. The models are culled from extensive experimentation in open grass field and dense forest environments using all radio power levels and covering up to the maximum distances reachable by the radio. Second, we provide a simulation framework for simulating self-stabilizing algorithms. The framework provides three feature extensions: (i) fault injection to study algorithm behavior under various fault scenarios, (ii) automated detection of non-stabilizing behavior; and (iii) integration of the link quality models described above. Our contributions aim at avoiding problems that could result in the need for network redeployment

    Dtn and non-dtn routing protocols for inter-cubesat communications: A comprehensive survey

    Get PDF
    CubeSats, which are limited by size and mass, have limited functionality. These miniaturised satellites suffer from a low power budget, short radio range, low transmission speeds, and limited data storage capacity. Regardless of these limitations, CubeSats have been deployed to carry out many research missions, such as gravity mapping and the tracking of forest fires. One method of increasing their functionality and reducing their limitations is to form CubeSat networks, or swarms, where many CubeSats work together to carry out a mission. Nevertheless, the network might have intermittent connectivity and, accordingly, data communication becomes challenging in such a disjointed network where there is no contemporaneous path between source and destination due to satellites’ mobility pattern and given the limitations of range. In this survey, various inter-satellite routing protocols that are Delay Tolerant (DTN) and Non Delay Tolerant (Non-DTN) are considered. DTN routing protocols are considered for the scenarios where the network is disjointed with no contemporaneous path between a source and a destination. We qualitatively compare all of the above routing protocols to highlight the positive and negative points under different network constraints. We conclude that the performance of routing protocols used in aerospace communications is highly dependent on the evolving topology of the network over time. Additionally, the Non-DTN routing protocols will work efficiently if the network is dense enough to establish reliable links between CubeSats. Emphasis is also given to network capacity in terms of how buffer, energy, bandwidth, and contact duration influence the performance of DTN routing protocols, where, for example, flooding-based DTN protocols can provide superior performance in terms of maximizing delivery ratio and minimizing a delivery delay. However, such protocols are not suitable for CubeSat networks, as they harvest the limited resources of these tiny satellites and they are contrasted with forwarding-based DTN routing protocols, which are resource-friendly and produce minimum overheads on the cost of degraded delivery probability. From the literature, we found that quota-based DTN routing protocols can provide the necessary balance between delivery delay and overhead costs in many CubeSat missions

    Self-stabilizing k-clustering in mobile ad hoc networks

    Full text link
    In this thesis, two silent self-stabilizing asynchronous distributed algorithms are given for constructing a k-clustering of a connected network of processes. These are the first self-stabilizing solutions to this problem. One algorithm, FLOOD, takes O( k) time and uses O(k log n) space per process, while the second algorithm, BFS-MIS-CLSTR, takes O(n) time and uses O(log n) space; where n is the size of the network. Processes have unique IDs, and there is no designated leader. BFS-MIS-CLSTR solves three problems; it elects a leader and constructs a BFS tree for the network, constructs a minimal independent set, and finally a k-clustering. Finding a minimal k-clustering is known to be NP -hard. If the network is a unit disk graph in a plane, BFS-MIS-CLSTR is within a factor of O(7.2552k) of choosing the minimal number of clusters; A lower bound is given, showing that any comparison-based algorithm for the k-clustering problem that takes o( diam) rounds has very bad worst case performance; Keywords: BFS tree construction, K-clustering, leader election, MIS construction, self-stabilization, unit disk graph

    Efficient Passive Clustering and Gateways selection MANETs

    Get PDF
    Passive clustering does not employ control packets to collect topological information in ad hoc networks. In our proposal, we avoid making frequent changes in cluster architecture due to repeated election and re-election of cluster heads and gateways. Our primary objective has been to make Passive Clustering more practical by employing optimal number of gateways and reduce the number of rebroadcast packets

    SoS: self-organizing substrates

    Get PDF
    Large-scale networked systems often, both by design or chance exhibit self-organizing properties. Understanding self-organization using tools from cybernetics, particularly modeling them as Markov processes is a first step towards a formal framework which can be used in (decentralized) systems research and design.Interesting aspects to look for include the time evolution of a system and to investigate if and when a system converges to some absorbing states or stabilizes into a dynamic (and stable) equilibrium and how it performs under such an equilibrium state. Such a formal framework brings in objectivity in systems research, helping discern facts from artefacts as well as providing tools for quantitative evaluation of such systems. This thesis introduces such formalism in analyzing and evaluating peer-to-peer (P2P) systems in order to better understand the dynamics of such systems which in turn helps in better designs. In particular this thesis develops and studies the fundamental building blocks for a P2P storage system. In the process the design and evaluation methodology we pursue illustrate the typical methodological approaches in studying and designing self-organizing systems, and how the analysis methodology influences the design of the algorithms themselves to meet system design goals (preferably with quantifiable guarantees). These goals include efficiency, availability and durability, load-balance, high fault-tolerance and self-maintenance even in adversarial conditions like arbitrarily skewed and dynamic load and high membership dynamics (churn), apart of-course the specific functionalities that the system is supposed to provide. The functionalities we study here are some of the fundamental building blocks for various P2P applications and systems including P2P storage systems, and hence we call them substrates or base infrastructure. These elemental functionalities include: (i) Reliable and efficient discovery of resources distributed over the network in a decentralized manner; (ii) Communication among participants in an address independent manner, i.e., even when peers change their physical addresses; (iii) Availability and persistence of stored objects in the network, irrespective of availability or departure of individual participants from the system at any time; and (iv) Freshness of the objects/resources' (up-to-date replicas). Internet-scale distributed index structures (often termed as structured overlays) are used for discovery and access of resources in a decentralized setting. We propose a rapid construction from scratch and maintenance of the P-Grid overlay network in a self-organized manner so as to provide efficient search of both individual keys as well as a whole range of keys, doing so providing good load-balancing characteristics for diverse kind of arbitrarily skewed loads - storage and replication, query forwarding and query answering loads. For fast overlay construction we employ recursive partitioning of the key-space so that the resulting partitions are balanced with respect to storage load and replication. The proper algorithmic parameters for such partitioning is derived from a transient analysis of the partitioning process which has Markov property. Preservation of ordering information in P-Grid such that queries other than exact queries, like range queries can be efficiently and rather trivially handled makes P-Grid suitable for data-oriented applications. Fast overlay construction is analogous to building an index on a new set of keys making P-Grid suitable as the underlying indexing mechanism for peer-to-peer information retrieval applications among other potential applications which may require frequent indexing of new attributes apart regular updates to an existing index. In order to deal with membership dynamics, in particular changing physical address of peers across sessions, the overlay itself is used as a (self-referential) directory service for maintaining the participating peers' physical addresses across sessions. Exploiting this self-referential directory, a family of overlay maintenance scheme has been designed with lower communication overhead than other overlay maintenance strategies. The notion of dynamic equilibrium study for overlays under continuous churn and repairs, modeled as a Markov process, was introduced in order to evaluate and compare the overlay maintenance schemes. While the self-referential directory was originally invented to realize overlay maintenance schemes with lower overheads than existing overlay maintenance schemes, the self-referential directory is generic in nature and can be used for various other purposes, e.g., as a decentralized public key infrastructure. Persistence of peer identity across sessions, in spite of changes in physical address, provides a logical independence of the overlay network from the underlying physical network. This has many other potential usages, for example, efficient maintenance mechanisms for P2P storage systems and P2P trust and reputation management. We specifically look into the dynamics of maintaining redundancy for storage systems and design a novel lazy maintenance strategy. This strategy is algorithmically a simple variant of existing maintenance strategies which adapts to the system dynamics. This randomized lazy maintenance strategy thus explores the cost-performance trade-offs of the storage maintenance operations in a self-organizing manner. We model the storage system (redundancy), under churn and maintenance, as a Markov process. We perform an equilibrium study to show that the system operates in a more stable dynamic equilibrium with our strategy than for the existing maintenance scheme for comparable overheads. Particularly, we show that our maintenance scheme provides substantial performance gains in terms of maintenance overhead and system's resilience in presence of churn and correlated failures. Finally, we propose a gossip mechanism which works with lower communication overhead than existing approaches for communication among a relatively large set of unreliable peers without assuming any specific structure for their mutual connectivity. We use such a communication primitive for propagating replica updates in P2P systems, facilitating management of mutable content in P2P systems. The peer population affected by a gossip can be modeled as a Markov process. Studying the transient spread of gossips help in choosing proper algorithm parameters to reduce communication overhead while guaranteeing coverage of online peers. Each of these substrates in themselves were developed to find practical solutions for real problems. Put together, these can be used in other applications, including a P2P storage system with support for efficient lookup and inserts, membership dynamics, content mutation and updates, persistence and availability. Many of the ideas have already been implemented in real systems and several others are in the way to be integrated into the implementations. There are two principal contributions of this dissertation. It provides design of the P2P systems which are useful for end-users as well as other application developers who can build upon these existing systems. Secondly, it adapts and introduces the methodology of analysis of a system's time-evolution (tools typically used in diverse domains including physics and cybernetics) to study the long run behavior of P2P systems, and uses this methodology to (re-)design appropriate algorithms and evaluate them. We observed that studying P2P systems from the perspective of complex systems reveals their inner dynamics and hence ways to exploit such dynamics for suitable or better algorithms. In other words, the analysis methodology in itself strongly influences and inspires the way we design such systems. We believe that such an approach of orchestrating self-organization in internet-scale systems, where the algorithms and the analysis methodology have strong mutual influence will significantly change the way future such systems are developed and evaluated. We envision that such an approach will particularly serve as an important tool for the nascent but fast moving P2P systems research and development community
    corecore