update roadmap: add download-peer-selection

This commit is contained in:
Brian Warner 2007-04-05 12:34:22 -07:00
parent e495db255b
commit 070ebd00ab
1 changed files with 36 additions and 15 deletions

View File

@ -2,7 +2,7 @@
['*' means complete] ['*' means complete]
Connection Management: Connection Management:
*v1: foolscap, no relay, live == connected-to-queen, broadcast updates, full mesh *v1: foolscap, no relay, live=connected-to-queen, broadcast updates, full mesh
v2: live != connected-to-queen, connect on demand v2: live != connected-to-queen, connect on demand
v3: relay? v3: relay?
@ -18,10 +18,24 @@ Share Encoding:
*v2.5: ICodec-based codecs, but still using replication *v2.5: ICodec-based codecs, but still using replication
*v3: C-based Reed-Solomon *v3: C-based Reed-Solomon
Peer Selection: URI:
*v1: really big
v2: derive more information from version and filesize, to remove codec_name,
codec_params, tail_codec_params, needed_shares, total_shares, segment_size
Upload Peer Selection:
*v1: permuted peer list, consistent hash *v1: permuted peer list, consistent hash
v2: reliability/goodness-point counting? *v2: permute peers by verifierid and arrange around ring, intermixed with
v3: denver airport (chord)? shareids on the same range, each share goes to the
next-clockwise-available peer
v3: reliability/goodness-point counting?
v4: denver airport (chord)?
Download Peer Selection:
*v1: ask all peers
v2: permute peers and shareids as in upload, ask next-clockwise peers first
(the "A" list), if necessary ask the ones after them, etc.
v3: denver airport?
Filetable Maintenance: Filetable Maintenance:
*v1: queen-based tree of MutableDirectoryNodes, persisted to queen's disk *v1: queen-based tree of MutableDirectoryNodes, persisted to queen's disk
@ -41,18 +55,19 @@ Storage:
*v1: no deletion, one directory per verifierid, one owner per share, *v1: no deletion, one directory per verifierid, one owner per share,
leases never expire leases never expire
*v2: multiple shares per verifierid [zooko] *v2: multiple shares per verifierid [zooko]
v2.5: deletion v3: deletion
v2: leases expire, delete expired data on demand, multiple owners per share v4: leases expire, delete expired data on demand, multiple owners per share
UI: UI:
*v1: readonly webish (nevow, URLs are filepaths) *v1: readonly webish (nevow, URLs are filepaths)
*v2: read/write webish, mkdir, del (files) *v2: read/write webish, mkdir, del (files)
v2.5: del (directories) v2.5: del (directories)
v3: PB+CLI tool v3: PB+CLI tool.
v3.5: XUIL?
v4: FUSE v4: FUSE
Operations/Deployment: Operations/Deployment:
v1: doc how to set up a network (introducer, vdriver server, nodes) v1: doc how to set up a network (introducer, vdrive server, nodes)
v2: Windows port and testing v2: Windows port and testing
v3: Trac instance v3: Trac instance
@ -67,13 +82,19 @@ back pocket ideas:
on recovery, find the newest on recovery, find the newest
multiple categories of leases: multiple categories of leases:
committed leases -- we will not delete these in any case, but will instead tell an uploader that we are full 1: committed leases -- we will not delete these in any case, but will instead
active leases tell an uploader that we are full
in-progress leases (partially filled, not closed, pb connection is currently open) 1a: active leases
uncommitted leases -- we will delete these in order to make room for new lease requests 1b: in-progress leases (partially filled, not closed, pb connection is
interrupted leases (partially filled, not closed, pb connection is currently not open, but they might come back) currently open)
expired leases 2: uncommitted leases -- we will delete these in order to make room for new
(I'm not sure about the precedence of these last two. Probably deleting expired leases instead of deleting interrupted leases would be okay.) lease requests
2a: interrupted leases (partially filled, not closed, pb connection is
currently not open, but they might come back)
2b: expired leases
(I'm not sure about the precedence of these last two. Probably deleting
expired leases instead of deleting interrupted leases would be okay.)
big questions: big questions:
convergence? convergence?