|
|
BSD 4.3reno
% run this through LaTeX with the appropriate wrapper
\dotopic{APPLICATION SERVICES}
\begin{bwslide}
\part* {OUTLINE}\bf
\begin{description}
\item[PART I:] APPLICATION LAYER STRUCTURE
\item[PART II:] APPLICATION SERVICE ELEMENTS
\end{description}
\end{bwslide}
\begin{bwslide}
\ctitle {A BIG ACKNOWLEDGEMENT}
\begin{nrtc}
\item THIS PART OF THE TALK HAS BEEN REWORKED SEVERAL TIMES
\item IN AN EFFORT TO BALANCE UNDERSTANDABILITY AND COMPLETENESS
\item IT IS BASED, IN PART, ON AN EARLIER PRESENTATION BY
CHRISTOPHER W.~MOORE AND MARSHALL T.~ROSE
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\part {APPLICATION LAYER STRUCTURE}\bf
\begin{nrtc}
\item UPPER LAYER INFRASTRUCTURE
\item APPLICATION CONTEXTS
\item APPLICATION ENTITIES
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\part* {UPPER LAYERS INFRASTRUCTURE}\bf
\begin{nrtc}
\item PROVIDES A COMMON FRAMEWORK FOR APPLICATIONS \emph{DESIGNERS}
\item TO MAKE BUILDING APPLICATIONS EASIER FOR \emph{IMPLEMENTORS}
\item IN THEORY, THIS YIELDS BETTER APPLICATIONS FOR THE \emph{USERS}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {PAYOFF OF THE INFRASTRUCTURE}
\begin{nrtc}
\item RAPID PROTOTYPING OF APPLICATIONS
\item FOCUS DESIGN/DEVELOPMENT ON \emph{APPLICATION} ISSUES,
RATHER THAN UNDERLYING ISSUES
\item MINIMIZE LONG-TERM INVESTMENT OF SOFTWARE-RELATED INVESTMENT
\begin{nrtc}
\item (AT EXPENSE OF START-UP COST)
\end{nrtc}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {OSI UPPER-LAYER INFRASTRUCTURE}
%\vskip.5in
\diagram[p]{figureA-1}
\end{bwslide}
\begin{bwslide}
\ctitle {UPPER LAYERS INTERFACE TO\\ TRANSPORT SERVICE}
\begin{nrtc}
\item FULL-DUPLEX CIRCUITS
\item PUMP BYTES RELIABLY ACROSS THE NETWORK
\item ALL DISCUSSION HENCE FORTH WILL BE CO-MODE
\begin{nrtc}
\item AND VERY BRIEF!
\end{nrtc}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {SESSION SERVICE}
\begin{nrtc}
\item ADD \emph{CONTROL} FACILITIES TO MANIPULATE DIALOGUES
\item THAT ARE SPECIFIC TO A PARTICULAR APPLICATION TASK
\begin{nrtc}
\item e.g., ACCESSING A FILE OR DELIVERYING A MAIL MESSAGE
\end{nrtc}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {SESSION SERVICE (cont.)}
\begin{nrtc}
\item IN ADDITION TO TRANSPORT FUNCTIONALITY:
\begin{nrtc}
\item TOKEN MANAGEMENT
\item DIALOGUE CONTROL
\item ACTIVITY MANAGEMENT
\item EXCEPTION REPORTING
\end{nrtc}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {MOVING DATA AT SESSION}
\begin{nrtc}
\item VERSION 1 OF SESSION RESTRICTS SSDU SIZE TO 512 OCTETS FOR MANY
SERVICES (e.g., \verb"S-CONNECT")
\item TOO RESTRICTIVE FOR MANY OSI APPLICATIONS
\begin{nrtc}
\item e.g., PASSING OSI DIRECTORY NAMES ON CONNECTIONS
\end{nrtc}
\item VERSION 2 REMOVES THIS LIMIT
\begin{nrtc}
\item PRACTICAL LIMIT OF 10K OCTETS USED
\end{nrtc}
\item SESSON PROVIDES FOR DOWN-NEGOTIATION
\begin{nrtc}
\item BUT MUST BE CAREFUL SINCE NOT ALL IMPLEMENTATIONS SUPPORT IT
\item CHOICES
\begin{nrtc}
\item APPLICATION CHOOSES ONE, ELSE
\item IF CONNECT SSDU $>$ 512: USE VERSION 2
\end{nrtc}
\end{nrtc}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {ABSTRACT SYNTAX}
\begin{nrtc}
\item ADD \emph{STRUCTURE} FACILITIES TO MANIPULATE THE DATA
\item THAT IS EXCHANGED BETWEEN APPLICATIONS
\begin{nrtc}
\item e.g., RECORD STRUCTURE IN A FILE OR BODY PARTS IN A MAIL
MESSAGE
\end{nrtc}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {ABSTRACT SYNTAX (cont.)}
\begin{nrtc}
\item ABSTRACT SYNTAX NOTATION
\begin{nrtc}
\item FORMAL LANGUAGE FOR DESCRIBING DATA STRUCTURES
\item ASN.1 PROVIDES DESCRIPTIVE FRAMEWORK FOR UPPER TWO LAYERS
\end{nrtc}
\item TRANSFER SYNTAX NOTATION
\begin{nrtc}
\item RESPONSIBLE FOR MAPPING INSTANCES OF DATA STRUCTURES
INTO A BIT STREAM (SERIALIZATION)
\item BASIC ENCODING RULES (BER) ARE USED FOR ASN.1
\end{nrtc}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {PRESENTATION SERVICE}
\begin{nrtc}
\item APPLY
\begin{nrtc}
\item \emph{STRUCTURE} FROM ABSTRACT SYNTAX
\end{nrtc}
ON TOP OF
\begin{nrtc}
\item \emph{CONTROL} FROM SESSION SERVICE
\end{nrtc}
\item REALLY NO MORE THAN ABSTRACT SYNTAX ON TOP OF PASS-THROUGH TO SESSION
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {PRESENTATION SERVICE (cont.)}
\begin{nrtc}
\item IN ADDITION TO SESSION FUNCTIONALITY:
\begin{nrtc}
\item CONTEXT MANAGEMENT
\item SYNTAX MATCHING
\end{nrtc}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {INFRASTRUCTURE REVISITED}
\begin{nrtc}
\item STRENGTHS
\begin{nrtc}
\item COMMON INFRASTRUCTURE
\item MORE TECHNICALLY COMPREHENSIVE
\end{nrtc}
\item WEAKNESSES
\begin{nrtc}
\item COMPLEXITY
\item POLITICAL POLARIZATION
\item LACK OF PRACTICAL EXPERIENCE
\end{nrtc}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\part* {APPLICATION CONTEXTS}\bf
\begin{nrtc}
\item OSI APPLICATION LAYER IS DIVIDED INTO
\begin{nrtc}
\item APPLICATION SERVICE ELEMENTS (ASEs)
\end{nrtc}
EACH WITH A PARTICULAR FUNCTION
\item AN APPLICATION PROTOCOL IS DEFINED BY
\begin{nrtc}
\item SELECTING DIFFERENT SERVICE ELEMENTS
\item AND DECIDING HOW THEY INTERACT WITH EACH OTHER AND THE
PRESENTATION SERVICE
\end{nrtc}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {APPLICATION CONTEXTS (cont.)}
\begin{nrtc}
\item USE OF SERVICE ELEMENTS
\begin{nrtc}
\item DIVIDES RESPONSIBILITY OF ``TOTAL'' APPLICATION PROTOCOL
\item PROMOTES ``REUSE'' OF APPLICATION LAYER FACILITIES
\end{nrtc}
\item EACH APPLICATION CONTEXT IS ASSIGNED AN AUTHORITATIVE NUMBER
\begin{nrtc}
\item TERMED AN OBJECT IDENTIFIER
\end{nrtc}
WHICH UNIQUELY IDENTIFIES THE PARTICULAR APPLICATION PROTOCOL, e.g.,
\begin{quote}\smaller\begin{verbatim}
{ joint-iso-ccitt ds(5) applicationContext(3) directoryAccessAC(1) }
\end{verbatim}\end{quote}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {APPLICATION LAYER}
\vskip.5in
\diagram[p]{figureA-2}
\end{bwslide}
\begin{bwslide}
\ctitle {APPLICATION ASSOCIATIONS}
\begin{nrtc}
\item AN APPLICATION \emph{ASSOCIATION} IS A PRESENTATION CONNECTION WITH
\begin{nrtc}
\item ADDITIONAL APPLICATION LAYER SEMANTICS
\end{nrtc}
\item AT PRESENT, THIS IS LITTLE MORE THAN APPLICATION LAYER NAMING
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\part* {APPLICATION ENTITIES}\bf
\begin{nrtc}
\item AN APPLICATION PROCESS (AP) IS SOMETHING WHICH EXECUTES IN THE NETWORK
\item THE OSI COMMUNICATIONS ASPECT OF SUCH A PROCESS IS TERMED AN
\begin{nrtc}
\item APPLICATION ENTITY (AE)
\end{nrtc}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {WHEN AEs COMMUNICATE}
\begin{nrtc}
\item PEERS ARE COMPOSED OF PRECISELY THE SAME ASEs
\item EACH ASE TALKS ONLY WITH ITS PEER
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {HOW TO KEEP TRACK OF DATA STREAMS?}
\begin{nrtc}
\item A PRESENTATION CONTEXT IS A PAIRING OF:
\begin{nrtc}
\item A SET OF DATA STRUCTURE DEFINITIONS (ABSTRACT SYNTAX), AND
\item RULES FOR ENCODING THOSE DATA STRUCTURES ON THE NETWORK
(TRANSFER SYNTAX)
\end{nrtc}
\item REPRESENTED BY A PRESENTATION CONTEXT IDENTIFIER (PCI)
\item ALL USER DATA GIVEN TO PRESENTATION IS TAGGED ACCORDINGLY
\item CONTEXTS NORMALLY DEFINED DURING CONNECTION ESTABLISHMENT
\item BUT MIGHT BE CHANGED
\begin{nrtc}
\item EXPLICITLY: BY THE APPLICATION, OR,
\item IMPLICITLY: BY RESYNCHRONIZATION
\end{nrtc}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {A FEW OTHER DETAILS}
\begin{nrtc}
\item MULTIPLE APPLICATION \emph{ENTITIES} MAY BE PRESENT IN A SINGLE
APPLICATION \emph{PROCESS}
\item CURRENT SPECIFICATION ON
\begin{nrtc}
\item OSI APPLICATION LAYER STRUCTURE
\end{nrtc}
BEARS LITTLE RESEMBLENCE TO THE ARCHITECTURE OF EXISTING OSI
APPLICATIONS!
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\part {APPLICATION SERVICE ELEMENTS}\bf
\begin{nrtc}
\item ASSOCIATION CONTROL (ACSE)
\item RELIABLE TRANSFER (RTSE)
\item REMOTE OPERATIONS (ROSE)
\item USE OF APPLICATION SERVICES
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {THERE ARE A LOT OF ASEs}
\begin{nrtc}
\item EACH APPLICATION TYPICALLY DEFINES AT LEAST ONE ASE WHICH IS SPECIFIC
TO THE APPLICATION
\item HOWEVER,
\begin{nrtc}
\item ACSE, ROSE, and RTSE
\end{nrtc}
ARE USED QUITE FREQUENTLY
\begin{nrtc}
\item (OFTEN TERMED \emph{COMMON} ASEs)
\end{nrtc}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\part* {ASSOCIATION CONTROL (ACSE)}\bf
\begin{nrtc}
\item USED BY \emph{ALL} OSI APPLICATIONS TO PERFORM ASSOCIATION
ESTABLISHMENT AND RELEASE
\item ALL OSI APPLICATIONS DEFINE HOW THE ACSE IS USED
\item ONLY THE ACSE INVOKES PRESENTATION CONNECTION ESTABLISHMENT AND
RELEASE SERVICES
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {BINDING SERVICE}
\begin{nrtc}
\item AN ASSOCIATION \emph{BINDS} AN INITIATOR TO A RESPONDER
\begin{nrtc}
\item TYPICALLY FOR A CONSUMER/PROVIDER MODEL
\end{nrtc}
\item BINDING IS TWO-STEP:
\begin{nrtc}
\item MAP SERVICE ONTO AVAILABLE ENTITIES
\item SELECT ENTITY BASED ON COMMUNICATIONS REQUIREMENTS
\end{nrtc}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {NEGOTIATION}
\begin{nrtc}
\item THIS IS THE VERY HEART OF ASSOCIATION ESTABLISHMENT
\begin{nrtc}
\item SESSION: TOKENS, SERIAL NUMBERS, etc.
\item PRESENTATION: CONTEXTS
\item APPLICATION: ASSOCIATION CONTEXT (MOOT)
\end{nrtc}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {NAMING}
\begin{nrtc}
\item APPLICATION ENTITY IDENTIFIED AS:
\begin{nrtc}
\item APPLICATION PROCESS TITLE
\item APPLICATION ENTITY QUALIFIER (USUALLY NONE)
\end{nrtc}
TERMED AN APPLICATION ENTITY TITLE
\item PRIOR TO OSI DIRECTORY:
\begin{nrtc}
\item AP TITLE: AN OBJECT IDENTIFIER (FIXED)
\end{nrtc}
\item CURRENTLY:
\begin{nrtc}
\item AP TITLE: A DIRECTORY DISTINGUISHED NAME
\end{nrtc}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {NAMING (cont.)}
\begin{nrtc}
\item A DISTINGUISHED NAME (DN) IS AN ASN.1 OBJECT CONSISTING OF
\begin{nrtc}
\item A SEQUENCE OF ATTRIBUTE/VALUE PAIRS
\end{nrtc}
IMPLYING A SUPERIOR/SUBORDINATE RELATIONSHIP, e.g.,
\begin{quote}\small\begin{verbatim}
countryName = US
organizationName = NYSERNet Inc.
organizationalUnitName = Research
commonName = wp
commonName = filestore
\end{verbatim}\end{quote}
\item REFERS TO AN INFORMATION OBJECT IN THE OSI DIRECTORY
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {ADDRESSING}
\begin{nrtc}
\item SIMPLY READ THE \verb"presentationAddress" ATTRIBUTE OF THE ENTRY IN
THE DIRECTORY
\begin{quote}\small\begin{verbatim}
PresentationAddress ::=
SEQUENCE {
pSelector[0] OCTET STRING OPTIONAL,
sSelector[1] OCTET STRING OPTIONAL,
tSelector[2] OCTET STRING OPTIONAL,
nAddresses[3] SET OF (1..MAX) OCTET STRING
}
\end{verbatim}\end{quote}
\item NOTE THAT THIS IS THE EXTERNAL MACHINE FORM, ALSO NEED
\begin{nrtc}
\item FORM WHEN CARRIED INSIDE PROTOCOLS
\item FORM WHEN TEXTUALLY DESCRIBED
\end{nrtc}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {A STRING ENCODING OF\\ PRESENTATION ADDRESS}
\smaller
\begin{verbatim}
<address> ::= [[[ <psel> "/" ] <ssel> "/" ] <tsel> "/" ] <naddrs>
<naddrs> ::= <naddr> "|" <naddrs> | <naddr>
<naddr> ::= "NS" "+" <hexstring> | <afi> "+" <idi> [ "+" <dsp> ]
<psel> ::= <selector>
<ssel> ::= <selector>
<tsel> ::= <selector>
<selector>::= '"' <ia5string> '"' | "#" digits | "'" <hexstring> "'H" | ""
\end{verbatim}
\end{bwslide}
\begin{bwslide}
\ctitle {EXAMPLES}
\begin{verbatim}
"256"/NS+a433bb93c1|NS+aa3106
#63/#41/#12/X121+234219200300
'3a'H/Janet=00002340555+CUDF+"892796"
"s"//Internet=10.0.0.6
\end{verbatim}
\end{bwslide}
\begin{bwslide}
\ctitle {MUST WE USE OSI DIRECTORY PROTOCOLS FOR ADDRESS LOOKUP?}
\begin{nrtc}
\item PROBLEMS:
\begin{nrtc}
\item COMPLEXITY (EXECUTION TIME, CODE SIZE)
\item CO-MODE MAY BE INAPPROPRIATE
\end{nrtc}
\item MOST APPLICATIONS REALLY NEED ONLY SIMPLE NAME TO ADDRESS MAPPING
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {``HIGHER-PERFORMANCE'' NAME SERVICE}
\begin{nrtc}
\item A NEW ACCESS POINT IS ATTACHED TO THE DIRECTORY SERVERS
\begin{nrtc}
\item SIMPLE, CL-MODE ACCESS PROTOCOL
\end{nrtc}
FOR LOCAL ACCESS
\item ASSUMPTIONS:
\begin{nrtc}
\item RETRIEVE SINGLE ATTRIBUTE
\item PUBLIC-READABLE INFORMATION
\item SERVER USES OSI DIRECTORY PROTOCOL (DSP) TO TALK TO REMOTE
SITES
\end{nrtc}
\item THIS IS STRICTLY A LOCAL ISSUE
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {``HIGHER-PERFORMANCE'' NAME SERVICE (cont.)}
\begin{quote}\small\begin{verbatim}
Query ::=
[0] IMPLICIT SEQUENCE {
request-id[0]
IMPLICIT INTEGER,
name[1]
IMPLICIT IA5String,
attribute[2]
IMPLICIT IA5String
}
Response ::=
[1] IMPLICIT SEQUENCE {
request-id[0]
IMPLICIT INTEGER,
name[1]
ANY OPTIONAL,
value[2]
ANY OPTIONAL
}
\end{verbatim}\end{quote}
\end{bwslide}
\begin{bwslide}
\ctitle {NAMING REVISITED}
\begin{nrtc}
\item HOW TO BUILD DISTINGUISHED NAME?
\item USERS PREFER THINGS LIKE
\begin{quote}\small\begin{verbatim}
% ftam wp
\end{verbatim}\end{quote}
\item WHICH DOESN'T LOOK LIKE A DIRECTORY DISTINGUISHED NAME
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {NAMING REVISITED (cont.)}
\begin{nrtc}
\item NEED SOME KIND OF HEURISTICS OR TABLE, e.g.,
\begin{quote}\small\begin{verbatim}
wp: countryName = "US"
organizationName = "NYSERNet Inc."
organizationalUnitName = "Research"
commonName = "wp"
commonName = qualifier
\end{verbatim}\end{quote}
\item OBVIOUSLY TABLE MAINTENANCE IS PROBLEMATIC
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {A BETTER SOLUTION}
\begin{nrtc}
\item USE A DIRECTORY SEARCH ALGORITHM, e.g.,
\begin{quote}\small\begin{verbatim}
% ftam "cs, ucl, gb"
\end{verbatim}\end{quote}
SUCH AS KILLE'S USER-FRIENDLY NAMING SCHEME
\item NAMES ARE ORDERED, UNTYPED, AND (POSSIBLY) INCOMPLETE, e.g.,
\begin{quote}\small\begin{verbatim}
kille, ucl, gb
kille, cs, ucl, gb
\end{verbatim}\end{quote}
MIGHT RESOLVE TO THE SAME DISTINGUISHED NAME
\item ALGORITHM USES IMPRECISE MATCHING AND ASSIGNS ``GOODNESS'' LEVEL TO
MATCHES
\item USERS ARE QUERIED FOR ASSISTANCE ON QUESTIONABLE MATCHES
\begin{nrtc}
\item (IF APPLICATION IS INTERACTIVE)
\end{nrtc}
\item ALGORITHM IS USED TO FIND ENTRIES WITH APPROPRIATE
\verb"supportedApplicationContext", e.g.,
\begin{quote}\small\begin{verbatim}
1.0.8571.1. -- "iso ftam"
\end{verbatim}\end{quote}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\part* {RELIABLE TRANSFER (RTSE)}\bf
\begin{nrtc}
\item RESPONSIBLE FOR BULK-MODE TRANSFER
\begin{nrtc}
\item OPTIONALLY WITH RECOVERY
\end{nrtc}
\item SIMPLIFY USE OF SESSION SERVICES FOR APPLICATIONS
\begin{nrtc}
\item THE SO-CALLED ``THE SEWER OF OSI''
\end{nrtc}
\item USES THE ACSE FOR BINDING
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {RELIABILITY IN THE RTSE}
\begin{nrtc}
\item SERVICE SPECIFICATION IS PROBLEMATIC SINCE RTSE, NOT ACCEPTOR,
PROVIDES CONFIRMATION
\end{nrtc}
\vskip.5in
\diagram[p]{figureA-3}
\end{bwslide}
\begin{bwslide}
\ctitle {AN INCONSISTENCY IN THE MODEL!}
\begin{nrtc}
\item RTSE DEALS WITH LARGE PRESENTATION DATA VALUES
\item BUT, PRESENTATION REQUIRES SYNCHRONIZATION OCCUR \emph{BETWEEN} DATA
VALUES
\item SO, RTSE SERIALIZES EACH DATA VALUE INTO AN OCTET STRING
\begin{nrtc}
\item AND BREAKS THAT UP FOR SYNCHRONIZATION PURPOSES
\end{nrtc}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\part* {REMOTE OPERATIONS (ROSE)}\bf
\begin{nrtc}
\item MANAGE REQUEST/REPLY INTERACTIONS
\begin{nrtc}
\item (SIMILAR TO REMOTE PROCEDURE CALLS)
\end{nrtc}
\item AS WITH ALL CURRENT SERVICES, CO-MODE
\item DISTINGUISHES BETWEEN
\begin{nrtc}
\item INITIATOR/RESPONDER
\item CONSUMER/PROVIDER
\item INVOKER/PERFORMER
\end{nrtc}
\item PROBABLY THE ``BUILDING BLOCK'' FOR THE NEXT WAVE OF APPLICATIONS
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {REMOTE OPERATIONS}
\begin{nrtc}
\item INVOKER REQUESTS AN OPERATION
\item PERFORMER GENERATES ONE OF THREE OUTCOMES:
\begin{nrtc}
\item A \emph{RESULT}, IF THE OPERATION SUCCEEDS;
\item AN \emph{ERROR}, IF THE OPERATION FAILED; or,
\item A \emph{REJECTION}, IF THE OPERATION WAS NOT PERFORMED
\end{nrtc}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {CONTEXT WITH THE RTSE}
\vskip.5in
\diagram[p]{figureA-4}
\end{bwslide}
\begin{bwslide}
\ctitle {CONTEXT WITHOUT THE RTSE}
\vskip.5in
\diagram[p]{figureA-5}
\end{bwslide}
\begin{bwslide}
\part* {USE OF APPLICATION SERVICES}\bf
\begin{nrtc}
\item HOW DOES IT ALL COME TOGETHER?
\item FINALLY, AN EXAMPLE!
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {EXAMPLE: FILE TRANSFER}
\vskip.5in
\diagram[p]{figureA-6}
\end{bwslide}
\begin{bwslide}
\ctitle {CAUSALITY OF EVENTS FOR}
\begin{nrtc}
\item ASSOCIATION ESTABLISHMENT
\item DATA TRANSFER
\item ASSOCIATION RELEASE
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {ASSOCIATION ESTABLISHMENT (USER)}
\begin{nrtc}
\item USER TYPES
\begin{quote}\small\begin{verbatim}
% ftam wp
\end{verbatim}\end{quote}
WHICH INVOKES FTAM USER INTERFACE
\item USER ELEMENT CONSTRUCTS DISTINGUISHED NAME
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {PRIOR TO BINDING}
\vskip.5in
\diagram[p]{figureA-7}
\end{bwslide}
\begin{bwslide}
\ctitle {DIRECTORY ACCESS}
\begin{nrtc}
\item DIRECTORY ACCESS SERVICE ELEMENT (DASE) IS INVOKED TO RETRIEVE
PRESENTATION ADDRESS
\item DASE USES HARD-WIRED INFORMATION TO DERIVE ADDRESS OF DIRECTORY SYSTEM
AGENT (DSA)
\item DASE INVOKES ACSE TO ESTABLISH A DAP ASSOCIATION TO DSA
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {DIRECTORY ACCESS (cont.)}
\begin{nrtc}
\item DASE ISSUES READ OPERATION ON ENTRY FOR \verb"presentationAddress"
ATTRIBUTE
\item DIRECTORY READ OPERATION IS MAPPED ONTO THE REMOTE OPERATIONS SERVICE
\item WHEN OPERATION COMPLETES, DASE MIGHT CLOSE DAP ASSOCIATION
\item PRESENTATION ADDRESS IS RETURNED TO USER ELEMENT
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {AND NOW THE FUN BEGINS!}
\vskip.5in
\diagram[p]{figureA-8}
\end{bwslide}
\begin{bwslide}
\ctitle {ASSOCIATION ESTABLISHMENT (FTAM)}
\begin{nrtc}
\item THE FTAM ASE GENERATES A DATA OBJECT TO INITIALIZE ITS PEER
\item THIS IS PASSED AS USER DATA TO THE ACSE FOR ASSOCIATION ESTABLISHMENT
\item THE FTAM ASE REQUESTS PRESENTATION CONTEXTS FOR ITSELF
\begin{nrtc}
\item AND A CONTEXT FOR THE ACSE
\end{nrtc}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {F-INITIALIZE-request FPDU}
\smaller
\begin{verbatim}
{
service-class {
management-class, transfer-class,
transfer-and-management-class
},
functional-units {
read, write, limited-file-management,
enhanced-file-management, grouping
},
attribute-groups { storage },
ftam-quality-of-service no-recovery,
contents-type-list {
1.0.8571.5.3, -- FTAM-3 document
1.0.8571.5.1, -- FTAM-1 document
1.3.9999.1.5.9 -- NBS-9 document
},
initiator-identity "cheetah"
}
\end{verbatim}
\end{bwslide}
\begin{bwslide}
\ctitle {ASSOCIATION ESTABLISHMENT (ACSE)}
\begin{nrtc}
\item THE ACSE GENERATES A DATA OBJECT TO INITIALIZE ITS PEER
\item THIS IS PASSED AS USER DATA DURING PRESENTATION CONNECTION
ESTABLISHMENT
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {AARQ APDU}
\smaller
\begin{verbatim}
{
application-context-name 1.0.8571.1.1, -- iso ftam
user-information {
{
direct-reference 2.1.1,
indirect-reference 1, -- indicates FTAM PCI
encoding {
single-ASN1-type {
[3] '0370'H,
[4] '053700'H,
[5] '0580'H,
[6] '00'H,
[7] {
[APPLICATION 14] '28c27b0503'H,
[APPLICATION 14] '28c27b0501'H,
[APPLICATION 14] '2bce0f010509'H
},
[APPLICATION 22] "cheetah"
}
}
}
}
\end{verbatim}
\end{bwslide}
\begin{bwslide}
\ctitle {ASSOCIATION ESTABLISHMENT (PRESENTATION)}
\begin{nrtc}
\item THE LOCAL PRESENTATION ENTITY GENERATES A DATA OBJECT TO INITIALIZE
ITS PEER
\item THIS IS PASSED AS USER DATA DURING SESSION CONNECTION ESTABLISHMENT
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {CP-type PPDU}
\scriptsize
\begin{verbatim}
{
mode {
normal-mode
},
normal-mode {
context-list {
{ -- ftam pci abstract syntax
identifier 1,
abstract-syntax 1.0.8571.2.1,
transfer-syntax-list { 2.1.1 }
},
...
\end{verbatim}
\end{bwslide}
\begin{bwslide}
\ctitle {CP-type PPDU (cont.)}
\scriptsize
\begin{verbatim}
{
...
{ -- FTAM-3 abstract syntax
identifier 3,
abstract-syntax 1.0.8571.2.4,
transfer-syntax-list { 2.1.1 }
},
{ -- FTAM-1 abstract syntax
identifier 5,
abstract-syntax 1.0.8571.2.3,
transfer-syntax-list { 2.1.1 }
},
{ -- NBS-9 abstract syntax
identifier 7,
abstract-syntax 1.3.999.1.2.2,
transfer-syntax-list { 2.1.1 }
},
{ -- acse pci abstract syntax
identifier 9,
abstract-syntax 2.2.1.0.1,
transfer-syntax-list { 2.1.1 }
}
},
...
\end{verbatim}
\end{bwslide}
\begin{bwslide}
\ctitle {CP-type PPDU (cont.)}
\scriptsize
\begin{verbatim}
...
user-data {
complex {
{
identifier 9, -- indicates ACSE PCI
presentation-data-values {
single-ASN1-type {
[1] { 1.0.8571.1.1 },
[30] {
{
direct-reference 2.1.1,
indirect-reference 1,
encoding {
single-ASN1-type {
[3] '0370'H,
[4] '053700'H,
[5] '0580'H,
[6] '00'H,
[7] {
[APPLICATION 14] '28c27b0503'H,
[APPLICATION 14] '28c27b0501'H,
[APPLICATION 14] '2bce0f010509'H
},
[APPLICATION 22] "cheetah"
} } } } } } } } } } }
\end{verbatim}
\end{bwslide}
\begin{bwslide}
\ctitle {ASSOCIATION ESTABLISHMENT (SESSION)}
\begin{nrtc}
\item THE LOCAL SESSION ENTITY GENERATES A DATA OBJECT TO INITIALIZE
ITS PEER
\item ONCE A TRANSPORT CONNECTION IS ESTABLISHED, THIS IS PASSED AS USER DATA
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {CONNECT SPDU}
\smaller
\begin{verbatim}
LI/ 241
CODE/ CONNECT
REFERENCE/ <USER 9 140763686565746168,
COMMON 15 170d3930303132363031313434355a,
ADDITIONAL 0>
OPTIONS/ 0x0<>
VERSION/ 0x2
REQUIREMENTS/ 0x2<DUPLEX>
USER DATA/ 197 3180a003800101a280a45a30100201 ...
\end{verbatim}
\end{bwslide}
\begin{bwslide}
\ctitle {SERVICE MAPPINGS}
\scriptsize
\begin{verbatim}
A-ASSOCIATE.REQUEST
AARQ ----> P-CONNECT.REQUEST
CP-type ----> S-CONNECT.REQUEST
CONNECT SPDU
T-CONNECT stuff
T-DATA.REQUEST ---->
...
T-DATA.REQUEST <----
ACCEPT SPDU
CPA-type <---- S-CONNECT.CONFIRMATION
AARE <---- P-CONNECT.CONFIRMATION
A-ASSOCIATE.CONFIRMATION
\end{verbatim}
\end{bwslide}
\begin{bwslide}
\ctitle {PARAMETER MAPPINGS}
\scriptsize
\[\begin{tabular}{|l|c|c|c|c|c|}
\hline
\begin{tabular}{c}A-ASSOCIATE\\ .REQUEST\end{tabular}&
\begin{tabular}{c}AARQ\\ APDU\end{tabular}&
\begin{tabular}{c}P-CONN\\ .REQ\end{tabular}&
\begin{tabular}{c}CP-type\\ PPDU\end{tabular}&
\begin{tabular}{c}S-CONN\\ .REQ\end{tabular}&
\begin{tabular}{c}CN\\ SPDU\end{tabular}\\
\hline
mode& & \X/& & & \\
\hline
application& & & & & \\
\ \ context name&\X/& & & & \\
\hline
calling AE info&\X/& & & & \\
\hline
called AE info& \X/& & & & \\
\hline
user-data& \X/& & & & \\
\hline
calling P-address&
& P-addr&
P-sel&
S-addr&
S-sel\\
\hline
called P-address&
& P-addr&
P-sel&
S-addr&
S-sel\\
\hline
presentation& & & & & \\
\ \ context& & \X/& \X/& & \\
\ \ definition list&
& & & & \\
\hline
default& & & & & \\
\ \ presentation&& \X/& \X/& & \\
\ \ context name&
& & & & \\
\hline
quality of service&
& \X/& & \X/& \\
\hline
presentation& & & & & \\
\ \ requirements&& \X/& \X/& & \\
\hline
session& & & & & \\
\ \ requirements&& \X/& & \X/& \X/\\
\hline
initial serial& & & & & \\
\ \ number& & \X/& & \X/& \X/\\
\hline
initial token& & & & & \\
\ \ assignment& & \X/& & \X/& \X/\\
\hline
session connection&
& & & & \\
\ \ identifier& & \X/& & \X/& \X/\\
\hline
\end{tabular}\]
\end{bwslide}
\begin{bwslide}
\ctitle {DATA TRANSFER}
\begin{nrtc}
\item DO FTAM PRIMITIVES TO SELECT, OPEN FILE, etc.
\item SEND FILE DATA ELEMENT USING CORRECT PRESENTATION CONTEXT:
\begin{quote}\small\begin{verbatim}
{
complex {
{ -- FTAM-1 abstract syntax
identifier 5,
presentation-data-values { -- a single DE
single-ASN1-type ...
}
}
}
}
\end{verbatim}\end{quote}
\item SERVICE MAPPINGS:
\begin{quote}\small\begin{verbatim}
F-DATA.REQUEST
FADU ----> P-DATA.REQUEST
User-data ----> S-DATA.REQUEST
DT SPDU
T-DATA.REQUEST ---->
\end{verbatim}\end{quote}
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {ASSOCIATION RELEASE}
\begin{nrtc}
\item FTAM ASE GENERATES AN \verb"F-TERMINATE-request" FPDU
\begin{quote}\small\begin{verbatim}
{}
\end{verbatim}\end{quote}
\item WHICH IS PASSED AS USER DATA TO THE ACSE FOR ASSOCIATION RELEASE
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {ASSOCIATION RELEASE (ACSE)}
\begin{nrtc}
\item THE ACSE GENERATES AN \verb"RLRE" APDU
\begin{quote}\small\begin{verbatim}
{
reason normal,
user-information {
{
indirect-reference 1,
encoding {
single-ASN1-type {}
}
}
}
}
\end{verbatim}\end{quote}
\item WHICH IS PASSED AS USER DATA TO THE LOCAL PRESENTATION ENTITY FOR
CONNECTION RELEASE
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {ASSOCIATION RELEASE (PRESENTATION)}
\begin{nrtc}
\item THE LOCAL PRESENTATION ENTITY GENERATES AN \verb"User-Data" PPDU
\begin{quote}\small\begin{verbatim}
{
complex {
{
identifier 9,
presentation-data-values {
single-ASN1-type {
[0] '00'H,
[30] {
{
indirect-reference 1,
encoding {
single-ASN1-type {}
}
}
}
}
}
}
}
}
\end{verbatim}\end{quote}
\item WHICH IS PASSED AS USER DATA TO THE LOCAL SESSION ENTITY FOR
CONNECTION RELEASE
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {ASSOCIATION RELEASE (SESSION)}
\begin{nrtc}
\item THE LOCAL SESSION ENTITY GENERATES A \verb"FINISH" SPDU
\begin{quote}\small\begin{verbatim}
LI/ 30
CODE/ FINISH
DISCONNECT/ 0x1<RELEASE>
USER DATA/ 25 61173015020109a010620e800100be ...
\end{verbatim}\end{quote}
\item WHICH IS PASSED AS USER DATA TO THE TRANSPORT SERVICE
\end{nrtc}
\end{bwslide}
\begin{bwslide}
\ctitle {SERVICE MAPPINGS}
\scriptsize
\begin{verbatim}
A-RELEASE.REQUEST
RLRQ ----> P-RELEASE.REQUEST
User-Data ----> S-RELEASE.REQUEST
FINISH SPDU
T-DATA.REQUEST ---->
...
T-DATA.REQUEST <----
DISCONNECT SPDU
T-DISCONNECT stuff
User-data <---- S-RELEASE.CONFIRMATION
RLRE <---- P-RELEASE.CONFIRMATION
A-RELEASE.CONFIRMATION
\end{verbatim}
\end{bwslide}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.