Connection Manager Architecture

Connection Manager manages network connections for CellCore-enabled devices regardless of which connection service provider is used for establishing the connection.

Connection Manager supports the following features:

  • Scheduled automatic connections
  • Demand-dialed automatic connection
  • Demand-dialed user initiated connection
  • Automatic connection selection
  • Customizable decision logic
  • Scheduled connection optimization
  • Shared resource arbitration
  • Resource arbitration callback
  • Periodic reevaluation of the connection selection
  • Connection attributes, such as cost, bandwidth, and latency
  • URL-to-network mapping

CellCore-enabled devices can access many types of data networks, such as the Internet or a corporate network. The device can connect to each of these networks through multiple connection paths. The choice of path for a particular connection depends on cost, security, and specific network considerations for the client application.

Connection Manager provides a fast and transparent way of making these connection choices for the application. Users do not have to know which connection path is chosen and yet they can be assured that the most optimal path is used all the time.

When an application notifies Connection Manager that it wants to connect to a specific destination network, Connection Manager retrieves all the possible connections from a set of connection service providerconnection service providers and associates a set of costs with these routes.

Connection Planner looks at the various costs of each connection path, considering such factors as error rate, latency, and bandwidth. From these factors, Connection Planner determines the most optimal connection. Connection Manager then queues the connection request and uses the connection service providerconnection service providers to establish the connection when its turn comes.

Connection Manager keeps track of what connections are in use or requested by applications. It establishes new connections and disconnects old ones as needed. Connection Manager can also provide automatic connections for an applicationAfter an automatic connection has been established, an icon in the shell user interface (UI) of a CellCore device indicates to the user that the device is using a data connection.

Connection Manager is capable of handling the following connection types, provided that the connection service provider enumerates the connection properly:

  • Remote Access Service (RAS) connection using the Point-to-Point Protocol (PPP)
  • Virtual Private Network (VPN)
  • General Packet Radio Services (GPRS)
  • Proxy Server connections
  • Wi-Fi (802.11) connections
  • Wired Ethernet (802.3) connections

Connection Manager exposes a connection resource plug-in interface that enables you to create customized plug-ins. Connection Manager also exposes an application programming interface (API) that enables you integrate Connection Manager functionality into a CellCore application.

The following illustration shows a diagram of the Connection Manager architecture.

The following list shows the main parts of the Connection Manager feature:

See Also

Connection Manager

Last updated on Friday, April 22, 2005

© 2005 Microsoft Corporation. All rights reserved.

Send feedback on this topic to the authors.