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.