BITS(バックグラウンド インテリジェント転送サービス)とは
Background Intelligent Transfer Service(BITS)は、Windows
オペレーティングシステムに組み込まれた機能の一つで、ネットワークが使用されていない時間帯(アイドル時)を有効活用し、バックグラウンドでファイルの転送を行うサービスです。このサービスは、Microsoft Update、Windows Server Update Services、System Management Serverなど、多くのマイクロソフト製品やアプリケーションで利用されています。
BITSの仕組み
BITSの最大の特徴は、ネットワーク帯域を他のアプリケーションと協調して利用できる点です。具体的には、他のアプリケーションがネットワーク帯域を必要としている場合、BITSは自動的に帯域の使用量を調整し、他のアプリケーションの通信を妨げないように動作します。例えば、あるアプリケーションがネットワーク帯域の80%を使用している場合、BITSは残りの20%を利用してファイルの転送を行います。また、BITSは転送中に中断が発生した場合でも、中断した箇所から再開できるレジューム機能を備えているため、安定したファイル転送が可能です。
ファイル転送
BITSは、ファイルの転送を非同期的に実行します。また、HTTPまたは
HTTPSプロトコルを介したデータ転送をサポートしており、セキュアな環境でのファイル転送にも対応しています。この柔軟性により、様々なネットワーク環境で利用することができます。
ジョブ管理
BITSでは、ファイル転送は「ジョブ」という単位で管理されます。ジョブは、一つ以上のファイルを含むコンテナとして機能し、転送元と転送先のURIが設定されます。ダウンロードは複数のファイルを同時に転送できますが、アップロードは一度に一つのファイルのみをサポートしています。また、ファイル単位で属性を設定することも可能です。セキュリティ面では、ジョブを作成したアプリケーションのセキュリティコンテキストを継承します。
ジョブの管理は、専用のAPIを通じて行い、プログラム的に開始、停止、一時停止、再開といった状態遷移を制御できます。また、ネットワーク帯域の消費が増加すると、BITSは自動的に転送速度を調整し、全体のネットワークパフォーマンスを最適化します。
スケジューリングとエラー処理
BITSのスケジューリングは、タイムスライスに基づいて行われ、転送の優先度に応じて時間の配分が調整されます。また、BITSにはエラー回復メカニズムが組み込まれており、ネットワークの一時的な問題などが発生した場合でも、自動的に再試行を行います。致命的なエラーが発生した場合は、ジョブを作成したアプリケーションに制御が委譲されます。
BITS管理ツール
BITSの管理には、コマンドラインユーティリティであるbitsadmin.exeが利用可能です。このツールは、Windows Server 2003 Service Pack 1 Support ToolsおよびWindows Vista以降のバージョンに含まれており、BITSの動作状況の確認やジョブの管理を行うことができます。
その他の情報
BITSは、マイクロソフト製品だけでなく、様々なサードパーティアプリケーションでも利用されています。以下はその主な例です。
BITSync
Zenworks 7
KBOX Systems Management Appliance
RSS Bandit
EVE-Online
WinBITS
Google Gears
Google Pack
Oxygen media platform
外部リンク
バックグラウンド インテリジェント転送サービス