From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: * X-Spam-Status: No, score=1.4 required=5.0 tests=HTML_MESSAGE,SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id 8B18ABC69 for ; Wed, 16 Jan 2008 06:26:03 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgAAAHIkjUdIDtyfkmdsb2JhbACCOzWNGgEBAQEHAgYplGiHeQ X-IronPort-AV: E=Sophos;i="4.24,291,1196636400"; d="scan'208";a="21290484" Received: from fg-out-1718.google.com ([72.14.220.159]) by mail4-smtp-sop.national.inria.fr with ESMTP; 16 Jan 2008 06:26:03 +0100 Received: by fg-out-1718.google.com with SMTP id l27so154764fgb.43 for ; Tue, 15 Jan 2008 21:26:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender:to:subject:in-reply-to:mime-version:content-type:references:x-google-sender-auth; bh=M5kYoyHCk3qI/9p92vEZ74Yu9j/hLq6OzaJmwd+wuKI=; b=aAlkZloTikvlGceWENch+8Kci5QYsz2VjsFdElOsFhrh6ORkunYv35hhN6SzJwtPuWtwdKW/g6uxTs48ZdoqDiksiYUX/z2qzu+gLPgHJAHK1fC/XGLft7txu1SOMS/3Xgk4KeeipjKXIHHuqYG6U3xC9J7j8JnwY7ptCN8OpLY= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:in-reply-to:mime-version:content-type:references:x-google-sender-auth; b=g3d4dEJyqQRJwHURBUvasg7YsV8BOLxJ8Zo/4E+GxDy7zCR+70H90sFTFn+oz0k6471dD6b8bylA31nqh2nnq/mssgf+ejly3J4SuQI5oVLBu8T9f1950pkiI6tuXw7lIcM8wi7L9iMDWjH76lamKwMkC55htnJ69MCeT3TfnUA= Received: by 10.86.28.5 with SMTP id b5mr330946fgb.47.1200461163039; Tue, 15 Jan 2008 21:26:03 -0800 (PST) Received: by 10.86.28.17 with HTTP; Tue, 15 Jan 2008 21:26:02 -0800 (PST) Message-ID: Date: Wed, 16 Jan 2008 00:26:02 -0500 From: "Jonathan Bryant" Sender: watersofmemory@gmail.com To: caml-list@yquem.inria.fr Subject: Fwd: [Caml-list] Re: On module distribution In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_23393_18509723.1200461163039" References: <92920466-3BCE-4A9F-9742-3396B07006F7@erratique.ch> X-Google-Sender-Auth: 8f80de0e9bfb12c1 X-Spam: no; 0.00; le-gall:01 le-gall:01 node:01 node:01 dependencies:01 dependencies:01 eliminates:98 eliminates:98 wrote:01 wrote:01 caml-list:01 caml-list:01 module:03 module:03 alert:95 ------=_Part_23393_18509723.1200461163039 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline I forgot to CC the list, and then I sent it from the wrong email address. Sorry for multiple posts... ---------- Forwarded message ---------- From: Jonathan Bryant Date: Jan 15, 2008 7:10 PM Subject: Re: [Caml-list] Re: On module distribution To: Sylvain Le Gall On Jan 15, 2008 10:07 AM, Sylvain Le Gall wrote: > > Unfortunately, a decentralized system has also several drawbacks: > [...] > * you need to provide a backup foreach node of your system. Otherwise, > every node will become a point of failure. This is critical: lets > consider you have a package A that build depends on package B, C and > D. With a centralized system you "download" point of failure is the > central location, either it is up or down. With a decentralized > approach your "download" point of failure will be the location of A, > B, C and D. You have to find a way to circumvent this problem... > > [...] Why not take a Bittorrent style approach to decentralization? Given that a package format is agreed upon, you can download a small file that has basic info such as an MD5 sum. Every person has a P2P-style client that caches any packages they've downloaded, and when you download a new package, pulls from everybody who has a copy with the same MD5 sum, and after it is downloaded it is offered for redistribution. Updates could simply search for all users who are offering the old version and alert them that there is a new version. Any dependencies will be offered at least as much as the packages that depend on them. That eliminates the single point of failure at least. --Jonathan ------=_Part_23393_18509723.1200461163039 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline I forgot to CC the list, and then I sent it from the wrong email address.  Sorry for multiple posts...

---------- Forwarded message ----------
From: Jonathan Bryant <watersofmemory@gmail.com>
Date: Jan 15, 2008 7:10 PM
Subject: Re: [Caml-list] Re: On module distribution
To: Sylvain Le Gall < sylvain@le-gall.net>




On Jan 15, 2008 10:07 AM, Sylvain Le Gall <sylvain@le-gall.net> wrote:

Unfortunately, a decentralized system has also several drawbacks:
[...] 
* you need to provide a backup foreach node of your system. Otherwise,
 every node will become a point of failure. This is critical: lets
 consider you have a package A that build depends on package B, C and
 D. With a centralized system you "download" point of failure is the
 central location, either it is up or down. With a decentralized
 approach your "download" point of failure will be the location of A,
 B, C and D. You have to find a way to circumvent this problem...

[...]

Why not take a Bittorrent style approach to decentralization?  Given that a package format is agreed upon, you can download a small file that has basic info such as an MD5 sum.  Every person has a P2P-style client that caches any packages they've downloaded, and when you download a new package, pulls from everybody who has a copy with the same MD5 sum, and after it is downloaded it is offered for redistribution.  Updates could simply search for all users who are offering the old version and alert them that there is a new version.  Any dependencies will be offered at least as much as the packages that depend on them.

That eliminates the single point of failure at least.

--Jonathan

------=_Part_23393_18509723.1200461163039--