One of my colleagues requested me to explain push email. I wrote up a brief description and was rather pleased with it (I guess my expectations/standards aren't that high these days..) so thought I'd post it on my blog. So here it is..
1. There are two options with respect to informing the handset about the presence of new messages at the server:
- Using IP
- Using SMS
2. If the SMS method is used all the issues of keeping the IP connection up and knowing the IP address go away. WAP Push can be used in conjunction with SMS. There is also an OMA standard on the format to be used when sending email notifications over WAP Push. Microsoft used to use SMS in one of their earlier solutions. However SMS involves additional cost/integration so is not preferred.
3. If the new message notification has to be sent using IP:
- the phone needs to maintain IP connectivity.
- the server needs a protocol to send the information to the handset.
- the server also needs to know the IP address of the phone if it is initiating the data transfer (as opposed to responding to a request from the handset).
4. In GPRS (and I think 3G) networks, the IP address is assigned by the GGSN. The phone will have the same IP address as long as the same PDP context is retained. In other words, even if it moves to a different area (under a different SGSN), it will have the same IP address.
5. The client and server will exchange some kind of keep-alive messages in order to prevent timeouts that will close the connection. The timeouts could happen on the server (TCP connection timeout or application protocol timeout) or in the NAT gateway. The keep-alive interval needs to be configured appropriately based on the network.
6. The notification of new messages can be sent to the handset in response to a request from the handset. For e.g. Microsoft Exchange informs the handset of new messages as a response to a long lived HTTPS request. I guess some other solutions may be sending this information in response to an IMAP IDLE command. As the information is being sent in response to a client request, the server knows the IP address associated with the client
7. It is possible that some solutions allow the server to inform the client of new messages without a request from the client. For e.g. a number of Push email solutions involve a NOC (Network Operations Center) which may have some sort of integration with the operator network. Such an NOC will be able to know the device IP address even if the client has not initiated a request to it; for e.g. it may be able to do a phone number to IP address lookup with some box in the operator network. Such solutions may also involve some non-standard protocols for informing the client about new messages; for e.g. it could send a message using a proprietary format to a designated UDP port on the handset.
References:
The following websites contain additional information:
- GPRS Core Network (including IP address mgmt): http://en.wikipedia.org/wiki/GPRS_Core_Network.
- Using NOCs for Wireless Email: http://www.blackberry.com/select/get_the_facts/pdfs/infrastructure/gartner_pros_and_cons_of_using_NOCs_for_wireless_email.pdf
- Difference between Windows Mobile and Blackberry Email: http://www.techatplay.com/?p=482
- Understanding Microsoft Direct Push: http://technet.microsoft.com/en-us/library/aa997252(EXCHG.80).aspx
- LEMONADE for Mobiles: http://www.lemonadeformobiles.com/quick.html
- IMAP IDLE: http://www.isode.com/whitepapers/imap-idle.html
No comments:
Post a Comment