#268 new enhancement

implement CHK download helper

Reported by: warner Owned by: warner
Priority: major Milestone: undecided
Component: code-encoding Version: 0.7.0
Keywords: upload-helper download Cc:
Launchpad Bug:

Description (last modified by zooko)

The upload-specific helper described in #116 is insufficient to achieve all the properties we're hoping for. The helper as originally envisioned in that ticket was specifically for uploading CHK files: it did not encompass downloading files (since there's no bandwidth benefit for those), nor did it include mutable files (since by our SDMF rules, these files are small and the bandwidth of them isn't too much of a burden).

To prevent the clients from making connections to all storage servers, we need a helper that will also mediate CHK downloads and mutable uploads and downloads. I'm making a separate ticket for this since it's more work than I'd originally realized. I think I can still get it done in the original schedule.

Zooko and I have talked about the need or lack of need for this connection-minimization. It may be the case that minimizing connections is not all that important, at least with a reasonable number of clients. So it's possible that we'll want the #116 upload-only helper to get us resumability and 1x uploads, but not the all-purpose helper described in this ticket to get us minimal connections and isolation between clients and storage servers.

Change History (8)

comment:1 Changed at 2008-01-24T01:48:13Z by warner

  • Summary changed from implement rest of Helper to implement CHK download helper

I'm narrowing the focus of this ticket to just the CHK download helper. The mutable-file helper has been moved off to #283, and the CHK-upload helper remains in #116.

The benefit of implementing just the CHK-download helper is that downloads will use a single TCP connection, improving bandwidth fairness. Specifically this means that if both Tahoe and some other program are both downloading a file over the same DSL line, they will get roughly the same bandwidth. Without this feature, at our default 3-of-10 encoding, the Tahoe download will get about three times as much bandwidth as the other program.

If all four helpers are implemented (#116, #268, and #283), then we can change the introducer configuration to isolate the clients from the storage servers.

comment:2 Changed at 2008-02-04T23:13:02Z by warner

  • Milestone changed from 0.8.0 (Allmydata 3.0 Beta) to 0.10.0

I'm pushing this out to 0.10.0 (i.e. post allmydata.com-final).

comment:3 Changed at 2008-05-09T00:09:17Z by warner

  • Milestone changed from 1.1.0 to undecided

this one doesn't belong in 1.1.0

comment:4 Changed at 2008-06-01T20:43:09Z by warner

  • Milestone changed from eventually to undecided

comment:5 Changed at 2009-10-28T07:18:11Z by davidsarah

  • Keywords helper added

comment:6 Changed at 2009-12-20T23:14:40Z by zooko

Perhaps this could be part of the solution to #868 (use helper to bypass NAT/firewall).

comment:7 Changed at 2010-01-07T00:21:49Z by davidsarah

  • Keywords download added

comment:8 Changed at 2015-08-16T15:16:43Z by zooko

  • Description modified (diff)
  • Keywords upload-helper added; helper removed
Note: See TracTickets for help on using tickets.