« 2006年11月 | トップページ | 2007年1月 »

2006/12/27

BunBackupのいろいろな顔

BunBackupは、使用する環境によって、表示を変えられるようになっています。

もっともシンプルなのはこれ。



最初にBunBackupを起動するとこのような画面になります。

ツールボタンを大きくして、バックアップリストのフォントを大きくすると、こんな感じの見やすく操作のしやすい画面になります。



選択バックアップをする人には、チェックボックスが付いた画面もいいかもしれません。



設定ファイルを複数作って、それを切り替えてバックアップしている人には、ワンクリックで設定ファイルが切り替えられる「ファイル選択リスト」があると便利です。



どんな機能を使用していたっけ? という人には、「使用機能リスト」が便利。



全部表示する設定にして、自動バックアップも設定すると、こんな画面になります。



ちなみに私は、この画面で使用しています。


  generated by feedpath

| | トラックバック (0)

2006/12/14

BunBackupの速さの秘密!?

あるユーザーの方から、「BunBackupはなぜ速いのか」という質問をいただきました。
そこで、簡単にBunBackupの速さの秘密(?)についてご説明したいと思います。

まず先にお断りしておきたいのは、すべての条件において速いソフトはないということです。ある人は速いと感じていても、他の人には遅いと感じる可能性もあります。それはなぜでしょうか?
たとえば、数千個のファイルをバックアップの対象とする場合と、数百万個のファイルを対象とする場合では、ソフトの作り方は全く異なります。これは、バックアップの条件によって速度の最適化方法が異なるためです。

そのため、BunBackupは最も多いだろうと予想されるユーザーを対象に、速度の最適化を行っています。では、最も多いユーザーとは、どんなユーザーでしょう。
私は
  • バックアップ元はローカルHDD
  • バックアップ先は外付けのメディア、またはネットワーク
  • バックアップ対象となるファイル数は数万個程度
と考えました。
この仮定に基づくと
  • バックアップ元とバックアップ先は独立した別のドライブ
  • バックアップ元は速いメディア
  • バックアップ先は遅いメディア
  • 処理するための十分な空きメモリがある
と考えることができます。
そこで、この条件で速くなる方法を検討します。

バックアップには、大きく分けて4つの行程があります
  1. バックアップ先のファイル情報を取得する
  2. バックアップ元のファイル情報を取得する
  3. バックアップ元・先を比較し、コピーするファイルを抽出する
  4. ファイルをコピーする
バックアップ元と先は独立しているドライブと仮定しています。また、バックアップ先よりもバックアップ元の方が速いメディアと仮定しています。
そこで「1」を実行している間に「2」が実行できれば、「2」に必要な時間が短縮できます。そのため、BunBackupはマルチスレッドで、「1」と「2」を同時に実行し時間を節約しています。

「3」については様々なアルゴリズムがありますが、私が採用しているのは非常にシンプルなアルゴリズムです。処理するための十分な空きメモリがあると仮定していますので、まずバックアップ元とバックアップ先のファイル情報をメモリに保存します。次に、それぞれをソート(文字コード順に並べ替え)し、それを比較していくという方法をとっています。

実はこのアルゴリズムは公開後何回も変更しています。何かアイデアが浮かぶたびに新しいアルゴリズムを試してみて、今よりも速くなれば、それに切り替えるということを続けています。そのため、今後もこのアルゴリズムは変更になるかもしれません。

「4」については、単にファイルをコピーしているだけで、何も高速化はしていません。
大容量のバッファを利用したコピーやマルチスレッドコピーなど、ファイルコピーの高速化方法はいくつかあります。実はこれらについては以前実際にソフトを作成していろいろ試してみました。その結果、これらの方法は採用しませんでした。なぜ採用しなかったかはここで書いてしまうと長くなりますので、興味のある方がいらっしゃれば改めて投稿したいと思います。

このような感じで、高速化は拍子抜けするほど非常にシンプルな手法しか採用していません。結局、ターゲットを絞ること、余計なことはせずにシンプルにすることが、速度的にも安定性的にも有利なのかもしれません。

このほかに特種な高速化手法として、「高速ファイルチェック」という機能もあります。条件がマッチすれば非常に高速にバックアップをすることができます。「高速ファイルチェック」については以前の投稿やヘルプなどを参照してください。
  generated by feedpath

| | トラックバック (0)

2006/12/05

ブログ公開から3年経ちました

このブログは2003年12月5日から初めて3年経ちました。

BunBackupの開発やテスト、ユーザーサポートなどに時間をとられてしまうので、ブログにはあまり時間が掛けられず、更新は1~2週間に一度くらいのゆっくりなペースになっています。

このブログは、BunBackup、またはバックアップについてのみの、かなり絞った話題にしています。もともとこのブログは、BunBackupのホームページに書くための覚え書き、ホームページにまとめる時間がないときの一時的な発表の場所、ホームページに書けないような話題を伝えるための場所などを目的としています。

ブログを始めた当初はすぐにネタが尽きると思っていましたが、意外と長続きしています。
まだ書きたいことはあるので、もう少しは続けられそうです。
そのうち時間ができれば、フリーソフト作家がどのように日々を送っていて、どのようなことを考え、フリーソフトについてどのように思っているのかもネタにできればと考えています。

もし、BunBackupやバックアップに関することで、取り上げて欲しいことなどがありましたら、メールなどでお知らせください。私の分かる範囲でしかお答えできませんが、可能な範囲で話題にしていきたいと思います。

今後もこんなペースで続いていくと思いますが、よろしくお願いいたします。
  generated by feedpath

| | トラックバック (0)

2006/12/02

どこまで機能を増やしてもいい?

ソフトを長く公開していると、ユーザーから様々な要望をいただいたり、自分でもちょっとしたアイデアが浮かんだりして、だんだん機能が増えてきます。

でも、機能が増えることっていいことなんでしょうか?
作り手からすると、機能を増やすことはとても楽しい作業です。もしいくらでも機能を増やしてもいいというのであれば、どんどん機能を増やしていきます。
でも、機能が増えるということは、設定項目が増えます。速度も遅くなります。不具合がある可能性が高くなります。

なので、作り手の自分は「もっと機能を増やそうよ」と言うし、使い手の自分は「もういいんじゃないかなあ」と言います。いつもこの二人が話し合って折り合いを付け、次のバージョンをどうするか決めています。

ある人にとっては非常に便利な機能でも、他の人には興味のないものかもしれません。本当であれば、ユーザーの皆さんに手を挙げていただいて、多数決で決めたいところなのですが、それは簡単ではありません。ほとんどのユーザーは何も言いません。メールや掲示板で発言していただけるのは、本当にごく一部のユーザーだけです。

そのため、どこまで機能を増やすべきかはいつも悩んでいます。
何も言わないユーザーの方たちがどのように思っているかを感じながら、開発していければと思っています。
もし、お時間があれば、メールやアンケート、掲示板などでご意見をお聞かせいただけると助かります。よろしくお願いいたします。
  generated by feedpath

| | トラックバック (0)

« 2006年11月 | トップページ | 2007年1月 »