Annotation of researchv10no/cmd/dist/talk/outline, revision 1.1.1.1

1.1       root        1: "Automatic Software Distribution and the Tower of Bable"
                      2:        (really the Tower of Babble, or more accurately, the Network of Babble)
                      3: ### slide: chopped down version of this outline
                      4: * motivation and history
                      5:        * consistency across a network of machines
                      6:        * first publicly described for unix by Koenig (ship)
                      7:        * rdist (Berkeley)
                      8:        * coda (Rich $alz, BBN)
                      9: * previous work
                     10:        * samples of ship, rdist, and coda
                     11:        ### slide: samples of ship, rdist, and coda
                     12:                * simple ship command, command options
                     13:                * rdist Distfile
                     14:                * coda Codafile
                     15:        * differences between ship rdist and Coda
                     16:                * ship is command-oriented
                     17:                * rdist and coda work from a configuration file
                     18:                * ship and rdist work from master machines to slave machines
                     19:                * coda provides a service--client machines in control
                     20:        * problems with previous designs
                     21:                * ship and rdist have too much control
                     22:                * ship usage is strange
                     23:                * rdist and coda config files are hard to use for simple things
                     24:                * config files do not interact well with the rest of the system
                     25:                * rdist and coda are monolithic
                     26:                * ship, rdist, and coda are network dependent
                     27: * the design of dist
                     28:        * problems to solve
                     29:                * distribution on a heterogeneous network of heterogenous machines
                     30:                * cascaded redistribution
                     31:                ### slide: picture of cascaded redistribution
                     32:        * completing the square
                     33:        ### slide: square containing ship, rdist, dist, and coda
                     34:                * dist is command-line driven
                     35:                * dist provides a service machine for client machines
                     36:                * example of dist usage
                     37:                * dist operates on multiple networks
                     38:        * implementation
                     39:        ### slide: picture of distribution crossing a network
                     40:                * cleanly dividing along functional lines
                     41:                * packaging
                     42:                * queueing and transmission
                     43:                * unpackaging
                     44:                * packaging is decoupled from transmission
                     45:                * written mostly as a collection of shell programs
                     46: * problems and their solutions
                     47:        * problem: whining about networks
                     48:        ### slide: sample v10 & Berkeley network code, sample machine names
                     49:                * network programming interfaces
                     50:                * incompatible naming conventions
                     51:        * solutions: isolate network dependencies
                     52:                * we want reliable byte streams but don't care how
                     53:                * isolate network dialers from the rest of the program
                     54:                * provide easily-replaced heuristics to make sense of names
                     55:        * problem: atomic installation
                     56:                * hypothetical case study of partial installation
                     57:                * want dist to succeed completely or fail completely
                     58:        * solution: install package script in the unix style
                     59:        ### slide: excerpt from insdist shell script
                     60:                * build a backup copy of stuff to be replaced
                     61:                * install new stuff
                     62:                * remove any remaining old stuff not replaced by new stuff
                     63:        * problem: writing bulletproof programs
                     64:                * bulletproof is necessary for security
                     65:                * funny names confuse people and are insecure
                     66:                * funny names confuse programs and are insecure
                     67:        * solution: new shell utilities
                     68:                * qargs and uargs
                     69:                * serendepitous interaction with xargs
                     70: * conclusions and lessons learned
                     71:        * problem decomposition wins again
                     72:                * dist is smaller than ship
                     73:                * network pain is isolated and easily replaced with future upgrades
                     74:                * security issues are isolated and hence more easily controlled
                     75:                * careful use of existing tools allowed atomic installation to be
                     76:                  coded and tested within an hour
                     77:        * shell programs are a tremendous benefit
                     78:                * they aid and in fact encourage clean problem decomposition
                     79:                * contrary to popular belief, can easily be made bulletproof
                     80:                * shell programs are very easy to make portable
                     81: * future work
                     82:        * demonstrate cascaded redistribution (use dist to maintain itself)
                     83:        * focus on the notifier (isolate security/policy dependencies here)

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.