54
;_ 0." ·l Network 1t!orld.r.g Group Bequest; fo:.' Conment.s : JJ_ Implerrentation of the HOST - HOST Sof'tware Procecures in GorJX) .G. DeIoche , TJeL/\. . 1 Aur;u.st 1969

; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

_ 0

middotl Network 1torldrg Group Bequest fo Conments JJ_

Implerrentation of the HOST - HOST

Software Procecures in GorJX)

G DeIoche TJeL 1 Aurust 1969

l

j

~

TABLE OF CONTElITS

Chapter Pare

1 Introduct ion 3

2 HOSl-I03 Pr ocedur-es 4

421 Generalit ies

22 Connections and Links bullbull bullbull bull bull bull bull bull 5

221 Definitions bull 5

222 Connection types bullbullbullbullbull 6

Message Structure bull bull bull 9

User Pranaactdons 12

12241 List of transactions

112 11 H~ST-EOS7 protocol an d control messages

3 Imp]e~ntation in GORDO 19

3~ 1 Introduction to GORlX) l~

311 GORro file syst em 19

312 GOPJD process 19

32 Software Organization Overview 22

33 Softvrare Description bull bull bull bull 24

331 Data structures 24

3311 Allocation t ables 211

3312 Buffer pages bull bull bull 20

332 Progrm~ 36

33 21 Handler 36

3322 Net-or k 37

1

40

shy

PaCJe- gt)

34 Soft2r~ Pr ocedures

341 Descri ption of SOH~C t ypical sequences

Appe ndi x A

middoti

2

~

1 INlRODUCl I ON

rJhis technical not e concentra t es upon (1) the HOST--Ho)rr pr ocedures

and (2) the implementatlon of t he corresponding pr ograms in GOF-~O (Opcracjne

System of the UCLA HOST)

The first section is closely relat ed to the BBN reports No 1822

and 1763[1J an~ specifles the HOST fun cti ~rs for exchanging rness age~ It

most Iy deals ilith Lmks and connectdons message structure transactions

and control rress2~es

The second section is software or-Iented it explains how the HOST

functlons are implemented and int egrated into GOHiJ Obull It is involved middotrith

data structures progr a-ns buf fer3 interrupt processing etc

[1] Parts of this section are t aken from or referred to those reports

3

J

2 HOS11-I0S1 PROCEDURES

21 Generalities

Tne basic ldea is that several users at a given BOSi should

simultaneously be able to utilize the network by time--sharing its physical

facilites

lhis implies that within each HOSr operating system there must

exist a special prograu that multiplexes outgoing messages from the users

into the network and distributes Lricornlng messages to the appropriate users

e will call this speclaf program the jletJork progr-am

22 Links and Connactions (See fLgure J)

221 Definitions

It is convenient to consider the 1Jel-ork as a black box - a system

whose behavior is known but whose necharrisrrs are not - for coITmuni ca t i ns

me~sages between remote users rather bhan between pairs of HOST computers

(a) I~gical co~~ection~

le define a logical connection as being a conmunication path

linking two users at remote HOSTs

ltlith that concept a user (user pr-ogram) in a HOST computer can

(1) establish several logical connections to any remote HOSl users and (2)

send or receive m3ssaGes over those connections

Connections appear to users as full duplex

One of the purposes of the Neb-lark program is to serve the users

in establishins identifying and maintaining these connections

(b) Logical ljIlilts

Each logical conrpoundction is made of a pair of directional links

one ~or transmitting the other for receiving

Those links called logical links are established by the Ne tviorsc

programs and used by them

Note here that users ClI8 only interested in connections and are

completely unaware of lines Relationships between links and connections

are carried out by the Network program

5

One of the advantages to define a connectLon as a pair of dh--ecshy

tional Jinks is that a HOSl will have the capability to loop hlmse If through

its ll-IP (it opens a connection to himself) lhis featur-e can be useful fo

debugging purposes

Flirther on through this paper we rill not use any more the

attribute logical when referring either to links or- conncct tons

222 Connection types

In order- to reach a high f l exi bi JJt y in utilizing the IJetlorx

there is advantage to classify the connections

Three types of connections are distinguished (a) control conshy

nection (b) pr-Imary connection and (c) auxiliary connection

(a) Control connection

This connection has a special status and is unique between a pafr

of HOST eg if the Hetlorl( includes x HOsr there are at most x s s

control connections issued fro~ one HOST

rlhis connectdonis used by remote Netwcrk programs for passlng

control messages back and forth Control messages are basic to the

estblishmentdeletion of standard ~onnections (See 242)

Note here that this control connectlen is the only connection

which is ignored by the HOsr users

Let us describe nO~T the standard connections

(b) Primary connectLon

These connections connect remote users

A pr-Imary connection

7lt Is unique between a pair- of users ani is the firt to be

6

established

+ Is Irtelctype-likel Le

- ASCII characters are transmitted

- Echos are generated by the r-emote HOST

~he recelving~

HOSTs scan for break characters

- The tr-ansmfsslon rate is s Icw (less them 20 characterssec)

Is mainly used for transmitting control commands eg for log-in into a rerrote HOST oper-atIng system

(c) AUXiliary connection

~hese connections also connect remote users

An aUXiliary cor~ection

Is opened in parallel to a primary connection and is not

unique i e several auxiliary connactdons can be establisted

Is used for transmitting large volumes of data (file oriented) bull

Is useo either for blnary or character trarmtssfon

7

middot

Imiddot I

1- u ) I Q

~ -r

lt1 - gt -

--1

8

bull i t

Ihe HOSl comnorucate lith each other via mssafES A message rnays

vary 1n length up to 8G95 bits (See dcwn be low the structure) ~ Larger

tranmlission must tberltfore be broken Lip by HOST users into a sequence of

such messages

A nessage structure is identified on fieure 2

It includes the follo1ing

(1) A leader (32 bits) Fleasage type SourceDestination HOSI

link number (See BBH report No 1822 pp 13 17)

(2) A marklng (~2 bits when sent by the Sigma ~() for starting a

message text on a word boundary (See BBN report No 1822

pp 17 19)

(3) Ihe message text (I-lax 8015 pits for the Sigma 7) It mostly

consists of user I s text However- it may represent information

for use by the Network prograre (Control messages see 2 112)

(4) A checksum (J6 bits) Its purpose is to check at the HOSr

level the right transmission of a nessage (Changes in bit

pattern or packet traTlsposition packets are defined in BEN

report No 1763 p 13) See down beIow for checksum calculation

(5) A padding for so~vin~ word 1encth mismatch problems (See

BUN report Ho 1822 p 17 19) e Ac far as sottware is conshy

middot cer ned padding is only invoived at message r ecept i on for

delLneatLng mesaage ends (At transmission the hardware takes

care of the paddlng )

9

Q

) Remark

checkstml calculation

The last 16 bits of every message sent by a HOSI is a checksum

This checksum is crmputed on the whole message IncIuctlng clj1~ mDr~dng but

excluding the 32 bit leader and any padding To compute the checksum

L Consider the message to be padded with zeroes to a length of

86110 bits

2 Section the 86 110 bits into six lIIlIO-bit segments SO Sr 85

3 Section each l4Ll0-bit segment S into go 1G-middotbit elerrents

to t 1 t 89middot

l Define a function G) whfch takes two 16-bit elements as

inputs and outputs a 16-bit element This runctton is

defined by

t t = t 0 t if t + t lt 216

m n m n m n

16 + 1 216 t - (plusmnl t = t t - 2 if t + t ~ middot m n m n m n

5 For each 1440-bit segment Sj compute Ci = K(Si) where

K(S) = to t 1 G) ~89

6 Compute C= Co(plusmn) C1 d) cl 0 c2 G)c2 f) c2 ~C2middotmiddotmiddotmiddotmiddot 0)c5

(Netlee that Cl G) Cl is just C1

rot~ted left one bit)

The nu~ber C is the checksu~ The reason the C are rotated by i bits isi

to detect packet transposition

-10

~ ~ ~ ~

b 3 2 l Lgt lt __ __ _---_- ----_ - - - _- --- __--- - _____gt

1 G ) t lt ~ (~ I y )- V (J ~~- _ -_ _ - _ _- - ~ ~ ~ ~ _- - - - - - -- _~ ~ ~- - - ~ _ _- ~ ~--

i

~ ~ ~I I ~ ~ 1

0J

1) crrltmiddotmiddotLJ ~

- vr Mgt (12shy

i 11 _~

II I

01S i

1

(I- I ~

MO~ Q~(C

)

~

- - I I~ -__r - ~

U 11

2 11 USCI 1ransQctiorr ===--shy

From what has been discussed untlI 11c1o2 the Nettorl- appears to a

user as a bunch of connections Let us nOVI explafn h O1 one can make usc of

these connections

First we are going to describe the set of transactio~s that a

user should be able to access for ut lLizlng the connection faciltties

Ihen Ie are going to explain the role of the Network program for

the execution of these transactions Ihis will cover a HOST-HOST protocol

in whfch control messages are exchanged behieen network programs

For- explanatIon purposes those transactIons are represented at

the user level in the for~i of subr-cutIne calls and pararacter-s Hcvever-

this does not imply at all that the implercentation lil1 closely follogt[ this

pattern (He aremcr-e involved here nth the description than the i mpleshy

mentation aspect see chapter 3)

241 Ltst of transactions

Listed beloiI are the descriptions of SUbroutines that could he at

users disposal for creattngbreaking connectIcns and transmittlnr-eceiving

data over them This set of subroutines can be considered as a kind of

interface between the user level and the network progr-am level

OPENPRITmiddot1 (COi rW~GrrD HOSTID RUFFJDDH [021J)

CONiECl1D ConnectLon iccntifiction f

12

HOSlID Remote lIOsr ldentiflcation If

BlJFFADDH Buffer address for Lncomlng messages ~

OPTmiddot Optlons s~ch as message req~tl~daftc~ successful connection

estabLtshnent full e cho (each message is traJ1~nlittcd back

by the r emot e HOSl for checking purpose etc

Remark [ ] means optional

(b) Open auxiliar y cormection

OPENAUX (COi-JHECTID BUFFADDR N [OI1J)

CONNEcrID Connection identification II ie the identification

of the corrtsponding prjj~ connection (First a user

has to open a primary connection)

BUFFJiDDR Same meaning as above

N Nlmlber of auxiliary connections t hat should be opend

OPT Same meaning as above

(c) Trans~tssion over connection

TRANSfl (COlTIillCrID NO BUFFADDR N [OFlJ)

CONNEcrID Connection identification i

NO Connection The primary cormectLon is always refer-red to

as bei ne NO O middotm auxiliary connection number corresponds

to t he order in ~1ich it has been established (TI1e first

auxiliary opened is referred to by NO = 1 the second by

NO = 2 etc )

BUFFJIDDR Buffer addr-ess of the message to be transmitted

N Hessase size (byte numbcr-)

13

OPJ Options such as data type (characters vs vlnary) trac e bit e tc )

(d) Close connecti on

CLOSE ( COHNECIID [N] [NO])

conlEClID Connecti on indcnt ification I

N Numo ershy of connect ions t o be cIosed If Omitted all connectt ons

in use by t he user included the primary l ink are closed

NO In case of N djfferent from zero this numb er- indicates the

auxiJiaYj connecti~1 U to be closed

242 HOST-HOST prot oc~l and control me s ~ 8ges

Ihe HOST-HOST protocol is carried out by the Nebwor k progr ams I t -

mainly involves the execution of the previous transactions (initiated by

( ) USe~3) end covers a HOST- Hosr dialogue

This dialogue fulfills control procedure s f or operring or br-eak l ng

conrle ct i ons and consists in exchanging control messages over the control

linl A control message has a structure identical to that of a regular

nessage it only differs from it by the text vThich is for use by Network

programs instead of user-s

Let us insist that this control procedure i s ccmpIet eIy unreLated

to transmission control procedures implemented in the n1p computers He are

here at the Hosrr level (Network programs) and t herefore control mcsaagcs

that are going to be described beLow ar e transmitted over the Inp like s

regular messases

Consider nov the previous transactdons arid describe for each of

III

explained by Iil8 aTlS of trivia l ex aumpl c s

e suppos e that c HOSl(x) user 1D11ts t o t alk to a remote HOST(y)

progr-am called URSA

The HOsel (x) s Network program waken up (See 33) by a use f or

opening a pr-Imary connection s t ar-t s a dia logue with the HOST (y) s NetlOrk

program

(L) HOST(x) sends t he fo lLovring control message

HOST(x) Control link HOST(y)

EKQ PRITmiddot1 a 1 2

ENQ Enquiry for connection establishment (o ne ASCII character-)

PRIN Cormection type pr-Imar y (one special charact er-)

012 Outgoing link It is a decimal number- (3 ASCII character-s )

eg 1ink 12

This link il has been cle t ernined by t he HOST(x) Net work

program (See Jrnplertentatoon 33Y

(ii) HOSl(y) acknovrIedge s by s ending back the fo110ling cont r ol

messaee

HOST(x) Control 1i nk HOSl(y) ~

ACK ENQ PRIIJi a 1 2 a 1 5

ACK Positive acknowledgment (one ASCI I charact er)

ENQ PKUmiddot1 a 1 2 Same meaning as above IhLs part of t he message is

retlwned for ch~cking purposes

015 Incoirlng liroK II It fo11013 the sa718 pat ter n as the outgofng

Lfnk 1 Tni s 1inlc If has been detcmnind by t he HOai (y ) Network

15

progr~m

Now the connection is establfshed it will use links i12

and 15 101 exchanging user rressages The connection is sald

to be in a prc--Log-dn state ie the remote HOSrr(y) expects

its standard log-in pr-ocedures

By neans of TRANSfI subroutines refcrrin2 to the primary connection

the lIOSrl(x) user is able to s lgn-Jn into the HOS-f(y) oper-ating system and

then to call for the liRSA program (HOST (y) user program)

lhe Network programs at both ends 1ill use the link 12 and 15

for passIng along messages These messages are standard messages whose conshy

tents serve for log in sequence

A trivial exarnple could be

HOSl(x) Prim Link 112 HOST(y)--- -)

S I G N - I N X X

HOST (x ) Prim Linllt 15 HOsr(y)

REA D Y

HOST (x) Prim Link 12 HOST(y)

U R S A

(c) Open an auxiliary connection (OPEHNJXI)

In a very slml Lar manner as (2) an auxiliary connection is estabshy

lished between HOSl(x) and HOSrr(y) For so doing control messages are

exchanged over the control link

IIOSI(x) Control link HOST(y)--gt B~Q middotAUX middot 0 2 5

Hosrr(x) ltf-__~~Tltrol link _ HOSTey) -

ACK FJmiddotrq AUX 0 2 5 0 2 1

16

----

NOVI the auxi lturv connec t ion i s e s t ablished it 1J11 usc Li nks 1 25 and 21

By neans of THljJ~l subroutt ncs r efer-r ins t o the auxlLlary COshy

ne ction the users at both ends can exchange data

HOST (x) Aux Idnk 25 HOSI(y)

X X X X ~

HOST(x) Aux Izlnk 121 HOST(y)lt X X

etc -

(e) Close connectIons (CLOSE)

This i s carried out in a sdmlLar manner as (a) Ihe user calls a

CLOSE subrout i ne and then the Hetwor k pr cgrams at bot h ends exchange

~ontrol messages

HOSl(x) Control Link HOS1(y)-raquo zor 0 0 1middot 0 1 2

End of transmi s sion (one ASCII character-)

001 No of connections to be closed C3 deci mal ASCII characters )

o 1 2 Out gqing link II to be clos ed

lhen HOsr(y) acknowledges bact as in (a)

HOST (x) ~_ _ C_ontrol Link HOST(y)

ACK EOI o o 1 o 1 2 o 1 5

Remark 1 _ In (a) (c) and (e) HOS(y) may answer- back a mes sage includinG

a negative acknowledgnent character I~ Allt instead of ACK Thi s f or

17

many various reasons such as wrong sequence connec tion already

opened and so forth The nes sage could be NJlX nm where Ij~l)

i s an alphanumerdcal character- indLcat ing in a coded Iorrn why

the prcvious bIoclr has been rctuscd Upon receivirg back such

acknowledgmcnt a HOST (x ) ill r epeat its measage until llosrr (y)

accepts it 1m emergency procedur e vii 11 t ake place if too many

successive lNJlX me ss age s occur

Rernark 2 - On each of the above iJlustr2tions (arrows) only the mess ege text

i s represented In fact complete rresseges (wi th Ieader- marklng

pac Id lng ) aregt exch angec d over tnese lJnJcs

18

shy

3 JiIIPIEMENrrA~ION IiI GOEr))

31 Introduction t o GOnDO

Gonro is a time--sharing sy stem implemented on 5 DS Si glla 7 vTe

outline below so~~ of the characteristics rel evan t to our paper

311 G01100 file system

lhe file system is page oriented It is compos ed of files and

directories A file consists of a heading and a number- of pages vhich

compose the body of t he file A director-y consists of a rnmoer of entries

that point to either files or other directoz-Ies

312 GOPro proce ss

A process is a prograll (procedures and data) plus its l ogical environshy

ment In other words a process is a program which is known and controlled

by the GOHDO scheduler

A user (a job) may have several processes as different as ccmpiler

loader eeli tor application pr-ogr-am etc A process is created through

a system call (FORK)

lhe space a pi -ocess can refer to is the Vfr -cual Space of 128k word

length A part (~k) of it is reserved for the operating system the

other part (12mc) is directly accessed by the user This later may fill

or modify its par-t of the virtual sp ace upon couplIng ~ (See be Icw

19

servfce calls) pages taken from clifferomt files Pirule 3 illustrates

this coupling

A process can request for services by ITem1S of sysuetn calls Ihe syatcm

calls rc levant to OLU paper are

vlAKE for atl)aJdng (set active) a sleeping process

SLEEP for putting a~leep another process (or itself)

COUPLE for couplfng a page from the file space to the virtuaJ

space

A process ordinarily runs in slave mode However- if jt is set up as an IO process it can access privileged instructions

Processes cen share data through files attached to rnafI box

directorles

Remark Ihrough thts note the words procecs and program are used inter-middot

changeably

20

-middot----- 2 f

r G

--r

fmiddot -q

IL

Lshy

- _ _ ~ _ _- ~ --- -shy- -_ _- ~ _

kshy---_ - shy _ __

- - r--- _-- shy ---11 ~ L shy ---1

- --shy - i

I I 1

1 __shy

_ -

- -shy --------middot-middot-----middot---middot1~

------------- ---I

i

- bull __ e _ _ bull bull _ - - -__----

rZ J I - --_middot_- ------middotmiddot--1 r =-~ ~=~- I middot

- - - - --- - -- 1 I ______~ _ __j

_ middotmiddot- middot----1 _------_- ~

___

f-) 2shy

- _-

i----- -- - middot-middot middot--- shy ~ - -_ _-------__shyr------shyj - -f ~---- - ----1 I--____----

-

- rmiddot middot~ - 1----- -----1 j

~----------middot1 ( r----------middotshyI --~ middotmiddot --------

c bull I ( I

I T - ~ Cv _ ~ ~__ _~_L _J ~ ~~ ~_ __~ _ _

~

1

32 Software Grgan~ z ation Overvie===--- - - - _ ------ _ -- - - -- -- --

Ffgure 11 illustrates the overall organizatLon

The syntem i s based upon t wo matn pr ogr-ams

Handler- bull

lmiddotne HandIer- is an IO Lnter-rupt r outine closely related to the

]JVlP-HOST hardware interface It serves the Network process in t r ansmi tting

and receivirJg network rre ss~es

The N~tor~( process carries out moat of the work

Its main function is to satisfy the users middot requests for opening

eloslng connectLons and trammittingrecejving network messages bull For so

doi ng

it establfshcs identj_fies and breaks the linl-lts upon llsjnpound the

all ocat i on tables (HCSl CON1mc-f IUPlJl LINK see 33 11 )

i t is aJ28 of the pr-esence of neraquo users upon exploring the net-or mail box directorv

i t comnunicates with active users by means of shared page s through which messages and r equests are exchanged ( connect i on shared pages r

i t formats inconingoutgoiflg ne ss ages in a working page This worklng page has an extension (eme r-gency rine)

it conmunicates with the Handler by means of a shared page (I O shy

cotrmuni cat i on page ) which contains the I O ccmmnlcatton buffers

22

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 2: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

l

j

~

TABLE OF CONTElITS

Chapter Pare

1 Introduct ion 3

2 HOSl-I03 Pr ocedur-es 4

421 Generalit ies

22 Connections and Links bullbull bullbull bull bull bull bull bull 5

221 Definitions bull 5

222 Connection types bullbullbullbullbull 6

Message Structure bull bull bull 9

User Pranaactdons 12

12241 List of transactions

112 11 H~ST-EOS7 protocol an d control messages

3 Imp]e~ntation in GORDO 19

3~ 1 Introduction to GORlX) l~

311 GORro file syst em 19

312 GOPJD process 19

32 Software Organization Overview 22

33 Softvrare Description bull bull bull bull 24

331 Data structures 24

3311 Allocation t ables 211

3312 Buffer pages bull bull bull 20

332 Progrm~ 36

33 21 Handler 36

3322 Net-or k 37

1

40

shy

PaCJe- gt)

34 Soft2r~ Pr ocedures

341 Descri ption of SOH~C t ypical sequences

Appe ndi x A

middoti

2

~

1 INlRODUCl I ON

rJhis technical not e concentra t es upon (1) the HOST--Ho)rr pr ocedures

and (2) the implementatlon of t he corresponding pr ograms in GOF-~O (Opcracjne

System of the UCLA HOST)

The first section is closely relat ed to the BBN reports No 1822

and 1763[1J an~ specifles the HOST fun cti ~rs for exchanging rness age~ It

most Iy deals ilith Lmks and connectdons message structure transactions

and control rress2~es

The second section is software or-Iented it explains how the HOST

functlons are implemented and int egrated into GOHiJ Obull It is involved middotrith

data structures progr a-ns buf fer3 interrupt processing etc

[1] Parts of this section are t aken from or referred to those reports

3

J

2 HOS11-I0S1 PROCEDURES

21 Generalities

Tne basic ldea is that several users at a given BOSi should

simultaneously be able to utilize the network by time--sharing its physical

facilites

lhis implies that within each HOSr operating system there must

exist a special prograu that multiplexes outgoing messages from the users

into the network and distributes Lricornlng messages to the appropriate users

e will call this speclaf program the jletJork progr-am

22 Links and Connactions (See fLgure J)

221 Definitions

It is convenient to consider the 1Jel-ork as a black box - a system

whose behavior is known but whose necharrisrrs are not - for coITmuni ca t i ns

me~sages between remote users rather bhan between pairs of HOST computers

(a) I~gical co~~ection~

le define a logical connection as being a conmunication path

linking two users at remote HOSTs

ltlith that concept a user (user pr-ogram) in a HOST computer can

(1) establish several logical connections to any remote HOSl users and (2)

send or receive m3ssaGes over those connections

Connections appear to users as full duplex

One of the purposes of the Neb-lark program is to serve the users

in establishins identifying and maintaining these connections

(b) Logical ljIlilts

Each logical conrpoundction is made of a pair of directional links

one ~or transmitting the other for receiving

Those links called logical links are established by the Ne tviorsc

programs and used by them

Note here that users ClI8 only interested in connections and are

completely unaware of lines Relationships between links and connections

are carried out by the Network program

5

One of the advantages to define a connectLon as a pair of dh--ecshy

tional Jinks is that a HOSl will have the capability to loop hlmse If through

its ll-IP (it opens a connection to himself) lhis featur-e can be useful fo

debugging purposes

Flirther on through this paper we rill not use any more the

attribute logical when referring either to links or- conncct tons

222 Connection types

In order- to reach a high f l exi bi JJt y in utilizing the IJetlorx

there is advantage to classify the connections

Three types of connections are distinguished (a) control conshy

nection (b) pr-Imary connection and (c) auxiliary connection

(a) Control connection

This connection has a special status and is unique between a pafr

of HOST eg if the Hetlorl( includes x HOsr there are at most x s s

control connections issued fro~ one HOST

rlhis connectdonis used by remote Netwcrk programs for passlng

control messages back and forth Control messages are basic to the

estblishmentdeletion of standard ~onnections (See 242)

Note here that this control connectlen is the only connection

which is ignored by the HOsr users

Let us describe nO~T the standard connections

(b) Primary connectLon

These connections connect remote users

A pr-Imary connection

7lt Is unique between a pair- of users ani is the firt to be

6

established

+ Is Irtelctype-likel Le

- ASCII characters are transmitted

- Echos are generated by the r-emote HOST

~he recelving~

HOSTs scan for break characters

- The tr-ansmfsslon rate is s Icw (less them 20 characterssec)

Is mainly used for transmitting control commands eg for log-in into a rerrote HOST oper-atIng system

(c) AUXiliary connection

~hese connections also connect remote users

An aUXiliary cor~ection

Is opened in parallel to a primary connection and is not

unique i e several auxiliary connactdons can be establisted

Is used for transmitting large volumes of data (file oriented) bull

Is useo either for blnary or character trarmtssfon

7

middot

Imiddot I

1- u ) I Q

~ -r

lt1 - gt -

--1

8

bull i t

Ihe HOSl comnorucate lith each other via mssafES A message rnays

vary 1n length up to 8G95 bits (See dcwn be low the structure) ~ Larger

tranmlission must tberltfore be broken Lip by HOST users into a sequence of

such messages

A nessage structure is identified on fieure 2

It includes the follo1ing

(1) A leader (32 bits) Fleasage type SourceDestination HOSI

link number (See BBH report No 1822 pp 13 17)

(2) A marklng (~2 bits when sent by the Sigma ~() for starting a

message text on a word boundary (See BBN report No 1822

pp 17 19)

(3) Ihe message text (I-lax 8015 pits for the Sigma 7) It mostly

consists of user I s text However- it may represent information

for use by the Network prograre (Control messages see 2 112)

(4) A checksum (J6 bits) Its purpose is to check at the HOSr

level the right transmission of a nessage (Changes in bit

pattern or packet traTlsposition packets are defined in BEN

report No 1763 p 13) See down beIow for checksum calculation

(5) A padding for so~vin~ word 1encth mismatch problems (See

BUN report Ho 1822 p 17 19) e Ac far as sottware is conshy

middot cer ned padding is only invoived at message r ecept i on for

delLneatLng mesaage ends (At transmission the hardware takes

care of the paddlng )

9

Q

) Remark

checkstml calculation

The last 16 bits of every message sent by a HOSI is a checksum

This checksum is crmputed on the whole message IncIuctlng clj1~ mDr~dng but

excluding the 32 bit leader and any padding To compute the checksum

L Consider the message to be padded with zeroes to a length of

86110 bits

2 Section the 86 110 bits into six lIIlIO-bit segments SO Sr 85

3 Section each l4Ll0-bit segment S into go 1G-middotbit elerrents

to t 1 t 89middot

l Define a function G) whfch takes two 16-bit elements as

inputs and outputs a 16-bit element This runctton is

defined by

t t = t 0 t if t + t lt 216

m n m n m n

16 + 1 216 t - (plusmnl t = t t - 2 if t + t ~ middot m n m n m n

5 For each 1440-bit segment Sj compute Ci = K(Si) where

K(S) = to t 1 G) ~89

6 Compute C= Co(plusmn) C1 d) cl 0 c2 G)c2 f) c2 ~C2middotmiddotmiddotmiddotmiddot 0)c5

(Netlee that Cl G) Cl is just C1

rot~ted left one bit)

The nu~ber C is the checksu~ The reason the C are rotated by i bits isi

to detect packet transposition

-10

~ ~ ~ ~

b 3 2 l Lgt lt __ __ _---_- ----_ - - - _- --- __--- - _____gt

1 G ) t lt ~ (~ I y )- V (J ~~- _ -_ _ - _ _- - ~ ~ ~ ~ _- - - - - - -- _~ ~ ~- - - ~ _ _- ~ ~--

i

~ ~ ~I I ~ ~ 1

0J

1) crrltmiddotmiddotLJ ~

- vr Mgt (12shy

i 11 _~

II I

01S i

1

(I- I ~

MO~ Q~(C

)

~

- - I I~ -__r - ~

U 11

2 11 USCI 1ransQctiorr ===--shy

From what has been discussed untlI 11c1o2 the Nettorl- appears to a

user as a bunch of connections Let us nOVI explafn h O1 one can make usc of

these connections

First we are going to describe the set of transactio~s that a

user should be able to access for ut lLizlng the connection faciltties

Ihen Ie are going to explain the role of the Network program for

the execution of these transactions Ihis will cover a HOST-HOST protocol

in whfch control messages are exchanged behieen network programs

For- explanatIon purposes those transactIons are represented at

the user level in the for~i of subr-cutIne calls and pararacter-s Hcvever-

this does not imply at all that the implercentation lil1 closely follogt[ this

pattern (He aremcr-e involved here nth the description than the i mpleshy

mentation aspect see chapter 3)

241 Ltst of transactions

Listed beloiI are the descriptions of SUbroutines that could he at

users disposal for creattngbreaking connectIcns and transmittlnr-eceiving

data over them This set of subroutines can be considered as a kind of

interface between the user level and the network progr-am level

OPENPRITmiddot1 (COi rW~GrrD HOSTID RUFFJDDH [021J)

CONiECl1D ConnectLon iccntifiction f

12

HOSlID Remote lIOsr ldentiflcation If

BlJFFADDH Buffer address for Lncomlng messages ~

OPTmiddot Optlons s~ch as message req~tl~daftc~ successful connection

estabLtshnent full e cho (each message is traJ1~nlittcd back

by the r emot e HOSl for checking purpose etc

Remark [ ] means optional

(b) Open auxiliar y cormection

OPENAUX (COi-JHECTID BUFFADDR N [OI1J)

CONNEcrID Connection identification II ie the identification

of the corrtsponding prjj~ connection (First a user

has to open a primary connection)

BUFFJiDDR Same meaning as above

N Nlmlber of auxiliary connections t hat should be opend

OPT Same meaning as above

(c) Trans~tssion over connection

TRANSfl (COlTIillCrID NO BUFFADDR N [OFlJ)

CONNEcrID Connection identification i

NO Connection The primary cormectLon is always refer-red to

as bei ne NO O middotm auxiliary connection number corresponds

to t he order in ~1ich it has been established (TI1e first

auxiliary opened is referred to by NO = 1 the second by

NO = 2 etc )

BUFFJIDDR Buffer addr-ess of the message to be transmitted

N Hessase size (byte numbcr-)

13

OPJ Options such as data type (characters vs vlnary) trac e bit e tc )

(d) Close connecti on

CLOSE ( COHNECIID [N] [NO])

conlEClID Connecti on indcnt ification I

N Numo ershy of connect ions t o be cIosed If Omitted all connectt ons

in use by t he user included the primary l ink are closed

NO In case of N djfferent from zero this numb er- indicates the

auxiJiaYj connecti~1 U to be closed

242 HOST-HOST prot oc~l and control me s ~ 8ges

Ihe HOST-HOST protocol is carried out by the Nebwor k progr ams I t -

mainly involves the execution of the previous transactions (initiated by

( ) USe~3) end covers a HOST- Hosr dialogue

This dialogue fulfills control procedure s f or operring or br-eak l ng

conrle ct i ons and consists in exchanging control messages over the control

linl A control message has a structure identical to that of a regular

nessage it only differs from it by the text vThich is for use by Network

programs instead of user-s

Let us insist that this control procedure i s ccmpIet eIy unreLated

to transmission control procedures implemented in the n1p computers He are

here at the Hosrr level (Network programs) and t herefore control mcsaagcs

that are going to be described beLow ar e transmitted over the Inp like s

regular messases

Consider nov the previous transactdons arid describe for each of

III

explained by Iil8 aTlS of trivia l ex aumpl c s

e suppos e that c HOSl(x) user 1D11ts t o t alk to a remote HOST(y)

progr-am called URSA

The HOsel (x) s Network program waken up (See 33) by a use f or

opening a pr-Imary connection s t ar-t s a dia logue with the HOST (y) s NetlOrk

program

(L) HOST(x) sends t he fo lLovring control message

HOST(x) Control link HOST(y)

EKQ PRITmiddot1 a 1 2

ENQ Enquiry for connection establishment (o ne ASCII character-)

PRIN Cormection type pr-Imar y (one special charact er-)

012 Outgoing link It is a decimal number- (3 ASCII character-s )

eg 1ink 12

This link il has been cle t ernined by t he HOST(x) Net work

program (See Jrnplertentatoon 33Y

(ii) HOSl(y) acknovrIedge s by s ending back the fo110ling cont r ol

messaee

HOST(x) Control 1i nk HOSl(y) ~

ACK ENQ PRIIJi a 1 2 a 1 5

ACK Positive acknowledgment (one ASCI I charact er)

ENQ PKUmiddot1 a 1 2 Same meaning as above IhLs part of t he message is

retlwned for ch~cking purposes

015 Incoirlng liroK II It fo11013 the sa718 pat ter n as the outgofng

Lfnk 1 Tni s 1inlc If has been detcmnind by t he HOai (y ) Network

15

progr~m

Now the connection is establfshed it will use links i12

and 15 101 exchanging user rressages The connection is sald

to be in a prc--Log-dn state ie the remote HOSrr(y) expects

its standard log-in pr-ocedures

By neans of TRANSfI subroutines refcrrin2 to the primary connection

the lIOSrl(x) user is able to s lgn-Jn into the HOS-f(y) oper-ating system and

then to call for the liRSA program (HOST (y) user program)

lhe Network programs at both ends 1ill use the link 12 and 15

for passIng along messages These messages are standard messages whose conshy

tents serve for log in sequence

A trivial exarnple could be

HOSl(x) Prim Link 112 HOST(y)--- -)

S I G N - I N X X

HOST (x ) Prim Linllt 15 HOsr(y)

REA D Y

HOST (x) Prim Link 12 HOST(y)

U R S A

(c) Open an auxiliary connection (OPEHNJXI)

In a very slml Lar manner as (2) an auxiliary connection is estabshy

lished between HOSl(x) and HOSrr(y) For so doing control messages are

exchanged over the control link

IIOSI(x) Control link HOST(y)--gt B~Q middotAUX middot 0 2 5

Hosrr(x) ltf-__~~Tltrol link _ HOSTey) -

ACK FJmiddotrq AUX 0 2 5 0 2 1

16

----

NOVI the auxi lturv connec t ion i s e s t ablished it 1J11 usc Li nks 1 25 and 21

By neans of THljJ~l subroutt ncs r efer-r ins t o the auxlLlary COshy

ne ction the users at both ends can exchange data

HOST (x) Aux Idnk 25 HOSI(y)

X X X X ~

HOST(x) Aux Izlnk 121 HOST(y)lt X X

etc -

(e) Close connectIons (CLOSE)

This i s carried out in a sdmlLar manner as (a) Ihe user calls a

CLOSE subrout i ne and then the Hetwor k pr cgrams at bot h ends exchange

~ontrol messages

HOSl(x) Control Link HOS1(y)-raquo zor 0 0 1middot 0 1 2

End of transmi s sion (one ASCII character-)

001 No of connections to be closed C3 deci mal ASCII characters )

o 1 2 Out gqing link II to be clos ed

lhen HOsr(y) acknowledges bact as in (a)

HOST (x) ~_ _ C_ontrol Link HOST(y)

ACK EOI o o 1 o 1 2 o 1 5

Remark 1 _ In (a) (c) and (e) HOS(y) may answer- back a mes sage includinG

a negative acknowledgnent character I~ Allt instead of ACK Thi s f or

17

many various reasons such as wrong sequence connec tion already

opened and so forth The nes sage could be NJlX nm where Ij~l)

i s an alphanumerdcal character- indLcat ing in a coded Iorrn why

the prcvious bIoclr has been rctuscd Upon receivirg back such

acknowledgmcnt a HOST (x ) ill r epeat its measage until llosrr (y)

accepts it 1m emergency procedur e vii 11 t ake place if too many

successive lNJlX me ss age s occur

Rernark 2 - On each of the above iJlustr2tions (arrows) only the mess ege text

i s represented In fact complete rresseges (wi th Ieader- marklng

pac Id lng ) aregt exch angec d over tnese lJnJcs

18

shy

3 JiIIPIEMENrrA~ION IiI GOEr))

31 Introduction t o GOnDO

Gonro is a time--sharing sy stem implemented on 5 DS Si glla 7 vTe

outline below so~~ of the characteristics rel evan t to our paper

311 G01100 file system

lhe file system is page oriented It is compos ed of files and

directories A file consists of a heading and a number- of pages vhich

compose the body of t he file A director-y consists of a rnmoer of entries

that point to either files or other directoz-Ies

312 GOPro proce ss

A process is a prograll (procedures and data) plus its l ogical environshy

ment In other words a process is a program which is known and controlled

by the GOHDO scheduler

A user (a job) may have several processes as different as ccmpiler

loader eeli tor application pr-ogr-am etc A process is created through

a system call (FORK)

lhe space a pi -ocess can refer to is the Vfr -cual Space of 128k word

length A part (~k) of it is reserved for the operating system the

other part (12mc) is directly accessed by the user This later may fill

or modify its par-t of the virtual sp ace upon couplIng ~ (See be Icw

19

servfce calls) pages taken from clifferomt files Pirule 3 illustrates

this coupling

A process can request for services by ITem1S of sysuetn calls Ihe syatcm

calls rc levant to OLU paper are

vlAKE for atl)aJdng (set active) a sleeping process

SLEEP for putting a~leep another process (or itself)

COUPLE for couplfng a page from the file space to the virtuaJ

space

A process ordinarily runs in slave mode However- if jt is set up as an IO process it can access privileged instructions

Processes cen share data through files attached to rnafI box

directorles

Remark Ihrough thts note the words procecs and program are used inter-middot

changeably

20

-middot----- 2 f

r G

--r

fmiddot -q

IL

Lshy

- _ _ ~ _ _- ~ --- -shy- -_ _- ~ _

kshy---_ - shy _ __

- - r--- _-- shy ---11 ~ L shy ---1

- --shy - i

I I 1

1 __shy

_ -

- -shy --------middot-middot-----middot---middot1~

------------- ---I

i

- bull __ e _ _ bull bull _ - - -__----

rZ J I - --_middot_- ------middotmiddot--1 r =-~ ~=~- I middot

- - - - --- - -- 1 I ______~ _ __j

_ middotmiddot- middot----1 _------_- ~

___

f-) 2shy

- _-

i----- -- - middot-middot middot--- shy ~ - -_ _-------__shyr------shyj - -f ~---- - ----1 I--____----

-

- rmiddot middot~ - 1----- -----1 j

~----------middot1 ( r----------middotshyI --~ middotmiddot --------

c bull I ( I

I T - ~ Cv _ ~ ~__ _~_L _J ~ ~~ ~_ __~ _ _

~

1

32 Software Grgan~ z ation Overvie===--- - - - _ ------ _ -- - - -- -- --

Ffgure 11 illustrates the overall organizatLon

The syntem i s based upon t wo matn pr ogr-ams

Handler- bull

lmiddotne HandIer- is an IO Lnter-rupt r outine closely related to the

]JVlP-HOST hardware interface It serves the Network process in t r ansmi tting

and receivirJg network rre ss~es

The N~tor~( process carries out moat of the work

Its main function is to satisfy the users middot requests for opening

eloslng connectLons and trammittingrecejving network messages bull For so

doi ng

it establfshcs identj_fies and breaks the linl-lts upon llsjnpound the

all ocat i on tables (HCSl CON1mc-f IUPlJl LINK see 33 11 )

i t is aJ28 of the pr-esence of neraquo users upon exploring the net-or mail box directorv

i t comnunicates with active users by means of shared page s through which messages and r equests are exchanged ( connect i on shared pages r

i t formats inconingoutgoiflg ne ss ages in a working page This worklng page has an extension (eme r-gency rine)

it conmunicates with the Handler by means of a shared page (I O shy

cotrmuni cat i on page ) which contains the I O ccmmnlcatton buffers

22

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 3: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

40

shy

PaCJe- gt)

34 Soft2r~ Pr ocedures

341 Descri ption of SOH~C t ypical sequences

Appe ndi x A

middoti

2

~

1 INlRODUCl I ON

rJhis technical not e concentra t es upon (1) the HOST--Ho)rr pr ocedures

and (2) the implementatlon of t he corresponding pr ograms in GOF-~O (Opcracjne

System of the UCLA HOST)

The first section is closely relat ed to the BBN reports No 1822

and 1763[1J an~ specifles the HOST fun cti ~rs for exchanging rness age~ It

most Iy deals ilith Lmks and connectdons message structure transactions

and control rress2~es

The second section is software or-Iented it explains how the HOST

functlons are implemented and int egrated into GOHiJ Obull It is involved middotrith

data structures progr a-ns buf fer3 interrupt processing etc

[1] Parts of this section are t aken from or referred to those reports

3

J

2 HOS11-I0S1 PROCEDURES

21 Generalities

Tne basic ldea is that several users at a given BOSi should

simultaneously be able to utilize the network by time--sharing its physical

facilites

lhis implies that within each HOSr operating system there must

exist a special prograu that multiplexes outgoing messages from the users

into the network and distributes Lricornlng messages to the appropriate users

e will call this speclaf program the jletJork progr-am

22 Links and Connactions (See fLgure J)

221 Definitions

It is convenient to consider the 1Jel-ork as a black box - a system

whose behavior is known but whose necharrisrrs are not - for coITmuni ca t i ns

me~sages between remote users rather bhan between pairs of HOST computers

(a) I~gical co~~ection~

le define a logical connection as being a conmunication path

linking two users at remote HOSTs

ltlith that concept a user (user pr-ogram) in a HOST computer can

(1) establish several logical connections to any remote HOSl users and (2)

send or receive m3ssaGes over those connections

Connections appear to users as full duplex

One of the purposes of the Neb-lark program is to serve the users

in establishins identifying and maintaining these connections

(b) Logical ljIlilts

Each logical conrpoundction is made of a pair of directional links

one ~or transmitting the other for receiving

Those links called logical links are established by the Ne tviorsc

programs and used by them

Note here that users ClI8 only interested in connections and are

completely unaware of lines Relationships between links and connections

are carried out by the Network program

5

One of the advantages to define a connectLon as a pair of dh--ecshy

tional Jinks is that a HOSl will have the capability to loop hlmse If through

its ll-IP (it opens a connection to himself) lhis featur-e can be useful fo

debugging purposes

Flirther on through this paper we rill not use any more the

attribute logical when referring either to links or- conncct tons

222 Connection types

In order- to reach a high f l exi bi JJt y in utilizing the IJetlorx

there is advantage to classify the connections

Three types of connections are distinguished (a) control conshy

nection (b) pr-Imary connection and (c) auxiliary connection

(a) Control connection

This connection has a special status and is unique between a pafr

of HOST eg if the Hetlorl( includes x HOsr there are at most x s s

control connections issued fro~ one HOST

rlhis connectdonis used by remote Netwcrk programs for passlng

control messages back and forth Control messages are basic to the

estblishmentdeletion of standard ~onnections (See 242)

Note here that this control connectlen is the only connection

which is ignored by the HOsr users

Let us describe nO~T the standard connections

(b) Primary connectLon

These connections connect remote users

A pr-Imary connection

7lt Is unique between a pair- of users ani is the firt to be

6

established

+ Is Irtelctype-likel Le

- ASCII characters are transmitted

- Echos are generated by the r-emote HOST

~he recelving~

HOSTs scan for break characters

- The tr-ansmfsslon rate is s Icw (less them 20 characterssec)

Is mainly used for transmitting control commands eg for log-in into a rerrote HOST oper-atIng system

(c) AUXiliary connection

~hese connections also connect remote users

An aUXiliary cor~ection

Is opened in parallel to a primary connection and is not

unique i e several auxiliary connactdons can be establisted

Is used for transmitting large volumes of data (file oriented) bull

Is useo either for blnary or character trarmtssfon

7

middot

Imiddot I

1- u ) I Q

~ -r

lt1 - gt -

--1

8

bull i t

Ihe HOSl comnorucate lith each other via mssafES A message rnays

vary 1n length up to 8G95 bits (See dcwn be low the structure) ~ Larger

tranmlission must tberltfore be broken Lip by HOST users into a sequence of

such messages

A nessage structure is identified on fieure 2

It includes the follo1ing

(1) A leader (32 bits) Fleasage type SourceDestination HOSI

link number (See BBH report No 1822 pp 13 17)

(2) A marklng (~2 bits when sent by the Sigma ~() for starting a

message text on a word boundary (See BBN report No 1822

pp 17 19)

(3) Ihe message text (I-lax 8015 pits for the Sigma 7) It mostly

consists of user I s text However- it may represent information

for use by the Network prograre (Control messages see 2 112)

(4) A checksum (J6 bits) Its purpose is to check at the HOSr

level the right transmission of a nessage (Changes in bit

pattern or packet traTlsposition packets are defined in BEN

report No 1763 p 13) See down beIow for checksum calculation

(5) A padding for so~vin~ word 1encth mismatch problems (See

BUN report Ho 1822 p 17 19) e Ac far as sottware is conshy

middot cer ned padding is only invoived at message r ecept i on for

delLneatLng mesaage ends (At transmission the hardware takes

care of the paddlng )

9

Q

) Remark

checkstml calculation

The last 16 bits of every message sent by a HOSI is a checksum

This checksum is crmputed on the whole message IncIuctlng clj1~ mDr~dng but

excluding the 32 bit leader and any padding To compute the checksum

L Consider the message to be padded with zeroes to a length of

86110 bits

2 Section the 86 110 bits into six lIIlIO-bit segments SO Sr 85

3 Section each l4Ll0-bit segment S into go 1G-middotbit elerrents

to t 1 t 89middot

l Define a function G) whfch takes two 16-bit elements as

inputs and outputs a 16-bit element This runctton is

defined by

t t = t 0 t if t + t lt 216

m n m n m n

16 + 1 216 t - (plusmnl t = t t - 2 if t + t ~ middot m n m n m n

5 For each 1440-bit segment Sj compute Ci = K(Si) where

K(S) = to t 1 G) ~89

6 Compute C= Co(plusmn) C1 d) cl 0 c2 G)c2 f) c2 ~C2middotmiddotmiddotmiddotmiddot 0)c5

(Netlee that Cl G) Cl is just C1

rot~ted left one bit)

The nu~ber C is the checksu~ The reason the C are rotated by i bits isi

to detect packet transposition

-10

~ ~ ~ ~

b 3 2 l Lgt lt __ __ _---_- ----_ - - - _- --- __--- - _____gt

1 G ) t lt ~ (~ I y )- V (J ~~- _ -_ _ - _ _- - ~ ~ ~ ~ _- - - - - - -- _~ ~ ~- - - ~ _ _- ~ ~--

i

~ ~ ~I I ~ ~ 1

0J

1) crrltmiddotmiddotLJ ~

- vr Mgt (12shy

i 11 _~

II I

01S i

1

(I- I ~

MO~ Q~(C

)

~

- - I I~ -__r - ~

U 11

2 11 USCI 1ransQctiorr ===--shy

From what has been discussed untlI 11c1o2 the Nettorl- appears to a

user as a bunch of connections Let us nOVI explafn h O1 one can make usc of

these connections

First we are going to describe the set of transactio~s that a

user should be able to access for ut lLizlng the connection faciltties

Ihen Ie are going to explain the role of the Network program for

the execution of these transactions Ihis will cover a HOST-HOST protocol

in whfch control messages are exchanged behieen network programs

For- explanatIon purposes those transactIons are represented at

the user level in the for~i of subr-cutIne calls and pararacter-s Hcvever-

this does not imply at all that the implercentation lil1 closely follogt[ this

pattern (He aremcr-e involved here nth the description than the i mpleshy

mentation aspect see chapter 3)

241 Ltst of transactions

Listed beloiI are the descriptions of SUbroutines that could he at

users disposal for creattngbreaking connectIcns and transmittlnr-eceiving

data over them This set of subroutines can be considered as a kind of

interface between the user level and the network progr-am level

OPENPRITmiddot1 (COi rW~GrrD HOSTID RUFFJDDH [021J)

CONiECl1D ConnectLon iccntifiction f

12

HOSlID Remote lIOsr ldentiflcation If

BlJFFADDH Buffer address for Lncomlng messages ~

OPTmiddot Optlons s~ch as message req~tl~daftc~ successful connection

estabLtshnent full e cho (each message is traJ1~nlittcd back

by the r emot e HOSl for checking purpose etc

Remark [ ] means optional

(b) Open auxiliar y cormection

OPENAUX (COi-JHECTID BUFFADDR N [OI1J)

CONNEcrID Connection identification II ie the identification

of the corrtsponding prjj~ connection (First a user

has to open a primary connection)

BUFFJiDDR Same meaning as above

N Nlmlber of auxiliary connections t hat should be opend

OPT Same meaning as above

(c) Trans~tssion over connection

TRANSfl (COlTIillCrID NO BUFFADDR N [OFlJ)

CONNEcrID Connection identification i

NO Connection The primary cormectLon is always refer-red to

as bei ne NO O middotm auxiliary connection number corresponds

to t he order in ~1ich it has been established (TI1e first

auxiliary opened is referred to by NO = 1 the second by

NO = 2 etc )

BUFFJIDDR Buffer addr-ess of the message to be transmitted

N Hessase size (byte numbcr-)

13

OPJ Options such as data type (characters vs vlnary) trac e bit e tc )

(d) Close connecti on

CLOSE ( COHNECIID [N] [NO])

conlEClID Connecti on indcnt ification I

N Numo ershy of connect ions t o be cIosed If Omitted all connectt ons

in use by t he user included the primary l ink are closed

NO In case of N djfferent from zero this numb er- indicates the

auxiJiaYj connecti~1 U to be closed

242 HOST-HOST prot oc~l and control me s ~ 8ges

Ihe HOST-HOST protocol is carried out by the Nebwor k progr ams I t -

mainly involves the execution of the previous transactions (initiated by

( ) USe~3) end covers a HOST- Hosr dialogue

This dialogue fulfills control procedure s f or operring or br-eak l ng

conrle ct i ons and consists in exchanging control messages over the control

linl A control message has a structure identical to that of a regular

nessage it only differs from it by the text vThich is for use by Network

programs instead of user-s

Let us insist that this control procedure i s ccmpIet eIy unreLated

to transmission control procedures implemented in the n1p computers He are

here at the Hosrr level (Network programs) and t herefore control mcsaagcs

that are going to be described beLow ar e transmitted over the Inp like s

regular messases

Consider nov the previous transactdons arid describe for each of

III

explained by Iil8 aTlS of trivia l ex aumpl c s

e suppos e that c HOSl(x) user 1D11ts t o t alk to a remote HOST(y)

progr-am called URSA

The HOsel (x) s Network program waken up (See 33) by a use f or

opening a pr-Imary connection s t ar-t s a dia logue with the HOST (y) s NetlOrk

program

(L) HOST(x) sends t he fo lLovring control message

HOST(x) Control link HOST(y)

EKQ PRITmiddot1 a 1 2

ENQ Enquiry for connection establishment (o ne ASCII character-)

PRIN Cormection type pr-Imar y (one special charact er-)

012 Outgoing link It is a decimal number- (3 ASCII character-s )

eg 1ink 12

This link il has been cle t ernined by t he HOST(x) Net work

program (See Jrnplertentatoon 33Y

(ii) HOSl(y) acknovrIedge s by s ending back the fo110ling cont r ol

messaee

HOST(x) Control 1i nk HOSl(y) ~

ACK ENQ PRIIJi a 1 2 a 1 5

ACK Positive acknowledgment (one ASCI I charact er)

ENQ PKUmiddot1 a 1 2 Same meaning as above IhLs part of t he message is

retlwned for ch~cking purposes

015 Incoirlng liroK II It fo11013 the sa718 pat ter n as the outgofng

Lfnk 1 Tni s 1inlc If has been detcmnind by t he HOai (y ) Network

15

progr~m

Now the connection is establfshed it will use links i12

and 15 101 exchanging user rressages The connection is sald

to be in a prc--Log-dn state ie the remote HOSrr(y) expects

its standard log-in pr-ocedures

By neans of TRANSfI subroutines refcrrin2 to the primary connection

the lIOSrl(x) user is able to s lgn-Jn into the HOS-f(y) oper-ating system and

then to call for the liRSA program (HOST (y) user program)

lhe Network programs at both ends 1ill use the link 12 and 15

for passIng along messages These messages are standard messages whose conshy

tents serve for log in sequence

A trivial exarnple could be

HOSl(x) Prim Link 112 HOST(y)--- -)

S I G N - I N X X

HOST (x ) Prim Linllt 15 HOsr(y)

REA D Y

HOST (x) Prim Link 12 HOST(y)

U R S A

(c) Open an auxiliary connection (OPEHNJXI)

In a very slml Lar manner as (2) an auxiliary connection is estabshy

lished between HOSl(x) and HOSrr(y) For so doing control messages are

exchanged over the control link

IIOSI(x) Control link HOST(y)--gt B~Q middotAUX middot 0 2 5

Hosrr(x) ltf-__~~Tltrol link _ HOSTey) -

ACK FJmiddotrq AUX 0 2 5 0 2 1

16

----

NOVI the auxi lturv connec t ion i s e s t ablished it 1J11 usc Li nks 1 25 and 21

By neans of THljJ~l subroutt ncs r efer-r ins t o the auxlLlary COshy

ne ction the users at both ends can exchange data

HOST (x) Aux Idnk 25 HOSI(y)

X X X X ~

HOST(x) Aux Izlnk 121 HOST(y)lt X X

etc -

(e) Close connectIons (CLOSE)

This i s carried out in a sdmlLar manner as (a) Ihe user calls a

CLOSE subrout i ne and then the Hetwor k pr cgrams at bot h ends exchange

~ontrol messages

HOSl(x) Control Link HOS1(y)-raquo zor 0 0 1middot 0 1 2

End of transmi s sion (one ASCII character-)

001 No of connections to be closed C3 deci mal ASCII characters )

o 1 2 Out gqing link II to be clos ed

lhen HOsr(y) acknowledges bact as in (a)

HOST (x) ~_ _ C_ontrol Link HOST(y)

ACK EOI o o 1 o 1 2 o 1 5

Remark 1 _ In (a) (c) and (e) HOS(y) may answer- back a mes sage includinG

a negative acknowledgnent character I~ Allt instead of ACK Thi s f or

17

many various reasons such as wrong sequence connec tion already

opened and so forth The nes sage could be NJlX nm where Ij~l)

i s an alphanumerdcal character- indLcat ing in a coded Iorrn why

the prcvious bIoclr has been rctuscd Upon receivirg back such

acknowledgmcnt a HOST (x ) ill r epeat its measage until llosrr (y)

accepts it 1m emergency procedur e vii 11 t ake place if too many

successive lNJlX me ss age s occur

Rernark 2 - On each of the above iJlustr2tions (arrows) only the mess ege text

i s represented In fact complete rresseges (wi th Ieader- marklng

pac Id lng ) aregt exch angec d over tnese lJnJcs

18

shy

3 JiIIPIEMENrrA~ION IiI GOEr))

31 Introduction t o GOnDO

Gonro is a time--sharing sy stem implemented on 5 DS Si glla 7 vTe

outline below so~~ of the characteristics rel evan t to our paper

311 G01100 file system

lhe file system is page oriented It is compos ed of files and

directories A file consists of a heading and a number- of pages vhich

compose the body of t he file A director-y consists of a rnmoer of entries

that point to either files or other directoz-Ies

312 GOPro proce ss

A process is a prograll (procedures and data) plus its l ogical environshy

ment In other words a process is a program which is known and controlled

by the GOHDO scheduler

A user (a job) may have several processes as different as ccmpiler

loader eeli tor application pr-ogr-am etc A process is created through

a system call (FORK)

lhe space a pi -ocess can refer to is the Vfr -cual Space of 128k word

length A part (~k) of it is reserved for the operating system the

other part (12mc) is directly accessed by the user This later may fill

or modify its par-t of the virtual sp ace upon couplIng ~ (See be Icw

19

servfce calls) pages taken from clifferomt files Pirule 3 illustrates

this coupling

A process can request for services by ITem1S of sysuetn calls Ihe syatcm

calls rc levant to OLU paper are

vlAKE for atl)aJdng (set active) a sleeping process

SLEEP for putting a~leep another process (or itself)

COUPLE for couplfng a page from the file space to the virtuaJ

space

A process ordinarily runs in slave mode However- if jt is set up as an IO process it can access privileged instructions

Processes cen share data through files attached to rnafI box

directorles

Remark Ihrough thts note the words procecs and program are used inter-middot

changeably

20

-middot----- 2 f

r G

--r

fmiddot -q

IL

Lshy

- _ _ ~ _ _- ~ --- -shy- -_ _- ~ _

kshy---_ - shy _ __

- - r--- _-- shy ---11 ~ L shy ---1

- --shy - i

I I 1

1 __shy

_ -

- -shy --------middot-middot-----middot---middot1~

------------- ---I

i

- bull __ e _ _ bull bull _ - - -__----

rZ J I - --_middot_- ------middotmiddot--1 r =-~ ~=~- I middot

- - - - --- - -- 1 I ______~ _ __j

_ middotmiddot- middot----1 _------_- ~

___

f-) 2shy

- _-

i----- -- - middot-middot middot--- shy ~ - -_ _-------__shyr------shyj - -f ~---- - ----1 I--____----

-

- rmiddot middot~ - 1----- -----1 j

~----------middot1 ( r----------middotshyI --~ middotmiddot --------

c bull I ( I

I T - ~ Cv _ ~ ~__ _~_L _J ~ ~~ ~_ __~ _ _

~

1

32 Software Grgan~ z ation Overvie===--- - - - _ ------ _ -- - - -- -- --

Ffgure 11 illustrates the overall organizatLon

The syntem i s based upon t wo matn pr ogr-ams

Handler- bull

lmiddotne HandIer- is an IO Lnter-rupt r outine closely related to the

]JVlP-HOST hardware interface It serves the Network process in t r ansmi tting

and receivirJg network rre ss~es

The N~tor~( process carries out moat of the work

Its main function is to satisfy the users middot requests for opening

eloslng connectLons and trammittingrecejving network messages bull For so

doi ng

it establfshcs identj_fies and breaks the linl-lts upon llsjnpound the

all ocat i on tables (HCSl CON1mc-f IUPlJl LINK see 33 11 )

i t is aJ28 of the pr-esence of neraquo users upon exploring the net-or mail box directorv

i t comnunicates with active users by means of shared page s through which messages and r equests are exchanged ( connect i on shared pages r

i t formats inconingoutgoiflg ne ss ages in a working page This worklng page has an extension (eme r-gency rine)

it conmunicates with the Handler by means of a shared page (I O shy

cotrmuni cat i on page ) which contains the I O ccmmnlcatton buffers

22

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 4: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

~

1 INlRODUCl I ON

rJhis technical not e concentra t es upon (1) the HOST--Ho)rr pr ocedures

and (2) the implementatlon of t he corresponding pr ograms in GOF-~O (Opcracjne

System of the UCLA HOST)

The first section is closely relat ed to the BBN reports No 1822

and 1763[1J an~ specifles the HOST fun cti ~rs for exchanging rness age~ It

most Iy deals ilith Lmks and connectdons message structure transactions

and control rress2~es

The second section is software or-Iented it explains how the HOST

functlons are implemented and int egrated into GOHiJ Obull It is involved middotrith

data structures progr a-ns buf fer3 interrupt processing etc

[1] Parts of this section are t aken from or referred to those reports

3

J

2 HOS11-I0S1 PROCEDURES

21 Generalities

Tne basic ldea is that several users at a given BOSi should

simultaneously be able to utilize the network by time--sharing its physical

facilites

lhis implies that within each HOSr operating system there must

exist a special prograu that multiplexes outgoing messages from the users

into the network and distributes Lricornlng messages to the appropriate users

e will call this speclaf program the jletJork progr-am

22 Links and Connactions (See fLgure J)

221 Definitions

It is convenient to consider the 1Jel-ork as a black box - a system

whose behavior is known but whose necharrisrrs are not - for coITmuni ca t i ns

me~sages between remote users rather bhan between pairs of HOST computers

(a) I~gical co~~ection~

le define a logical connection as being a conmunication path

linking two users at remote HOSTs

ltlith that concept a user (user pr-ogram) in a HOST computer can

(1) establish several logical connections to any remote HOSl users and (2)

send or receive m3ssaGes over those connections

Connections appear to users as full duplex

One of the purposes of the Neb-lark program is to serve the users

in establishins identifying and maintaining these connections

(b) Logical ljIlilts

Each logical conrpoundction is made of a pair of directional links

one ~or transmitting the other for receiving

Those links called logical links are established by the Ne tviorsc

programs and used by them

Note here that users ClI8 only interested in connections and are

completely unaware of lines Relationships between links and connections

are carried out by the Network program

5

One of the advantages to define a connectLon as a pair of dh--ecshy

tional Jinks is that a HOSl will have the capability to loop hlmse If through

its ll-IP (it opens a connection to himself) lhis featur-e can be useful fo

debugging purposes

Flirther on through this paper we rill not use any more the

attribute logical when referring either to links or- conncct tons

222 Connection types

In order- to reach a high f l exi bi JJt y in utilizing the IJetlorx

there is advantage to classify the connections

Three types of connections are distinguished (a) control conshy

nection (b) pr-Imary connection and (c) auxiliary connection

(a) Control connection

This connection has a special status and is unique between a pafr

of HOST eg if the Hetlorl( includes x HOsr there are at most x s s

control connections issued fro~ one HOST

rlhis connectdonis used by remote Netwcrk programs for passlng

control messages back and forth Control messages are basic to the

estblishmentdeletion of standard ~onnections (See 242)

Note here that this control connectlen is the only connection

which is ignored by the HOsr users

Let us describe nO~T the standard connections

(b) Primary connectLon

These connections connect remote users

A pr-Imary connection

7lt Is unique between a pair- of users ani is the firt to be

6

established

+ Is Irtelctype-likel Le

- ASCII characters are transmitted

- Echos are generated by the r-emote HOST

~he recelving~

HOSTs scan for break characters

- The tr-ansmfsslon rate is s Icw (less them 20 characterssec)

Is mainly used for transmitting control commands eg for log-in into a rerrote HOST oper-atIng system

(c) AUXiliary connection

~hese connections also connect remote users

An aUXiliary cor~ection

Is opened in parallel to a primary connection and is not

unique i e several auxiliary connactdons can be establisted

Is used for transmitting large volumes of data (file oriented) bull

Is useo either for blnary or character trarmtssfon

7

middot

Imiddot I

1- u ) I Q

~ -r

lt1 - gt -

--1

8

bull i t

Ihe HOSl comnorucate lith each other via mssafES A message rnays

vary 1n length up to 8G95 bits (See dcwn be low the structure) ~ Larger

tranmlission must tberltfore be broken Lip by HOST users into a sequence of

such messages

A nessage structure is identified on fieure 2

It includes the follo1ing

(1) A leader (32 bits) Fleasage type SourceDestination HOSI

link number (See BBH report No 1822 pp 13 17)

(2) A marklng (~2 bits when sent by the Sigma ~() for starting a

message text on a word boundary (See BBN report No 1822

pp 17 19)

(3) Ihe message text (I-lax 8015 pits for the Sigma 7) It mostly

consists of user I s text However- it may represent information

for use by the Network prograre (Control messages see 2 112)

(4) A checksum (J6 bits) Its purpose is to check at the HOSr

level the right transmission of a nessage (Changes in bit

pattern or packet traTlsposition packets are defined in BEN

report No 1763 p 13) See down beIow for checksum calculation

(5) A padding for so~vin~ word 1encth mismatch problems (See

BUN report Ho 1822 p 17 19) e Ac far as sottware is conshy

middot cer ned padding is only invoived at message r ecept i on for

delLneatLng mesaage ends (At transmission the hardware takes

care of the paddlng )

9

Q

) Remark

checkstml calculation

The last 16 bits of every message sent by a HOSI is a checksum

This checksum is crmputed on the whole message IncIuctlng clj1~ mDr~dng but

excluding the 32 bit leader and any padding To compute the checksum

L Consider the message to be padded with zeroes to a length of

86110 bits

2 Section the 86 110 bits into six lIIlIO-bit segments SO Sr 85

3 Section each l4Ll0-bit segment S into go 1G-middotbit elerrents

to t 1 t 89middot

l Define a function G) whfch takes two 16-bit elements as

inputs and outputs a 16-bit element This runctton is

defined by

t t = t 0 t if t + t lt 216

m n m n m n

16 + 1 216 t - (plusmnl t = t t - 2 if t + t ~ middot m n m n m n

5 For each 1440-bit segment Sj compute Ci = K(Si) where

K(S) = to t 1 G) ~89

6 Compute C= Co(plusmn) C1 d) cl 0 c2 G)c2 f) c2 ~C2middotmiddotmiddotmiddotmiddot 0)c5

(Netlee that Cl G) Cl is just C1

rot~ted left one bit)

The nu~ber C is the checksu~ The reason the C are rotated by i bits isi

to detect packet transposition

-10

~ ~ ~ ~

b 3 2 l Lgt lt __ __ _---_- ----_ - - - _- --- __--- - _____gt

1 G ) t lt ~ (~ I y )- V (J ~~- _ -_ _ - _ _- - ~ ~ ~ ~ _- - - - - - -- _~ ~ ~- - - ~ _ _- ~ ~--

i

~ ~ ~I I ~ ~ 1

0J

1) crrltmiddotmiddotLJ ~

- vr Mgt (12shy

i 11 _~

II I

01S i

1

(I- I ~

MO~ Q~(C

)

~

- - I I~ -__r - ~

U 11

2 11 USCI 1ransQctiorr ===--shy

From what has been discussed untlI 11c1o2 the Nettorl- appears to a

user as a bunch of connections Let us nOVI explafn h O1 one can make usc of

these connections

First we are going to describe the set of transactio~s that a

user should be able to access for ut lLizlng the connection faciltties

Ihen Ie are going to explain the role of the Network program for

the execution of these transactions Ihis will cover a HOST-HOST protocol

in whfch control messages are exchanged behieen network programs

For- explanatIon purposes those transactIons are represented at

the user level in the for~i of subr-cutIne calls and pararacter-s Hcvever-

this does not imply at all that the implercentation lil1 closely follogt[ this

pattern (He aremcr-e involved here nth the description than the i mpleshy

mentation aspect see chapter 3)

241 Ltst of transactions

Listed beloiI are the descriptions of SUbroutines that could he at

users disposal for creattngbreaking connectIcns and transmittlnr-eceiving

data over them This set of subroutines can be considered as a kind of

interface between the user level and the network progr-am level

OPENPRITmiddot1 (COi rW~GrrD HOSTID RUFFJDDH [021J)

CONiECl1D ConnectLon iccntifiction f

12

HOSlID Remote lIOsr ldentiflcation If

BlJFFADDH Buffer address for Lncomlng messages ~

OPTmiddot Optlons s~ch as message req~tl~daftc~ successful connection

estabLtshnent full e cho (each message is traJ1~nlittcd back

by the r emot e HOSl for checking purpose etc

Remark [ ] means optional

(b) Open auxiliar y cormection

OPENAUX (COi-JHECTID BUFFADDR N [OI1J)

CONNEcrID Connection identification II ie the identification

of the corrtsponding prjj~ connection (First a user

has to open a primary connection)

BUFFJiDDR Same meaning as above

N Nlmlber of auxiliary connections t hat should be opend

OPT Same meaning as above

(c) Trans~tssion over connection

TRANSfl (COlTIillCrID NO BUFFADDR N [OFlJ)

CONNEcrID Connection identification i

NO Connection The primary cormectLon is always refer-red to

as bei ne NO O middotm auxiliary connection number corresponds

to t he order in ~1ich it has been established (TI1e first

auxiliary opened is referred to by NO = 1 the second by

NO = 2 etc )

BUFFJIDDR Buffer addr-ess of the message to be transmitted

N Hessase size (byte numbcr-)

13

OPJ Options such as data type (characters vs vlnary) trac e bit e tc )

(d) Close connecti on

CLOSE ( COHNECIID [N] [NO])

conlEClID Connecti on indcnt ification I

N Numo ershy of connect ions t o be cIosed If Omitted all connectt ons

in use by t he user included the primary l ink are closed

NO In case of N djfferent from zero this numb er- indicates the

auxiJiaYj connecti~1 U to be closed

242 HOST-HOST prot oc~l and control me s ~ 8ges

Ihe HOST-HOST protocol is carried out by the Nebwor k progr ams I t -

mainly involves the execution of the previous transactions (initiated by

( ) USe~3) end covers a HOST- Hosr dialogue

This dialogue fulfills control procedure s f or operring or br-eak l ng

conrle ct i ons and consists in exchanging control messages over the control

linl A control message has a structure identical to that of a regular

nessage it only differs from it by the text vThich is for use by Network

programs instead of user-s

Let us insist that this control procedure i s ccmpIet eIy unreLated

to transmission control procedures implemented in the n1p computers He are

here at the Hosrr level (Network programs) and t herefore control mcsaagcs

that are going to be described beLow ar e transmitted over the Inp like s

regular messases

Consider nov the previous transactdons arid describe for each of

III

explained by Iil8 aTlS of trivia l ex aumpl c s

e suppos e that c HOSl(x) user 1D11ts t o t alk to a remote HOST(y)

progr-am called URSA

The HOsel (x) s Network program waken up (See 33) by a use f or

opening a pr-Imary connection s t ar-t s a dia logue with the HOST (y) s NetlOrk

program

(L) HOST(x) sends t he fo lLovring control message

HOST(x) Control link HOST(y)

EKQ PRITmiddot1 a 1 2

ENQ Enquiry for connection establishment (o ne ASCII character-)

PRIN Cormection type pr-Imar y (one special charact er-)

012 Outgoing link It is a decimal number- (3 ASCII character-s )

eg 1ink 12

This link il has been cle t ernined by t he HOST(x) Net work

program (See Jrnplertentatoon 33Y

(ii) HOSl(y) acknovrIedge s by s ending back the fo110ling cont r ol

messaee

HOST(x) Control 1i nk HOSl(y) ~

ACK ENQ PRIIJi a 1 2 a 1 5

ACK Positive acknowledgment (one ASCI I charact er)

ENQ PKUmiddot1 a 1 2 Same meaning as above IhLs part of t he message is

retlwned for ch~cking purposes

015 Incoirlng liroK II It fo11013 the sa718 pat ter n as the outgofng

Lfnk 1 Tni s 1inlc If has been detcmnind by t he HOai (y ) Network

15

progr~m

Now the connection is establfshed it will use links i12

and 15 101 exchanging user rressages The connection is sald

to be in a prc--Log-dn state ie the remote HOSrr(y) expects

its standard log-in pr-ocedures

By neans of TRANSfI subroutines refcrrin2 to the primary connection

the lIOSrl(x) user is able to s lgn-Jn into the HOS-f(y) oper-ating system and

then to call for the liRSA program (HOST (y) user program)

lhe Network programs at both ends 1ill use the link 12 and 15

for passIng along messages These messages are standard messages whose conshy

tents serve for log in sequence

A trivial exarnple could be

HOSl(x) Prim Link 112 HOST(y)--- -)

S I G N - I N X X

HOST (x ) Prim Linllt 15 HOsr(y)

REA D Y

HOST (x) Prim Link 12 HOST(y)

U R S A

(c) Open an auxiliary connection (OPEHNJXI)

In a very slml Lar manner as (2) an auxiliary connection is estabshy

lished between HOSl(x) and HOSrr(y) For so doing control messages are

exchanged over the control link

IIOSI(x) Control link HOST(y)--gt B~Q middotAUX middot 0 2 5

Hosrr(x) ltf-__~~Tltrol link _ HOSTey) -

ACK FJmiddotrq AUX 0 2 5 0 2 1

16

----

NOVI the auxi lturv connec t ion i s e s t ablished it 1J11 usc Li nks 1 25 and 21

By neans of THljJ~l subroutt ncs r efer-r ins t o the auxlLlary COshy

ne ction the users at both ends can exchange data

HOST (x) Aux Idnk 25 HOSI(y)

X X X X ~

HOST(x) Aux Izlnk 121 HOST(y)lt X X

etc -

(e) Close connectIons (CLOSE)

This i s carried out in a sdmlLar manner as (a) Ihe user calls a

CLOSE subrout i ne and then the Hetwor k pr cgrams at bot h ends exchange

~ontrol messages

HOSl(x) Control Link HOS1(y)-raquo zor 0 0 1middot 0 1 2

End of transmi s sion (one ASCII character-)

001 No of connections to be closed C3 deci mal ASCII characters )

o 1 2 Out gqing link II to be clos ed

lhen HOsr(y) acknowledges bact as in (a)

HOST (x) ~_ _ C_ontrol Link HOST(y)

ACK EOI o o 1 o 1 2 o 1 5

Remark 1 _ In (a) (c) and (e) HOS(y) may answer- back a mes sage includinG

a negative acknowledgnent character I~ Allt instead of ACK Thi s f or

17

many various reasons such as wrong sequence connec tion already

opened and so forth The nes sage could be NJlX nm where Ij~l)

i s an alphanumerdcal character- indLcat ing in a coded Iorrn why

the prcvious bIoclr has been rctuscd Upon receivirg back such

acknowledgmcnt a HOST (x ) ill r epeat its measage until llosrr (y)

accepts it 1m emergency procedur e vii 11 t ake place if too many

successive lNJlX me ss age s occur

Rernark 2 - On each of the above iJlustr2tions (arrows) only the mess ege text

i s represented In fact complete rresseges (wi th Ieader- marklng

pac Id lng ) aregt exch angec d over tnese lJnJcs

18

shy

3 JiIIPIEMENrrA~ION IiI GOEr))

31 Introduction t o GOnDO

Gonro is a time--sharing sy stem implemented on 5 DS Si glla 7 vTe

outline below so~~ of the characteristics rel evan t to our paper

311 G01100 file system

lhe file system is page oriented It is compos ed of files and

directories A file consists of a heading and a number- of pages vhich

compose the body of t he file A director-y consists of a rnmoer of entries

that point to either files or other directoz-Ies

312 GOPro proce ss

A process is a prograll (procedures and data) plus its l ogical environshy

ment In other words a process is a program which is known and controlled

by the GOHDO scheduler

A user (a job) may have several processes as different as ccmpiler

loader eeli tor application pr-ogr-am etc A process is created through

a system call (FORK)

lhe space a pi -ocess can refer to is the Vfr -cual Space of 128k word

length A part (~k) of it is reserved for the operating system the

other part (12mc) is directly accessed by the user This later may fill

or modify its par-t of the virtual sp ace upon couplIng ~ (See be Icw

19

servfce calls) pages taken from clifferomt files Pirule 3 illustrates

this coupling

A process can request for services by ITem1S of sysuetn calls Ihe syatcm

calls rc levant to OLU paper are

vlAKE for atl)aJdng (set active) a sleeping process

SLEEP for putting a~leep another process (or itself)

COUPLE for couplfng a page from the file space to the virtuaJ

space

A process ordinarily runs in slave mode However- if jt is set up as an IO process it can access privileged instructions

Processes cen share data through files attached to rnafI box

directorles

Remark Ihrough thts note the words procecs and program are used inter-middot

changeably

20

-middot----- 2 f

r G

--r

fmiddot -q

IL

Lshy

- _ _ ~ _ _- ~ --- -shy- -_ _- ~ _

kshy---_ - shy _ __

- - r--- _-- shy ---11 ~ L shy ---1

- --shy - i

I I 1

1 __shy

_ -

- -shy --------middot-middot-----middot---middot1~

------------- ---I

i

- bull __ e _ _ bull bull _ - - -__----

rZ J I - --_middot_- ------middotmiddot--1 r =-~ ~=~- I middot

- - - - --- - -- 1 I ______~ _ __j

_ middotmiddot- middot----1 _------_- ~

___

f-) 2shy

- _-

i----- -- - middot-middot middot--- shy ~ - -_ _-------__shyr------shyj - -f ~---- - ----1 I--____----

-

- rmiddot middot~ - 1----- -----1 j

~----------middot1 ( r----------middotshyI --~ middotmiddot --------

c bull I ( I

I T - ~ Cv _ ~ ~__ _~_L _J ~ ~~ ~_ __~ _ _

~

1

32 Software Grgan~ z ation Overvie===--- - - - _ ------ _ -- - - -- -- --

Ffgure 11 illustrates the overall organizatLon

The syntem i s based upon t wo matn pr ogr-ams

Handler- bull

lmiddotne HandIer- is an IO Lnter-rupt r outine closely related to the

]JVlP-HOST hardware interface It serves the Network process in t r ansmi tting

and receivirJg network rre ss~es

The N~tor~( process carries out moat of the work

Its main function is to satisfy the users middot requests for opening

eloslng connectLons and trammittingrecejving network messages bull For so

doi ng

it establfshcs identj_fies and breaks the linl-lts upon llsjnpound the

all ocat i on tables (HCSl CON1mc-f IUPlJl LINK see 33 11 )

i t is aJ28 of the pr-esence of neraquo users upon exploring the net-or mail box directorv

i t comnunicates with active users by means of shared page s through which messages and r equests are exchanged ( connect i on shared pages r

i t formats inconingoutgoiflg ne ss ages in a working page This worklng page has an extension (eme r-gency rine)

it conmunicates with the Handler by means of a shared page (I O shy

cotrmuni cat i on page ) which contains the I O ccmmnlcatton buffers

22

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 5: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

J

2 HOS11-I0S1 PROCEDURES

21 Generalities

Tne basic ldea is that several users at a given BOSi should

simultaneously be able to utilize the network by time--sharing its physical

facilites

lhis implies that within each HOSr operating system there must

exist a special prograu that multiplexes outgoing messages from the users

into the network and distributes Lricornlng messages to the appropriate users

e will call this speclaf program the jletJork progr-am

22 Links and Connactions (See fLgure J)

221 Definitions

It is convenient to consider the 1Jel-ork as a black box - a system

whose behavior is known but whose necharrisrrs are not - for coITmuni ca t i ns

me~sages between remote users rather bhan between pairs of HOST computers

(a) I~gical co~~ection~

le define a logical connection as being a conmunication path

linking two users at remote HOSTs

ltlith that concept a user (user pr-ogram) in a HOST computer can

(1) establish several logical connections to any remote HOSl users and (2)

send or receive m3ssaGes over those connections

Connections appear to users as full duplex

One of the purposes of the Neb-lark program is to serve the users

in establishins identifying and maintaining these connections

(b) Logical ljIlilts

Each logical conrpoundction is made of a pair of directional links

one ~or transmitting the other for receiving

Those links called logical links are established by the Ne tviorsc

programs and used by them

Note here that users ClI8 only interested in connections and are

completely unaware of lines Relationships between links and connections

are carried out by the Network program

5

One of the advantages to define a connectLon as a pair of dh--ecshy

tional Jinks is that a HOSl will have the capability to loop hlmse If through

its ll-IP (it opens a connection to himself) lhis featur-e can be useful fo

debugging purposes

Flirther on through this paper we rill not use any more the

attribute logical when referring either to links or- conncct tons

222 Connection types

In order- to reach a high f l exi bi JJt y in utilizing the IJetlorx

there is advantage to classify the connections

Three types of connections are distinguished (a) control conshy

nection (b) pr-Imary connection and (c) auxiliary connection

(a) Control connection

This connection has a special status and is unique between a pafr

of HOST eg if the Hetlorl( includes x HOsr there are at most x s s

control connections issued fro~ one HOST

rlhis connectdonis used by remote Netwcrk programs for passlng

control messages back and forth Control messages are basic to the

estblishmentdeletion of standard ~onnections (See 242)

Note here that this control connectlen is the only connection

which is ignored by the HOsr users

Let us describe nO~T the standard connections

(b) Primary connectLon

These connections connect remote users

A pr-Imary connection

7lt Is unique between a pair- of users ani is the firt to be

6

established

+ Is Irtelctype-likel Le

- ASCII characters are transmitted

- Echos are generated by the r-emote HOST

~he recelving~

HOSTs scan for break characters

- The tr-ansmfsslon rate is s Icw (less them 20 characterssec)

Is mainly used for transmitting control commands eg for log-in into a rerrote HOST oper-atIng system

(c) AUXiliary connection

~hese connections also connect remote users

An aUXiliary cor~ection

Is opened in parallel to a primary connection and is not

unique i e several auxiliary connactdons can be establisted

Is used for transmitting large volumes of data (file oriented) bull

Is useo either for blnary or character trarmtssfon

7

middot

Imiddot I

1- u ) I Q

~ -r

lt1 - gt -

--1

8

bull i t

Ihe HOSl comnorucate lith each other via mssafES A message rnays

vary 1n length up to 8G95 bits (See dcwn be low the structure) ~ Larger

tranmlission must tberltfore be broken Lip by HOST users into a sequence of

such messages

A nessage structure is identified on fieure 2

It includes the follo1ing

(1) A leader (32 bits) Fleasage type SourceDestination HOSI

link number (See BBH report No 1822 pp 13 17)

(2) A marklng (~2 bits when sent by the Sigma ~() for starting a

message text on a word boundary (See BBN report No 1822

pp 17 19)

(3) Ihe message text (I-lax 8015 pits for the Sigma 7) It mostly

consists of user I s text However- it may represent information

for use by the Network prograre (Control messages see 2 112)

(4) A checksum (J6 bits) Its purpose is to check at the HOSr

level the right transmission of a nessage (Changes in bit

pattern or packet traTlsposition packets are defined in BEN

report No 1763 p 13) See down beIow for checksum calculation

(5) A padding for so~vin~ word 1encth mismatch problems (See

BUN report Ho 1822 p 17 19) e Ac far as sottware is conshy

middot cer ned padding is only invoived at message r ecept i on for

delLneatLng mesaage ends (At transmission the hardware takes

care of the paddlng )

9

Q

) Remark

checkstml calculation

The last 16 bits of every message sent by a HOSI is a checksum

This checksum is crmputed on the whole message IncIuctlng clj1~ mDr~dng but

excluding the 32 bit leader and any padding To compute the checksum

L Consider the message to be padded with zeroes to a length of

86110 bits

2 Section the 86 110 bits into six lIIlIO-bit segments SO Sr 85

3 Section each l4Ll0-bit segment S into go 1G-middotbit elerrents

to t 1 t 89middot

l Define a function G) whfch takes two 16-bit elements as

inputs and outputs a 16-bit element This runctton is

defined by

t t = t 0 t if t + t lt 216

m n m n m n

16 + 1 216 t - (plusmnl t = t t - 2 if t + t ~ middot m n m n m n

5 For each 1440-bit segment Sj compute Ci = K(Si) where

K(S) = to t 1 G) ~89

6 Compute C= Co(plusmn) C1 d) cl 0 c2 G)c2 f) c2 ~C2middotmiddotmiddotmiddotmiddot 0)c5

(Netlee that Cl G) Cl is just C1

rot~ted left one bit)

The nu~ber C is the checksu~ The reason the C are rotated by i bits isi

to detect packet transposition

-10

~ ~ ~ ~

b 3 2 l Lgt lt __ __ _---_- ----_ - - - _- --- __--- - _____gt

1 G ) t lt ~ (~ I y )- V (J ~~- _ -_ _ - _ _- - ~ ~ ~ ~ _- - - - - - -- _~ ~ ~- - - ~ _ _- ~ ~--

i

~ ~ ~I I ~ ~ 1

0J

1) crrltmiddotmiddotLJ ~

- vr Mgt (12shy

i 11 _~

II I

01S i

1

(I- I ~

MO~ Q~(C

)

~

- - I I~ -__r - ~

U 11

2 11 USCI 1ransQctiorr ===--shy

From what has been discussed untlI 11c1o2 the Nettorl- appears to a

user as a bunch of connections Let us nOVI explafn h O1 one can make usc of

these connections

First we are going to describe the set of transactio~s that a

user should be able to access for ut lLizlng the connection faciltties

Ihen Ie are going to explain the role of the Network program for

the execution of these transactions Ihis will cover a HOST-HOST protocol

in whfch control messages are exchanged behieen network programs

For- explanatIon purposes those transactIons are represented at

the user level in the for~i of subr-cutIne calls and pararacter-s Hcvever-

this does not imply at all that the implercentation lil1 closely follogt[ this

pattern (He aremcr-e involved here nth the description than the i mpleshy

mentation aspect see chapter 3)

241 Ltst of transactions

Listed beloiI are the descriptions of SUbroutines that could he at

users disposal for creattngbreaking connectIcns and transmittlnr-eceiving

data over them This set of subroutines can be considered as a kind of

interface between the user level and the network progr-am level

OPENPRITmiddot1 (COi rW~GrrD HOSTID RUFFJDDH [021J)

CONiECl1D ConnectLon iccntifiction f

12

HOSlID Remote lIOsr ldentiflcation If

BlJFFADDH Buffer address for Lncomlng messages ~

OPTmiddot Optlons s~ch as message req~tl~daftc~ successful connection

estabLtshnent full e cho (each message is traJ1~nlittcd back

by the r emot e HOSl for checking purpose etc

Remark [ ] means optional

(b) Open auxiliar y cormection

OPENAUX (COi-JHECTID BUFFADDR N [OI1J)

CONNEcrID Connection identification II ie the identification

of the corrtsponding prjj~ connection (First a user

has to open a primary connection)

BUFFJiDDR Same meaning as above

N Nlmlber of auxiliary connections t hat should be opend

OPT Same meaning as above

(c) Trans~tssion over connection

TRANSfl (COlTIillCrID NO BUFFADDR N [OFlJ)

CONNEcrID Connection identification i

NO Connection The primary cormectLon is always refer-red to

as bei ne NO O middotm auxiliary connection number corresponds

to t he order in ~1ich it has been established (TI1e first

auxiliary opened is referred to by NO = 1 the second by

NO = 2 etc )

BUFFJIDDR Buffer addr-ess of the message to be transmitted

N Hessase size (byte numbcr-)

13

OPJ Options such as data type (characters vs vlnary) trac e bit e tc )

(d) Close connecti on

CLOSE ( COHNECIID [N] [NO])

conlEClID Connecti on indcnt ification I

N Numo ershy of connect ions t o be cIosed If Omitted all connectt ons

in use by t he user included the primary l ink are closed

NO In case of N djfferent from zero this numb er- indicates the

auxiJiaYj connecti~1 U to be closed

242 HOST-HOST prot oc~l and control me s ~ 8ges

Ihe HOST-HOST protocol is carried out by the Nebwor k progr ams I t -

mainly involves the execution of the previous transactions (initiated by

( ) USe~3) end covers a HOST- Hosr dialogue

This dialogue fulfills control procedure s f or operring or br-eak l ng

conrle ct i ons and consists in exchanging control messages over the control

linl A control message has a structure identical to that of a regular

nessage it only differs from it by the text vThich is for use by Network

programs instead of user-s

Let us insist that this control procedure i s ccmpIet eIy unreLated

to transmission control procedures implemented in the n1p computers He are

here at the Hosrr level (Network programs) and t herefore control mcsaagcs

that are going to be described beLow ar e transmitted over the Inp like s

regular messases

Consider nov the previous transactdons arid describe for each of

III

explained by Iil8 aTlS of trivia l ex aumpl c s

e suppos e that c HOSl(x) user 1D11ts t o t alk to a remote HOST(y)

progr-am called URSA

The HOsel (x) s Network program waken up (See 33) by a use f or

opening a pr-Imary connection s t ar-t s a dia logue with the HOST (y) s NetlOrk

program

(L) HOST(x) sends t he fo lLovring control message

HOST(x) Control link HOST(y)

EKQ PRITmiddot1 a 1 2

ENQ Enquiry for connection establishment (o ne ASCII character-)

PRIN Cormection type pr-Imar y (one special charact er-)

012 Outgoing link It is a decimal number- (3 ASCII character-s )

eg 1ink 12

This link il has been cle t ernined by t he HOST(x) Net work

program (See Jrnplertentatoon 33Y

(ii) HOSl(y) acknovrIedge s by s ending back the fo110ling cont r ol

messaee

HOST(x) Control 1i nk HOSl(y) ~

ACK ENQ PRIIJi a 1 2 a 1 5

ACK Positive acknowledgment (one ASCI I charact er)

ENQ PKUmiddot1 a 1 2 Same meaning as above IhLs part of t he message is

retlwned for ch~cking purposes

015 Incoirlng liroK II It fo11013 the sa718 pat ter n as the outgofng

Lfnk 1 Tni s 1inlc If has been detcmnind by t he HOai (y ) Network

15

progr~m

Now the connection is establfshed it will use links i12

and 15 101 exchanging user rressages The connection is sald

to be in a prc--Log-dn state ie the remote HOSrr(y) expects

its standard log-in pr-ocedures

By neans of TRANSfI subroutines refcrrin2 to the primary connection

the lIOSrl(x) user is able to s lgn-Jn into the HOS-f(y) oper-ating system and

then to call for the liRSA program (HOST (y) user program)

lhe Network programs at both ends 1ill use the link 12 and 15

for passIng along messages These messages are standard messages whose conshy

tents serve for log in sequence

A trivial exarnple could be

HOSl(x) Prim Link 112 HOST(y)--- -)

S I G N - I N X X

HOST (x ) Prim Linllt 15 HOsr(y)

REA D Y

HOST (x) Prim Link 12 HOST(y)

U R S A

(c) Open an auxiliary connection (OPEHNJXI)

In a very slml Lar manner as (2) an auxiliary connection is estabshy

lished between HOSl(x) and HOSrr(y) For so doing control messages are

exchanged over the control link

IIOSI(x) Control link HOST(y)--gt B~Q middotAUX middot 0 2 5

Hosrr(x) ltf-__~~Tltrol link _ HOSTey) -

ACK FJmiddotrq AUX 0 2 5 0 2 1

16

----

NOVI the auxi lturv connec t ion i s e s t ablished it 1J11 usc Li nks 1 25 and 21

By neans of THljJ~l subroutt ncs r efer-r ins t o the auxlLlary COshy

ne ction the users at both ends can exchange data

HOST (x) Aux Idnk 25 HOSI(y)

X X X X ~

HOST(x) Aux Izlnk 121 HOST(y)lt X X

etc -

(e) Close connectIons (CLOSE)

This i s carried out in a sdmlLar manner as (a) Ihe user calls a

CLOSE subrout i ne and then the Hetwor k pr cgrams at bot h ends exchange

~ontrol messages

HOSl(x) Control Link HOS1(y)-raquo zor 0 0 1middot 0 1 2

End of transmi s sion (one ASCII character-)

001 No of connections to be closed C3 deci mal ASCII characters )

o 1 2 Out gqing link II to be clos ed

lhen HOsr(y) acknowledges bact as in (a)

HOST (x) ~_ _ C_ontrol Link HOST(y)

ACK EOI o o 1 o 1 2 o 1 5

Remark 1 _ In (a) (c) and (e) HOS(y) may answer- back a mes sage includinG

a negative acknowledgnent character I~ Allt instead of ACK Thi s f or

17

many various reasons such as wrong sequence connec tion already

opened and so forth The nes sage could be NJlX nm where Ij~l)

i s an alphanumerdcal character- indLcat ing in a coded Iorrn why

the prcvious bIoclr has been rctuscd Upon receivirg back such

acknowledgmcnt a HOST (x ) ill r epeat its measage until llosrr (y)

accepts it 1m emergency procedur e vii 11 t ake place if too many

successive lNJlX me ss age s occur

Rernark 2 - On each of the above iJlustr2tions (arrows) only the mess ege text

i s represented In fact complete rresseges (wi th Ieader- marklng

pac Id lng ) aregt exch angec d over tnese lJnJcs

18

shy

3 JiIIPIEMENrrA~ION IiI GOEr))

31 Introduction t o GOnDO

Gonro is a time--sharing sy stem implemented on 5 DS Si glla 7 vTe

outline below so~~ of the characteristics rel evan t to our paper

311 G01100 file system

lhe file system is page oriented It is compos ed of files and

directories A file consists of a heading and a number- of pages vhich

compose the body of t he file A director-y consists of a rnmoer of entries

that point to either files or other directoz-Ies

312 GOPro proce ss

A process is a prograll (procedures and data) plus its l ogical environshy

ment In other words a process is a program which is known and controlled

by the GOHDO scheduler

A user (a job) may have several processes as different as ccmpiler

loader eeli tor application pr-ogr-am etc A process is created through

a system call (FORK)

lhe space a pi -ocess can refer to is the Vfr -cual Space of 128k word

length A part (~k) of it is reserved for the operating system the

other part (12mc) is directly accessed by the user This later may fill

or modify its par-t of the virtual sp ace upon couplIng ~ (See be Icw

19

servfce calls) pages taken from clifferomt files Pirule 3 illustrates

this coupling

A process can request for services by ITem1S of sysuetn calls Ihe syatcm

calls rc levant to OLU paper are

vlAKE for atl)aJdng (set active) a sleeping process

SLEEP for putting a~leep another process (or itself)

COUPLE for couplfng a page from the file space to the virtuaJ

space

A process ordinarily runs in slave mode However- if jt is set up as an IO process it can access privileged instructions

Processes cen share data through files attached to rnafI box

directorles

Remark Ihrough thts note the words procecs and program are used inter-middot

changeably

20

-middot----- 2 f

r G

--r

fmiddot -q

IL

Lshy

- _ _ ~ _ _- ~ --- -shy- -_ _- ~ _

kshy---_ - shy _ __

- - r--- _-- shy ---11 ~ L shy ---1

- --shy - i

I I 1

1 __shy

_ -

- -shy --------middot-middot-----middot---middot1~

------------- ---I

i

- bull __ e _ _ bull bull _ - - -__----

rZ J I - --_middot_- ------middotmiddot--1 r =-~ ~=~- I middot

- - - - --- - -- 1 I ______~ _ __j

_ middotmiddot- middot----1 _------_- ~

___

f-) 2shy

- _-

i----- -- - middot-middot middot--- shy ~ - -_ _-------__shyr------shyj - -f ~---- - ----1 I--____----

-

- rmiddot middot~ - 1----- -----1 j

~----------middot1 ( r----------middotshyI --~ middotmiddot --------

c bull I ( I

I T - ~ Cv _ ~ ~__ _~_L _J ~ ~~ ~_ __~ _ _

~

1

32 Software Grgan~ z ation Overvie===--- - - - _ ------ _ -- - - -- -- --

Ffgure 11 illustrates the overall organizatLon

The syntem i s based upon t wo matn pr ogr-ams

Handler- bull

lmiddotne HandIer- is an IO Lnter-rupt r outine closely related to the

]JVlP-HOST hardware interface It serves the Network process in t r ansmi tting

and receivirJg network rre ss~es

The N~tor~( process carries out moat of the work

Its main function is to satisfy the users middot requests for opening

eloslng connectLons and trammittingrecejving network messages bull For so

doi ng

it establfshcs identj_fies and breaks the linl-lts upon llsjnpound the

all ocat i on tables (HCSl CON1mc-f IUPlJl LINK see 33 11 )

i t is aJ28 of the pr-esence of neraquo users upon exploring the net-or mail box directorv

i t comnunicates with active users by means of shared page s through which messages and r equests are exchanged ( connect i on shared pages r

i t formats inconingoutgoiflg ne ss ages in a working page This worklng page has an extension (eme r-gency rine)

it conmunicates with the Handler by means of a shared page (I O shy

cotrmuni cat i on page ) which contains the I O ccmmnlcatton buffers

22

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 6: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

22 Links and Connactions (See fLgure J)

221 Definitions

It is convenient to consider the 1Jel-ork as a black box - a system

whose behavior is known but whose necharrisrrs are not - for coITmuni ca t i ns

me~sages between remote users rather bhan between pairs of HOST computers

(a) I~gical co~~ection~

le define a logical connection as being a conmunication path

linking two users at remote HOSTs

ltlith that concept a user (user pr-ogram) in a HOST computer can

(1) establish several logical connections to any remote HOSl users and (2)

send or receive m3ssaGes over those connections

Connections appear to users as full duplex

One of the purposes of the Neb-lark program is to serve the users

in establishins identifying and maintaining these connections

(b) Logical ljIlilts

Each logical conrpoundction is made of a pair of directional links

one ~or transmitting the other for receiving

Those links called logical links are established by the Ne tviorsc

programs and used by them

Note here that users ClI8 only interested in connections and are

completely unaware of lines Relationships between links and connections

are carried out by the Network program

5

One of the advantages to define a connectLon as a pair of dh--ecshy

tional Jinks is that a HOSl will have the capability to loop hlmse If through

its ll-IP (it opens a connection to himself) lhis featur-e can be useful fo

debugging purposes

Flirther on through this paper we rill not use any more the

attribute logical when referring either to links or- conncct tons

222 Connection types

In order- to reach a high f l exi bi JJt y in utilizing the IJetlorx

there is advantage to classify the connections

Three types of connections are distinguished (a) control conshy

nection (b) pr-Imary connection and (c) auxiliary connection

(a) Control connection

This connection has a special status and is unique between a pafr

of HOST eg if the Hetlorl( includes x HOsr there are at most x s s

control connections issued fro~ one HOST

rlhis connectdonis used by remote Netwcrk programs for passlng

control messages back and forth Control messages are basic to the

estblishmentdeletion of standard ~onnections (See 242)

Note here that this control connectlen is the only connection

which is ignored by the HOsr users

Let us describe nO~T the standard connections

(b) Primary connectLon

These connections connect remote users

A pr-Imary connection

7lt Is unique between a pair- of users ani is the firt to be

6

established

+ Is Irtelctype-likel Le

- ASCII characters are transmitted

- Echos are generated by the r-emote HOST

~he recelving~

HOSTs scan for break characters

- The tr-ansmfsslon rate is s Icw (less them 20 characterssec)

Is mainly used for transmitting control commands eg for log-in into a rerrote HOST oper-atIng system

(c) AUXiliary connection

~hese connections also connect remote users

An aUXiliary cor~ection

Is opened in parallel to a primary connection and is not

unique i e several auxiliary connactdons can be establisted

Is used for transmitting large volumes of data (file oriented) bull

Is useo either for blnary or character trarmtssfon

7

middot

Imiddot I

1- u ) I Q

~ -r

lt1 - gt -

--1

8

bull i t

Ihe HOSl comnorucate lith each other via mssafES A message rnays

vary 1n length up to 8G95 bits (See dcwn be low the structure) ~ Larger

tranmlission must tberltfore be broken Lip by HOST users into a sequence of

such messages

A nessage structure is identified on fieure 2

It includes the follo1ing

(1) A leader (32 bits) Fleasage type SourceDestination HOSI

link number (See BBH report No 1822 pp 13 17)

(2) A marklng (~2 bits when sent by the Sigma ~() for starting a

message text on a word boundary (See BBN report No 1822

pp 17 19)

(3) Ihe message text (I-lax 8015 pits for the Sigma 7) It mostly

consists of user I s text However- it may represent information

for use by the Network prograre (Control messages see 2 112)

(4) A checksum (J6 bits) Its purpose is to check at the HOSr

level the right transmission of a nessage (Changes in bit

pattern or packet traTlsposition packets are defined in BEN

report No 1763 p 13) See down beIow for checksum calculation

(5) A padding for so~vin~ word 1encth mismatch problems (See

BUN report Ho 1822 p 17 19) e Ac far as sottware is conshy

middot cer ned padding is only invoived at message r ecept i on for

delLneatLng mesaage ends (At transmission the hardware takes

care of the paddlng )

9

Q

) Remark

checkstml calculation

The last 16 bits of every message sent by a HOSI is a checksum

This checksum is crmputed on the whole message IncIuctlng clj1~ mDr~dng but

excluding the 32 bit leader and any padding To compute the checksum

L Consider the message to be padded with zeroes to a length of

86110 bits

2 Section the 86 110 bits into six lIIlIO-bit segments SO Sr 85

3 Section each l4Ll0-bit segment S into go 1G-middotbit elerrents

to t 1 t 89middot

l Define a function G) whfch takes two 16-bit elements as

inputs and outputs a 16-bit element This runctton is

defined by

t t = t 0 t if t + t lt 216

m n m n m n

16 + 1 216 t - (plusmnl t = t t - 2 if t + t ~ middot m n m n m n

5 For each 1440-bit segment Sj compute Ci = K(Si) where

K(S) = to t 1 G) ~89

6 Compute C= Co(plusmn) C1 d) cl 0 c2 G)c2 f) c2 ~C2middotmiddotmiddotmiddotmiddot 0)c5

(Netlee that Cl G) Cl is just C1

rot~ted left one bit)

The nu~ber C is the checksu~ The reason the C are rotated by i bits isi

to detect packet transposition

-10

~ ~ ~ ~

b 3 2 l Lgt lt __ __ _---_- ----_ - - - _- --- __--- - _____gt

1 G ) t lt ~ (~ I y )- V (J ~~- _ -_ _ - _ _- - ~ ~ ~ ~ _- - - - - - -- _~ ~ ~- - - ~ _ _- ~ ~--

i

~ ~ ~I I ~ ~ 1

0J

1) crrltmiddotmiddotLJ ~

- vr Mgt (12shy

i 11 _~

II I

01S i

1

(I- I ~

MO~ Q~(C

)

~

- - I I~ -__r - ~

U 11

2 11 USCI 1ransQctiorr ===--shy

From what has been discussed untlI 11c1o2 the Nettorl- appears to a

user as a bunch of connections Let us nOVI explafn h O1 one can make usc of

these connections

First we are going to describe the set of transactio~s that a

user should be able to access for ut lLizlng the connection faciltties

Ihen Ie are going to explain the role of the Network program for

the execution of these transactions Ihis will cover a HOST-HOST protocol

in whfch control messages are exchanged behieen network programs

For- explanatIon purposes those transactIons are represented at

the user level in the for~i of subr-cutIne calls and pararacter-s Hcvever-

this does not imply at all that the implercentation lil1 closely follogt[ this

pattern (He aremcr-e involved here nth the description than the i mpleshy

mentation aspect see chapter 3)

241 Ltst of transactions

Listed beloiI are the descriptions of SUbroutines that could he at

users disposal for creattngbreaking connectIcns and transmittlnr-eceiving

data over them This set of subroutines can be considered as a kind of

interface between the user level and the network progr-am level

OPENPRITmiddot1 (COi rW~GrrD HOSTID RUFFJDDH [021J)

CONiECl1D ConnectLon iccntifiction f

12

HOSlID Remote lIOsr ldentiflcation If

BlJFFADDH Buffer address for Lncomlng messages ~

OPTmiddot Optlons s~ch as message req~tl~daftc~ successful connection

estabLtshnent full e cho (each message is traJ1~nlittcd back

by the r emot e HOSl for checking purpose etc

Remark [ ] means optional

(b) Open auxiliar y cormection

OPENAUX (COi-JHECTID BUFFADDR N [OI1J)

CONNEcrID Connection identification II ie the identification

of the corrtsponding prjj~ connection (First a user

has to open a primary connection)

BUFFJiDDR Same meaning as above

N Nlmlber of auxiliary connections t hat should be opend

OPT Same meaning as above

(c) Trans~tssion over connection

TRANSfl (COlTIillCrID NO BUFFADDR N [OFlJ)

CONNEcrID Connection identification i

NO Connection The primary cormectLon is always refer-red to

as bei ne NO O middotm auxiliary connection number corresponds

to t he order in ~1ich it has been established (TI1e first

auxiliary opened is referred to by NO = 1 the second by

NO = 2 etc )

BUFFJIDDR Buffer addr-ess of the message to be transmitted

N Hessase size (byte numbcr-)

13

OPJ Options such as data type (characters vs vlnary) trac e bit e tc )

(d) Close connecti on

CLOSE ( COHNECIID [N] [NO])

conlEClID Connecti on indcnt ification I

N Numo ershy of connect ions t o be cIosed If Omitted all connectt ons

in use by t he user included the primary l ink are closed

NO In case of N djfferent from zero this numb er- indicates the

auxiJiaYj connecti~1 U to be closed

242 HOST-HOST prot oc~l and control me s ~ 8ges

Ihe HOST-HOST protocol is carried out by the Nebwor k progr ams I t -

mainly involves the execution of the previous transactions (initiated by

( ) USe~3) end covers a HOST- Hosr dialogue

This dialogue fulfills control procedure s f or operring or br-eak l ng

conrle ct i ons and consists in exchanging control messages over the control

linl A control message has a structure identical to that of a regular

nessage it only differs from it by the text vThich is for use by Network

programs instead of user-s

Let us insist that this control procedure i s ccmpIet eIy unreLated

to transmission control procedures implemented in the n1p computers He are

here at the Hosrr level (Network programs) and t herefore control mcsaagcs

that are going to be described beLow ar e transmitted over the Inp like s

regular messases

Consider nov the previous transactdons arid describe for each of

III

explained by Iil8 aTlS of trivia l ex aumpl c s

e suppos e that c HOSl(x) user 1D11ts t o t alk to a remote HOST(y)

progr-am called URSA

The HOsel (x) s Network program waken up (See 33) by a use f or

opening a pr-Imary connection s t ar-t s a dia logue with the HOST (y) s NetlOrk

program

(L) HOST(x) sends t he fo lLovring control message

HOST(x) Control link HOST(y)

EKQ PRITmiddot1 a 1 2

ENQ Enquiry for connection establishment (o ne ASCII character-)

PRIN Cormection type pr-Imar y (one special charact er-)

012 Outgoing link It is a decimal number- (3 ASCII character-s )

eg 1ink 12

This link il has been cle t ernined by t he HOST(x) Net work

program (See Jrnplertentatoon 33Y

(ii) HOSl(y) acknovrIedge s by s ending back the fo110ling cont r ol

messaee

HOST(x) Control 1i nk HOSl(y) ~

ACK ENQ PRIIJi a 1 2 a 1 5

ACK Positive acknowledgment (one ASCI I charact er)

ENQ PKUmiddot1 a 1 2 Same meaning as above IhLs part of t he message is

retlwned for ch~cking purposes

015 Incoirlng liroK II It fo11013 the sa718 pat ter n as the outgofng

Lfnk 1 Tni s 1inlc If has been detcmnind by t he HOai (y ) Network

15

progr~m

Now the connection is establfshed it will use links i12

and 15 101 exchanging user rressages The connection is sald

to be in a prc--Log-dn state ie the remote HOSrr(y) expects

its standard log-in pr-ocedures

By neans of TRANSfI subroutines refcrrin2 to the primary connection

the lIOSrl(x) user is able to s lgn-Jn into the HOS-f(y) oper-ating system and

then to call for the liRSA program (HOST (y) user program)

lhe Network programs at both ends 1ill use the link 12 and 15

for passIng along messages These messages are standard messages whose conshy

tents serve for log in sequence

A trivial exarnple could be

HOSl(x) Prim Link 112 HOST(y)--- -)

S I G N - I N X X

HOST (x ) Prim Linllt 15 HOsr(y)

REA D Y

HOST (x) Prim Link 12 HOST(y)

U R S A

(c) Open an auxiliary connection (OPEHNJXI)

In a very slml Lar manner as (2) an auxiliary connection is estabshy

lished between HOSl(x) and HOSrr(y) For so doing control messages are

exchanged over the control link

IIOSI(x) Control link HOST(y)--gt B~Q middotAUX middot 0 2 5

Hosrr(x) ltf-__~~Tltrol link _ HOSTey) -

ACK FJmiddotrq AUX 0 2 5 0 2 1

16

----

NOVI the auxi lturv connec t ion i s e s t ablished it 1J11 usc Li nks 1 25 and 21

By neans of THljJ~l subroutt ncs r efer-r ins t o the auxlLlary COshy

ne ction the users at both ends can exchange data

HOST (x) Aux Idnk 25 HOSI(y)

X X X X ~

HOST(x) Aux Izlnk 121 HOST(y)lt X X

etc -

(e) Close connectIons (CLOSE)

This i s carried out in a sdmlLar manner as (a) Ihe user calls a

CLOSE subrout i ne and then the Hetwor k pr cgrams at bot h ends exchange

~ontrol messages

HOSl(x) Control Link HOS1(y)-raquo zor 0 0 1middot 0 1 2

End of transmi s sion (one ASCII character-)

001 No of connections to be closed C3 deci mal ASCII characters )

o 1 2 Out gqing link II to be clos ed

lhen HOsr(y) acknowledges bact as in (a)

HOST (x) ~_ _ C_ontrol Link HOST(y)

ACK EOI o o 1 o 1 2 o 1 5

Remark 1 _ In (a) (c) and (e) HOS(y) may answer- back a mes sage includinG

a negative acknowledgnent character I~ Allt instead of ACK Thi s f or

17

many various reasons such as wrong sequence connec tion already

opened and so forth The nes sage could be NJlX nm where Ij~l)

i s an alphanumerdcal character- indLcat ing in a coded Iorrn why

the prcvious bIoclr has been rctuscd Upon receivirg back such

acknowledgmcnt a HOST (x ) ill r epeat its measage until llosrr (y)

accepts it 1m emergency procedur e vii 11 t ake place if too many

successive lNJlX me ss age s occur

Rernark 2 - On each of the above iJlustr2tions (arrows) only the mess ege text

i s represented In fact complete rresseges (wi th Ieader- marklng

pac Id lng ) aregt exch angec d over tnese lJnJcs

18

shy

3 JiIIPIEMENrrA~ION IiI GOEr))

31 Introduction t o GOnDO

Gonro is a time--sharing sy stem implemented on 5 DS Si glla 7 vTe

outline below so~~ of the characteristics rel evan t to our paper

311 G01100 file system

lhe file system is page oriented It is compos ed of files and

directories A file consists of a heading and a number- of pages vhich

compose the body of t he file A director-y consists of a rnmoer of entries

that point to either files or other directoz-Ies

312 GOPro proce ss

A process is a prograll (procedures and data) plus its l ogical environshy

ment In other words a process is a program which is known and controlled

by the GOHDO scheduler

A user (a job) may have several processes as different as ccmpiler

loader eeli tor application pr-ogr-am etc A process is created through

a system call (FORK)

lhe space a pi -ocess can refer to is the Vfr -cual Space of 128k word

length A part (~k) of it is reserved for the operating system the

other part (12mc) is directly accessed by the user This later may fill

or modify its par-t of the virtual sp ace upon couplIng ~ (See be Icw

19

servfce calls) pages taken from clifferomt files Pirule 3 illustrates

this coupling

A process can request for services by ITem1S of sysuetn calls Ihe syatcm

calls rc levant to OLU paper are

vlAKE for atl)aJdng (set active) a sleeping process

SLEEP for putting a~leep another process (or itself)

COUPLE for couplfng a page from the file space to the virtuaJ

space

A process ordinarily runs in slave mode However- if jt is set up as an IO process it can access privileged instructions

Processes cen share data through files attached to rnafI box

directorles

Remark Ihrough thts note the words procecs and program are used inter-middot

changeably

20

-middot----- 2 f

r G

--r

fmiddot -q

IL

Lshy

- _ _ ~ _ _- ~ --- -shy- -_ _- ~ _

kshy---_ - shy _ __

- - r--- _-- shy ---11 ~ L shy ---1

- --shy - i

I I 1

1 __shy

_ -

- -shy --------middot-middot-----middot---middot1~

------------- ---I

i

- bull __ e _ _ bull bull _ - - -__----

rZ J I - --_middot_- ------middotmiddot--1 r =-~ ~=~- I middot

- - - - --- - -- 1 I ______~ _ __j

_ middotmiddot- middot----1 _------_- ~

___

f-) 2shy

- _-

i----- -- - middot-middot middot--- shy ~ - -_ _-------__shyr------shyj - -f ~---- - ----1 I--____----

-

- rmiddot middot~ - 1----- -----1 j

~----------middot1 ( r----------middotshyI --~ middotmiddot --------

c bull I ( I

I T - ~ Cv _ ~ ~__ _~_L _J ~ ~~ ~_ __~ _ _

~

1

32 Software Grgan~ z ation Overvie===--- - - - _ ------ _ -- - - -- -- --

Ffgure 11 illustrates the overall organizatLon

The syntem i s based upon t wo matn pr ogr-ams

Handler- bull

lmiddotne HandIer- is an IO Lnter-rupt r outine closely related to the

]JVlP-HOST hardware interface It serves the Network process in t r ansmi tting

and receivirJg network rre ss~es

The N~tor~( process carries out moat of the work

Its main function is to satisfy the users middot requests for opening

eloslng connectLons and trammittingrecejving network messages bull For so

doi ng

it establfshcs identj_fies and breaks the linl-lts upon llsjnpound the

all ocat i on tables (HCSl CON1mc-f IUPlJl LINK see 33 11 )

i t is aJ28 of the pr-esence of neraquo users upon exploring the net-or mail box directorv

i t comnunicates with active users by means of shared page s through which messages and r equests are exchanged ( connect i on shared pages r

i t formats inconingoutgoiflg ne ss ages in a working page This worklng page has an extension (eme r-gency rine)

it conmunicates with the Handler by means of a shared page (I O shy

cotrmuni cat i on page ) which contains the I O ccmmnlcatton buffers

22

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 7: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

One of the advantages to define a connectLon as a pair of dh--ecshy

tional Jinks is that a HOSl will have the capability to loop hlmse If through

its ll-IP (it opens a connection to himself) lhis featur-e can be useful fo

debugging purposes

Flirther on through this paper we rill not use any more the

attribute logical when referring either to links or- conncct tons

222 Connection types

In order- to reach a high f l exi bi JJt y in utilizing the IJetlorx

there is advantage to classify the connections

Three types of connections are distinguished (a) control conshy

nection (b) pr-Imary connection and (c) auxiliary connection

(a) Control connection

This connection has a special status and is unique between a pafr

of HOST eg if the Hetlorl( includes x HOsr there are at most x s s

control connections issued fro~ one HOST

rlhis connectdonis used by remote Netwcrk programs for passlng

control messages back and forth Control messages are basic to the

estblishmentdeletion of standard ~onnections (See 242)

Note here that this control connectlen is the only connection

which is ignored by the HOsr users

Let us describe nO~T the standard connections

(b) Primary connectLon

These connections connect remote users

A pr-Imary connection

7lt Is unique between a pair- of users ani is the firt to be

6

established

+ Is Irtelctype-likel Le

- ASCII characters are transmitted

- Echos are generated by the r-emote HOST

~he recelving~

HOSTs scan for break characters

- The tr-ansmfsslon rate is s Icw (less them 20 characterssec)

Is mainly used for transmitting control commands eg for log-in into a rerrote HOST oper-atIng system

(c) AUXiliary connection

~hese connections also connect remote users

An aUXiliary cor~ection

Is opened in parallel to a primary connection and is not

unique i e several auxiliary connactdons can be establisted

Is used for transmitting large volumes of data (file oriented) bull

Is useo either for blnary or character trarmtssfon

7

middot

Imiddot I

1- u ) I Q

~ -r

lt1 - gt -

--1

8

bull i t

Ihe HOSl comnorucate lith each other via mssafES A message rnays

vary 1n length up to 8G95 bits (See dcwn be low the structure) ~ Larger

tranmlission must tberltfore be broken Lip by HOST users into a sequence of

such messages

A nessage structure is identified on fieure 2

It includes the follo1ing

(1) A leader (32 bits) Fleasage type SourceDestination HOSI

link number (See BBH report No 1822 pp 13 17)

(2) A marklng (~2 bits when sent by the Sigma ~() for starting a

message text on a word boundary (See BBN report No 1822

pp 17 19)

(3) Ihe message text (I-lax 8015 pits for the Sigma 7) It mostly

consists of user I s text However- it may represent information

for use by the Network prograre (Control messages see 2 112)

(4) A checksum (J6 bits) Its purpose is to check at the HOSr

level the right transmission of a nessage (Changes in bit

pattern or packet traTlsposition packets are defined in BEN

report No 1763 p 13) See down beIow for checksum calculation

(5) A padding for so~vin~ word 1encth mismatch problems (See

BUN report Ho 1822 p 17 19) e Ac far as sottware is conshy

middot cer ned padding is only invoived at message r ecept i on for

delLneatLng mesaage ends (At transmission the hardware takes

care of the paddlng )

9

Q

) Remark

checkstml calculation

The last 16 bits of every message sent by a HOSI is a checksum

This checksum is crmputed on the whole message IncIuctlng clj1~ mDr~dng but

excluding the 32 bit leader and any padding To compute the checksum

L Consider the message to be padded with zeroes to a length of

86110 bits

2 Section the 86 110 bits into six lIIlIO-bit segments SO Sr 85

3 Section each l4Ll0-bit segment S into go 1G-middotbit elerrents

to t 1 t 89middot

l Define a function G) whfch takes two 16-bit elements as

inputs and outputs a 16-bit element This runctton is

defined by

t t = t 0 t if t + t lt 216

m n m n m n

16 + 1 216 t - (plusmnl t = t t - 2 if t + t ~ middot m n m n m n

5 For each 1440-bit segment Sj compute Ci = K(Si) where

K(S) = to t 1 G) ~89

6 Compute C= Co(plusmn) C1 d) cl 0 c2 G)c2 f) c2 ~C2middotmiddotmiddotmiddotmiddot 0)c5

(Netlee that Cl G) Cl is just C1

rot~ted left one bit)

The nu~ber C is the checksu~ The reason the C are rotated by i bits isi

to detect packet transposition

-10

~ ~ ~ ~

b 3 2 l Lgt lt __ __ _---_- ----_ - - - _- --- __--- - _____gt

1 G ) t lt ~ (~ I y )- V (J ~~- _ -_ _ - _ _- - ~ ~ ~ ~ _- - - - - - -- _~ ~ ~- - - ~ _ _- ~ ~--

i

~ ~ ~I I ~ ~ 1

0J

1) crrltmiddotmiddotLJ ~

- vr Mgt (12shy

i 11 _~

II I

01S i

1

(I- I ~

MO~ Q~(C

)

~

- - I I~ -__r - ~

U 11

2 11 USCI 1ransQctiorr ===--shy

From what has been discussed untlI 11c1o2 the Nettorl- appears to a

user as a bunch of connections Let us nOVI explafn h O1 one can make usc of

these connections

First we are going to describe the set of transactio~s that a

user should be able to access for ut lLizlng the connection faciltties

Ihen Ie are going to explain the role of the Network program for

the execution of these transactions Ihis will cover a HOST-HOST protocol

in whfch control messages are exchanged behieen network programs

For- explanatIon purposes those transactIons are represented at

the user level in the for~i of subr-cutIne calls and pararacter-s Hcvever-

this does not imply at all that the implercentation lil1 closely follogt[ this

pattern (He aremcr-e involved here nth the description than the i mpleshy

mentation aspect see chapter 3)

241 Ltst of transactions

Listed beloiI are the descriptions of SUbroutines that could he at

users disposal for creattngbreaking connectIcns and transmittlnr-eceiving

data over them This set of subroutines can be considered as a kind of

interface between the user level and the network progr-am level

OPENPRITmiddot1 (COi rW~GrrD HOSTID RUFFJDDH [021J)

CONiECl1D ConnectLon iccntifiction f

12

HOSlID Remote lIOsr ldentiflcation If

BlJFFADDH Buffer address for Lncomlng messages ~

OPTmiddot Optlons s~ch as message req~tl~daftc~ successful connection

estabLtshnent full e cho (each message is traJ1~nlittcd back

by the r emot e HOSl for checking purpose etc

Remark [ ] means optional

(b) Open auxiliar y cormection

OPENAUX (COi-JHECTID BUFFADDR N [OI1J)

CONNEcrID Connection identification II ie the identification

of the corrtsponding prjj~ connection (First a user

has to open a primary connection)

BUFFJiDDR Same meaning as above

N Nlmlber of auxiliary connections t hat should be opend

OPT Same meaning as above

(c) Trans~tssion over connection

TRANSfl (COlTIillCrID NO BUFFADDR N [OFlJ)

CONNEcrID Connection identification i

NO Connection The primary cormectLon is always refer-red to

as bei ne NO O middotm auxiliary connection number corresponds

to t he order in ~1ich it has been established (TI1e first

auxiliary opened is referred to by NO = 1 the second by

NO = 2 etc )

BUFFJIDDR Buffer addr-ess of the message to be transmitted

N Hessase size (byte numbcr-)

13

OPJ Options such as data type (characters vs vlnary) trac e bit e tc )

(d) Close connecti on

CLOSE ( COHNECIID [N] [NO])

conlEClID Connecti on indcnt ification I

N Numo ershy of connect ions t o be cIosed If Omitted all connectt ons

in use by t he user included the primary l ink are closed

NO In case of N djfferent from zero this numb er- indicates the

auxiJiaYj connecti~1 U to be closed

242 HOST-HOST prot oc~l and control me s ~ 8ges

Ihe HOST-HOST protocol is carried out by the Nebwor k progr ams I t -

mainly involves the execution of the previous transactions (initiated by

( ) USe~3) end covers a HOST- Hosr dialogue

This dialogue fulfills control procedure s f or operring or br-eak l ng

conrle ct i ons and consists in exchanging control messages over the control

linl A control message has a structure identical to that of a regular

nessage it only differs from it by the text vThich is for use by Network

programs instead of user-s

Let us insist that this control procedure i s ccmpIet eIy unreLated

to transmission control procedures implemented in the n1p computers He are

here at the Hosrr level (Network programs) and t herefore control mcsaagcs

that are going to be described beLow ar e transmitted over the Inp like s

regular messases

Consider nov the previous transactdons arid describe for each of

III

explained by Iil8 aTlS of trivia l ex aumpl c s

e suppos e that c HOSl(x) user 1D11ts t o t alk to a remote HOST(y)

progr-am called URSA

The HOsel (x) s Network program waken up (See 33) by a use f or

opening a pr-Imary connection s t ar-t s a dia logue with the HOST (y) s NetlOrk

program

(L) HOST(x) sends t he fo lLovring control message

HOST(x) Control link HOST(y)

EKQ PRITmiddot1 a 1 2

ENQ Enquiry for connection establishment (o ne ASCII character-)

PRIN Cormection type pr-Imar y (one special charact er-)

012 Outgoing link It is a decimal number- (3 ASCII character-s )

eg 1ink 12

This link il has been cle t ernined by t he HOST(x) Net work

program (See Jrnplertentatoon 33Y

(ii) HOSl(y) acknovrIedge s by s ending back the fo110ling cont r ol

messaee

HOST(x) Control 1i nk HOSl(y) ~

ACK ENQ PRIIJi a 1 2 a 1 5

ACK Positive acknowledgment (one ASCI I charact er)

ENQ PKUmiddot1 a 1 2 Same meaning as above IhLs part of t he message is

retlwned for ch~cking purposes

015 Incoirlng liroK II It fo11013 the sa718 pat ter n as the outgofng

Lfnk 1 Tni s 1inlc If has been detcmnind by t he HOai (y ) Network

15

progr~m

Now the connection is establfshed it will use links i12

and 15 101 exchanging user rressages The connection is sald

to be in a prc--Log-dn state ie the remote HOSrr(y) expects

its standard log-in pr-ocedures

By neans of TRANSfI subroutines refcrrin2 to the primary connection

the lIOSrl(x) user is able to s lgn-Jn into the HOS-f(y) oper-ating system and

then to call for the liRSA program (HOST (y) user program)

lhe Network programs at both ends 1ill use the link 12 and 15

for passIng along messages These messages are standard messages whose conshy

tents serve for log in sequence

A trivial exarnple could be

HOSl(x) Prim Link 112 HOST(y)--- -)

S I G N - I N X X

HOST (x ) Prim Linllt 15 HOsr(y)

REA D Y

HOST (x) Prim Link 12 HOST(y)

U R S A

(c) Open an auxiliary connection (OPEHNJXI)

In a very slml Lar manner as (2) an auxiliary connection is estabshy

lished between HOSl(x) and HOSrr(y) For so doing control messages are

exchanged over the control link

IIOSI(x) Control link HOST(y)--gt B~Q middotAUX middot 0 2 5

Hosrr(x) ltf-__~~Tltrol link _ HOSTey) -

ACK FJmiddotrq AUX 0 2 5 0 2 1

16

----

NOVI the auxi lturv connec t ion i s e s t ablished it 1J11 usc Li nks 1 25 and 21

By neans of THljJ~l subroutt ncs r efer-r ins t o the auxlLlary COshy

ne ction the users at both ends can exchange data

HOST (x) Aux Idnk 25 HOSI(y)

X X X X ~

HOST(x) Aux Izlnk 121 HOST(y)lt X X

etc -

(e) Close connectIons (CLOSE)

This i s carried out in a sdmlLar manner as (a) Ihe user calls a

CLOSE subrout i ne and then the Hetwor k pr cgrams at bot h ends exchange

~ontrol messages

HOSl(x) Control Link HOS1(y)-raquo zor 0 0 1middot 0 1 2

End of transmi s sion (one ASCII character-)

001 No of connections to be closed C3 deci mal ASCII characters )

o 1 2 Out gqing link II to be clos ed

lhen HOsr(y) acknowledges bact as in (a)

HOST (x) ~_ _ C_ontrol Link HOST(y)

ACK EOI o o 1 o 1 2 o 1 5

Remark 1 _ In (a) (c) and (e) HOS(y) may answer- back a mes sage includinG

a negative acknowledgnent character I~ Allt instead of ACK Thi s f or

17

many various reasons such as wrong sequence connec tion already

opened and so forth The nes sage could be NJlX nm where Ij~l)

i s an alphanumerdcal character- indLcat ing in a coded Iorrn why

the prcvious bIoclr has been rctuscd Upon receivirg back such

acknowledgmcnt a HOST (x ) ill r epeat its measage until llosrr (y)

accepts it 1m emergency procedur e vii 11 t ake place if too many

successive lNJlX me ss age s occur

Rernark 2 - On each of the above iJlustr2tions (arrows) only the mess ege text

i s represented In fact complete rresseges (wi th Ieader- marklng

pac Id lng ) aregt exch angec d over tnese lJnJcs

18

shy

3 JiIIPIEMENrrA~ION IiI GOEr))

31 Introduction t o GOnDO

Gonro is a time--sharing sy stem implemented on 5 DS Si glla 7 vTe

outline below so~~ of the characteristics rel evan t to our paper

311 G01100 file system

lhe file system is page oriented It is compos ed of files and

directories A file consists of a heading and a number- of pages vhich

compose the body of t he file A director-y consists of a rnmoer of entries

that point to either files or other directoz-Ies

312 GOPro proce ss

A process is a prograll (procedures and data) plus its l ogical environshy

ment In other words a process is a program which is known and controlled

by the GOHDO scheduler

A user (a job) may have several processes as different as ccmpiler

loader eeli tor application pr-ogr-am etc A process is created through

a system call (FORK)

lhe space a pi -ocess can refer to is the Vfr -cual Space of 128k word

length A part (~k) of it is reserved for the operating system the

other part (12mc) is directly accessed by the user This later may fill

or modify its par-t of the virtual sp ace upon couplIng ~ (See be Icw

19

servfce calls) pages taken from clifferomt files Pirule 3 illustrates

this coupling

A process can request for services by ITem1S of sysuetn calls Ihe syatcm

calls rc levant to OLU paper are

vlAKE for atl)aJdng (set active) a sleeping process

SLEEP for putting a~leep another process (or itself)

COUPLE for couplfng a page from the file space to the virtuaJ

space

A process ordinarily runs in slave mode However- if jt is set up as an IO process it can access privileged instructions

Processes cen share data through files attached to rnafI box

directorles

Remark Ihrough thts note the words procecs and program are used inter-middot

changeably

20

-middot----- 2 f

r G

--r

fmiddot -q

IL

Lshy

- _ _ ~ _ _- ~ --- -shy- -_ _- ~ _

kshy---_ - shy _ __

- - r--- _-- shy ---11 ~ L shy ---1

- --shy - i

I I 1

1 __shy

_ -

- -shy --------middot-middot-----middot---middot1~

------------- ---I

i

- bull __ e _ _ bull bull _ - - -__----

rZ J I - --_middot_- ------middotmiddot--1 r =-~ ~=~- I middot

- - - - --- - -- 1 I ______~ _ __j

_ middotmiddot- middot----1 _------_- ~

___

f-) 2shy

- _-

i----- -- - middot-middot middot--- shy ~ - -_ _-------__shyr------shyj - -f ~---- - ----1 I--____----

-

- rmiddot middot~ - 1----- -----1 j

~----------middot1 ( r----------middotshyI --~ middotmiddot --------

c bull I ( I

I T - ~ Cv _ ~ ~__ _~_L _J ~ ~~ ~_ __~ _ _

~

1

32 Software Grgan~ z ation Overvie===--- - - - _ ------ _ -- - - -- -- --

Ffgure 11 illustrates the overall organizatLon

The syntem i s based upon t wo matn pr ogr-ams

Handler- bull

lmiddotne HandIer- is an IO Lnter-rupt r outine closely related to the

]JVlP-HOST hardware interface It serves the Network process in t r ansmi tting

and receivirJg network rre ss~es

The N~tor~( process carries out moat of the work

Its main function is to satisfy the users middot requests for opening

eloslng connectLons and trammittingrecejving network messages bull For so

doi ng

it establfshcs identj_fies and breaks the linl-lts upon llsjnpound the

all ocat i on tables (HCSl CON1mc-f IUPlJl LINK see 33 11 )

i t is aJ28 of the pr-esence of neraquo users upon exploring the net-or mail box directorv

i t comnunicates with active users by means of shared page s through which messages and r equests are exchanged ( connect i on shared pages r

i t formats inconingoutgoiflg ne ss ages in a working page This worklng page has an extension (eme r-gency rine)

it conmunicates with the Handler by means of a shared page (I O shy

cotrmuni cat i on page ) which contains the I O ccmmnlcatton buffers

22

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 8: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

established

+ Is Irtelctype-likel Le

- ASCII characters are transmitted

- Echos are generated by the r-emote HOST

~he recelving~

HOSTs scan for break characters

- The tr-ansmfsslon rate is s Icw (less them 20 characterssec)

Is mainly used for transmitting control commands eg for log-in into a rerrote HOST oper-atIng system

(c) AUXiliary connection

~hese connections also connect remote users

An aUXiliary cor~ection

Is opened in parallel to a primary connection and is not

unique i e several auxiliary connactdons can be establisted

Is used for transmitting large volumes of data (file oriented) bull

Is useo either for blnary or character trarmtssfon

7

middot

Imiddot I

1- u ) I Q

~ -r

lt1 - gt -

--1

8

bull i t

Ihe HOSl comnorucate lith each other via mssafES A message rnays

vary 1n length up to 8G95 bits (See dcwn be low the structure) ~ Larger

tranmlission must tberltfore be broken Lip by HOST users into a sequence of

such messages

A nessage structure is identified on fieure 2

It includes the follo1ing

(1) A leader (32 bits) Fleasage type SourceDestination HOSI

link number (See BBH report No 1822 pp 13 17)

(2) A marklng (~2 bits when sent by the Sigma ~() for starting a

message text on a word boundary (See BBN report No 1822

pp 17 19)

(3) Ihe message text (I-lax 8015 pits for the Sigma 7) It mostly

consists of user I s text However- it may represent information

for use by the Network prograre (Control messages see 2 112)

(4) A checksum (J6 bits) Its purpose is to check at the HOSr

level the right transmission of a nessage (Changes in bit

pattern or packet traTlsposition packets are defined in BEN

report No 1763 p 13) See down beIow for checksum calculation

(5) A padding for so~vin~ word 1encth mismatch problems (See

BUN report Ho 1822 p 17 19) e Ac far as sottware is conshy

middot cer ned padding is only invoived at message r ecept i on for

delLneatLng mesaage ends (At transmission the hardware takes

care of the paddlng )

9

Q

) Remark

checkstml calculation

The last 16 bits of every message sent by a HOSI is a checksum

This checksum is crmputed on the whole message IncIuctlng clj1~ mDr~dng but

excluding the 32 bit leader and any padding To compute the checksum

L Consider the message to be padded with zeroes to a length of

86110 bits

2 Section the 86 110 bits into six lIIlIO-bit segments SO Sr 85

3 Section each l4Ll0-bit segment S into go 1G-middotbit elerrents

to t 1 t 89middot

l Define a function G) whfch takes two 16-bit elements as

inputs and outputs a 16-bit element This runctton is

defined by

t t = t 0 t if t + t lt 216

m n m n m n

16 + 1 216 t - (plusmnl t = t t - 2 if t + t ~ middot m n m n m n

5 For each 1440-bit segment Sj compute Ci = K(Si) where

K(S) = to t 1 G) ~89

6 Compute C= Co(plusmn) C1 d) cl 0 c2 G)c2 f) c2 ~C2middotmiddotmiddotmiddotmiddot 0)c5

(Netlee that Cl G) Cl is just C1

rot~ted left one bit)

The nu~ber C is the checksu~ The reason the C are rotated by i bits isi

to detect packet transposition

-10

~ ~ ~ ~

b 3 2 l Lgt lt __ __ _---_- ----_ - - - _- --- __--- - _____gt

1 G ) t lt ~ (~ I y )- V (J ~~- _ -_ _ - _ _- - ~ ~ ~ ~ _- - - - - - -- _~ ~ ~- - - ~ _ _- ~ ~--

i

~ ~ ~I I ~ ~ 1

0J

1) crrltmiddotmiddotLJ ~

- vr Mgt (12shy

i 11 _~

II I

01S i

1

(I- I ~

MO~ Q~(C

)

~

- - I I~ -__r - ~

U 11

2 11 USCI 1ransQctiorr ===--shy

From what has been discussed untlI 11c1o2 the Nettorl- appears to a

user as a bunch of connections Let us nOVI explafn h O1 one can make usc of

these connections

First we are going to describe the set of transactio~s that a

user should be able to access for ut lLizlng the connection faciltties

Ihen Ie are going to explain the role of the Network program for

the execution of these transactions Ihis will cover a HOST-HOST protocol

in whfch control messages are exchanged behieen network programs

For- explanatIon purposes those transactIons are represented at

the user level in the for~i of subr-cutIne calls and pararacter-s Hcvever-

this does not imply at all that the implercentation lil1 closely follogt[ this

pattern (He aremcr-e involved here nth the description than the i mpleshy

mentation aspect see chapter 3)

241 Ltst of transactions

Listed beloiI are the descriptions of SUbroutines that could he at

users disposal for creattngbreaking connectIcns and transmittlnr-eceiving

data over them This set of subroutines can be considered as a kind of

interface between the user level and the network progr-am level

OPENPRITmiddot1 (COi rW~GrrD HOSTID RUFFJDDH [021J)

CONiECl1D ConnectLon iccntifiction f

12

HOSlID Remote lIOsr ldentiflcation If

BlJFFADDH Buffer address for Lncomlng messages ~

OPTmiddot Optlons s~ch as message req~tl~daftc~ successful connection

estabLtshnent full e cho (each message is traJ1~nlittcd back

by the r emot e HOSl for checking purpose etc

Remark [ ] means optional

(b) Open auxiliar y cormection

OPENAUX (COi-JHECTID BUFFADDR N [OI1J)

CONNEcrID Connection identification II ie the identification

of the corrtsponding prjj~ connection (First a user

has to open a primary connection)

BUFFJiDDR Same meaning as above

N Nlmlber of auxiliary connections t hat should be opend

OPT Same meaning as above

(c) Trans~tssion over connection

TRANSfl (COlTIillCrID NO BUFFADDR N [OFlJ)

CONNEcrID Connection identification i

NO Connection The primary cormectLon is always refer-red to

as bei ne NO O middotm auxiliary connection number corresponds

to t he order in ~1ich it has been established (TI1e first

auxiliary opened is referred to by NO = 1 the second by

NO = 2 etc )

BUFFJIDDR Buffer addr-ess of the message to be transmitted

N Hessase size (byte numbcr-)

13

OPJ Options such as data type (characters vs vlnary) trac e bit e tc )

(d) Close connecti on

CLOSE ( COHNECIID [N] [NO])

conlEClID Connecti on indcnt ification I

N Numo ershy of connect ions t o be cIosed If Omitted all connectt ons

in use by t he user included the primary l ink are closed

NO In case of N djfferent from zero this numb er- indicates the

auxiJiaYj connecti~1 U to be closed

242 HOST-HOST prot oc~l and control me s ~ 8ges

Ihe HOST-HOST protocol is carried out by the Nebwor k progr ams I t -

mainly involves the execution of the previous transactions (initiated by

( ) USe~3) end covers a HOST- Hosr dialogue

This dialogue fulfills control procedure s f or operring or br-eak l ng

conrle ct i ons and consists in exchanging control messages over the control

linl A control message has a structure identical to that of a regular

nessage it only differs from it by the text vThich is for use by Network

programs instead of user-s

Let us insist that this control procedure i s ccmpIet eIy unreLated

to transmission control procedures implemented in the n1p computers He are

here at the Hosrr level (Network programs) and t herefore control mcsaagcs

that are going to be described beLow ar e transmitted over the Inp like s

regular messases

Consider nov the previous transactdons arid describe for each of

III

explained by Iil8 aTlS of trivia l ex aumpl c s

e suppos e that c HOSl(x) user 1D11ts t o t alk to a remote HOST(y)

progr-am called URSA

The HOsel (x) s Network program waken up (See 33) by a use f or

opening a pr-Imary connection s t ar-t s a dia logue with the HOST (y) s NetlOrk

program

(L) HOST(x) sends t he fo lLovring control message

HOST(x) Control link HOST(y)

EKQ PRITmiddot1 a 1 2

ENQ Enquiry for connection establishment (o ne ASCII character-)

PRIN Cormection type pr-Imar y (one special charact er-)

012 Outgoing link It is a decimal number- (3 ASCII character-s )

eg 1ink 12

This link il has been cle t ernined by t he HOST(x) Net work

program (See Jrnplertentatoon 33Y

(ii) HOSl(y) acknovrIedge s by s ending back the fo110ling cont r ol

messaee

HOST(x) Control 1i nk HOSl(y) ~

ACK ENQ PRIIJi a 1 2 a 1 5

ACK Positive acknowledgment (one ASCI I charact er)

ENQ PKUmiddot1 a 1 2 Same meaning as above IhLs part of t he message is

retlwned for ch~cking purposes

015 Incoirlng liroK II It fo11013 the sa718 pat ter n as the outgofng

Lfnk 1 Tni s 1inlc If has been detcmnind by t he HOai (y ) Network

15

progr~m

Now the connection is establfshed it will use links i12

and 15 101 exchanging user rressages The connection is sald

to be in a prc--Log-dn state ie the remote HOSrr(y) expects

its standard log-in pr-ocedures

By neans of TRANSfI subroutines refcrrin2 to the primary connection

the lIOSrl(x) user is able to s lgn-Jn into the HOS-f(y) oper-ating system and

then to call for the liRSA program (HOST (y) user program)

lhe Network programs at both ends 1ill use the link 12 and 15

for passIng along messages These messages are standard messages whose conshy

tents serve for log in sequence

A trivial exarnple could be

HOSl(x) Prim Link 112 HOST(y)--- -)

S I G N - I N X X

HOST (x ) Prim Linllt 15 HOsr(y)

REA D Y

HOST (x) Prim Link 12 HOST(y)

U R S A

(c) Open an auxiliary connection (OPEHNJXI)

In a very slml Lar manner as (2) an auxiliary connection is estabshy

lished between HOSl(x) and HOSrr(y) For so doing control messages are

exchanged over the control link

IIOSI(x) Control link HOST(y)--gt B~Q middotAUX middot 0 2 5

Hosrr(x) ltf-__~~Tltrol link _ HOSTey) -

ACK FJmiddotrq AUX 0 2 5 0 2 1

16

----

NOVI the auxi lturv connec t ion i s e s t ablished it 1J11 usc Li nks 1 25 and 21

By neans of THljJ~l subroutt ncs r efer-r ins t o the auxlLlary COshy

ne ction the users at both ends can exchange data

HOST (x) Aux Idnk 25 HOSI(y)

X X X X ~

HOST(x) Aux Izlnk 121 HOST(y)lt X X

etc -

(e) Close connectIons (CLOSE)

This i s carried out in a sdmlLar manner as (a) Ihe user calls a

CLOSE subrout i ne and then the Hetwor k pr cgrams at bot h ends exchange

~ontrol messages

HOSl(x) Control Link HOS1(y)-raquo zor 0 0 1middot 0 1 2

End of transmi s sion (one ASCII character-)

001 No of connections to be closed C3 deci mal ASCII characters )

o 1 2 Out gqing link II to be clos ed

lhen HOsr(y) acknowledges bact as in (a)

HOST (x) ~_ _ C_ontrol Link HOST(y)

ACK EOI o o 1 o 1 2 o 1 5

Remark 1 _ In (a) (c) and (e) HOS(y) may answer- back a mes sage includinG

a negative acknowledgnent character I~ Allt instead of ACK Thi s f or

17

many various reasons such as wrong sequence connec tion already

opened and so forth The nes sage could be NJlX nm where Ij~l)

i s an alphanumerdcal character- indLcat ing in a coded Iorrn why

the prcvious bIoclr has been rctuscd Upon receivirg back such

acknowledgmcnt a HOST (x ) ill r epeat its measage until llosrr (y)

accepts it 1m emergency procedur e vii 11 t ake place if too many

successive lNJlX me ss age s occur

Rernark 2 - On each of the above iJlustr2tions (arrows) only the mess ege text

i s represented In fact complete rresseges (wi th Ieader- marklng

pac Id lng ) aregt exch angec d over tnese lJnJcs

18

shy

3 JiIIPIEMENrrA~ION IiI GOEr))

31 Introduction t o GOnDO

Gonro is a time--sharing sy stem implemented on 5 DS Si glla 7 vTe

outline below so~~ of the characteristics rel evan t to our paper

311 G01100 file system

lhe file system is page oriented It is compos ed of files and

directories A file consists of a heading and a number- of pages vhich

compose the body of t he file A director-y consists of a rnmoer of entries

that point to either files or other directoz-Ies

312 GOPro proce ss

A process is a prograll (procedures and data) plus its l ogical environshy

ment In other words a process is a program which is known and controlled

by the GOHDO scheduler

A user (a job) may have several processes as different as ccmpiler

loader eeli tor application pr-ogr-am etc A process is created through

a system call (FORK)

lhe space a pi -ocess can refer to is the Vfr -cual Space of 128k word

length A part (~k) of it is reserved for the operating system the

other part (12mc) is directly accessed by the user This later may fill

or modify its par-t of the virtual sp ace upon couplIng ~ (See be Icw

19

servfce calls) pages taken from clifferomt files Pirule 3 illustrates

this coupling

A process can request for services by ITem1S of sysuetn calls Ihe syatcm

calls rc levant to OLU paper are

vlAKE for atl)aJdng (set active) a sleeping process

SLEEP for putting a~leep another process (or itself)

COUPLE for couplfng a page from the file space to the virtuaJ

space

A process ordinarily runs in slave mode However- if jt is set up as an IO process it can access privileged instructions

Processes cen share data through files attached to rnafI box

directorles

Remark Ihrough thts note the words procecs and program are used inter-middot

changeably

20

-middot----- 2 f

r G

--r

fmiddot -q

IL

Lshy

- _ _ ~ _ _- ~ --- -shy- -_ _- ~ _

kshy---_ - shy _ __

- - r--- _-- shy ---11 ~ L shy ---1

- --shy - i

I I 1

1 __shy

_ -

- -shy --------middot-middot-----middot---middot1~

------------- ---I

i

- bull __ e _ _ bull bull _ - - -__----

rZ J I - --_middot_- ------middotmiddot--1 r =-~ ~=~- I middot

- - - - --- - -- 1 I ______~ _ __j

_ middotmiddot- middot----1 _------_- ~

___

f-) 2shy

- _-

i----- -- - middot-middot middot--- shy ~ - -_ _-------__shyr------shyj - -f ~---- - ----1 I--____----

-

- rmiddot middot~ - 1----- -----1 j

~----------middot1 ( r----------middotshyI --~ middotmiddot --------

c bull I ( I

I T - ~ Cv _ ~ ~__ _~_L _J ~ ~~ ~_ __~ _ _

~

1

32 Software Grgan~ z ation Overvie===--- - - - _ ------ _ -- - - -- -- --

Ffgure 11 illustrates the overall organizatLon

The syntem i s based upon t wo matn pr ogr-ams

Handler- bull

lmiddotne HandIer- is an IO Lnter-rupt r outine closely related to the

]JVlP-HOST hardware interface It serves the Network process in t r ansmi tting

and receivirJg network rre ss~es

The N~tor~( process carries out moat of the work

Its main function is to satisfy the users middot requests for opening

eloslng connectLons and trammittingrecejving network messages bull For so

doi ng

it establfshcs identj_fies and breaks the linl-lts upon llsjnpound the

all ocat i on tables (HCSl CON1mc-f IUPlJl LINK see 33 11 )

i t is aJ28 of the pr-esence of neraquo users upon exploring the net-or mail box directorv

i t comnunicates with active users by means of shared page s through which messages and r equests are exchanged ( connect i on shared pages r

i t formats inconingoutgoiflg ne ss ages in a working page This worklng page has an extension (eme r-gency rine)

it conmunicates with the Handler by means of a shared page (I O shy

cotrmuni cat i on page ) which contains the I O ccmmnlcatton buffers

22

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 9: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

middot

Imiddot I

1- u ) I Q

~ -r

lt1 - gt -

--1

8

bull i t

Ihe HOSl comnorucate lith each other via mssafES A message rnays

vary 1n length up to 8G95 bits (See dcwn be low the structure) ~ Larger

tranmlission must tberltfore be broken Lip by HOST users into a sequence of

such messages

A nessage structure is identified on fieure 2

It includes the follo1ing

(1) A leader (32 bits) Fleasage type SourceDestination HOSI

link number (See BBH report No 1822 pp 13 17)

(2) A marklng (~2 bits when sent by the Sigma ~() for starting a

message text on a word boundary (See BBN report No 1822

pp 17 19)

(3) Ihe message text (I-lax 8015 pits for the Sigma 7) It mostly

consists of user I s text However- it may represent information

for use by the Network prograre (Control messages see 2 112)

(4) A checksum (J6 bits) Its purpose is to check at the HOSr

level the right transmission of a nessage (Changes in bit

pattern or packet traTlsposition packets are defined in BEN

report No 1763 p 13) See down beIow for checksum calculation

(5) A padding for so~vin~ word 1encth mismatch problems (See

BUN report Ho 1822 p 17 19) e Ac far as sottware is conshy

middot cer ned padding is only invoived at message r ecept i on for

delLneatLng mesaage ends (At transmission the hardware takes

care of the paddlng )

9

Q

) Remark

checkstml calculation

The last 16 bits of every message sent by a HOSI is a checksum

This checksum is crmputed on the whole message IncIuctlng clj1~ mDr~dng but

excluding the 32 bit leader and any padding To compute the checksum

L Consider the message to be padded with zeroes to a length of

86110 bits

2 Section the 86 110 bits into six lIIlIO-bit segments SO Sr 85

3 Section each l4Ll0-bit segment S into go 1G-middotbit elerrents

to t 1 t 89middot

l Define a function G) whfch takes two 16-bit elements as

inputs and outputs a 16-bit element This runctton is

defined by

t t = t 0 t if t + t lt 216

m n m n m n

16 + 1 216 t - (plusmnl t = t t - 2 if t + t ~ middot m n m n m n

5 For each 1440-bit segment Sj compute Ci = K(Si) where

K(S) = to t 1 G) ~89

6 Compute C= Co(plusmn) C1 d) cl 0 c2 G)c2 f) c2 ~C2middotmiddotmiddotmiddotmiddot 0)c5

(Netlee that Cl G) Cl is just C1

rot~ted left one bit)

The nu~ber C is the checksu~ The reason the C are rotated by i bits isi

to detect packet transposition

-10

~ ~ ~ ~

b 3 2 l Lgt lt __ __ _---_- ----_ - - - _- --- __--- - _____gt

1 G ) t lt ~ (~ I y )- V (J ~~- _ -_ _ - _ _- - ~ ~ ~ ~ _- - - - - - -- _~ ~ ~- - - ~ _ _- ~ ~--

i

~ ~ ~I I ~ ~ 1

0J

1) crrltmiddotmiddotLJ ~

- vr Mgt (12shy

i 11 _~

II I

01S i

1

(I- I ~

MO~ Q~(C

)

~

- - I I~ -__r - ~

U 11

2 11 USCI 1ransQctiorr ===--shy

From what has been discussed untlI 11c1o2 the Nettorl- appears to a

user as a bunch of connections Let us nOVI explafn h O1 one can make usc of

these connections

First we are going to describe the set of transactio~s that a

user should be able to access for ut lLizlng the connection faciltties

Ihen Ie are going to explain the role of the Network program for

the execution of these transactions Ihis will cover a HOST-HOST protocol

in whfch control messages are exchanged behieen network programs

For- explanatIon purposes those transactIons are represented at

the user level in the for~i of subr-cutIne calls and pararacter-s Hcvever-

this does not imply at all that the implercentation lil1 closely follogt[ this

pattern (He aremcr-e involved here nth the description than the i mpleshy

mentation aspect see chapter 3)

241 Ltst of transactions

Listed beloiI are the descriptions of SUbroutines that could he at

users disposal for creattngbreaking connectIcns and transmittlnr-eceiving

data over them This set of subroutines can be considered as a kind of

interface between the user level and the network progr-am level

OPENPRITmiddot1 (COi rW~GrrD HOSTID RUFFJDDH [021J)

CONiECl1D ConnectLon iccntifiction f

12

HOSlID Remote lIOsr ldentiflcation If

BlJFFADDH Buffer address for Lncomlng messages ~

OPTmiddot Optlons s~ch as message req~tl~daftc~ successful connection

estabLtshnent full e cho (each message is traJ1~nlittcd back

by the r emot e HOSl for checking purpose etc

Remark [ ] means optional

(b) Open auxiliar y cormection

OPENAUX (COi-JHECTID BUFFADDR N [OI1J)

CONNEcrID Connection identification II ie the identification

of the corrtsponding prjj~ connection (First a user

has to open a primary connection)

BUFFJiDDR Same meaning as above

N Nlmlber of auxiliary connections t hat should be opend

OPT Same meaning as above

(c) Trans~tssion over connection

TRANSfl (COlTIillCrID NO BUFFADDR N [OFlJ)

CONNEcrID Connection identification i

NO Connection The primary cormectLon is always refer-red to

as bei ne NO O middotm auxiliary connection number corresponds

to t he order in ~1ich it has been established (TI1e first

auxiliary opened is referred to by NO = 1 the second by

NO = 2 etc )

BUFFJIDDR Buffer addr-ess of the message to be transmitted

N Hessase size (byte numbcr-)

13

OPJ Options such as data type (characters vs vlnary) trac e bit e tc )

(d) Close connecti on

CLOSE ( COHNECIID [N] [NO])

conlEClID Connecti on indcnt ification I

N Numo ershy of connect ions t o be cIosed If Omitted all connectt ons

in use by t he user included the primary l ink are closed

NO In case of N djfferent from zero this numb er- indicates the

auxiJiaYj connecti~1 U to be closed

242 HOST-HOST prot oc~l and control me s ~ 8ges

Ihe HOST-HOST protocol is carried out by the Nebwor k progr ams I t -

mainly involves the execution of the previous transactions (initiated by

( ) USe~3) end covers a HOST- Hosr dialogue

This dialogue fulfills control procedure s f or operring or br-eak l ng

conrle ct i ons and consists in exchanging control messages over the control

linl A control message has a structure identical to that of a regular

nessage it only differs from it by the text vThich is for use by Network

programs instead of user-s

Let us insist that this control procedure i s ccmpIet eIy unreLated

to transmission control procedures implemented in the n1p computers He are

here at the Hosrr level (Network programs) and t herefore control mcsaagcs

that are going to be described beLow ar e transmitted over the Inp like s

regular messases

Consider nov the previous transactdons arid describe for each of

III

explained by Iil8 aTlS of trivia l ex aumpl c s

e suppos e that c HOSl(x) user 1D11ts t o t alk to a remote HOST(y)

progr-am called URSA

The HOsel (x) s Network program waken up (See 33) by a use f or

opening a pr-Imary connection s t ar-t s a dia logue with the HOST (y) s NetlOrk

program

(L) HOST(x) sends t he fo lLovring control message

HOST(x) Control link HOST(y)

EKQ PRITmiddot1 a 1 2

ENQ Enquiry for connection establishment (o ne ASCII character-)

PRIN Cormection type pr-Imar y (one special charact er-)

012 Outgoing link It is a decimal number- (3 ASCII character-s )

eg 1ink 12

This link il has been cle t ernined by t he HOST(x) Net work

program (See Jrnplertentatoon 33Y

(ii) HOSl(y) acknovrIedge s by s ending back the fo110ling cont r ol

messaee

HOST(x) Control 1i nk HOSl(y) ~

ACK ENQ PRIIJi a 1 2 a 1 5

ACK Positive acknowledgment (one ASCI I charact er)

ENQ PKUmiddot1 a 1 2 Same meaning as above IhLs part of t he message is

retlwned for ch~cking purposes

015 Incoirlng liroK II It fo11013 the sa718 pat ter n as the outgofng

Lfnk 1 Tni s 1inlc If has been detcmnind by t he HOai (y ) Network

15

progr~m

Now the connection is establfshed it will use links i12

and 15 101 exchanging user rressages The connection is sald

to be in a prc--Log-dn state ie the remote HOSrr(y) expects

its standard log-in pr-ocedures

By neans of TRANSfI subroutines refcrrin2 to the primary connection

the lIOSrl(x) user is able to s lgn-Jn into the HOS-f(y) oper-ating system and

then to call for the liRSA program (HOST (y) user program)

lhe Network programs at both ends 1ill use the link 12 and 15

for passIng along messages These messages are standard messages whose conshy

tents serve for log in sequence

A trivial exarnple could be

HOSl(x) Prim Link 112 HOST(y)--- -)

S I G N - I N X X

HOST (x ) Prim Linllt 15 HOsr(y)

REA D Y

HOST (x) Prim Link 12 HOST(y)

U R S A

(c) Open an auxiliary connection (OPEHNJXI)

In a very slml Lar manner as (2) an auxiliary connection is estabshy

lished between HOSl(x) and HOSrr(y) For so doing control messages are

exchanged over the control link

IIOSI(x) Control link HOST(y)--gt B~Q middotAUX middot 0 2 5

Hosrr(x) ltf-__~~Tltrol link _ HOSTey) -

ACK FJmiddotrq AUX 0 2 5 0 2 1

16

----

NOVI the auxi lturv connec t ion i s e s t ablished it 1J11 usc Li nks 1 25 and 21

By neans of THljJ~l subroutt ncs r efer-r ins t o the auxlLlary COshy

ne ction the users at both ends can exchange data

HOST (x) Aux Idnk 25 HOSI(y)

X X X X ~

HOST(x) Aux Izlnk 121 HOST(y)lt X X

etc -

(e) Close connectIons (CLOSE)

This i s carried out in a sdmlLar manner as (a) Ihe user calls a

CLOSE subrout i ne and then the Hetwor k pr cgrams at bot h ends exchange

~ontrol messages

HOSl(x) Control Link HOS1(y)-raquo zor 0 0 1middot 0 1 2

End of transmi s sion (one ASCII character-)

001 No of connections to be closed C3 deci mal ASCII characters )

o 1 2 Out gqing link II to be clos ed

lhen HOsr(y) acknowledges bact as in (a)

HOST (x) ~_ _ C_ontrol Link HOST(y)

ACK EOI o o 1 o 1 2 o 1 5

Remark 1 _ In (a) (c) and (e) HOS(y) may answer- back a mes sage includinG

a negative acknowledgnent character I~ Allt instead of ACK Thi s f or

17

many various reasons such as wrong sequence connec tion already

opened and so forth The nes sage could be NJlX nm where Ij~l)

i s an alphanumerdcal character- indLcat ing in a coded Iorrn why

the prcvious bIoclr has been rctuscd Upon receivirg back such

acknowledgmcnt a HOST (x ) ill r epeat its measage until llosrr (y)

accepts it 1m emergency procedur e vii 11 t ake place if too many

successive lNJlX me ss age s occur

Rernark 2 - On each of the above iJlustr2tions (arrows) only the mess ege text

i s represented In fact complete rresseges (wi th Ieader- marklng

pac Id lng ) aregt exch angec d over tnese lJnJcs

18

shy

3 JiIIPIEMENrrA~ION IiI GOEr))

31 Introduction t o GOnDO

Gonro is a time--sharing sy stem implemented on 5 DS Si glla 7 vTe

outline below so~~ of the characteristics rel evan t to our paper

311 G01100 file system

lhe file system is page oriented It is compos ed of files and

directories A file consists of a heading and a number- of pages vhich

compose the body of t he file A director-y consists of a rnmoer of entries

that point to either files or other directoz-Ies

312 GOPro proce ss

A process is a prograll (procedures and data) plus its l ogical environshy

ment In other words a process is a program which is known and controlled

by the GOHDO scheduler

A user (a job) may have several processes as different as ccmpiler

loader eeli tor application pr-ogr-am etc A process is created through

a system call (FORK)

lhe space a pi -ocess can refer to is the Vfr -cual Space of 128k word

length A part (~k) of it is reserved for the operating system the

other part (12mc) is directly accessed by the user This later may fill

or modify its par-t of the virtual sp ace upon couplIng ~ (See be Icw

19

servfce calls) pages taken from clifferomt files Pirule 3 illustrates

this coupling

A process can request for services by ITem1S of sysuetn calls Ihe syatcm

calls rc levant to OLU paper are

vlAKE for atl)aJdng (set active) a sleeping process

SLEEP for putting a~leep another process (or itself)

COUPLE for couplfng a page from the file space to the virtuaJ

space

A process ordinarily runs in slave mode However- if jt is set up as an IO process it can access privileged instructions

Processes cen share data through files attached to rnafI box

directorles

Remark Ihrough thts note the words procecs and program are used inter-middot

changeably

20

-middot----- 2 f

r G

--r

fmiddot -q

IL

Lshy

- _ _ ~ _ _- ~ --- -shy- -_ _- ~ _

kshy---_ - shy _ __

- - r--- _-- shy ---11 ~ L shy ---1

- --shy - i

I I 1

1 __shy

_ -

- -shy --------middot-middot-----middot---middot1~

------------- ---I

i

- bull __ e _ _ bull bull _ - - -__----

rZ J I - --_middot_- ------middotmiddot--1 r =-~ ~=~- I middot

- - - - --- - -- 1 I ______~ _ __j

_ middotmiddot- middot----1 _------_- ~

___

f-) 2shy

- _-

i----- -- - middot-middot middot--- shy ~ - -_ _-------__shyr------shyj - -f ~---- - ----1 I--____----

-

- rmiddot middot~ - 1----- -----1 j

~----------middot1 ( r----------middotshyI --~ middotmiddot --------

c bull I ( I

I T - ~ Cv _ ~ ~__ _~_L _J ~ ~~ ~_ __~ _ _

~

1

32 Software Grgan~ z ation Overvie===--- - - - _ ------ _ -- - - -- -- --

Ffgure 11 illustrates the overall organizatLon

The syntem i s based upon t wo matn pr ogr-ams

Handler- bull

lmiddotne HandIer- is an IO Lnter-rupt r outine closely related to the

]JVlP-HOST hardware interface It serves the Network process in t r ansmi tting

and receivirJg network rre ss~es

The N~tor~( process carries out moat of the work

Its main function is to satisfy the users middot requests for opening

eloslng connectLons and trammittingrecejving network messages bull For so

doi ng

it establfshcs identj_fies and breaks the linl-lts upon llsjnpound the

all ocat i on tables (HCSl CON1mc-f IUPlJl LINK see 33 11 )

i t is aJ28 of the pr-esence of neraquo users upon exploring the net-or mail box directorv

i t comnunicates with active users by means of shared page s through which messages and r equests are exchanged ( connect i on shared pages r

i t formats inconingoutgoiflg ne ss ages in a working page This worklng page has an extension (eme r-gency rine)

it conmunicates with the Handler by means of a shared page (I O shy

cotrmuni cat i on page ) which contains the I O ccmmnlcatton buffers

22

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 10: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

bull i t

Ihe HOSl comnorucate lith each other via mssafES A message rnays

vary 1n length up to 8G95 bits (See dcwn be low the structure) ~ Larger

tranmlission must tberltfore be broken Lip by HOST users into a sequence of

such messages

A nessage structure is identified on fieure 2

It includes the follo1ing

(1) A leader (32 bits) Fleasage type SourceDestination HOSI

link number (See BBH report No 1822 pp 13 17)

(2) A marklng (~2 bits when sent by the Sigma ~() for starting a

message text on a word boundary (See BBN report No 1822

pp 17 19)

(3) Ihe message text (I-lax 8015 pits for the Sigma 7) It mostly

consists of user I s text However- it may represent information

for use by the Network prograre (Control messages see 2 112)

(4) A checksum (J6 bits) Its purpose is to check at the HOSr

level the right transmission of a nessage (Changes in bit

pattern or packet traTlsposition packets are defined in BEN

report No 1763 p 13) See down beIow for checksum calculation

(5) A padding for so~vin~ word 1encth mismatch problems (See

BUN report Ho 1822 p 17 19) e Ac far as sottware is conshy

middot cer ned padding is only invoived at message r ecept i on for

delLneatLng mesaage ends (At transmission the hardware takes

care of the paddlng )

9

Q

) Remark

checkstml calculation

The last 16 bits of every message sent by a HOSI is a checksum

This checksum is crmputed on the whole message IncIuctlng clj1~ mDr~dng but

excluding the 32 bit leader and any padding To compute the checksum

L Consider the message to be padded with zeroes to a length of

86110 bits

2 Section the 86 110 bits into six lIIlIO-bit segments SO Sr 85

3 Section each l4Ll0-bit segment S into go 1G-middotbit elerrents

to t 1 t 89middot

l Define a function G) whfch takes two 16-bit elements as

inputs and outputs a 16-bit element This runctton is

defined by

t t = t 0 t if t + t lt 216

m n m n m n

16 + 1 216 t - (plusmnl t = t t - 2 if t + t ~ middot m n m n m n

5 For each 1440-bit segment Sj compute Ci = K(Si) where

K(S) = to t 1 G) ~89

6 Compute C= Co(plusmn) C1 d) cl 0 c2 G)c2 f) c2 ~C2middotmiddotmiddotmiddotmiddot 0)c5

(Netlee that Cl G) Cl is just C1

rot~ted left one bit)

The nu~ber C is the checksu~ The reason the C are rotated by i bits isi

to detect packet transposition

-10

~ ~ ~ ~

b 3 2 l Lgt lt __ __ _---_- ----_ - - - _- --- __--- - _____gt

1 G ) t lt ~ (~ I y )- V (J ~~- _ -_ _ - _ _- - ~ ~ ~ ~ _- - - - - - -- _~ ~ ~- - - ~ _ _- ~ ~--

i

~ ~ ~I I ~ ~ 1

0J

1) crrltmiddotmiddotLJ ~

- vr Mgt (12shy

i 11 _~

II I

01S i

1

(I- I ~

MO~ Q~(C

)

~

- - I I~ -__r - ~

U 11

2 11 USCI 1ransQctiorr ===--shy

From what has been discussed untlI 11c1o2 the Nettorl- appears to a

user as a bunch of connections Let us nOVI explafn h O1 one can make usc of

these connections

First we are going to describe the set of transactio~s that a

user should be able to access for ut lLizlng the connection faciltties

Ihen Ie are going to explain the role of the Network program for

the execution of these transactions Ihis will cover a HOST-HOST protocol

in whfch control messages are exchanged behieen network programs

For- explanatIon purposes those transactIons are represented at

the user level in the for~i of subr-cutIne calls and pararacter-s Hcvever-

this does not imply at all that the implercentation lil1 closely follogt[ this

pattern (He aremcr-e involved here nth the description than the i mpleshy

mentation aspect see chapter 3)

241 Ltst of transactions

Listed beloiI are the descriptions of SUbroutines that could he at

users disposal for creattngbreaking connectIcns and transmittlnr-eceiving

data over them This set of subroutines can be considered as a kind of

interface between the user level and the network progr-am level

OPENPRITmiddot1 (COi rW~GrrD HOSTID RUFFJDDH [021J)

CONiECl1D ConnectLon iccntifiction f

12

HOSlID Remote lIOsr ldentiflcation If

BlJFFADDH Buffer address for Lncomlng messages ~

OPTmiddot Optlons s~ch as message req~tl~daftc~ successful connection

estabLtshnent full e cho (each message is traJ1~nlittcd back

by the r emot e HOSl for checking purpose etc

Remark [ ] means optional

(b) Open auxiliar y cormection

OPENAUX (COi-JHECTID BUFFADDR N [OI1J)

CONNEcrID Connection identification II ie the identification

of the corrtsponding prjj~ connection (First a user

has to open a primary connection)

BUFFJiDDR Same meaning as above

N Nlmlber of auxiliary connections t hat should be opend

OPT Same meaning as above

(c) Trans~tssion over connection

TRANSfl (COlTIillCrID NO BUFFADDR N [OFlJ)

CONNEcrID Connection identification i

NO Connection The primary cormectLon is always refer-red to

as bei ne NO O middotm auxiliary connection number corresponds

to t he order in ~1ich it has been established (TI1e first

auxiliary opened is referred to by NO = 1 the second by

NO = 2 etc )

BUFFJIDDR Buffer addr-ess of the message to be transmitted

N Hessase size (byte numbcr-)

13

OPJ Options such as data type (characters vs vlnary) trac e bit e tc )

(d) Close connecti on

CLOSE ( COHNECIID [N] [NO])

conlEClID Connecti on indcnt ification I

N Numo ershy of connect ions t o be cIosed If Omitted all connectt ons

in use by t he user included the primary l ink are closed

NO In case of N djfferent from zero this numb er- indicates the

auxiJiaYj connecti~1 U to be closed

242 HOST-HOST prot oc~l and control me s ~ 8ges

Ihe HOST-HOST protocol is carried out by the Nebwor k progr ams I t -

mainly involves the execution of the previous transactions (initiated by

( ) USe~3) end covers a HOST- Hosr dialogue

This dialogue fulfills control procedure s f or operring or br-eak l ng

conrle ct i ons and consists in exchanging control messages over the control

linl A control message has a structure identical to that of a regular

nessage it only differs from it by the text vThich is for use by Network

programs instead of user-s

Let us insist that this control procedure i s ccmpIet eIy unreLated

to transmission control procedures implemented in the n1p computers He are

here at the Hosrr level (Network programs) and t herefore control mcsaagcs

that are going to be described beLow ar e transmitted over the Inp like s

regular messases

Consider nov the previous transactdons arid describe for each of

III

explained by Iil8 aTlS of trivia l ex aumpl c s

e suppos e that c HOSl(x) user 1D11ts t o t alk to a remote HOST(y)

progr-am called URSA

The HOsel (x) s Network program waken up (See 33) by a use f or

opening a pr-Imary connection s t ar-t s a dia logue with the HOST (y) s NetlOrk

program

(L) HOST(x) sends t he fo lLovring control message

HOST(x) Control link HOST(y)

EKQ PRITmiddot1 a 1 2

ENQ Enquiry for connection establishment (o ne ASCII character-)

PRIN Cormection type pr-Imar y (one special charact er-)

012 Outgoing link It is a decimal number- (3 ASCII character-s )

eg 1ink 12

This link il has been cle t ernined by t he HOST(x) Net work

program (See Jrnplertentatoon 33Y

(ii) HOSl(y) acknovrIedge s by s ending back the fo110ling cont r ol

messaee

HOST(x) Control 1i nk HOSl(y) ~

ACK ENQ PRIIJi a 1 2 a 1 5

ACK Positive acknowledgment (one ASCI I charact er)

ENQ PKUmiddot1 a 1 2 Same meaning as above IhLs part of t he message is

retlwned for ch~cking purposes

015 Incoirlng liroK II It fo11013 the sa718 pat ter n as the outgofng

Lfnk 1 Tni s 1inlc If has been detcmnind by t he HOai (y ) Network

15

progr~m

Now the connection is establfshed it will use links i12

and 15 101 exchanging user rressages The connection is sald

to be in a prc--Log-dn state ie the remote HOSrr(y) expects

its standard log-in pr-ocedures

By neans of TRANSfI subroutines refcrrin2 to the primary connection

the lIOSrl(x) user is able to s lgn-Jn into the HOS-f(y) oper-ating system and

then to call for the liRSA program (HOST (y) user program)

lhe Network programs at both ends 1ill use the link 12 and 15

for passIng along messages These messages are standard messages whose conshy

tents serve for log in sequence

A trivial exarnple could be

HOSl(x) Prim Link 112 HOST(y)--- -)

S I G N - I N X X

HOST (x ) Prim Linllt 15 HOsr(y)

REA D Y

HOST (x) Prim Link 12 HOST(y)

U R S A

(c) Open an auxiliary connection (OPEHNJXI)

In a very slml Lar manner as (2) an auxiliary connection is estabshy

lished between HOSl(x) and HOSrr(y) For so doing control messages are

exchanged over the control link

IIOSI(x) Control link HOST(y)--gt B~Q middotAUX middot 0 2 5

Hosrr(x) ltf-__~~Tltrol link _ HOSTey) -

ACK FJmiddotrq AUX 0 2 5 0 2 1

16

----

NOVI the auxi lturv connec t ion i s e s t ablished it 1J11 usc Li nks 1 25 and 21

By neans of THljJ~l subroutt ncs r efer-r ins t o the auxlLlary COshy

ne ction the users at both ends can exchange data

HOST (x) Aux Idnk 25 HOSI(y)

X X X X ~

HOST(x) Aux Izlnk 121 HOST(y)lt X X

etc -

(e) Close connectIons (CLOSE)

This i s carried out in a sdmlLar manner as (a) Ihe user calls a

CLOSE subrout i ne and then the Hetwor k pr cgrams at bot h ends exchange

~ontrol messages

HOSl(x) Control Link HOS1(y)-raquo zor 0 0 1middot 0 1 2

End of transmi s sion (one ASCII character-)

001 No of connections to be closed C3 deci mal ASCII characters )

o 1 2 Out gqing link II to be clos ed

lhen HOsr(y) acknowledges bact as in (a)

HOST (x) ~_ _ C_ontrol Link HOST(y)

ACK EOI o o 1 o 1 2 o 1 5

Remark 1 _ In (a) (c) and (e) HOS(y) may answer- back a mes sage includinG

a negative acknowledgnent character I~ Allt instead of ACK Thi s f or

17

many various reasons such as wrong sequence connec tion already

opened and so forth The nes sage could be NJlX nm where Ij~l)

i s an alphanumerdcal character- indLcat ing in a coded Iorrn why

the prcvious bIoclr has been rctuscd Upon receivirg back such

acknowledgmcnt a HOST (x ) ill r epeat its measage until llosrr (y)

accepts it 1m emergency procedur e vii 11 t ake place if too many

successive lNJlX me ss age s occur

Rernark 2 - On each of the above iJlustr2tions (arrows) only the mess ege text

i s represented In fact complete rresseges (wi th Ieader- marklng

pac Id lng ) aregt exch angec d over tnese lJnJcs

18

shy

3 JiIIPIEMENrrA~ION IiI GOEr))

31 Introduction t o GOnDO

Gonro is a time--sharing sy stem implemented on 5 DS Si glla 7 vTe

outline below so~~ of the characteristics rel evan t to our paper

311 G01100 file system

lhe file system is page oriented It is compos ed of files and

directories A file consists of a heading and a number- of pages vhich

compose the body of t he file A director-y consists of a rnmoer of entries

that point to either files or other directoz-Ies

312 GOPro proce ss

A process is a prograll (procedures and data) plus its l ogical environshy

ment In other words a process is a program which is known and controlled

by the GOHDO scheduler

A user (a job) may have several processes as different as ccmpiler

loader eeli tor application pr-ogr-am etc A process is created through

a system call (FORK)

lhe space a pi -ocess can refer to is the Vfr -cual Space of 128k word

length A part (~k) of it is reserved for the operating system the

other part (12mc) is directly accessed by the user This later may fill

or modify its par-t of the virtual sp ace upon couplIng ~ (See be Icw

19

servfce calls) pages taken from clifferomt files Pirule 3 illustrates

this coupling

A process can request for services by ITem1S of sysuetn calls Ihe syatcm

calls rc levant to OLU paper are

vlAKE for atl)aJdng (set active) a sleeping process

SLEEP for putting a~leep another process (or itself)

COUPLE for couplfng a page from the file space to the virtuaJ

space

A process ordinarily runs in slave mode However- if jt is set up as an IO process it can access privileged instructions

Processes cen share data through files attached to rnafI box

directorles

Remark Ihrough thts note the words procecs and program are used inter-middot

changeably

20

-middot----- 2 f

r G

--r

fmiddot -q

IL

Lshy

- _ _ ~ _ _- ~ --- -shy- -_ _- ~ _

kshy---_ - shy _ __

- - r--- _-- shy ---11 ~ L shy ---1

- --shy - i

I I 1

1 __shy

_ -

- -shy --------middot-middot-----middot---middot1~

------------- ---I

i

- bull __ e _ _ bull bull _ - - -__----

rZ J I - --_middot_- ------middotmiddot--1 r =-~ ~=~- I middot

- - - - --- - -- 1 I ______~ _ __j

_ middotmiddot- middot----1 _------_- ~

___

f-) 2shy

- _-

i----- -- - middot-middot middot--- shy ~ - -_ _-------__shyr------shyj - -f ~---- - ----1 I--____----

-

- rmiddot middot~ - 1----- -----1 j

~----------middot1 ( r----------middotshyI --~ middotmiddot --------

c bull I ( I

I T - ~ Cv _ ~ ~__ _~_L _J ~ ~~ ~_ __~ _ _

~

1

32 Software Grgan~ z ation Overvie===--- - - - _ ------ _ -- - - -- -- --

Ffgure 11 illustrates the overall organizatLon

The syntem i s based upon t wo matn pr ogr-ams

Handler- bull

lmiddotne HandIer- is an IO Lnter-rupt r outine closely related to the

]JVlP-HOST hardware interface It serves the Network process in t r ansmi tting

and receivirJg network rre ss~es

The N~tor~( process carries out moat of the work

Its main function is to satisfy the users middot requests for opening

eloslng connectLons and trammittingrecejving network messages bull For so

doi ng

it establfshcs identj_fies and breaks the linl-lts upon llsjnpound the

all ocat i on tables (HCSl CON1mc-f IUPlJl LINK see 33 11 )

i t is aJ28 of the pr-esence of neraquo users upon exploring the net-or mail box directorv

i t comnunicates with active users by means of shared page s through which messages and r equests are exchanged ( connect i on shared pages r

i t formats inconingoutgoiflg ne ss ages in a working page This worklng page has an extension (eme r-gency rine)

it conmunicates with the Handler by means of a shared page (I O shy

cotrmuni cat i on page ) which contains the I O ccmmnlcatton buffers

22

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 11: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

Q

) Remark

checkstml calculation

The last 16 bits of every message sent by a HOSI is a checksum

This checksum is crmputed on the whole message IncIuctlng clj1~ mDr~dng but

excluding the 32 bit leader and any padding To compute the checksum

L Consider the message to be padded with zeroes to a length of

86110 bits

2 Section the 86 110 bits into six lIIlIO-bit segments SO Sr 85

3 Section each l4Ll0-bit segment S into go 1G-middotbit elerrents

to t 1 t 89middot

l Define a function G) whfch takes two 16-bit elements as

inputs and outputs a 16-bit element This runctton is

defined by

t t = t 0 t if t + t lt 216

m n m n m n

16 + 1 216 t - (plusmnl t = t t - 2 if t + t ~ middot m n m n m n

5 For each 1440-bit segment Sj compute Ci = K(Si) where

K(S) = to t 1 G) ~89

6 Compute C= Co(plusmn) C1 d) cl 0 c2 G)c2 f) c2 ~C2middotmiddotmiddotmiddotmiddot 0)c5

(Netlee that Cl G) Cl is just C1

rot~ted left one bit)

The nu~ber C is the checksu~ The reason the C are rotated by i bits isi

to detect packet transposition

-10

~ ~ ~ ~

b 3 2 l Lgt lt __ __ _---_- ----_ - - - _- --- __--- - _____gt

1 G ) t lt ~ (~ I y )- V (J ~~- _ -_ _ - _ _- - ~ ~ ~ ~ _- - - - - - -- _~ ~ ~- - - ~ _ _- ~ ~--

i

~ ~ ~I I ~ ~ 1

0J

1) crrltmiddotmiddotLJ ~

- vr Mgt (12shy

i 11 _~

II I

01S i

1

(I- I ~

MO~ Q~(C

)

~

- - I I~ -__r - ~

U 11

2 11 USCI 1ransQctiorr ===--shy

From what has been discussed untlI 11c1o2 the Nettorl- appears to a

user as a bunch of connections Let us nOVI explafn h O1 one can make usc of

these connections

First we are going to describe the set of transactio~s that a

user should be able to access for ut lLizlng the connection faciltties

Ihen Ie are going to explain the role of the Network program for

the execution of these transactions Ihis will cover a HOST-HOST protocol

in whfch control messages are exchanged behieen network programs

For- explanatIon purposes those transactIons are represented at

the user level in the for~i of subr-cutIne calls and pararacter-s Hcvever-

this does not imply at all that the implercentation lil1 closely follogt[ this

pattern (He aremcr-e involved here nth the description than the i mpleshy

mentation aspect see chapter 3)

241 Ltst of transactions

Listed beloiI are the descriptions of SUbroutines that could he at

users disposal for creattngbreaking connectIcns and transmittlnr-eceiving

data over them This set of subroutines can be considered as a kind of

interface between the user level and the network progr-am level

OPENPRITmiddot1 (COi rW~GrrD HOSTID RUFFJDDH [021J)

CONiECl1D ConnectLon iccntifiction f

12

HOSlID Remote lIOsr ldentiflcation If

BlJFFADDH Buffer address for Lncomlng messages ~

OPTmiddot Optlons s~ch as message req~tl~daftc~ successful connection

estabLtshnent full e cho (each message is traJ1~nlittcd back

by the r emot e HOSl for checking purpose etc

Remark [ ] means optional

(b) Open auxiliar y cormection

OPENAUX (COi-JHECTID BUFFADDR N [OI1J)

CONNEcrID Connection identification II ie the identification

of the corrtsponding prjj~ connection (First a user

has to open a primary connection)

BUFFJiDDR Same meaning as above

N Nlmlber of auxiliary connections t hat should be opend

OPT Same meaning as above

(c) Trans~tssion over connection

TRANSfl (COlTIillCrID NO BUFFADDR N [OFlJ)

CONNEcrID Connection identification i

NO Connection The primary cormectLon is always refer-red to

as bei ne NO O middotm auxiliary connection number corresponds

to t he order in ~1ich it has been established (TI1e first

auxiliary opened is referred to by NO = 1 the second by

NO = 2 etc )

BUFFJIDDR Buffer addr-ess of the message to be transmitted

N Hessase size (byte numbcr-)

13

OPJ Options such as data type (characters vs vlnary) trac e bit e tc )

(d) Close connecti on

CLOSE ( COHNECIID [N] [NO])

conlEClID Connecti on indcnt ification I

N Numo ershy of connect ions t o be cIosed If Omitted all connectt ons

in use by t he user included the primary l ink are closed

NO In case of N djfferent from zero this numb er- indicates the

auxiJiaYj connecti~1 U to be closed

242 HOST-HOST prot oc~l and control me s ~ 8ges

Ihe HOST-HOST protocol is carried out by the Nebwor k progr ams I t -

mainly involves the execution of the previous transactions (initiated by

( ) USe~3) end covers a HOST- Hosr dialogue

This dialogue fulfills control procedure s f or operring or br-eak l ng

conrle ct i ons and consists in exchanging control messages over the control

linl A control message has a structure identical to that of a regular

nessage it only differs from it by the text vThich is for use by Network

programs instead of user-s

Let us insist that this control procedure i s ccmpIet eIy unreLated

to transmission control procedures implemented in the n1p computers He are

here at the Hosrr level (Network programs) and t herefore control mcsaagcs

that are going to be described beLow ar e transmitted over the Inp like s

regular messases

Consider nov the previous transactdons arid describe for each of

III

explained by Iil8 aTlS of trivia l ex aumpl c s

e suppos e that c HOSl(x) user 1D11ts t o t alk to a remote HOST(y)

progr-am called URSA

The HOsel (x) s Network program waken up (See 33) by a use f or

opening a pr-Imary connection s t ar-t s a dia logue with the HOST (y) s NetlOrk

program

(L) HOST(x) sends t he fo lLovring control message

HOST(x) Control link HOST(y)

EKQ PRITmiddot1 a 1 2

ENQ Enquiry for connection establishment (o ne ASCII character-)

PRIN Cormection type pr-Imar y (one special charact er-)

012 Outgoing link It is a decimal number- (3 ASCII character-s )

eg 1ink 12

This link il has been cle t ernined by t he HOST(x) Net work

program (See Jrnplertentatoon 33Y

(ii) HOSl(y) acknovrIedge s by s ending back the fo110ling cont r ol

messaee

HOST(x) Control 1i nk HOSl(y) ~

ACK ENQ PRIIJi a 1 2 a 1 5

ACK Positive acknowledgment (one ASCI I charact er)

ENQ PKUmiddot1 a 1 2 Same meaning as above IhLs part of t he message is

retlwned for ch~cking purposes

015 Incoirlng liroK II It fo11013 the sa718 pat ter n as the outgofng

Lfnk 1 Tni s 1inlc If has been detcmnind by t he HOai (y ) Network

15

progr~m

Now the connection is establfshed it will use links i12

and 15 101 exchanging user rressages The connection is sald

to be in a prc--Log-dn state ie the remote HOSrr(y) expects

its standard log-in pr-ocedures

By neans of TRANSfI subroutines refcrrin2 to the primary connection

the lIOSrl(x) user is able to s lgn-Jn into the HOS-f(y) oper-ating system and

then to call for the liRSA program (HOST (y) user program)

lhe Network programs at both ends 1ill use the link 12 and 15

for passIng along messages These messages are standard messages whose conshy

tents serve for log in sequence

A trivial exarnple could be

HOSl(x) Prim Link 112 HOST(y)--- -)

S I G N - I N X X

HOST (x ) Prim Linllt 15 HOsr(y)

REA D Y

HOST (x) Prim Link 12 HOST(y)

U R S A

(c) Open an auxiliary connection (OPEHNJXI)

In a very slml Lar manner as (2) an auxiliary connection is estabshy

lished between HOSl(x) and HOSrr(y) For so doing control messages are

exchanged over the control link

IIOSI(x) Control link HOST(y)--gt B~Q middotAUX middot 0 2 5

Hosrr(x) ltf-__~~Tltrol link _ HOSTey) -

ACK FJmiddotrq AUX 0 2 5 0 2 1

16

----

NOVI the auxi lturv connec t ion i s e s t ablished it 1J11 usc Li nks 1 25 and 21

By neans of THljJ~l subroutt ncs r efer-r ins t o the auxlLlary COshy

ne ction the users at both ends can exchange data

HOST (x) Aux Idnk 25 HOSI(y)

X X X X ~

HOST(x) Aux Izlnk 121 HOST(y)lt X X

etc -

(e) Close connectIons (CLOSE)

This i s carried out in a sdmlLar manner as (a) Ihe user calls a

CLOSE subrout i ne and then the Hetwor k pr cgrams at bot h ends exchange

~ontrol messages

HOSl(x) Control Link HOS1(y)-raquo zor 0 0 1middot 0 1 2

End of transmi s sion (one ASCII character-)

001 No of connections to be closed C3 deci mal ASCII characters )

o 1 2 Out gqing link II to be clos ed

lhen HOsr(y) acknowledges bact as in (a)

HOST (x) ~_ _ C_ontrol Link HOST(y)

ACK EOI o o 1 o 1 2 o 1 5

Remark 1 _ In (a) (c) and (e) HOS(y) may answer- back a mes sage includinG

a negative acknowledgnent character I~ Allt instead of ACK Thi s f or

17

many various reasons such as wrong sequence connec tion already

opened and so forth The nes sage could be NJlX nm where Ij~l)

i s an alphanumerdcal character- indLcat ing in a coded Iorrn why

the prcvious bIoclr has been rctuscd Upon receivirg back such

acknowledgmcnt a HOST (x ) ill r epeat its measage until llosrr (y)

accepts it 1m emergency procedur e vii 11 t ake place if too many

successive lNJlX me ss age s occur

Rernark 2 - On each of the above iJlustr2tions (arrows) only the mess ege text

i s represented In fact complete rresseges (wi th Ieader- marklng

pac Id lng ) aregt exch angec d over tnese lJnJcs

18

shy

3 JiIIPIEMENrrA~ION IiI GOEr))

31 Introduction t o GOnDO

Gonro is a time--sharing sy stem implemented on 5 DS Si glla 7 vTe

outline below so~~ of the characteristics rel evan t to our paper

311 G01100 file system

lhe file system is page oriented It is compos ed of files and

directories A file consists of a heading and a number- of pages vhich

compose the body of t he file A director-y consists of a rnmoer of entries

that point to either files or other directoz-Ies

312 GOPro proce ss

A process is a prograll (procedures and data) plus its l ogical environshy

ment In other words a process is a program which is known and controlled

by the GOHDO scheduler

A user (a job) may have several processes as different as ccmpiler

loader eeli tor application pr-ogr-am etc A process is created through

a system call (FORK)

lhe space a pi -ocess can refer to is the Vfr -cual Space of 128k word

length A part (~k) of it is reserved for the operating system the

other part (12mc) is directly accessed by the user This later may fill

or modify its par-t of the virtual sp ace upon couplIng ~ (See be Icw

19

servfce calls) pages taken from clifferomt files Pirule 3 illustrates

this coupling

A process can request for services by ITem1S of sysuetn calls Ihe syatcm

calls rc levant to OLU paper are

vlAKE for atl)aJdng (set active) a sleeping process

SLEEP for putting a~leep another process (or itself)

COUPLE for couplfng a page from the file space to the virtuaJ

space

A process ordinarily runs in slave mode However- if jt is set up as an IO process it can access privileged instructions

Processes cen share data through files attached to rnafI box

directorles

Remark Ihrough thts note the words procecs and program are used inter-middot

changeably

20

-middot----- 2 f

r G

--r

fmiddot -q

IL

Lshy

- _ _ ~ _ _- ~ --- -shy- -_ _- ~ _

kshy---_ - shy _ __

- - r--- _-- shy ---11 ~ L shy ---1

- --shy - i

I I 1

1 __shy

_ -

- -shy --------middot-middot-----middot---middot1~

------------- ---I

i

- bull __ e _ _ bull bull _ - - -__----

rZ J I - --_middot_- ------middotmiddot--1 r =-~ ~=~- I middot

- - - - --- - -- 1 I ______~ _ __j

_ middotmiddot- middot----1 _------_- ~

___

f-) 2shy

- _-

i----- -- - middot-middot middot--- shy ~ - -_ _-------__shyr------shyj - -f ~---- - ----1 I--____----

-

- rmiddot middot~ - 1----- -----1 j

~----------middot1 ( r----------middotshyI --~ middotmiddot --------

c bull I ( I

I T - ~ Cv _ ~ ~__ _~_L _J ~ ~~ ~_ __~ _ _

~

1

32 Software Grgan~ z ation Overvie===--- - - - _ ------ _ -- - - -- -- --

Ffgure 11 illustrates the overall organizatLon

The syntem i s based upon t wo matn pr ogr-ams

Handler- bull

lmiddotne HandIer- is an IO Lnter-rupt r outine closely related to the

]JVlP-HOST hardware interface It serves the Network process in t r ansmi tting

and receivirJg network rre ss~es

The N~tor~( process carries out moat of the work

Its main function is to satisfy the users middot requests for opening

eloslng connectLons and trammittingrecejving network messages bull For so

doi ng

it establfshcs identj_fies and breaks the linl-lts upon llsjnpound the

all ocat i on tables (HCSl CON1mc-f IUPlJl LINK see 33 11 )

i t is aJ28 of the pr-esence of neraquo users upon exploring the net-or mail box directorv

i t comnunicates with active users by means of shared page s through which messages and r equests are exchanged ( connect i on shared pages r

i t formats inconingoutgoiflg ne ss ages in a working page This worklng page has an extension (eme r-gency rine)

it conmunicates with the Handler by means of a shared page (I O shy

cotrmuni cat i on page ) which contains the I O ccmmnlcatton buffers

22

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 12: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

~ ~ ~ ~

b 3 2 l Lgt lt __ __ _---_- ----_ - - - _- --- __--- - _____gt

1 G ) t lt ~ (~ I y )- V (J ~~- _ -_ _ - _ _- - ~ ~ ~ ~ _- - - - - - -- _~ ~ ~- - - ~ _ _- ~ ~--

i

~ ~ ~I I ~ ~ 1

0J

1) crrltmiddotmiddotLJ ~

- vr Mgt (12shy

i 11 _~

II I

01S i

1

(I- I ~

MO~ Q~(C

)

~

- - I I~ -__r - ~

U 11

2 11 USCI 1ransQctiorr ===--shy

From what has been discussed untlI 11c1o2 the Nettorl- appears to a

user as a bunch of connections Let us nOVI explafn h O1 one can make usc of

these connections

First we are going to describe the set of transactio~s that a

user should be able to access for ut lLizlng the connection faciltties

Ihen Ie are going to explain the role of the Network program for

the execution of these transactions Ihis will cover a HOST-HOST protocol

in whfch control messages are exchanged behieen network programs

For- explanatIon purposes those transactIons are represented at

the user level in the for~i of subr-cutIne calls and pararacter-s Hcvever-

this does not imply at all that the implercentation lil1 closely follogt[ this

pattern (He aremcr-e involved here nth the description than the i mpleshy

mentation aspect see chapter 3)

241 Ltst of transactions

Listed beloiI are the descriptions of SUbroutines that could he at

users disposal for creattngbreaking connectIcns and transmittlnr-eceiving

data over them This set of subroutines can be considered as a kind of

interface between the user level and the network progr-am level

OPENPRITmiddot1 (COi rW~GrrD HOSTID RUFFJDDH [021J)

CONiECl1D ConnectLon iccntifiction f

12

HOSlID Remote lIOsr ldentiflcation If

BlJFFADDH Buffer address for Lncomlng messages ~

OPTmiddot Optlons s~ch as message req~tl~daftc~ successful connection

estabLtshnent full e cho (each message is traJ1~nlittcd back

by the r emot e HOSl for checking purpose etc

Remark [ ] means optional

(b) Open auxiliar y cormection

OPENAUX (COi-JHECTID BUFFADDR N [OI1J)

CONNEcrID Connection identification II ie the identification

of the corrtsponding prjj~ connection (First a user

has to open a primary connection)

BUFFJiDDR Same meaning as above

N Nlmlber of auxiliary connections t hat should be opend

OPT Same meaning as above

(c) Trans~tssion over connection

TRANSfl (COlTIillCrID NO BUFFADDR N [OFlJ)

CONNEcrID Connection identification i

NO Connection The primary cormectLon is always refer-red to

as bei ne NO O middotm auxiliary connection number corresponds

to t he order in ~1ich it has been established (TI1e first

auxiliary opened is referred to by NO = 1 the second by

NO = 2 etc )

BUFFJIDDR Buffer addr-ess of the message to be transmitted

N Hessase size (byte numbcr-)

13

OPJ Options such as data type (characters vs vlnary) trac e bit e tc )

(d) Close connecti on

CLOSE ( COHNECIID [N] [NO])

conlEClID Connecti on indcnt ification I

N Numo ershy of connect ions t o be cIosed If Omitted all connectt ons

in use by t he user included the primary l ink are closed

NO In case of N djfferent from zero this numb er- indicates the

auxiJiaYj connecti~1 U to be closed

242 HOST-HOST prot oc~l and control me s ~ 8ges

Ihe HOST-HOST protocol is carried out by the Nebwor k progr ams I t -

mainly involves the execution of the previous transactions (initiated by

( ) USe~3) end covers a HOST- Hosr dialogue

This dialogue fulfills control procedure s f or operring or br-eak l ng

conrle ct i ons and consists in exchanging control messages over the control

linl A control message has a structure identical to that of a regular

nessage it only differs from it by the text vThich is for use by Network

programs instead of user-s

Let us insist that this control procedure i s ccmpIet eIy unreLated

to transmission control procedures implemented in the n1p computers He are

here at the Hosrr level (Network programs) and t herefore control mcsaagcs

that are going to be described beLow ar e transmitted over the Inp like s

regular messases

Consider nov the previous transactdons arid describe for each of

III

explained by Iil8 aTlS of trivia l ex aumpl c s

e suppos e that c HOSl(x) user 1D11ts t o t alk to a remote HOST(y)

progr-am called URSA

The HOsel (x) s Network program waken up (See 33) by a use f or

opening a pr-Imary connection s t ar-t s a dia logue with the HOST (y) s NetlOrk

program

(L) HOST(x) sends t he fo lLovring control message

HOST(x) Control link HOST(y)

EKQ PRITmiddot1 a 1 2

ENQ Enquiry for connection establishment (o ne ASCII character-)

PRIN Cormection type pr-Imar y (one special charact er-)

012 Outgoing link It is a decimal number- (3 ASCII character-s )

eg 1ink 12

This link il has been cle t ernined by t he HOST(x) Net work

program (See Jrnplertentatoon 33Y

(ii) HOSl(y) acknovrIedge s by s ending back the fo110ling cont r ol

messaee

HOST(x) Control 1i nk HOSl(y) ~

ACK ENQ PRIIJi a 1 2 a 1 5

ACK Positive acknowledgment (one ASCI I charact er)

ENQ PKUmiddot1 a 1 2 Same meaning as above IhLs part of t he message is

retlwned for ch~cking purposes

015 Incoirlng liroK II It fo11013 the sa718 pat ter n as the outgofng

Lfnk 1 Tni s 1inlc If has been detcmnind by t he HOai (y ) Network

15

progr~m

Now the connection is establfshed it will use links i12

and 15 101 exchanging user rressages The connection is sald

to be in a prc--Log-dn state ie the remote HOSrr(y) expects

its standard log-in pr-ocedures

By neans of TRANSfI subroutines refcrrin2 to the primary connection

the lIOSrl(x) user is able to s lgn-Jn into the HOS-f(y) oper-ating system and

then to call for the liRSA program (HOST (y) user program)

lhe Network programs at both ends 1ill use the link 12 and 15

for passIng along messages These messages are standard messages whose conshy

tents serve for log in sequence

A trivial exarnple could be

HOSl(x) Prim Link 112 HOST(y)--- -)

S I G N - I N X X

HOST (x ) Prim Linllt 15 HOsr(y)

REA D Y

HOST (x) Prim Link 12 HOST(y)

U R S A

(c) Open an auxiliary connection (OPEHNJXI)

In a very slml Lar manner as (2) an auxiliary connection is estabshy

lished between HOSl(x) and HOSrr(y) For so doing control messages are

exchanged over the control link

IIOSI(x) Control link HOST(y)--gt B~Q middotAUX middot 0 2 5

Hosrr(x) ltf-__~~Tltrol link _ HOSTey) -

ACK FJmiddotrq AUX 0 2 5 0 2 1

16

----

NOVI the auxi lturv connec t ion i s e s t ablished it 1J11 usc Li nks 1 25 and 21

By neans of THljJ~l subroutt ncs r efer-r ins t o the auxlLlary COshy

ne ction the users at both ends can exchange data

HOST (x) Aux Idnk 25 HOSI(y)

X X X X ~

HOST(x) Aux Izlnk 121 HOST(y)lt X X

etc -

(e) Close connectIons (CLOSE)

This i s carried out in a sdmlLar manner as (a) Ihe user calls a

CLOSE subrout i ne and then the Hetwor k pr cgrams at bot h ends exchange

~ontrol messages

HOSl(x) Control Link HOS1(y)-raquo zor 0 0 1middot 0 1 2

End of transmi s sion (one ASCII character-)

001 No of connections to be closed C3 deci mal ASCII characters )

o 1 2 Out gqing link II to be clos ed

lhen HOsr(y) acknowledges bact as in (a)

HOST (x) ~_ _ C_ontrol Link HOST(y)

ACK EOI o o 1 o 1 2 o 1 5

Remark 1 _ In (a) (c) and (e) HOS(y) may answer- back a mes sage includinG

a negative acknowledgnent character I~ Allt instead of ACK Thi s f or

17

many various reasons such as wrong sequence connec tion already

opened and so forth The nes sage could be NJlX nm where Ij~l)

i s an alphanumerdcal character- indLcat ing in a coded Iorrn why

the prcvious bIoclr has been rctuscd Upon receivirg back such

acknowledgmcnt a HOST (x ) ill r epeat its measage until llosrr (y)

accepts it 1m emergency procedur e vii 11 t ake place if too many

successive lNJlX me ss age s occur

Rernark 2 - On each of the above iJlustr2tions (arrows) only the mess ege text

i s represented In fact complete rresseges (wi th Ieader- marklng

pac Id lng ) aregt exch angec d over tnese lJnJcs

18

shy

3 JiIIPIEMENrrA~ION IiI GOEr))

31 Introduction t o GOnDO

Gonro is a time--sharing sy stem implemented on 5 DS Si glla 7 vTe

outline below so~~ of the characteristics rel evan t to our paper

311 G01100 file system

lhe file system is page oriented It is compos ed of files and

directories A file consists of a heading and a number- of pages vhich

compose the body of t he file A director-y consists of a rnmoer of entries

that point to either files or other directoz-Ies

312 GOPro proce ss

A process is a prograll (procedures and data) plus its l ogical environshy

ment In other words a process is a program which is known and controlled

by the GOHDO scheduler

A user (a job) may have several processes as different as ccmpiler

loader eeli tor application pr-ogr-am etc A process is created through

a system call (FORK)

lhe space a pi -ocess can refer to is the Vfr -cual Space of 128k word

length A part (~k) of it is reserved for the operating system the

other part (12mc) is directly accessed by the user This later may fill

or modify its par-t of the virtual sp ace upon couplIng ~ (See be Icw

19

servfce calls) pages taken from clifferomt files Pirule 3 illustrates

this coupling

A process can request for services by ITem1S of sysuetn calls Ihe syatcm

calls rc levant to OLU paper are

vlAKE for atl)aJdng (set active) a sleeping process

SLEEP for putting a~leep another process (or itself)

COUPLE for couplfng a page from the file space to the virtuaJ

space

A process ordinarily runs in slave mode However- if jt is set up as an IO process it can access privileged instructions

Processes cen share data through files attached to rnafI box

directorles

Remark Ihrough thts note the words procecs and program are used inter-middot

changeably

20

-middot----- 2 f

r G

--r

fmiddot -q

IL

Lshy

- _ _ ~ _ _- ~ --- -shy- -_ _- ~ _

kshy---_ - shy _ __

- - r--- _-- shy ---11 ~ L shy ---1

- --shy - i

I I 1

1 __shy

_ -

- -shy --------middot-middot-----middot---middot1~

------------- ---I

i

- bull __ e _ _ bull bull _ - - -__----

rZ J I - --_middot_- ------middotmiddot--1 r =-~ ~=~- I middot

- - - - --- - -- 1 I ______~ _ __j

_ middotmiddot- middot----1 _------_- ~

___

f-) 2shy

- _-

i----- -- - middot-middot middot--- shy ~ - -_ _-------__shyr------shyj - -f ~---- - ----1 I--____----

-

- rmiddot middot~ - 1----- -----1 j

~----------middot1 ( r----------middotshyI --~ middotmiddot --------

c bull I ( I

I T - ~ Cv _ ~ ~__ _~_L _J ~ ~~ ~_ __~ _ _

~

1

32 Software Grgan~ z ation Overvie===--- - - - _ ------ _ -- - - -- -- --

Ffgure 11 illustrates the overall organizatLon

The syntem i s based upon t wo matn pr ogr-ams

Handler- bull

lmiddotne HandIer- is an IO Lnter-rupt r outine closely related to the

]JVlP-HOST hardware interface It serves the Network process in t r ansmi tting

and receivirJg network rre ss~es

The N~tor~( process carries out moat of the work

Its main function is to satisfy the users middot requests for opening

eloslng connectLons and trammittingrecejving network messages bull For so

doi ng

it establfshcs identj_fies and breaks the linl-lts upon llsjnpound the

all ocat i on tables (HCSl CON1mc-f IUPlJl LINK see 33 11 )

i t is aJ28 of the pr-esence of neraquo users upon exploring the net-or mail box directorv

i t comnunicates with active users by means of shared page s through which messages and r equests are exchanged ( connect i on shared pages r

i t formats inconingoutgoiflg ne ss ages in a working page This worklng page has an extension (eme r-gency rine)

it conmunicates with the Handler by means of a shared page (I O shy

cotrmuni cat i on page ) which contains the I O ccmmnlcatton buffers

22

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 13: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

2 11 USCI 1ransQctiorr ===--shy

From what has been discussed untlI 11c1o2 the Nettorl- appears to a

user as a bunch of connections Let us nOVI explafn h O1 one can make usc of

these connections

First we are going to describe the set of transactio~s that a

user should be able to access for ut lLizlng the connection faciltties

Ihen Ie are going to explain the role of the Network program for

the execution of these transactions Ihis will cover a HOST-HOST protocol

in whfch control messages are exchanged behieen network programs

For- explanatIon purposes those transactIons are represented at

the user level in the for~i of subr-cutIne calls and pararacter-s Hcvever-

this does not imply at all that the implercentation lil1 closely follogt[ this

pattern (He aremcr-e involved here nth the description than the i mpleshy

mentation aspect see chapter 3)

241 Ltst of transactions

Listed beloiI are the descriptions of SUbroutines that could he at

users disposal for creattngbreaking connectIcns and transmittlnr-eceiving

data over them This set of subroutines can be considered as a kind of

interface between the user level and the network progr-am level

OPENPRITmiddot1 (COi rW~GrrD HOSTID RUFFJDDH [021J)

CONiECl1D ConnectLon iccntifiction f

12

HOSlID Remote lIOsr ldentiflcation If

BlJFFADDH Buffer address for Lncomlng messages ~

OPTmiddot Optlons s~ch as message req~tl~daftc~ successful connection

estabLtshnent full e cho (each message is traJ1~nlittcd back

by the r emot e HOSl for checking purpose etc

Remark [ ] means optional

(b) Open auxiliar y cormection

OPENAUX (COi-JHECTID BUFFADDR N [OI1J)

CONNEcrID Connection identification II ie the identification

of the corrtsponding prjj~ connection (First a user

has to open a primary connection)

BUFFJiDDR Same meaning as above

N Nlmlber of auxiliary connections t hat should be opend

OPT Same meaning as above

(c) Trans~tssion over connection

TRANSfl (COlTIillCrID NO BUFFADDR N [OFlJ)

CONNEcrID Connection identification i

NO Connection The primary cormectLon is always refer-red to

as bei ne NO O middotm auxiliary connection number corresponds

to t he order in ~1ich it has been established (TI1e first

auxiliary opened is referred to by NO = 1 the second by

NO = 2 etc )

BUFFJIDDR Buffer addr-ess of the message to be transmitted

N Hessase size (byte numbcr-)

13

OPJ Options such as data type (characters vs vlnary) trac e bit e tc )

(d) Close connecti on

CLOSE ( COHNECIID [N] [NO])

conlEClID Connecti on indcnt ification I

N Numo ershy of connect ions t o be cIosed If Omitted all connectt ons

in use by t he user included the primary l ink are closed

NO In case of N djfferent from zero this numb er- indicates the

auxiJiaYj connecti~1 U to be closed

242 HOST-HOST prot oc~l and control me s ~ 8ges

Ihe HOST-HOST protocol is carried out by the Nebwor k progr ams I t -

mainly involves the execution of the previous transactions (initiated by

( ) USe~3) end covers a HOST- Hosr dialogue

This dialogue fulfills control procedure s f or operring or br-eak l ng

conrle ct i ons and consists in exchanging control messages over the control

linl A control message has a structure identical to that of a regular

nessage it only differs from it by the text vThich is for use by Network

programs instead of user-s

Let us insist that this control procedure i s ccmpIet eIy unreLated

to transmission control procedures implemented in the n1p computers He are

here at the Hosrr level (Network programs) and t herefore control mcsaagcs

that are going to be described beLow ar e transmitted over the Inp like s

regular messases

Consider nov the previous transactdons arid describe for each of

III

explained by Iil8 aTlS of trivia l ex aumpl c s

e suppos e that c HOSl(x) user 1D11ts t o t alk to a remote HOST(y)

progr-am called URSA

The HOsel (x) s Network program waken up (See 33) by a use f or

opening a pr-Imary connection s t ar-t s a dia logue with the HOST (y) s NetlOrk

program

(L) HOST(x) sends t he fo lLovring control message

HOST(x) Control link HOST(y)

EKQ PRITmiddot1 a 1 2

ENQ Enquiry for connection establishment (o ne ASCII character-)

PRIN Cormection type pr-Imar y (one special charact er-)

012 Outgoing link It is a decimal number- (3 ASCII character-s )

eg 1ink 12

This link il has been cle t ernined by t he HOST(x) Net work

program (See Jrnplertentatoon 33Y

(ii) HOSl(y) acknovrIedge s by s ending back the fo110ling cont r ol

messaee

HOST(x) Control 1i nk HOSl(y) ~

ACK ENQ PRIIJi a 1 2 a 1 5

ACK Positive acknowledgment (one ASCI I charact er)

ENQ PKUmiddot1 a 1 2 Same meaning as above IhLs part of t he message is

retlwned for ch~cking purposes

015 Incoirlng liroK II It fo11013 the sa718 pat ter n as the outgofng

Lfnk 1 Tni s 1inlc If has been detcmnind by t he HOai (y ) Network

15

progr~m

Now the connection is establfshed it will use links i12

and 15 101 exchanging user rressages The connection is sald

to be in a prc--Log-dn state ie the remote HOSrr(y) expects

its standard log-in pr-ocedures

By neans of TRANSfI subroutines refcrrin2 to the primary connection

the lIOSrl(x) user is able to s lgn-Jn into the HOS-f(y) oper-ating system and

then to call for the liRSA program (HOST (y) user program)

lhe Network programs at both ends 1ill use the link 12 and 15

for passIng along messages These messages are standard messages whose conshy

tents serve for log in sequence

A trivial exarnple could be

HOSl(x) Prim Link 112 HOST(y)--- -)

S I G N - I N X X

HOST (x ) Prim Linllt 15 HOsr(y)

REA D Y

HOST (x) Prim Link 12 HOST(y)

U R S A

(c) Open an auxiliary connection (OPEHNJXI)

In a very slml Lar manner as (2) an auxiliary connection is estabshy

lished between HOSl(x) and HOSrr(y) For so doing control messages are

exchanged over the control link

IIOSI(x) Control link HOST(y)--gt B~Q middotAUX middot 0 2 5

Hosrr(x) ltf-__~~Tltrol link _ HOSTey) -

ACK FJmiddotrq AUX 0 2 5 0 2 1

16

----

NOVI the auxi lturv connec t ion i s e s t ablished it 1J11 usc Li nks 1 25 and 21

By neans of THljJ~l subroutt ncs r efer-r ins t o the auxlLlary COshy

ne ction the users at both ends can exchange data

HOST (x) Aux Idnk 25 HOSI(y)

X X X X ~

HOST(x) Aux Izlnk 121 HOST(y)lt X X

etc -

(e) Close connectIons (CLOSE)

This i s carried out in a sdmlLar manner as (a) Ihe user calls a

CLOSE subrout i ne and then the Hetwor k pr cgrams at bot h ends exchange

~ontrol messages

HOSl(x) Control Link HOS1(y)-raquo zor 0 0 1middot 0 1 2

End of transmi s sion (one ASCII character-)

001 No of connections to be closed C3 deci mal ASCII characters )

o 1 2 Out gqing link II to be clos ed

lhen HOsr(y) acknowledges bact as in (a)

HOST (x) ~_ _ C_ontrol Link HOST(y)

ACK EOI o o 1 o 1 2 o 1 5

Remark 1 _ In (a) (c) and (e) HOS(y) may answer- back a mes sage includinG

a negative acknowledgnent character I~ Allt instead of ACK Thi s f or

17

many various reasons such as wrong sequence connec tion already

opened and so forth The nes sage could be NJlX nm where Ij~l)

i s an alphanumerdcal character- indLcat ing in a coded Iorrn why

the prcvious bIoclr has been rctuscd Upon receivirg back such

acknowledgmcnt a HOST (x ) ill r epeat its measage until llosrr (y)

accepts it 1m emergency procedur e vii 11 t ake place if too many

successive lNJlX me ss age s occur

Rernark 2 - On each of the above iJlustr2tions (arrows) only the mess ege text

i s represented In fact complete rresseges (wi th Ieader- marklng

pac Id lng ) aregt exch angec d over tnese lJnJcs

18

shy

3 JiIIPIEMENrrA~ION IiI GOEr))

31 Introduction t o GOnDO

Gonro is a time--sharing sy stem implemented on 5 DS Si glla 7 vTe

outline below so~~ of the characteristics rel evan t to our paper

311 G01100 file system

lhe file system is page oriented It is compos ed of files and

directories A file consists of a heading and a number- of pages vhich

compose the body of t he file A director-y consists of a rnmoer of entries

that point to either files or other directoz-Ies

312 GOPro proce ss

A process is a prograll (procedures and data) plus its l ogical environshy

ment In other words a process is a program which is known and controlled

by the GOHDO scheduler

A user (a job) may have several processes as different as ccmpiler

loader eeli tor application pr-ogr-am etc A process is created through

a system call (FORK)

lhe space a pi -ocess can refer to is the Vfr -cual Space of 128k word

length A part (~k) of it is reserved for the operating system the

other part (12mc) is directly accessed by the user This later may fill

or modify its par-t of the virtual sp ace upon couplIng ~ (See be Icw

19

servfce calls) pages taken from clifferomt files Pirule 3 illustrates

this coupling

A process can request for services by ITem1S of sysuetn calls Ihe syatcm

calls rc levant to OLU paper are

vlAKE for atl)aJdng (set active) a sleeping process

SLEEP for putting a~leep another process (or itself)

COUPLE for couplfng a page from the file space to the virtuaJ

space

A process ordinarily runs in slave mode However- if jt is set up as an IO process it can access privileged instructions

Processes cen share data through files attached to rnafI box

directorles

Remark Ihrough thts note the words procecs and program are used inter-middot

changeably

20

-middot----- 2 f

r G

--r

fmiddot -q

IL

Lshy

- _ _ ~ _ _- ~ --- -shy- -_ _- ~ _

kshy---_ - shy _ __

- - r--- _-- shy ---11 ~ L shy ---1

- --shy - i

I I 1

1 __shy

_ -

- -shy --------middot-middot-----middot---middot1~

------------- ---I

i

- bull __ e _ _ bull bull _ - - -__----

rZ J I - --_middot_- ------middotmiddot--1 r =-~ ~=~- I middot

- - - - --- - -- 1 I ______~ _ __j

_ middotmiddot- middot----1 _------_- ~

___

f-) 2shy

- _-

i----- -- - middot-middot middot--- shy ~ - -_ _-------__shyr------shyj - -f ~---- - ----1 I--____----

-

- rmiddot middot~ - 1----- -----1 j

~----------middot1 ( r----------middotshyI --~ middotmiddot --------

c bull I ( I

I T - ~ Cv _ ~ ~__ _~_L _J ~ ~~ ~_ __~ _ _

~

1

32 Software Grgan~ z ation Overvie===--- - - - _ ------ _ -- - - -- -- --

Ffgure 11 illustrates the overall organizatLon

The syntem i s based upon t wo matn pr ogr-ams

Handler- bull

lmiddotne HandIer- is an IO Lnter-rupt r outine closely related to the

]JVlP-HOST hardware interface It serves the Network process in t r ansmi tting

and receivirJg network rre ss~es

The N~tor~( process carries out moat of the work

Its main function is to satisfy the users middot requests for opening

eloslng connectLons and trammittingrecejving network messages bull For so

doi ng

it establfshcs identj_fies and breaks the linl-lts upon llsjnpound the

all ocat i on tables (HCSl CON1mc-f IUPlJl LINK see 33 11 )

i t is aJ28 of the pr-esence of neraquo users upon exploring the net-or mail box directorv

i t comnunicates with active users by means of shared page s through which messages and r equests are exchanged ( connect i on shared pages r

i t formats inconingoutgoiflg ne ss ages in a working page This worklng page has an extension (eme r-gency rine)

it conmunicates with the Handler by means of a shared page (I O shy

cotrmuni cat i on page ) which contains the I O ccmmnlcatton buffers

22

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 14: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

HOSlID Remote lIOsr ldentiflcation If

BlJFFADDH Buffer address for Lncomlng messages ~

OPTmiddot Optlons s~ch as message req~tl~daftc~ successful connection

estabLtshnent full e cho (each message is traJ1~nlittcd back

by the r emot e HOSl for checking purpose etc

Remark [ ] means optional

(b) Open auxiliar y cormection

OPENAUX (COi-JHECTID BUFFADDR N [OI1J)

CONNEcrID Connection identification II ie the identification

of the corrtsponding prjj~ connection (First a user

has to open a primary connection)

BUFFJiDDR Same meaning as above

N Nlmlber of auxiliary connections t hat should be opend

OPT Same meaning as above

(c) Trans~tssion over connection

TRANSfl (COlTIillCrID NO BUFFADDR N [OFlJ)

CONNEcrID Connection identification i

NO Connection The primary cormectLon is always refer-red to

as bei ne NO O middotm auxiliary connection number corresponds

to t he order in ~1ich it has been established (TI1e first

auxiliary opened is referred to by NO = 1 the second by

NO = 2 etc )

BUFFJIDDR Buffer addr-ess of the message to be transmitted

N Hessase size (byte numbcr-)

13

OPJ Options such as data type (characters vs vlnary) trac e bit e tc )

(d) Close connecti on

CLOSE ( COHNECIID [N] [NO])

conlEClID Connecti on indcnt ification I

N Numo ershy of connect ions t o be cIosed If Omitted all connectt ons

in use by t he user included the primary l ink are closed

NO In case of N djfferent from zero this numb er- indicates the

auxiJiaYj connecti~1 U to be closed

242 HOST-HOST prot oc~l and control me s ~ 8ges

Ihe HOST-HOST protocol is carried out by the Nebwor k progr ams I t -

mainly involves the execution of the previous transactions (initiated by

( ) USe~3) end covers a HOST- Hosr dialogue

This dialogue fulfills control procedure s f or operring or br-eak l ng

conrle ct i ons and consists in exchanging control messages over the control

linl A control message has a structure identical to that of a regular

nessage it only differs from it by the text vThich is for use by Network

programs instead of user-s

Let us insist that this control procedure i s ccmpIet eIy unreLated

to transmission control procedures implemented in the n1p computers He are

here at the Hosrr level (Network programs) and t herefore control mcsaagcs

that are going to be described beLow ar e transmitted over the Inp like s

regular messases

Consider nov the previous transactdons arid describe for each of

III

explained by Iil8 aTlS of trivia l ex aumpl c s

e suppos e that c HOSl(x) user 1D11ts t o t alk to a remote HOST(y)

progr-am called URSA

The HOsel (x) s Network program waken up (See 33) by a use f or

opening a pr-Imary connection s t ar-t s a dia logue with the HOST (y) s NetlOrk

program

(L) HOST(x) sends t he fo lLovring control message

HOST(x) Control link HOST(y)

EKQ PRITmiddot1 a 1 2

ENQ Enquiry for connection establishment (o ne ASCII character-)

PRIN Cormection type pr-Imar y (one special charact er-)

012 Outgoing link It is a decimal number- (3 ASCII character-s )

eg 1ink 12

This link il has been cle t ernined by t he HOST(x) Net work

program (See Jrnplertentatoon 33Y

(ii) HOSl(y) acknovrIedge s by s ending back the fo110ling cont r ol

messaee

HOST(x) Control 1i nk HOSl(y) ~

ACK ENQ PRIIJi a 1 2 a 1 5

ACK Positive acknowledgment (one ASCI I charact er)

ENQ PKUmiddot1 a 1 2 Same meaning as above IhLs part of t he message is

retlwned for ch~cking purposes

015 Incoirlng liroK II It fo11013 the sa718 pat ter n as the outgofng

Lfnk 1 Tni s 1inlc If has been detcmnind by t he HOai (y ) Network

15

progr~m

Now the connection is establfshed it will use links i12

and 15 101 exchanging user rressages The connection is sald

to be in a prc--Log-dn state ie the remote HOSrr(y) expects

its standard log-in pr-ocedures

By neans of TRANSfI subroutines refcrrin2 to the primary connection

the lIOSrl(x) user is able to s lgn-Jn into the HOS-f(y) oper-ating system and

then to call for the liRSA program (HOST (y) user program)

lhe Network programs at both ends 1ill use the link 12 and 15

for passIng along messages These messages are standard messages whose conshy

tents serve for log in sequence

A trivial exarnple could be

HOSl(x) Prim Link 112 HOST(y)--- -)

S I G N - I N X X

HOST (x ) Prim Linllt 15 HOsr(y)

REA D Y

HOST (x) Prim Link 12 HOST(y)

U R S A

(c) Open an auxiliary connection (OPEHNJXI)

In a very slml Lar manner as (2) an auxiliary connection is estabshy

lished between HOSl(x) and HOSrr(y) For so doing control messages are

exchanged over the control link

IIOSI(x) Control link HOST(y)--gt B~Q middotAUX middot 0 2 5

Hosrr(x) ltf-__~~Tltrol link _ HOSTey) -

ACK FJmiddotrq AUX 0 2 5 0 2 1

16

----

NOVI the auxi lturv connec t ion i s e s t ablished it 1J11 usc Li nks 1 25 and 21

By neans of THljJ~l subroutt ncs r efer-r ins t o the auxlLlary COshy

ne ction the users at both ends can exchange data

HOST (x) Aux Idnk 25 HOSI(y)

X X X X ~

HOST(x) Aux Izlnk 121 HOST(y)lt X X

etc -

(e) Close connectIons (CLOSE)

This i s carried out in a sdmlLar manner as (a) Ihe user calls a

CLOSE subrout i ne and then the Hetwor k pr cgrams at bot h ends exchange

~ontrol messages

HOSl(x) Control Link HOS1(y)-raquo zor 0 0 1middot 0 1 2

End of transmi s sion (one ASCII character-)

001 No of connections to be closed C3 deci mal ASCII characters )

o 1 2 Out gqing link II to be clos ed

lhen HOsr(y) acknowledges bact as in (a)

HOST (x) ~_ _ C_ontrol Link HOST(y)

ACK EOI o o 1 o 1 2 o 1 5

Remark 1 _ In (a) (c) and (e) HOS(y) may answer- back a mes sage includinG

a negative acknowledgnent character I~ Allt instead of ACK Thi s f or

17

many various reasons such as wrong sequence connec tion already

opened and so forth The nes sage could be NJlX nm where Ij~l)

i s an alphanumerdcal character- indLcat ing in a coded Iorrn why

the prcvious bIoclr has been rctuscd Upon receivirg back such

acknowledgmcnt a HOST (x ) ill r epeat its measage until llosrr (y)

accepts it 1m emergency procedur e vii 11 t ake place if too many

successive lNJlX me ss age s occur

Rernark 2 - On each of the above iJlustr2tions (arrows) only the mess ege text

i s represented In fact complete rresseges (wi th Ieader- marklng

pac Id lng ) aregt exch angec d over tnese lJnJcs

18

shy

3 JiIIPIEMENrrA~ION IiI GOEr))

31 Introduction t o GOnDO

Gonro is a time--sharing sy stem implemented on 5 DS Si glla 7 vTe

outline below so~~ of the characteristics rel evan t to our paper

311 G01100 file system

lhe file system is page oriented It is compos ed of files and

directories A file consists of a heading and a number- of pages vhich

compose the body of t he file A director-y consists of a rnmoer of entries

that point to either files or other directoz-Ies

312 GOPro proce ss

A process is a prograll (procedures and data) plus its l ogical environshy

ment In other words a process is a program which is known and controlled

by the GOHDO scheduler

A user (a job) may have several processes as different as ccmpiler

loader eeli tor application pr-ogr-am etc A process is created through

a system call (FORK)

lhe space a pi -ocess can refer to is the Vfr -cual Space of 128k word

length A part (~k) of it is reserved for the operating system the

other part (12mc) is directly accessed by the user This later may fill

or modify its par-t of the virtual sp ace upon couplIng ~ (See be Icw

19

servfce calls) pages taken from clifferomt files Pirule 3 illustrates

this coupling

A process can request for services by ITem1S of sysuetn calls Ihe syatcm

calls rc levant to OLU paper are

vlAKE for atl)aJdng (set active) a sleeping process

SLEEP for putting a~leep another process (or itself)

COUPLE for couplfng a page from the file space to the virtuaJ

space

A process ordinarily runs in slave mode However- if jt is set up as an IO process it can access privileged instructions

Processes cen share data through files attached to rnafI box

directorles

Remark Ihrough thts note the words procecs and program are used inter-middot

changeably

20

-middot----- 2 f

r G

--r

fmiddot -q

IL

Lshy

- _ _ ~ _ _- ~ --- -shy- -_ _- ~ _

kshy---_ - shy _ __

- - r--- _-- shy ---11 ~ L shy ---1

- --shy - i

I I 1

1 __shy

_ -

- -shy --------middot-middot-----middot---middot1~

------------- ---I

i

- bull __ e _ _ bull bull _ - - -__----

rZ J I - --_middot_- ------middotmiddot--1 r =-~ ~=~- I middot

- - - - --- - -- 1 I ______~ _ __j

_ middotmiddot- middot----1 _------_- ~

___

f-) 2shy

- _-

i----- -- - middot-middot middot--- shy ~ - -_ _-------__shyr------shyj - -f ~---- - ----1 I--____----

-

- rmiddot middot~ - 1----- -----1 j

~----------middot1 ( r----------middotshyI --~ middotmiddot --------

c bull I ( I

I T - ~ Cv _ ~ ~__ _~_L _J ~ ~~ ~_ __~ _ _

~

1

32 Software Grgan~ z ation Overvie===--- - - - _ ------ _ -- - - -- -- --

Ffgure 11 illustrates the overall organizatLon

The syntem i s based upon t wo matn pr ogr-ams

Handler- bull

lmiddotne HandIer- is an IO Lnter-rupt r outine closely related to the

]JVlP-HOST hardware interface It serves the Network process in t r ansmi tting

and receivirJg network rre ss~es

The N~tor~( process carries out moat of the work

Its main function is to satisfy the users middot requests for opening

eloslng connectLons and trammittingrecejving network messages bull For so

doi ng

it establfshcs identj_fies and breaks the linl-lts upon llsjnpound the

all ocat i on tables (HCSl CON1mc-f IUPlJl LINK see 33 11 )

i t is aJ28 of the pr-esence of neraquo users upon exploring the net-or mail box directorv

i t comnunicates with active users by means of shared page s through which messages and r equests are exchanged ( connect i on shared pages r

i t formats inconingoutgoiflg ne ss ages in a working page This worklng page has an extension (eme r-gency rine)

it conmunicates with the Handler by means of a shared page (I O shy

cotrmuni cat i on page ) which contains the I O ccmmnlcatton buffers

22

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 15: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

OPJ Options such as data type (characters vs vlnary) trac e bit e tc )

(d) Close connecti on

CLOSE ( COHNECIID [N] [NO])

conlEClID Connecti on indcnt ification I

N Numo ershy of connect ions t o be cIosed If Omitted all connectt ons

in use by t he user included the primary l ink are closed

NO In case of N djfferent from zero this numb er- indicates the

auxiJiaYj connecti~1 U to be closed

242 HOST-HOST prot oc~l and control me s ~ 8ges

Ihe HOST-HOST protocol is carried out by the Nebwor k progr ams I t -

mainly involves the execution of the previous transactions (initiated by

( ) USe~3) end covers a HOST- Hosr dialogue

This dialogue fulfills control procedure s f or operring or br-eak l ng

conrle ct i ons and consists in exchanging control messages over the control

linl A control message has a structure identical to that of a regular

nessage it only differs from it by the text vThich is for use by Network

programs instead of user-s

Let us insist that this control procedure i s ccmpIet eIy unreLated

to transmission control procedures implemented in the n1p computers He are

here at the Hosrr level (Network programs) and t herefore control mcsaagcs

that are going to be described beLow ar e transmitted over the Inp like s

regular messases

Consider nov the previous transactdons arid describe for each of

III

explained by Iil8 aTlS of trivia l ex aumpl c s

e suppos e that c HOSl(x) user 1D11ts t o t alk to a remote HOST(y)

progr-am called URSA

The HOsel (x) s Network program waken up (See 33) by a use f or

opening a pr-Imary connection s t ar-t s a dia logue with the HOST (y) s NetlOrk

program

(L) HOST(x) sends t he fo lLovring control message

HOST(x) Control link HOST(y)

EKQ PRITmiddot1 a 1 2

ENQ Enquiry for connection establishment (o ne ASCII character-)

PRIN Cormection type pr-Imar y (one special charact er-)

012 Outgoing link It is a decimal number- (3 ASCII character-s )

eg 1ink 12

This link il has been cle t ernined by t he HOST(x) Net work

program (See Jrnplertentatoon 33Y

(ii) HOSl(y) acknovrIedge s by s ending back the fo110ling cont r ol

messaee

HOST(x) Control 1i nk HOSl(y) ~

ACK ENQ PRIIJi a 1 2 a 1 5

ACK Positive acknowledgment (one ASCI I charact er)

ENQ PKUmiddot1 a 1 2 Same meaning as above IhLs part of t he message is

retlwned for ch~cking purposes

015 Incoirlng liroK II It fo11013 the sa718 pat ter n as the outgofng

Lfnk 1 Tni s 1inlc If has been detcmnind by t he HOai (y ) Network

15

progr~m

Now the connection is establfshed it will use links i12

and 15 101 exchanging user rressages The connection is sald

to be in a prc--Log-dn state ie the remote HOSrr(y) expects

its standard log-in pr-ocedures

By neans of TRANSfI subroutines refcrrin2 to the primary connection

the lIOSrl(x) user is able to s lgn-Jn into the HOS-f(y) oper-ating system and

then to call for the liRSA program (HOST (y) user program)

lhe Network programs at both ends 1ill use the link 12 and 15

for passIng along messages These messages are standard messages whose conshy

tents serve for log in sequence

A trivial exarnple could be

HOSl(x) Prim Link 112 HOST(y)--- -)

S I G N - I N X X

HOST (x ) Prim Linllt 15 HOsr(y)

REA D Y

HOST (x) Prim Link 12 HOST(y)

U R S A

(c) Open an auxiliary connection (OPEHNJXI)

In a very slml Lar manner as (2) an auxiliary connection is estabshy

lished between HOSl(x) and HOSrr(y) For so doing control messages are

exchanged over the control link

IIOSI(x) Control link HOST(y)--gt B~Q middotAUX middot 0 2 5

Hosrr(x) ltf-__~~Tltrol link _ HOSTey) -

ACK FJmiddotrq AUX 0 2 5 0 2 1

16

----

NOVI the auxi lturv connec t ion i s e s t ablished it 1J11 usc Li nks 1 25 and 21

By neans of THljJ~l subroutt ncs r efer-r ins t o the auxlLlary COshy

ne ction the users at both ends can exchange data

HOST (x) Aux Idnk 25 HOSI(y)

X X X X ~

HOST(x) Aux Izlnk 121 HOST(y)lt X X

etc -

(e) Close connectIons (CLOSE)

This i s carried out in a sdmlLar manner as (a) Ihe user calls a

CLOSE subrout i ne and then the Hetwor k pr cgrams at bot h ends exchange

~ontrol messages

HOSl(x) Control Link HOS1(y)-raquo zor 0 0 1middot 0 1 2

End of transmi s sion (one ASCII character-)

001 No of connections to be closed C3 deci mal ASCII characters )

o 1 2 Out gqing link II to be clos ed

lhen HOsr(y) acknowledges bact as in (a)

HOST (x) ~_ _ C_ontrol Link HOST(y)

ACK EOI o o 1 o 1 2 o 1 5

Remark 1 _ In (a) (c) and (e) HOS(y) may answer- back a mes sage includinG

a negative acknowledgnent character I~ Allt instead of ACK Thi s f or

17

many various reasons such as wrong sequence connec tion already

opened and so forth The nes sage could be NJlX nm where Ij~l)

i s an alphanumerdcal character- indLcat ing in a coded Iorrn why

the prcvious bIoclr has been rctuscd Upon receivirg back such

acknowledgmcnt a HOST (x ) ill r epeat its measage until llosrr (y)

accepts it 1m emergency procedur e vii 11 t ake place if too many

successive lNJlX me ss age s occur

Rernark 2 - On each of the above iJlustr2tions (arrows) only the mess ege text

i s represented In fact complete rresseges (wi th Ieader- marklng

pac Id lng ) aregt exch angec d over tnese lJnJcs

18

shy

3 JiIIPIEMENrrA~ION IiI GOEr))

31 Introduction t o GOnDO

Gonro is a time--sharing sy stem implemented on 5 DS Si glla 7 vTe

outline below so~~ of the characteristics rel evan t to our paper

311 G01100 file system

lhe file system is page oriented It is compos ed of files and

directories A file consists of a heading and a number- of pages vhich

compose the body of t he file A director-y consists of a rnmoer of entries

that point to either files or other directoz-Ies

312 GOPro proce ss

A process is a prograll (procedures and data) plus its l ogical environshy

ment In other words a process is a program which is known and controlled

by the GOHDO scheduler

A user (a job) may have several processes as different as ccmpiler

loader eeli tor application pr-ogr-am etc A process is created through

a system call (FORK)

lhe space a pi -ocess can refer to is the Vfr -cual Space of 128k word

length A part (~k) of it is reserved for the operating system the

other part (12mc) is directly accessed by the user This later may fill

or modify its par-t of the virtual sp ace upon couplIng ~ (See be Icw

19

servfce calls) pages taken from clifferomt files Pirule 3 illustrates

this coupling

A process can request for services by ITem1S of sysuetn calls Ihe syatcm

calls rc levant to OLU paper are

vlAKE for atl)aJdng (set active) a sleeping process

SLEEP for putting a~leep another process (or itself)

COUPLE for couplfng a page from the file space to the virtuaJ

space

A process ordinarily runs in slave mode However- if jt is set up as an IO process it can access privileged instructions

Processes cen share data through files attached to rnafI box

directorles

Remark Ihrough thts note the words procecs and program are used inter-middot

changeably

20

-middot----- 2 f

r G

--r

fmiddot -q

IL

Lshy

- _ _ ~ _ _- ~ --- -shy- -_ _- ~ _

kshy---_ - shy _ __

- - r--- _-- shy ---11 ~ L shy ---1

- --shy - i

I I 1

1 __shy

_ -

- -shy --------middot-middot-----middot---middot1~

------------- ---I

i

- bull __ e _ _ bull bull _ - - -__----

rZ J I - --_middot_- ------middotmiddot--1 r =-~ ~=~- I middot

- - - - --- - -- 1 I ______~ _ __j

_ middotmiddot- middot----1 _------_- ~

___

f-) 2shy

- _-

i----- -- - middot-middot middot--- shy ~ - -_ _-------__shyr------shyj - -f ~---- - ----1 I--____----

-

- rmiddot middot~ - 1----- -----1 j

~----------middot1 ( r----------middotshyI --~ middotmiddot --------

c bull I ( I

I T - ~ Cv _ ~ ~__ _~_L _J ~ ~~ ~_ __~ _ _

~

1

32 Software Grgan~ z ation Overvie===--- - - - _ ------ _ -- - - -- -- --

Ffgure 11 illustrates the overall organizatLon

The syntem i s based upon t wo matn pr ogr-ams

Handler- bull

lmiddotne HandIer- is an IO Lnter-rupt r outine closely related to the

]JVlP-HOST hardware interface It serves the Network process in t r ansmi tting

and receivirJg network rre ss~es

The N~tor~( process carries out moat of the work

Its main function is to satisfy the users middot requests for opening

eloslng connectLons and trammittingrecejving network messages bull For so

doi ng

it establfshcs identj_fies and breaks the linl-lts upon llsjnpound the

all ocat i on tables (HCSl CON1mc-f IUPlJl LINK see 33 11 )

i t is aJ28 of the pr-esence of neraquo users upon exploring the net-or mail box directorv

i t comnunicates with active users by means of shared page s through which messages and r equests are exchanged ( connect i on shared pages r

i t formats inconingoutgoiflg ne ss ages in a working page This worklng page has an extension (eme r-gency rine)

it conmunicates with the Handler by means of a shared page (I O shy

cotrmuni cat i on page ) which contains the I O ccmmnlcatton buffers

22

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 16: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

explained by Iil8 aTlS of trivia l ex aumpl c s

e suppos e that c HOSl(x) user 1D11ts t o t alk to a remote HOST(y)

progr-am called URSA

The HOsel (x) s Network program waken up (See 33) by a use f or

opening a pr-Imary connection s t ar-t s a dia logue with the HOST (y) s NetlOrk

program

(L) HOST(x) sends t he fo lLovring control message

HOST(x) Control link HOST(y)

EKQ PRITmiddot1 a 1 2

ENQ Enquiry for connection establishment (o ne ASCII character-)

PRIN Cormection type pr-Imar y (one special charact er-)

012 Outgoing link It is a decimal number- (3 ASCII character-s )

eg 1ink 12

This link il has been cle t ernined by t he HOST(x) Net work

program (See Jrnplertentatoon 33Y

(ii) HOSl(y) acknovrIedge s by s ending back the fo110ling cont r ol

messaee

HOST(x) Control 1i nk HOSl(y) ~

ACK ENQ PRIIJi a 1 2 a 1 5

ACK Positive acknowledgment (one ASCI I charact er)

ENQ PKUmiddot1 a 1 2 Same meaning as above IhLs part of t he message is

retlwned for ch~cking purposes

015 Incoirlng liroK II It fo11013 the sa718 pat ter n as the outgofng

Lfnk 1 Tni s 1inlc If has been detcmnind by t he HOai (y ) Network

15

progr~m

Now the connection is establfshed it will use links i12

and 15 101 exchanging user rressages The connection is sald

to be in a prc--Log-dn state ie the remote HOSrr(y) expects

its standard log-in pr-ocedures

By neans of TRANSfI subroutines refcrrin2 to the primary connection

the lIOSrl(x) user is able to s lgn-Jn into the HOS-f(y) oper-ating system and

then to call for the liRSA program (HOST (y) user program)

lhe Network programs at both ends 1ill use the link 12 and 15

for passIng along messages These messages are standard messages whose conshy

tents serve for log in sequence

A trivial exarnple could be

HOSl(x) Prim Link 112 HOST(y)--- -)

S I G N - I N X X

HOST (x ) Prim Linllt 15 HOsr(y)

REA D Y

HOST (x) Prim Link 12 HOST(y)

U R S A

(c) Open an auxiliary connection (OPEHNJXI)

In a very slml Lar manner as (2) an auxiliary connection is estabshy

lished between HOSl(x) and HOSrr(y) For so doing control messages are

exchanged over the control link

IIOSI(x) Control link HOST(y)--gt B~Q middotAUX middot 0 2 5

Hosrr(x) ltf-__~~Tltrol link _ HOSTey) -

ACK FJmiddotrq AUX 0 2 5 0 2 1

16

----

NOVI the auxi lturv connec t ion i s e s t ablished it 1J11 usc Li nks 1 25 and 21

By neans of THljJ~l subroutt ncs r efer-r ins t o the auxlLlary COshy

ne ction the users at both ends can exchange data

HOST (x) Aux Idnk 25 HOSI(y)

X X X X ~

HOST(x) Aux Izlnk 121 HOST(y)lt X X

etc -

(e) Close connectIons (CLOSE)

This i s carried out in a sdmlLar manner as (a) Ihe user calls a

CLOSE subrout i ne and then the Hetwor k pr cgrams at bot h ends exchange

~ontrol messages

HOSl(x) Control Link HOS1(y)-raquo zor 0 0 1middot 0 1 2

End of transmi s sion (one ASCII character-)

001 No of connections to be closed C3 deci mal ASCII characters )

o 1 2 Out gqing link II to be clos ed

lhen HOsr(y) acknowledges bact as in (a)

HOST (x) ~_ _ C_ontrol Link HOST(y)

ACK EOI o o 1 o 1 2 o 1 5

Remark 1 _ In (a) (c) and (e) HOS(y) may answer- back a mes sage includinG

a negative acknowledgnent character I~ Allt instead of ACK Thi s f or

17

many various reasons such as wrong sequence connec tion already

opened and so forth The nes sage could be NJlX nm where Ij~l)

i s an alphanumerdcal character- indLcat ing in a coded Iorrn why

the prcvious bIoclr has been rctuscd Upon receivirg back such

acknowledgmcnt a HOST (x ) ill r epeat its measage until llosrr (y)

accepts it 1m emergency procedur e vii 11 t ake place if too many

successive lNJlX me ss age s occur

Rernark 2 - On each of the above iJlustr2tions (arrows) only the mess ege text

i s represented In fact complete rresseges (wi th Ieader- marklng

pac Id lng ) aregt exch angec d over tnese lJnJcs

18

shy

3 JiIIPIEMENrrA~ION IiI GOEr))

31 Introduction t o GOnDO

Gonro is a time--sharing sy stem implemented on 5 DS Si glla 7 vTe

outline below so~~ of the characteristics rel evan t to our paper

311 G01100 file system

lhe file system is page oriented It is compos ed of files and

directories A file consists of a heading and a number- of pages vhich

compose the body of t he file A director-y consists of a rnmoer of entries

that point to either files or other directoz-Ies

312 GOPro proce ss

A process is a prograll (procedures and data) plus its l ogical environshy

ment In other words a process is a program which is known and controlled

by the GOHDO scheduler

A user (a job) may have several processes as different as ccmpiler

loader eeli tor application pr-ogr-am etc A process is created through

a system call (FORK)

lhe space a pi -ocess can refer to is the Vfr -cual Space of 128k word

length A part (~k) of it is reserved for the operating system the

other part (12mc) is directly accessed by the user This later may fill

or modify its par-t of the virtual sp ace upon couplIng ~ (See be Icw

19

servfce calls) pages taken from clifferomt files Pirule 3 illustrates

this coupling

A process can request for services by ITem1S of sysuetn calls Ihe syatcm

calls rc levant to OLU paper are

vlAKE for atl)aJdng (set active) a sleeping process

SLEEP for putting a~leep another process (or itself)

COUPLE for couplfng a page from the file space to the virtuaJ

space

A process ordinarily runs in slave mode However- if jt is set up as an IO process it can access privileged instructions

Processes cen share data through files attached to rnafI box

directorles

Remark Ihrough thts note the words procecs and program are used inter-middot

changeably

20

-middot----- 2 f

r G

--r

fmiddot -q

IL

Lshy

- _ _ ~ _ _- ~ --- -shy- -_ _- ~ _

kshy---_ - shy _ __

- - r--- _-- shy ---11 ~ L shy ---1

- --shy - i

I I 1

1 __shy

_ -

- -shy --------middot-middot-----middot---middot1~

------------- ---I

i

- bull __ e _ _ bull bull _ - - -__----

rZ J I - --_middot_- ------middotmiddot--1 r =-~ ~=~- I middot

- - - - --- - -- 1 I ______~ _ __j

_ middotmiddot- middot----1 _------_- ~

___

f-) 2shy

- _-

i----- -- - middot-middot middot--- shy ~ - -_ _-------__shyr------shyj - -f ~---- - ----1 I--____----

-

- rmiddot middot~ - 1----- -----1 j

~----------middot1 ( r----------middotshyI --~ middotmiddot --------

c bull I ( I

I T - ~ Cv _ ~ ~__ _~_L _J ~ ~~ ~_ __~ _ _

~

1

32 Software Grgan~ z ation Overvie===--- - - - _ ------ _ -- - - -- -- --

Ffgure 11 illustrates the overall organizatLon

The syntem i s based upon t wo matn pr ogr-ams

Handler- bull

lmiddotne HandIer- is an IO Lnter-rupt r outine closely related to the

]JVlP-HOST hardware interface It serves the Network process in t r ansmi tting

and receivirJg network rre ss~es

The N~tor~( process carries out moat of the work

Its main function is to satisfy the users middot requests for opening

eloslng connectLons and trammittingrecejving network messages bull For so

doi ng

it establfshcs identj_fies and breaks the linl-lts upon llsjnpound the

all ocat i on tables (HCSl CON1mc-f IUPlJl LINK see 33 11 )

i t is aJ28 of the pr-esence of neraquo users upon exploring the net-or mail box directorv

i t comnunicates with active users by means of shared page s through which messages and r equests are exchanged ( connect i on shared pages r

i t formats inconingoutgoiflg ne ss ages in a working page This worklng page has an extension (eme r-gency rine)

it conmunicates with the Handler by means of a shared page (I O shy

cotrmuni cat i on page ) which contains the I O ccmmnlcatton buffers

22

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 17: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

progr~m

Now the connection is establfshed it will use links i12

and 15 101 exchanging user rressages The connection is sald

to be in a prc--Log-dn state ie the remote HOSrr(y) expects

its standard log-in pr-ocedures

By neans of TRANSfI subroutines refcrrin2 to the primary connection

the lIOSrl(x) user is able to s lgn-Jn into the HOS-f(y) oper-ating system and

then to call for the liRSA program (HOST (y) user program)

lhe Network programs at both ends 1ill use the link 12 and 15

for passIng along messages These messages are standard messages whose conshy

tents serve for log in sequence

A trivial exarnple could be

HOSl(x) Prim Link 112 HOST(y)--- -)

S I G N - I N X X

HOST (x ) Prim Linllt 15 HOsr(y)

REA D Y

HOST (x) Prim Link 12 HOST(y)

U R S A

(c) Open an auxiliary connection (OPEHNJXI)

In a very slml Lar manner as (2) an auxiliary connection is estabshy

lished between HOSl(x) and HOSrr(y) For so doing control messages are

exchanged over the control link

IIOSI(x) Control link HOST(y)--gt B~Q middotAUX middot 0 2 5

Hosrr(x) ltf-__~~Tltrol link _ HOSTey) -

ACK FJmiddotrq AUX 0 2 5 0 2 1

16

----

NOVI the auxi lturv connec t ion i s e s t ablished it 1J11 usc Li nks 1 25 and 21

By neans of THljJ~l subroutt ncs r efer-r ins t o the auxlLlary COshy

ne ction the users at both ends can exchange data

HOST (x) Aux Idnk 25 HOSI(y)

X X X X ~

HOST(x) Aux Izlnk 121 HOST(y)lt X X

etc -

(e) Close connectIons (CLOSE)

This i s carried out in a sdmlLar manner as (a) Ihe user calls a

CLOSE subrout i ne and then the Hetwor k pr cgrams at bot h ends exchange

~ontrol messages

HOSl(x) Control Link HOS1(y)-raquo zor 0 0 1middot 0 1 2

End of transmi s sion (one ASCII character-)

001 No of connections to be closed C3 deci mal ASCII characters )

o 1 2 Out gqing link II to be clos ed

lhen HOsr(y) acknowledges bact as in (a)

HOST (x) ~_ _ C_ontrol Link HOST(y)

ACK EOI o o 1 o 1 2 o 1 5

Remark 1 _ In (a) (c) and (e) HOS(y) may answer- back a mes sage includinG

a negative acknowledgnent character I~ Allt instead of ACK Thi s f or

17

many various reasons such as wrong sequence connec tion already

opened and so forth The nes sage could be NJlX nm where Ij~l)

i s an alphanumerdcal character- indLcat ing in a coded Iorrn why

the prcvious bIoclr has been rctuscd Upon receivirg back such

acknowledgmcnt a HOST (x ) ill r epeat its measage until llosrr (y)

accepts it 1m emergency procedur e vii 11 t ake place if too many

successive lNJlX me ss age s occur

Rernark 2 - On each of the above iJlustr2tions (arrows) only the mess ege text

i s represented In fact complete rresseges (wi th Ieader- marklng

pac Id lng ) aregt exch angec d over tnese lJnJcs

18

shy

3 JiIIPIEMENrrA~ION IiI GOEr))

31 Introduction t o GOnDO

Gonro is a time--sharing sy stem implemented on 5 DS Si glla 7 vTe

outline below so~~ of the characteristics rel evan t to our paper

311 G01100 file system

lhe file system is page oriented It is compos ed of files and

directories A file consists of a heading and a number- of pages vhich

compose the body of t he file A director-y consists of a rnmoer of entries

that point to either files or other directoz-Ies

312 GOPro proce ss

A process is a prograll (procedures and data) plus its l ogical environshy

ment In other words a process is a program which is known and controlled

by the GOHDO scheduler

A user (a job) may have several processes as different as ccmpiler

loader eeli tor application pr-ogr-am etc A process is created through

a system call (FORK)

lhe space a pi -ocess can refer to is the Vfr -cual Space of 128k word

length A part (~k) of it is reserved for the operating system the

other part (12mc) is directly accessed by the user This later may fill

or modify its par-t of the virtual sp ace upon couplIng ~ (See be Icw

19

servfce calls) pages taken from clifferomt files Pirule 3 illustrates

this coupling

A process can request for services by ITem1S of sysuetn calls Ihe syatcm

calls rc levant to OLU paper are

vlAKE for atl)aJdng (set active) a sleeping process

SLEEP for putting a~leep another process (or itself)

COUPLE for couplfng a page from the file space to the virtuaJ

space

A process ordinarily runs in slave mode However- if jt is set up as an IO process it can access privileged instructions

Processes cen share data through files attached to rnafI box

directorles

Remark Ihrough thts note the words procecs and program are used inter-middot

changeably

20

-middot----- 2 f

r G

--r

fmiddot -q

IL

Lshy

- _ _ ~ _ _- ~ --- -shy- -_ _- ~ _

kshy---_ - shy _ __

- - r--- _-- shy ---11 ~ L shy ---1

- --shy - i

I I 1

1 __shy

_ -

- -shy --------middot-middot-----middot---middot1~

------------- ---I

i

- bull __ e _ _ bull bull _ - - -__----

rZ J I - --_middot_- ------middotmiddot--1 r =-~ ~=~- I middot

- - - - --- - -- 1 I ______~ _ __j

_ middotmiddot- middot----1 _------_- ~

___

f-) 2shy

- _-

i----- -- - middot-middot middot--- shy ~ - -_ _-------__shyr------shyj - -f ~---- - ----1 I--____----

-

- rmiddot middot~ - 1----- -----1 j

~----------middot1 ( r----------middotshyI --~ middotmiddot --------

c bull I ( I

I T - ~ Cv _ ~ ~__ _~_L _J ~ ~~ ~_ __~ _ _

~

1

32 Software Grgan~ z ation Overvie===--- - - - _ ------ _ -- - - -- -- --

Ffgure 11 illustrates the overall organizatLon

The syntem i s based upon t wo matn pr ogr-ams

Handler- bull

lmiddotne HandIer- is an IO Lnter-rupt r outine closely related to the

]JVlP-HOST hardware interface It serves the Network process in t r ansmi tting

and receivirJg network rre ss~es

The N~tor~( process carries out moat of the work

Its main function is to satisfy the users middot requests for opening

eloslng connectLons and trammittingrecejving network messages bull For so

doi ng

it establfshcs identj_fies and breaks the linl-lts upon llsjnpound the

all ocat i on tables (HCSl CON1mc-f IUPlJl LINK see 33 11 )

i t is aJ28 of the pr-esence of neraquo users upon exploring the net-or mail box directorv

i t comnunicates with active users by means of shared page s through which messages and r equests are exchanged ( connect i on shared pages r

i t formats inconingoutgoiflg ne ss ages in a working page This worklng page has an extension (eme r-gency rine)

it conmunicates with the Handler by means of a shared page (I O shy

cotrmuni cat i on page ) which contains the I O ccmmnlcatton buffers

22

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 18: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

----

NOVI the auxi lturv connec t ion i s e s t ablished it 1J11 usc Li nks 1 25 and 21

By neans of THljJ~l subroutt ncs r efer-r ins t o the auxlLlary COshy

ne ction the users at both ends can exchange data

HOST (x) Aux Idnk 25 HOSI(y)

X X X X ~

HOST(x) Aux Izlnk 121 HOST(y)lt X X

etc -

(e) Close connectIons (CLOSE)

This i s carried out in a sdmlLar manner as (a) Ihe user calls a

CLOSE subrout i ne and then the Hetwor k pr cgrams at bot h ends exchange

~ontrol messages

HOSl(x) Control Link HOS1(y)-raquo zor 0 0 1middot 0 1 2

End of transmi s sion (one ASCII character-)

001 No of connections to be closed C3 deci mal ASCII characters )

o 1 2 Out gqing link II to be clos ed

lhen HOsr(y) acknowledges bact as in (a)

HOST (x) ~_ _ C_ontrol Link HOST(y)

ACK EOI o o 1 o 1 2 o 1 5

Remark 1 _ In (a) (c) and (e) HOS(y) may answer- back a mes sage includinG

a negative acknowledgnent character I~ Allt instead of ACK Thi s f or

17

many various reasons such as wrong sequence connec tion already

opened and so forth The nes sage could be NJlX nm where Ij~l)

i s an alphanumerdcal character- indLcat ing in a coded Iorrn why

the prcvious bIoclr has been rctuscd Upon receivirg back such

acknowledgmcnt a HOST (x ) ill r epeat its measage until llosrr (y)

accepts it 1m emergency procedur e vii 11 t ake place if too many

successive lNJlX me ss age s occur

Rernark 2 - On each of the above iJlustr2tions (arrows) only the mess ege text

i s represented In fact complete rresseges (wi th Ieader- marklng

pac Id lng ) aregt exch angec d over tnese lJnJcs

18

shy

3 JiIIPIEMENrrA~ION IiI GOEr))

31 Introduction t o GOnDO

Gonro is a time--sharing sy stem implemented on 5 DS Si glla 7 vTe

outline below so~~ of the characteristics rel evan t to our paper

311 G01100 file system

lhe file system is page oriented It is compos ed of files and

directories A file consists of a heading and a number- of pages vhich

compose the body of t he file A director-y consists of a rnmoer of entries

that point to either files or other directoz-Ies

312 GOPro proce ss

A process is a prograll (procedures and data) plus its l ogical environshy

ment In other words a process is a program which is known and controlled

by the GOHDO scheduler

A user (a job) may have several processes as different as ccmpiler

loader eeli tor application pr-ogr-am etc A process is created through

a system call (FORK)

lhe space a pi -ocess can refer to is the Vfr -cual Space of 128k word

length A part (~k) of it is reserved for the operating system the

other part (12mc) is directly accessed by the user This later may fill

or modify its par-t of the virtual sp ace upon couplIng ~ (See be Icw

19

servfce calls) pages taken from clifferomt files Pirule 3 illustrates

this coupling

A process can request for services by ITem1S of sysuetn calls Ihe syatcm

calls rc levant to OLU paper are

vlAKE for atl)aJdng (set active) a sleeping process

SLEEP for putting a~leep another process (or itself)

COUPLE for couplfng a page from the file space to the virtuaJ

space

A process ordinarily runs in slave mode However- if jt is set up as an IO process it can access privileged instructions

Processes cen share data through files attached to rnafI box

directorles

Remark Ihrough thts note the words procecs and program are used inter-middot

changeably

20

-middot----- 2 f

r G

--r

fmiddot -q

IL

Lshy

- _ _ ~ _ _- ~ --- -shy- -_ _- ~ _

kshy---_ - shy _ __

- - r--- _-- shy ---11 ~ L shy ---1

- --shy - i

I I 1

1 __shy

_ -

- -shy --------middot-middot-----middot---middot1~

------------- ---I

i

- bull __ e _ _ bull bull _ - - -__----

rZ J I - --_middot_- ------middotmiddot--1 r =-~ ~=~- I middot

- - - - --- - -- 1 I ______~ _ __j

_ middotmiddot- middot----1 _------_- ~

___

f-) 2shy

- _-

i----- -- - middot-middot middot--- shy ~ - -_ _-------__shyr------shyj - -f ~---- - ----1 I--____----

-

- rmiddot middot~ - 1----- -----1 j

~----------middot1 ( r----------middotshyI --~ middotmiddot --------

c bull I ( I

I T - ~ Cv _ ~ ~__ _~_L _J ~ ~~ ~_ __~ _ _

~

1

32 Software Grgan~ z ation Overvie===--- - - - _ ------ _ -- - - -- -- --

Ffgure 11 illustrates the overall organizatLon

The syntem i s based upon t wo matn pr ogr-ams

Handler- bull

lmiddotne HandIer- is an IO Lnter-rupt r outine closely related to the

]JVlP-HOST hardware interface It serves the Network process in t r ansmi tting

and receivirJg network rre ss~es

The N~tor~( process carries out moat of the work

Its main function is to satisfy the users middot requests for opening

eloslng connectLons and trammittingrecejving network messages bull For so

doi ng

it establfshcs identj_fies and breaks the linl-lts upon llsjnpound the

all ocat i on tables (HCSl CON1mc-f IUPlJl LINK see 33 11 )

i t is aJ28 of the pr-esence of neraquo users upon exploring the net-or mail box directorv

i t comnunicates with active users by means of shared page s through which messages and r equests are exchanged ( connect i on shared pages r

i t formats inconingoutgoiflg ne ss ages in a working page This worklng page has an extension (eme r-gency rine)

it conmunicates with the Handler by means of a shared page (I O shy

cotrmuni cat i on page ) which contains the I O ccmmnlcatton buffers

22

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 19: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

many various reasons such as wrong sequence connec tion already

opened and so forth The nes sage could be NJlX nm where Ij~l)

i s an alphanumerdcal character- indLcat ing in a coded Iorrn why

the prcvious bIoclr has been rctuscd Upon receivirg back such

acknowledgmcnt a HOST (x ) ill r epeat its measage until llosrr (y)

accepts it 1m emergency procedur e vii 11 t ake place if too many

successive lNJlX me ss age s occur

Rernark 2 - On each of the above iJlustr2tions (arrows) only the mess ege text

i s represented In fact complete rresseges (wi th Ieader- marklng

pac Id lng ) aregt exch angec d over tnese lJnJcs

18

shy

3 JiIIPIEMENrrA~ION IiI GOEr))

31 Introduction t o GOnDO

Gonro is a time--sharing sy stem implemented on 5 DS Si glla 7 vTe

outline below so~~ of the characteristics rel evan t to our paper

311 G01100 file system

lhe file system is page oriented It is compos ed of files and

directories A file consists of a heading and a number- of pages vhich

compose the body of t he file A director-y consists of a rnmoer of entries

that point to either files or other directoz-Ies

312 GOPro proce ss

A process is a prograll (procedures and data) plus its l ogical environshy

ment In other words a process is a program which is known and controlled

by the GOHDO scheduler

A user (a job) may have several processes as different as ccmpiler

loader eeli tor application pr-ogr-am etc A process is created through

a system call (FORK)

lhe space a pi -ocess can refer to is the Vfr -cual Space of 128k word

length A part (~k) of it is reserved for the operating system the

other part (12mc) is directly accessed by the user This later may fill

or modify its par-t of the virtual sp ace upon couplIng ~ (See be Icw

19

servfce calls) pages taken from clifferomt files Pirule 3 illustrates

this coupling

A process can request for services by ITem1S of sysuetn calls Ihe syatcm

calls rc levant to OLU paper are

vlAKE for atl)aJdng (set active) a sleeping process

SLEEP for putting a~leep another process (or itself)

COUPLE for couplfng a page from the file space to the virtuaJ

space

A process ordinarily runs in slave mode However- if jt is set up as an IO process it can access privileged instructions

Processes cen share data through files attached to rnafI box

directorles

Remark Ihrough thts note the words procecs and program are used inter-middot

changeably

20

-middot----- 2 f

r G

--r

fmiddot -q

IL

Lshy

- _ _ ~ _ _- ~ --- -shy- -_ _- ~ _

kshy---_ - shy _ __

- - r--- _-- shy ---11 ~ L shy ---1

- --shy - i

I I 1

1 __shy

_ -

- -shy --------middot-middot-----middot---middot1~

------------- ---I

i

- bull __ e _ _ bull bull _ - - -__----

rZ J I - --_middot_- ------middotmiddot--1 r =-~ ~=~- I middot

- - - - --- - -- 1 I ______~ _ __j

_ middotmiddot- middot----1 _------_- ~

___

f-) 2shy

- _-

i----- -- - middot-middot middot--- shy ~ - -_ _-------__shyr------shyj - -f ~---- - ----1 I--____----

-

- rmiddot middot~ - 1----- -----1 j

~----------middot1 ( r----------middotshyI --~ middotmiddot --------

c bull I ( I

I T - ~ Cv _ ~ ~__ _~_L _J ~ ~~ ~_ __~ _ _

~

1

32 Software Grgan~ z ation Overvie===--- - - - _ ------ _ -- - - -- -- --

Ffgure 11 illustrates the overall organizatLon

The syntem i s based upon t wo matn pr ogr-ams

Handler- bull

lmiddotne HandIer- is an IO Lnter-rupt r outine closely related to the

]JVlP-HOST hardware interface It serves the Network process in t r ansmi tting

and receivirJg network rre ss~es

The N~tor~( process carries out moat of the work

Its main function is to satisfy the users middot requests for opening

eloslng connectLons and trammittingrecejving network messages bull For so

doi ng

it establfshcs identj_fies and breaks the linl-lts upon llsjnpound the

all ocat i on tables (HCSl CON1mc-f IUPlJl LINK see 33 11 )

i t is aJ28 of the pr-esence of neraquo users upon exploring the net-or mail box directorv

i t comnunicates with active users by means of shared page s through which messages and r equests are exchanged ( connect i on shared pages r

i t formats inconingoutgoiflg ne ss ages in a working page This worklng page has an extension (eme r-gency rine)

it conmunicates with the Handler by means of a shared page (I O shy

cotrmuni cat i on page ) which contains the I O ccmmnlcatton buffers

22

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 20: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

shy

3 JiIIPIEMENrrA~ION IiI GOEr))

31 Introduction t o GOnDO

Gonro is a time--sharing sy stem implemented on 5 DS Si glla 7 vTe

outline below so~~ of the characteristics rel evan t to our paper

311 G01100 file system

lhe file system is page oriented It is compos ed of files and

directories A file consists of a heading and a number- of pages vhich

compose the body of t he file A director-y consists of a rnmoer of entries

that point to either files or other directoz-Ies

312 GOPro proce ss

A process is a prograll (procedures and data) plus its l ogical environshy

ment In other words a process is a program which is known and controlled

by the GOHDO scheduler

A user (a job) may have several processes as different as ccmpiler

loader eeli tor application pr-ogr-am etc A process is created through

a system call (FORK)

lhe space a pi -ocess can refer to is the Vfr -cual Space of 128k word

length A part (~k) of it is reserved for the operating system the

other part (12mc) is directly accessed by the user This later may fill

or modify its par-t of the virtual sp ace upon couplIng ~ (See be Icw

19

servfce calls) pages taken from clifferomt files Pirule 3 illustrates

this coupling

A process can request for services by ITem1S of sysuetn calls Ihe syatcm

calls rc levant to OLU paper are

vlAKE for atl)aJdng (set active) a sleeping process

SLEEP for putting a~leep another process (or itself)

COUPLE for couplfng a page from the file space to the virtuaJ

space

A process ordinarily runs in slave mode However- if jt is set up as an IO process it can access privileged instructions

Processes cen share data through files attached to rnafI box

directorles

Remark Ihrough thts note the words procecs and program are used inter-middot

changeably

20

-middot----- 2 f

r G

--r

fmiddot -q

IL

Lshy

- _ _ ~ _ _- ~ --- -shy- -_ _- ~ _

kshy---_ - shy _ __

- - r--- _-- shy ---11 ~ L shy ---1

- --shy - i

I I 1

1 __shy

_ -

- -shy --------middot-middot-----middot---middot1~

------------- ---I

i

- bull __ e _ _ bull bull _ - - -__----

rZ J I - --_middot_- ------middotmiddot--1 r =-~ ~=~- I middot

- - - - --- - -- 1 I ______~ _ __j

_ middotmiddot- middot----1 _------_- ~

___

f-) 2shy

- _-

i----- -- - middot-middot middot--- shy ~ - -_ _-------__shyr------shyj - -f ~---- - ----1 I--____----

-

- rmiddot middot~ - 1----- -----1 j

~----------middot1 ( r----------middotshyI --~ middotmiddot --------

c bull I ( I

I T - ~ Cv _ ~ ~__ _~_L _J ~ ~~ ~_ __~ _ _

~

1

32 Software Grgan~ z ation Overvie===--- - - - _ ------ _ -- - - -- -- --

Ffgure 11 illustrates the overall organizatLon

The syntem i s based upon t wo matn pr ogr-ams

Handler- bull

lmiddotne HandIer- is an IO Lnter-rupt r outine closely related to the

]JVlP-HOST hardware interface It serves the Network process in t r ansmi tting

and receivirJg network rre ss~es

The N~tor~( process carries out moat of the work

Its main function is to satisfy the users middot requests for opening

eloslng connectLons and trammittingrecejving network messages bull For so

doi ng

it establfshcs identj_fies and breaks the linl-lts upon llsjnpound the

all ocat i on tables (HCSl CON1mc-f IUPlJl LINK see 33 11 )

i t is aJ28 of the pr-esence of neraquo users upon exploring the net-or mail box directorv

i t comnunicates with active users by means of shared page s through which messages and r equests are exchanged ( connect i on shared pages r

i t formats inconingoutgoiflg ne ss ages in a working page This worklng page has an extension (eme r-gency rine)

it conmunicates with the Handler by means of a shared page (I O shy

cotrmuni cat i on page ) which contains the I O ccmmnlcatton buffers

22

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 21: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

servfce calls) pages taken from clifferomt files Pirule 3 illustrates

this coupling

A process can request for services by ITem1S of sysuetn calls Ihe syatcm

calls rc levant to OLU paper are

vlAKE for atl)aJdng (set active) a sleeping process

SLEEP for putting a~leep another process (or itself)

COUPLE for couplfng a page from the file space to the virtuaJ

space

A process ordinarily runs in slave mode However- if jt is set up as an IO process it can access privileged instructions

Processes cen share data through files attached to rnafI box

directorles

Remark Ihrough thts note the words procecs and program are used inter-middot

changeably

20

-middot----- 2 f

r G

--r

fmiddot -q

IL

Lshy

- _ _ ~ _ _- ~ --- -shy- -_ _- ~ _

kshy---_ - shy _ __

- - r--- _-- shy ---11 ~ L shy ---1

- --shy - i

I I 1

1 __shy

_ -

- -shy --------middot-middot-----middot---middot1~

------------- ---I

i

- bull __ e _ _ bull bull _ - - -__----

rZ J I - --_middot_- ------middotmiddot--1 r =-~ ~=~- I middot

- - - - --- - -- 1 I ______~ _ __j

_ middotmiddot- middot----1 _------_- ~

___

f-) 2shy

- _-

i----- -- - middot-middot middot--- shy ~ - -_ _-------__shyr------shyj - -f ~---- - ----1 I--____----

-

- rmiddot middot~ - 1----- -----1 j

~----------middot1 ( r----------middotshyI --~ middotmiddot --------

c bull I ( I

I T - ~ Cv _ ~ ~__ _~_L _J ~ ~~ ~_ __~ _ _

~

1

32 Software Grgan~ z ation Overvie===--- - - - _ ------ _ -- - - -- -- --

Ffgure 11 illustrates the overall organizatLon

The syntem i s based upon t wo matn pr ogr-ams

Handler- bull

lmiddotne HandIer- is an IO Lnter-rupt r outine closely related to the

]JVlP-HOST hardware interface It serves the Network process in t r ansmi tting

and receivirJg network rre ss~es

The N~tor~( process carries out moat of the work

Its main function is to satisfy the users middot requests for opening

eloslng connectLons and trammittingrecejving network messages bull For so

doi ng

it establfshcs identj_fies and breaks the linl-lts upon llsjnpound the

all ocat i on tables (HCSl CON1mc-f IUPlJl LINK see 33 11 )

i t is aJ28 of the pr-esence of neraquo users upon exploring the net-or mail box directorv

i t comnunicates with active users by means of shared page s through which messages and r equests are exchanged ( connect i on shared pages r

i t formats inconingoutgoiflg ne ss ages in a working page This worklng page has an extension (eme r-gency rine)

it conmunicates with the Handler by means of a shared page (I O shy

cotrmuni cat i on page ) which contains the I O ccmmnlcatton buffers

22

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 22: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

-middot----- 2 f

r G

--r

fmiddot -q

IL

Lshy

- _ _ ~ _ _- ~ --- -shy- -_ _- ~ _

kshy---_ - shy _ __

- - r--- _-- shy ---11 ~ L shy ---1

- --shy - i

I I 1

1 __shy

_ -

- -shy --------middot-middot-----middot---middot1~

------------- ---I

i

- bull __ e _ _ bull bull _ - - -__----

rZ J I - --_middot_- ------middotmiddot--1 r =-~ ~=~- I middot

- - - - --- - -- 1 I ______~ _ __j

_ middotmiddot- middot----1 _------_- ~

___

f-) 2shy

- _-

i----- -- - middot-middot middot--- shy ~ - -_ _-------__shyr------shyj - -f ~---- - ----1 I--____----

-

- rmiddot middot~ - 1----- -----1 j

~----------middot1 ( r----------middotshyI --~ middotmiddot --------

c bull I ( I

I T - ~ Cv _ ~ ~__ _~_L _J ~ ~~ ~_ __~ _ _

~

1

32 Software Grgan~ z ation Overvie===--- - - - _ ------ _ -- - - -- -- --

Ffgure 11 illustrates the overall organizatLon

The syntem i s based upon t wo matn pr ogr-ams

Handler- bull

lmiddotne HandIer- is an IO Lnter-rupt r outine closely related to the

]JVlP-HOST hardware interface It serves the Network process in t r ansmi tting

and receivirJg network rre ss~es

The N~tor~( process carries out moat of the work

Its main function is to satisfy the users middot requests for opening

eloslng connectLons and trammittingrecejving network messages bull For so

doi ng

it establfshcs identj_fies and breaks the linl-lts upon llsjnpound the

all ocat i on tables (HCSl CON1mc-f IUPlJl LINK see 33 11 )

i t is aJ28 of the pr-esence of neraquo users upon exploring the net-or mail box directorv

i t comnunicates with active users by means of shared page s through which messages and r equests are exchanged ( connect i on shared pages r

i t formats inconingoutgoiflg ne ss ages in a working page This worklng page has an extension (eme r-gency rine)

it conmunicates with the Handler by means of a shared page (I O shy

cotrmuni cat i on page ) which contains the I O ccmmnlcatton buffers

22

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 23: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

32 Software Grgan~ z ation Overvie===--- - - - _ ------ _ -- - - -- -- --

Ffgure 11 illustrates the overall organizatLon

The syntem i s based upon t wo matn pr ogr-ams

Handler- bull

lmiddotne HandIer- is an IO Lnter-rupt r outine closely related to the

]JVlP-HOST hardware interface It serves the Network process in t r ansmi tting

and receivirJg network rre ss~es

The N~tor~( process carries out moat of the work

Its main function is to satisfy the users middot requests for opening

eloslng connectLons and trammittingrecejving network messages bull For so

doi ng

it establfshcs identj_fies and breaks the linl-lts upon llsjnpound the

all ocat i on tables (HCSl CON1mc-f IUPlJl LINK see 33 11 )

i t is aJ28 of the pr-esence of neraquo users upon exploring the net-or mail box directorv

i t comnunicates with active users by means of shared page s through which messages and r equests are exchanged ( connect i on shared pages r

i t formats inconingoutgoiflg ne ss ages in a working page This worklng page has an extension (eme r-gency rine)

it conmunicates with the Handler by means of a shared page (I O shy

cotrmuni cat i on page ) which contains the I O ccmmnlcatton buffers

22

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 24: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

4 ltgt

J ~

-J 0

- - J

I I I

lU i crl 3

-- ~ s

- ~- - ~ ~ - shy

I r-shyraquo f __ ~ ~ (~shy-~--lt~_-- t_ ~ -raquo ~ )

-~ -z ~ t 0) - V i

S j-L i ~)

j--~~~-1 --r1-- LI middot lt- -= j __1_gt __ ~ -___- - ---- -- -_- t ~ J I I

----- - i i- shy -~----~ s i

- --- - ---middotmiddot-0 d lt0 I l ~ ~ iII s- r I( 1-middotmiddot c i u r - __ -___ _ L_ _____-shy ~ x n(l middotn v) t I i 1__ r=~middot ~ ~----t --- - - - - -- - shy-=-_ --)-I -----= middotI

rI

l --~-----_

----- -___ ____ _1Y _ __---- - -__ -r------middot -middot- middot--middotmiddotmiddotmiddot middotmiddot - - f Slt

5~gt I ~ J-

c -- ~ tl -

) _ t

- L_ _ cbull__ __ bull bull _ _ _ bull

------ --

-- ----_ --- -- - - _ _- -- -~- ~ - ---~ - - -_ - - ~ - ~

I ~ - C bull

i I middot

j01

~ _ rmiddot _ ~_ _ bull -- __

~)

raquogt ~ I ~ ~ ~shy

1_J ~~ --shy1I j -- ~ shyI - --

i__ ~ _ ( l- J

-~ -- ---- -

I shy

~ _-- -___ _ _ il i l-~ J r j

I z IIi -) i I bull _ ~ __1_ bull _ I___ -4__

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 25: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

3 3 Softwai-e Descr-Iptlon ~--====-_--=== ==-=-==-==

33 J Data St ruct urce

33 J1 AlLocatIon t ebles HOST) CONi~ECl) n middotTPUrr LIi JK- --__ ---- _ -_ ~-- ---__-~---- ~-__------- ~--------~

Ine Network pr ogram est ablishes) identifIes) and br eaks links and

connections upon using 3 tables

A table -sorted by remote BOSI II

A table sorted by connection

A table sorted by -input Linlc f

(a) HOST tab l e (See fLgureS)

It is a bit table indicating the free outgoing links It has the

folLovrlng characteristi cs

Locatlon Disc resident

Coupling Coupled to the Hetivork process virtual space Size As many slots as remote Hosrr bull s

Slot structure As many bits as possible outgoing Liriks to a remote HOSI) ie) 256

Access - Indexir-8 East s]ot is accessed through a -remote HOST II Specific reature 1hroughout the whole t able no more than 64

bits can be turned on This figure cor-resshy

ponds to the maximum number of outgoing links

that can be actlvated at one tjm~ (No matter

what is the nunber- of remote HOSI )s

24

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 26: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

(b) COWmiddotlEUr table

~his table keeps track of all the connections onvlrorutent

It has tne follmIing characteristics

Location Disc resfdent Coupling Coupled to the Net-mrk pr-ocess v L t ual space

Size As many slots as connections in use

Slot structure See figme 6 Each slot is 2 V[OlU Length

Access IndeXing Each slot is accessed through a connection

see 34 the vmy it is handled

Specific feature l The slot structure correspording to a

primary connection is not identical to

that of an auxjLlary connection (See

fLgur-e 7) This because user identificashy

tions and requcsts are done through primary

shared pages

Specific feature 2 This table is handled in parallel viith the

connection pages (See 332 (b) )

Specific feature 3 This table is mainly used for t r-ansrnlt t lng

mess~es (For each connection it contains

the outgorng link II and renote HOST II ie

all the inforflation r e qulred for transshy

mitting a nessege )

(ci n~p(Jl LINl table

~his table keeps trade of all the Lncoml ng (input) Hnks and so is

cLoseIv related to the CO EmiddotECr table

25

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 27: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

---- _ _ - - -- bull --_-- - _ - -- _

- r - ~~ 1 ITT -~_ ~ - - - --~- ~- - ~-- -middot - - middot -middot~ -middot middotllmiddott-1- 1middot1 - A bull t 4 J 1

~~ bull bull bull bullbullbull _ ~ ~ _ _ _ bull bullbullbull _ bull _ bull bull bull bull bull bull _ _ bull bullbull bull _ _ __ bull bull _ bull bull bull _ bull bull bull ~ bull bull bull _ _ 4 __ _

I ~ ~ I-4_

-_ -- - __-- ----shy i J

~O ~ ~ l fr-------_ - --- -- -- I

~ gt

_ --_-- - - -

__ _ ____ __ __ __ __ _ _ _ _ 1 I

1--- - - -- - - ---- -- - -- -- _ - - _ - - - ) I ) -r 1 ~

1 r ulaquo ) J -_-

G

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 28: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

Jx

-shyQ

[

01

r-----middot -~-- shy( X ~ 4

I

r bull J ) lt r Z ~ bull

_ _ - _ _- - ~ ~~ ~ =- _ y

I - - ------------ -( _ __-_-- -_ _---~ _-- _

JJ~l ( ~~~~~~~-~~~~~~~~ _ ~ 1~~~~ -

[~=~~~~~ --- _- ~~=~~~~~=-~~- ~~~ ~ ~~ _~~~=~ ~~~~ ~~~~=~~~~=~ - ---~~~=~~~--~~~~~~~~ ~ ~] ____ _ _ __ lt laquo ~ - - _J ~-J ---_ -- )

- I I J t rmiddot CoI~ c_ - -J ~ bull I

l ~ middot I f

v

L_____ __ __~ c ~ Y ~ ~ ~ (I

------ --___ _--~ -------J 11 ( 0 ~ ~J ( n

( ~ ) 1 ~J- -t l -~ l~ J- - i i

~ ~ t middot

j i c

bull _ 0 - ) - r r-l middot~ L bull J (J _ ( ~ r I middotbull bull H middot middot ~

~ l -shyI ~ ( r middot f bull bullI _ l - 1

I

0middot c (

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 29: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

Qr ~ 4 middot r ~

0 J

TYI( yt) o J ~ -- i

~

CC Y-~ ~ t ( p ( - - - --------

~ l J

~- ~ 1 ~

bull ~ ~ f r ~-t -e - op ~ e- ~I ~ I 1bull bull v ~

C ( i ~ jv cr middotmiddotr ~ lt raquo c-middotmiddot middotmiddot~_ ) ~ C J J

c

-

t -

- s j __

(

3~~ - ~ ~ iraquo -l

~l i

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 30: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

It has the f ollodng chaz-act er-IetLca

Location Disc 8sic1ent

Coupling Coupled t o the lctjo r~~ proces s virtual space

Size As many slot s as incoming l illls ie as connect ions

Slot suructure See f jpuT8 7 Each s lot i s 1 wor-d l e ll-2th

Access Haslrl ng J[i O hashed k ey val~tc i s mainl y based upon

the Incon LilE Lfnk ii and the remote EOST If ~

SpecifIc fe atu re L This t able is also used for momentaril y

ITr-ffiorizing the connectdon numoer- vlhile

establishing t he next connect ion See

3 11 the Jay i t Is handled bull

SpeclfLc f eat ure 2 Th-is t able js pr-imar-Hy used upon r-ecefving

mes sages (For each incod ns link i t conshy

tains the corr~sronjing cb~1ect ion ie

indi r octJy the user identification t o hich

the message should be pa s sed along)

3312 Guffer oarre s ----~--- -

All the PDSOS that are nO1 to be described contain t wo buffer-s

(fnput and out put ) These bu f fecG are used f or either pas sirg aJog or

processl ng r~essaCe s

The size of e2c11 of the se buffe rc should at Leaat be equal to th2

of a measage ie 8095 bi ts e have chosen abuffer s I ze of 253 wor ds

(8096 bits) s o that both of the buffer-s are iJ 1c~udec1 middotrithjY1 ODe P2G8 (51 2

words) lhe 6 r ematrrlng ~ICrQS of t he p)ge are gererally used for contr-ol

A typical buffci- I18e st ructure i s icJrntiflcc on fJ f~ur2 8

29

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 31: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

(a) IO comnmtcatlon tc[c_--__---__---__shy

See figure 9

fJhis IO COTluJ1ication page is used as an inter-face between the

Handler and the Netvork program

In the buffers of this page the mcsaages are assembled (input) or

de-assembled (output) word by word by the Hendler eg a r-eady to go

message sorted by the Network program in the output bUffer is shipped

out word by word by the Handler

Main characteristics

Location Resident in core Locked page Coupllng Coupled to the Network process virtual space

v Content Input burfel (253 10roS) r or Incomtng messages

OUtput buffer (253 words) for outgoing messages

Input control zone (6 half words)

OUtput control zone (6 half words)

Structure See figure 9

Specific feature Ine input buffer js filled by the Handler

(read from hardsare ) and emptied by the

Network program

Vice versa for the output buffer

General feqt ur 2s

Tnere are as rna1y shared pltSes as connectIons

30

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 32: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

middotshy

cons t i t u t e a cw municntionzone for (1) p33in~ the rr~3sage~)

back and for-t h and (2 ) exchmcinr control Lnformat Ion e g

HaJi1 charactcd0tlc ~middot

LocatLon Di s c rcsid~nt

Coupling Coupled to both a user- process vi t-t ua) space and the net wor-k proces s vi r t ual space

Content Input buffer (253 wor ds) f or middott r1Comi ng messages

- Out put buffe (253 words ) for 6utsoing messages

Input control zone (6 half words )

Outpu t cont ro l zone ( 6 half words )

St r uct ure See fLGUl~e JO

Ihe Lnout buffer is f i lJ ed by the Network

and emptied by the us er

- Vice ver s a f or the output buff er

Speci flc fea~Ul2 2 The cont r-ol zone corr-espondfng t o a pr -Imary

-connection shared page diff er s from that

of an auxlIfar-y connect I on _ lhi s be cause

it i s vi a a trprlrr y conne ctLon cont rol

zone t hat auxiJiary connect i on cstab l Lsrishy

ment requests middot8XB trCJlsmi ttsd to t he Het shy

31

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 33: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

I

independently on dIffer-em f mess ages and s o cont r-Ibut es to an ove lJ CJrpjn~~

For Instance when the HandIer - i ~ busy tra11srilitLins a message to t he haXdI 2 l~

the Net~ or~ program can Iormat 0eade r mal~ing etc ) the r eset message to

be shl ppecJ out) so t hat it C Cl~1 Jy11itiate t he H2~ne I 83 s oon as i t i s free

lViain charactcr-i atLcs

Location Di sc rc idcnt

Content I nput buffer (253 ICr ds) f or incoming messages

Output buffer (253 vrords ) for outgoing rrees age s

Rem2rk

During r iceptJon it nay happen that a user pr-ogrem i s not rLCloy

to accept a nel mess8fe In that case to avoid CJoi~gi ng up t he syst em

the Ne t woz-k stor es rrorrentarl ly the Lncomlng message in one of t he buffer

of the middoteme r euro ency middotr i ng middot (If thi s r i ng is full a help r out Ine ~dll be

f nvoked )

therefore such procedur es need not be provided (The Net work progr-am

a11015 a user to r-e-cmit onIy when having r-ece lved t he Rf1 li of t he previous

transmitted message )

32

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 34: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

~--_ _ - - ___ _ shy

r------------- ----_----_-- -----~ - --- --T -

I ~7 _ bull J (J fj rf -(- )C _ - ~ -o 1 ~

6 v Jlt - ~ ~

r t

AIlv- ~lt ~- Jl )~~ 0r- (-1-~ ~ Jv _

~ If------ -----_- --- - - - -

I td l11- middot 1 r ~ middotmiddotf - ) ~ laquo middot-_ ~ l

I I - I ( I ~ I J I ~ - ~ VLd ~ ~ J ~ __ ______ ~ __ ____J

I o ~ shy

I I 1 ( t~ ~

I II

-

~j---- - -----__-- -- -----__----_- - ~ _A - _ _ ___ ~ __ _ - bull -

~

J --- bull bull ( 1-- bullbull__ r v bull bull bull I

-r~C- --- --------- -- - - --

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 35: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

I I ~ - I It-J cl ~ 1 ~ ) ~__ - _ -- - -- _-- -- --- - - - _--- - gt

l- bull --1 11 1 oJ_ -- rv r- J I l ~ I I- j l- 6 J 1 - _1 CIJ ) 1 l j I ~ shy+

I ITh l 1~ lj J b LX oo () () ~ ) =

XI o( U ( ~ ( - CIf

l_ ~ J II b-I

bull ~ I I ly

0 0 0 ) 0 0 1- ~ I- 1)

__ I bull ) l ~ u ( Co l ) ~ ( - ~ bull i 1 _

~--J ~---_-- ~ - ~ -- --~ ~ -~ - - - -I- - --- --~ ~-- - - ~__~_~ I

I 1 viI oJ bullbull shy

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 36: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

J I t L- i - gt

I bullbull l gt ) -_ ~__ - -__0_ -____ __z__~ ~____ _ __ ____--)

_ t J ~- Jlt t

a ~ c ~ - J

t shy

I-( ~P- 1 v t ~ l ~

illI

r ~ =-~~=~~=~~=~~_-~middot~~~==~middot===~~-~=~__ ---~J ( ------- - i

r 1_L1 - - ~_ ( ~---- j

l~ ~ ~ I ~ J ( I - ~ ~ middott ~ _ _ j

(

t

laquo shy ~

0 -lt _ bullbullbull bullbull~ ( C t-- bull t _-- - - - -- _--- - --- C ~

---~---- ---

] JJtt ~ ~ ~lJ ~ gt ~ J

bull t ~ -

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 37: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

General reatures

It Ls an IO Lnt orrupt routine which clriyes t he IHPHOST h BTdWGL(-e

interf ac e in 0L1er t o tr-ansmlt 01 r-eccfve raes sages ll2J1smission CU1d reshy

ceptLon are carr-Ied out in a full duoI ex mode

Main characteristics

LocatIon Core resident The Handler is in the same memory

zone as the operating system and can be considered

as paz-t of it ~

Initiation By the ll-1P-HOSI hardware Lnterrupt Tnis interrupt

is triggered either

pletely sent to the n~p

dur-Ing reception when a rresaag e word has been

conpletely received from the II~P

dur-Ing idle t ime when the hardware received either

a staz-t input orstart output order frcm the

Si8JPa 7 CPU Those orders ar e Lssued by the Netshy

work program for provoking I nt errupt s back (conshy

sequent ly for lndirectly initiatine the Handle)

14ain f unctions FmptLe s the output bllf~~r upon tral1srlltting

its content (outgolng message to the Ir1p

This operation is carrIed out word by word

36

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 38: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

driv1rg the HOSl-IYiP bardware

HOSI 1- n ip hardware (Lnconrlng message) Ihi s

operation is als o car-r-ied out word by word

and makes us e of Read order s for cki v j jJg

t he lIosrr-JJlP hardvrare bull

- akes up the Ne t work pr ogram when any of the

previous oper ati ons i s comp1ete

3322 Net work program

General featur es

This pr-ogr am serves the user f or operrlngcI oaing connections and

tr-ansmlt ttngr-ecejvf ng mcasages It uses the Handler as a1 aid for intel shy

facing middotri t h the hardware bull

For the GOPJx) poi nt of vievl it is a regular proces s and t r eated as

such

Mcdn characteristics

Location Disc re3iCent Nore precfsely it is on disc when

asleep and called in core when awakened by a proEr2In

lnitiatiorl It is initiatAd t hrough i-fAKE ser vice calls Lsaued

either by a user process or by the Handl er

fmiddotciin functJ ons Estab]j gthesdele t es outgoing corrnecti lt-s_upon

users requc3ts For s o doing i t send ~ contr oJ

messages (see 2 l~ 2) to remote HOST in order s

to get lihs etabli shedr~le2sed i t then

notifies back t h2 U3elS

37

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 39: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

middotfor cont r-Ibuting to cs t abfLsbmentsdeIctLons

of connect i ons (thosc r -equeat od by r elllot e

HOS1S) bull

(the messages 810 stored there byus ers fonnats

t hem (adds leader middot marktng checksum ) and

pas ses them alons t o t he HandIer- f or t r ansshy

miss ion

~ Insur es delivery of Eccming messagps It i s

the oppos i t e of t he above operatLon The

users to whicl the rrcsaagc s should be delivered

C(8 identif1 (d t hr ouGh the Leadcr-s

E middot JlVirtual Seespece conrlguratIon IJgur-e

Specifi c f e at lUe It is int egrat ed as an IO proces s so that

it can access prLvl Ieged I ns tr uctlon (RDD

for i ndirectly initiating t he Handler-) bull

38

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 40: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

r- - -- bull- -- - _- _---- - - ___- -_ --middot-middotmiddot---------- r~j i I

I I

iI t ~ l i ~ ~ middotu ~ ~~~

I

I

I I

I __ _ bull bullbull_ _ bull bull bull bull bull _ _ _ bull _ _ _ bull bull _ _ _ _ _ __ _ O d _ _ _ _ -shy

1 - bullCo_ ~- ) 1r) ~ ( ( l _ 1middot j

le v middot1- v ~

z

bull t ~ I ( 1(

C- _ - _ bull - __-~-_ _- -----_ - - --- - - - - --- bull bull bull bull - -- bull bull -i

o c- ~- S e bullr ~ middotI middot G bull ~ JI

J- t~-gt I raquo (j -- bull ~ r bull r- - bull bull

) 4 ~

I r

~ bull -~---~ --~~I bull - shy-- -- -- _ bull(1~-~bull I ~ ~ --- - -- l ~ ~ - _ I p~ _gt -

~ r bull - b ~ () ~~ ( t--shy

J t J ~ - ~ ~ ( V - - (1 ~ ~ bullbull bull j gt I) c lt

I ( I 1 I

I

~ ~-=-=-==--=~-_--==--- _-=--=-bull _~ -~--_ --c- ---= rr i

0_ I I - ~ i l~ ~ i ~ ~ t middotcJ -

v _ 11 gt 1 I t

~ ~ I iL ___J

_ ___~ - - bull r -_ ----_ - - - - _ - - bull __

--shy- --shy - _-- _ -

bullbull bullgt- - -l I t middot

- _ _ -___ _-- -_ _-----__--_ -_- - _- - - _shy

1 I r- ~ -

39

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 41: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

3 11 Software Pr-ocedures

1he detailed sorrvaro pr-ocedures are Given on the fLowcharcs

atcached -lith ~ppendlx A

Hewever- to get a qui ck under-standlng of t he ingtplemrntation we

list below s~ne t~~~cal software procedl~s

3II i Description of sorr~e typ~cal sequenct~

Consider scme of the transactions at user 1 s disposal (See 2 11) and

point out the basic softvrare procedures -t hey middotimpl y For each case vIe dll

delineate (1) what the user pr-ogram does wid (ii) what the iJet1iork program

does

(a) Open a primarl_1iru~ (See a l s o 242)

(1) 1hat the user program d~s[ll

it stores In the Network mail box dJrectory the name of a

filegt eg gt DATA

it couples the first paee of this file to its virtual space

it stores inforiTation in middott hi s pQpounde (i t s job jprocess II the

remo~e HOST eg (1))

middot i t w~ces up the Network process

it goes to sleep

(jj) 1hot the rJetork oro=rEUTI does ~--------

~t explores the Network mail box directory end accesses the file DJrJ

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 42: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

- I

1 it couples the first page of this file to its vi tuc~l space

_(Shared Zone s e e 331 2) SUl)pOSe t l1is page t be the kth in

the shared zone k is the int ernal conncctlon Ii

f it explor e s t h~ i th sJot of trM JIOSl t able (See 3311 ( a))

t h and selects thG fir st bit = 0 eg t he a bit a corresponds

to the outgoing link ll

it stores il1fOYillation (j onprocess II remote nosr (i)

t h outgoing link f (0)) in the k slot of the CONNECl table

(see 3312)

lt it momentar-l Iy stores t he connection if (k) in the IHPill LUJK

table This is carried out upon creating an entry in this

t ab l e (Has hi ng the key v alue outgoing link il laquo(I) + remote

HOSl1 (L) -l ~ outgoing flaS)

it prepares the message t ext I~Q PRD1 0 o a and formats

a conplete message in adding leader marking checksum etc

-it checks the Handler- s tate (bit in IO locked pase) If the

HandJ er is free it stO2S the ready to go control message

in the output buffer of the IO locked page initiates the

Handler and goes to sleep Else it gees to sleep

After a whfLe t he Handler wakes up t he l~etOrk process because it has

received a complete message bull 1e suppose this message be the contr-ol

message sent by t he r emote HOST for ac1moledsinz t he est ab LLsrmerrt of the

connectIon The message text should be

ACK FJIQ PRUmiddotl 0 0 0 0 0 S

where 13 Ls t11e Lnc ornlng link ll (See 2 ll 2)

41

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 43: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

- -

Lets see n O1 what tl~JJet-orl pro~ram c_~~ih~n recefving t he

above cont rol ~esscgc

it retr-Leves t he connectLon prevfousIy stored in the ~ JJI)l]I

LINK t able upon re-hashtng the sane key value (See above)

Also Lt deletes thi s entry

it cr eates an entry i n the I NPUr LD-J~ t ab l e for t he incoming

link For so doing it hashes the key value inccmi ng I lnc

--I (S) + r emot e HOST II (i) + -1nconing fLag In this entry it

stores the HOST II a) the Lncomlng l i lk tI (13) and connection

fl oo it updat es the kt h slot of t he CONW~CI t able in stor-I ng the

incoming Hm ( f3)

t h it turns on the net-user bit in k shared page (pasc

cor respondi ng to t he prd mary connectLon t hat has jus t been

opened) and lakes up the user pr ocess

it goes to sleep

(b) Transmit a message o~er pdmary link

it stores the message t ext in the out put buffer of t he pr dmary

connection shared page (See 331 2)

it middotturns on the user-net bit of this page and wakes up the Networ-k process

it goes to sleep

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 44: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

(ii) ihat the Ne tror~ pr~17cm d_C~

it 1001es for USCI reques t io) i t explores in sequence the

connectI on shared pages and selects t he ODo that has its user shy

net 1 bit turned on Suppose Ie be t he select ed peg e on the

shared Est K is the connectLon

it determines the r equest type in testinz the request bits of

the shared page k It fInds out that it is a request for

transrnitting a rnessage

i t takes the message t ext from the output buffer of the shared

page k formats it into a cOrrTJJlete message and transmits to

the Handler in a vcr-J similar VlaY 8S above (See Open a primary

Lmk)

it goe~ to sleep

[1J Rerrar1c In a first phase the user 1ill dlrectIywr-Lte the network

functions in his program Later on subroutines Hill be put

at users disposal These subroutines vdll be very close to

those described in 211

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 45: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

APPENIJIX A

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 46: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

middot- -~ I - - r ~ bull a

1 t ( r T i J C h ( _~ l - - t 1 J t c -t ~ )U t

----------------~----------~-__-

I j I I I I I

- -- -------bull_- --__--- _-- ---bull- - - --___

1

rt~ raquolaquo ~lt ~ umiddot

~ t )( (

------ --- --- --- - - ---_ - --shyI

1 c middot ~ t ~

-i I

bullf

f - - - ~ -r ()( 1 ~

~ - ~ t~ ~ ~ t ~ ~

t Cmiddott C ~ t J - 6)

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 47: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

I 1- I ( ~ ~ J i ~ J ~ ( i J ~ l middot

J~ J ~ ~ ~H- _middot X) ~ t ~ -- 1 ( - ~ l vJ l r 1 -~ l t It _ () e t ) 1 lt z r bull ( ~

l bull bull

______ L__( ---l------ -~ ------- -- ------- ---- -----

~ ~

~ 1 i~ 0 ( (

l ~

7-------~)j~---- --zmiddot~ - 1- ~-~~ ~----- ---------~------ - - ----- -- - ----- _ __ _ _ __l __

~ S

middot 4 $ ~

r middot

~ ~ -~ ~ ~ ~ I - =--I

I bull bull ( I tbull 1 i - 1 r ~ bull ~ _ ) -v- i 1 I j v i

1

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 48: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

IJ ---- -------- -- - - _ --- _ bull _ --~--_------ shy

l middot x~~~ ~ ~---~~ -lt ~~ ~- - ~ ~~~ laquo -~~ ~~~-~~ CD l I () o Co - r 1 bull - _ J L ~ ~ ~~ bull c - _- )~ bull middotl

_ =~~-=---_-_ _-- - ~ - middot middot Zo o bullbullbullbull _ _ ~ bull bull bull bull _ bull bull bullbull bull - - - bullbull - bull bull - - - - ---- bull bull - -- ~shy

y r (---- H~~~ - - --_ ~ ~ - ~ ~-~ _~T-- -- -- --~

1----- -~ middot ~ ~ ~ --~~~~ ~~~~~t~ -h~ ~~ - ~ ~~_ ~~i-[~ ~ ---J- ~ ltLl

I --__ ~_ ___ __ _--- - - - ----- -_ _ - - c I

J~ shy-_~ Sf ~

f ~~~ ~~lt~ -l J~ L (

( (vc 1 Tf ~)I- -__----_ __ - ~

t - Y shyr ~ ( i - i middot r) ~ - ~ ~ 1) ~ 1

1 shy

o ~ ~ - v

1 i j t - - r ) r ( _ middot middot l

( shy

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 49: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

4f )

~ ro ( ( ( - v

___________r--~-middot--middot~--middot--~middot- middot-------middot--- - I f t - c (-t c~ G ~lt ~ ) ------___--_~_ _~ _ --_

S~ ~ r __~_ __ j_V(~ ___ _ _~- _~ _ __

~ _ t I

_-- ---_ ~ _ - _ -_ _- I

( I 1 -raquo I rmiddot middot VL

r L ~

~-_ - - - shy -

i --

- -- - -_ ~_ ---_--- -- -_ --_ ----- ~ -_ - _- ~ _- - -- _ - II - bull

~ t

~ 0 I bull

- i

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 50: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

f~i ~ i~ I

ITfJmiddotrmiddot~ middot middot Cc I~ ~i~-( j middot~CT middotmiddot _ ~~(_ ~ ~ __ ~~~ _ ~ - ~ -- - --- --( - J

- Iv ~ h t c

- ~ - 0 er -) 1 C I imiddotmiddot middotmiddot~ c- Co - bull middotltmiddot Cmiddotmiddot L v ~CIt ( lgtlt-J -shyl -- ---- --c- -C ----- ~ ir-i ( l ~--- -- - - _- ( ) -)-----_-) ~ ( _ _ ~ ~ ~~~ ~~ r ~ ~c i~~~ ~J I l~=~~ c~~ _ C6~ ()

middot1cJv~

G V middot~l~~~~_C~(~~middotmiddot~b~~_~Imiddot~~~~c~~~ middot_[n ----middot

1 1 I I I J I I lA~ 0) N ~ i V middot f r t )middot~ l middotO l1c v t l

I (J -------- --------middot- - --i-middot--middot-- ---- ----- -~ --- - -_ _ --- shy-

_ _ _ ____ _ _ __ ~J_ _ _ _ _ bullbull _ __ __

f fro L bull bull A ~ -v bull i - o _-- f-- ~- middot~ ~ ~ middotmiddot _ __middot I t

_~_~~~ _Lj ~ ~ ~ ~_ ~~~~ =_~ ~ __ ~ _ ~ ~ ~ ~_ ___

I (~ - I~~ 1-shy t middot I

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 51: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

I 1 _~ l middot r lci1 r- ~~ - ) ~ - )

tbull bullbull I _ ~ - --__- - ---

~

CVj f ~ ~ -

J- I l) ~

~ (-~ - 11 -

Il ~-~ ) i ~ l )v ~ ltt

1 t~y ) (j

I ~ c ~lt

~J-~- ------J--- -- ~ 1ry

~ __l t ~~I ~ L middot~ middot ~ middot~ t (~ middotmiddot-~ middot~~ ~ o -~i tmiddot~~ ~- middotl~=middot- ty - middot~middot~i~T~middot middot~ ~~---J o middot

--- -~~_ ~ ---~---~-= --~~-_ -j-__-)----[ ~ ~ ((u lt - 0 ( ~ - lo middot r~

-__-~- _ _ _-----Tc----------- ----Imiddot I --~ ~-7--- -~ -- --- -I-Y ~ i - ~~ - ---~ ~ - --

v l -1- 1 bull bullr middotv [ ~ t I~ 1 i 1f f ) - l i ~ltJ I1 r ~ i ~~ ~ ( ( oj

- ~ ~ cmiddot middot ~ bull bull -- -- i middot 1 ( ~I ) -- ymiddot-~ r (

---~-~f~ ~ -~~middot_ middot=-middot =~~~~middot~~~I~~( ~ ~-===~=~~=-~-= f~ middot -I middotf~ (-ro 1 ~ -c r ~ lr

1 ~ ( ( 1) T1J - LI~- j~ V ~- Ll~ ~r 1 - i I t- I - ~ bull I

1( i ~ ~ 01 1 ( ~(if I L __ I _~_ -r-9---cO _

i

I

I-C-Ltj-J t~_middot~t~-~~ middot T~- ~1of-middotmiddot-- - -I I T-lI- I ( _~gt~ _ I) L~~ ~ J L ~ i --- --- - ___- ----_--- -_ _ - - _- -- -_--_ - -_ __-_

---~ __ __---___ ~ _--__------------shy( 1) 1 J I fl bull bullbullbull I I V 17middotJf n r ~J r i t ~ _

I I I bull C~_ ~ l ~t -0-1 ~ v ~_O~ I ~r~ ~- ( bull

I tvgt G middot t r I ~ i I (- t - Cz- y r 1 ( I I J 1 I t l- ~ t c (i - ) t _ ) V~ t- IV1 -i middot~ IImiddot middot h~ middot ~ t i I (~ v I r middot 7 ~ bull I t bull ~ 1 - 1 1 bull

middot~ imiddot I ~ r (j Ccmiddot middot middot n ( i bull

- --- -- __- A--J__ -- _------ _-----shy

I v

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 52: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

r ( I lti I ~ j ~ C ~ () imiddot ~

)

I 1

1

II

I I

r~~I-~ middotmiddot~~ ~~~ -~ i

I

I l

-)Cr~

r ----__bull bull

P I

( Cmiddot middot( ~ ~~_ ~ ~~

I H

- ~-- ~-~ ~7-- _ _ d - shy

~ I tl I u

I

l~-_r~ - r _~~~-_ ~~_-~~ ~ -1

I i

~~IX- ~~~~_ _ __- - - - - - - - shy

I ~ t I I~ 1~ ~ c

J f

bull ~

--~---middot -middotmiddot --middot -~ -middot--middot-- ~T- middotmiddotmiddot ~- - middot middot ---middotmiddot middot -

-- -- -- shy- -- - - ---__ I J tt shy

1 middot-1 U t ~i ~

L_middotJ middot middot~ ~~ ~_ ~~ __ -~ - r--~ ~ middot middot~ --

~~~~~ --middot~-~~

rf- middotmiddot l tJt ( ~ bull -

I bull - tmiddotJ - t ~ bull

_ - ~

I i middot ~ ~-~--~~ ~~middot I J

bull I bull r 1

__- - - -

~-~~ ~~ -shy -- I I 1

YI I (

~

- shy~

__ _

- - ~ ~_ ~ _ middot ~ _ l

--~~ -----Imiddot ~ Jo - I

I I ~ bull

-_ I~

~ -Z ltt -1 (

- -

__ ---__

I

I

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 53: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

_~ 1 t o ~ _ (-

) 0 - ~ 1 OJr-~ 1i

o ~ ~ f I I l

l ~ ( v1- bull (

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull

Page 54: ; 0. ·l - RFC Editor · which is ignored by the HOsr users. Let us describe nO~T the standard connections. (b) Primary connect.Lon These connections connect ' remote users. A pr-Imary

)

ilt---shy --shy - ------ -- __ _ ___---- ------- -

-----~ - _ - ----- ---~ I t - - ~ r ~ If L-middot ~ middot) y_~~middotmiddot ~_~~middotI~ middotmiddot middot ~ ~ ) ~ v L- bull o bull u r

--T---------~middotmiddot ~~ I Y)

I bull [~~~~j)~---~~~ (1 I f ~ iI bull

------T-- -- c-- - ~--- -- ---

I I tmiddot

I i i

bull