マイクロソフトの分割ダウンロード:BITSの使い方
珍しく技術ネタです。
HTTPを捌くプログラムを作っていて、マイクロソフトの分割ダウンロードの仕組みに対応して欲しいと依頼を受け、調べた内容をメモ代わりに書いておきます。
BITSの詳細はマイクロソフトの情報でも調べてみてください。ここでは使い方などの内容だけで。。
BITSはHTTPやSMBを使った分割ダウンロードの仕組みで、今回はHTTPが対象なので、HTTPに関してだけ書いておきます。
BITSはWindowsUpdateなどで使われているようで、HTTPで単に必要なデータをGETするのですが、その際にあまり負荷をかけないような配慮もできるようになっています。一気に全体をGETすることもできますし、デフォルトではRange指定で分割ダウンロードをするようです。
分割ダウンロードでも基本的にはTCPセッションを使い回し、接続したまま複数回に分けて取得します。
サーバ側はApacheでも何でも良いのですが、Range対応していることが望ましいようです。
ということで、あとは実験方法です。powershellを使う方法とbitsadminを使う方法があり、powershellを使う方が新しく、bitsadminはそのうちサポートされなくなるようです。
以下に分割ダウンロードをさせる手順を載せておきます。オプションを変更することにより一括取得やもっとノンビリ取得するなどができるようです。
★powershellを使う方法
C:\>powershell
Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.
PS C:\> Import-Module BitsTransfer
PS C:\> Start-BitsTransfer http://192.168.0.212/Copenhagen.m4a c:\Copenhagen.m4a -Priority High
PS C:\> exit
C:\>
★bitsadminを使う方法
C:\>bitsadmin /TRANSFER test http://192.168.0.212/Copenhagen.m4a C:\Copenhagen.m4a
Windowsは調べるのが大変で苦手です・・・