Bandwidth Lite mode


The Dave

Recommended Posts

I'd like to request a bandwidth-lite mode, which when enabled, would cause a Sync client to transfer blocks as conservatively as possible, assuming that each byte transferred has a cost associated with it.

This would cause Lite mode peers to avoid uploading blocks when there are Normal peers that have the same block available. Roughly similar in concept (but not implementation) to BitTorrent's "Superseed" mode, however, one can assume Sync clients are generally cooperative, there is no need to wait to see other Normal peers uploading blocks before sending subsequent blocks. Rather, the goal would be for a Lite peer to selectively send blocks as few times as possible (idly only once), and only to the best peers to replicate the blocks out again.

If all clients with a block are in Lite mode, they would operate the same as today, but the idea is to let the Normal clients take on more of the burden when there is a mix of lite and normal peers together.

The use case is when you have a mixture of metered and unmetered peers coexisting (for example, laptops on mobile connections compared to workstations or servers on wired/unlimited connections), a mobile connection should still be able to add/modify files and receive changes and otherwise stay up to date, but should be as conservative as possible on the number of bytes transferred.

Ideally this would be enabled/disabled with a single toggle similar to the Pause toggle (or possibly a three-way switch? Pause/Lite/Normal), with an advanced option controlling whether it applies to LAN peers or not. For example, if I have two laptops on a single LTE connected wifi personal hotspot device, traffic between the devices is "free" and should flow normally, while these peers should naturally avoid transmitting blocks to remote Sync peers more than once (and instead optimize to allow the remote peers to exchange blocks among themselves)

In addition to conserving bandwidth, this would also help stretch battery life as transmitting blocks has a non-zero battery cost.

It might be worth considering a pair of automatic switches as well, "Switch to Lite mode when on Battery" and "Switch to Lite mode when on metered connection (Windows 10)" 

Link to comment
Share on other sites

The desktop edition. Limiting the bandwidth rate doesn't really help, even small numbers are enough to run up a significant bill when carriers are charging roaming overages of $1/MB or more (20Kb/s is 72MB in a work day, which is both a trivially small amount of data if you're actually working, a large bill if you hit overages). My parents pay $5/MB.

What I'm looking for is a mode to act like a leech rather than a full peer, upload only the bare minimum (local changes, and then only once), let the rest of the peers exchange amongst themselves.

Obviously if everyone in a peer-to-peer environment used this approach, it would defeat the purpose, but if people used it responsibly and appropriately, it could save significant money for roaming users while still allowing them to keep up with changes.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.