How does Direct Push really work?

Powered by Gregarious (42)

From the earlier section "When nudge comes to shove: How push is Direct Push", we talked about three methods of retrieving Email available to Windows Mobile 5.0 devices onwards – by polling, Direct Push, or manually. All three methods of retrieving your Email ride on top of your standard mobile technologies such as GPRS, EGPRS and 3G etcetera.

Now, compared to AUTD, Direct Push might appear to be more complicated, but how it works is really quite trivial if you have a good idea of how the Internet works. Even if you don’t, do try to follow-through my explanation as knowing how Direct Push communicates with Exchange will allow you to trouble-shoot so much more effectively. Additionally, later sections such as traffic optimization will assume that you have a good idea of the mentioned.

Upon startup, your supported Windows Mobile device will initiate a TCP/IP connection with your (already configured) Exchange 2003 SP2 server. This TCP/IP connection can either be unencrypted or encrypted (recommended) using SSL. Of course, if you opt to use encryption (SSL), then you will either have to purchase a proper digital certificate from a vendor or create a self-generated (free) one and manually importing it into your Pocket PC.

Note that as of the time of writing that it is entirely possible that your particular Pocket PC device or Smartphone does not support importing of self-generated digital certificates and/or only support a limited number of root certificates. As it is, it would be prudent to do some basic research before committing any money into your handheld (if you have not purchased one yet), or shelving out money for a commercial certificate. We will go more into this later.

Back to Direct Push: once a data connection is established, certain information and settings are exchanged between the device and Exchange. An ActiveSync is then initiated that will determine if any actual data synchronization is necessary. If it is, a full ActiveSync will occur. If no synchronization is required, then no further data transfer happens. Regardless if any full ActiveSync occurs or not, the interesting part comes after this.

In a typical Internet connection, what normally happens is that the data connection is closed once data transfer is finished. In the case of Direct Push, the socket connection is kept open between the device and server. Note that this is not an abnormal or any proprietary aberration by Microsoft in the using of the IP protocol. Keeping a connection open is actually allowed for in TCP/IP. We encounter this on a daily basis in the form of KEEP-ALIVE requests usually sent from web servers to our web browsers. In fact, it is very similar to how Internet Message Access Protocol (IMAP) mail servers are architected around - in which a combination of IDLE and NOOP commands are used to periodically poll the server and keep the network connection alive.

direct-push.gif

In the case of Direct Push, the Exchange server will keep monitoring the relevant set of folders for changes. The relevant set of folders to be monitored is already transmitted by the Windows Mobile handheld as part of the data exchange in the connection process.

4 Responses to “How does Direct Push really work?”

  1. on 31 Oct 2006 at 4:31 pm Anonymous

    Note that, as I understnad it, the high bandwidth overhead of Direct Push is in part due to the way the heartbeat works and the fact that it will send a new package every time:

    1) You switch on the device
    2) You end a phone call (unless you are on 3G or better)
    3) You lose data reception and regain it
    4) A change occurs and so a ’sync’ takes place (e.g. new email(s) arrives)
    5) Timeout period for the heartbeat is reached

    Add this up over a month and most users are seeing >10MB a month of traffic however well ‘tweaked’ their timeout settings are.

  2. on 31 Oct 2006 at 4:32 pm Paul Mah

    Yes, you are right in that sense. For (2), it really is the limitation of GPRS itself. The trade-off is that since Direct Push essentially works on standard TCP/IP technology, you are not held hostage as to whether your telco is Blackberry-enabled and where I live (Singapore), you can opt for the cheaper pure data plans and not have to pay the higher-priced Blackberry subscription.

    But overall, I find that the data useage is quite acceptable. Personally, my traffic is at about 5MB a month when set to “Manually” for weekdays 9am-6pm, and “When new items arrive” for the rest of the time. I receive average 15 mails during the non-manual setting period - though I only download the first 1KB most of the time. I don’t use GPRS for any other activity.

  3. on 05 Nov 2006 at 3:45 am mohssa0d

    Hello all

    I have several questions that I haven’t been yet able to find answers to yet. I am new to all this and I would really appreciate it if you can help me answer them:

    1. If MS Direct Push is free and can even be used on Nokia phones (mail for exchange) and other other platforms. Then why do many companies are still stuck with BlackBerry?

    2. What are the advantages that BB has over direct push? And are they enough to convince many corporations to stick with BB

    3. Are there any numbers that compares the data (gprs)usage between the two technologies. I read somewhere that the cost to get BB device connected is about %30 less than directpush. If that number is true, why?

    4. Would someone refer me to good articles that explains how BB or direct push work.

    5. Are there any articles that contain tips and tricks that would help get the data usage direct push to the bare minimum. GPRS here is just way too expensive (around $1.5 per meg)
    6. In the interest of saving cost, Is it possible to get the exchange server to only push unread messages or even not push at all if I am connected to the exchange server using outlook from my desktop.

    7. I read somewhere that microsoft pushmail is not true push like RIM’s BB, why? And should we care if it isn’t. Is there an advantage of having “real” push solution.

    8. Which uses less data and better battery life: enabling push mail or auto-synching every 1 hour. I honesly couln’t care less about push if its going to end up costing much more than normal.

    9. My friend (uses BB and direct push) says that BB is a little faster than direct push. Why? My understanding is that BB uses a Blackberry enterprise server BES server (connected to the exchange server) and some kind of e-mail relay server (connected to the BES and the phone) somewhere in the internet. So why is direct push a little slower even though there is no middleman (exchange server talks directly to the phone)

    10. My friend also claims that BB proved to be more stable than direct push (many times stops receiving e-mails for no apparent reason) in his company. If that is true everywhere else, why? In principle, shouldn’t direct push be more stable\reliable as its design is simpler => less things are likely to go wrong.

    11. can you have more than one account pushing to the same device on wm5(eg 1 corporate account and one gmail account)

    12. i used “mail for exchange” on a nokia e61. two things that cought my attantion the first thing is that push mail works just fine on wifi unlike wm9. why doesn’t this work on wm5 devices??? also the mail is much more stable compared to wm5(i tried it on k-jam, jasjar and pda2k). i’m not why is not vey stable on wm5 devices. its funny that the best experiance you can get from MS direct push is through a nokia phone

    thanks will post more if i get more questions

  4. […] If you don’t know what it is, read this : http://en.wikipedia.org/wiki/Push_e-mail For more information about how it works, read this: http://www.techatplay.com/2006/10/18/how-does-direct-push-really-work/ […]

Trackback URI | Comments RSS

Leave a Reply

You must be logged in to post a comment. Free Registration »