I'm no expert, but my in understanding a 'push' approach wouldn't work because there are so many different DNS servers (Every ISP and Hosting provider has them, plus third party providers, and internal corperate DNS servers) it wouldn't really be feasible to push changes to all of them instantly.
Really the TTL (Time To Live) should allow fairly quick DNS propagation. The problem with TTL is that you need know your change is coming in advance.
Eg: If your domain's TTL is currently 24 hours, you need to change it to something much shorter (say 5 minutes) at least 24 hours before the DNS change happens, as this will mean that every DNS server will know to update its record for your domain every 5 minutes before you actually make a DNS change.
The other problem is to 'improve' response times, some DNS servers (particularly ISPs) don't honour the TTL directive.
Really the TTL (Time To Live) should allow fairly quick DNS propagation. The problem with TTL is that you need know your change is coming in advance.
Eg: If your domain's TTL is currently 24 hours, you need to change it to something much shorter (say 5 minutes) at least 24 hours before the DNS change happens, as this will mean that every DNS server will know to update its record for your domain every 5 minutes before you actually make a DNS change.
The other problem is to 'improve' response times, some DNS servers (particularly ISPs) don't honour the TTL directive.