|
|
1.1 root 1: % run this through SLiTeX with the appropriate wrapper
2:
3: \begin{bwslide}
4: \part {THE FILE SERVICE}
5:
6: \begin{nrtc}\bf
7: \item MODEL OF OPERATION
8:
9: \item REGIMES AND SERVICES
10: \end{nrtc}
11: \end{bwslide}
12:
13:
14: \begin{bwslide}
15: \part* {MODEL OF OPERATION}\bf
16:
17: \begin{nrtc}
18: \item FILE SERVICE INITIATOR AND RESPONDER
19:
20: \item REGIMES
21:
22: \item SERVICE PRIMITIVES AND COMMON PARAMETERS
23: \end{nrtc}
24: \end{bwslide}
25:
26:
27: \begin{bwslide}
28: \ctitle {FILE SERVICE INITIATOR AND RESPONDER}
29:
30: \begin{nrtc}
31: \item A CLIENT-SERVER MODEL IS USED
32: \begin{nrtc}
33: \item THE PROTOCOL EXCHANGE IS ASYMMETRIC
34:
35: \item NOTE: CLIENT COULD BE ANOTHER FILESTORE
36: \end{nrtc}
37:
38: \item AN INITIATOR IS A USER ENTITY WHICH REQUESTS THE FILE SERVICE
39:
40: \item A RESPONDER IS A USER ENTITY WHICH IMPLEMENTS THE VIRTUAL FILESTORE
41:
42: \item THIS PAIRING OF USERS IS TERMED AN FTAM ACTIVITY
43:
44: \item THE PROVIDER IS THE FILE SERVICE ABSTRACTION,
45: IT IMPLEMENTS THE FILE SERVICE BY USING THE FILE PROTOCOL
46: \end{nrtc}
47: \end{bwslide}
48:
49:
50: \begin{bwslide}
51: \ctitle {REGIMES}
52:
53: \begin{nrtc}
54: \item THE ASSOCIATION BETWEEN THE TWO ENTITIES PROGRESS THROUGH A NUMBER
55: OF STAGES, TERMED ``REGIMES''
56:
57: \item A REGIME DETERMINES WHICH COMPONENTS OF THE FILE SERVICE MAY BE
58: REQUESTED
59:
60: \item REGIMES NEST IN AN ORDERLY FASHION
61: \end{nrtc}
62: \end{bwslide}
63:
64:
65: \begin{note}\em
66: following are a lot of standard osi modeling mechanisms$\ldots$
67: \end{note}
68:
69:
70: \begin{bwslide}
71: \ctitle {SERVICE PRIMITIVES AND COMMON PARAMETERS}
72:
73: \begin{nrtc}
74: \item THE INITIATOR AND RESPONDER COMMUNICATE VIA SERVICE PRIMITIVES
75:
76: \item A PRIMITIVE IS AN ABSTRACTION (NOT AN INTERFACE)
77:
78: \item IN GENERAL, THERE ARE THREE KINDS OF SERVICES
79: \begin{nrtc}
80: \item CONFIRMED, IN WHICH A REQUEST ALWAYS RESULTS IN A RESPONSE
81:
82: \item UNCONFIRMED, IN WHICH NO RESPONSE IS RETURNED
83:
84: \item PROVIDER-INITIATED,
85: IN WHICH THE SERVICE PROVIDER INDICATES SOME ABNORMAL
86: CONDITION
87: \end{nrtc}
88:
89: \item CONFIRMATION IS UNRELATED TO RELIABILITY
90:
91: \item SERVICE PRIMITIVES, LIKE PROCEDURE CALLS, HAVE TYPED PARAMETERS
92: \end{nrtc}
93: \end{bwslide}
94:
95:
96:
97: \begin{bwslide}
98: \ctitle {SERVICE PRIMITIVES}
99:
100: \begin{nrtc}
101: \item A SERVICE CONSISTS OF ONE OR MORE PRIMITIVES
102:
103: \item EACH PRIMITIVE IS PREFIXED WITH ``F-''
104:
105: \item A CONFIRMED SERVICE HAS FOUR PRIMITIVES
106: \begin{nrtc}
107: \item .REQUEST, .INDICATION, .RESPONSE, and .CONFIRMATION
108: \end{nrtc}
109:
110: \item AN UNCONFIRMED SERVICE HAS TWO PRIMITIVES:
111: \begin{nrtc}
112: \item .REQUEST, and .INDICATION
113: \end{nrtc}
114:
115: \item A PROVIDER-INITIATED SERVICE HAS ONE PRIMITIVE:
116: \begin{nrtc}
117: \item .INDICATION
118: \end{nrtc}
119: \end{nrtc}
120: \end{bwslide}
121:
122:
123: \begin{bwslide}
124: \ctitle {EXAMPLE: CONFIRMED SERVICE}
125:
126: \vskip.5in
127: \diagram[p]{figure5}
128: \end{bwslide}
129:
130:
131: \begin{bwslide}
132: \ctitle {COMMON PARAMETERS TO SERVICE PRIMITIVES}
133:
134: \begin{nrtc}
135: \item STATE RESULT: INDICATES IF A REGIME CHANGE IS SUCCESSFUL
136:
137: \item ACTION RESULT: INDICATES IF A SERVICE PRIMITIVE IS SUCCESSFUL
138:
139: \item DIAGNOSTICS: PROVIDES DETAILED INFORMATION ON THE FAILURE
140: (IF ANY) OF A CONFIRMED SERVICE
141:
142: \item CHARGING: A RESOURCE, CHARGING UNIT, and CHARGE VALUE\\
143: (INTERPRETATION IS UNDEFINED BY FTAM)
144:
145: \item IDENTITY OF FILE ACCESS DATA UNIT (FADU)
146:
147: \item PLUS: FILE ATTRIBUTES, REQUESTED ACCESS, etc.
148: \end{nrtc}
149: \end{bwslide}
150:
151:
152:
153: \begin{bwslide}
154: \part* {REGIMES AND SERVICES}\bf
155:
156: \begin{nrtc}
157: \item AS NOTED EARLIER,
158: THE INNER-MOST REGIME DETERMINES WHICH SERVICE PRIMITIVES
159: (AND HENCE SERVICES) ARE ACCESSIBLE
160:
161: \item THERE ARE FOUR REGIMES
162: \begin{nrtc}
163: \item APPLICATION ASSOCIATION
164:
165: \item FILE SELECTION
166:
167: \item FILE OPEN
168:
169: \item DATA TRANSFER
170: \end{nrtc}
171: \end{nrtc}
172: \end{bwslide}
173:
174:
175: \begin{bwslide}
176: \ctitle {NESTED REGIMES}
177:
178: \vskip.5in
179: \diagram[p]{figure6}
180: \end{bwslide}
181:
182:
183: \begin{note}\em
184: as regimes and services are so hopelessly interwined,
185: we now bounce back-and-forth between the two in this part of the presentation
186: \end{note}
187:
188:
189: \begin{bwslide}
190: \ctitle {APPLICATION ASSOCIATION REGIME}
191:
192: \begin{nrtc}
193: \item FTAM REGIME ESTABLISHMENT SERVICE
194: \begin{nrtc}
195: \item WHEN TWO APPLICATIONS ARE BOUND BY AN ASSOCIATION,
196: AN FTAM REGIME IS ESTABLISHED
197: \end{nrtc}
198:
199: \item FTAM REGIME TERMINATION SERVICE
200:
201: \item FTAM REGIME ABORT SERVICE
202:
203: \item DURING REGIME ESTABLISHMENT,
204: PARAMETERS REGARDING THE USE OF THE FILE SERVICE ARE MANDATED OR
205: NEGOTIATED
206: \begin{nrtc}
207: \item SERVICE LEVEL (RELIABLE/USER-CORRECTABLE)
208:
209: \item SERVICE CLASS
210:
211: \item FUNCTIONAL UNITS
212:
213: \item ATTRIBUTE GROUPS (KERNEL, STORAGE, etc.)
214: \end{nrtc}
215: \end{nrtc}
216: \end{bwslide}
217:
218:
219: \begin{note}\em
220: observation: having defined a massive service,
221: we now frantically seek ways to delimit what actually gets used!
222: \end{note}
223:
224:
225: \begin{bwslide}
226: \ctitle {SERVICE CLASS}
227:
228: \begin{nrtc}
229: \item FTAM SUPPORTS MANY SERVICES\\
230: NEED A WAY TO CHOOSE A SUBSET OF THE SERVICES A INITIATOR DESIRES
231:
232: \item FIVE SERVICES CLASSES
233: \begin{nrtc}
234: \item FILE TRANSFER
235:
236: \item FILE ACCESS
237:
238: \item FILE MANAGEMENT
239:
240: \item FILE TRANSFER AND MANAGEMENT
241:
242: \item UNCONSTRAINED
243: \end{nrtc}
244:
245: \item THE SERVICE CLASS IS SELECTED BY THE INITIATOR DURING CONNECTION
246: ESTABLISHMENT
247: \end{nrtc}
248: \end{bwslide}
249:
250:
251: \begin{bwslide}
252: \ctitle {FUNCTIONAL UNITS}
253:
254: \begin{nrtc}
255: \item FUNCTIONAL UNITS, WHICH ARE NEGOTIABLE, PROVIDE A WAY TO FURTHER
256: DELIMIT THE SERVICES NEEDED BY AN INITIATOR
257:
258: \item A FUNCTIONAL UNIT DEFINES WHICH SERVICES ARE AVAILABLE DURING
259: THE LIFETIME OF THE FTAM REGIME
260:
261: \item THE SERVICE LEVEL AND CLASS OFTEN MANDATE CERTAIN FUNCTIONAL UNITS
262: \end{nrtc}
263: \end{bwslide}
264:
265:
266: \begin{bwslide}
267: \ctitle {FUNCTIONAL UNITS (cont.)}
268:
269: \begin{nrtc}
270: \item KERNEL: REGIME ESTABLISHMENT/TERMINATION, FILE SELECTION/DESELECTION
271:
272: \item READ: FILE OPEN/CLOSE, READ BULK DATA
273:
274: \item WRITE: FILE OPEN/CLOSE, WRITE BULK DATA
275:
276: \item FILE ACCESS: LOCATE/ERASE FADU
277:
278: \item LIMITED FILE MANAGEMENT: CREATE/DELETE FILES, READ ATTRIBUTES
279:
280: \item ENHANCED FILE MANAGEMENT: CHANGE ATTRIBUTES
281:
282: \item GROUPING: BEGIN/END A COLLECTION OF REQUESTS
283:
284: \item RECOVERY: RECOVER PREVIOUS REGIME, CHECKPOINTING
285:
286: \item RESTART: RESTART DATA TRANSFER, CHECKPOINTING
287: \end{nrtc}
288: \end{bwslide}
289:
290:
291:
292:
293: \begin{bwslide}
294: \ctitle {FILE SELECTION REGIME}
295:
296: \begin{nrtc}
297: \item WHEN A FILE IS BOUND TO FTAM REGIME,
298: THE FILE SELECTION REGIME IS ESTABLISHED BY EITHER
299: \begin{nrtc}
300: \item FILE SELECTION SERVICE:
301: A FILE IS SELECTED, IF IT ALREADY EXISTS
302:
303: \item FILE CREATION SERVICE:
304: A FILE IS (OPTIONALLY) CREATED AND THENCE SELECTED
305: \end{nrtc}
306:
307: \item ONCE A FILE IS SELECTED,
308: FILE MANAGEMENT FUNCTIONS MAY BE PERFORMED BY
309: \begin{nrtc}
310: \item READ ATTRIBUTE SERVICE
311:
312: \item CHANGE ATTRIBUTE SERVICE
313: \end{nrtc}
314:
315: \item AFTER ANY FILE MANAGEMENT FUNCTIONS,
316: THE FILE MAY BE OPENED FOR TRANSFER AND/OR ACCESS
317: \end{nrtc}
318: \end{bwslide}
319:
320:
321: \begin{bwslide}
322: \ctitle {FILE SELECTION REGIME (cont.)}
323:
324: \begin{nrtc}
325: \item THE FILE SELECTION REGIME IS TERMINATED BY EITHER
326: \begin{nrtc}
327: \item FILE DESELECTION SERVICE:
328: THE FILE IS SIMPLY UNBOUND FROM THE FTAM REGIME
329:
330: \item FILE DELETION SERVICE:
331: THE FILE IS REMOVED FROM THE FILESTORE, AND HENCE UNBOUND
332: \end{nrtc}
333: \end{nrtc}
334: \end{bwslide}
335:
336:
337: \begin{bwslide}
338: \ctitle {FILE OPEN REGIME}
339:
340: \begin{nrtc}
341: \item FILE OPEN SERVICE
342: \begin{nrtc}
343: \item WHEN A FILE IS TO BE TRANSFERRED OR ACCESSED,
344: THE FILE OPEN REGIME IS ESTABLISHED
345: \end{nrtc}
346:
347: \item THIS BINDS THE STRUCTURE OF THE FILE
348:
349: \item ONCE A FILE IS OPENED,
350: FILE ACCESS FUNCTIONS MAY BE PERFORMED
351: \begin{nrtc}
352: \item LOCATE FADU SERVICE
353:
354: \item ERASE FADU SERVICE
355: \end{nrtc}
356:
357: \item AFTER ANY FILE ACCESS FUNCTIONS,
358: DATA TRANSFER MAY OCCUR
359:
360: \item THE FILE CLOSE SERVICE TERMINATES THE FILE OPEN REGIME
361: \end{nrtc}
362: \end{bwslide}
363:
364:
365: \begin{bwslide}
366: \ctitle {DATA TRANSFER REGIME}
367:
368: \begin{nrtc}
369: \item FINALLY, WHEN DATA IS TO BE ACTUALLY TRANSFERRED,
370: THE DATA TRANSFER REGIME IS ESTABLISHED
371:
372: \item THIS INVOKES A ``BULK DATA'' TRANSFER MECHANISM FOR FADUs
373: \begin{nrtc}
374: \item READ BULK DATA SERVICE
375:
376: \item WRITE BULK DATA SERVICE
377:
378: \item DATA UNIT TRANSFER SERVICE
379:
380: \item END OF DATA TRANSFER SERVICE
381:
382: \item END OF TRANSFER SERVICE
383:
384: \item CANCEL DATA TRANSFER SERVICE
385: \end{nrtc}
386: \end{nrtc}
387: \end{bwslide}
388:
389:
390: \begin{bwslide}
391: \ctitle {THE GROUPING SERVICE}
392:
393: \begin{nrtc}
394: \item TYPICALLY MANY FILE OPERATIONS HAVE THREE ACTIONS
395: \begin{nrtc}
396: \item ACQUIRE THE FILE FOR DATA TRANSFER
397:
398: \item PERFORM THE DATA TRANSFER
399:
400: \item RELEASE THE FILE
401: \end{nrtc}
402:
403: \item THE FIRST AND LAST ACTIONS CAN EACH BE VIEWED AS BEING INDIVISIBLE
404:
405: \item GROUPING PERMITS PRIMITIVES TO BE ``BUNDLED TOGETHER''
406: IN ORDER TO IMPLEMENT ONE OF THESE TWO ACTIONS
407:
408: \item GROUPING IS MANDATED BY MOST FILE CLASSES
409: \end{nrtc}
410: \end{bwslide}
411:
412:
413: \begin{bwslide}
414: \ctitle {THE GROUPING SERVICE (cont.)}
415:
416: \begin{nrtc}
417: \item THE TYPICAL ``ACQUIRE THE FILE'' GROUP:
418: \begin{nrtc}
419: \item F-BEGIN-GROUP
420:
421: \item F-SELECT
422:
423: \item F-OPEN
424:
425: \item F-END-GROUP
426: \end{nrtc}
427:
428: \item THE TYPICAL ``RELEASE THE FILE'' GROUP:
429: \begin{nrtc}
430: \item F-BEGIN-GROUP
431:
432: \item F-CLOSE
433:
434: \item F-DESELECT
435:
436: \item F-END-GROUP
437: \end{nrtc}
438: \end{nrtc}
439: \end{bwslide}
440:
441:
442: \begin{note}\em
443: more complicated groups will be examined later on
444:
445: this should pretty much illustrate the distinction between state results and
446: actions results:
447: \begin{quote}
448: if a state-change operation fails, they all fail
449:
450: otherwise if an operation fails, processing continues
451: \end{quote}
452:
453: grouping is constrained to certain commonly used combinations
454: (setup and cleanup)
455: \end{note}
456:
457:
458: \begin{note}\em
459: not discussed due to time constraints:
460:
461: service level: reliable, user-correctable
462:
463: recover service for regime recreation
464:
465: checkpoint service for mark insertion
466:
467: restart service for transfer restoration
468:
469: we're pressed for time,
470: so no examples here, later on during the implementation part of the talk,
471: different applications will be sketched
472: \end{note}
473:
474:
475: \begin{bwslide}
476: \part* {SUMMARY}\bf
477:
478: \begin{nrtc}
479: \item THE FILE SERVICE EXISTS BETWEEN AN INITIATOR, RESPONDER, AND PROVIDER
480:
481: \item THE FILE SERVICE PROGRESSES THROUGH A NUMBER OF NESTED REGIMES,
482: WHICH DETERMINE WHICH PARTS OF THE SERVICE MAY BE INVOKED
483:
484: \item THE SERVICE IS FURTHER LIMITED BY NEGOTIATION OF SERVICE ELEMENTS
485:
486: \item ALL SERVICES CENTER ON A SELECTED FILE WHICH IS TRANSFERRED,
487: ACCESSED, OR MANAGED
488:
489: \item THE SERVICES ARE SUFFICIENTLY GENERAL TO SUPPORT A WIDE RANGE OF
490: FILE ACTIVITIES
491: \end{nrtc}
492: \end{bwslide}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.