The nameserv::cluster package was introduced in tcllib 1.17. And unfortunately the manual page never made it into distribution. So until it works its way in..

Basic usage:

package require comm
package require nettool
package require nameserv::cluster

  set macid [::cluster::macid]
  set myport [::nettool::allocate_port 10000]
  set url other@$macid
  ::comm::comm new $url -port $myport -local 0 -listen 1
  ::cluster::publish $url [list port $myport protocol comm class comm]

cluster::search other*
> other@MACID {ipaddr macid LOCALMACID port 8000 protocol comm pid UUID}

cluster::send other@local {expr 1 + 1}
> 2