A technique for robust indication processing. In client server network
environments running object oriented software, there is a need for
monitoring the operating state or status of objects in the network. Prior
monitoring schemes involved many specific and frequent inquiries or
requests of multitudinous objects, for which the connections were
constructed and destroyed on an as-needed basis, thereby taking an
immense toll on the network's processing capacity. Subsequently,
asynchronous monitoring has been employed as an improvement over the
prior monitoring schemes, wherein an observer object monitors a subject
object and is set at "hair-trigger" to fire back indications to an
interested client if and when the subject object's state changes.
Asynchronous monitoring limitations include an inability to detect client
and/or server failure, insecure and unreliable connections through which
indications are intended to be fired back, and other drawbacks. The
technique disclosed herein for asynchronous monitoring solves these
problems and others by employing a heartbeat polling scheme having
virtually unique ID numbers to instantaneously determine if there has
been client or server failure or recycling along with a secure or
persistent pipe that interconnects client and server and has the ability
to tunnel through firewalls when public networks such as the Internet are
utilized.