回答:
Dropboxはバイナリdiffアルゴリズムを使用してすべてのファイルをブロックに分解し、まだクラウドにないブロックのみをアップロードします。これらはすべて、コンピューター上でローカルに実行されます。
Dropboxは、既にアップロードしたファイルを使用するだけでなく、全員のファイルを1つのブロックデータベースに集約し、各ローカルブロックハッシュをそのデータベースと照合します。
これは、他の誰かが自分と同じファイル(たとえば、最新のUbuntu ISOなど)をアップロードした場合、アップロードするものが何もないため、アップロードはすぐに見えるようになりますが、バックアップファイル、変更のみがアップロードされます。完全に一意のファイルをアップロードする場合、すべてがアップロードされるのを待つ必要があります。
価値のあるものとして、Dropboxは各ファイルの4MBごとにハッシュを作成すると主張しています。そうすれば、100MBファイルの連続する2MBを変更した場合、ファイルを再同期するために4MB(2つ目の4MBブロックに交差する場合は8MB)をアップロードするだけで十分です。
使用するハッシュは4MBのファイルチャンク専用です
ソース:https : //blogs.dropbox.com/tech/2016/05/inside-the-magic-pocket/
また、変更してもファイル全体が一度にアップロードされないことを強調することも重要です。たとえば、2GBの一意のファイルがある場合、たとえば、truecryptまたはpgpdiskを使用するときなどに保持する暗号化されたディスクドライブに対して、暗号化されたディスク内のいくつかのファイルを変更すると、dropboxはブロックのみをアップロードしますそれは事実上変わりました。したがって、たとえば、2GBのpgpdiskファイルをDropboxにアップロードしてから、この2GBの100MBを変更すると、Dropbox は変更されたもののみを検出して更新できるほどインテリジェントになります。したがって、すでにある帯域幅をアップロードするために、アップロード帯域幅を無駄にすることはありません。
Dropboxチームが取り組んでいるもう1つの機能は、ローカルネットワークで実行されているDropboxの別のインスタンスを検出するDropboxを作成し、それらの間で情報を同期することです。たとえば、ラップトップとデスクトップがあり、どちらも同じDropboxアカウントを持っている場合、デスクトップ上のファイルを更新します。ラップトップを接続すると、デスクトップはすぐに「クラウド」と同期します。代わりに、Dropboxはデスクトップコンピューターから差分を直接ダウンロードし、ダウンロード帯域幅を浪費しません。これはまだ来ない-しかし、甘い機能になります!