`
`by
`
`Kuo-Sheng Hsiao
`
`A Thesis Submitted to the Faculty of the
`
`DEPAPTMENT OF ELECTRICAL AND COMPUTER ENGINEERING
`
`the Requirements
`In Partial Fulfillment of
`for the Degree of
`
`MASTER OF SCIENCE
`
`In the Graduate College
`
`THE UNIVERSITY OF ARIZONA
`
`19 8 4
`
`Copyright 1984 Kuo-Sheneg Hsiao
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 1
`Page 1
`
`
`
`STATEMENT BY AUTHOR
`
`submitted in partial
`been
`has
`This thesis
`fulfillment of requirements for an advanced degree at
`The University of Arizona
`and is deposited
`in
`the
`University Library to be made available to borrowers
`under
`the rules of the Library.
`
`are
`thesis
`this
`from
`Brief quotaticns
`that
`yrovided
`allowable without special permission,
`accurate acknowlegement of source is made.
`Recuest
`for
`permission
`for
`extended quotation
`from
`or
`reproduction of
`this manuscript
`in whcle or in part
`may be granted by the copyright holder.
`
`SISNED:
`
`Keo Dhosg BEL,gan
`
`,
`
`APPROVAL BY THESIS DIRECTOR
`
`This thesis has been approved on the date shown below:
`
`
`RALPH MARTINEZ
`of
`Associate Professor
`
`Electrical and Computer Engineering
`
`VYAOEYS
`Date
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 2
`Page 2
`
`
`
`© 1984
`
`KUO-SHENG HSIAO
`
`All Rights Reserved
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 3
`Page 3
`
`
`
`ACKNOWLEGEMENTS
`
`The author wishes to express his appreciation to
`
`his advisor and committee Chairman, Lr. halph Martinez,
`
`for his guidance and professionel assistance throughout
`
`this
`
`thesis.
`
`The
`
`author would
`
`alsc
`
`like tc
`
`thank
`
`the
`
`other
`
`committee members, Ir. Fredrick J. Hill and
`
`Dr. Robert Swanson, for their suggestions.
`
`Special
`
`thanxs are
`
`due to Mr. Hugh Bynum ened
`
`Mr. Rajiv Thingra
`
`of
`
`the Intel Corporation
`
`for
`
`their
`
`assistance in developing network software.
`
`The author would like to thank his father,
`
`his
`
`wife and children, for their supdort and ebLcouragement.
`
`This work is dedicated to them.
`
`iii
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 4
`Page 4
`
`
`
`TABLE OF CONTENTS
`
`LIST OF ILLUSTRATIONS. ccc cee ere emer cee rene sece eemeoeeve vii
`
`ABSTRACT. ce cc cere encode erence ere caectene eenrevese eeeeve viii
`
`1
`
`INTRODUCTION, ccc cc nc ccc s rece cer ener vccscessseveseed
`
`LoL
`
`APPTOACNe ceca erscvcce ne vececsecvesesvsesevsesd
`1.1.1 Bthernet.cccccccsccccscccsvsevsecss wena’
`1.1.2 PEP-11 and LSI-11 NoGes.cccsccosesevsvnlt
`1.1.3 {APXBR Family. cnc csccccccessecererccseed
`
`LOCAL AREA NETWORK SYSTEM STRUCTURE... cceeseseee el
`
`Zel Logical Structure. .svccsscccccccceneecvesvedi
`2ol.1 BtHeErMet. cccccsccccsncccssccceesscvece 14
`2.1.2 NIIGIC, NI2Z01@, and iSECSSL.. cee eee eeedd
`2.1.3 REMOTE ROOTSTRAP and ROOT LOADER...... 17
`2.2 Software Residency. .coccevervccccssseevvesesld
`€.2.1
`NI1@1@, N1201@ and LSI-11, PDF-11
`Familyscccccccccccccccrssecseccreesesele
`Z.c.e iSBC55@ and ISFC365/30..... eee cece rere eel
`
`FUNCTIONAL LESCRIPTION. wee wc cen ccccccvessseerses sce
`
`3.1 Overall Block Diapram se ccccneccsccvccseceesece
`3.2
`Programming InterfaceOsccreccvccccescersees 00 k4
`Belot NI1WZ1Y and NIZO1P cc cencncsccesecesece skh
`Belek ASBCHDB ccc c ec ccc rence ere ran neces ccsnsrcl
`3.3 Functional Operations. cscecsvescrvccvcereverdt
`3.G.1 NI1GIG and NIZLID. c.ccrecvevveccversne vk
`SZ AUSBCHSD . cc creer evn crv osensvsceveseeesesdd
`3 REMOTE BOOTSTRAP and BOOT LOADEK
`ROULINES ccc s cease cccveceresensasessee edd
`04 CONNECTIVITY. cc we cer cece seer eect er cees 38
`5 Flow Control cceseccsvccccescescvesssee edd
`BS Error Control.crccsevccsrscvecvecccece4l
`
`EXAMPLE APPLICATION PROGRAMS .....-+e0 ccc e cess eke
`
`REMOTE PROCESS Exarples..... acces eee r ene e ects
`4.1
`4.2 MACKO-11 Examples eeoeen#ees oo @espeeeseeeveee @eeeseeesesn8a 243
`4.3
`PL/M-85 Examples....... eee ene eae cece ene 00 45
`
`iv
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 5
`Page 5
`
`
`
`Page
`
`5
`
`CONCLUSION... wwe cc ccc rc ccc ccc etn wn ncccv ese n eee set
`
`5.1 Advantages and Disadvantages... ccececseccnnset?
`5.1.1 Simplicity, Cost, and Expardibility....47
`5.1.2 Media Access Frotocols.....cceeerenees 0 48
`5.2 Potential Application AreaS.sosssccesscseeers4d
`5.2.1 Automatic Test Equipment.....seereee es 49
`5.2.2 Laboratory AUtOMatiON.. cc cre ccecescee ee Dd
`5.2.3 Factory Automation... sccccsenevecssenee id
`
`APPENDIX As
`
`NI1@1@ AND NI2@1@ COMMAND FUNCTION CODE....52
`
`AFPENDIX Bz
`
`NI1@1@ AND NI2@1@ COMMAND STATUS CODE......54
`
`APPENDIX C:
`
`COMMAND REQUEST BLOCKS FOR iSEC55S@
`CONTROLLER 2c cc wwe wee cc acces eres c esses e esas
`
`AFPENDIX D:
`
`BOOT LOADER LOGICAL DIAGRAM... cco ce eee ee ewe 58
`
`APPENDIX E:
`
`REMOTE BOOTSTRAP LOGICAL DIATRAM...........68
`
`APPENDIX F:
`
`REMOTE BOOTSTRAP PSEUDO CODE... ...2.ee0e Ol
`
`APPENDIX Gs
`
`BOCT LOADER PSEUDO COLE . ccc wc cc nce cence nee 0d
`
`APPENDIX H:
`
`EXAMPLE MAP FILE (PRE-11/44)...0ccecee eee 66
`
`APPENDIX I:
`
`EXAMPLE REMOTE PROCESS (FORTRAN). .0..00002067
`
`AFPENDIX
`
`J:
`
`EXAMPLE REMOTE PROCESS (FPL/M-86)..........-58
`
`APPENDIX K:
`
`EXAMPLE BOOT LOADER (MACRO-11)............-69
`
`APPENDIX L:
`
`EXAMPLE REMOTE BOOTSTRAP (MACHO-11)........74
`
`APPENDIX M:
`
`EXAMPLE MIP USED FOR THIS PROCJECT..........78
`
`APPENDIX N:
`
`CONTRCLLERSINIT EXAMFLE FROGRAM............87
`
`APPENDIX O:
`
`PL/M-86 EXAMPLE BOOT LOADER PROGRAM
`
`BOOT LOADER Definitions File... ecevccceesveeedl
`O.1
`0.2 Library Routines for BOOT LOADER. ......00500-298
`0.3
`BOOT LOADER Example Program... .scassesssccer sd?
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 6
`Page 6
`
`
`
`vi
`
`APPENDIX Ps
`
`PL/M-86 EXAMPLE BOOTSTRAP PROGRAM
`
`REMOTE BOOTSTRAP Definitions File...........182
`F.1
`P.2 Library Routines for REMOTE BOOTSTRAP....... 164
`P.3
`REMOTE BOOTSTRAP Example Program...c.csrccees 197
`
`LIST OF REFERENCES 2 cc on nce rev ensn re secssesesesesesenees led
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 7
`Page 7
`
`
`
`LIST OF ILLUSTRATIONS
`
`Page
`
`Outline of SMART NODE... cece ce cee we eee eed
`
`Outline of REMOTE NODE... .. 2. ec cee ee eee eee eed
`
`LAN TOPOLlLOSIES. cc wccrvenvcnsccesansecocesvesl
`
`Typical LAN Configuration..... cas cnansneeeedd
`
`Ethernet LAN in CERL. cc. ee cece ewe ce ee eee eG
`
`OSI Reference Mode]... weer eee ccccccccceeedec
`
`Frame Encapsulation... .cccessvcvesesvvecesseleé
`
`LAN Protocol kesources..... secre ev ereceere eld
`
`Ethernet Architecture Layering. .ccscesseee eld
`
`Typical Message Frame Format cn
`Ethernet LANe cece ccvcvcnvcvceveseceesceeerelG
`
`Implementaticn of N1101%9 and NI2@1¢........1€
`
`Implementation of
`
`iSFCESO..... eee eee ee 1G
`
`PDP-i11 and LSI-11 BOOTSTRAP Residency......19
`
`ROOTSTRAP Residency (iSPCE&S/3G).......6..--21
`
`BOOT LOADER hesidency (MDS). ..cc ee ce eee eee eel
`
`BOOTSTRAP Overall Logical Diagram.......2.220
`
`Command and Status REBZisSter.... cece w ee eee el
`
`Transmit Frame Format
`
`(NI1@1@ ani NI2010)..28
`
`Receive Frame Format
`
`(N11¢1@ and NI2910)...28
`
`General Format of Command Request Plock....3@
`
`Major Components of BOOT LOALER and
`REMOTE BOOTSTRAP... ewe eee ccccccsecec ccc edht
`
`vii
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 8
`Page 8
`
`
`
`ABSTRACT
`
`Downloading the executable module is normally dore
`
`with a loosely coupled distributed computer system.
`
`This
`
`thesis
`
`investigates
`
`the
`
`technique
`
`to
`
`download
`
`an
`
`executable mcdule from a smart node over an
`
`LAN physical
`
`channel
`
`to a
`
`remote
`
`node and to
`
`execute the
`
`executable
`
`module on the remote node.
`
`Two approaches
`
`have
`
`beén
`
`successfully achieved
`
`within this thesis.
`
`One
`
`is
`
`to
`
`develop
`
`the executable
`
`module on the PPP-11/44 computer
`
`and
`
`then download
`
`the
`
`module through the Ethernet
`
`LAN to the LSI-11/23 computer
`
`and to
`
`execute
`
`the module
`
`on
`
`the LSI-11/23 computer.
`
`Another one is to download the executable mcdule from the
`
`Intel Series IV Microcomputer Development
`
`System through
`
`the Fthernet LAN to the iSBC86/32
`
`single
`
`board computer
`
`and to execute the module on the single board computer.
`
`Potential
`
`applicaiton areas
`
`of
`
`this
`
`technique
`
`are like Automatic Test Equipment, Laboratory Automation,
`
`and Factory Automation.
`
`villi
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 9
`Page 9
`
`
`
`CHAFTER
`
`1
`
`INTRODUCTION
`
`The development of electronic
`
`computers and the
`
`experience gained with
`
`the@ir
`
`applications in @concmic,
`
`scientific, industrial, and technical areas have revealed
`
`that it is both necessary ard efficient to employ remote
`
`data access (over daté transmission channels) and remote
`
`output of the results.
`
`The experience upon géceraphically
`
`widely distributed computer systers shows the necessity of
`
`Switching from centralized computer
`
`systers to networks
`
`that make all programs, data and cther r@sources available
`
`to any node on the network regariless geographic location
`
`of the rescurces and the users.
`
`Cver
`
`the
`
`last
`
`decade,
`
`there
`
`has
`
`been
`
`vigorous
`
`development on
`
`computer
`
`networks
`
`for
`
`data
`
`bases
`
`and
`
`information retrieval services.
`
`In any corputer network
`
`there exists a collection of machines intended for running
`
`user
`
`programs.
`
`Normally,
`
`a
`
`computer
`
`on
`
`the
`
`network
`
`contains a resident bootstrap whica will
`
`loedi
`
`a permanent
`
`program from mass storage devices ontc its memory.
`
`The
`
`permanent prograr may
`
`have
`
`the form of a monitor,
`
`an
`
`interpreter or
`
`an operating system thkrouzh which
`
`local
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 10
`Page 10
`
`
`
`user programs can be processed.
`
`Let
`
`us
`
`define
`
`such a
`
`computer, which has a
`
`terminal, I/0 devices, mass storage
`
`devices and/or intelligence with it, on the network as a
`
`"SMART NODE”
`
`(See Figure 1.1), for example, VAX,
`
`IBM/PC,
`
`IBM/4341,
`
`INTEL 86/330,
`
`INTEL 86/389, etc.
`
`A station, which has data acquisition and
`
`data
`
`display equipment, on the network ney have no mass storage
`
`device with it so that human resources can not develop
`
`executable program on it.
`
`Let us elso define
`
`suck
`
`a
`
`station on the network as “REMOTE NODE”, for exarple,
`
`{SBC86/32,
`
`iSECZ86/18, Micro VAX, etc.
`
`This paper
`
`investigates the technique to download
`
`a
`
`task (or process) from a
`
`SMART
`
`NODE to
`
`a particular
`
`REMOTE NODE, which has the same type of CPU as the SMART
`
`NODE
`
`host
`
`CPU, Tanenbum (1982),
`
`and
`
`to
`
`process.
`
`the
`
`downloaded task (or process) at
`
`the REMOTE NOD® by usine
`
`the network bootstrap.
`
`Here we define such
`
`a
`
`task
`
`or
`
`process
`
`to
`
`be
`
`downloaded and processed at
`
`the
`
`REMOTE
`
`NOP® as
`
`"REMOTE
`
`PROCESS”
`
`(See Figure 1.2).
`
`The task running on the REMOTE NODE for receiving
`
`and executing the
`
`REMOTE
`
`PROCESS is defined as
`
`“REMOTE
`
`BOOTSTRAP”.
`
`The task that runs on
`
`the
`
`SMART
`
`NODE
`
`for
`
`downloading REMOTE PROCESS is denoted by “BOOT LOALER"™.
`
`The later part of this Chapter willintroduce
`
`existing commercially available LANs (Iocal Area Networks)
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 11
`Page 11
`
`
`
`Execution
`
`
`
`
`
` System
`. Operatino
`Storage
`|| User Frogram
`
`
`
`
`
`Network Interface
`
`Figure 1.1 Outline of SMART NODE
`
`MEMORY
`
`
`Data
`Tate
`
`Bisplay
`Acquisition
`User Program
`
`
`
`Equipmest
`Fqui pment
`
`
`
`
`
`
`
`
`Network
`Interface
`
`Figure 1.2 Outline cf REMOTE NODE
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 12
`Page 12
`
`
`
`and explain why we select
`
`the Ethernet LAN for our study
`
`approach.
`
`Chapter 2 describes the modular layering concept
`of computer networks protocols by referencing the OSI
`
`(Open
`
`System Interconnection)
`
`keference Model
`
`and
`
`describes
`
`the
`
`implemertations
`
`of
`
`verdor
`
`supplied
`
`hardware/software
`
`network
`
`interfaces,
`
`the
`
`roles
`
`and
`
`residency of
`
`the ROOT LOADER and the REMOTE BOOTSTRAP in
`
`the overall network architecture.
`
`Chapter 3 describes the cverall
`
`loric diavrar cof
`
`both SMART NOTE ani REMOT® NOD,
`
`the detailed functional
`
`operations of each vendor supplied hardware/software
`
`network interface,
`
`the programming interface of each
`
`venior supplied network interface. Also described in
`
`Chapter 3 are the
`
`proc@dural
`
`descriptions
`
`and
`
`logical
`
`interconnection of BOOT LOATER and REMOTE FOCTSTRAF with
`
`network interface,
`
`the
`
`required
`
`network
`
`connectivity
`
`control,
`
`flow control, and error control.
`
`The design methodclogy and demonstrations of two
`
`implementations
`
`of
`
`both
`
`BOOT
`
`LOADER
`
`and
`
`REMOTE
`
`BOOTSTRAP, written in MACKO-11 and PL/M-85 respectively,
`
`are described in Chapter 4.
`
`Chapter 5 describes the advantages, disadvantages,
`
`and several potential applications of this successfully
`
`demonstrated download technique.
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 13
`Page 13
`
`
`
`1.1) Approach
`
`The LANs
`
`(Local Area Networks) can be classified
`
`into two types, Baseband and Broadband.
`
`The Baseband type
`
`LAN uses a single digital frenquency as the transmission
`
`carrier with a data rate of 10-20 mbps depending on the
`
`type of transciever used, while the Broadband type uses
`
`an RF (Redio Frequency) signal as the transmission carrier
`
`with multiple RF channels in the 382-490 MEz bandwidth and
`
`a 2-5 mbps data rate on @ach channel.
`
`The goal of the
`
`topology desien is to achieve a
`
`specific performance at a minimal
`
`cost.
`
`As
`
`shown
`
`in
`
`Figure 1.3,
`
`two
`
`topologies are practically applied for
`
`LANs’ installation. With the Hierarchial Tree topology,
`
`the higher
`
`PEs
`
`perform control
`
`functions while lower
`
`PEs perform specialized functions.
`
`PE failures higher up
`
`in the tree become very serious tc the LAN. With a Global
`
`Bus topology, each PE is multidropped to the global bus,
`
`and failure of one Pi does not affect LAN’s performance.
`
`Figure 1.4 shows the typical LAN’s configuration.
`
`In recent years, @ wide variety of
`
`LANs
`
`from
`
`different vendors running under different envircnments
`
`have been developei.
`
`These include systems such as
`
`Omninet
`
`(Corvus Systems), Net/One
`
`(Ungermann—Bass),
`
`Cluster/One (Nestar Systems), Ringnet
`
`(Prime Computers),
`
`Wanenet
`
`(Wang Laboraries), Domain (Appollo Computers),
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 14
`Page 14
`
`
`
`AX
`
`GLOBAL BUS
`
`SIERKACEIAL TREE
`
`Figure 1.3
`
`LAN Topologies
`
`ENILAAAL COVEMICAT ONS
`
`sara
`
`to One Us
`
`Figure 1.4 Typicel LAN Configuration
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 15
`Page 15
`
`
`
`Token/Net
`
`(Concord Data Systems), Localnet (Sytek), and
`
`Ethernet
`
`(Dec, Intel, and Xerox).
`
`These commercially
`
`available LANS provide the users with the ability to
`
`access remote programs, access remote deta bases, and add
`
`communication facilities.
`
`1.1.1 Ethernet
`
`The above mentioned Fthernet
`
`is
`
`a
`
`baseband,
`
`datagram LAN providing
`
`a
`
`communication
`
`facility for
`
`high-speed
`
`(18 mbps)
`
`data
`
`exchange
`
`among computers,
`
`located within 2.5 kilometers of each other,
`
`over one
`
`5@ chm coaxial cable, Ethernet
`
`(1982).
`
`The connection
`
`of computers to the Ethernet
`
`LAN
`
`forms a Global Bus
`
`topology
`
`(Refer to Figure 1.3)
`
`so
`
`that
`
`one
`
`station
`
`failure will
`
`not
`
`affect
`
`the
`
`performance
`
`of
`
`the LAN.
`
`Also because it
`
`is medium cost and medium performance,
`
`one Ethernet LAN
`
`has been installed in
`
`CFRL (Computer
`
`Engineering Research
`
`lLaborary)
`
`for research purpose,
`
`and will be used for our study apvroach.
`
`1.1.2 PPF-11 and LSI-11 Nedes
`
`The NI1912
`
`UNIBUS
`
`Ethernet Communications
`
`Controller and the NI2#1®@ CBUS Ethernet Communications
`
`Controller,
`
`implemented by Interlan Corporation, contain
`
`all
`
`the data
`
`communications
`
`logic
`
`regjuirei
`
`for
`
`interfacing DFC’s (Digital Equipment Corporation) family
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 16
`Page 16
`
`
`
`of LSI-11 and QBUS PDF-11 computers to an Ethernet LAN.
`
`One PDF-11/44 minicomputer with
`
`an NI221@ Ethernet
`
`Cortroller and an LSI-11/23 minicomputer with en NI1910
`
`Ethernet Controller have been connected to the Ethernet
`
`LAN in CERL.
`
`Although
`
`NI1012
`
`and
`
`NIZ@1@ communications
`
`controllers are completely compatible with the Ethernet LAN
`
`so that either LSI-11/23 or PDP-11/44 node may talk with
`
`any other nodes on Ethernet LAN,
`
`they are treated as a pair
`
`of nodes for our special purpose,
`
`discussed in Sec. 1.1,
`
`because they have same type of host CPU.
`
`Any one of them
`
`will perform as the
`
`SMART
`
`NOTE while the other
`
`one
`
`is
`
`the simulated REMOTE NOTE.
`
`1.1.3 iAPX85 Family
`
`Another
`
`Ethernet
`
`Communications
`
`Controller
`
`implemented by Intel (Intel Corporation),
`
`iSEC55@, provides
`
`the data
`
`communications
`
`logic
`
`required
`
`for
`
`interfacing
`
`Multibus Systems to an Ethernet LAN. Another pair of nodes
`
`for
`
`our
`
`rese@arch
`
`purposes
`
`is
`
`cne
`
`o*
`
`Intel “s
`
`MES
`
`(Microprocessor Development Syster Intellec Series IV) and
`
`one Single Board Computer
`
`iSBCSE/350.
`
`Each has been
`
`connected with an iSBC552 Communications Controller to the
`
`Ethernet LAN in CERI recently. Unlike the FIF-11/44 and
`
`LSI-11/23 case,
`
`the MDS, which has mass storage ecevices
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 17
`Page 17
`
`
`
`and several I/0 connections, will play the role of
`
`the
`
`SMART
`
`NODE while
`
`iSBC8S5/8¢@, which
`
`has
`
`no
`
`storage
`
`periphrals, will play as the
`
`REMOTE
`
`NODE
`
`(Refer
`
`to
`
`Figure 1.56).
`
`The program of the kEMOTE PROCESS will be created
`
`at the
`
`SMART NODF.
`
`The executable module of the REMOTE
`
`PROCESS will be
`
`developed at
`
`the
`
`SMAET
`
`NODE
`
`and
`
`be
`
`downloaded from the
`
`SMART
`
`NODE to the
`
`REMOTE NOLE for
`
`execution at
`
`the REMOTS NODE,
`
`REMOTE NOPE
`
`SMART NODE
`
`i$ BC55¢
`
`1S BC86/50
`
`Figure 1.5 Fthernet LAN in CEFPL
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 18
`Page 18
`
`
`
`CHAPTER
`
`2
`
`LOCAL AREA NETWORK SYSTEM STROCTURE
`
`A hetercgeneécus computer local area network can
`
`consists of a wide veriety of machines which process
`
`different
`
`tasks
`
`under particular
`
`environments
`
`by
`
`employing different processors.
`
`In order to reduce
`
`design complexity, modern computer TANs are designed in
`
`a highly structured way. Most LANS are orsanized using
`
`a modular leyering concept which provides an integrated
`
`systems approach by decomposing larze complex tasks into
`
`smaller, more manazable, modular layers.
`
`Bach
`
`layer
`
`performs a set of well-definec
`
`furctions,
`
`and
`
`hes
`
`a4
`
`well-defined set of higher
`
`and lewerlayer irterfaces.
`
`Therefore,
`
`to one end of
`
`the communication channel, each
`
`layer except
`
`the lowest
`
`layer performs a peer protocol
`
`operation with the protocol corresponding layer on the
`
`other end.
`
`As
`
`a
`
`first
`
`st®p
`
`toward
`
`the
`
`international
`
`Standardization of
`
`the
`
`various
`
`networg protocols,
`
`ISO (International Standard Organizatior) has proposed the
`
`seven-layer Reference Model of Open System Interconnectior
`
`(OSI), Zimmermann (1982).
`
`12
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 19
`Page 19
`
`
`
`11
`
`Refering to the OSI Reference Model
`
`in Figure
`
`2.1, when transmitting,
`
`the user process
`
`(Application
`
`Layer) passes information to
`
`layer §,
`
`then
`
`each
`
`layer
`
`encapsulates the information by appending its frame header
`
`to the information and passes the encapsulted frame to the
`
`rext
`
`lower
`
`ley*®r all the way down to the Physical Layer.
`
`When receiving,
`
`the Physical Layer receives the packet
`
`from the network,
`
`then Gach layer decapsultes the packet
`
`by peeling off its frame
`
`header
`
`from the
`
`packet
`
`and
`
`pesses
`
`the decapsulted
`
`frame
`
`to the next higher layer
`
`all
`
`the way up to the Application Layer
`
`(User Process)
`
`(See Figure 2.2).
`
`The OSI Reference Model will be used
`
`as the basis for discussion of pretocols in the Ethernet
`
`examples.
`
`2.1 Logical Structure
`
`As
`
`shown in Figure 2.3,
`
`the LAN vendors supply
`
`the implementation of
`
`lower layers of
`
`the OSI Reference
`
`Model so that
`
`the
`
`LAN users
`
`car
`
`develop
`
`their
`
`own
`
`software for implementing higher layers.
`
`The Ethernet Data Link Layer and Physical Layer
`
`Specifications, specified by Xerox and jointly supported
`
`by Dec,
`
`Intel,
`
`and Xerox,
`
`is logically structured and
`
`complies with the Data Link Layer and Physical Layer of
`
`the OSI Reference Moiel
`
`(See Figure 2.4).
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 20
`Page 20
`
`
`
`12
`
`HOST
`
`A
`
`VIRTUAL LINKS
`
`HOST
`
`B
`
`APPLICATION
`LAYER
`(7)
`
`PRESENTATION
`LAYER
`(6)
`
`SESSION
`LAYER (5)
`
`TRANSPORT
`LAYFR (4)
`
`NETWORK
`LATER (3)
`
`DATA LINK
`LAYER (2)
`
`FEYSICAL
`LAYER (1)
`
`PEER PROTOCOL
`
`PEER PROTOCOL
`
`"PEER PROTOCOL
`
`PEER PROTOCOL
`
`PEER PROTOCCL
`
`PEER PROTOCOL
`
`PEER PROTOCOL
`
`APPLICATION
`LAYER
`(7)
`
`PRESENTATION
`LAYER
`(6)
`
`SESSION
`LAYER (5)
`
`TRANSPORT
`LAYER (5)
`
`NETWORK
`LAYER (3)
`
`DATA LINK
`LAYER (2)
`
`PHYSICAL
`LAYER (1)
`
`PHYSICAL TRANSMISSION MELIA
`
`Figure 2.1
`
`OSI Reference Model
`
`
`
`PACKET TRANSMITTED ON TEE MEDIA
`
`Figure 2.2
`
`Frame Encapsulation
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 21
`Page 21
`
`
`
`13
`
`APPLICATION
`
`PRESENTATION
`
`LAYER (7)
`
`LAYER (6)
`
`
`
`|SESSION|DEVELOPED LAYER (5)
`
`SOFTWARE
`
`BY
`
`TRANSPORT
`
`LAYER (4)
`
`LAN
`
`USER
`
`a-------
`
`NETWORK
`
`--------~~--|-----------| LayzR (3)
`
`|-------
`
`PHYSICAL
`
`HARDWARE/ SOFTWARE
`LEVELOPED
`BY
`LAN VENPORS
`
`LAYER (2)
`
`LAYER (1)
`
`PHYSICAL TRANSMISSION MEDIA
`
`Figure 2.3 LAN Protocol Resources
`
`CLIFNT LAYER (EIGEER LAYERS)
`
`TATA LINK
`INTERFACE
`
`TRANSMIT DATA
`ENCAPSULTAION
`
`CHANNEL ACCESS
`
`TRANSMIT LINK
`MANAGEMENT
`
`LINK
`RECEIVE
`MANAGEMENT
`
`PHYSICAL
`INTERFACE
`
`DATA
`RECrIVE
`DECODING
`
`RECEIVE
`
`Figure 2.4 Ethernet Architecture Layering
`
`-
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 22
`Page 22
`
`
`
`14
`
`2.1.1 Ethernet
`
`The Ethernet Data Link Layer supports the two main
`
`functions generally asscciated with a data link control
`
`procedure és follows:
`
`1. Tata Encapsulation /Decapsulation:
`
`- Framing
`
`(variable
`
`frame
`
`size
`
`boundary
`
`delimitation)
`
`- Addressing (handling of aource ani destination
`
`addresses)
`
`- Error Detection (detection of physical channel
`
`transmission errors)
`
`2. Link Management:
`
`- Channel Allocation (collision avoidance?
`
`- Contention Kesolutior
`
`(CSMA/CD collision
`
`handling scheme)
`
`The Ethernet Physical Layer
`
`is
`
`capable
`
`of
`
`exchanging
`
`data
`
`over
`
`a
`
`coaxial
`
`céeble,
`
`enabling
`
`ccormubication between tne resvective staticns at
`
`the Lata
`
`Link Layer and higher layers of the CSI Reference Mciel.
`
`It supports the two main functions generally associated
`
`with physical channel control:
`
`1. Tata Encoding:
`
`- Preamble Generation/Removal (for synchronization)
`
`- Bit Fncoding/Decoding (between binary and phase-
`
`encoded fern)
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 23
`Page 23
`
`
`
`15
`
`2. Channel Access:
`
`~ Bit Transmission/Reception (of encoded data)
`
`- Carrier Sense (indicating traffic on the chantel)
`
`- Collision Detection (indicating contention on the
`
`charnel)
`
`The Fhysical Layer transrits the messeges onto the
`
`coaxiel cable ir the typical
`
`frame forrat illustreted in
`
`Figure 2.5.
`
`2.1.2 NI1212, NI2012, and iSFC55u
`
`The NI1012 and NIegle Ethernet Communications
`
`Controllers shown in Figure 2.f,
`
`implemented by Irterlan
`
`Corporation, provide two leyers of the OSI Model,
`
`the
`
`Physical
`
`leyer and tne Data Link layer, NI1@12@ (1982),
`
`NI2@1@ (1982).
`
`In addition to the functiors provided by
`
`the NIi¢i2e and NI2@1¢ Controllers,
`
`the iSBC5&S <thernet
`
`Communications Controller shown in Figure 2.7 performs
`
`pert, but not all, of the Network Layer protccol
`
`(next
`
`higher layer to the Data Link Leyer of
`
`the OSI Reference
`
`Model). There is a MIP (Multibus Interprocessor Protocol)
`
`facility, residing on the iSBC552 Controller Roard,
`
`through which the host computer talks te the Fthernet
`
`LAN Channel by exchanging messages within the shared
`
`memory on é Multi-bus System Bus. MIP actually performs
`
`Network Manavement issues.
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 24
`Page 24
`
`
`
`Letmefsate|iro[res
`
`16
`
`P
`
`DA
`
`SA
`
`Le
`
`°
`
`3
`
`:
`
`Oo:
`
`64 BITS PREAMBLE
`
`DESTINATION ADDRESS
`
`SQUKCE ADDRESS
`
`LINK CONTROL FIELD
`
`INFO .:
`
`DATA PACKET FROM NETWORK LAYER
`
`FCS
`
`FRAME CHECK SEQUENCES
`
`Figure 2.5
`
`Typical Message Frame Format on
`Ethernet LAN
`
`APPLICATION
`
`PRESENTATION
`
`
`
`
`
`
`
`DATA
`LINK
`
`PEYSICAL
`
`SESSION
`
`TRANSPORT
`
`NETWORK
`
`
`
`
`
`LSI-11
`HOST
`COMPUTER
`
`CLIENT
`
`
`
`
`NI1012
`
`
`UNIBUS
`
`
`
`
`
`PDP-11
`HOST
`COMPUTER
`
`
`
`CLIENT
`
`LATER
`
`NI291¢
`
`Figure 2.6
`
`Implementation of NI161@ and NI2012@
`
`APPLICATION
`
`
`
`TRANSPORT
`
`NETWORK
`
`PHYSICAL
`
`CLIENT
`
`
`
`MultidusSystemBus
`
`
`
`
` INTEL
`HOST COMPUTER
`
`
`
`[ee41SBC55¢0
`
`
`
`
`Figure 2.7
`
`Implementation of iSBC55@
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 25
`Page 25
`
`
`
`17
`
`2.1.5 REMOTE BOOTSTRAF and BOOT LOATER
`
`According to the OSI Reference Motel,
`
`the
`
`Presentation Layer performs functions that
`
`are
`
`requested
`
`sufficiently often to warrant findirg a
`
`general
`
`solutior
`
`for them, rather than letting each user solve the provdlems.
`
`These functions can often be performed by library routines
`
`célied by the user.
`
`Most user programs io not exchange
`
`random binary bit strings;
`
`they exchange things such as
`
`people’s names, city names, dates, and amounts of money.
`
`The REMOTE PROCESS is the program to be downloaded as a
`
`bit streem of erecutaple code to the REMOTE NODF.
`
`Up to this point,
`
`the only thing the user on the
`
`SMART NODE needs to know is the network address of the
`
`REMOTE PROCESS to downioai, i.e.
`
`the Destination Address
`
`portion cf the Fthernet frame formréet.
`
`Aliso,
`
`the only
`
`thins the REMOTE NODE reeas to krew is that
`
`the received
`
`REMOTS PROCESS is coming from the expectei
`
`SMART
`
`ANOLE,
`
`j.e.
`
`from the expected Source Address,
`
`All
`
`these tasxs
`
`are supposed to be done at
`
`the Network Leyer of the OSI
`
`Reference Model.
`
`For this reason,
`
`the REMOTE BOOTSTRAF
`
`and FOOT LOADER actually perform functions requested by
`
`the Network Layer only.
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 26
`Page 26
`
`
`
`18
`
`2.2 Software Residency
`
`Wether or not
`
`the host computer
`
`is intends to talk
`
`with the network,
`
`the Ethernet Controller performs
`
`diagnostic tests when the host computer powers up, and
`
`then is ready for message traffic.
`
`The way the host
`
`computer talks to the Ethernet Controller differs from one
`
`implementation to another.
`
`The REMOTE BOOTSTRAP and BOOT
`
`ICADER perform the Network Layer only as we discussed in
`
`the preceeding section;
`
`thus the REMOTE EOOTSTRAF software
`
`can be linked and loaded in any area other than the area
`
`occupied by the REMOTE PROCESS or
`
`the Operating System.
`
`2.2.1 NI101@, NI2@1%8 and LSI-11, PDP-11 family
`
`Normally,
`
`the REMOTE NOTE would not have en
`
`operating system, and the bootstrap can be anywhere in
`
`merory.
`
`As we discussed in 1.1.2, we
`
`implement
`
`the REMOTE
`
`BOOTSTRAP with either a PDP-11/44 or an 1$1-11/23, which
`
`has mass storage devices and terminal with it, as the
`
`simulated REMOTE NODE.
`
`For demonstration purposes,
`
`the
`
`LSI-11/23 will be used as a REMOTE NODE. We have to
`
`consider the memory location of the Resident Operating
`
`System and the downloaded REMOTE PROCESS.
`
`For
`
`the
`
`RT@-11 Operating System,
`
`the Resident
`
`Monitor, User Service Routines, Device Handlers, and the
`
`Keyboard Monitor are arranged in the highest memory just
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 27
`Page 27
`
`
`
`19
`
`below the 1/0 page.
`
`The lowest memory (8€d-777 Octal)
`
`is reserved for the Trap Vectors, System Communication
`
`Area, and Interrupt Vectors.
`
`The best place for the
`
`REMOTE BOOTSTRAP is the area just below the Keyboard
`
`Monitor which the user program can not normally reach.
`
`That way the downloaded
`
`KEMOTE FROCESS can be treated
`
`as
`
`a
`
`usual
`
`user
`
`program (Normally starts fror the
`
`address of 1002 octal) (See Figure 2.8).
`
`Address
`(octal)
`177777
`
`158800
`
`1220C¢
`
`12¢¢
`
`777
`@
`
`
`
`Monitor
`Handlers
`User Service Routines
`
`BOOT LOADER/BOOTSTRAP
`
`
`
`
`REMOTE PROCESS
`
`Vectors and Traps
`
`Figure 2.8
`
`PDP-11 and LSI-11 BOOTSTRAP Residency
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 28
`Page 28
`
`
`
`28
`
`z.2.2 iSBC55@ and iSBC86/3@ (See Figure 2.8)
`
`The iSBC86/39, which is a
`
`bare
`
`computer,
`
`is
`
`a
`
`REMOTE NODE.
`
`We may load the
`
`REMOTE
`
`BOOTSTRAP in ary
`
`location other than the area
`
`occupied by
`
`the
`
`downloaded
`
`REMOTE PROCESS. Our approach is to burn an EPROM with the
`absolute executable module of
`the
`REMOTE BOOTSTRAP,
`put
`
`the
`
`EFROM on
`
`iSFC86/3@ board,
`
`thén map the
`
`EPROM in the
`
`lowest ROM memory (FOWOOH) as shown in Figure 2.9.
`
`with
`
`the LOC86 utility on the MDS machine,
`
`INTELD (1982),
`
`the
`
`relocatable module of
`
`the REMOTE PROCESS can be assigned
`
`to a certain memory location, assigned by the user,
`
`to
`
`form an absolute load module of the REMOTE PROCESS.
`
`The loader on the MDS machine always loads the
`
`executable module in the merory area, somewhere around
`
`S@@30H,
`
`just
`
`above
`
`the
`
`iNDXY
`
`operating system which
`
`supports the execution of the program on &£86 or
`
`8888
`
`microprocessors.
`
`Figure ¢€.1¢@ shows the system memory
`
`allocation and BOOT LOADER residency.
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 29
`Page 29
`
`
`
`
`_ St
`
`
`REMOTE BOOTSTRAP
`
`REMOTE PROCESS
`
`Fegeeu
`
`FROECH
`
`1FFFFE
`
`BFFFFE
`
`O2SOOH
`
`+
`
`21
`
`
`
`
`ROM
`
`ON
`BOARD
`
`Figure 2.9
`
`BOOTSTRAP Residency (in iSBC86/30)
`
`AFFFFE
`
`OFFFFH
`
`580008
`
`50G0GE
`
`IEU-2 BGB90H
`
`iSBC@56
`
`RAM
`
`REMOTE PROCESS
`
`BOOT
`
`LOADER
`
`iNDX
`Operating System
`
`CPIO
`
`ICE
`
`Figure 2.18
`
`ROOT LOADER (in MDS)
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 30
`Page 30
`
`
`
`CHAPTER
`
`3
`
`FUNCTIONAL DESCRIPTION
`
`The discussions in chapter 2 showed that both the
`
`REMOTE
`
`BOOTSTRAP
`
`and
`
`the
`
`BOOT
`
`LOADER
`
`perform as
`
`an
`
`interface between a host computer or PE and the Ethernet
`
`Communications Controller.
`
`5.1 Overall Block Diagram
`
`As we have mentioned in Section 1.1.3,
`
`the REMOTE
`
`PROCESS program is created and the executable module
`
`the
`
`REMOTE PROCESS is developed on the host computer
`
`of
`
`at
`
`the SMART NODE.
`
`The BOOT LOADER devides
`
`(disassembles)
`
`the
`
`REMOTE PROCESS code into packets which suit the size
`
`of
`
`the
`
`transmit buffer and sends the
`
`packets one after
`
`another to the network interface.
`
`The packets are then
`
`transmitted to the REMOTE NODE.
`
`After sending out each
`
`packet,
`
`the
`
`BOOT LOADER waits
`
`for
`
`an
`
`acknowledgement
`
`signal
`
`from the REMOTE NODE to make sure that
`
`the packet
`
`has been received by the REMOTE NODE correctly. When the
`
`last
`
`packet of
`
`the
`
`REMOTE
`
`PROCESS
`
`code
`
`is
`
`sent,
`
`an
`
`independant packet
`
`is
`
`constructed with
`
`the
`
`execution
`
`command and entry point of the REMOTE PROCESS to tell the
`
`REMOTE NODE to execute the REMOTE PROCESS.
`
`2e
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 31
`Page 31
`
`
`
`23
`
`The REMOTE BOOTSTRAP receives the packets, which
`
`the
`
`network interface received over
`
`the coaxial
`
`cable,
`
`and
`
`stores (reassembles)
`
`them in
`
`the memory
`
`location
`
`piggybacked on the received packets. After each packet is
`
`received,
`
`the REMOTE BOOTSTRAP sends an acknowledgement,
`
`either positive or negative,
`
`to the
`
`BOOT LOADER to
`
`tell
`
`whether
`
`the packet was
`
`received
`
`correctly.
`
`When
`
`the
`
`packet which ircludes the execution command and the entry
`
`point of the REMOTE FROCESS is received,
`
`the REMOTE NODE
`
`starts executing the
`
`KEMOTE PROCESS by simply jumping to
`
`the entry point of
`
`the REMOTE PROCESS.
`
`Figure 3.1 outlines the role the REMOTE BOOTSTRAP
`
`and BOOT LOALER play in the overall
`
`logical architecture
`
`of the Ethernet LAN.
`
`REMOTE NODF
`
`HOST
`REMOTE PROCESS Execution
`as
`
`u
`
`
`
`SMART
`
`NOTE
`
`HOST
`REMOTE PROCESS Codine
`a\
`
`VY
`
`BOOT LOACER
`REMOTE BOOTSTRAP
`REMOTE PROCESS
`REMOTE PROCESS
`
`Downloading
`Receiving
`
`Ai
`ay}
`
`
`
`INTERFACE
`NETWORK
`
`
`
`NETWORK
`
`INTERFACE
`
`Figure 3.1 Overall Logical Diagram
`
`PMC Exhibit 2088
`PMC Exhibit 2088
`Apple v. PMC
`Apple v. PMC
`IPR2016-00753
`IPR2016-00753
`Page 32
`Page 32
`
`
`
`24
`
`5.2
`
`Programming Interface
`
`INTERLAN and
`
`INTEL
`
`implemented
`
`the
`
`Ethernet
`
`Communications Controller in a quite different way.
`
`In
`
`order
`
`to communic