8 499/495 290 3999Подключение 8 499/495 290 3666Служба поддержки

Background Intelligent Transfer Service (BITS)

Background Intelligent Transfer Service (сокращенно BITS) — интеллектуальная служба операционной системы Windows, предназначенная для пересылки данных в фоновом режиме.

Служба BITS использует для фоновой передачи данных незагруженную часть трафика сети. В этом режиме Windows Update, остальные службы безопасности Windows, а также другие разрешенные приложения скачивают свои обновления и передают необходимую информацию.

Принцип работы протокола BITS

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

Для передачи файлов может использоваться как фоновый, так и обычный режим. Для передачи в фоновом режиме протокол задействует свободную полосу пропускной способности сети. Если нагрузка на сеть увеличивается за счет использования ее другими приложениями, BITS снижает скорость фоновой передачи данных.

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

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

Для пересылки данных приложения системы используют следующие СОМ-интерфейсы протокола:

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

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