Background Intelligent Transfer Service (BITS)

 

BITS is Earth’s most widely used file transfer service, with more than 600 million unique users across the planet. It has shipped “in the box” since Windows XP and is used by numerous applications for large file transfers. Both uploads and downloads are supported. Its resilience is validated everyday as Windows & Microsoft update distributes software updates to millions of customers worldwide. BITS is “the” easiest way to reliably and politely transfer files over HTTP/HTTPS.

BITS asynchronously transfers files in the foreground or background (default) and automatically resumes file transfers after network disconnects and machine restarts. Background transfers use only idle network bandwidth in an effort to preserve the user’s interactive experience with other network applications, such as Internet Explorer. BITS does this by examining the network traffic, and using only the idle portion of the network bandwidth. BITS throttles its use of the bandwidth as the user increases or decreases their use of the bandwidth. BITS performs the transfers asynchronously, which means your application does not need to be running for BITS to perform the transfer.

Applications use the BITS application program interface (API) to create transfer jobs and to monitor the progress of jobs in the transfer queue. The BITS API is included in the Microsoft® Platform Software Development Kit (SDK). In Win7 BITS also provides a scriptable interface via PowerShell cmdlets.

 BITS users will greatly benefit from new features coming in Win7. Subsequent blog entries will be covering these features in more detail, but here is a teaser:

1. BITS Compact Server: Easy to manage “lightweight” HTTP server, compliments BITS client to provide ubiquitous file transfers. Enables Admin’s to orchestrate secure file transfers remotely.

2. BITS PowerShell Cmdlets: An in-box file transfer solution for PowerShell users. Provides a simple yet rich scripting interface to the BITS service.

3. BITS Peercaching: Leverages the BranchCaching infrastructure to provide authenticated and authorized shared cached based content distribution.

4. Network Bandwidth Management: Allows enterprises to more granularly allocate/schedule available network bandwidth to applications using BITS.

For more information about BITS please visit https://msdn.microsoft.com/en-us/library/aa362708.aspx

Vipul Bansal [MSFT]