Dropbox的な何か

自宅の複数PCや会社のPCとのデータ同期にDropboxというサービスを使っている。
どういうサービスかというと、同サイトに登録して2GBのディスクスペースを貰い、そこを経由して複数のPC上のフォルダを同期するというもの。
AのPCに保存したデータはほぼ数秒で同サイトへアップロードされ、数分後には別なPCにも同期される。電源が切れていたPCも、起動してネットに繋ぐと自動的にまとめて同期される。会社、自宅、サブノート等でシームレスにデータを共有できるので、ストレージを持ち歩かなくてもデータを持ち運べる。スゴイ便利。
 
しかし無料で使えるのは2GBまで、同期できるフォルダは1箇所のみ、という制約がある。
なので、Dropboxみたいなリアルタイム同期サービスが、フリーソフトかつ任意のストレージ(USBHDDとかVPN経由のネットワークドライブとかFTPサーバとか)経由で実現できたらいいのに!と思っていた。
AとBの2つのフォルダを一方的に同期するバックアップソフトは沢山あるけど、こういう双方向同期型のミラーリングソフトはなかなか見かけないんだよなぁ。
 
 
・・・ないなら、作ってしまえばいい。
 
 
久しぶりにサンデープログラマ魂に火がついた。
複数PC同期のアルゴリズムに関しては、実は過去に考えたものがある。当時は自分にとって必要でないものだった事もあり単なる妄想で終わっていたが、今回これを実際のソフトウェアにしてみようと思う。
 
予定仕様はこんな感じ。
・複数のPCのデータを同期ストレージ経由でリアルタイム同期
・同期ストレージにはローカルドライブ(初版は主にUSBHDDでの運用を想定)、ネットワークドライブを予定(いずれはFTPサーバ、WebDAVにも対応したい)
・同期できるフォルダを複数指定可能
・同期タイミングは、ローカルファイル変更検知時、及び定期(数分間隔)のストレージチェック
・将来的にはファイルの暗号化に対応
 
プログラマが新しいソフトを思いついたり仕様を考えたりするのは、ミュージシャンが新しいフレーズを見つけたりするのと似ているのかもしれない。
とにかく、なんだか楽しくなってくるんだ!