Quick introduction to Background Intelligent Transfer Service (BITS)

Posted: (EET/GMT+2)

 

If you need to transfer files in the background without consuming all the available bandwidth of your network, then the Background Intelligent Transfer Service or BITS can be your friend.

BITS is designed for asynchronous, throttled file transfers. It uses idle bandwidth and can resume interrupted downloads automatically.

On Windows XP, the service is installed and runs in the background. You can start it with the following command:

net start bits

Transfers are managed as jobs. From the command line, you can use the BITS tool:

bitsadmin /create myJob
bitsadmin /addfile myJob http://server/file.zip C:\Temp\file.zip
bitsadmin /resume myJob

This creates a new job, adds a file to download, and starts the transfer.

For application use, BITS is available through Win32 APIs as COM interfaces. You can create and manage jobs programmatically for reliable downloads. For example, look for IBackgroundCopyFile in bits.h.

BITS is very handy for software updates and large file transfers that should not interrupt normal network usage.