`_
`g
`,5,
`W1
`
`JHiJJHHJJfiiJHJJJJJfiJfi
`
`lIIHflflllml|"¥lfllfllll""lllllllIlmllllllllllll
`
`1986 Summer
`
`Technical Conference 8 Exhibition
`
`Atlanta, Georgia
`
`
`
`Conference
`‘Proceedings
`
`RAY
`NFQRJVJA‘ JON
`PEN FEE
`W
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`|PR2016-00753
`Page 1
`Page 1
`
`
`
`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
`|PR2016-00753
`Page 2
`Page 2
`
`
`
`‘
`
`i
`f
`
`:2
`:
`E
`
`
`
`2£
`
`i ig 5
`
`,.h
`E:3
`iE
`ii
`is,
`:‘iE
`‘13
`F.
`
`E
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`|PR2016-00753
`Page 3
`Page 3
`
`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
`
`All rights reserved.
`
`This volume is 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 noted in the text.
`
`
`
`V511 Ah}
`
`HQRemvv
`
`ACKNOWLEDGEMENTS
`
`Sponsor:
`
`The USENIX Association
`P. O. Box 7
`
`El Cerrito, CA 94350
`
`Program Chairperson:
`
`Mike O'Dell
`
`Program Committee:
`
`John Chambers
`Mike Hawley
`Sam Lel‘iler
`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
`producing the table of contents. Ralph Amie] of Standard Press patiently answered many dumb questions on the
`production of a volume this 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 forgot to 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
`|PR2016-00753
`Page 4
`Page 4
`
`
`
` 3 EEii E Eli
`
`n}
`
`ills3
`
`,5
`g“l
`.gl
`
`E i’
`
`xE E,E i
`
`gSE i3iE3 iSEEgE§
`
`l2
`i:l
`S
`
`TABLE OF CONTENTS
`
`Wednesday, June 11, 9:00 - 10:30
`
`|
`
`(Grand Ballroom)
`
`PLENARY SESSION
`
`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 .....................................................................
`
`1
`
`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
`
`13
`
`Networks I .
`
`Wednesday, June 11, 2:00 - 3:30
`
`(Grand Ballroom)
`
`Secure Networking in the Sun Environment ...................................................... 28
`Bradley Taylor, David Goldberg, Sun Microsystems, Inc.
`A Framework for Networking in System V ...................................................... 38
`David J. Olander, Gilbert J. McGrath, Robert K. Israel, AT&T
`051 and TCP/LP Protocols on a'UNIX System V ................................................... 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 Development of Performance-Constrained UNIX-Based Software System
`on Microcomputers L. Perkins, Martin Marietta
`A Multiuser Multiprocessor Benchmark to Compare UNIX Systems ........................... 59
`Philip M. Mills, NCR Corporation
`A System Call Tracer for UNIX ..................................................................... 72
`R. Rodriguez, Digital Equipment Corporation
`
`iv
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`|PR2016-00753
`Page 5
`Page 5
`
`
`
`
`
`Operating Systems 1
`
`Wednesday, June 11, 4:00 - 5:30
`
`(Grand Ballroom)
`
`A New Virtual Memory Implementation for UNIX ................................................
`Edward W. Sznyter, Patrick Clancy, James Crossland, Tektronix, Inc.
`Mach: A New Kernel Foundation for UNIX Development ....................................... 93
`Mike Accetta, Robert Baron, William Bolosky, David Golub,Richard Rashid,
`Avadis Tevanian, Michael Young, Carnegie-Mellon Univeristy
`An Extensible l/O System ........................................................................... 114
`Jim Rees, Paul H. Levine, Nathaniel Mishkin, Paul J. Leach, Apollo Computer
`
`81
`
`Tools
`
`WednesdaY, June 11, 4:00 - 5:30
`
`(Grand Salon)
`
`PATHALIAS or The Care and Feeding of Relative Addresses .................................... 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
`
`..................... 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 Cotporation
`Network Performance and Management with 4.3BSD and IP/TCP .............................. 182
`Michael J. Karels, Marshall Kirk McKusick,
`CSRG', University of California, Berkeley
`A Real-Time Electronic Conferencing System' based on Distributed UNIX ..................... 189
`Tatsuo Suzuki, Hideo Taniguchi, Hisayasu Takada,
`NTT Electrical Communications Laboratories
`
`...... 172
`
`Real Work 1
`
`Thursday, June 12, 9:00 - 10:30
`
`(Grand Salon)
`
`How to Make Friends with Number-Crunchers ................................................... 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 Maintenance and Installation of a Large Software Distribution .................. 223
`D. M. Tilbrook, P. R. H. Place, Imperial Software Technology
`
`v
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`|PR2016-00753
`Page 6
`Page 6
`
`
`
` i i tii
`
`12::
`g
`
`Distributed File Systems 1
`
`Thursday, June 12, 11:00 - 12:30
`
`(Grand Ballroom)
`
`Vnodes: An Architecture for Multiple File System Types in Sun UNIX ........................ 238
`S. R. Kleiman, Sun Microsystems
`Remote File Sharing Architectural Overview ...................................................... 248
`Andrew P. Riflcin, Michael P. Forbes, Richard L. Hamilton,
`Michael Sabrio, Suryakanta Shah, Kang Yueh, AT&T Information Systems
`The Generic File System ........................................................................... 260
`R. Rodriguez, M Koehler, R. Hyde, Digital Equipment Corporation
`
`Text Processing
`
`Thursday, June 12, 11:00 - 12:30
`
`(Grand Salon)
`
`Modelling Text as a Hierarchical Object ............................................................ 270
`James Waldo, Apollo Computer Inc.
`SMSCRIPT: An Interpretor for the POSTSCRIPT Language Under UNIX ........................ 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 ............................................. 294
`Ed Gould, Mt. Xinu
`NFS Portability .......................................................................... .............. 299
`Mordecai B. Rosen, Michael J. Wilde, Lachman Associates Inc.
`Bill Fraser- Campbell, The Instruction Set, Ltd.
`The Transparent Remote File System .................................................. '. ......... 306
`Ronald P. Hughes, Integrated Solutions, Inc.
`
`Language Technology
`
`Thursday, June 12, 2:00 - 3:30
`
`(Grand Salon)
`
`................................ 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
`................................................... 335
`David M. Kristal, AT&T Information Systems
`The Notifier
`.......................................................................................... 344
`Steve Evans, Sun Micros'ystems, Inc.
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`|PR2016-00753
`Page 7
`Page 7
`
`
`
` ix
`
`iv.
`,5};
`,1.1
`
`v}
`
`:5:
`3i
`
`litwtliflflwdfifiia‘hsramme
`
`Distributed File Systems 3
`
`Thursday, June 12, 4:00 - 5:30
`
`(Grand Ballroom)
`
`Error Recovery in a Stateful RemOte Filesystem ................................................ 355
`Alan Atlas, Perry Flinn, MASSCOMP
`Distributed File Systems Panel
`
`Electronic Mail
`
`Thursday, June 12, 4:00 - 5:30
`
`(Grand Salon)
`
`............................................................... 366
`Mail Routing using Domain Names
`Craig Partridge, CSNET Coordination and Information Center
`AT&T Mail
`.......................................................................................... 377
`Dale S. DeJager, AT&T Information Systems
`A Mail File System for Eighth Edition UNIX
`................................................... 391
`David Hitz, Peter Honeyman, Princeton University
`
`Operating Systems 2
`
`Friday, June 13, 9:00 - 10:30
`
`(Grand Ballroom)
`
`Shared Libraries on UNIX System V ............................................................... 395
`James Q. Arnold, AT&T
`v
`Decreasing Realtime Process Dispatch Latency through Kernel Preemption .................. 405
`David C. Lennert, Hewlett—Packard
`MOS — Scaling Up UNIX .............................................................................. 414
`Amnon Barak, 0n G. Paradise, Hebrew University ofJerusalem
`
`Friday, June 13, 9:00 - 10:30
`
`(GrandVSalon)
`
`USENET BOF
`
`Windows
`
`Friday, June 13, 11:00 - 12:30
`
`(Grand Ballroom)
`
`A Data-Flow Manager for an Interactive Programming Environment
`Paul E. Haeberli, Silicon Graphics, Inc.
`UWM: A User Interface for X Windows ............................................................ 429
`Michael Gancarz, Digital Equipment Corporation
`Programming with Windows on the Major Workstations ....................................... 441
`Stephen Daniel, C. Durward Rogers, Microelectronics Center ofNorth Carolina
`
`........................ 419
`
`vfi
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`|PR2016-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 ....................................... 446
`Luis-Felipe Cabrera, IBM Almaden Research Center
`A System V Compatible Implementation of 4.ZBSD Job Control
`David C. Lennert, Hewlett—Packard
`UNIX as a Virtual Machine Environment
`......................................................... 475
`Robert E. Center, BBN Laboratories Inc.
`
`.............................. 459
`
`Real Work 2
`
`Friday, June 13, 2:00 - 3:30
`
`(Grand Ballroom)
`
`......................................................... 486
`Porting to a Network of Diskless Micros
`W. Appelbe, D. Coleman, A. Fratkin, J. Hutchison, W. Savitch,
`University of California, San Diego
`A State-wide Distributed Computing System ...................................................... 499
`Tom Truscott, Bob Warren, Ken Moat, Research Triangle Institute
`UNIX—based Distributed Printing in a Diverse Environment
`.................................... 514
`William E. Johnston, Dennis E. Hall, Lawrence Berkeley Laboratory
`
`Friday, June 13, 2:00 - 3:30
`
`(Grand Salon)
`
`Wizard's Panel
`
`.
`
`
`
`viii
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`|PR2016-00753
`Page 9
`Page 9
`
`
`
`w:awsauwwufl
`
`
`
`
`
`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, Kevin J.
`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, Michael J.
`
`-
`
`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
`1
`391
`126, 391
`306
`46
`486
`260
`38
`200
`514
`209
`209
`182
`
`Kleiman, S. R.
`Koehler, M.
`Kristo], David M.
`LangstonkPeter S.
`Leach, Paul J.
`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
`59
`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
`46
`270
`
`499.
`299
`318
`93
`248
`
`ix
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`|PR2016-00753
`Page 10
`Page 10
`
`
`
`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 common interest 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 of less
`than 100 people have grown to fifteen 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 way since 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
`
`mime
`
`Heat
`
`Atlanta, GA
`I 11-13 Jun 86
`Denver, CO
`15—17 Jan 86
`Portland, OR
`10-14 Jun 85
`Dallas, TX
`23-25 Jan 85
`Salt Lake City, UT
`_ 13-15 Jun 84
`16-20 Jan 84 Washington, DC
`13~15 Jul 83
`Toronto, ON
`26-28 Jan 83
`San Diego, CA
`6-9 Jul 82
`Boston, MA
`27-29 Jan 82
`Santa Monica, CA
`24-26 Jun 81
`Austin, TX
`21-23 Jan 81
`San Francisco, CA
`17—20 Jun 80
`Newark, DE
`29 Ian—1 Feb 80
`Boulder, CO
`30 Nov 79 Menlo Park, CA
`20-23 Jun 79
`Toronto, ON
`25-27 Jan 79
`' Santa Monica, CA
`’
`2 Oct 78 Menlo Park, CA
`2A-28 May 78
`New York, NY '
`12-13 Sep 77 Menlo Park, CA
`19-21 May 77
`Urbana, IL
`143 Oct 76
`Cambridge, MA
`1-2 Apr 76
`Cambridge, MA
`27-28 Feb 76
`Berkeley, CA
`31 Oct 75 Monterey, CA
`27 Oct 75
`New York, NY;
`18 Jun 75
`New York, NY
`
`Medical Systems Dev Corp (Dan Forsyth & Paul Manno)
`University of Colorado (Evi Nemeth)
`Tektronix (Steve Glaser)
`(Charisse Castagnoli & Rob Kolstad)
`University of Utah (Randy Frank)
`* (Reidar Bomholdt)
`HCR (Mike Tilson)
`University of California at San Diego * (Tom Uter)
`BBN (Alan Nemeth)
`’
`ISC (Mike O'Brien) '
`University of Texas (Wally Wedel)
`University of California at San Francisco (Tom Ferrin)
`University of Delaware (Dan Grim)
`National Center for Atmospheric Research (John Donnelly)
`SRI (John Bass)
`University of Toronto (Ron Baecker)
`ISC (Steve Holmgren)
`SRI (John Bass)
`Columbia University (Lou Katz)
`SRI (Oliver Whitby & John Bass)
`University of Illinois (Steve Holmgren)
`Harvard University (Lewis Law)
`Harvard University (Lewis Law)
`University of California at Berkeley (Bob Fabry)
`Naval Postgraduate School (Belton Allen)
`City University of New York (Mel Ferentz)
`City University of New York (Mel Ferentz)
`
`-
`
`&
`
`?
`1,157
`1,730
`1,200
`1,500
`8,000
`1,500 .
`1,850
`1,300
`1,000
`500
`1,000
`
`450
`
`400
`350
`75
`~350
`~100
`~250
`'~120
`~60
`
`40
`
`*Indicates joint conference with lusr/group.
`
`(This preface and table were shamelessly stolen from the USENIX Conference Proceedings, Summer 1985.)
`
`M.W.~__-_.,-..~..1;..M_._.—mr;m~wmwmm"—4—..iv.m...«ummmmnmwmmmmmwnmmmnmwmmmw
`
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`|PR2016-00753
`Page 11
`Page 11
`
`
`
`When Network File Systems Aren’t Enough:
`Automatic Software Distribution Revisited
`
`Daniel Nachbar'
`
`@ Bell Communications Research
`Morristown, New Jersey
`
`ABS TBA 0 T
`
`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 librarian 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. Giventhese 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
`difierent flavors of UNlX. 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 system
`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 UNlX does not in itself create a problem.
`Clearly, if the contents of these files never changed, one could simply initialize them when the sys—
`tern 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 some files 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
`|PR2016-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 sad system by Koenigll] 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 versions of 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 some file 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 very 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 systemswith distributed
`
`......_wnuo-..
`
`.~&.-"a.su-ifl-_.......2..-.—..._.-.
`
`
`
`
`
`..mm-.u_.a».......<
`
`160
`
`PMC Exhibit 2671
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`|PR2016-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 on the destination machine,) the opposite is not true.
`Another design assumption made in some automatic‘softwa're 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 of files as a passive repository. We describe this view as a librarian/subscriber model.
`The machine containing the master versions of files is called the librarian machine.
`(There can be
`more than one librarian. For ease of description we shall talk about only one.) Machines that
`make copies of files from the librarian are called the subscriber machines.
`
`terminology is used to emphasize the
`Clearly this is a server/client model. The difi'erent
`functional similarity between our electronic librarian and its human counterpart. Typically,
`human librarians provide listings 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 ordinary files. 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 librarian ’5
`listing of
`available files and request new copies of files 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
`librarian. Often, the subscription lists are identical on librarian and subscriber 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
`We will 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-
`scriber. While it is possible to invoke track by hand, it is more common for it to be invoked at
`regular intervals by the UNIX clock daemon (/etc/cron).
`
`Figure l -- contents of the subscription list named "hourly"
`
`files to be updated frequently
`
`: /etc/hosts
`: /etc/networks :
`: /etc/services :
`2
`
`:
`
`:
`:
`
`:
`:
`
`# #
`
`# b
`
`lob
`
`-
`
`161
`
`PMC Exhibit 2071
`PMC Exhibit 2071
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`|PR2016-00753
`Page 14
`Page 14
`
`.c.x»-wo-...
`
`.,\~_.1......_...
`..:_cv..
`
`
`
`
`
`,fi'-.......-.,....--._..-...-»....v_rw...N.-»‘.'-..-—....-..-—..M....0.._.-.
`
`
`
`
`
`
`
`
`
`At some point in time (as controlled by ./etc/cron), the librarian 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 subscription list
`specifies that the files named "/etc/hosts," "/etc/networks," and "/etc/services" are to be
`made available to subscriber machines. And,
`
`2) collects themodification date of each file listed and creates a statfile. * By convention, the
`name of the statfile is created by combining the subscription list’s file name and the-
`librarian’s machine name. In this case, the statfilc 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 page statfile(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 timelalso 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 librarian’s statfile.
`2) for each file in the statfile:
`A) see if the file is included in its own subscription list
`B) examine the modification date of its own version of the file.
`request from the librarian,
`those files that are included in the subscription list and have
`newer modification dates. During the copying process, the subscriber innst be careful to
`reset the date of last modification on the new local copies.+
`It should be noted that we have not described how subscribers and librarians 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 how files are to be tracked.
`
`A subscription list consists of a series of entries. Each entry consists of 6 fields. All fields,
`except the last, are terminated by a colon. The last 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 more precise, the second field contains the file
`name to be used on