BITS Infrastructure

Applies To: Windows Server 2008

Background Intelligent Transfer Service (BITS) is a Windows component that asynchronously transfers files in the foreground or background, throttles the file transfers to preserve the responsiveness of other network applications, provides progress information related to file transfers, and resumes file transfers when a computer is restarted and a network connection is re-established. BITS also supports peer caching, which allows the client to download content from peer computers and also to serve content to peer computers.

Hierarchy of Managed Entities

Managed Entities

Name Description

BITS Client

The BITS client transfers files in the background, using idle network bandwidth.

Peer Caching

Peer caching is a new feature of BITS 3.0 that allows peer computers (computers within the same subnet of a network that have the peer caching feature enabled) to share files. If peer caching is enabled on a computer, the Automatic Update agent instructs BITS to make downloaded files available to that computer's peers as well.

When the files have been downloaded, BITS caches them. When another peer caching-enabled computer tries to download the same update, BITS on that computer sends a multicast request to all of that computer's peers. If one or more of the peers responds to the request, BITS will download the file from the first computer to respond. If the download from the peer fails or takes too long, BITS continues the download from the server.

Peer Caching Cache

The peer caching cache maintains a copy of the files that the BITS client has downloaded as part of a job that allows peer caching. The peer caching server makes this data available to other computers for which peer caching is enabled.

Peer Caching Server

The BITS peer caching server is the BITS component that responds to requests for content from BITS clients.

Peer Caching Client

The BITS peer caching client listens on the network for peer caching servers that are in the same subnet and domain. When a BITS job allows peer caching, the peer caching client queries the peer servers to determine whether one of the servers holds some or all of the requested content. If so, the BITS client downloads as much of the data as possible from the peer servers and downloads the remainder from the origin server.

BITS Service

The BITS client is implemented as a Windows service. The BITS Service manages all jobs and the job queue for a computer.

Job Queue

BITS manages the scheduling of BITS download jobs, based on various factors such as the priority of each job, whether the job owner is logged on, and the state of the computer’s network connection.

BITS Server

Background Intelligent Transfer Services (BITS) Server is a server-side component that lets you configure an Internet Information Services (IIS) server to allow BITS clients to perform background, resumable file uploads to IIS virtual directories. Upon completion of a file upload, BITS Server can notify a Web application of the new file (via an HTTP POST to a configurable URL) in order to process the uploaded files. A Web application can then optionally respond to the client's posting.