ダイレクト プッシュ

製品: Exchange Server 2013

ダイレクト プッシュは、Microsoft Exchange Server 2013 に組み込まれている機能です。 ダイレクト プッシュは、携帯ネットワークまたはワイヤレス ネットワーク接続を介してモバイル デバイスを最新の状態に保ちます。 新しいコンテンツの同期準備ができるとダイレクト プッシュはモバイル デバイスに通知します。

概要

ダイレクト プッシュを機能させるには、モバイル デバイスがダイレクト プッシュに対応している必要があります。 これらのデバイスには、Microsoft Exchange ActiveSync ライセンシーによって生成され、Direct Push 互換として特別に設計された携帯電話が含まれます。

既定では、ダイレクト プッシュは Exchange 2013 で有効になっています。 ダイレクト プッシュをサポートするモバイル デバイスは、Microsoft Exchange を実行しているサーバーに有効期間の長い HTTPS 要求を発行します。 Exchange サーバーは、ユーザーのメールボックスのアクティビティを監視し、新しいメール、予定表、連絡先、タスクアイテムなどの変更がある場合は、モバイル デバイスに応答を送信します。 HTTPS 要求の有効期間内に変更が発生した場合、Exchange サーバーは、変更が発生したことを示す応答をデバイスに発行し、デバイスは Exchange サーバーとの同期を開始する必要があります。 その後、デバイスはこの要求をサーバーに発行します。 同期が完了すると、プロセスを再度開始するための新しい有効期間の長い HTTPS 要求が生成されます。 これにより、メール、予定表、連絡先、タスクアイテムがモバイル デバイスにすばやく配信され、常に Exchange サーバーと同期されます。

ダイレクト プッシュ トポロジ

ダイレクト プッシュは次のように動作します。

  1. Exchange 2013 サーバーと同期するように構成されているモバイル デバイスは、サーバーに HTTPS 要求を発行します。 この要求は PING と呼ばれます。 要求は、同期するように構成されている任意のフォルダー内の次の 15 分で項目が変更された場合にデバイスに通知するようにサーバーに指示します。 それ以外の場合、サーバーは HTTP 200 OK メッセージを返す必要があります。 その後、モバイル デバイスが立ち寄ります。 15 分のタイム スパンは ハートビート間隔と呼ばれます。

  2. 15 分以内に項目が変更されない場合、サーバーは HTTP 200 OK の応答を返します。 モバイル デバイスはこの応答を受け取り、アクティビティ ( ウェイクアップと呼ばれます) を再開し、要求を再度発行します。 これにより、プロセスが再起動されます。

  3. 15 分間のハートビート間隔内に項目が変更または新しい項目を受信した場合、サーバーは、新しいアイテムまたは変更されたアイテムがあることをモバイル デバイスに通知する応答を送信し、新しいアイテムまたは変更されたアイテムが存在するフォルダーの名前を提供します。 モバイル デバイスは、この応答を受け取った後、新しいアイテムまたは変更されたアイテムを持つフォルダーに対して同期要求を発行します。 同期が完了すると、モバイル デバイスは新しい PING 要求を発行し、プロセス全体がやり取りします。

ダイレクト プッシュは、長年の HTTPS 要求をサポートするネットワーク条件によって異なります。 モバイル デバイスまたはファイアウォールの通信事業者ネットワークが長年の HTTPS 要求をサポートしていない場合、HTTPS 要求は停止します。 次の手順では、モバイル デバイスのキャリア ネットワークのタイムアウト値が 13 分である場合の Direct Push の動作について説明します。

  1. モバイル デバイスがサーバーに HTTPS 要求を発行します。 要求は、同期するように構成されている任意のフォルダー内の次の 15 分で項目が変更された場合にデバイスに通知するようにサーバーに指示します。 それ以外の場合、サーバーは HTTP 200 OK メッセージを返す必要があります。 その後、モバイル デバイスが立ち寄ります。

  2. 15 分後にサーバーが応答しない場合、モバイル デバイスはスリープを解除し、サーバーへの接続がネットワークによってタイムアウトしたと結論付けます。 デバイスは HTTPS 要求を再発行しますが、今回は 8 分のハートビート間隔を使用します。

  3. 8 分後、サーバーは HTTP 200 OK メッセージを送信します。 その後、デバイスは、ハートビート間隔が 12 分のサーバーに新しい HTTPS 要求を発行することで、より長い接続を取得しようとします。

  4. 4 分後に新しい電子メール メッセージが受信され、サーバーはデバイスに同期を指示する HTTPS 要求を送信して応答します。 デバイスは、ハートビートが 12 分の HTTPS 要求を同期して再発行します。

  5. 12 分後に、新規または変更された項目がない場合、サーバーは HTTP 200 OK メッセージを送信して応答します。 デバイスがスリープ解除され、ネットワーク条件でハートビート間隔が 12 分にサポートされると結論付けられます。 その後、デバイスは、ハートビート間隔が 16 分の HTTPS 要求を再発行することで、より長い接続を取得しようとします。

  6. 16 分後、サーバーから応答は受信されません。 デバイスが起動し、ネットワーク条件が 16 分のハートビート間隔をサポートできないと結論付けます。 このエラーは、デバイスがハートビート間隔を増やそうとした直後に発生したため、ハートビート間隔が最大制限に達したと結論付けられます。 その後、デバイスは、ハートビート間隔が 12 分の HTTPS 要求を発行します。これは最後に成功したハートビート間隔であるためです。

モバイル デバイスは、ネットワークがサポートする最長のハートビート間隔を使用しようとします。 これにより、デバイスのバッテリ寿命が延び、ネットワーク経由で転送されるデータの量が減ります。 モバイル 通信事業者は、モバイル デバイスのレジストリ設定で最大、最小、および初期ハートビート値を指定できます。

ファイアウォール経由で機能するためのダイレクト プッシュの構成

ダイレクト プッシュがファイアウォール経由で機能するには、TCP ポート 443 を開く必要があります。 このポートは SSL (Secure Sockets Layer) のために必要で、インターネットと、クライアント アクセス サーバーとの間で開かれている必要があります。

ファイアウォールでポートを開くだけでなく、Direct Push のパフォーマンスを最適にするには、ファイアウォールのタイムアウト値を既定の 15 分から 30 分に増やす必要があります。 HTTPS 要求の最大長は、次の設定によって決まります。

  • インターネットからクライアント アクセス サーバーへのトラフィックを制御する、ファイアウォールで設定されている最大タイムアウト値

  • モバイル サービス プロバイダーによって設定されたファイアウォールのタイムアウト値