105 research outputs found
Resource-Aware Multimedia Content Delivery: A Gambling Approach
In this paper, we propose a resource-aware solution to achieving reliable and scalable stream diffusion in a probabilistic model, i.e. where communication links and processes are subject to message losses and crashes, respectively. Our solution is resource-aware in the sense that it limits the memory consumption, by strictly scoping the knowledge each process has about the system, and the bandwidth available to each process, by assigning a fixed quota of messages to each process. We describe our approach as gambling in the sense that it consists in accepting to give up on a few processes sometimes, in the hope of better serving all processes most of the time. That is, our solution deliberately takes the risk not to reach some processes in some executions, in order to reach every process in most executions. The underlying stream diffusion algorithm is based on a tree-construction technique that dynamically distributes the load of forwarding stream packets among processes, based on their respective available bandwidths. Simulations show that this approach pays off when compared to traditional gossiping, when the latter faces identical bandwidth constraints
Bast, A Framework for Reliable Distributed Computing
Although useful in the development of distributed systems, current reliable distributed environments, such as group communication toolkits (e.g., ISIS, TOTEM, PHOENIX) or transactional monitors (e.g., ENCINA, TUXEDO), are hardly extensible or customisable for specific application needs. The limitations of those systems are mainly due to their underlying distributed protocols, which are usually designed and implemented in an ad hoc manner. This paper presents BAST, an object-oriented framework for building fault-tolerant distributed applications. We also show how BAST is used to implement distributed protocols, by providing centralised and distributed design patterns . In particular, we present how we built atomic commitment and atomic multicast protocols, which provide adequate support for a wide range of fault-tolerant distributed applications. We detail customisation facilities of BAST and discuss our design in the light of different alternatives. Finally, we present BAST implementations in Smalltalk and Java, and we point out some optimisation issues
Using Virtual Mobile Nodes for Neighbor Detection in Proximity-Based Mobile Applications
We introduce a time-limited neighbor detector service for mobile ad hoc networks, which enables a mobile device to detect other nearby devices in the past, present and up to some bounded time interval in the future. Our motivation lies in the emergence of a new trend of mobile applications known as proximity-based mobile applications, which enable a user to communicate with other users within some defined range and for a certain amount of time. Neighbor discovery is a fundamental requirement for these applications and is not restricted to the current neighbors but can include past or future neighbors. To implement the time-limited neighbor detector service, we apply an approach based on virtual mobile nodes. A virtual mobile node is an abstraction that is akin to a mobile node that travels in the network in a predefined trajectory. In practice it can be implemented by a set of mobile nodes based on a replicated state machine approach. In this paper, we assume that each node can accurately predict its own locations up to some bounded time interval in the future. Thus, we present a time-limited neighbor detector algorithm that uses a virtual mobile node that continuously travels in the network, collects the predicted locations of all nodes, performs the neighborhood matching between nodes and sends the list of neighbors to each node. We show that our algorithm correctly implements the time-limited neighbor detector service under a set of conditions
Effective and efficient neighbor detection for proximity-based mobile applications
We consider the problem of maximizing both effectiveness and efficiency of the detection of a device by another device in a mobile ad hoc network, given a maximum amount of time that they remain in the proximity of each other. Effectiveness refers to the degree to which the detection is successful, while efficiency refers to the degree to which the detection is energy saving. Our motivation lies in the emergence of a new trend of mobile applications known as proximity-based mobile applications which enable a user to communicate with other users in some defined range and for a certain amount of time. The highly dynamic nature of these applications makes neighbor detection time-constrained, i.e., even if a device remains in proximity for a limited amount of time, it should be detected with a high probability as a neighbor. In addition, the limited battery life of mobile devices requires the neighbor-detection to be performed by consuming as little energy as possible. To address this problem, we perform a realistic simulation-based study in mobile ad hoc networks and we consider three typical urban environments where proximity-based mobile applications are used, namely indoor with hard partitions, indoor with soft partitions and outdoor urban areas. In our study, a node periodically broadcasts a message in order to be detected as a neighbor. Thus, we study the effect of parameters that we believe could influence effectiveness and efficiency, i.e., the transmission power and the time interval between two consecutive broadcasts. Our results show that regardless of the environment, effectiveness and efficiency are in conflict with each other. Thus, we propose a metric that can be used to make good tradeoffs between effectiveness and efficiency
A neighbor detection algorithm based on multiple virtual mobile nodes for mobile ad hoc networks
We introduce an algorithm that implements a time-limited neighbor detector service in mobile ad hoc networks. The time-limited neighbor detector enables a mobile device to detect other nearby devices in the past, present and up to some bounded time interval in the future. In particular, it can be used by a new trend of mobile applications known as proximity-based mobile applications. To implement the time-limited neighbor detector, our algorithm uses n = 2(k) virtual mobile nodes where k is a non-negative integer. A virtual mobile node is an abstraction that is akin to a mobile node that travels in the network in a predefined trajectory. In practice, it can be implemented by a set of real nodes based on a replicated state machine approach. Our algorithm implements the neighbor detector for real nodes located in a circular region. We also assume that each real node can accurately predict its own locations up to some bounded time interval Air Delta(predict) in the future. The key idea of the algorithm is that the virtual mobile nodes regularly collect location predictions of real nodes from different subregions, meet to share what they have collected with each other and then distribute the collected location predictions to real nodes. Thus, each real node can use the distributed location predictions for neighbor detection. We show that our algorithm is correct in periodically well-populated regions. We also define the minimum value of Delta(predict) for which the algorithm is correct. Compared to the previously proposed solution also based on the notion of virtual mobile nodes, our algorithm has two advantages: (1) it tolerates the failure of one to all virtual mobile nodes; (2) as n grows, it remains correct with smaller values of Delta(predict). This feature makes the real-world deployment of the neighbor detector easier since with the existing prediction methods, location predictions usually tend to become less accurate as Delta(predict) increases. We also show that the cost of our algorithm (in terms of communication) scales linearly with the number of virtual mobile nodes
- …