17 research outputs found
NATCracker: NAT Combinations Matter
In this paper, we report our experience in working
with Network Address Translators (NATs). Traditionally, there
were only 4 types of NATs. For each type, the (im)possibility
of traversal is well-known. Recently, the NAT community has
provided a deeper dissection of NAT behaviors resulting into at
least 27 types and documented the (im)possibility of traversal
for some types. There are, however, two fundamental issues that
were not previously tackled by the community. First, given the
more elaborate set of behaviors, it is incorrect to reason about
traversing a single NAT, instead combinations must be considered
and we have not found any study that comprehensively states,
for every possible combination, whether direct connectivity with
no relay is feasible. Such a statement is the first outcome of the
paper. Second, there is a serious need for some kind of formalism
to reason about NATs which is a second outcome of this paper.
The results were obtained using our own scheme which is an
augmentation of currently-known traversal methods. The scheme
is validated by reasoning using our formalism, simulation and
implementation in a real P2P network
Mesmerizer: A Effective Tool for a Complete Peer-to-Peer Software Development Life-cycle
In this paper we present what are, in our experience, the best
practices in Peer-To-Peer(P2P) application development and
how we combined them in a middleware platform called Mesmerizer. We explain how simulation is an integral part of
the development process and not just an assessment tool.
We then present our component-based event-driven framework for P2P application development, which can be used
to execute multiple instances of the same application in a
strictly controlled manner over an emulated network layer
for simulation/testing, or a single application in a concurrent
environment for deployment purpose. We highlight modeling aspects that are of critical importance for designing and
testing P2P applications, e.g. the emulation of Network Address Translation and bandwidth dynamics. We show how
our simulator scales when emulating low-level bandwidth
characteristics of thousands of concurrent peers while preserving a good degree of accuracy compared to a packet-level
simulator
A GPU-enabled solver for time-constrained linear sum assignment problems
This paper deals with solving large instances of the Linear Sum Assignment Problems (LSAPs) under realtime constraints, using Graphical Processing Units (GPUs). The motivating scenario is an industrial application for P2P live streaming that is moderated by a central tracker that is periodically solving LSAP instances to optimize the connectivity of thousands of peers. However, our findings are generic enough to be applied in other contexts. Our main contribution is a parallel version of a heuristic algorithm called Deep Greedy Switching (DGS) on GPUs using the CUDA programming language. DGS sacrifices absolute optimality in favor of a substantial speedup in comparison to classical LSAP solvers like the Hungarian and auctioning methods. We show the modifications needed to parallelize the DGS algorithm and the performance gains of our approach compared to a sequential CPU-based implementation of DGS and a mixed CPU/GPU-based implementation of it
On The Feasibility Of Centrally-Coordinated Peer-To-Peer Live Streaming
In this paper we present an exploration of central coordination as a way of managing P2P live streaming overlays.
The main point is to show the elements needed to construct a system with that approach. A key element in the feasibility of this approach is a near real-time optimization engine for peer selection. Peer organization in a way that enables high bandwidth utilization plus optimized peer selection based on multiple utility factors make it possible to achieve large source bandwidth savings and provide high quality of user experience. The benefits of our approach are also seen most when NAT constraints come into play
Accurate and Efficient Simulation of Bandwidth\\Dynamics for Peer-To-Peer Overlay Networks
When evaluating Peer-to-Peer content distribution systems by means of simulation, it is of vital importance to correctly mimic the bandwidth dynamics behavior of the underlying network. In this paper, we propose a scalable and accurate flow-level network simulation model based on an evolution of the classical progressive filling algorithm which implements the max-min fairness idea. We build on top of the current state of art by applying an optimization to reduce the cost of each bandwidth allocation/deallocation operation on a node-based directed network model. Unlike other works, our evaluation of the chosen approach focuses both on efficiency and on accuracy. Our experiments show that, in terms of scalability, our bandwidth allocation algorithm outperforms existing directed models when simulating large-scale structured overlay networks. Whereas, in terms of accuracy we show that allocation dynamics of the proposed solution follow those of the NS-2 packet-level simulator by a small and nearly constant offset for the same scenarios. To the best of our knowledge, this is the first time that an accuracy study has been conducted on an improvement of the classical progressive filling algorithm
Phthalates and heavy metals as endocrine disruptors in food: A study on pre-packed coffee products
Phthalate plasticizers and heavy metals are widely recognized to be pollutants that interfere with key developmental processes such as masculinization. We investigated the release of phthalates and heavy metals in coffee brewed from coffee packed in single-serve coffee containers made from different types of materials: metal, biodegradable and plastics. We detected with GC\u2013MS small amounts phthalates, below the tolerated daily risks levels, in all the coffees prepared from the different types of capsules. Specifically, Di (2-ethyl-hexyl)-phthalate and DiBP: Diisobuthyl-pthalate were ubiquitously present despite the high variability among the samples (respective range 0.16\u20131.87 \u3bcg/mL and 0.01\u20130.36 \u3bcg/mL). Whereas, diethyl-phthalate (range 0.20\u20130.26 \u3bcg/mL) and di-n-buthyl-phthalate (range 0.02\u20130.14 \u3bcg/mL) were detected respectively in one and three out of the four types of capsule tested. In contrast, we detected by atomic mass spectrometry on mineralized samples heavy metals lead (Pb) and nickel (Ni), in all coffee tested. PB levels (respective range 0.32\u2013211.57 \u3bcg/dose) accounted for 42\u201379%, whereas Ni levels (respective range 166.25\u20131950.26 \u3bcg/dose) accounted for >100% of the tolerable daily intake. These results add to the already present concerns related to the multiple pathways of human exposure and the ubiquitous presence of these pollutants in consumer products and their long-term effect on human health
Design and Implementation of Centrally-Coordinated Peer-to-Peer Live-streaming
In this thesis, we explore the use of a centrally-coordinated peer-to-peer overlay as a possible solution to the live streaming problem. Our contribution lies in showing that such approach is indeed feasible given that a number of key challenges are met. The motivation behind exploring an alternative design is that, although a number of approaches have been investigated in the past, e.g. mesh-pull and tree-push, hybrids and best-of-both-worlds mesh-push, no consensus has been reached on the best solution for the problem of peer-to-peer live streaming, despite current deployments and reported successes. In the proposed system, we model sender/receiver peer assignments as an optimization problem. Optimized peer selection based on multiple utility factors, such as bandwidth availability, delays and connectivity compatibility, make it possible to achieve large source bandwidth savings and provide high quality of user experience. Clear benefits of our approach are observed when Network Address Translation constraints are present on the network. We have addressed key scalability issues of our platform by parallelizing the heuristic which is the core of our optimization engine and by implementing the resulting algorithm on commodity Graphic Processing Units (GPUs). The outcome is a Linear Sum Assignment Problem (LSAP) solver for time-constrained systems which produces near-optimal results and can be used for any instance of LSAP, i.e. not only in our system. Â As part of this work, we also present our experience in working with Network Address Translators (NATs) traversal in peer-to-peer systems. Our contribution in this context is threefold. First, we provide a semi-formal model of state of the art NAT behaviors. Second, we use our model to show which NAT combinations can be theoretically traversed and which not. Last, for each of the combinations, we state which traversal technique should be used. Our findings are confirmed by experimental results on a real network. Finally, we address the problem of reproducibility in testing, debugging and evaluation of our peer-to-peer application. We achieve this by providing a software framework which can be transparently integrated with any already-existing software and which is able to handle concurrency, system time and network events in a reproducible manner. Â QC 2011042
A System, Tools and Algorithms for Adaptive HTTP-live Streaming on Peer-to-peer Overlays
In recent years, adaptive HTTP streaming protocols have become the de facto standard in the industry for the distribution of live and video-on-demand content over the Internet. In this thesis, we solve the problem of distributing adaptive HTTP live video streams to a large number of viewers using peer-to-peer (P2P) overlays. We do so by assuming that our solution must deliver a level of quality of user experience which is the same as a CDN while trying to minimize the load on the content provider’s infrastructure. Besides that, in the design of our solution, we take into consideration the realities of the HTTP streaming protocols, such as the pull-based approach and adaptive bitrate switching. The result of this work is a system which we call SmoothCache that provides CDN-quality adaptive HTTP live streaming utilizing P2P algorithms. Our experiments on a real network of thousands of consumer machines show that, besides meeting the the CDN-quality constraints, SmoothCache is able to consistently deliver up to 96% savings towards the source of the stream in a single bitrate scenario and 94% in a multi-bitrate scenario. In addition, we have conducted a number of pilot deployments in the setting of large enterprises with the same system, albeit tailored to private networks. Results with thousands of real viewers show that our platform provides an average offloading of bottlenecks in the private network of 91.5%. These achievements were made possible by advancements in multiple research areas that are also presented in this thesis. Each one of the contributions is novel with respect to the state of the art and can be applied outside of the context of our application. However, in our system they serve the purposes described below. We built a component-based event-driven framework to facilitate the development of our live streaming application. The framework allows for running the same code both in simulation and in real deployment. In order to obtain scalability of simulations and accuracy, we designed a novel flow-based bandwidth emulation model. In order to deploy our application on real networks, we have developed a network library which has the novel feature of providing on-the-fly prioritization of transfers. The library is layered over the UDP protocol and supports NAT Traversal techniques. As part of this thesis, we have also improved on the state of the art of NAT Traversal techniques resulting in higher probability of direct connectivity between peers on the Internet. Because of the presence of NATs on the Internet, discovery of new peers and collection of statistics on the overlay through peer sampling is problematic. Therefore, we created a peer sampling service which is NAT-aware and provides one order of magnitude fresher samples than existing peer sampling protocols. Finally, we designed SmoothCache as a peer-assisted live streaming system based on a distributed caching abstraction. In SmoothCache, peers retrieve video fragments from the P2P overlay as quickly as possible or fall back to the source of the stream to keep the timeliness of the delivery. In order to produce savings, the caching system strives to fill up the local cache of the peers ahead of playback by prefetching content. Fragments are efficiently distributed by a self-organizing overlay network that takes into account many factors such as upload bandwidth capacity, connectivity constraints, performance history and the currently being watched bitrate.QC 20131122</p