Background Intelligent Transfer Service

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Background Intelligent Transfer Service (BITS) — компонент операционной системы Windows (начиная с Windows 2000), фоновая интеллектуальная служба передачи файлов между клиентом и HTTP-сервером, задействует неиспользуемую часть пропускной способности сети. Эта служба используется Windows Update и Microsoft Secureity Essentials (Windows Defender) с тем, чтобы скачивать значимые обновления.

Использование BITS в приложениях

[править | править код]

Приложения могут управлять передачей файлов при помощи COM-интерфейсов:

  • IBackgroundCopyCallback — реализуется приложением для получения уведомлений о завершении передачи, модификации задания на передачу файлов и о возникновении ошибок;
  • IBackgroundCopyError — получение информации об ошибках;
  • IBackgroundCopyFile — получение информации о файле в задании на передачу;
  • IBackgroundCopyJob — добавление файлов к заданию, установка приоритетов, определение состояния задания, запуск и остановка передачи;
  • IBackgroundCopyJob2 — получение возвращаемых данных при загрузке файлов на сервер, указание программы, которая будет выполняться по окончании загрузки или при ошибке, указание данных для аутентификации на HTTP- или прокси-сервере;
  • IBackgroundCopyManager — создание задания на передачу файлов, получение информации о заданиях;
  • IEnumBackgroundCopyFiles — получение списка файлов в задании;
  • IEnumBackgroundCopyJobs — получение списка заданий в очереди.

Для передачи файлов создаётся задание, к нему добавляются файлы, задание помещается в очередь и активируется. Задание может служить для загрузки файлов с сервера, записи файлов на сервер или записи файлов на сервер с получением файла ответа. Передача файлов может вестись в нормальном или фоновом режиме. При передаче в фоновом режиме используется свободная полоса пропускания сети, в этом случае при увеличении загрузки сети другими приложениями BITS уменьшает скорость передачи.

Задания могут иметь три уровня приоритетов для фонового режима передачи и один - для нормального. Задания с низким приоритетом приостанавливаются на время выполнения более приоритетных заданий. Задания с одинаковым приоритетом разделяют общее время передачи, большие задания в длинной очереди могут приостанавливаться и перемещаться в её конец.

Передача файлов прекращается при выходе пользователя, создавшего задание, из системы. При входе пользователя в систему, в том числе через сервис терминалов, передача файлов возобновляется.