Warstwa aplikacyjna dla
Warstwa aplikacyjna dla
celów zarządzania w
celów zarządzania w
systemach otwartych OSI
systemach otwartych OSI
Wykonali:
Socha Michał
Hejda Sebastian
Łukaszewski Marcin
Prowadzący:
Dr inż. Krzysztof Chmara
Bydgoszcz 2005
Spis treści
Spis treści
Element usługowy ACSE
Element usługowy ACSE
Protokół połączeniowy dla ACSE
Protokół połączeniowy dla ACSE
Element usługowy RTSE
Element usługowy RTSE
Element usługowy CCRSE
Element usługowy CCRSE
Element usługowy TPASE
Element usługowy TPASE
Prymitywy elementu usługowego TP
Prymitywy elementu usługowego TP
Element usługowy ROSE
Element usługowy ROSE
Element usługowy FTAM
Element usługowy FTAM
Jednostki funkcjonalne usług plikowych
Jednostki funkcjonalne usług plikowych
Tendencje do otwierania (liberalizacji i de regulacji) rynku usług i
Tendencje do otwierania (liberalizacji i de regulacji) rynku usług i
urządzeń telekomunikacyjnych obejmują bowiem także sferę zarządzania
urządzeń telekomunikacyjnych obejmują bowiem także sferę zarządzania
sieciami, co prowadzi do konieczności stworzenia odpowiedniej
sieciami, co prowadzi do konieczności stworzenia odpowiedniej
standaryzacji różnych aspektów zarządzania. Zagadnienie to obejmuje
standaryzacji różnych aspektów zarządzania. Zagadnienie to obejmuje
tematykę związaną z eksploatacją, administrowaniem, utrzymaniem i
tematykę związaną z eksploatacją, administrowaniem, utrzymaniem i
uruchamianiem sieci telekomunikacyjnych i teleinformatycznych. ISO
uruchamianiem sieci telekomunikacyjnych i teleinformatycznych. ISO
(International Standard Organization) opracowuje standardy zarządzania
(International Standard Organization) opracowuje standardy zarządzania
systemami otwartymi i ich współpracą, które opisują m.in. stosowane
systemami otwartymi i ich współpracą, które opisują m.in. stosowane
protokoły komunikacyjne oraz funkcje zarządzania systemami.
protokoły komunikacyjne oraz funkcje zarządzania systemami.
ISO opracowała w roku 1978 warstwowy model odniesienia OSI
ISO opracowała w roku 1978 warstwowy model odniesienia OSI
(Open System Interconnection Referencie Model), który posłużył za
(Open System Interconnection Referencie Model), który posłużył za
podstawę do tworzenia systemów otwartych, czyli systemów zdolnych do
podstawę do tworzenia systemów otwartych, czyli systemów zdolnych do
wymiany informacji między sobą. Naturalnym uzupełnieniem modelu OSI
wymiany informacji między sobą. Naturalnym uzupełnieniem modelu OSI
są standardy ISO umożliwiające zarządzanie systemami otwartymi i ich
są standardy ISO umożliwiające zarządzanie systemami otwartymi i ich
współpracą – w skrócie zarządzanie OSI. Standardy dotyczące
współpracą – w skrócie zarządzanie OSI. Standardy dotyczące
zarządzania OSI pełnią funkcję uzupełniającą wobec zaleceń dotyczących
zarządzania OSI pełnią funkcję uzupełniającą wobec zaleceń dotyczących
sieci TMN służących do zarządzania siecią telekomunikacyjną i jej
sieci TMN służących do zarządzania siecią telekomunikacyjną i jej
elementami.
elementami.
Wprowadzenie
Wprowadzenie
Wybrany zestaw usług komunikacyjnych OSI dla potrzeb
Wybrany zestaw usług komunikacyjnych OSI dla potrzeb
danego
danego
procesu aplikacyjnego
procesu aplikacyjnego
AP
AP
(Application Proces)
(Application Proces)
spełnia tzw.
spełnia tzw.
Segment Aplikacyjny
Segment Aplikacyjny
AE
AE
(Application Entity),
(Application Entity),
czyli aktywna jednostka danej warstwy , która realizuje
czyli aktywna jednostka danej warstwy , która realizuje
funkcje (usługi) przypisane tej warstwie (warstwie
funkcje (usługi) przypisane tej warstwie (warstwie
aplikacji). Segmentem może być np. procedura programu.
aplikacji). Segmentem może być np. procedura programu.
Każdy segment AE jest zbiorem współpracujących ze sobą
Każdy segment AE jest zbiorem współpracujących ze sobą
aplikacyjnych elementów usługowych ASE
aplikacyjnych elementów usługowych ASE
(Application
(Application
Service Elements); element ASE w przeciwieństwie do AE
Service Elements); element ASE w przeciwieństwie do AE
nie świadczy wyspecjalizowanych usług dla potrzeb
nie świadczy wyspecjalizowanych usług dla potrzeb
procesu AP ale zapewnia usługi o charakterze ogólnym i
procesu AP ale zapewnia usługi o charakterze ogólnym i
może być wykorzystywany przez różne segmenty AE.
może być wykorzystywany przez różne segmenty AE.
Definicja elementu usługowego zawiera dwa składniki:
Definicja elementu usługowego zawiera dwa składniki:
- definicję realizowanych usług, zapisaną w postaci
- definicję realizowanych usług, zapisaną w postaci
prymitywów
prymitywów
- protokół, który pozwala na wymianę tych
- protokół, który pozwala na wymianę tych
prymitywów
prymitywów
Wprowadzenie
Wprowadzenie
Rys 1 Proces aplikacyjny, segmenty aplikacyjne i
elementy usługowe
Środowisko OSI
AE
ASE
ASE
ASE
AE
ASE
ASE
ASE
AE
ASE
ASE
ASE
Proces aplikacyjny
System otwarty
Komunikację między systemami na poziomie warstwy
Komunikację między systemami na poziomie warstwy
aplikacji modelu OSI można podzielić na trzy fazy:
aplikacji modelu OSI można podzielić na trzy fazy:
- zestawianie (ustanowienie) skojarzenia,
- zestawianie (ustanowienie) skojarzenia,
- wymianę danych,
- wymianę danych,
- rozłączenie (zakończenie) skojarzenia,
- rozłączenie (zakończenie) skojarzenia,
W pierwszej i trzeciej fazie wykorzystuje się element
W pierwszej i trzeciej fazie wykorzystuje się element
ACSE (Association Control Service Element), który jest
ACSE (Association Control Service Element), który jest
niezbędny do ustanowienia i likwidacji skojarzenia. W fazie
niezbędny do ustanowienia i likwidacji skojarzenia. W fazie
drugiej wykorzystywane są inne elementy usługowe (patrz
drugiej wykorzystywane są inne elementy usługowe (patrz
Rys 2).
Rys 2).
Wprowadzenie
Wprowadzenie
Rys 2 Rodzina protokołów OSI/NMF
ACSE
X.227
RTSE
X.228
ROSE
X.229 X.882
Warstwa prezentacji X.226
CCRSE
X.852
FTAM
ISO8571
TPASE
X.862
ACSE
X.227
ACSE
X.227
SMASE
X.730-X.752
CMISE
X.711
Element usługowy ACSE
Element usługowy ACSE
Element usługowy ACSE
Element usługowy ACSE
(Association Control Service
(Association Control Service
Element) jest niezbędny przy każdej wymianie danych,
Element) jest niezbędny przy każdej wymianie danych,
gdyż pozwala ustanowić i rozłączyć niezbędne przy tej
gdyż pozwala ustanowić i rozłączyć niezbędne przy tej
wymianie skojarzenie. Z tego powodu Element ACSE
wymianie skojarzenie. Z tego powodu Element ACSE
należy do każdego kontekstu aplikacyjnego.
należy do każdego kontekstu aplikacyjnego.
ACSE
ACSE
definiuje dwa tryby obsługi komunikacji :
definiuje dwa tryby obsługi komunikacji :
- tryb połączeniowy
- tryb połączeniowy
- tryb bezpołączeniowy
- tryb bezpołączeniowy
Definicja
Usługi ACSE:
•
(potwierdzana)
(niepotwierdzana)
•
(potwierdzana)
•
•
•
(potwierdzana)
(niepotwierdzana)
Element usługowy ACSE
Element usługowy ACSE
Dla trybu połączeniowego
Dla trybu połączeniowego
ACSE zdefiniowano pięć jednostek
ACSE zdefiniowano pięć jednostek
funkcjonalnych:
funkcjonalnych:
Obowiązkowe
Obowiązkowe
Jądro
Jądro
(Kernel) zawiera podstawowe usługi
(Kernel) zawiera podstawowe usługi
potrzebne do ustanawiania i likwidowania skojarzenia.
potrzebne do ustanawiania i likwidowania skojarzenia.
Opcjonalne
Opcjonalne
Uwierzytelnianie (
Uwierzytelnianie (
Authentication
Authentication
) umożliwia
) umożliwia
uwierzytelnianie podczas ustanawiania skojarzenia. Nie zawiera
uwierzytelnianie podczas ustanawiania skojarzenia. Nie zawiera
dodatkowych usług, wprowadza jedynie dodatkowe parametry.
dodatkowych usług, wprowadza jedynie dodatkowe parametry.
O
O
p
p
cj
cj
onal
onal
ne
ne
Negocjowanie
kontekstu
obiektów
usługi
Negocjowanie
kontekstu
obiektów
usługi
aplikacyjnej
aplikacyjnej
(
(
ASO-context negotiation
ASO-context negotiation
)
)
umożliwia negocjowanie
umożliwia negocjowanie
kontekstu podczas ustanawiania skojarzenia. Nie zawiera
kontekstu podczas ustanawiania skojarzenia. Nie zawiera
dodatkowych usług, wprowadza jedynie dodatkowe parametry.
dodatkowych usług, wprowadza jedynie dodatkowe parametry.
Element usługowy ACSE
Element usługowy ACSE
Jednostki funkcjonalne:
O
O
p
p
cj
cj
onal
onal
ne
ne
Skojarzenie wyższego poziomu
Skojarzenie wyższego poziomu
(
(
Higher
Higher
l
l
evel
evel
a
a
ssociation
ssociation
) wspomaga skojarzenia wyższego poziomu:
) wspomaga skojarzenia wyższego poziomu:
pozwala przezroczyście przekazywać dane do obiektów
pozwala przezroczyście przekazywać dane do obiektów
synów usługi aplikacyjnej oraz modyfikować konteksty
synów usługi aplikacyjnej oraz modyfikować konteksty
aplikacji i prezentacji skojarzenia aplikacyjnego.
aplikacji i prezentacji skojarzenia aplikacyjnego.
O
O
p
p
cj
cj
onal
onal
ne
ne
Skojarzenie zagnieżdżone
Skojarzenie zagnieżdżone
(
(
Nested
Nested
a
a
ssociation
ssociation
)
)
wspomaga skojarzenia aplikacyjne zagnieżdżone w innych
wspomaga skojarzenia aplikacyjne zagnieżdżone w innych
skojarzeniach.
skojarzeniach.
Element usługowy ACSE
Element usługowy ACSE
Jednostki funkcjonalne
:
Dla trybu bezpołączeniowego
Dla trybu bezpołączeniowego
ACSE zdefiniowano dwie
ACSE zdefiniowano dwie
jednostki funkcjonalne:
jednostki funkcjonalne:
Obowiązkowe
Obowiązkowe
Jądro
Jądro
(Kernel).
(Kernel).
Opcjonalne
Opcjonalne
Uwierzytelnianie (
Uwierzytelnianie (
Authentication
Authentication
) umożliwia
) umożliwia
uwierzytelnianie segmentów partnerskich. Nie zawiera
uwierzytelnianie segmentów partnerskich. Nie zawiera
dodatkowych
usług,
wprowadza
jedynie
dodatkowe
dodatkowych
usług,
wprowadza
jedynie
dodatkowe
parametry.
parametry.
Element usługowy ACSE
Element usługowy ACSE
Jednostki funkcjonalne:
Definicje
usług:
Definicję każdej usługi ACSE stanowi tabela
zawierająca wszystkie parametry danej usługi. Obecność
każdego parametru jest określana przez jedną z
następujących wartości:
Puste miejsce
- brak parametru
C
- warunkowy
M
- obowiązkowy
P
- podlegający warunkom
zdefiniowanym
w ITU-T Rec.X.216
U
- opcja użytkownika
Dodatkowo notacja X(
=
) wskazuje, że dany parametr
występuje, jeśli występuje parametr w poprzedniej kolumnie
(z jego lewej strony) w tabeli.
Element usługowy ACSE
Element usługowy ACSE
Usługa A-ASSOCIATE
Usługa
A-ASSOCIATE
tworzy
skojarzenie
o
ustalonym
kontekście
aplikacyjnym
(nazwa
kontekstu
jest
parametrem).
Efektem
wymiany
prymitywów
A-ASSOCIATE
jest
albo
ustalenie
kontekstu
aplikacyjnego
dla
danego
skojarzenia
i
zestawienie
skojarzenia albo podjęcie decyzji, że
skojarzenia nie udało się zestawić.
Element usługowy ACSE
Element usługowy ACSE
Parametry usługi A-ASSOCIATE
Element usługowy ACSE
Element usługowy ACSE
Parametr
Parametr
Req
Req
Ind
Ind
Rsp
Rsp
Cnf
Cnf
Mode
Mode
Application Context Name
Application Context Name
Application Context Name List
Application Context Name List
Calling AP Title
Calling AP Title
Calling AE Qualifier
Calling AE Qualifier
Calling AP Invocation-identifier
Calling AP Invocation-identifier
Calling AE Invocation-identifier
Calling AE Invocation-identifier
Called AP Title
Called AP Title
Called AE Qualifier
Called AE Qualifier
Called AP Invocation-identifier
Called AP Invocation-identifier
Called AE Invocation-identifier
Called AE Invocation-identifier
Responding AP Title
Responding AP Title
Responding AE Qualifier
Responding AE Qualifier
Responding AP Invocation-identifier
Responding AP Invocation-identifier
Responding AE Invocation-identifier
Responding AE Invocation-identifier
ACSE Requirements
ACSE Requirements
Authentication-mechanism Name
Authentication-mechanism Name
Authentication-value
Authentication-value
User Information
User Information
U
U
M
M
C
C
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
M
M
M(=)
M(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C
C
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
M
M
C
C
U
U
U
U
U
U
U
U
C
C
U
U
U
U
U
U
C
C
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
Element usługowy ACSE
Element usługowy ACSE
Parametry usługi A-ASSOCIATE
…cd.
Parametr
Parametr
Req
Req
Ind
Ind
Rsp
Rsp
Cnf
Cnf
Result
Result
Result Source
Result Source
Diagnostic
Diagnostic
Calling Presentation Address
Calling Presentation Address
Called Presentation Address
Called Presentation Address
Responding Presentation Address
Responding Presentation Address
Presentation Context Definition List
Presentation Context Definition List
Presentation
Presentation
Context Definition Result List
Context Definition Result List
Default Presentation
Default Presentation
Context Name
Context Name
Default Presentation Context Result
Default Presentation Context Result
Quality of Service
Quality of Service
Presentation Requirements
Presentation Requirements
Session Requirements
Session Requirements
Initial Synchronization Point Serial Number
Initial Synchronization Point Serial Number
Initial Assignment of Tokens
Initial Assignment of Tokens
Session-connection Identifier
Session-connection Identifier
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
M
M
U
U
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
M
M
M
M
C(=)
C(=)
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
P
Usługa A-RELEASE
Usługa
A-RELEASE
pozwala rozłączyć
skojarzenie
bez
utraty
danych.
Jeśli
zakończy
się
sukcesem,
powoduje
zakończenie połączenia przez procedury
ASE
zidentyfikowane
przez
kontekst
aplikacyjny, bez utraty transmitowanych
danych, jakkolwiek wynik usług może być
negocjowany.
Element usługowy ACSE
Element usługowy ACSE
Usługa A-RELEASE
Element usługowy ACSE
Element usługowy ACSE
Nazwa parametru
Nazwa parametru
Req
Req
Ind
Ind
Rsp
Rsp
Cnf
Cnf
Reason
Reason
User Information
User Information
Result
Result
U
U
U
U
C(=)
C(=)
C(=)
C(=)
U
U
U
U
M
M
C(=)
C(=)
C(=)
C(=)
M(=)
M(=)
Parametry usługi A-RELEASE
Usługa A-ABORT
Usługa
A-ABORT
jest generowana
przez Requestor gdy jakiekolwiek AE chce
spowodować
nienormalne
przerwanie
połączenia. Jest to usługa nie potwierdzana.
Z powodu kolizji dostawa prymitywu
wskazania polecenia A-Abort nie jest
gwarantowana.
Element usługowy ACSE
Element usługowy ACSE
Usługa A-ABORT
Parametry usługi A-ABORT
Nazwa parametru
Nazwa parametru
Req
Req
Ind
Ind
Abort Source
Abort Source
Diagnostic
Diagnostic
User Information
User Information
U
U
U
U
M
M
C(=)
C(=)
C(=)
C(=)
Element usługowy ACSE
Element usługowy ACSE
Usługa A-P-ABORT
Usługa
A-P-ABORT
jest używana przez
dostawcę usługi ACSE do sygnalizowania
nienormalnego
zerwania
połączenia
podczas
problemów
z
usługami
w
warstwach poniżej. Jest to usługa nie
potwierdzana.
Nazwa
Nazwa
parametru
parametru
Ind
Ind
Provider
Provider
Reason
Reason
P
P
Element usługowy ACSE
Element usługowy ACSE
Parametry usługi A-P-ABORT
Usługa A-UNIT DATA
Usługa
A-UNIT DATA
jest używana do
przenoszenia informacji pomiędzy AE
używającymi trybu połączenia prezentacji.
Użycie
usługi
jest
ograniczone
do
bezpołączeniowego
trybu
pracy
(conectionless mode).
Element usługowy ACSE
Element usługowy ACSE
Parametry usługi A-UNIT DATA
Element usługowy ACSE
Element usługowy ACSE
Nazwa parametru
Nazwa parametru
Req
Req
Ind
Ind
Application Context Name
Application Context Name
Calling AP Title
Calling AP Title
Calling AE Qualifier
Calling AE Qualifier
Calling AP Invocation-
Calling AP Invocation-
identifier
identifier
Calling AE Invocation-
Calling AE Invocation-
identifier
identifier
Called AP Title
Called AP Title
Called AE Qualifier
Called AE Qualifier
Called AP Invocation-identifier
Called AP Invocation-identifier
Called AE Invocation-identifier
Called AE Invocation-identifier
User Information
User Information
Calling Presentation Address
Calling Presentation Address
Called Presentation Address
Called Presentation Address
Presentation Context
Presentation Context
Definition List
Definition List
Quality of Service
Quality of Service
M
M
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
U
M
M
P
P
P
P
P
P
P
P
M(=)
M(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
C(=)
M(=)
M(=)
P
P
P
P
P
P
Usługa A-ALTER CONTEXT
Usługa
A-ALTER CONTEXT
przeznaczona jest do
dostarczania ASO-Context lub Presentation-Context,
aby mogły być wprowadzone modyfikacje bez
zakładania kolejnego połączenia. Jest to usługa
potwierdzana. Usługa A-ALTER CONTEXT używana jest
podczas trwania połączenia, dlatego nie zmienia
protokołów całego CF’a lecz modyfikuje użycie
protokołu połączenia. Nigdy nie ma efektu jeżeli chodzi
o
Defined Context List
utrzymywanego przez wartswę
utrzymywanego przez wartswę
prezentacji danych (Presentation Layer).
prezentacji danych (Presentation Layer).
Element usługowy ACSE
Element usługowy ACSE
Element usługowy ACSE
Element usługowy ACSE
Usługa A-ALTER CONTEXT
Parametr
Parametr
Req
Req
Ind
Ind
Rsp
Rsp
Cnf
Cnf
ASO-context-name
C
C()
C
C
ASO-context-name-list
C
C()
C
C()
P-context-definition-list
U
C()
U
C()
P-context-definition-result-
list
C
C()
C
C()
User-information
U
C()
U
C()
Parametry usługi A-ALTER CONTEXT
Protokół połączeniowy dla ACSE
ACSE
ACSE
wspiera dwa tryby komunikacji: połączeniowy i
wspiera dwa tryby komunikacji: połączeniowy i
bezpołączeniowy. Ta specyfikacja protokółu definiuje procedury,
bezpołączeniowy. Ta specyfikacja protokółu definiuje procedury,
które dają się zastosować do komunikacji pomiędzy systemami,
które dają się zastosować do komunikacji pomiędzy systemami,
które pragną połączyć się w środowisku połączenia systemów
które pragną połączyć się w środowisku połączenia systemów
otwartych w połączeniowym trybie komunikacji. Specyfikacja
otwartych w połączeniowym trybie komunikacji. Specyfikacja
protokołu zawiera:
protokołu zawiera:
- procedury przenoszenia informacji dla sterowania
- procedury przenoszenia informacji dla sterowania
skojarzeniem aplikacji i uwierzytelniania jednostek
skojarzeniem aplikacji i uwierzytelniania jednostek
aplikacji
aplikacji
-
-
interakcję pomiędzy maszyną protokołu ACSE i
interakcję pomiędzy maszyną protokołu ACSE i
występowanie
występowanie
zewnętrznych zdarzeń warstwy
zewnętrznych zdarzeń warstwy
prezentacji
prezentacji
- abstrakcyjną składnię dla reprezentacji jednostek ACSE
- abstrakcyjną składnię dla reprezentacji jednostek ACSE
APDU
APDU
Element usługowy ACSE
Element usługowy ACSE
Protokół połączeniowy dla ACSE
Procedury
Procedury
ACSE
ACSE
są zdefiniowane w następujący sposób:
są zdefiniowane w następujący sposób:
- interakcja między równymi maszynami protokołu ACSE
- interakcja między równymi maszynami protokołu ACSE
poprzez użycie usług warstwy prezentacji
poprzez użycie usług warstwy prezentacji
- interakcja pomiędzy maszyną protokołu ACSE i jego
- interakcja pomiędzy maszyną protokołu ACSE i jego
usługami dostępnymi dla użytkownika.
usługami dostępnymi dla użytkownika.
Specyfikacja protokołu wyszczególnia również wymagania
Specyfikacja protokołu wyszczególnia również wymagania
zgodności dla systemów implementujących te procedury. Nie
zgodności dla systemów implementujących te procedury. Nie
zawiera ona jednak testów, które mogą być używane do
zawiera ona jednak testów, które mogą być używane do
zademonstrowania zgodności.
zademonstrowania zgodności.
Element usługowy ACSE
Element usługowy ACSE
Protokół połączeniowy dla ACSE
Skróty
Element usługowy ACSE
Element usługowy ACSE
ACPM
: Association Control Protocol Machine (maszyna
protokołu
sterowania skojarzeniem)
ACSE
: Association Control Service Element (element usługowy
sterowania
skojarzeniem)
AE
: application-entity (segment aplikacyjny)
AEI
: application-entity invocation (wywołanie segmentu
aplikacyjnego)
AP
: application-process (proces aplikacji)
APCI
: application-protocol-control-information (informacje
sterujące
protokołem aplikacji)
ASE
: application-service-element (element usługowy aplikacji)
ASO
: application-service-object (obiekt usługi aplikacji)
ASN.1
: Abstract Syntax Notation One (notacja ASN.1)
CF
: Control Function (funkcja sterująca)
cnf
: prymityw potwierdzenia
ind
: prymityw wskazania
OSI
: połączenie systemów otwartych
req
: prymityw żądania
ROA
: recognized operating agency (poznana agencja
operatorska)
QOS
: jakość usług
Protokół połączeniowy dla ACSE
Element usługowy ACSE
Element usługowy ACSE
AARQ
: A-ASSOCIATE-REQUEST APDU
AARE
: A-ASSOCIATE-RESPONSE APDU
RLRQ
: A-RELEASE-REQUEST APDU
RLRE
: A-RELEASE-RESPONSE APDU
ABRT
: A-ABORT APDU
Typy jednostek danych protokołu
aplikacji
Protokół połączeniowy dla ACSE
Element usługowy ACSE
Element usługowy ACSE
Prymitywy
Prymitywy
ACSE
ACSE
APDU
APDU
Prymitywy warstwy
Prymitywy warstwy
prezentacji
prezentacji
A-ASSOCIATE request/indication
A-ASSOCIATE request/indication
A-ASSOCIATE response/confirm
A-ASSOCIATE response/confirm
A-RELEASE request/indication
A-RELEASE request/indication
A-RELEASE response/confirm
A-RELEASE response/confirm
A-ABORT request/indication
A-ABORT request/indication
A-P-ABORT indication
A-P-ABORT indication
AARQ
AARQ
AARE
AARE
RLRQ
RLRQ
RLRE
RLRE
ABRT
ABRT
–
–
P-CONNECT request/indication
P-CONNECT request/indication
P-CONNECT response/confirm
P-CONNECT response/confirm
P-RELEASE request/indication
P-RELEASE request/indication
P-RELEASE response/confirm
P-RELEASE response/confirm
P-U-ABORT request/indication
P-U-ABORT request/indication
P-P-ABORT indication
P-P-ABORT indication
Odwzorowanie usług ACSE na prymitywy warstwy
Odwzorowanie usług ACSE na prymitywy warstwy
prezentacji
prezentacji
Protokół połączeniowy dla ACSE
Element usługowy ACSE
Element usługowy ACSE
A-ASSOCIATE rsp
A-ASSOCIATE rsp
[z]
[z]
P-CONNECT rsp
P-CONNECT rsp
[do]
[do]
Accepted
Accepted
Acceptance
Acceptance
rejected (permanent)
rejected (permanent)
user-rejection
user-rejection
rejected (transient)
rejected (transient)
user-rejection
user-rejection
P-CONNECT cnf
P-CONNECT cnf
[z]
[z]
A-ASSOCIATE cnf
A-ASSOCIATE cnf
[do]
[do]
A-ASSOCIATE cnf
A-ASSOCIATE cnf
[do]
[do]
Acceptance
Acceptance
Accepted
Accepted
ACSE service user
ACSE service user
user-rejection
user-rejection
rejected
rejected
(permanent)
(permanent)
ACSE service-user
ACSE service-user
provider-rejection
provider-rejection
rejected
rejected
(permanent)
(permanent)
presentation service
presentation service
provider
provider
Odwzorowanie parametru Result ACSE
Odwzorowanie parametru Result prezentacji
Element usługowy RTSE
Element usługowy RTSE
Definicja
Element usługowy
Element usługowy
RTSE
RTSE
(ang.
(ang.
Reliable Transfer Service
Reliable Transfer Service
Element)
Element)
realizuje
realizuje
niezawodny transfer
niezawodny transfer
(ang.
(ang.
reliable transfer)
reliable transfer)
jednostek
jednostek
danych
danych
APDU
APDU
między procesami w różnych systemach otwartych.
między procesami w różnych systemach otwartych.
Pozwala on na zażegnanie utraty lub powielenia danych na poziomie
Pozwala on na zażegnanie utraty lub powielenia danych na poziomie
warstwy aplikacji. Dzięki stosowaniu elementu RTSE, w razie przerwania
warstwy aplikacji. Dzięki stosowaniu elementu RTSE, w razie przerwania
skojarzenia, ilość danych, którą trzeba ponownie przesłać, jest znacznie
skojarzenia, ilość danych, którą trzeba ponownie przesłać, jest znacznie
ograniczona. Element RTSE korzysta ze skojarzenia ustanowionego
ograniczona. Element RTSE korzysta ze skojarzenia ustanowionego
przez element ACSE, jednak jeśli skojarzenie zostanie zerwane, jest on
przez element ACSE, jednak jeśli skojarzenie zostanie zerwane, jest on
w stanie je odtworzyć.
w stanie je odtworzyć.
Transfer danych przez element usługowy RTSE odbywa się albo
Transfer danych przez element usługowy RTSE odbywa się albo
w sposób simpleksowy, albo półdupleksowy. W drugim przypadku
w sposób simpleksowy, albo półdupleksowy. W drugim przypadku
uprawnienie do przesyłania danych, przyznawane jednej ze stron
uprawnienie do przesyłania danych, przyznawane jednej ze stron
biorących udział w wymianie danych, nazywane jest
biorących udział w wymianie danych, nazywane jest
Kolejką
Kolejką
(ang.
(ang.
Turn).
Turn).
Element usługowy RTSE
Element usługowy RTSE
Usługi elementu RTSE
Działanie elementu RTSE opiera się na siedmiu usługach:
Działanie elementu RTSE opiera się na siedmiu usługach:
RT-OPEN
RT-OPEN
Ustanowienie skojarzenie (włącznie z negocjacją kontekstu)
Ustanowienie skojarzenie (włącznie z negocjacją kontekstu)
RT-CLOSE
RT-CLOSE
Rozłączanie skojarzenia
Rozłączanie skojarzenia
RT-TRANSFER
RT-TRANSFER
Wysyłanie danych, jeśli jest się w posiadaniu Kolejki
Wysyłanie danych, jeśli jest się w posiadaniu Kolejki
RT-TURN-PLEASE
RT-TURN-PLEASE
Prośba o Kolejkę (usługa bez potwierdzeń)
Prośba o Kolejkę (usługa bez potwierdzeń)
RT-TURN-GIVE
RT-TURN-GIVE
Oddanie Kolejki (usługa bez potwierdzeń)
Oddanie Kolejki (usługa bez potwierdzeń)
RT-P-ABORT
RT-P-ABORT
Informacja od usługodawcy (warstwy prezentacji), że
Informacja od usługodawcy (warstwy prezentacji), że
dalsze utrzymywanie skojarzenia jest niemożliwe
dalsze utrzymywanie skojarzenia jest niemożliwe
RT-U-ABORT
RT-U-ABORT
Decyzja usługobiorcy o rozłączeniu skojarzenia
Decyzja usługobiorcy o rozłączeniu skojarzenia
Element usługowy RTSE
Element usługowy RTSE
Usługi elementu RTSE
Wymiana prymitywów elementu usługowego RTSE
Wymiana prymitywów elementu usługowego RTSE
RT-OPEN req
RT-OPEN req
RT-OPEN con
RT-OPEN con
RT-OPEN ind
RT-OPEN ind
RT-OPEN res
RT-OPEN res
RT-TRANSFER req
RT-TRANSFER req
RT-TRANSFER con
RT-TRANSFER con
RT-TRANSFER ind
RT-TRANSFER ind
RT-TRANSFER ind
RT-TRANSFER ind
RT-TRANSFER req
RT-TRANSFER req
RT-TRANSFER con
RT-TRANSFER con
RT-TURN-GIVE req
RT-TURN-GIVE req
RT-TURN-GIVE ind
RT-TURN-GIVE ind
RT-TURN-PLEASE req
RT-TURN-PLEASE req
RT-TURN-PLEASE ind
RT-TURN-PLEASE ind
RT-TURN-GIVE ind
RT-TURN-GIVE ind
RT-TURN-GIVE req
RT-TURN-GIVE req
RT-CLOSE req
RT-CLOSE req
RT-CLOSE con
RT-CLOSE con
RT-CLOSE ind
RT-CLOSE ind
RT-CLOSE res
RT-CLOSE res
Definicja
Element usługowy
CCRSE
(ang. Commitment,
Concurrency and Recovery Service Element):
C-nadzorowanie akcji niepodzielnych
C-nadzorowanie operacji współbieżnych
R-przywracanie poprawności działania
Służy
koordynowaniu
funkcjonowania
rozproszonych
programów
aplikacyjnych
(takich,
których
procesy
aplikacyjne znajdują się w różnych systemach otwartych) i
umożliwia wykonywanie akcji niepodzielnych (Atomic
actions)
w
systemach
rozproszonych.
Przez
akcję
niepodzielną należy rozumieć akcję, która polega na
wykonaniu więcej niż jednej operacji, przy czym wykonane
muszą być albo wszystkie operacje, albo żadna.
Element usługowy CCRSE
Element usługowy CCRSE
Zadania elementu CCRSE
Element usługowy
CCRSE
odpowiada za:
- Dokończenie rozpoczętych operacji, wchodzących w skład
akcji niepodzielnej (commitment);
- Nadzorowanie wykonania operacji współbieżnych
(concurrency);
- Zażegnywanie sytuacji anormalnych (recovery).
Element usługowy CCRSE
Element usługowy CCRSE
Działanie
Działanie
CCRSE
opiera się na dwufazowej kontroli
niepodzielności
akcji
określanej
mianem
dwufazowego
zatwierdzenia (Two phase commitment). Wykonujący akcję
niepodzielną nadrzędny (Master) segment
AE
najpierw
sprawdza, czy podległe mu podrzędne (Subordinate) segmenty
AE
będą w stanie wykonać operację. Każdy z segmentów
podrzędnych wykonuje czynności przygotowawcze (Local
commitments).
Dopiero w drugiej fazie, po zebraniu wszystkich
odpowiedzi od segmentów podrzędnych, nadrzędny segment
AE
decyduje czy wydać im rozkaz wykonania operacji, czyli
dokończenia akcji niepodzielnej (zatwierdzenie zmian), czy też
rozkaz wycofania (Rollback), czyli powrotu do stanu, który
obowiązywał przed rozpoczęciem opisanej procedury.
Element usługowy CCRSE
Element usługowy CCRSE
•
•
•
•
•
•
•
•
•
•
Element usługowy CCRSE
Element usługowy CCRSE
Usługi CCRSE
C–INITIALIZE
- jest usługą potwierdzaną. Jest
używany do określenia wymagań i zdolności
usług CCR, które zostają użyte podczas
ustanawianego skojarzenia
Element usługowy CCRSE
Element usługowy CCRSE
Usługa C–INITIALIZE
Element usługowy CCRSE
Element usługowy CCRSE
Parametry usługi C-
INITIALIZE
Parameter name
Req
Ind
Rsp
Cnf
CCR Requirements
M
C
M
C(=)
Version
M
M(=)
User Data
U
C(=)
U
C(=)
C-BEGIN
- jest nadrzędnym segmentem AE,
który inicjuje rozpoczęcie akcji albo włącza
do wykonywanej już akcji nowy podrzędny
AE
Element usługowy CCRSE
Element usługowy CCRSE
Usługa C-BEGIN
Element usługowy CCRSE
Element usługowy CCRSE
Parametry usługi C-
BEGIN
Nazwa parametru
Nazwa parametru
Req
Req
Ind
Ind
Rsp
Rsp
Cnf
Cnf
Atomic Action Identifier –
Atomic Action Identifier –
Nazwa Mastera
Nazwa Mastera
Atomic Action Identifier –
Atomic Action Identifier –
Suffix
Suffix
Branch Identifier – Nazwa
Branch Identifier – Nazwa
nadrzędnego segmentu AE
nadrzędnego segmentu AE
Branch Identifier – Suffix
Branch Identifier – Suffix
User Data
User Data
M
M
M
M
M
M
M
M
U
U
M(
M(
)
)
M(
M(
)
)
M(
M(
)
)
M(
M(
)
)
C(
C(
)
)
U
U
C(
C(
)
)
Element usługowy CCRSE
Element usługowy CCRSE
Usługa C-PREPARE
C-PREPARE
- podrzędny AE przygotowuje podrzędne
AE do zatwierdzenia zmian odpowiedzią jest C-READY
lub C-REFUSE
Parametry usługi C-PREPARE
Nazwa parametru
Nazwa parametru
Req
Req
Ind
Ind
User Data
User Data
U
U
C(
C(
)
)
Parametr ten jest umieszczany kiedy generowany jest prymityw
żądania C-PREPARE
Element usługowy CCRSE
Element usługowy CCRSE
Usługa C-READY
C-READY
- podrzędny AE zgłasza gotowość
zatwierdzenia zmian
Parametry usługi C-READY
Nazwa parametru
Nazwa parametru
Req
Req
Ind
Ind
User Data
User Data
U
U
C(
C(
)
)
Element usługowy CCRSE
Element usługowy CCRSE
Usługa C-COMMIT
C-COMMIT
- nadrzędny AE rozkazuje
zatwierdzenie zmian lub podrzędny AE
potwierdza zatwierdzenie zmian.
Parametry usługi C-COMMIT
Nazwa
Nazwa
parametru
parametru
Req
Req
Ind
Ind
Rsp
Rsp
Cnf
Cnf
User Data
User Data
U
U
C(=)
C(=)
U
U
C(=)
C(=)
Element usługowy CCRSE
Element usługowy CCRSE
Usługa C-ROLLBACK
C-ROLLBACK
- nadrzędny AE rozkazuje wycofanie lub
podrzędny AE
Parametry usługi C-ROLLBACK
Nazwa parametru
Nazwa parametru
Req
Req
Ind
Ind
Rsp
Rsp
Cnf
Cnf
User Data
User Data
U
U
C(
C(
)
)
U
U
C(
C(
)
)
Element usługowy CCRSE
Element usługowy CCRSE
Usługa C-NOCHANGE
C-NOCHANGE
jest opcjonalnie potwierdzaną usługą używaną przez
CCR w celu informowania drugiego użytkownika (sąsiada), że został
zakończony proces przetwarzania danych i nie spowodowało to
żadnych zmian podczas procesu przetwarzania
Parametry usługi C-NOCHANGE
Parameter name
Req
Ind
Rsp
Cnf
Confirmation
M
M(=)
Outcome
U
U
C(=)
User Data
U
C(=)
U
C(=)
Element usługowy CCRSE
Element usługowy CCRSE
Usługa C-CANCEL
C-CANCEL
jest usługą niepotwierdzaną, za pomocą której REQUESTOR
odwołuje się w celu poinformowania że odgałęzienia zostaną
zwrócone. Po wysłaniu lub odebraniu żądania C-CANCEL, tylko żądanie
C-ROLLBACK może być wysłane lub otrzymane.
Parametry usługi C-CANCEL
Parameter name
Req
Ind
User Data
U
C(=)
Element usługowy CCRSE
Element usługowy CCRSE
Usługa C-RECOVER
C-RECOVER
- wznowienie akcji niepodzielnej po
wystąpieniu awarii
Parametry usługi C-RECOVER
Nazwa parametru
Nazwa parametru
Req
Req
Ind
Ind
Rsp
Rsp
Cnf
Cnf
Recovery State
Recovery State
Atomic
Atomic
Action
Action
Identifier
Identifier
Branch Identifier
Branch Identifier
User Data
User Data
M
M
M
M
M
M
U
U
M(
M(
)
)
M(
M(
)
)
M(
M(
)
)
C(
C(
)
)
M
M
M
M
M
M
U
U
M(
M(
)
)
M(
M(
)
)
M(
M(
)
)
C(
C(
)
)
Element usługowy CCRSE
Element usługowy CCRSE
Usługa C-P-ERROR
C-P-ERROR
– jest usługą dostawczo-inicjującą.
Informuje ona o powstawaniu błędów w CCR np.
błędy w protokołach.
Parametry usługi C-P-ERROR
Parameter name
Ind
Provider Reason
M
Element usługowy CCRSE
Element usługowy CCRSE
Przykład danych akcji niepodzielnej
Identyfikator akcji niepodzielnej:
Identyfikator akcji niepodzielnej:
–
–
Nazwa segmentu aplikacyjnego AE Mastera
Nazwa segmentu aplikacyjnego AE Mastera
–
–
Suffix
Suffix
Informacje użytkownika usługi CCRSE:
Informacje użytkownika usługi CCRSE:
–
–
nazwa AE
nazwa AE
–
–
identyfikator API
identyfikator API
–
–
identyfikator AEI
identyfikator AEI
–
–
Funkcja [zwierzchnik / pośrednik / liść]
Funkcja [zwierzchnik / pośrednik / liść]
–
–
Stan [zaoferowany / potwierdzony]
Stan [zaoferowany / potwierdzony]
Informacje gałęzi: {powtarzane dla każdej gałęzi}
Informacje gałęzi: {powtarzane dla każdej gałęzi}
–
–
Suffix
Suffix
–
–
Rola tego użytkownika usługi CCRSE [segment nadrzędny / podrzędny]
Rola tego użytkownika usługi CCRSE [segment nadrzędny / podrzędny]
–
–
Informacje potrzebne do ustalenia połączenia dla pary:
Informacje potrzebne do ustalenia połączenia dla pary:
–
–
nazwa AE
nazwa AE
–
–
identyfikator API
identyfikator API
–
–
identyfikator AEI
identyfikator AEI
–
–
adres prezentacji
adres prezentacji
–
–
nazwa kontekstu aplikacji
nazwa kontekstu aplikacji
Element usługowy CCRSE
Element usługowy CCRSE
Przykład danych akcji niepodzielnej
Informacje danych powiązanych:
Informacje danych powiązanych:
–
–
Identyfikacja zasobów
Identyfikacja zasobów
–
–
Informacje stanu początkowego
Informacje stanu początkowego
–
–
Informacje stanu finalnego
Informacje stanu finalnego
–
–
Informacje zatwierdzania
Informacje zatwierdzania
–
–
Informacje dostępu
Informacje dostępu
Element usługowy CCRSE
Element usługowy CCRSE
Odwzorowanie usług CCRSE na prymitywy warstwy
prezentacji APDU
Status
Support
CCR APDU
Name
Reference
Sdr
Rcv
(Y/N) Sender
(Y/Ig/Err) Reciver
Cross reference
1
C-INITIALIZE-RI
7.1.3.2
c13
c13
A.12.2
2
C-INITIALIZE-RC
7.1.3.4
c13
c13
A.12.3
3
C‑BEGIN‑RI
7.2.4.2
c2
c3
A.12.4
4
C‑BEGIN‑RC
7.2.4.4
c14
c15
A.12.5
5
C‑PREPARE‑RI
7.3.4.2
c16
c17
A.12.6
6
C‑READY‑RI
7.4.4.2
c3
c2
A.12.7
7
C‑COMMIT‑RI
7.5.4.2
c2
c3
A.12.8
8
C‑COMMIT‑RC
7.5.4.4
c3
c2
A.12.9
9
C‑ROLLBACK‑RI
7.6.4.2
m
m
Y[ ]
Y[ ]
A.12.10
10
C‑ROLLBACK‑RC
7.6.4.4
m
m
Y[ ]
Y[ ]
A.12.11
11
C‑RECOVER‑RI
7.7.4.2
m
m
Y[ ]
Y[ ]
A.12.12
12
C‑RECOVER‑RC
7.7.4.4
m
m
Y[ ]
Y[ ]
A.12.13
Definicja
Element
usługowy
TP-ASE
(Transaction
Processing
Application Service Element) umożliwia przetwarzanie transakcji
(Transaction processing). Transakcja stanowi wymianę danych, w
czasie której zachowane są następujące cztery zasady (NSIT):
- Niepodzielność (Atomicity): operacje, które wchodzą w skład transakcji, są
wykonywane wszystkie lub żadna z nich nie jest wykonywana;
-
Spójność (Consistency): transakcja pozostawia dane w stanie, który
respektuje zależności między nimi i odzwierciedla rzeczywistość;
-
Izolacja (Isolation): na operacje transakcji nie maja wpływu inne operacje
wykonywane w systemie (sieci), a pośrednie wyniki operacji wchodzących w
skład transakcji nie są znane postronnemu obserwatorowi;
- Trwałość (Durability): wyniki transakcji nie mogą ulec modyfikacjom w
wyniku awarii systemu (sieci).
Element usługowy TPASE
Element usługowy TPASE
Definicja
Element usługowy TPASE
Element usługowy TPASE
Transakcja pozwala wykonać akcje niepodzielną lub ciąg akcji
niepodzielnych w środowisku rozproszonym, z możliwością wycofania (rollback)
w razie awarii systemu. Transakcja wykonywana w systemie rozproszonym
nazywana jest transakcją rozproszoną (Distributed transaction).
Jednostki, które korzystają z usług przetwarzania transakcji, nazywane
są użytkownikami usługi przetwarzania transakcji TPSU (Transaction Processing
Service User). Jednostki TPSU tworzą drzewo przetwarzania transakcji
(Transaction processing tree), a jednostka TPSU znajdująca się w korzeniu
drzewa spełnia dwie podstawowe funkcje:
-
Inicjuje działanie jej podrzędnych jednostek TPSU, te z kolei inicjują działania
swoich jednostek podrzędnych;
-
Jest odpowiedzialna za doprowadzenie do końca danej transakcji rozproszonej.
Element usługowy TPASE
Element usługowy TPASE
Usługi zawarte w jednostkach funkcjonalnych OSI TP
Jednostki funkcjonalne
Jednostki funkcjonalne
Usługi
Usługi
Dialogue (połączenie)
Dialogue (połączenie)
TP-BEGIN-DIALOGUE
TP-BEGIN-DIALOGUE
TP-END-DIALOGUE
TP-END-DIALOGUE
TP-DATA
TP-DATA
TP-U-ERROR
TP-U-ERROR
TP-U-ABORT
TP-U-ABORT
TP-P-ABORT
TP-P-ABORT
Shared control (kontrola
Shared control (kontrola
podziału)
podziału)
(nie skojarzone usługi)
(nie skojarzone usługi)
Polarized control (kontrola
Polarized control (kontrola
dzielona)
dzielona)
TP-GRANT-CONTROL
TP-GRANT-CONTROL
TP-REQUEST-CONTROL
TP-REQUEST-CONTROL
Handshake (synchronizacja
Handshake (synchronizacja
przetwarzania)
przetwarzania)
TP-HANDSHAKE
TP-HANDSHAKE
TP-HANDSHAKE-AND-GRANT-CONTROL
TP-HANDSHAKE-AND-GRANT-CONTROL
Element usługowy TPASE
Element usługowy TPASE
Usługi zawarte w jednostkach funkcjonalnych OSI TP
Jednostki funkcjonalne
Jednostki funkcjonalne
Usługi
Usługi
Commit (zatwierdzanie akcji
Commit (zatwierdzanie akcji
niepodzielnych)
niepodzielnych)
TP-DEFERRED-END-DIALOGUE
TP-DEFERRED-END-DIALOGUE
TP-DEFERRED-GRANT-CONTROL
TP-DEFERRED-GRANT-CONTROL
TP-PREPARE
TP-PREPARE
TP-READY
TP-READY
TP-COMMIT
TP-COMMIT
TP-DONE
TP-DONE
TP-COMMIT-COMPLETE
TP-COMMIT-COMPLETE
TP-ROLLBACK
TP-ROLLBACK
TP-ROLLBACK-COMPLETE
TP-ROLLBACK-COMPLETE
TP-HEURISTIC-REPORT
TP-HEURISTIC-REPORT
Chained transactions
Chained transactions
(transakcje łańcuchowe)
(transakcje łańcuchowe)
(nie skojarzone usługi)
(nie skojarzone usługi)
Unchained Transactions
Unchained Transactions
(transakcje niełańcuchowe)
(transakcje niełańcuchowe)
TP-BEGIN-TRANSACTION
TP-BEGIN-TRANSACTION
Element usługowy TPASE
Element usługowy TPASE
Prymitywy elementu
usługowego
TP
Usługi
Usługi
Prymitywy
Prymitywy
Możliwośc
Możliwośc
i
i
Parametry
Parametry
TP-BEGIN-
TP-BEGIN-
DIALOGUE
DIALOGUE
req/ind/rsp/cnf
req/ind/rsp/cnf
Dialogue
Dialogue
Initiating-AP-Title
Initiating-AP-Title
Initiating-API-Identifier
Initiating-API-Identifier
Initiating-AE-Qualifier
Initiating-AE-Qualifier
Initiating-AEI-Identifier
Initiating-AEI-Identifier
Initiating-TPSU-Title
Initiating-TPSU-Title
Recipient-AP-Title
Recipient-AP-Title
Recipient-API-Identifier
Recipient-API-Identifier
Recipient-AE-Qualifier
Recipient-AE-Qualifier
Recipient-AEI-Identifier
Recipient-AEI-Identifier
Recipient-TPSU-Title
Recipient-TPSU-Title
Functional-units
Functional-units
Quality-of-Service
Quality-of-Service
Application-Context-Name
Application-Context-Name
Begin-Transaction
Begin-Transaction
Confirmation
Confirmation
Result
Result
Diagnostic
Diagnostic
Rollback
Rollback
User-Data
User-Data
Element usługowy TPASE
Element usługowy TPASE
Prymitywy elementu
usługowego
TP
Usługi
Usługi
Prymitywy
Prymitywy
Możliwości
Możliwości
Parametry
Parametry
TP-END-DIALOGUE
TP-END-DIALOGUE
req/ind/rsp/cnf
req/ind/rsp/cnf
Dialogue
Dialogue
Confirmation
Confirmation
TP-U-ERROR
TP-U-ERROR
req/ind
req/ind
Dialogue
Dialogue
TP-U-ABORT
TP-U-ABORT
req/ind
req/ind
Dialogue
Dialogue
Rollback
Rollback
User-Data
User-Data
TP-P-ABORT
TP-P-ABORT
ind
ind
Dialogue
Dialogue
Diagnostic
Diagnostic
Rollback
Rollback
TP-GRANT-CONTROL
TP-GRANT-CONTROL
req/ind
req/ind
Dialogue
Dialogue
TP-REQUEST-CONTROL
TP-REQUEST-CONTROL
req/ind
req/ind
Dialogue
Dialogue
TP-HANDSHAKE
TP-HANDSHAKE
req/ind/rsp/cnf
req/ind/rsp/cnf
Dialogue
Dialogue
Confirmation-
Confirmation-
Urgency
Urgency
TP-HANDSHAKE-AND-GRANT-
TP-HANDSHAKE-AND-GRANT-
CONTROL
CONTROL
req/ind/rsp/cnf
req/ind/rsp/cnf
Dialogue
Dialogue
Confirmation-
Confirmation-
Urgency
Urgency
TP-BEGIN-TRANSACTION
TP-BEGIN-TRANSACTION
req/ind
req/ind
Dialogue
Dialogue
TP-DEFERRED-END-DIALOGUE
TP-DEFERRED-END-DIALOGUE
req/ind
req/ind
Dialogue
Dialogue
Element usługowy TPASE
Element usługowy TPASE
Prymitywy elementu
usługowego
TP
Usługi
Usługi
Prymitywy
Prymitywy
Możliwości
Możliwości
Parametry
Parametry
TP-DEFERRED-GRANT-CONTROL
TP-DEFERRED-GRANT-CONTROL
req/ind
req/ind
Dialogue
Dialogue
TP-PREPARE
TP-PREPARE
Req
Req
Dialogue
Dialogue
Data-Permitted
Data-Permitted
TP-PREPARE
TP-PREPARE
Ind
Ind
Dialogue
Dialogue
Data-Permitted
Data-Permitted
TP-READY
TP-READY
Ind
Ind
Dialogue
Dialogue
TP-COMMIT
TP-COMMIT
Req
Req
TPSUI
TPSUI
TP-COMMIT
TP-COMMIT
Ind
Ind
TPSUI
TPSUI
TP-DONE
TP-DONE
Req
Req
TPSUI
TPSUI
Heuristic-Report
Heuristic-Report
TP-COMMIT-COMPLETE
TP-COMMIT-COMPLETE
Ind
Ind
TPSUI
TPSUI
TP-ROLLBACK
TP-ROLLBACK
Req
Req
TPSUI
TPSUI
TP-ROLLBACK
TP-ROLLBACK
Ind
Ind
TPSUI
TPSUI
TP-ROLLBACK-COMPLETE
TP-ROLLBACK-COMPLETE
Ind
Ind
TPSUI
TPSUI
TP-HEURISTIC-REPORT
TP-HEURISTIC-REPORT
Ind
Ind
Dialogue
Dialogue
Heuristic-Report
Heuristic-Report
Element usługowy TPASE
Element usługowy TPASE
Prymitywy elementu
usługowego
TP
TP-BEGIN-DIALOGUE
confirmation
TP-BEGIN-DIALOGUE
request
TP-BEGIN-DIALOGUE
responce
TP-BEGIN-DIALOGUE
indication
TPSP
TPSP
TP-BEGIN-DIALOGUE
request
TP-BEGIN-DIALOGUE
indication
Ustanowienie dialogu sekwencją prymitywów, kiedy usługa nie jest potwierdzona
Sekwencje prymitywów zakończenia dialogu, kiedy usługa jest
potwierdzona
Element usługowy TPASE
Element usługowy TPASE
Prymitywy elementu
usługowego
TP
TP-END-DIALOGUE
confirmation
TP-END-DIALOGUE
request
TP-END-DIALOGUE
responce
TP-END-DIALOGUE
indication
TPSP
TPSP
TP-END-DIALOGUE
request
TP-END-DIALOGUE
indication
Sekwencje prymitywów zakończenia dialogu, kiedy usługa jest
potwierdzona
Sekwencje prymitywów zakończenia dialogu, kiedy usługa nie jest potwierdzona
Element usługowy TPASE
Element usługowy TPASE
Prymitywy elementu
usługowego
TP
TP-U-ERROR
confirmation
TP-HANDSHAKE
request
TP-U-ERROR
responce
TP-HANDSHAKE
indication
TPSP
TPSP
TP-U-ERROR
request
TP-U-ERROR
indication
Zależności czasowe żądania TP-U-ERROR wysłanego jako
negatywne potwierdzenie usługi uzgodnienia
Zależności czasowe sekwencji prymitywów TP-U-ERROR
Element usługowy ROSE
Element usługowy ROSE
Definicja
Funkcjonowanie rozproszonych i interakcyjnych programów
aplikacyjnych, takich jak programy aplikacyjne zarządzania, może
wymagać, by pewien system otwarty (proces aplikacyjny)
wykonywał operacje w innym systemie otwartym (zlecał
wykonanie operacji procesowi aplikacyjnemu tego systemu).
Pierwszy proces jest nazywany proces wywołującym (ang.
invoker
), a drugi - procesem wykonującym (ang.
perfomer
).
Operacje tego typu, nazywane operacjami zdalnymi (ang. remote
operation), są możliwe dzięki użyciu elementu usługowego
ROSE
(ang. Remote Operations Service Element).
Element usługowy ROSE
Element usługowy ROSE
Definicja
Element
ROSE
(Remote Operations Service Element)
umożliwia systemowi wywołującemu zażądanie od systemu
wywoływanego wykonania pew nej operacji zdalnej. System
wywoływany próbuje zrealizować to żądanie (które może zakończyć
się sukcesem lub porażką) i zdaje sprawozdanie dotyczące jego
wykonania. Operacje zdalne i warunki ich wykonywania opisuje się
przy pomocy notacji
RO-Notation
, która opiera się, dzięki
wykorzystaniu mechanizmu makrodefinicji, na notacji ASN.I.
Element usługowy ROSE
Element usługowy ROSE
Tryby działania i klasy
Element usługowy ROSE dopuszcza dwa tryby działania:
Element usługowy ROSE dopuszcza dwa tryby działania:
1.
1.
synchroniczny, w którym proces wywołujący musi otrzymać
synchroniczny, w którym proces wywołujący musi otrzymać
odpowiedź wywoływanego procesu wykonującego, zanim będzie
odpowiedź wywoływanego procesu wykonującego, zanim będzie
mógł wywołać inną operację zdalną;
mógł wywołać inną operację zdalną;
2.
2.
asynchroniczny, w którym operacja poprzednia nie musi być
asynchroniczny, w którym operacja poprzednia nie musi być
potwierdzana odpowiedzią przed wykonaniem innej operacji (tryb
potwierdzana odpowiedzią przed wykonaniem innej operacji (tryb
ten umożliwia wykonywanie kilku operacji równocześnie).
ten umożliwia wykonywanie kilku operacji równocześnie).
Z pojęciem trybów wiąże się pięć
Z pojęciem trybów wiąże się pięć
klas operacji:
klas operacji:
1.
1.
klasa 1:.
klasa 1:.
tryb synchroniczny - raport zarówno, gdy operacja zdalna
tryb synchroniczny - raport zarówno, gdy operacja zdalna
zo staje zakończona sukcesem, jak i gdy porażką;
zo staje zakończona sukcesem, jak i gdy porażką;
2.
2.
klasa
klasa
2.: tryb asynchroniczny - raport zarówno gdy sukces, jak i
2.: tryb asynchroniczny - raport zarówno gdy sukces, jak i
porażka;
porażka;
3.
3.
klasa 3.:
klasa 3.:
tryb asynchroniczny - raport tylko, gdy porażka;
tryb asynchroniczny - raport tylko, gdy porażka;
4.
4.
klasa 4.:
klasa 4.:
tryb asynchroniczny - raport tylko, gdy sukces;
tryb asynchroniczny - raport tylko, gdy sukces;
5.
5.
klasa 5.:
klasa 5.:
tryb asynchroniczny - bez raportów.
tryb asynchroniczny - bez raportów.
Element usługowy ROSE
Element usługowy ROSE
Tryby działania i klasy
Raportem w przypadku sukcesu operacji jest jej
Raportem w przypadku sukcesu operacji jest jej
wynik, a w przypadku porażki - komunikat o błędach
wynik, a w przypadku porażki - komunikat o błędach
KLASY
KLASY
TRYB
TRYB
RAPORT
RAPORT
synchroniczny
synchroniczny
asynchroniczny
asynchroniczny
sukces
sukces
porażka
porażka
1
1
●
●
●
●
x
x
2
2
●
●
●
●
x
x
3
3
●
●
x
x
4
4
●
●
●
●
5
5
●
●
Zestawienie klas operacji elementu usługowego ROSE
Zestawienie klas operacji elementu usługowego ROSE
Element usługowy ROSE
Element usługowy ROSE
Klasy skojarzeń
Wymiana danych dokonuje się na podstawie ustanowionego
Wymiana danych dokonuje się na podstawie ustanowionego
skojarzenia. W zależności od tego, który proces zainicjował skojarzenie
skojarzenia. W zależności od tego, który proces zainicjował skojarzenie
i który ma prawo wykonywać operacje, wyróżnia się trzy
i który ma prawo wykonywać operacje, wyróżnia się trzy
klasy
klasy
skojarzeń:
skojarzeń:
1.
1.
klasa 1.:
klasa 1.:
tylko proces
tylko proces
inicjujący
inicjujący
(ang.
(ang.
initiating)
initiating)
skojarzenie może
skojarzenie może
wykonywać operacje zdalne;
wykonywać operacje zdalne;
2.
2.
klasa 2.:
klasa 2.:
tylko proces
tylko proces
przyjmujący
przyjmujący
(ang.
(ang.
responding)
responding)
skojarzenie
skojarzenie
może wykonywać operacje zdalne;
może wykonywać operacje zdalne;
3.
3.
klasa 3.:
klasa 3.:
oba procesy mogą wykonywać operacje zdalne.
oba procesy mogą wykonywać operacje zdalne.
Klasę skojarzenia ustala się w czasie zestawiania skojarzenia.
Klasę skojarzenia ustala się w czasie zestawiania skojarzenia.
W przypadku skojarzenia klasy 3 możliwe jest wykonywanie
W przypadku skojarzenia klasy 3 możliwe jest wykonywanie
operacji
operacji
powiązanych
powiązanych
(ang.
(ang.
linked operations),
linked operations),
które polegają na tym, że
które polegają na tym, że
operacja wywołana przez jeden z procesów
operacja wywołana przez jeden z procesów
(operacja-matka)
(operacja-matka)
powoduje, że proces wykonujący operację następnie zleca procesowi
powoduje, że proces wykonujący operację następnie zleca procesowi
wywołującemu wykonanie innej operacji
wywołującemu wykonanie innej operacji
(operacji-córki).
(operacji-córki).
Dany proces
Dany proces
raz pełni więc funkcję procesu wywołującego, a raz - wywoływanego.
raz pełni więc funkcję procesu wywołującego, a raz - wywoływanego.
Element usługowy ROSE
Element usługowy ROSE
Makrodefinicje RO-Notation
Makrodefinicje
Makrodefinicje
,
,
lub inaczej
lub inaczej
makra
makra
(ang.
(ang.
macro),
macro),
notacji
notacji
ASN.l
ASN.l
stanowią wygodny sposób rozszerzania zasobu słów kluczowych i
stanowią wygodny sposób rozszerzania zasobu słów kluczowych i
tworzenia w ten sposób nowej notacji, która w przypadku elementu ROSĘ
tworzenia w ten sposób nowej notacji, która w przypadku elementu ROSĘ
jest nazywana
jest nazywana
RO-Notation.
RO-Notation.
Makra RO-Notation opisują, jakie dane muszą
Makra RO-Notation opisują, jakie dane muszą
zostać wymienione w określonych sytuacjach:
zostać wymienione w określonych sytuacjach:
1.
1.
Przy ustanawianiu skojarzenia - makro BIND (dołączenie);
Przy ustanawianiu skojarzenia - makro BIND (dołączenie);
2.
2.
Przy rozłączaniu skojarzenia - UNBIND (odłączenie);
Przy rozłączaniu skojarzenia - UNBIND (odłączenie);
3.
3.
Przy przesyłanie prymitywu typu żądanie lub typu odpowiedź (o ile
Przy przesyłanie prymitywu typu żądanie lub typu odpowiedź (o ile
dotyczy ona operacji zakończonej sukcesem) – makro OPERATION
dotyczy ona operacji zakończonej sukcesem) – makro OPERATION
(operacja). Makro to pozwala również podać listę operacji powiązanych;
(operacja). Makro to pozwala również podać listę operacji powiązanych;
4.
4.
Przy przesyłaniu prymitywu typu odpowiedź, który dotyczy operacji
Przy przesyłaniu prymitywu typu odpowiedź, który dotyczy operacji
zakończonej porażką - makro ERROR (błąd).
zakończonej porażką - makro ERROR (błąd).
Element usługowy ROSE
Element usługowy ROSE
Usługi, prymitywy i parametry
Przykład wymiany prymitywów elementu usługowego ROSE
Przykład wymiany prymitywów elementu usługowego ROSE
(żądanie wykonania dwóch operacji, z których pierwsza
(żądanie wykonania dwóch operacji, z których pierwsza
została zakończona sukcesem, a druga - porażką)
została zakończona sukcesem, a druga - porażką)
RO-INVOKE req
RO-INVOKE req
RO-INVOKE req
RO-INVOKE req
RO-INVOKE ind
RO-INVOKE ind
RO-INVOKE ind
RO-INVOKE ind
RO-RESULT ind
RO-RESULT ind
RO-RESULT req
RO-RESULT req
RO-ERROR ind
RO-ERROR ind
RO-ERROR req
RO-ERROR req
Usługi ROSE
•
•
•
•
•
•
•
Element usługowy ROSE
Element usługowy ROSE
Element usługowy ROSE
Element usługowy ROSE
Usługa RO-INVOKE
RO-INVOKE
- Proces wywołujący żąda wykonania
operacji od procesu wykonującego
Parametry usługi RO-INVOKE
Parameter name
Req.
Ind.
Operation-id
M
M(=)
Operation-type
U
Argument
U
C(=)
Invoke-id
M
M(=)
Linked-id
U
C(=)
Priority
U
Element usługowy ROSE
Element usługowy ROSE
Usługa RO-RESULT
RO-RESULT
- odpowiedź na RO-INVOKE, jeśli
wykonanie żądanej operacji zakończyło się sukcesem
Parametry usługi RO-RESULT
Parameter name
Req.
Ind.
Operation-id
U
C(=)
Result
U
C(=)
Invoke-id
M
M(=)
Priority
U
Element usługowy ROSE
Element usługowy ROSE
Usługa RO-ERROR
RO-ERROR
- odpowiedź na RO-INVOKE, jeśli
wykonanie żądanej operacji zakończyło się porażką
Parametry usługi RO-ERROR
Parameter name
Req.
Ind.
Error-id
M
M(=)
Parameter
U
C(=)
Invoke-id
M
M(=)
Priority
U
Element usługowy ROSE
Element usługowy ROSE
Usługa RO-REJECT-U
RO-REJECT-U
- usługobiorca usług ROSE odrzuca
żądanie RO-INVOKE lub odpowiedź w postaci RO-
RESULT lub RO-ERROR (np. jeśli zawierają one
parametry o niedozwolonych wartościach)
Parametry usługi RO-REJECT-U
Parameter name
Req.
Ind.
Reject-reason
M
M(=)
Invoke-id
M
M(=)
Priority
U
Element usługowy ROSE
Element usługowy ROSE
Usługa RO-REJECT-P
RO-REJECT-P
- to samo znaczenie co RO-REJECT, ale
używana jest przez usługodawcę usług ROSE (przez
warstwę prezentacji)
Parametry usługi RO-REJECT-P
Parameter name
Ind.
Invoke-id
O
Reject-reason
O
Element usługowy ROSE
Element usługowy ROSE
Usługa RO-BIND
RO-BIND
– usługa dostępna tylko wtedy gdy
połączenie zostanie zrealizowane i będzie zawierać
pakiet
połączeń.
To
uruchamia
jednego
użytkownika ROSE do odwołania się do innych w
celu przygotowania operacji BIND
Parametry usługi RO-BIND
Parameter name
Req.
Ind.
Resp.
Conf.
Application context name
M
M(=)
Operation-type
M
Argument
C
C(=)
Unbind can fail
M
C
C(=)
Outcome
M
M(=)
Bind-result
C
C(=)
Bind-error parameter
C
C(=)
Element usługowy ROSE
Element usługowy ROSE
Usługa RO-UNBIND
RO-UNBIND
- to samo znaczenie co RO-BIND, ale jeśli
pole responderCanUnbind jest fałszem to wtedy tylko
inicjator połączenia może wywołać operacje UNBIND
Parametry usługi RO-UNBIND
Parameter name
Req.
Ind.
Resp. Conf.
Argument
C
C(=)
Outcome
M
M(=)
Unbind-result
C
C(=)
Unbind-error parameter
C
C(=)
Element usługowy FTAM
Element usługowy FTAM
FTAM
(File Transfer, Access and Management)
jest elementem usługowym i dla uniknięcia wątpliwości
czasem stosowany jest zapis
FTAM-ASE
. FTAM umożliwia
transfer całego pliku lub jego części między odległymi
systemami otwartymi, a także zapewnia kontrolę
dostępu i nadzór bezpieczeństwa. FTAM został opisany
w standardzie ISO 8571 (część 1: wprowadzenie, część
2: wirtualny system plików, część 3: usługi i część
4:protokół).
Definicja
Element usługowy FTAM
Element usługowy FTAM
FTAM
korzysta z uogólnionego modelu opisu danych
zawartych w pliku, który jest nazywany wirtualnym systemem plików
(Virtual Filestore). System ten uogólnia sposób przechowywania
danych w pliku oraz metody dostępu do pliku i dzięki temu przesłania
różnorodność
systemów
pliku
realizowanych
przez
różnych
producentów oprogramowania. By zapewnić dostęp do wybranego
systemu plików, wystarczy opracować interfejs między tym systemem
a systemem wirtualnym. Dzięki temu FTAM nadaje się do stosowania
w sieciach heterogenicznych.
Najmniejszą częścią pliku, a tym samym najmniejszą częścią
danych, która może być przesłana, jest
jednostka danych DU
(Data
Unit). Jednostki DU, które są powiązane ze sobą logicznie (np. tworzą
plik), grupowane są
w jednostkach dostępu do pliku FADU
(File Access
Data Units). Jednostka danych DU i jednostki dostępu FADU tworzą
strukturę drzewiastą.
Pojęcia
podstawowe
Element usługowy FTAM
Element usługowy FTAM
W wirtualnym systemie plików zdefiniowano dwa
rodzaje operacji na plikach:
-
Operacje dostępu do pliku
(File access operations),
które są przeprowadzane na zawartości pliku (np.
odszukanie jednostki FADU, jej odczyt, zamiana lub
usunięcie);
- Operacje zarządzania plikami
(File management
operations), które są przeprowadzane na całych plikach
(np. utworzenie lub usunięcie pliku, jego odczyt i zapis,
zmiana i odczyt atrybutów pliku).
Pojęcia
podstawowe
Element usługowy FTAM
Element usługowy FTAM
Plikom, oprócz jednoznacznej nazwy, przyporządkowuje
się również atrybuty. Zdefiniowano cztery grupy
atrybutów pliku
(File attributes):
- Jądro
(kernel); atrybuty tej grupy określają podstawowe cechy
pliku, na przykład ograniczenia dostępu (prawo do usuwania,
odczytu, itd.);
- Zapis
(storage): atrybuty tej grupy podają takie informacje, jak
data i czas zapisu ostatniej modyfikacji pliku, wielkość pliku, nazwa
użytkownika, który stworzył plik lub nazwa użytkownika, który ma
być obciążony kosztami przechowywania pliku i dostępu do pliku;
- Bezpieczeństwo
(Security): atrybuty tej grupy informują o tym,
jakie procedury szyfrowania i kontroli dostępu stosuje się w
odniesieniu do pliku;
- Inne
(private): atrybuty tej grupy nie są określone przez standard
FTAM i mogą być definiowane w zależności od potrzeb konkretnej
implementacji.
Pojęcia
podstawowe
Element usługowy FTAM
Element usługowy FTAM
System
plików
Plik
Zawartość
Atrybuty pliku
Plik
Atrybuty
Atrybuty bieżące
Atrybuty
czynne
Połączenie
Użytkownik
Rys 3. Schemat wirtualnego systemu plików
Element usługowy FTAM
Element usługowy FTAM
FADU
Level 0
Level 1
Level 2
FADU
A
R
DU
B
DU
C
DU
FADU
FADU
D
DU
FADU
F
DU
FADU
E
DU
FADU
Rys 4. Struktura wirtualnego systemu plików
Rys 4. Struktura wirtualnego systemu plików
Element usługowy FTAM
Element usługowy FTAM
Atrybut
Atrybut
Typ
Typ
Minimalny
Minimalny
zakres
zakres
Current access request
Current access request
Current initiator identity
Current initiator identity
Current location
Current location
Current processing mode
Current processing mode
Current
Current
calling application
calling application
entity title
entity title
Current
Current
responding application
responding application
entity title
entity title
Current account
Current account
Current co
Current co
u
u
currency control
currency control
Current locking style
Current locking style
Current access password
Current access password
Wektor logiczny
Wektor logiczny
Graphic String
Graphic String
Node-Descriptor-Data-Element
Node-Descriptor-Data-Element
Wektor logiczny
Wektor logiczny
application entity title
application entity title
application entity title
application entity title
Graphic String
Graphic String
Wektor wartości
Wektor wartości
Logiczny
Logiczny
Graphic String lub Octet String
Graphic String lub Octet String
nie określony
nie określony
1 do 8 znaków
1 do 8 znaków
nie określony
nie określony
nie określony
nie określony
brak wymagań
brak wymagań
brak wymagań
brak wymagań
1 do 8 znaków
1 do 8 znaków
nie określony
nie określony
brak wymagań
brak wymagań
0
do
8
znaków
0
do
8
znaków
(oktetów)
(oktetów)
Atrybuty
aktywności
Atrybuty plików
Atrybut
Atrybut
Typ
Typ
Minimalny zakres
Minimalny zakres
Filename
Filename
wektor elementów Graphic
wektor elementów Graphic
String
String
pojedynczy element, 1 do 8
pojedynczy element, 1 do 8
dużych
liter
lub
cyfr
dużych
liter
lub
cyfr
rozpoczynających się literą
rozpoczynających się literą
Permitted actions
Permitted actions
wektor logiczny
wektor logiczny
dowolny niepusty podzbiór
dowolny niepusty podzbiór
dozwolonych wartości
dozwolonych wartości
Contents type
Contents type
abstrac syntax, constraint
abstrac syntax, constraint
set name pair or a document
set name pair or a document
type name
type name
brak wymagań
brak wymagań
Storage account
Storage account
Graphic String
Graphic String
1 do 8 znaków
1 do 8 znaków
Date and time of creation
Date and time of creation
Data i czas
Data i czas
określa ISO 8601
określa ISO 8601
Date and time of last
Date and time of last
modification
modification
Data i czas
Data i czas
określa ISO 8601
określa ISO 8601
Date and time of last read
Date and time of last read
access
access
Data i czas
Data i czas
określa ISO 8601
określa ISO 8601
Date and time of last
Date and time of last
attribute modification
attribute modification
Data i czas
Data i czas
określa ISO 8601
określa ISO 8601
Element usługowy FTAM
Element usługowy FTAM
Element usługowy FTAM
Element usługowy FTAM
cd…
cd…
Atrybut
Atrybut
Typ
Typ
Minimalny zakres
Minimalny zakres
Identity of creator
Identity of creator
Graphic String
Graphic String
1 do 8 znaków
1 do 8 znaków
Identity of last modifier
Identity of last modifier
Graphic String
Graphic String
1 do 8 znaków
1 do 8 znaków
Identity of last reader
Identity of last reader
Graphic String
Graphic String
1 do 8 znaków
1 do 8 znaków
Identity of last attribute
Identity of last attribute
modifier
modifier
Graphic String
Graphic String
1 do 8 znaków
1 do 8 znaków
File available
File available
Lista wartości
Lista wartości
dowolny niepusty podzbiór
dowolny niepusty podzbiór
dozwolonych wartości
dozwolonych wartości
Filesize
Filesize
Integer
Integer
brak wymagań
brak wymagań
Future filesize
Future filesize
Integer
Integer
brak wymagań
brak wymagań
Access control
Access control
zbiór warunków
zbiór warunków
pojedynczy warunek
pojedynczy warunek
Concurrency access
Concurrency access
tablica wektorów
tablica wektorów
logicznych
logicznych
dowolny niepusty podzbiór
dowolny niepusty podzbiór
dozwolonych wartości
dozwolonych wartości
Identity
Identity
Graphic String
Graphic String
1 do 8 znaków
1 do 8 znaków
Passwords
Passwords
Graphic String lub OCTET
Graphic String lub OCTET
STRING
STRING
0 do 8 znaków(oktetów)
0 do 8 znaków(oktetów)
Location
Location
application entity title
application entity title
all application entity titles
all application entity titles
Element usługowy FTAM
Element usługowy FTAM
cd…
cd…
Atrybut
Atrybut
Typ
Typ
Minimalny zakres
Minimalny zakres
Legal qualifications
Legal qualifications
Graphic String
Graphic String
0-80 elementów Graphic
0-80 elementów Graphic
String i(lub) znak spacji
String i(lub) znak spacji
Private use
Private use
Żaden
Żaden
brak wymagań
brak wymagań
Element usługowy FTAM
Element usługowy FTAM
Jednostki funkcjonalne zewn. usług plikowych
Jednostka
Jednostka
Funkcjonalna
Funkcjonalna
Usługi
Usługi
Klasa usług
Klasa usług
T
T
A
A
M
M
TM
TM
U
U
U1
U1
- Jądro
- Jądro
(Kernel)
(Kernel)
Wdrażanie i likwidacja reżimu FTAM,
Wdrażanie i likwidacja reżimu FTAM,
wskazywanie plików
wskazywanie plików
M
M
M
M
M
M
M
M
M
M
U2 - Odczyt
U2 - Odczyt
(Read)
(Read)
Odczyt zbiorczy, transfer DU, kończenia i
Odczyt zbiorczy, transfer DU, kończenia i
przerywanie
transferu,
otwieranie
i
przerywanie
transferu,
otwieranie
i
zamykanie plików
zamykanie plików
*
*
M
M
*
*
O
O
U3 -
U3 -
Zapis
Zapis
(Write)
(Write)
Zapis zbiorczy, transfer DU, kończenia i
Zapis zbiorczy, transfer DU, kończenia i
przerywanie
transferu,
otwieranie
i
przerywanie
transferu,
otwieranie
i
zamykanie plików
zamykanie plików
*
*
M
M
*
*
O
O
U4 – Dostęp do pliku
U4 – Dostęp do pliku
(File acces)
(File acces)
Lokalizacja i kasowanie FADU
Lokalizacja i kasowanie FADU
M
M
O
O
U5 – Ograniczone
U5 – Ograniczone
zarządzanie plikami
zarządzanie plikami
(Limited file manag.)
(Limited file manag.)
Tworzenie i kasowanie FADU
Tworzenie i kasowanie FADU
O
O
O
O
M
M
M
M
O
O
U6 – Rozszerzone
U6 – Rozszerzone
zarządzanie plikami
zarządzanie plikami
(Enhanced file manag.)
(Enhanced file manag.)
Zmiany atrybutów
Zmiany atrybutów
O
O
O
O
O
O
O
O
O
O
U7 – Grupowanie
U7 – Grupowanie
(Grouping)
(Grouping)
Wdrażanie i likwidacja grupowania
Wdrażanie i likwidacja grupowania
M
M
O
O
M
M
M
M
O
O
U8 – Blokowanie
U8 – Blokowanie
(Blocking)
(Blocking)
Blokowanie operacji równoległych
Blokowanie operacji równoległych
O
O
Element usługowy FTAM
Element usługowy FTAM
Jednostki funkcjonalne wewn. usług plikowych
Jednostka
Jednostka
Funkcjonalna
Funkcjonalna
Usługi
Usługi
Klasa usług
Klasa usług
T
T
A
A
M
M
TM
TM
U
U
U
U
9
9
- Przywracanie
- Przywracanie
Przywracanie reżimów, kontrola
Przywracanie reżimów, kontrola
poprawności
,
kasowanie
poprawności
,
kasowanie
transferu
transferu
O
O
O
O
O
O
O
O
U
U
10 – Wznowienie
10 – Wznowienie
transferu
transferu
(restart)
(restart)
Restartowanie, kontrola
Restartowanie, kontrola
poprawności , kasowanie
poprawności , kasowanie
transferu
transferu
O
O
O
O
O
O
O
O
T – klasa transferu plików M – implementacja obowiązkowa
A – klasa dostępu do plików O – implementacja opcjonalna
M – klasa zarządzania plikam i * – implementacja przynajmniej
TM – klasa transferu i zarządzania w jednej z klas U2 lub U3
U – klasa nieograniczona ( ) – implementacja niedozwolona
Element usługowy FTAM
Element usługowy FTAM
Poziomy usług plikowych FTAM
1.
Poziom usług zewnętrznych - EFS
(External File Service), na
którym użytkownik określa własne wymagania odnośnie
jakości usług świadczonych przez FTAM, lecz nie dysponuje
możliwością usuwania skutków błędu.
2.
Poziom usług wewnętrznych
– IFS
(Internal File Service),
stanowiących
płaszczyznę
funkcjonowania
protokołu
korekcyjnego, który wykorzystuje mechanizmy poprawiania
przekłamań oraz bieżącej kontroli poprawności transmisji
(checkpointing).
Element usługowy FTAM
Element usługowy FTAM
Poziomy usług plikowych FTAM
External service
External service
Recovery
Recovery
Procedures
Procedures
FERPM
FERPM
Recovery
Recovery
Procedures
Procedures
FERPM
FERPM
Basic
Basic
FPM
FPM
Basic
Basic
FPM
FPM
Lower Layer Provider
Lower Layer Provider
Internal service
Internal service
Basic
Basic
protocol
protocol
Error recovery
Error recovery
protocol
protocol
Rys 5. Relacje pomiędzy usługami EFS i IFS
Element usługowy FTAM
Element usługowy FTAM
Protokoły FTAM
Specyfikacja ISO 8571 przewiduje
wykorzystanie
do
realizacji
usług
plikowych następujących protokołów:
-
protokół podstawowy
, który obsługuje poziom
wewnętrzny
-
protokół obsługi błędów
, który występuje na
poziomie usług zewnętrznych
-
protokół plikowy
, wykorzystywany przez FTAM
zakłada wykorzystanie usług (tabela na kol.
slajdzie)
Element usługowy FTAM
Element usługowy FTAM
Protokoły FTAM
Jednostka
Jednostka
funkcjonalna
funkcjonalna
FTAM
FTAM
Jednostka
Jednostka
funkcjonalna
funkcjonalna
warstwy sesji
warstwy sesji
Jednostka
Jednostka
funkcjonalna
funkcjonalna
w
w
arstwy prezentacji
arstwy prezentacji
Jądro
Jądro
Jądro, Duplex i
Jądro, Duplex i
ocjonalnie: Resynch(1),
ocjonalnie: Resynch(1),
Minor synch(2)
Minor synch(2)
Jądro, Duplex i ocjonalnie:
Jądro, Duplex i ocjonalnie:
Resynch(1),
Minorsynch
Resynch(1),
Minorsynch
(2)
(2)
Zarządzanie
Zarządzanie
kontekstem(3)
kontekstem(3)
Wznawianie
Wznawianie
Minor synch
Minor synch
Minor synch
Minor synch
Restartowanie transferu
Restartowanie transferu
Minor synch,
Minor synch,
Resynchronize
Resynchronize
Minor synch,
Minor synch,
Resynchronize
Resynchronize
Element usługowy FTAM
Element usługowy FTAM
Nazwa PDU
Nazwa PDU
Przenoszone
Przenoszone
przez
przez
Jednostka
Jednostka
funkcjonalna
funkcjonalna
F-INITIALIZE request
F-INITIALIZE request
F-INITIALIZE
F-INITIALIZE
response
response
F-TERMINATE
F-TERMINATE
request
request
F-TERMINATE
F-TERMINATE
response
response
F-P-ABORT request
F-P-ABORT request
A-ASSOCIATE
A-ASSOCIATE
A-ASSOCIATE
A-ASSOCIATE
A-RELEASE
A-RELEASE
A-RELEASE
A-RELEASE
A-ABORT
A-ABORT
Jądro
Jądro
Jądro
Jądro
Jądro
Jądro
Jądro
Jądro
Jądro
Jądro
PDU ustanawiania reżimu FTAM
Nazwa PDU
Nazwa PDU
Przenoszone przez
Przenoszone przez
Jednostka funkcjonalna
Jednostka funkcjonalna
F-SELECT request
F-SELECT request
F-SELECT response
F-SELECT response
F-DESELECT request
F-DESELECT request
F-DESELECT response
F-DESELECT response
F-CREATE request
F-CREATE request
F-CREATE response
F-CREATE response
F-DELETE request
F-DELETE request
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
Kernel
Kernel
Kernel
Kernel
Kernel
Kernel
Kernel
Kernel
Limited file management
Limited file management
Limited file management
Limited file management
Limited file management
Limited file management
PDU sterowanie reżimem plikowym
Element usługowy FTAM
Element usługowy FTAM
PDU sterowanie reżimem plikowym cd…
Nazwa PDU
Nazwa PDU
Przenoszone
Przenoszone
przez
przez
Jednostka
Jednostka
funkcjonalna
funkcjonalna
F-DELETE response
F-DELETE response
F-READ-ATTRIB request
F-READ-ATTRIB request
F-READ-ATTRIB response
F-READ-ATTRIB response
F-CHANGE-ATTRIB request
F-CHANGE-ATTRIB request
F-CHANGE-ATTRIB response
F-CHANGE-ATTRIB response
F-OPEN request
F-OPEN request
F-OPEN response
F-OPEN response
F-CLOSE request
F-CLOSE request
F-CLOSE response
F-CLOSE response
F-BEGIN-GROUP request
F-BEGIN-GROUP request
F-BEGIN-GROUP response
F-BEGIN-GROUP response
F-END-GROUP request
F-END-GROUP request
F-END-GROUP response
F-END-GROUP response
F-RECOVER request
F-RECOVER request
F-RECOVER response
F-RECOVER response
F-LOCATE request
F-LOCATE request
F-ERASE request
F-ERASE request
F-ERASE response
F-ERASE response
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
P-DATA
Limited file management
Limited file management
Limited file management
Limited file management
Limited file management
Limited file management
Enhanced file management
Enhanced file management
Enhanced file management
Enhanced file management
Read, Write
Read, Write
Read, Write
Read, Write
Read, Write
Read, Write
Read, Write
Read, Write
Grouping
Grouping
Grouping
Grouping
Grouping
Grouping
Grouping
Grouping
Recovery
Recovery
Recovery
Recovery
Access
Access
Access
Access
Access
Access
Element usługowy FTAM
Element usługowy FTAM
Przykład korzystania z FTAM
Rozpatrzmy sytuację, w której użytkownik systemu
plików chce odczytać fragment określonego pliku. Operację tę
użytkownik rozpoczyna od ustanowienia skojarzenia (usługa
F-INITIALIZE
), następnie wybiera plik (usługa
F-SELECT
),
odczytuje jego atrybuty (usługa
F-READ-ATTRIB
), otwiera plik
(usługa
F-OPEN
), odnajduje interesującą go jednostkę FADU
(usługa
F-LOCATE
) i dokonuje odczytu (usługa
F-READ
). System
obsługi plików przesyła dane przy pomocy usługi
F-DATA
, a
zakończenie przesyłania danych oznacza przy pomocy usługi
F-
DATA-END
. Użytkownik systemu plików potwierdza zakończenie
operacji odczytu (usługa
F-TRANSFER-END
), zamyka plik (usługa
F-CLOSE
), odwołuje wybór pliku (usługa
F-DESELECT
) i rozłącza
skojarzenie (usługa
F-TERMINATE
).
F-INITIALIZE req.
F-INITIALIZE ind.
Primitives issued by initiator
Primitives issued by responder
F-INITIALIZE resp.
F-INITIALIZE conf.
F-SELECT
& F-OPEN req.
F-SELECT
& F-OPEN ind.
F-SELECT
& F-OPEN resp.
F-SELECT
& F-OPEN conf.
F-READ req.
F-READ ind.
F-DATA req.
F-DATA ind.
F-DATA-END req.
F-DATA-END ind.
F-TRANSFER-END req.
F-TRANSFER-END ind.
F-TRANSFER-END resp.
F-TRANSFER-END conf.
F-CLOSE &
F-DESELECT
req.
F-CLOSE &
F-DESELECT
ind.
F-CLOSE &
F-DESELECT
resp.
F-CLOSE &
F-DESELECT
conf.
F-TERMINATE req.
F-TERMINATE conf.
F-TERMINATE ind.
F-TERMINATE resp.