60 research outputs found
Gestion de versions de formats avec Camlp4
National audienceLa gestion des changements de formats est un problème crucial de l'informatique : encore aujourd'hui, peu d'applications sont capables de lire des données sauvées dans un format d'une version antérieure ; en distribué, les versions de programmes devant communiquer entre eux sont de plus en plus hétérogènes, en particuliers dans les systèmes pair-à-pair. Dans ce papier, nous présentons une extension de syntaxe d'Objective-Caml en Camlp4 permettant de gérer plus efficacement les évolutions de formats, aussi bien dans les fichiers sauvegardés que dans les messages échangés dans un système distribué
Ocp-build: un gestionnaire de projets pour OCaml
National audienceDans ce papier, nous présentons ocp-build, un nouveau gestionnaire de projet pour OCaml [Leroy, X. The Objective Caml System : Documentation and User's Manual, 1996. With Damien Doligez, Jacques Garrigue, Didier Rémy, and Jérôme Vouillon. Availiable from http: //www.ocaml.org/.]. La gestion de projet -- description du projet et compilation -- a toujours été l'une des faiblesses de l'environnement de programmation d'OCaml. En effet, les règles de compilation d'un projet OCaml peuvent être complexes à mettre en oeuvre avec des outils classiques. ocp-build est une solution simple et facile d'accès à ce problème, il permet de décrire de façon concise un projet en terme de paquets et de fichiers sources, puis d'utiliser cette description pour compiler e ficacement le projet, ou le manipuler avec des outils de refactoring
A Case for Multi-Switch Constraints in OPAM
International audiencePackage managers usually only deal with packages and their versions, and the con-straints on their dependencies towards other packages' versions. Among package man-agers, opam is probably the first one to introduce the notion of switch, i.e. the ability to manage different directories, where different sets of packages with different versions are installed, as each directory is treated as an independant universe when solving depen-dency constraints. In this talk, we will support a case to be able, in opam, to manage different switches in the same universe, allowing to express dependency constraints that cross switch boundaries
OPAM-builder: Continuous Monitoring of OPAM Repositories
International audienceIn this talk, we will present the opam-builder system. opam-builder is an online service that monitors the official OPAM repository, continuously builds all versions of all packages for 6 different versions of OCaml, and display html reports with all the information about failed installations. It can be used both by repository maintainers and package developers as a useful tool to improve the quality of the OPAM repository
Spying the World from your Laptop -- Identifying and Profiling Content Providers and Big Downloaders in BitTorrent
This paper presents a set of exploits an adversary can use to continuously
spy on most BitTorrent users of the Internet from a single machine and for a
long period of time. Using these exploits for a period of 103 days, we
collected 148 million IPs downloading 2 billion copies of contents. We identify
the IP address of the content providers for 70% of the BitTorrent contents we
spied on. We show that a few content providers inject most contents into
BitTorrent and that those content providers are located in foreign data
centers. We also show that an adversary can compromise the privacy of any peer
in BitTorrent and identify the big downloaders that we define as the peers who
subscribe to a large number of contents. This infringement on users' privacy
poses a significant impediment to the legal adoption of BitTorrent
MLdonkey, a Multi-Network Peer-to-Peer File-Sharing Program
A lot of designers of functional languages have one dream: finding a killer application, outside of the world of symbolic programming (compilers, theorem provers, DSLs), that would make their language spread in the open-source community. One year ago, we tackled this problem, and decided to use to program a network application in the emerging world of peer-to-peer systems. The result of our work, , has superseded our hopes: it is currently the most popular peer-to-peer file-sharing client on the well-known freshmeat.net site, with about 10,000 daily users. Moreover, is the only client able to connect to several peer-to-peer networks, to download and share files. It works as a daemon, running unattended on the computer, and can be controlled remotely using three different kind of interfaces. In this paper, we present the lessons we learnt from its design and implementation
Validity Conditions in Agreement Problemsand Time Complexity
Projet SORWe study the time complexity of different agreement problems in the synchrono- us model with crash failures, by varying their validity condition. We first introduce a continuous class of agreement problems, the k-TAg problems, which includes both the Uniform Consensus and Non-Blocking Atomic Commitment. We then exhibit a general early-deciding algorithm, that we instanciate to solve every problem of this class. The algorithm always achieves the previously established lower-bounds for early-deciding, showing that these lower-bounds are tight
Finding Good Partners in Availability-aware P2P Networks
In this paper, we study the problem of finding peers matching a given availability pattern in a peer-to-peer (P2P) system. We first prove the existence of such patterns in a new trace of the eDonkey network, containing the sessions of 14M peers over 27 days. We also show that, using only 7 days of history, a simple predictor can select predictable peers and successfully predict their online periods for the next week. Then, motivated by practical examples, we specify two formal problems of availability matching that arise in real applications: disconnection matching, where peers look for partners expected to disconnect at the same time, and presence matching, where peers look for partners expected to be online simultaneously in the future. As a scalable and inexpensive solution, we propose to use epidemic protocols for topology management, such as T-Man; we provide corresponding metrics for both matching problems. Finally, we evaluated this solution by simulating two P2P applications over our real trace: task scheduling and file storage. Simulations showed that our simple solution provided good partners fast enough to match the needs of both applications, and that consequently, these applications performed as efficiently at a much lower cost. We believe that this work will be useful for many P2P applications for which it has been shown that choosing good partners, based on their availability, drastically improves their efficiency
Profiling the Memory Usage of OCaml Applications without Changing its Behavior
International audienceIn this paper, we present the current state of our work on profiling the memory usage of OCaml programs. Our technique allows to observe track types, allocation points and reachability paths of blocks, with no runtime cost, except for saving the observations
- …