In a conventional wireless communication system designed to deliver data to a wireless mobile communication device (“mobile device”) such as a cellular telephone, a two-way pager, a wireless communication capable personal digital assistant (“PDA”), and other similar device, there are several main components. A host service, which provides services such as e-mail, calendar, and Internet web browsing, holds the data to be delivered to the mobile device. Typically, the host service is coupled to a router, which couples the host service and a wireless network that is designed to communicate with the mobile device. To make a timely delivery of the data, the host service forwards the data for the mobile device to the router when the data becomes available. The router then forwards the data to the wireless network, which transmits the data to the mobile device. If the mobile device fails to receive the data, the router queues the data and re-forwards the data to the wireless network, which re-transmits the data to the mobile device. This process continues until the mobile device receives the data and acknowledges the reception or the process times out after a predetermined time period.
In typical wireless communication systems, a mobile device requires a service session to be established to be able to communicate wirelessly with a host service. As is known, a service session (or session) is typically initiated by the mobile device and can be terminated for a variety of reasons. For example, if during an active session a mobile device roams out of wireless coverage, the session will be effectively terminated. Once out of coverage, no wireless activity such as sending or receiving e-mail messages, browsing web sites or sending/receiving instant messages can be conducted.
In some cases, it may be desirable to control service sessions on demand, or in other words, to match the transmission needs of both the mobile device and host services. For the same reasons, it may be desirable to have the ability to initiate a session from a variety of events occurring at both the device or host service.