How the Direct Push Technology Works

6/2/2010

The direct push technology uses Exchange ActiveSync to keep data on a Windows Mobile®–based device synchronized with data on a Microsoft Exchange server. There is no longer a reliance on SMS for notification.

The direct push technology has two parts: one part resides on the device (client), and the other resides on an Exchange Server SP2 mail server. The following list describes these parts of the technology:

  • Windows Mobile–based device with MSFP. The ActiveSync technology on the device manages the direct push communication with Exchange Server. It establishes an HTTP connection with the server for a specified time, and then goes to sleep while waiting for the server to respond. The server responds with either a status indicating that new items were received or that no new items arrived. The device then sends either a synchronization request or another direct push request. The rate at which this occurs is dynamically adjusted based on parameters set by the OEM or Operator and how long an idle HTTP connection can be maintained on the operator network and customer’s Enterprise network.
  • Exchange Server 2003 Service Pack 2. This version of Exchange Server includes a direct push component that augments the Exchange ActiveSync infrastructure that supports manual and scheduled synchronization. Exchange Server uses IP-based notifications to deliver E-mail, contact, calendar, and task updates to a device as soon as the information arrives at the server.

When data changes on the server, the changes are transmitted to the device over a persistent HTTP connection that is used for direct push. The time-out value in the mobile operator network identifies how long the persistent HTTP connection will be maintained with no activity.

Note

Microsoft recommends that operator networks be able to maintain an HTTP connection for at least 30 minutes to ensure optimal battery life. For more information, see The Impact of Changing the Direct Push Settings.

To keep this connection from timing out between updates, the device reissues a request when the server responds. This periodic transmission is referred as the "heartbeat". The heartbeat is what maintains the connection to the server for direct push; each heartbeat alerts the server that the device is ready to receive data.

The heartbeat interval is specified by the client, and is sent as part of the HTTP ping request to the server. The server’s default maximum allowable heartbeat interval is 45 minutes.

The heartbeat starts at the default rate. The direct push algorithm on the device then dynamically adjusts the heartbeat interval to maintain the maximum time between heartbeats without exceeding the time-out value. The time-out value, which is the maximum length of the connection, is the lowest time-out in the network path between the device and the server.

The rate adjustment is based on the following configuration parameter settings.

  • HeartbeatDefault
  • HeartbeatIncrement
  • HeartbeatMin
  • HeartbeatMax

The following list describes how these parameters are used:

  1. The client or ActiveSync initiates a session with the Exchange server.
    The heartbeat interval starts with number of seconds identified as the HeartbeatDefault.
  2. If the client receives a server response that contains either new synchronization data or a successful HTTP 200 OK response, it means that the connection with the server did not time out, so the heartbeat interval can be increased.
    Or, if the connection times out before the heartbeat interval has expired, the heartbeat interval is lowered.

Note

The device waits for successive round trips before attempting to adjust the heartbeat interval. The amount that the interval is changed is determined by an algorithm and the HearbeatIncrement setting. The HeartbeatIncrement setting indicates the maximum amount that the interval can be increased or decreased. A tuning component in the algorithm can change the increments to an amount different than what is specified as the HeartbeatIncrement. The heartbeat interval is not adjusted if the response failure has a known cause such as an active telephone call or a known error.

For more information about these configuration parameters, see Parameters Used for Dynamically Adjusting the Heartbeat Interval in Heartbeat Interval Adjustment.

See Also

Concepts

The Direct Push Process
Direct Push Activity
Heartbeat Interval Adjustment
The Impact of Direct Push on Networks and Exchange Servers
Mobile Operator Guide to Messaging and Security Feature Pack For Windows Mobile 5.0-based Devices