A
data processing system includes a network containing of a set of connected devices, where individual ones of the connected devices include a data processor that executes a program for connecting to and disconnecting from the network and for maintaining a first
list descriptive of other connected devices and a second
list descriptive of at least some user-defined services published by individual ones of publisher connected devices that form a first sub-set of the connected devices. Individual ones of the publisher connected devices maintain a third
list descriptive of an individual one or individual ones of registered service subscriber connected devices that form a second sub-set of connected devices. The publisher connected devices provide a service output to registered service subscriber connected devices upon an occurrence of at least one predetermined triggering event, which may be a push trigger, a pull trigger, or a combination of
push and pull triggers. A given one of the connected devices may be a member of only the first sub-set of connected devices, or may be a member of only the second sub-set of connected devices, or may be a member of both the first sub-set of connected devices and the second sub-set of connected devices. The set of connected devices are logically organized into a plurality of clusters each having a top level
connected device (TLCD), where the plurality of TLCDs are coupled together in a ring for propagating
system administration information between the plurality of clusters. Services remain operative even after the
connected device on which they initially reside becomes inoperative. This is accomplished by migrating the publication function to at least one other
connected device when a current publisher's connected device becomes inoperative for any reason. A
backup of last resort is referred to as a persistent connected device.