What is the difference between a simple Async servlet and the Comet / Bayeux protocol?

I am trying to implement a "Server Push" (or "Reverse Ajax") kind of webpage that will receive updates from the server as and when events occur on the server. So even without the client explicitly sending a request, I need the server to be able to send responses to the specific client browser.

I understand that Comet is the umbrella term for these kind of technologies; with 'Bayeux' being the protocol. But when I looked through the servlet spec, even the 'Async servlet' seems to accomplish the same thing. I mean I can define a simple servlet with the

<async-supported>

attribute set to true in the web.xml; and that servlet will be able to asynchronously send responses to the client. I can then have a jQuery or ExtJS based ajax client that just keeps doing a

long_polling() 

call into the servlet. Something like what is described in the link below http://www.ibm.com/developerworks/web/library/wa-reverseajax1/index.html#long

So my question is this:

What is the difference between a simple Async servlet and the Comet / Bayeux protocol?

Thanks

Edit
Report