update roadmap: add download-peer-selection
This commit is contained in:
parent
e495db255b
commit
070ebd00ab
51
roadmap.txt
51
roadmap.txt
|
@ -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?
|
||||||
|
|
Loading…
Reference in New Issue