A scalable messaging system for data transmission between the network devices,
such as set top boxes, and a central system server, such as a server which maintains
a database of event logs for the network. Individual routers at the data center
broadcast an announcement packet indicating that they are available to accept messages
from the network devices. The announcement message contains at least an identification
of the router and the manner in which messages may be sent to it, e.g., one or
more connection socket numbers and/or network addresses. The frequency at which
availability messages are sent by the routers is preferably dependent upon the
relatively loading of the individual router. Thus, the more heavily loaded a particular
router becomes, the less often it will broadcast an availability message; the more
lightly loaded it becomes, the more often such messages are broadcast. The network
devices then transmit messages to the data center only in response to having received
such a router availability announcement. The information in a router availability
message can be used in various ways to construct a payload message back to the
data center, such as by using ports numbers, persistent identification numbers,
or Media Access Control (MAC) layer addresses, depending upon the topology of the
data network. This protocol thus permits control over the generation of messages,
such as connection request messages, which might otherwise flood a network with
large numbers of end node devices.