Methods and systems for efficiently sending notification of the occurrence
of events through a firewall. A client system operating inside a
firewall, attempts to receive notification of the occurrence of events
from a server system operating outside the firewall. The client system
attempts to receive communication from the server system using a
connectionless protocol, such as UDP. If the client system receives
communication using the connectionless protocol, the client system
requests notification be sent using the connectionless protocol. The
server system notifies the client system by sending a packet to the
server system, using the connectionless protocol, when events occur.
However, if the client does not receive communication using the
connectionless protocol, the client requests notifications be sent using
a connection-oriented protocol, such as TCP. If the client system
requests notification using a connection-oriented protocol, the client
system polls the server system to receive notification of the occurrence
of events.