What is Contention Management?

This topic describes contention management and the contention management process flow.

When a contention issue arises the Access Point priorities of the incoming connection and the existing connections are compared. If the incoming Access Point has a higher priority than an existing Access Point the existing Access Point connection is stopped and the new Access Point connection is started. If the incoming Access Point priority is lower than or equal to an existing Access Point connection the incoming Access Point is ignored.

Contention Management Process Flow

This section outlines the contention management process flow and the associate components.

The following diagram describes the Contention Management Process Flow.

The following steps describe what happens when a PDP context contention issue occurs in the system:

  1. The PDP Meta-Connection Provider (MCPR) of the starting connection calls the HandleContentionL function of the PDP Tier Manager.

  2. The PDP Tier Manager has an iPDPContentionManagement instance of the CPDPContentionManagement class. The contention request is added to iPDPContentionManagement.

  3. The ContentionManager starts processing the asynchronous contention request. The priorities assigned to all active connections in the system are extracted from the MCPR Access Points. The ContentionManager delivers the extracted priorities to the Contention Management Activity.

  4. The existing connection priorities are compared with the new connection priority and one of the following occurs:

  5. If the priority of the new connection is lower than those of the existing connection, the new connection is not permitted.

  6. If the priority of the new connection is higher than one of the existing connections, the lowest priority connection is stopped and the new connection is permitted and started.

  7. Each connection relates to a single application on the mobile device. One of the following occurs when the connection and application is terminated:

  8. If the application that uses the stopped connection is contention-aware it calls RConnection::Start() with the TConnAutStartPref parameter. The application starts when the contention is finished.

  9. If the application that uses the stopped connection is not contention-aware a disconnection notification is sent to the user without an error message stating why the connection stopped.