Background Intelligent Transfer Service
Encyclopedia
Background Intelligent Transfer Service (BITS) is a component of Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 XP
Windows XP
Windows XP is an operating system produced by Microsoft for use on personal computers, including home and business desktops, laptops and media centers. First released to computer manufacturers on August 24, 2001, it is the second most popular version of Windows, based on installed user base...

 and later operating systems that facilitates prioritized, throttled, and asynchronous transfer of files between machines using idle network bandwidth. It is most commonly used by recent versions of Windows Update
Windows Update
Windows Update is a service provided by Microsoft that provides updates for the Microsoft Windows operating system and its installed components, including Internet Explorer...

, Microsoft Update, Windows Server Update Services
Windows Server Update Services
- External links :* * * – contains many detailed documents on WSUS operation, known issues, and troubleshooting* - German WSUS-Community * - Control installation of WSUS updates from command line...

, and Systems Management Server to deliver software update
Software Update
Software Update is a software tool by Apple Inc. that installs the latest version of Apple software on computers running Mac OS X. It was originally introduced to Mac users in Mac OS 9. A Windows version has been available since the introduction of iTunes 7, under the name Apple Software Update....

s to clients, Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...

's anti-virus scanner Microsoft Security Essentials to fetch signature updates, and is also used by Microsoft's instant messaging products to transfer files. BITS is exposed through Component Object Model
Component Object Model
Component Object Model is a binary-interface standard for software componentry introduced by Microsoft in 1993. It is used to enable interprocess communication and dynamic object creation in a large range of programming languages...

 (COM), making it possible to use with virtually any programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

.

Technology

BITS uses idle bandwidth
Bandwidth (computing)
In computer networking and computer science, bandwidth, network bandwidth, data bandwidth, or digital bandwidth is a measure of available or consumed data communication resources expressed in bits/second or multiples of it .Note that in textbooks on wireless communications, modem data transmission,...

 to transfer data. Normally, BITS transfers data in the background, i.e., BITS will only transfer data whenever there is bandwidth which is not being used by other applications, for example, when applications use 80% of the available bandwidth, BITS will use only the remaining 20%. BITS constantly monitors network traffic for any increase or decrease in network traffic and throttles
Bandwidth throttling
Bandwidth throttling is a reactive measure employed in communication networks to regulate network traffic and minimize bandwidth congestion. Bandwidth throttling can occur at different locations on the network. On a local area network , a sysadmin may employ bandwidth throttling to help limit...

 its own transfers to ensure that other foreground applications (such as a web browser
Web browser
A web browser is a software application for retrieving, presenting, and traversing information resources on the World Wide Web. An information resource is identified by a Uniform Resource Identifier and may be a web page, image, video, or other piece of content...

) get the bandwidth they need. BITS also supports resuming transfers in case of disruptions.

BITS version 1.0 supports only downloads. From version 1.5, BITS supports both downloads and uploads. Uploads require the IIS web server
Internet Information Services
Internet Information Services – formerly called Internet Information Server – is a web server application and set of feature extension modules created by Microsoft for use with Microsoft Windows. It is the most used web server after Apache HTTP Server. IIS 7.5 supports HTTP, HTTPS,...

, with BITS server extension, on the receiving side.

Transfers

BITS transfers files on behalf of requesting applications asynchronously, i.e., once an application requests the BITS service for a transfer, it will be free to do any other job, or even terminate. The transfer will continue in the background as long as the network connection is there and the job owner is logged in. BITS jobs do not transfer when the job owner is not signed in.

BITS suspends any ongoing transfer when the network connection is lost or the operating system is shut down. It resumes the transfer from where it left off when (the computer is turned on later and) the network connection is restored. BITS supports transfers over both HTTP
Hypertext Transfer Protocol
The Hypertext Transfer Protocol is a networking protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web....

 and HTTPS.

Jobs

BITS uses a queue to manage file transfers. A BITS session has to be started from an application by creating a Job. A job is a container, which has one or more files to transfer. A newly created job doesn't have any files, which must be added to it specifying both the source and destination URI
Uniform Resource Identifier
In computing, a uniform resource identifier is a string of characters used to identify a name or a resource on the Internet. Such identification enables interaction with representations of the resource over a network using specific protocols...

s. While a download job can have any number of files, upload jobs can have only one. Properties can be set for individual files. Jobs inherit the security context of the application that creates them.
BITS provides API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

 access to control a job. A job can be programmatically started, stopped, paused, resumed, and queried for status. Before starting a job, a priority has to be set for it, to specify when the job is processed, relative to other jobs in the transfer queue. By default, all jobs are of Normal priority, which can be optionally set to High, Low, or Foreground. Background transfers are optimized by BITS, which increases and decreases (or throttles) the rate of transfer based on the amount of idle network bandwidth that is available. If a network application begins to consume more bandwidth, BITS decreases its transfer rate to preserve the user's interactive experience, except for Foreground priority downloads.

Scheduling

BITS schedules
Scheduling (computing)
In computer science, a scheduling is the method by which threads, processes or data flows are given access to system resources . This is usually done to load balance a system effectively or achieve a target quality of service...

 each job to receive only a finite time slice, for which only that job is allowed to transfer, before it is temporarily paused to give another job a chance to transfer. Higher priority jobs get a higher chunk of time slice. BITS uses round-robin scheduling
Round-robin scheduling
Round-robin is one of the simplest scheduling algorithms for processes in an operating system. As the term is generally used, time slices are assigned to each process in equal portions and in circular order, handling all processes without priority . Round-robin scheduling is simple, easy to...

 to process jobs in the same priority, and to prevent a large transfer job from blocking smaller jobs.

When a job is newly created, it is automatically suspended (or paused). It has to be explicitly resumed to be activated. Resuming moves the job to queued state. When it is its turn to transfer data, it first connects to the remote server and then starts transferring. After the time slice expires, the transfer is temporarily paused and the job is moved to queued state. When it gets another time slice, it has to connect again before it can transfer. When the job is complete, BITS transfers ownership of the job to the application that created it.

BITS includes built-in mechanism for error handling and recovery attempts. Errors can be either fatal or transient, either moves a job to its respective state. A transient error is a temporary error that resolves itself after some time. For a transient error, BITS waits for sometime and then retries. For fatal errors, transfers the control of the job to its creating application, with as much information regarding the error as it can provide.

Tools

BITSAdmin - BITS Administration Utility,
command line tool to manage BITS jobs.

It is available as a part of Windows XP Service Pack 2 Support Tools or Windows Server 2003 Service Pack 1 Support Tools and later versions of both, as well as a standard command-line tool in Windows Vista
Windows Vista
Windows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...

. It is declared deprecated as of Windows 7.

Version history

  • Version 1.0 (October 2001)
    • Initial release. Included with Windows XP
      Windows XP
      Windows XP is an operating system produced by Microsoft for use on personal computers, including home and business desktops, laptops and media centers. First released to computer manufacturers on August 24, 2001, it is the second most popular version of Windows, based on installed user base...

       RTM.
  • Version 1.2 (July 2002)
    • Included with Windows XP Service Pack 1 and Windows 2000
      Windows 2000
      Windows 2000 is a line of operating systems produced by Microsoft for use on personal computers, business desktops, laptops, and servers. Windows 2000 was released to manufacturing on 15 December 1999 and launched to retail on 17 February 2000. It is the successor to Windows NT 4.0, and is the...

       Service Pack 3. BITS' inclusion with Windows 2000 brought Automatic Updates capabilities into the core of that operating system.
    • No other external changes were made.
  • Version 1.5 (September 2003)
    • Included with Windows Server 2003
      Windows Server 2003
      Windows Server 2003 is a server operating system produced by Microsoft, introduced on 24 April 2003. An updated version, Windows Server 2003 R2, was released to manufacturing on 6 December 2005...

       and made available as a separate download for Windows 2000 and Windows XP.
    • Added upload and upload-reply capability, command-line execution for events, explicit credentials, and support for Windows 2000.
  • Version 2.0 (August 2004)
    • Included with Windows XP Service Pack 2 and Windows Server 2003 Service Pack 1, and made available as a separate download for Windows 2000 Service Packs 3 and 4, and prior releases of Windows XP and Server 2003.
    • Added support for performing concurrent foreground downloads, using Server Message Block
      Server Message Block
      In computer networking, Server Message Block , also known as Common Internet File System operates as an application-layer network protocol mainly used to provide shared access to files, printers, serial ports, and miscellaneous communications between nodes on a network. It also provides an...

       paths for remote names, downloading portions of a file, changing the prefix or complete name of a remote name, and limiting client bandwidth usage.
    • BITS 2.0 is a minimum requirement for Windows Server Update Services
      Windows Server Update Services
      - External links :* * * – contains many detailed documents on WSUS operation, known issues, and troubleshooting* - German WSUS-Community * - Control installation of WSUS updates from command line...

      .
  • Version 2.5 (June 2007)
    • Adds support for certificate-based client authentication for secure HTTP transports and custom HTTP headers.
    • Support for IPv6
      IPv6
      Internet Protocol version 6 is a version of the Internet Protocol . It is designed to succeed the Internet Protocol version 4...

    • Available for download for Windows XP and Windows Server 2003, and is included with Windows XP Service Pack 3.
  • Version 3.0 (November 2006)
    • Adds peer caching for domain
      Windows Server domain
      A Windows domain is a collection of security principals that share a central directory database. This central database contains the user accounts and security information for...

      -joined computers which allows computers in the same subnet to download content from peers and also serve content to peers, receive notification when a file is downloaded, access the temporary file while the download is in progress, and control HTTP redirects. BITS 3.0 also uses Internet Gateway Device counters to more accurately calculate available bandwidth.
    • Adds Group policies
      Group Policy
      Group Policy is a feature of the Microsoft Windows NT family of operating systems. Group Policy is a set of rules that control the working environment of user accounts and computer accounts. Group Policy provides the centralized management and configuration of operating systems, applications, and...

       to control peer caching and limit download times, number of jobs and files download. BITS 3.0 also writes diagnostic and troubleshooting events to the system log which can be viewed in Event Viewer
      Event Viewer
      Event Viewer, a component of Microsoft's Windows NT line of operating systems, lets administrators and users view the event logs on a local or remote machine. In Windows Vista, Microsoft overhauled the event system.- Overview :...

      .
    • BITS 3.0 was introduced with Windows Vista
      Windows Vista
      Windows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...

      , and is included in all later Windows versions. BITS 2.5 capabilities are also included in Windows Vista and Windows Server 2008.
  • Version 4.0 (July 2009)
    • Introduced with Windows 7 and Windows Server 2008 R2
      Windows Server 2008 R2
      Windows Server 2008 R2 is a server operating system produced by Microsoft. It was released to manufacturing on July 22, 2009 and launched on October 22, 2009. According to the Windows Server Team blog, the retail availability was September 14, 2009. It is built on Windows NT 6.1, the same core...

       and available for Windows Vista SP2 and Windows Server 2008 RTM
    • Adds a new resource access model that allows applications using BITS to assign two access token
      Access token
      In Microsoft Windows operating systems, an access token contains the security information for a login session and identifies the user, the user's groups, and the user's privileges.-Overview:...

      s with different rights
      Mandatory Integrity Control
      In the context of the Microsoft Windows range of operating systems, Mandatory Integrity Control or Integrity Levels is a core security feature, introduced in Windows Vista and Windows Server 2008, that adds Integrity Levels to processes running in a...

       to do BITS transfer jobs.
    • For Windows Server, BITS 4.0 adds an HTTP-based file server called BITS compact server for computers in the same domain.
    • More granular bandwidth throttling group policies.
    • With BITS 4.0, the peer caching model is deprecated and replaced by BranchCache subnet-level peer caching.

List of non-Microsoft applications that use BITS

  • BITSync: An Open source
    Open source
    The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

     utility that uses BITS to perform file synchronization
    File synchronization
    File synchronization in computing is the process of ensuring that computer files in two or more locations are updated via certain rules....

     on Server Message Block
    Server Message Block
    In computer networking, Server Message Block , also known as Common Internet File System operates as an application-layer network protocol mainly used to provide shared access to files, printers, serial ports, and miscellaneous communications between nodes on a network. It also provides an...

     network shares.
  • Zenworks 7: Novell ZENworks Desktop Management
    Novell ZENworks
    Novell ZENworks, a suite of software products developed and maintained by Novell, Inc. for computer systems management, aims to manage the entire life cycle of servers, of desktop PCs , of laptops, and of handheld devices such as personal digital assistants . ZENworks recently included full disk...

    : A systems management
    Systems management
    Systems management refers to enterprise-wide administration of distributed systems including computer systems. Systems management is strongly influenced by network management initiatives in telecommunications....

     software that can use BITS to deliver application files to workstations.
  • KBOX Systems Management Appliance
    KACE Networks
    Dell KACE specializes in delivering appliance-based computer systems management solutions which allow organizations to manage IT assets. They also provide software for security, application virtualization, and systems management products...

    : A systems management
    Systems management
    Systems management refers to enterprise-wide administration of distributed systems including computer systems. Systems management is strongly influenced by network management initiatives in telecommunications....

     appliance that can use BITS to deliver files to Windows systems.
  • RSS Bandit
    RSS Bandit
    RSS Bandit is an open source RSS/Atom aggregator based on the Microsoft .NET framework. It was originally released as a code sample in a series of articles the Extreme XML column written by Dare Obasanjo on MSDN in 2003. The articles were and . A number of readers of the article liked the product...

    : Uses BITS to download attachments in web feeds.
  • EVE Online
    EVE Online
    Eve Online is a video game by CCP Games. It is a player-driven, persistent-world MMORPG set in a science fiction space setting. Characters pilot customizable ships through a galaxy of over 7,500 star systems. Most star systems are connected to one or more other star systems by means of stargates...

    : Uses BITS to download all the patches post-Apocrypha (March 10, 2009). It is also now used in the client repair tool.
  • WinBITS: An Open source
    Open source
    The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

     http://sourceforge.net/projects/winbits/ Downloader for Windows that downloads files by creating BITS Jobs.
  • Google Gears Installer: Uses BITS to download gears data.
  • Google Pack
    Google Pack
    Google Pack was a collection of software tools offered by Google to download in a single archive. It was announced at the 2006 Consumer Electronics Show, on January 6. Google Pack is currently only available for Windows XP, Windows Vista, and Windows 7...

    : Uses BITS to download managed applications.
  • Oxygen media platform: Uses BITS to distribute Media Content and Software Updates
  • YouTube
    YouTube
    YouTube is a video-sharing website, created by three former PayPal employees in February 2005, on which users can upload, view and share videos....

     uploader: Uses BITS
  • Seven Update: A open source update platform that uses BITS to download software updates. http://sevenupdate.com
  • AppSense uses BITS to install Packages on clients.
  • BITS Download Manager: A Download manager
    Download manager
    A download manager is a computer program dedicated to the task of downloading possibly unrelated stand-alone files from the Internet for storage...

     for Windows that creates BITS Jobs.
  • SharpBITS An Open source
    Open source
    The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...

     Download manager
    Download manager
    A download manager is a computer program dedicated to the task of downloading possibly unrelated stand-alone files from the Internet for storage...

    for Windows that handles BITS jobs.

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK