Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Background Intelligent Transfer Service

From Wikipedia, the free encyclopedia
Component of Microsoft Windows
Background Intelligent Transfer Service (BITS)
DeveloperMicrosoft
Initial releaseOctober 2001; 24 years ago (2001-10)
Stable release
10.3 / December 7, 2019; 6 years ago (2019-12-07)
Operating systemMicrosoft Windows
TypeDownload manager
LicenseProprietarycommercial software
Websitelearn.microsoft.com/en-us/windows/win32/bits/background-intelligent-transfer-service-portal

Background Intelligent Transfer Service (BITS) is a component ofMicrosoft Windows XP and later iterations of the operating systems, which facilitates asynchronous, prioritized, and throttled transfer of files between machines using idle network bandwidth. It is most commonly used by recent versions ofWindows Update,Microsoft Update,Windows Server Update Services, andSystem Center Configuration Manager to deliversoftware updates to clients,Microsoft's anti-virus scannerMicrosoft Security Essentials (a later version ofWindows Defender) to fetch signature updates, and is also used by Microsoft's instant messaging products to transfer files. BITS is exposed through theComponent Object Model (COM) and the UWP APIWindows.Networking.BackgroundTransfer.

Technology

[edit]

BITS uses idlebandwidth 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. BITS also supports resuming transfers in case of disruptions.

BITS version 1.0 supports only downloads. BITS version 1.2 was included inWindows XP SP1 andWindows 2000 SP3. From version 1.5, BITS supports both downloads and uploads. Uploads require theIIS web server, with BITS server extension, on the receiving side.

Transfers

[edit]

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 task, 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 overSMB,HTTP andHTTPS.

Bandwidth

[edit]

BITS attempts to use only spare bandwidth. 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 andthrottles its own transfers to ensure that other foreground applications (such as aweb browser) get the bandwidth they need.Note that BITS does not necessarily measure the actual bandwidth. BITS versions 3.0 and up will useInternet Gateway Device counters, if available, to more accurately calculate available bandwidth. Otherwise, BITS will use the speed as reported by theNIC to calculate bandwidth. This can lead to bandwidth calculation errors, for example when a fast network adapter (10 Mbit/s) is connected to the network via a slow link (56 kbit/s).[1]

Jobs

[edit]

BITS uses a queue to manage file transfers. A BITS session has to be started from an application by creating aJob. A job is a container, which has one or more files to transfer. A newly created job is empty. Files must be added, specifying both the source and destinationURIs. 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 providesAPI access to control jobs. 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 ofNormal priority. Jobs can optionally be set toHigh,Low, orForeground priority. 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 forForeground priority downloads.

Scheduling

[edit]

BITSschedules each job to receive only a finitetime 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 usesround-robin scheduling 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 automaticallysuspended (or paused). It has to be explicitlyresumed to be activated.Resuming moves the job to thequeued state. On its turn to transfer data, it first connects to the remote server and then starts transferring. After the job's time slice expires, the transfer is temporarily paused, and the job is moved back to thequeued state. When the job 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 a built-in mechanism for error handling and recovery attempts. Errors can be eitherfatal ortransient; either moves a job to the respective state. Atransient error is a temporary error that resolves itself after some time. For a transient error, BITS waits for some time and then retries. Forfatal errors, BITS transfers control of the job to the creating application, with as much information regarding the error as it can provide.

Command-line interface tools

[edit]

BITSAdmin command

[edit]
BITSAdmin
DeveloperMicrosoft
Stable release
3.0
Operating systemMicrosoft Windows
TypeCommand
LicenseProprietarycommercial software
Websitedocs.microsoft.com/en-us/windows-server/administration/windows-commands/bitsadmin

Microsoft provides a BITS Administration Utility (BITSAdmin)command-lineutility to manage BITS jobs. The utility is part ofWindows Vista and later.[2][3] It is also available as a part of theWindows XP Service Pack 2 Support Tools[4] orWindows Server 2003 Service Pack 1 Support Tools.[5]

Usage example:

C:\>bitsadmin /transfer myDownloadJob /download /priority normal https://example.com/file.zip C:\file.zip

PowerShell BitsTransfer

[edit]

InWindows 7, theBITSAdmin utility is deprecated in favor ofWindows PowerShell cmdlets.[6] TheBitsTransfer PowerShell module provides eight cmdlets with which to manage BITS jobs.[7]

The following example is the equivalent of the BITSAdmin example above:

PS C:\>Start-BitsTransfer-Source"https://example.com/file.zip"-Destination"C:\file.zip"-DisplayName"myDownloadJob"

List of non-Microsoft applications that use BITS

[edit]

See also

[edit]

References

[edit]
  1. ^"MSDN BITS Network Bandwidth".Archived from the original on 2017-04-19. Retrieved2015-05-01.
  2. ^Satran, Michael; Smith, Peter (5 March 2019)."BITSAdmin tool".Windows Dev Center.Microsoft.Archived from the original on 18 April 2020. Retrieved28 April 2020.
  3. ^Ross, Elizabeth; White, Steven; Poggemeyer, Liza; Lee, Thomas; Plett, Corey (16 October 2017)."bitsadmin".Windows IT Pro Center. Microsoft.Archived from the original on 30 April 2019. Retrieved9 June 2019.
  4. ^"Windows XP Service Pack 2 Support Tools".Download Center. Microsoft. 10 August 2004.Archived from the original on 29 April 2020. Retrieved28 April 2020.
  5. ^"Windows Server 2003 Service Pack 1 32-bit Support Tools".Download Center. Microsoft. 30 March 2005.Archived from the original on 21 July 2020. Retrieved28 April 2020.
  6. ^"Manage BITS (Background Intelligent Transfer Service) with Windows PowerShell".TechNet Magazine. Microsoft.Archived from the original on 22 August 2020. Retrieved25 September 2015.
  7. ^"BitsTransfer".Windows IT Pro Center. Microsoft.Archived from the original on 11 November 2020. Retrieved28 April 2020.
  8. ^"BITS Download Manager".Archived from the original on 2020-08-15. Retrieved2010-01-07.
  9. ^"BITSync". Archived fromthe original on 2009-01-24. Retrieved2008-12-31.
  10. ^Endless Installer for Windows DownloadManager class
  11. ^"Firefox 68.0, See All New Features, Updates and Fixes". Mozilla.Archived from the original on 2019-07-11. Retrieved2019-07-09.
  12. ^Oxygen media platform
  13. ^"SharpBITS".Archived from the original on 2018-01-22. Retrieved2021-03-31.
  14. ^"WinBITS".Archived from the original on 2019-05-18. Retrieved2007-11-19.
  15. ^"Zenworks 7".Archived from the original on 2009-02-12. Retrieved2021-03-31.
  16. ^"Specops Deploy/App".Archived from the original on 2020-12-20. Retrieved2021-03-31.

External links

[edit]
Wikibooks has a book on the topic of:Guide to Windows Commands
Management
tools
Apps
Shell
Services
File systems
Server
Architecture
Security
Compatibility
API
Games
Discontinued
Games
Apps
Others
Spun off to
Microsoft Store
Ecosystem
Interpreters
Terminals
File system navigation
File management
Archiving
Disk management
Processes
Registry
User environment
File contents
Scripting
Networking
Maintenance and care
Boot management
Software development
Miscellaneous
Graphics and UI
Audio
Multimedia
Web
Data access
Networking
Communication
Administration and
management
Component model
Libraries
Device drivers
Security
.NET
Software factories
IPC
Accessibility
Text and multilingual
support
Retrieved from "https://en.wikipedia.org/w/index.php?title=Background_Intelligent_Transfer_Service&oldid=1318843062"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp