About BITS

Use Background Intelligent Transfer Service (BITS) to transfer files asynchronously between a client and a server. There are three types of transfer jobs. A download job downloads files to the client, an upload job uploads a file to the server, and an upload-reply job uploads a file to the server and receives a reply file from the server application.

BITS 1.2 and earlier:  Upload and upload-reply jobs are not supported.

BITS continues to transfer files after an application exits if the user who initiated the transfer remains logged on and a network connection is maintained. BITS will not force a connection.

BITS suspends the transfer if a connection is lost or if the user logs off. BITS persists transfer information while the user is logged off, across network disconnects, and during computer restarts.

When the user logs on again, BITS resumes the user's transfer job. For more information, see Users and Network Connections.

BITS provides one foreground and three background priority levels that you use to prioritize transfer jobs. Higher priority jobs preempt lower priority jobs. Jobs at the same priority level share transfer time, which prevents a large job from blocking small jobs in the transfer queue. Lower priority jobs do not receive transfer time until all higher priority jobs are complete or in an error state.

Background transfers are optimal in that BITS uses idle network bandwidth to transfer the files and will increase or decrease the rate at which files are transferred based on the amount of idle network bandwidth available. If a network application begins to consume more bandwidth, BITS decreases its transfer rate to preserve the user's interactive experience.

BITS uses the Windows BranchCache for peer caching. For more information, see the BranchCache Overview.

BITS 3.0:   Starting with Windows 7, the BITS 3.0 peer caching model is deprecated. If BITS 4.0 is installed, the BITS 3.0 peer caching model is unavailable. For more information, see Peer Caching.

The following topics provide more detailed information about BITS:

Use the BITS interfaces to write applications that create and monitor transfer jobs. For details on using the BITS interfaces, see Using BITS.

Send comments about this topic to Microsoft

Build date: 11/2/2009

Tags :


Community Content

Noelle Mallory - MSFT
BITS transfer is slow to resume for Local System account jobs

The BITS transfer service is intended in our installation as a
synchronization service across a fairly slow 256Kbps sattelite link between a
ship and shore installation, hence my choice of BITS in the first place since
its very rescilient and can resume jobs etc. Originally the files to be
transferred was thought to be large 1-4Mbyte but our application sync also uses a
lot of small files.

Scenario 1:
My .Net service is running as Administrator which creates BitsJobs based on
files that appear in my outbox directory. The files are transferred to
another machine. The files are small (1Kb) in size and they are transferred
at about 1 file per second. It seems the BITS scheduler needs around 1 second
to see that there is a job queued which it then transfers. This is when
creating jobs for local administrator. Everything works great except the fact
that someone needs to be logged in as administrator on the server at all
times otherwise the transfers will stop.

Scenario 2:
Same as scenario 1 except the .Net service which creates BitsJobs run as
LocalSystem(or Network Service or Local Service). In this case every file in
the case above takes about 14-15 seconds to transfer. It seems the BITS
scheduler only checks for queued jobs every 15 seconds or so. I need my
service to operate as described in scenario 1 but logged in as LocalSystem.

Does anyone have any ideas how to change the parametres of the BITS
scheduler or have any tips for what I can do. Yes packing multiple files into
one is an option but it still leaves the system with too much delay when
transferring files.

[Noelle Mallory - MSFT] Please post questions to the MSDN Forums at http://forums.microsoft.com/msdn. You will likely get a quicker response through the forum than through the Community Content.

Tags : bits

kflemingsdsi
BITS on Window2008 R2
I am getting the same error no matter what I do.
The Powershell script works fine if the Destination is 2003 32 bit or 2008 32 bit.
Can't get it to work with 64 Bit 2008 R2.

PS C:\Documents and Settings\dfguser.MONITOR> Start-BitsTransfer -Credential localhost\DfgBITSUpload -Source C:\Data\CE
VAE182\CEVAE182091020072917490.CAM -Destination https://bits2008.smartdrive.net/DFGBITSFileUpload/cam/CEVAE1820910200729
17490.CAM -TransferType Upload
Start-BitsTransfer : An unexpected condition prevented the server from fulfilling the request.
At line:1 char:19
+ Start-BitsTransfer <<<< -Credential localhost\DfgBITSUpload -Source C:\Data\CEVAE182\CEVAE182091020072917490.CAM -D
estination https://bits2008.smartdrive.net/DFGBITSFileUpload/cam/CEVAE182091020072917490.CAM -TransferType Upload
+ CategoryInfo : InvalidOperation: (:) [Start-BitsTransfer], Exception
+ FullyQualifiedErrorId : StartBitsTransferCOMException,Microsoft.BackgroundIntelligentTransfer.Management.NewBits
TransferCommand
PS C:\Documents and Settings\dfguser.MONITOR>
Tags : errors bits

Page view tracker