Hypercubic style routing extended to constructions based on Martin Escardo's techniques for working with infinite sets. We can "route into" the cantor set this way. webfs . /rc/bin/scorefns safeallsvc aux/listen1 -t tcp!127.1!27035 /bin/tlsclient -a tcp!chispasto!27034 & hub -b chiproghub mount /srv/chiproghub /n/p echo 'while(sleep 300){ventiprog -f /n/9fat/chispasto.info &}' >>/n/p/io0 hub -b chiscohub mount /srv/chiscohub /n/s echo 'rimport -p chispasto /srv /n/chisrv' >>/n/s/io0 echo 'mount /n/chisrv/fatsrv /n/remote9fat' >>/n/s/io0 echo 'while(sleep 601){scorecopy &}' >>/n/s/io0 --- aux/listen1 -v tcp!127.1!16997 /bin/exportfs -S /srv/gridsvc --- Grid client interface 17 11 2018 receive account and password information add grid server information to /lib/ndb/local dial a grid spawn server and mount the gridsvc at /n/g gridorc -u gridusername # interactive grid manager scores # to see a list of all roots spawn scorename # spawn that root on the storage server, the next command will be printed for you fetch commandstring # paste the command constructed by the spawn command # now your namespace should be accessible, paste the rcpu command supplied into a different window services needed: spawnroot(scorename, listenport) generate fsname and fsconsname from the scorename? where do we put the /srv files? fetchroot(dialstring, startscript, listenport) should automate the fact that listenport from spawnroot and dialstring here should match /* actually we should probably package spawnroot and fetchroot together at top level ui? */ /* but make it still possible to separate because you often want multiple userspace on one root */ savesnap [optional name] update the rootscore of current name or provide a new name cleanup free resources of the current environment setup log: install from ants4.3beta64 iso, venti - chose cpu+auth sysupdate update /sys/src/ants, remove ants/frontmods/include/libc.rebuild.complete build 9front && build fronthost set venti listener parameter to public in plan9.ini add bind -c '#z' /zrv to /lib/namespace cd /sys/src && mk install && mk clean redo build 9front && build fronthost and install in 9fat repeat process for second node but setup as terminal at first then change to service=cpu after install set ndb to point to first node as auth server fshalt -r both nodes cp ants/extra/* to /rc/bin on both nodes . /rc/bin/scorefns && srvscores both nodes create bkup.info in 9fat for both nodes with venti= string set to other node perform fs snap on storage and create initial scorenames file in 9fat with that score on both nodes ==== contest4% . /rc/bin/scorefns contest4% storageinit contest4% syncventis creating hubfs /srv/proghub # break to setup cpu contest5% . /rc/bin/scorefns contest5% srvscores contest5% rimport contest4 /srv /n/sto contest5% startcpusvc # back to storage contest4% rimport contest5 / /n/ct5 contest4% mount /n/ct5/srv/fatsrv /n/remote9fat contest4% hub scosynchub creating hubfs /srv/scosynchub io% updatescores ===== term% lc /n/g cpu.err cpu.in cpu.out sto.err sto.in sto.out term% cat /n/g/sto.err & term% cat /n/g/sto.out & term% cd /n/g term% cat cpu.out & term% cat cpu.err & term% echo scores >>sto.in firstroot = vac:4a9c17829d1d4ffaea0ac fixroot = vac:24f27ac7c7a18cee0fe5d419 extrarabbit = vac:3da8595fc6855e0b6fc3cead86317ea6f7904407 term% echo spawn extrarabbit >>sto.in echo fetch tcp!66.42.114.253!20000 >>/n/g/cpu.in term% 200000+0 records in 200000+0 records out 05f5fb52c54f87168b29108 b64619ce848930d512692033d d492ad05300588cde21f7875 fsys: dialing venti at tcp!127.1!17034 echo fetch tcp!66.42.114.253!20000 >>/n/g/cpu.in rcpu -h tcp!149.28.123.59!20001 post... term% creating hubfs /srv/inithub.762 hub vs nonhub 1.10u 1.39s 29.10r mk clean 1.30u 1.22s 48.42r mk clean 41.52u 24.02s 370.27r mk install 41.54u 26.74s 657.54r mk install === dp9ik+tls protected venti tunneling: on venti server with venti listening on net-alt: aux/listen1 -tv tcp!*!17034 tlssrv -A /bin/aux/trampoline /net.alt/tcp!127.1!17034 on client: aux/listen1 -tv tcp!127.1!27034 /bin/tlsclient -a tcp!remoteserver!17034 & venti=tcp!127.1!27034 vac -f foo.vac targetdir #works! == secure user ids aux/listen1 -v tcp!*!16999 /bin/tlssrv -a /bin/userid #!/bin/rc echo $user >>$home/chalresp resp=`{read} echo $resp >>$home/chalresp === /usr/grid/rabbit contains the scores rabbit is allowed to spawn when a user is invited to an fs, the score is copied to their /usr/grid directory also track the state of their spawned resources there? and chal-resp if needed but its prolly not actually not chal-resp - request-verify is the protocol a special service listener script is all that is allowed to write into the control fs all requests are dp9ik authed and user tagged