Direct Push — это функция, встроенная в Exchange Server 2007. Технология «Direct Push» предназначена для поддержания актуальности данных мобильного устройства через подключение к сотовой сети. Впервые введенная в Exchange Server 2003 с пакетом обновления 2 (SP2), технология «Direct Push» предоставляет уведомление для мобильного устройства, когда новое содержимое готово для синхронизации с устройством. 

Обзор

Для работы «Direct Push» необходимо иметь устройство, поддерживающее возможности «Direct Push». К таким устройствам относятся:

  • сотовые телефоны с Windows Mobile® 5.0, пакетом MSFP (Messaging & Security Feature Pack) и более поздними версиями программного обеспечения Windows Mobile;

  • сотовые телефоны и мобильные устройства, произведенные по лицензиям Exchange ActiveSync и разработанные специально для поддержки технологии «Direct Push».

По умолчанию технология «Direct Push» включена в Exchange 2007. Мобильные устройства, поддерживающие технологию «Direct Push», выдают долгоживущий HTTPS-запрос на сервер Exchange. Сервер Exchange контролирует действия с почтовым ящиком пользователя и отправляет ответ устройству, если возникают какие-либо изменения, например создание или изменение сообщений электронной почты, элементов календаря или контактов. Если изменения происходят во время срока существования HTTPS-запроса, сервер Exchange выдает устройству ответ, сообщающий, что возникли изменения и устройство должно синхронизироваться с сервером Exchange. Затем устройство выдает серверу запрос на синхронизацию. Когда синхронизация выполнена, создается новый долгоживущий HTTPS-запрос на повторный запуск процесса. Это гарантирует быструю доставку на мобильное устройство элементов электронной почты, календаря, контактов и задач, а также постоянную синхронизацию устройства с сервером Exchange.

Топология «Direct Push»

На рис.1 показана типовая топология Exchange Server 2007, настроенная для «Direct Push». На этом рисунке предполагается, что роль сервера клиентского доступа и роль сервера почтовых ящиков установлены на двух отдельных компьютерах Exchange Server. Можно также установить обе роли сервера на один и тот же физический компьютер Exchange 2007.

Рис.1.Сетевая конструкция «Direct Push»

Топология «Direct Push»

Технология «Direct Push» функционирует следующим образом:

  1. Мобильное устройство, настроенное на синхронизацию с сервером Exchange 2007, выдает серверу HTTPS-запрос. Этот запрос называется ping-запросом. Запрос отдает команду серверу уведомлять устройство обо всех изменениях элементов в любой папке, настроенной на синхронизацию, в течение следующих 15 минут. В противном случае сервер должен вернуть сообщение «HTTP 200 OK». Затем мобильное устройство переходит в ждущий режим. 15-минутный временной диапазон называется интервалом подтверждения соединения.

  2. Если никакие элементы не изменяются в течение 15 минут, сервер возвращает ответ «HTTP 200 OK». Мобильное устройство получает этот ответ, возобновляет активность (называемую запуском) и выдает повторно запрос. Эти действия перезапускают процесс.

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

Технология «Direct Push» зависит от сетевых условий, поддерживающих долгоживущий HTTPS-запрос. Если передающая сеть мобильного устройства или брандмауэр не поддерживает долгоживущие HTTPS-запросы, HTTPS-запрос прекращается. Ниже приводится пошаговое описание работы «Direct Push» для случая, когда время ожидания подключения для передающей сети мобильного устройства равно 13 минутам.

  1. Мобильное устройство выдает серверу HTTPS-запрос. Запрос отдает команду серверу уведомлять устройство обо всех изменениях элементов в любой папке, настроенной на синхронизацию, в течение следующих 15 минут. В противном случае сервер должен вернуть сообщение «HTTP 200 OK». Затем мобильное устройство переходит в ждущий режим.

  2. Если сервер не отвечает в течение 15 минут, мобильное устройство запускается в предположении, что в сети было превышено время ожидания подключения к серверу. Устройство повторно выдает HTTPS-запрос, но на этот раз используется интервал подтверждения соединения равный восьми минутам.

  3. По истечении восьми минут сервер отправляет сообщение «HTTP 200 OK». Затем устройство пытается получить более продолжительное подключение, выдавая серверу новый HTTPS-запрос, имеющий интервал подтверждения соединения равный 12 минутам.

  4. Спустя четыре минуты принимается новое сообщение электронной почты, и сервер отвечает, посылая HTTPS-запрос, который сообщает устройству о необходимости синхронизации. Устройство синхронизируется и повторно выдает HTTPS-запрос с интервалом подтверждения соединения равным 12 минутам.

  5. Спустя 12 минут если отсутствуют новые или измененные элементы, сервер отвечает, посылая сообщение «HTTP 200 OK». Устройство запускается в предположении, что сетевые условия поддерживают интервал подтверждения соединения равный 12 минутам. Затем устройство пытается получить более длительное подключение, повторно выдавая HTTPS-запрос с интервалом подтверждения соединения равным 16 минутам.

  6. Спустя 16 минут никакого отклика не принимается от сервера. Устройство запускается в предположении, что сетевые условия не поддерживают интервал подтверждения соединения равный 16 минутам. Так как эта ошибка возникла непосредственно после попытки устройства увеличить интервал подтверждения соединения, делается вывод, что интервал подтверждения соединения достиг максимума. Затем устройство выдает HTTPS-запрос с интервалом подтверждения соединения равным 12 минутам, так как это был последний успешно действующий интервал подтверждения соединения.

Примечание.
В операционной системе Windows Mobile 6.1 улучшен процесс синхронизации. В ней сохранилась концепция «парковки запроса», однако ОС Windows Mobile 6.1 поддерживает Exchange ActiveSync версии 12.1. Эта версия Exchange ActiveSync поддерживает не только парковку запроса на проверку связи, но и парковку запроса на синхронизацию. Поэтому, если в течение заданного промежутка времени поступит новое содержимое, оно будет содержаться в HTTP-ответе на запрос синхронизации. Это ускоряет передачу содержимого и увеличивает время работы батареи устройства.

Мобильное устройство пытается использовать самый продолжительный интервал подтверждения соединения, поддерживаемый сетью. Это увеличивает срок службы аккумулятора устройства и минимизирует объем данных, передаваемых по сети. Каналы мобильной связи могут задавать максимальное, минимальное и начальное значение интервала подтверждения соединения в параметрах реестра для мобильного устройства.

Настройка «Direct Push» для работы через брандмауэр

Для работы технологии Direct Push через брандмауэр необходимо открыть указанный ниже порт.

  • TCP-порт 443 необходим для работы протокола SSL (Secure Sockets Layer) и должен быть открыт между Интернетом и компьютером Exchange Server с установленной ролью сервера клиентского доступа.

Помимо открытия портов на брандмауэре для оптимальной работы «Direct Push» следует увеличить значение времени ожидания соединения на брандмауэре с 15 минут по умолчанию до 30 минут. Максимальная длительность HTTPS-запроса определяется следующими параметрами:

  • максимальное время ожидания соединения, устанавливаемое на брандмауэрах, управляющих трафиком из Интернета на сервер Exchange с установленной ролью сервера клиентского доступа;

  • время ожидания соединения на брандмауэрах, устанавливаемое каналом мобильной связи.

При малом значении времени ожидания соединения устройство чаще инициирует новые HTTPS-запросы. Это может сократить срок службы батареи устройства. Для получения дополнительных сведений о настройке брандмауэра см.Документация на программный продукт ISA Server.

Дополнительные сведения

Для получения дополнительных сведений о технологии «Direct Push» и инструкциях по синхронизации мобильных устройств с Exchange 2007 см. следующие разделы: