Can someone explain how the GMS network 'push' system works? I get the idea
of the SMS push but am not sure about the pure 'push'.

How does the server know how to reach the mobile devices?

Does the device have to maintain a constant connection to the GMS to
receive the 'pushes'? If so, how does it do this and how expensive would
this be?

Sorry about all the questions but I'm trying to work out if this will be
more cost effective way of mobile messaging than using the regular sync
where the devices connect every x minutes to the GMS and pull down whatever
is waiting for them.