`
`Conference
`Proceedings
`
`anvAe
`INFORMATION
`Nei
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 1
`
`ae
`
`jiniCiral(qe
`
`1986 Summer
`Technical Conference & Exhibition
`
`Atlanta, Georgia
`
`
`
`USENIX Association
`
`Summer Conference Proceedings
`
`Atlanta 1986
`
`June 9 - 13, 1986
`Atlanta, Georgia USA
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 2
`Page 2
`
`
`
`
`
`seemecvertnipeemntennserenmenramie
`
`For additional copies of these proceedings, write:
`
`USENIX Association
`
`P.O. Box 7
`
`El Cerrito, CA 94530 USA
`
`Price: $25.00 plus $25.00 for overseas mail
`
`© Copyright 1986 by The USENIX Association
`
`Allrights reserved.
`
`This volumeis published as a collective work.
`
`Rights to individual papers remain
`
`with the author or the author's employer.
`
`UNIX®is a registered trademark of AT&T.
`
`_ Other trademarks are notedin thetext.
`
`ii: i'} |i| s
`
`
`
`
`
`
`
`paornateSsRUTERERINESIpWerensreperUNIOAhERISAMANERANANPAER
`
`
`
`
`
`
`
`
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 3
`Page 3
`
`
`
`VV fue
`AQRY4/4~/
`
`ACKNOWLEDGEMENTS
`
`Sponsor:
`
`The USENIX Association
`P. O. Box 7
`EI Cerrito, CA 94350
`
`Program Chairperson:
`
`Mike O'Dell
`
`Program Committee:
`
`John Chambers
`Mike Hawley
`Sam Leffler
`Jim McKie
`Dennis Ritchie
`Spencer Thomas
`
`MCC
`Lucasfilm, Ltd.
`Lucasfilm, Ltd.
`Bell Communications Research
`AT&T Bell Laboratories
`University of Utah, Computer
`Science Department
`
`Tutorial Coordinator:
`
`Michael Tilson
`
`Human Computing Resources Corp.
`
`USENIX Meeting Planner:
`
`Judith DesHarnais
`
`Vendor Exhibition Manager:
`
`John Donnelly
`
`Conference Hosts:
`
`Paul Manno
`Dan Forsyth
`
`Medical Systems Development Corp.
`
`Terry Countryman, Peter Wan,and Lillie Elliot of Medical Systems Development Corporation assisted in the
`production of these proceedings. Brent Laminack of In Touch Ministries graciously provided assistance in
`producingthetable of contents. Ralph Amiel of Standard Press patiently answered many dumb questions on the
`production of a volumethis size.
`
`To all of the authors: You deserve many thanks and much appreciation. You have made an otherwise
`impossible task relatively easy by providing the camera-readies in plenty of time to meet the printing deadlines.
`To those authors who forgotto clean their laser printers before generating their copy: Yes, it does show. What
`you see is what the camera sees. Please remember next time.
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 4
`Page 4
`
`
`
`} kiRi: £E :iii£
`
` ¢
`
`ii5 i {i
`
`ot
`
`{ |t |i45
`
`;‘
`
`#iii£‘
`
`ii
`it
`5
`
`TABLE OF CONTENTS
`
`PLENARY SESSION
`Wednesday, June 11, 9:00 - 10:30
`|
`
`(Grand Ballroom)
`
`Opening Remarks:
`Conference Organizers and the USENIX Board
`Keynote Address: Pictures of Programs
`Jon Bentley, AT&T Bell Laboratories
`
`MUSIC
`
`Wednesday, June 11, 11:00 - 12:30
`
`(Grand Ballroom)
`
`MIDI Music Software for UNIX ......ccecceececceecencecnceeeeneeceesesseeeeeeeseeeeeeessueeeneenes
`Michael Hawley, The Droid Works
`(201) 644-2332 or Eedie & Eddie on the Wire: An Experiment in Music Generation ......
`Peter S. Langston, Bell Communications Research
`
`1
`
`13
`
`Networks I.
`
`Wednesday, June 11, 2:00 - 3:30
`
`(Grand Ballroom)
`
`................cecececeeecesceceeeneecenenseseersenes 28
`Secure Networking in the Sun Environment
`Bradley Taylor, David Goldberg, Sun Microsystems,Inc.
`A Framework for Networking in System Vio... cece eece seen eee eee rene ecesereceeeresenenes 38
`David J. Olander, Gilbert J. McGrath, Robert K. Israel, AT&T
`OSI and TCP/IP Protocols on a UNIX SySt€M Vo
`....... cee ee cece eee ee cone ese ee eee eeeeeneeseeeneees 46
`Jean Marc Fenart, Marc Fievet, Christian Huitema, Bernard Martin,
`Annie Remille, Guy Vaysseix, INRIA
`
`Performance
`
`Wednesday, June 11, 2:00 - 3:30
`
`-(Grand Salon)
`
`Managing Developmentof Performance-Constrained UNIX-Based Software System
`on Microcomputers L. Perkins, Martin Marietta
`A Multiuser Multiprocessor Benchmark to Compare UNIX Systems ..............0ceeeeeee eee 59
`Philip M. Mills, NCR Corporation
`A System Call Tracer for UNIX .........ccccccccesesceeccnceeeeneenessesenseeaeetesteneeeeeeens ene 72
`R. Rodriguez, Digital Equipment Corporation
`
`iv
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 5
`Page 5
`
`
`
`
`
`Operating Systems 1
`
`Wednesday, June 11, 4:00 - 5:30
`
`(Grand Ballroom)
`
`A New Virtual Memory Implementation for UNIX ............cceccsecencececeetecececseceseneeees
`Edward W.Sznyter, Patrick Clancy, James Crossland, Tektronix, Inc.
`Mach: A New Kernel Foundation for UNIX Development .............ccccecceceseecesceeeeseues 93
`Mike Accetta, Robert Baron, William Bolosky, David Golub,Richard Rashid,
`Avadis Tevanian, Michael Young, Carnegie-Mellon Univeristy
`An Extensible VO System 2.02... ccc sce ceeceeneece cee eneeeen en enseseaeeeeeeeenseeeneeenetaes 114
`Jim Rees, Paul H. Levine, Nathaniel Mishkin, Paul J. Leach, Apollo Computer
`
`81
`
`Tools
`
`Wednesday, June 11, 4:00 - 5:30
`
`(Grand Salon)
`
`PATHALIASor The Care and Feeding of Relative Addresses ..............csccsceeeeeeeeeeeeees 126
`Peter Honeyman, Princeton University,
`Steven M. Bellovin, AT&T Bell Laboratories
`Pollster: A Document Annotation System for Distributed Environments
`Luis-Felipe Cabrera, IBM Almaden Research Center,
`Eric Mowat, University of California, Berkeley
`When Network File Systems Aren't Enough: Automatic Software Distribution Revisited... 159
`Daniel Nachbar, Bell Communications Research
`
`...................6- 142
`
`Networks 2
`
`Thursday, June 12, 9:00 - 10:30
`
`.
`
`~
`
`(Grand Ballroom)
`
`Experiences Implementing BIND, a Distributed Name Server for the DARPA Internet
`James M. Bloom, CSRG, University of California, Berkeley ,
`Kevin J. Dunlap, Digital Equipment Corporation
`Network Performance and Management with 4.3BSD and IP/TCP ...........:ccceesecaeveeecees 182
`Michael J. Karels, Marshall Kirk McKusick,
`CSRG, University of California, Berkeley
`A Real-TimeElectronic Conferencing System based on Distributed UNIX .............000eeee 189
`Tatsuo Suzuki, Hideo Taniguchi, Hisayasu Takada,
`NIT Electrical Communications Laboratories
`
`...... 172
`
`Real Work 1
`
`Thursday, June 12, 9:00 - 10:30
`
`(Grand Salon)
`
`How to Make Friends with Number-Crunchers ..............c0ccensccececeeereeeeeenncseeseeennes 200
`Gregory Dudek, Michael Jenkin, Howard Marcus, University of Toronto
`Kanji UNIX: Yunikkusu wa Nihongo o Hanasemasu (UNIX Speaks Japanese)
`............... 209
`Robert S. Jung, Joseph T. Kalash, Unisoft Systems
`Tools for the MaintenanceandInstallation of a Large Software Distribution .................. 223
`D. M.Tilbrook, P.R. H. Place, Imperial Software Technology
`
`Vv
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 6
`Page 6
`
`
`
` i iji i
`
`Distributed File Systems 1
`
`Thursday, June 12, 11:00 - 12:30
`
`(Grand Ballroom)
`
`Vnodes: An Architecture for Multiple File System Types in Sun UNIX .............ccseeeeeeee 238
`S.R. Kleiman, Sun Microsystems
`Remote File Sharing Architectural Overview ............ccccccceneneneeeeeescneeceeeseeenerteceees 248
`Andrew P.. Rifkin, Michael P.. Forbes, Richard L. Hamilton,
`Michael Sabrio, Suryakanta Shah, Kang Yueh, AT&T Information Systems
`The Generic File System oo... ee cee cece ce cecee een e eee eeececesecnceeeeeeneeedereneeeeeeeeeseeeees 260
`R. Rodriguez, M. Koehler, R. Hyde, Digital Equipment Corporation
`
`Text Processing
`
`Thursday, June 12, 11:00 - 12:30
`
`(GrandSalon)
`
`Modelling Text as a Hierarchical Object ............. ccc cee ee cece esate ecee ees eseeesuneeeeeneeseeees 270
`James Waldo, Apollo Computer Inc.
`SMSCRIPT: An Interpretor for the POSTSCRIPT Language Under UNIX ............ccceeceeeee 284
`Bruno Borghi, Stephane Querel, Daniel de Rauglaudre, INRIA
`
`Distributed File Systems 2
`Thursday, June 12, 2:00 - 3:30
`
`(Grand Ballroom)
`
`The Network File System Implemented on 4.3BSD ....... ee ceeececene rece ee eeeeeeeececeneeeees 294
`Ed Gould, Mt. Xinu
`NFS Portability .........ccccccce seen eccreeeecnceessscenseeeesseeeascensesesesenereesaeees beeeseeeeeees 299
`Mordecai B. Rosen, Michael J. Wilde, Lachman Associates Inc.
`Bill Fraser-Campbell, The Instruction Set, Ltd.
`The Transparent Remote File System—.... 22.2... cece cee cee nce nceececcecceeeseereeeees Leveeeeees 306
`Ronald P. Hughes, Integrated Solutions, Inc.
`
`Language Technology
`
`Thursday, June 12, 2:00 - 3:30
`
`(Grand Salon)
`
`ooo. .ececececeeneeeeeeee seen eee eeeseeenes 318
`A Global Optimizer for Sun FORTRAN, C & PASCAL
`Vida Ghodssi, Steven S. Muchnick, Alex Wu, Sun Microsystems, Inc.
`Four Generations of the Portable C Compiler
`............ccscecessceceececeeneeecneereressneeees 335
`David M.Kristol, AT&T Information Systems
`The Notifier
`.........ccceececececencnnereeer erences epee ee nere eens ee ee eens eee ee sree see es ener en eetenees 344
`Steve Evans, Sun Microsystems, Inc.
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 7
`Page 7
`
`
`
`444
`
` §i
`
`a c
`
`e3
`
`4
`
`Distributed File Systems 3
`
`AENASHENRRUESaeeae
`
`
`
`Thursday, June 12, 4:00 - 5:30
`
`(Grand Ballroom)
`
`Error Recovery in a Stateful Remote Filesystem .........c..cccccccccecceeesseeesececeeeeesenes 355
`Alan Atlas, Perry Flinn, MASSCOMP
`Distributed File Systems Panel
`
`Electronic Mail
`
`Thursday, June 12, 4:00 - 5:30
`
`(GrandSalon)
`
`............ceeeeeeececee cece cee ccececeeececseeenceeesseeeneees 366
`Mail Routing using Domain Names
`Craig Partridge, CSNET Coordination and Information Center
`AT&T Mail oo ccc ce cee sceecse ccc ce ee ene cee eenerneeenen sete ee eensseneneeeeeeeseeeenecesneneens 377
`Dale §. DeJager, AT&T Information Systems
`A Mail File System for Eighth Edition UNIX
`o.oo. ese cee cece ee eceececececececececeeenecteenees 391
`David Hitz, Peter Honeyman, Princeton University
`
`Operating Systems 2
`
`Friday, June 13, 9:00 - 10:30
`
`(Grand Ballroom)
`
`Shared Libraries on UNIX System Vo... . cece ceceec ec ecectececeenecesneceteaseneeeeesseereneneees 395
`James Q. Arnold, AT&T
`Decreasing Realtime Process Dispatch Latency through Kernel Preemption .................. 405
`David C. Lennert, Hewlett-Packard
`MOS ~ Scaling Up UNIX .........cccececesecenecececeseeeeneeseeeeneteneeeneeeneeeneteeeneneeetenenens 414
`Amnon Barak, On G. Paradise, Hebrew University ofJerusalem
`
`Friday, June 13, 9:00 - 10:30
`
`(GrandSalon)
`
`USENET BOF
`
`Windows
`
`Friday, June 13, 11:00 - 12:30
`
`(Grand Ballroom)
`
`A Data-Flow Managerfor an Interactive Programming Environment.
`Paul E. Haeberli, Silicon Graphics, Inc.
`UwWM:A UserInterface for X Windows .............ccesencsceseeeeeeetee sees ena ets ee esse eaene reece 429
`Michael Gancarz, Digital Equipment Corporation
`Programming with Windows on the Major Workstations .............2.0sceceeeeeeeeeeneneeere 44]
`Stephen Daniel, C. Durward Rogers, Microelectronics Center ofNorth Carolina
`
`.....,.......-2.e00ee00s 419
`
`vii
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 8
`Page 8
`
`
`
`Operating Systems 3
`
`Friday, June 13, 11:00 - 12:30
`
`(Grand Salon)
`
`The Influence of Workload on Load Balancing Strategies ..............0..ceeese eee ee sees ee nee ee 446
`Luis-Felipe Cabrera, IBM Almaden Research Center
`A System V Compatible Implementation of 4.2BSD Job Control
`David C. Lennert, Hewlett-Packard
`UNIX as a Virtual Machine Environment.
`.........ccccesce see ee nec e ee eee eens nen eenaees ener enaenes 475
`Robert E. Genter, BBN Laboratories Inc.
`
`....... 0... eee cece e eee eens 459
`
`Real Work 2
`
`Friday, June 13, 2:00 - 3:30
`
`(Grand Ballroom)
`
`Porting to a Network of Diskless MicroS ............ccce eee nse ence enn ete eee eebeetececeeeneewerne 486
`W. Appelbe, D. Coleman, A. Fratkin, J. Hutchison, W. Savitch,
`University of California, San Diego
`A State-wide Distributed Computing System ..............ccccececeeseceeeseeseeeeeeeee eee eneeees 499
`Tom Truscott, Bob Warren, Ken Moat, Research Triangle Institute
`UNIX-based Distributed Printing in a Diverse Environment
`.............. cece es eee eceeeeee ees 514
`William E. Johnston, Dennis E. Hall, Lawrence Berkeley Laboratory
`
`Friday, June 13, 2:00 - 3:30
`
`(GrandSalon)
`
`Wizard's Panel
`
`|
`
`
`
`var
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 9
`Page 9
`
`
`
`
`
`
`
`AUTHOR INDEX
`
`Accetta, Mike
`Appelbe, W.
`Arnold, James Q.
`Atlas, Alan
`Barak, Amnon
`_
`Baron, Robert
`Bellovin, Steven M.
`Bloom, James M.
`Bolosky, William
`Borghi, Bruno
`Cabrera, Luis-Felipe
`‘Clancy, Patrick
`Coleman, D.
`Crossland, James
`Daniel, Stephen
`DeJager, Dale S.
`Dudek, Gregory
`Dunlap, KevinJ.
`Evans, Steve
`Fenart, Jean Marc
`Fievet, Marc
`Flinn, Perry
`Forbes, Michael P.
`Fraser-Campbell,Bill
`Fratkin, A.
`Gancarz, Michael
`Genter, Robert E.
`Ghodssi, Vida
`Goldberg, David
`Golub, David
`Gould, Ed
`Haeberli, Paul E.
`Hall, Dennis E.
`Hamilton, Richard L.
`Hawley, Michael
`Hitz, David
`Honeyman,Peter
`Hughes, Ronald P.
`Huitema, Christian
`Hutchison, J.
`Hyde, R.
`Israel, Robert K.
`Jenkin, Michael
`Johnston, William E.
`Jung, Robert S.
`Kalash, Joseph T.
`Karels, MichaelJ.
`
`93
`486
`395
`355
`414
`93
`126
`172
`93
`284
`142, 446
`81
`486
`81
`441
`377
`200
`172
`344
`46
`46
`355
`248
`299
`486
`429
`475
`318
`28
`93
`294
`419
`514
`248
`
`391
`126, 391
`306
`46
`486
`260
`
`200
`514
`209
`209
`182
`
`Kleiman,S. R.
`Koehler, M.
`Kristol, David M.
`Langston,Peter S.
`Leach, PaulJ.
`Lennert, David C.
`Levine, Paul H.
`Marcus, Howard
`Martin, Bernard
`McGrath, Gilbert J.
`McKusick, Marshall Kirk
`Mills, Philip M.
`Mishkin, Nathaniel
`Moat, Ken
`Mowat, Eric
`Muchnick, Steven S.
`Nachbar, Daniel
`Olander, David J.
`Paradise, On G.
`Partridge, Craig
`Place, P. R. H.
`Querel, Stephane
`Rashid, Richard
`Rauglaudre, Daniel de
`Rees, Jim
`Remille, Annie
`Rifkin, Andrew P.
`Rodriguez, R.
`Rogers, C. Durward
`Rosen, Mordecai B.
`Sabrio, Michael
`Savitch, W.
`Shah, Suryakanta
`Suzuki, Tatsuo
`Sznyter, Edward W.
`Takada, Hisayasu
`Taniguchi, Hideo
`Taylor, Bradley
`Tevanian, Avadis
`Tilbrook, D. M.
`Truscott, Tom
`Vaysseix, Guy
`Waldo, James
`Warren, Bob
`Wilde, Michael J.
`Wu, Alex
`Young, Michael
`Yueh, Kang
`
`238
`260
`335
`13
`114
`405, 459
`114
`200
`46
`38
`182
`
`114
`499
`142
`318
`159
`38
`414
`366
`223
`284
`93
`284
`114
`46
`248
`72, 260
`441
`299
`248
`486
`248
`189
`81
`189
`189
`28
`93
`223
`499
`
`270
`499
`299
`318
`
`248
`
`iX
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 10
`Page 10
`
`
`
`| |i
`
`i
`
`PREFACE TO THE ATLANTA CONFERENCE
`
`This conference marks the Eleventh Anniversary of Unix User's meetings. What began
`as informal gatherings among a handful of people with a commoninterest has grown into a
`semiannual event of major proportions. Gone are the days when individuals would raise their
`hands at the beginning of the meeting to indicate they had something of interest to share with
`the other attendees; our group is just too large for that to be practical any more.
`Informal
`presentations have been replaced by a formal review process complete with conference
`proceedings available to attendees when they register at the conference. Our meetings ofless
`than 100 people have growntofifteen to twenty times that size, requiring careful organization
`and coordination among many people, with plans often beginning more than two years before
`the actual conference date.
`
`Clearly we have come a long waysince those early days. If you're wondering where
`and when all those past conferences were held and who helped make them happen,here's a
`list:
`
`When
`
`Where
`
`Host
`
`Size
`
`|:|!
`
`
`
`*Indicates joint conference with /usr/group.
`
`(This preface and table were shamelessly stolen from the USENIX Conference Proceedings, Summer 1985.)
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 11
`Page 11
`
`
`11-13 Jun86—Atlanta, GA Medical Systems Dev Corp (Dan Forsyth & Paul Manno) ?
`
`15-17 Jan86
`Denver, CO
`University of Colorado (Evi Nemeth)
`1,157
`10-14 Jun85
`Portland, OR
`Tektronix (Steve Glaser)
`1,730
`
`23-25 Jan85~—Dallas, TX (Charisse Castagnoli & Rob Kolstad) 1,200
`
`
`13-15 Jun 84=Salt Lake City, UT University of Utah (Randy Frank) 1,500
`
`16-20 Jan84 Washington, DC
`* (Reidar Bornholdt)
`8,000
`13-15 Jul 83.
`Toronto, ON
`HCR (Mike Tilson)
`1,500 .
`26-28 Jan83
`San Diego, CA
`University of California at San Diego * (Tom Uter)
`1,850
`6-9 Jul82
`Boston, MA
`BBN (Alan Nemeth)
`,
`1,300
`27-29 Jan 82
`Santa Monica, CA
`ISC (Mike O'Brien) ~
`1,000
`24-26Jun81
`Austin, TX
`University of Texas (Wally Wedel)
`500
`21-23 Jan81
` SanFrancisco, CA
`University of California at San Francisco (Tom Ferrin)
`1,000
`17-20Jun80
`Newark, DE
`University of Delaware (Dan Grim)
`
`29 Jan-1 Feb 80~—-Boulder, CO National Center for Atmospheric Research (John Donnelly) 450
`
`30 Nov79 Menlo Park, CA
`SRI (John Bass)
`400
`20-23 Jun 79
`Toronto, ON
`University of Toronto (Ron Baecker}
`
`25-27 Jan79 SantaMonica,CA—_ISC (Steve Holmgren) 350
`20ct78 Menlo Park, CA
`SRI (John Bass)
`75
`24-28 May 78
`New York, NY
`Columbia University (Lou Katz)
`~350
`
`12-13 Sep 77.=Menlo Park, CA SRI (Oliver Whitby & John Bass) ~100
`
`19-21 May 77
`Urbana, IL
`University of Illinois (Steve Holmgren)
`~250
`1-3 Oct76
`Cambridge, MA
`Harvard University (Lewis Law)
`~120
`1-2 Apr76
`Cambridge, MA
`Harvard University (Lewis Law)
`~60
`27-28 Feb 76
`Berkeley, CA
`University of California at Berkeley (Bob Fabry)
`31 Oct75 Monterey, CA
`Naval Postgraduate School (Belton Allen)
`270ct75
`New York, NY.
`City University of New York (Mel Ferentz)
`18Jun75
`New York, NY
`City University of New York (Mel Ferentz)
`
`
`
`40
`
`
`
`When Network File Systems Aren’t Enough:
`Automatic Software Distribution Revisited
`
`Daniel Nachbar.
`® Bell Communications Research
`Morristown, New Jersey
`
`ABSTRACT
`
`The system described, named track, addresses the problem of maintaining
`software and data on multiple machines running the UNIX operating system.
`Under track, updates are made from a central [brarian machine {or machines).
`All updates are initiated by the receiving machine. Local initiation of updates
`allows system administrators to take advantage of centrally maintained software
`without relinquishing control of when and how updates are made. Track can
`also map file names when making copies and execute an arbitrary shell script after
`a copy is made. Given .these features, track can automate common system
`administration tasks (e.g. installing new releases of software) as well as difficult
`tasks (e.g. booting a new UNIX kernel).
`
`System Administration in a Changing World
`
`In
`Only a few years ago, most computer research facilities consisted of one or a few CPU’s.
`the recent past, this has changed drastically. For instance, in our laboratory at BELLCORE, the
`computer center now contains approximately 40 CPU’s of 4 different architectures running 3
`different flavors of UNIX. This growth in the number and variety of machines threatens to
`increase greatly the amount of human effort needed to handle even the simplest tasks of systern
`administration.
`
`Adding to system administration problems is the fact that UNIX itself has grown. A "com-
`plete" 4.2BSD system consists of about 6,000 administration files.
`(This includes all the binary,
`library, and data files but does not include source code files.) Regularly used software packages,
`contribute an additional 4,000 files.
`
`,
`
`However, the large number of files that make up UNIX does not in itself create a problem.
`Clearly, if the contents of these files never changed, one could simply initialize them when the sys-
`tem is set up and forget about them. Unfortunately, at least in a research environment, these files
`change constantly. Some files change frequently (/etc/passwd changes almost hourly on our sys-
`tems.) It is relatively easy to deal with these few, frequently changing files; of greater difficulty is
`the much larger mass of less frequently changing files.
`In our computer center, roughly 200 of’
`these 10,000 files are modified each month. Other complexities arise because somefiles are shared
`by machines of differing architecture, while others are not. Tracking a moving target consisting of
`some 10,000 sporadically changing files on several machines is far too complicated a task to be
`done by hand.
`
`If some sort of network files system or other information server is available, the situation is
`greatly eased. However, practical considerations often preclude the use of such systems for
`administration files. First of all, communications overhead becomes prohibitive for all but the
`smallest CPU’s operating on a relatively fast communications channel. Second, political con-
`siderations make it highly unlikely that the administrator of one computer center would be willing
`to rely totally upon some other computer center for all his administration files. Today one finds
`
`159
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 12
`Page 12
`
`
`
`single-user workstations that are part of the same computing facility sharing administration files
`via an ethernet. However, it will be a long time before we see a supercomputer that is owned by a
`private company in New Jersey access its "/bin" directly from disks in Berkeley.
`Thus, given that there will probably always be multiple instances of administration files, the
`problem is to make sure that all such instances contain the same data. To make the problem
`more manageable, one instance is usually designated as the master version of which all other
`machines have copies. While this restriction may not be acceptable for distributed data in gen-
`eral, it is reasonable for most system administration problems. The question then becomes one of
`deciding when to update the copies given that the master version of a file has been changed.
`
`Previous Systems
`Programs that address the problem of maintaining multiple instances of files on different
`machines have generally been referred to as “automatic software distribution systems”. Several
`such systems have been written (we refer in particular to the asd system by Koenig[1] and the
`rdist system distributed with 4.3BSD.) However, one finds that these existing systems are usually
`operated only within a computer center. In particular,
`they require a central administrator (or
`process) to specify that a given file should be broadcast or “shipped out” to other machines. Cen-
`tral administration has several drawbacks. First of all there are some practical problems. There
`must be a tight coupling between the changing of the master version and its broadcast to other
`machines.
`If a master version is changed but accidentally not broadcast or if the update is lost in
`transmission,
`the copies will diverge from the master. Such divergence is difficult
`to detect.
`Furthermore, once divergence has appeared, it will remain until the master version is broadcast
`again.
`,
`The problem of possible accidental divergence caused by centralized administration can be
`overcome by periodically inspecting the master and copies of each file and making updates if
`differences are found (the rdist system uses this approach.) However, periodic checking for diver-
`gence does not overcome another, potentially more serious problem with centralized administra-
`tion of updates: the loss of control by local administrators as to how and when updates are made
`on their machines. For whatever reasons, local administrators (in particular people who adminis-
`ter their own workstations) usually wish to intervene in the updating process. For example, if a
`machine is being used for data collection over an extended period of time, the administrator may
`wish to defer updates until after the study is complete. Such intervention varies from person to
`person, file to file, and even from time to time. Local administrators are often reluctant to allow
`other people to change administration files on their machines.
`In
`There is a huge range in the amount of control that local administrators wish to have.
`some cases, no intervention is needed. Updates can be fully automated. This is usually the case
`when one person or group is administering both the source and destination machines.
`In other
`‘cases, a local administrator may wish to have an update take place automatically and be notified
`of the update after the fact. This allows the administrator to localize problems that may occur
`from the installation of new versions. Other administrators may wish to have new versionsof files
`arrive in some innocuous place where they can be inspected before installation.
`In still other cases,
`an administrator may wish to be merely notified that a new version of somefile is available. Cen-
`tral administration does not lend itself to such local customizations. Thus, while there is much
`general interest in sharing code between computer facilities as well as within them, automatic
`software distribution systems that do not allow for local control will most likely never be used
`when the source and destination machines are administered by different people.
`
`An obvious alternative to central administration is to have receiving machines poll for new
`versions of files. Under such a scheme, the receiving machine would periodically check the status
`of each master
`file of interest and initiate updates when necessary. The problem with this
`approach is that unless checking file status and initiating updates are very easy, local administra-
`tors may often fail
`to do them. Furthermore,
`there must be verv little overhead involved in
`checking the status of master versions since this check must be done once for every copy of the file
`during each polling period. However, it is interesting to note that while systems with distributed
`
`eeeemen
`Seee
`
`nMcae
`
`eeemmee
`Nayeemeeermne
`
`160
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 13
`Page 13
`
`
`
`initiation of updates can “simulate” a system with centralized control (assuming that the source
`machine can somehow execute a command onthe destination machine,) the opposite is not true.
`Another design assumption made in some automatic software distribution systems is the
`requirement that processes on both the source and destination machines operate in a synchronous
`manner. The rdist system makes this assumption; asd does not.
`
`The Librarian/Subscriber Model of Updates
`The system described in this paper, called track, was designed using distributed administra-
`tion with periodic checking of file status and asynchronous communication. Track views the mas-
`ter versions offiles as a passive repository. We describe this view as a ltbrarian/subseriber model.
`The machine containing the master versionsoffiles is called the [zbrarian machine.
`(There can be
`more than one librarian. For ease of description we shall talk about only one.) Machines that
`make copies offiles from the [zbrarian are called the subscriber machines.
`Clearly this is a server/client model. The different
`terminology is used to emphasize the
`functional similarity between our electronic Kkbrarian and its human counterpart. Typically,
`human librarians providelistings of available information and copies of information upon request.
`If human librarians followed the example of automatic software distribution systems with central-
`ized control, they would march into one’s offices without warning and insist that that a certain
`book is to be read immediately. We believe that such behavior on the part of either humans or
`machines is intolerable.
`
`In keeping with our metaphor, our electronic librarian has two tasks : 1) to provide a listing
`of its files that are available to subscribers, as well as some information about the currentness of
`each file. Track uses
`the time of last modification as its measure of currentness.
`(Clearly,
`modification date is not the proper measure of currentness for things such as symbolic links and
`directories. For the time being, we shall only be discussing how track handles ordinaryfiles. Spe-
`cial files as well as alternative measures of currentness will be discussed later in the section entitled
`"Nitty Gritty".) And 2) to give out copies of files to authorized subscribers upon request. Given
`such a cooperative librarian, a subscriber machine need” only inspect the (zbrartan’s listing of
`available files and request new copies offiles that are more current than its own.
`the subscription
`At the core of track’s operation is the subscription list. On the librarian,
`list describes the set of files to be made available to other machines. On the subscriber machine,
`the subscription list describes the set of files to be considered for potential update from the
`librarien. Often, the subscription lists are identical on librarian and subseriber machines. How-
`ever, this is not always the case. As we shall see later, by editing local (subscriber) copies of the
`subscription list, local administrators can control updates on their machines.
`
`A Simple Example
`
`In order for an update to
`Wewill now step through an example of how updates take place.
`take place, the program named track must be run at some point on both the librarian and sub-
`seriber. While it is possible to invoke track by hand, it is more commonfor it to be invoked at
`regular intervals by the UNIX clock daemon (/etc/cron).
`
`Figure 1 -- contents of the subscription list named “hourly”
`
`files to be updated frequently
`
`# #
`
`if
`blob: /etc/hosts
`: /etc/networks ::::
`: /ete/services ::::
`
`:
`
`161
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 14
`Page 14
`
`Oe
`ateweee
`ee
`
`GALSaemeneeaaermee
`
`
`
`|\[|{
`
`|{
`
`\{f L i
`
`{
`
`At some point in time (as controlled by /etc/cron), the brarian machine ("blob") executes
`the command track -w hourly. Upon invocation with the -w flag {-w stands for write") track:
`1)
`reads the appropriate subscription list, ("hourly" -- see Figure 1). The subseription list
`specifies that the files named "/etc/hosts,” "/ete/networks,” and "/etc/services” are to be
`made available to subscriber machines. And,
`2) collects the modification date of each file listed and creates a staifile.* By convention, the
`name of the statfile is created by combining the subscription list’s file name and the-
`“brarian’s machine name. In this case, the statfile is called “hourly.blob”(see Figure 2.)
`Statfiles have one line for each object. Each line contains three pieces of information:
`1) a single
`character describing the type of object being handled (in Figure 2, this is always “f" for “file"), 2)
`the name of the object, and 3) some measure of the currentness of the object (in Figure 2, this is
`always the modification date of the file expressed in seconds). For a complete description of the
`format of statfiles see the manual pagestatfile(5) in the appendix.
`
`Figure 2 -- contents of the statfile named “hourly.blob”
`
`f/etc/hosts 488058628
`f/etc/networks 487994526
`f/etc/services 482463012
`
`,
`
`At some later time (also determined by /etc/cron), the subscriber machine will execute the com-
`mand track hourly. Upon invocation without the -w flag track will:
`1) obtain a copy of the lzbrarian’s statfile.
`2) for each filein the statfile:
`A) see if the file is included in its own subscription list
`B) examine the modification date of its own versionofthefile.
`request from the itbrarian,
`those files that are included in the subscription list and have
`newer modification dates. During the copying process, the subscriber must be careful to
`reset the date of last modification on the riew local copies.*
`It should be noted that we have not described how subscribers and Itbrarians actually communi-
`cate with one another.
`It is our intention that track be able to work over many different com-
`munications media.
`,
`
`3)
`
`Some More Complicated Cases
`Having described the basic case, we will now describe the layout of the subscription list in
`more detail. A more complete and formal description can be found in the manual page for sub-
`scriptionlist(5).
`;
`The principal function of the subscription list is to define a set of files. In addition, the sub-
`scription list describes where master versions are to be found, and how they are to be copied.
`In
`other words, the subscription list defines what and howfiles are to be tracked.
`A subscription Itst consists of a series of entries. Each entry consists of 6 fields. All fields,
`except the last, are terminated by a colon. Thelast field is terminated by a newline.
`As in Figure 1, the first field contains the name of the librarian machine. The second field
`contains the name of the file to be tracked. To be moreprecise, the secondfield contains thefile
`name to be used on the librarian. (more on this later.)
`In the previous example, the second field
`always contained the name of an ordinary file.
`If the second field contains the name of a direc-
`tory, that directory is handled as the