BlackBerry MDS Connection Service

The BlackBerry MDS Connection Service controls the flow of data that is sent to the BlackBerry device. This flow control allows the BlackBerry MDS Connection Service to minimize the amount of data that is sent over the wireless network, and can help to reduce the impact of pushing data to BlackBerry devices that are out of network coverage, turned off, or otherwise unavailable.

Controlling the flow of data

The BlackBerry MDS Connection Service sends data to each BlackBerry device specified in the push request as a series of packets. To control the flow of pushed data, the BlackBerry MDS Connection Service initially sends a maximum of five packets. The BlackBerry MDS Connection Service doesn't send additional packets until the BlackBerry device returns an acknowledgment that the initial packets were received.

If the BlackBerry MDS Connection Service is unable to immediately deliver the packets to a BlackBerry device (for example, because the BlackBerry device is outside a network coverage area or is turned off), the packets are queued, and the BlackBerry MDS Connection Service attempts to resend them later. If the BlackBerry MDS Connection Service is unable to deliver the packets before the flow control timeout is reached, then the packets are removed from the queue, and the push request is considered unsuccessful for the device. By default, the flow control timeout is 10 minutes.

Changing the size of packets and flow control timeout

BlackBerry Enterprise Service administrators can change the default size of the data packets and the default flow control timeout. Increasing the default size of the data packets requires more memory to store data in the queue, which can impact the performance of the BlackBerry MDS Connection Service. Increasing the flow control timeout means that push requests will be queued in memory longer.

If the administrator limits the number of queued push connections, the push requests remain in the queue longer. This causes the BlackBerry MDS Connection Service to run out of available push connections, and could force the BlackBerry MDS Connection Service to deny future push requests.

Poke and pull

The push data limit is 8 KB, but you can use a poke and pull mechanism for any data over this limit. Poke and pull is a technique where an URL is pushed to the device in a very short message (poke), and the device fetches the data at the URL (pull). You can host unlimited data on the enterprise web servers to be fetched by the applications upon receiving the poke.

Supported push formats

The push format you use for push requests affects the format in which the delivery parameters are specified and how the data is packaged within the POST request.

The BlackBerry MDS Connection Service supports the following push formats.

PAP push format

The push request contains a MIME multipart message that includes two components: an XML-based PAP control entity that defines the delivery parameters, and the data to be pushed.

The PAP push format is an open standard developed by the Open Mobile Alliance. The BlackBerry MDS Connection Service supports the WAP PAP 2.0 standard.

BlackBerry push format

The push request sends the push data as a byte stream. The destination, based on parameters set by the ApplicationID, is specified within the URL of the push data. The destination users and other delivery parameters are specified in HTTP headers included with the request.

The BlackBerry push format is a proprietary push format supported exclusively by the BlackBerry MDS Connection Service and BlackBerry device.

Storing push requests

You can store push requests in the BlackBerry Configuration Database. Administrators can configure the storage settings for push requests that are stored in the BlackBerry Configuration Database. The settings include the maximum number and maximum age of push requests stored in the database. When you implement a push solution, you should develop standards for these configuration settings.

For more information about configuring the BlackBerry Configuration Database, see the BlackBerry Device Service Administration Guide.