Chapter 11. Remote Message Broadcasting
The ability to communicate with a large number of remote systems is a unique programming and network challenge. Today, nearly every piece of installed software checks for updates either on a set schedule or upon application startup. Typically, these are polling-based service calls to a central location. This approach works well for items that are not event-driven or that have infrequent updates.
As the frequency and urgency of the updates increase, the traditional means of updating systems through polling operations gets more and more inefficient. At some point, replacement of the polling-based system must be considered in favor of a push-based approach allowing updates to be sent immediately to remote systems. With a push-based system, connectivity to the backend could become an issue due to network and firewall complexity. In general, it is more acceptable to let connections out of a network than back in, thus causing problems with the push approach...