Talk:P2P Backup Network

From Strugglers
Revision as of 00:19, 20 November 2005 by Andy (Talk | contribs)

Jump to: navigation, search

Retention Time

There should be a guarenteed minimum amount of time that a user's backed up data is kept after that user disappears from the network. If I'm participating in the p2p network, but then I have a disk crash that causes me to leave it, I need to know that when I get my replacement drive in a weeks time, my backups will still be existing on the p2p network for me to do the restore.

Perhaps there could be different time limits depending on the priority of the data as described on the main page.

--Matt 12:08, 13 November 2005 (UTC)

I was thinking that the instant removal of files/credits would only apply for the data that a user is storing for someone else. It doesn't matter why they went offline or for how long, the point is that the data is no longer accessible to the person who wants it stored, so they should be refunded the credits in the hope that other users would pick up the slack.
Say Anna has 1MB of files mirrored by Bob and Charlie but then Bob goes offline. As soon as the P2P network discovers that Bob is gone Anna should get back the credits that she had "paid" to Bob to host that 1MB for her. Then the next peer that comes along, Derek, can offer to download this block.
If Bob comes back online then his client would contact Anna's and ask what the offer price is for continuing to mirror the block. There probably needs to be some sort of bonus applied to blocks that are already downloaded since if Anna offers a good enough price then Bob instantly can be a mirror instead of having to wait to download it.
If Anna offers the same or more than either Charlie or Derek then the transaction can be made immediately and Bob retains the block, otherwise Bob's client will delete the block and replace it with a block downloaded from Charlie or Derek.
As regards the mirrored blocks of peers who have gone offline: their mirrored blocks need to remain mirrored for a long time, let's say 30 days. This does pose a problem because at any time there can be vast numbers of users that have data mirrored but are offline.
For example, taking the users from above, if Anna goes offline then Bob and Charlie have to continue mirroring her 1MB. They can't use this 1MB of disk space for mirroring other peers' data. If Anna doesn't return for 30 days then Bob and Charlie could delete these blocks.
Andy 00:08, 20 November 2005 (UTC)

Amount of data

I've just been wondering about how much disk space I'm going to need for everyone's backups. I suppose that if I need 10GB of my data backed up (that's assume the 10GB is a total of whatever master + incremental backups I want), then I suppose that I'd want say 10 people to back up that data? So really I need to be backing up 10GB for each of them so 100GB total. Seems reasonable, though I wonder whether 10 people is enough... I suppose that depends a lot on how reliable the people on the p2p network are, how often people are joining/leaving etc...

This brings up some other questions. Say I'm person A and my data gets backed up by C, D and E. I have a failure and I'm off the network for a week. During this time C and D leave the p2p network. Person F joins the network too. Will F start getting backups of my data from E?

--Matt 12:41, 13 November 2005 (UTC)

As the number of online copies of your data increases, your offer price for the data should go down, so that the coverage of the whole network's mirorring is broad. If you really wanted there to be more copies then you could keep the offer price high, but I thnk it would be best to set a goal for how many mirrors you absolutely require and then drop the price gradually after that.
I think you are generally correct that vastly more space will need to be availabel compared to shared files though. Need some examples!
Andy 00:08, 20 November 2005 (UTC)

Example

User Blocks to mirror Blocks available
Anna 10 100
Bob 100 10
Charlie 1 200

All users come online simultaneously with no mirrored blocks and a loan of 1 credit. Assume all have equivalent bandwidth to each other and that credits are paid when the downloads complete.

T+0

Anna has space for blocks from both Bob and Charlie. They both offer 1 credit per block. Both Bob and Charlie have space for Anna's blocks and she will offer 1 credit per block. Charlie begins to mirror 1 of her blocks (Charlie asked first) and 1 credit is set aside for Charlie. Anna has no credit left to allow Bob to take a block at this time. Anna's client decides to mirror a block from Bob (random choice amongst equal bids) for 1 credit.

Bob has space for blocks from both Anna and Charlie. Bob offers 1 credit per block, but Anna is broke. Anna begins to mirror 1 of Bob's blocks and Bob sets aside 1 credit for her. Bob's now broke, and starts to mirror one of Charlie's blocks for 1 credit.

Charlie has space for blocks from both Anna and Bob. Charlie begins to mirror a block from Anna for 1 credit. Bob accepts the offer of 1 credit to mirror 1 block from Charlie.

T+1

User Blocks to mirror Blocks available Own blocks mirrored Peer's blocks mirrored Credits
Anna 9 99 Charlie: 1 Bob: 1 1
Bob 99 9 Anna: 1 Charlie: 1 1
Charlie 0 199 Bob: 1 Anna: 1 1

Anna has space for 99 remote blocks. Charlie already has a single mirror of all his blocks so he only offers a smaller sum per block than Bob's offer of 1 credit. Anna accepts Bob's offer and begins to mirror a block from him. Bob asks Anna if she has any offers, Anna offers 1 credit for 1 block and Bob begins to mirror.

Bob has space for 9 remote blocks. Bob already has a mirror of all of Charlie's blocks so there is no offer from Charlie. Anna offers 1 credit per block, so Bob begins to mirror another of Anna's blocks. Bob offers 1 credit to mirror one of his blocks and Charlie gets there first.

Charlie has space for 199 remote blocks but all of his own blocks have already been mirrored once. Charlie reduces the offer on his own blocks to below 1 credit. The only offer for blocks to be mirrored comes from Bob, so Charlie begins mirroring one of his blocks for 1 credit.

T+2

User Blocks to mirror Blocks available Own blocks mirrored Peer's blocks mirrored Credits
Anna 8 98 Bob: 1
Charlie: 1
Bob: 2 1
Bob 98 8 Anna: 1
Charlie: 1
Anna: 1
Charlie: 1
1
Charlie 0 198 Bob: 1 Anna: 1
Bob: 1
2

It should be clear now that Anna will continue having her blocks mirrored by Bob and Charlie equally until Bob runs out of disk space. Anna will also continue mirroring Bob's blocks until this happens.

Bob will continue mirroring Anna's blocks and then using the credits to get Anna and Charlie to mirror his blocks. This will continue until Bob runs out of disk space.

Charlie will continue mirroring Anna's and Bob's blocks as long as possible. Bob will never be allowed to mirror Charlie's block since Bob already has a copy. Anna will be allowed to mirror it but Charlie will continue to offer less than Bob, so Anna will not mirror it until Bob can make no better offer.