Background Intelligent Transfer Service
Background Intelligent Transfer Service(BITS、バックグラウンド インテリジェント転送サービス)は、アイドル中のネットワーク回線の帯域幅を使用し、非同期にマシン間のファイル転送を行うWindowsオペレーティングシステム (OS) の構成の一部である。
Background Intelligent Transfer Service Microsoft Windows コンポーネント | |
---|---|
詳細 | |
標準提供 | Windows XP 以降 |
追加提供 | Windows 2000 Service Pack 3 |
サービス名 | BITS |
正式名称 | Background Intelligent Transfer Service |
Microsoft Update、Windows Server Update Services、System Management Serverやその他のアプリケーションやWindows サービスで利用されている。
BITSはCOMコンポーネントとして登録されており、実質どの様なプログラミング言語でも利用できる。
テクノロジ
編集BITSは未使用の帯域を利用してファイル転送を行う仕組みである。通常、BITSはバックグラウンドでファイルを転送し、他のアプリケーションでネットワーク帯域を利用する場合、使用しているネットワーク帯域を調整して作業を続ける。たとえば、何らかのアプリケーションが80%のネットワーク帯域を利用する場合、BITSは残りの20%のネットワーク帯域を利用する。 BITSはリジューム機能を備えており、不意な転送の中断が起きても途中から作業の再開を行うことが出来る。
転送
編集BITSは非同期にファイルを転送する。HTTPまたはHTTPS上のデータ転送をサポートしている。
ジョブ
編集BITSはファイル転送の管理のためにキューを用いている。BITSはアプリケーションがジョブを作成した時点で開始される。ジョブとはコンテナであり、コンテナには一つ以上のファイルがある。それに発信元および転送先のURIを指定して加える必要がある。 BITSでのダウンロードは複数のファイルの同時転送をサポートするが、アップロードは一度に一つのみのサポートとなっている。 属性はファイル単位で設定することができる。またジョブのセキュリティは作成したアプリケーションのセキュリティコンテキストを継承する。 ジョブを管理には管理するAPIを利用する。プログラム的に開始・停止・休止・再開という状態の遷移をサポートしている。 バックグラウンド転送はBITSによって最適化され、BITS自身がネットワーク帯域の消費が増えるにつれ、転送率を低下させる。
スケジューリング
編集BITSのスケジューリングはタイムスライスで管理されており、転送の優先度に応じて時間配分が調整される。また、BITSはエラー回復メカニズムを備えており、致命的または一時的なエラーによってジョブの状態を変更する。一時的なエラーの場合、BITSは元に戻るまで待ち、再試行を試みる。致命的なエラーの場合、ジョブを作成したアプリケーションにジョブのコントロールが移る。
ツール
編集コマンドライン用のBITS管理ユーティリティ (bitsadmin.exe) はWindows Server 2003 Service Pack 1 Support Toolsに同梱され、Windows Vistaで同梱された。
バージョン
編集バージョン | 提供日 | 含まれた OS | 使用可能 OS |
---|---|---|---|
1.0 | 2001年10月 |
|
|
1.2 | 2002年7月 |
|
|
1.5 | 2003年4月 |
|
|
2.0 | 2004年8月 |
|
|
2.5 | 2006年11月 |
|
|
3.0 | 2006年11月 |
|
|
4.0 | 2009年7月 |
|
|
5.0 | 2009年7月 |
|
|
10.1 | 2017年4月 |
|
|
10.2 | 2018年11月 |
|
|
10.3 | 2019年5月 |
|