44. Описание сервисов сеансового уровня.

Сеансовый уровень

Сеансовый уровень позволяет пользователям различных компьютеров устанав­ливать сеансы связи друг с другом. При этом предоставляются различные типы сервисов, среди которых управление диалогом (отслеживание очередности пере­дачи данных), управление маркерами (предотвращение одновременного выпол­нения критичной операции несколькими системами) и синхронизация (установка служебных меток внутри длинных сообщений, позволяющих после устранения ошибки продолжить передачу с того места, на котором она оборвалась).

 

Сервис сеансового уровня

Сеансовый сервис обеспечивает прикладные объекты следующими средствами равноправного, синхронизированного, структурированного взаимодействия:

-   установления сеансового соединения, синхронизированного обмена данными, упорядоченного и безусловного завершения сеансового соединения;

-   согласования использования маркеров обмена данными, синхронизации и завершения взаимодействия, а также фиксации маркеров на одной из взаимодействующих сторон;

-   установления точек синхронизации внутри диалога;

-   выполнения ресинхронизации сеансового соединения к согласованной прикладными объектами точке синхронизации;

-   прерывания диалога и его возобновления с заранее организованной точки синхронизации.

Сеансовый сервис обеспечивается сеансовым протоколом, который, в свою очередь, использует сервис, предоставляемый транспортным уровнем. На сеансовом уровне вводится ряд основополагающих понятий, которые широко используются при описании объектов представительного и прикладного уровней.

К таким понятиям относятся маркер, точка синхронизации, диалоговый элемент, активность, ресинхронизация, переговоры, функциональная группа, качество сеансового сервиса и др.

Маркер

Маркер — это атрибут сеансового соединения, который динамически назначается одному из взаимодействующих прикладных объектов (SS-пользователю). Владелец маркера имеет исключительное право инициировать выполнение услуги, контролируемой данным маркером.

На сеансовом соединении могут быть использованы четыре маркера:

1.   DK — маркер данных (Data Token).

2.   TR — маркер завершения (Release Token).

3.   MI — маркер малой синхронизации (Synhronize Minor Token).

4.  МА — маркер большой синхронизации (Major-activityToken).
Каждый маркер на сеансовом соединении всегда находится в одном из двух состояний: доступен и недоступен. Маркер дос-тупен тогда, когда SS-пользователи, в ходе установления сеан-сового соединения, согласовали его применение в процессе предстоящего взаимодействия. В этом случае маркер назначает-ся одной из взаимодействующих сторон, а поставщик сеансово-го сервиса гарантирует отсутствие раздвоения маркера в любой момент существования сеансового соединения. Маркер не-доступен тогда, когда в ходе установления сеансового соедине-ния SS-пользователи не включили его в число доступных мар-керов, применяемых в процессе предстоящего взаимодействия. При этом маркер не может быть назначен ни одной из взаи-модействующих сторон.

Точка синхронизации

При передаче данных пользователи сеансового сервиса мо-гут размещать в потоке данных точки синхронизации. Точки синхронизации идентифицируются последовательными моно-тонно возрастающими номерами, которые обеспечиваются по-ставщиком сеансового сервиса. Взаимодействующие приклад-ные объекты могут связывать с точками синхронизации, а точ-нее, с их номерами, любую семантику, определяемую приложе-нием.

Фиксацию точек синхронизации можно выполнять двумя способами, используя технику малой или большой синхрониза-ции. В зависимости от того, каким способом формируется точка синхронизации, она будет называться либо точкой большой синхронизации (major synchronization), либо точкой малой син хронизации (minor synchronization). Поставщик сеансового сер-виса нумерует точки синхронизации последовательно независи-мо от того, являются ли они точками большой или малой син-хронизации (рисунок 3.30,а). Отличие заключается в механизме выполнения фиксации точек синхронизации. Точка большой синхронизации считается зафиксированной после ее явного под-тверждения, в то время как точка малой синхронизации для своей фиксации не требует явного подтверждения и может во-обще не подтверждаться.

Диалоговый элемент

С понятием точки синхронизации связано понятие диало-гового элемента. Точки большой синхронизации используются для структурирования обмена данными в виде серии диалого-вых элементов. Точка большой синхронизации завершает один диалоговый элемент и начинает другой. Диалоговый элемент — логически выделенное замкнутое взаимодействие, которое мож-но отработать независимо от предшествующих и последующих процессов обмена данными. Точки малой синхронизации ис-пользуются для структуризации обмена данными в рамках диа-логового элемента, являясь отметками прохождения последова-тельно отрабатываемых этапов распределенного взаимодейст-вия партнеров.

Активность

Последовательность диалоговых элементов может высту-пать в качестве более крупной логически завершенной части работы, называемой активностью (рис. 3.30,б). В рамках сеансо-вого соединения одновременно может существовать лишь одна активность. Допускается последовательная обработка активно-стей на одном сеансовом соединении. В то же время активность может охватывать несколько последовательно устанавливаемых сеансовых соединений. Это связано со свойствами прерываемо-сти активности, независимой идентификации активности в рам-ках поставщика сеансового сервиса, а также со свойством во-зобновляемости прерванной активности на любом подходящем сеансовом соединении.

 

Ресинхронизация

Является средством принудительной координации взаимо-действующих сторон в рамках сеансового соединения. Ресинхро-низация может быть инициирована любым SS-пользователем в любой момент существования сеансового соединения. При этом соединение переходит в определенное состояние, позво-ляющее перераспределить маркеры между сторонами и согласо-вать новое значение последовательного номера точки синхрони-зации для продолжения взаимодействия. В ходе ресинхрониза ции осуществляется сброс всех данных, находящихся в это вре-мя в стадии передачи по сеансовому соединению. Поставщик сеансового сервиса обеспечивает три режима согласования но-вого значения последовательного номера точки синхронизации, выбирается ранее не задействованное значение — отказ (abandon); любое значение, которое больше, чем номер послед-ней подтвержденной точки большой синхронизации, и не боль-ше, чем последний полученный номер точки синхронизации — рестарт (restart); любое значение из разрешенного диапазона, указанное прикладным объектом, — установка (set).

Функциональные группы и стандартные подмножества

сеансового сервиса

Функциональная группа — это объединение логически свя-занных услуг. Функциональные группы вводятся с целью согла-сования требований пользователей в ходе фазы установления сеансового соединения. В том случае, когда какая-либо услуга, входящая в функциональную группу, контролируется маркером, в функциональную группу включаются услуги управления рас-становкой маркеров.

Базовая функциональная группа объединяет основные сеансо-вые услуги, позволяющие установить сеансовое соединение, осу-ществить передачу нормальных блоков данных и завершить сеан-совое соединение, то есть базовую функциональную группу обра-зуют следующие услуги: S-CONNECT, S-DATA, S-RELEASE, S-U-ABORT и S-P-ABORT.

Функциональная группа согласованного завершения содер-жит услугу S-RELEASE, контролируемую маркером заверше-ния. Эта функциональная группа обеспечивает дополнительное свойство услуге упорядоченного завершения сеансового соеди-нения, при котором сеанс прекращается только при обоюдном согласии партнеров. Функциональная группа включает услуги S-RELEASE, S-GIVE-TOKENS и S-PLEASE-TOKENS.

Функциональная группа полудуплекса определяет режим передачи данных. Владелец маркера данных имеет право формировать нормальный поток NSSDU. Функциональная группа объединяет услуги S-GIVE-TOKENS и S-PLEASE-TOKENS.

Функциональная группа дуплекса поддерживает дуплекс-ный нормальный поток блоков данных NSSDU. Оба пользовате-ля имеют равные права инициировать услугу S-DATA. Функ-циональная группа не содержит никаких услуг. Недопустимо одновременное использование в рамках сеансового соединения функциональных групп дуплекса и полудуплекса.

Функциональная группа срочных данных содержит услугу S-EXPEDITED-DATA, позволяющую формировать срочный по-ток блоков данных XSSDU.

Функциональная группа типизированных данных предос-тавляет услугу образования пользователями потока типизиро-ванных блоков данных TSSDU. Содержит услугу S-TYPED-DATA.

Функциональная группа обмена данными обеспечивает ус-лугу S-CAPABILITY-DATA. Группа может быть выбрана поль-зователем лишь вместе с группой управления активностью.

Функциональная группа малой синхронизации включает в свой состав следующие услуги: S-SYNC-MINOR, S-GIVE-TOKENS и P-PLEASE-TOKENS.

Функциональная группа большой синхронизации включает в свой состав услуги S-SYNG-MAJOR, S-GIVE-TOKENS и P-PLEASE-TOKENS.

Функциональная группа ресинхронизации представляет ус-лугу S-RESYNCHRO-NIZE.

Функциональная группа оповещения обеспечивает услуги S-U-EXCEPTION-REPORT и S-P-EXCEPTION-REPORT.

Функциональная группа управления активностью включает все услуги управления активностью и услугу передачи управле-ния: S-ACTIVITY-START, S-ACTIVITY-RESUME, S-ACTIVITY-INTERRUPT, S-ACTIVITY-DISCART, S-ACTIVITY-END, S-GIVE-TOKENS, S-PLEASE-TOKENS и S-GIVE-CONTROL.

Свойство маркерного управления определенной услуги пе-редается функциональной группе, содержащей эту услугу. Ниже приводятся функциональные группы, контролируемые марке-рами.

Согласованное завершение                    TR

Полудуплекс                                              DK

Малая синхронизация                              Ml

Большая синхронизация                          МА

Управление активностью                        МА

При использовании функциональных групп, требующих управления маркерами, прикладной протокол в ходе установле-ния сеансового соединения обязан объявить соответствующий маркер доступным на сеансовом соединении и указать его на-чальную расстановку.

В стандарте вводится понятие сервисного подмножества (сервисного профиля сеансового соединения), обеспечиваемого на сеансовом соединении. Сервисное подмножество — это ком-бинация базовой функциональной группы с другими функцио-нальными группами при условии, что функциональная группа обмена данными включается в подмножество лишь наряду с функциональной группой управления активностью, а функ-циональная группа оповещения включается в подмножество лишь наряду с функциональной группой полудуплекса.

Каждая сеансовая услуга представляется набором примити-вов. Отработка определенной сеансовой услуги заключается в последовательном исполнении ее примитивов.

Различают услуги двух типов: подтверждаемые и непод-тверждаемые. Подтверждаемая услуга содержит четыре прими-тива: запрос (request), индикация (indication), ответ (response), подтверждение (confirmation). Неподтверждаемая услуга содер-жит два примитива: запрос и индикация, а в специальных случа-ях — только индикация.

Услуга установления сеансового соединения, применяемая в соответствующей фазе, состоит из четырех примитивов: S-CONNECT request, S-CONNECT indication, S-CONNECT response, S-CONNECT confirmation. Тип услуги подтверждае-мый. В таблице 3.6 приведен состав сеансовых услуг фаз пере-дачи данных и завершения соответственно.

Таблица 3.6

 

Услуга

Примитивы

Тип услуги

Передача нор-мальных данных

S-DATA (request, indication)

Неподтверждаемая

Передача сроч-ных данных

S-EXPEDITED-DATA (request, indication)

Неподтверждаемая

Передача типи-зированных дан-ных

S-TYPED-DATA (request, indication)

Неподтверждаемая

Услуга

обмена данными

S-CAPABILITY-DATA (request, indication, response, confirmation)

Подтверждаемая

Передача маркеров

S-GIVE-TOKENS (request, indication)

Неподтверждаемая

Услуга

требования

маркеров

S-PLEASE-TOKENS (request, indication)

Неподтверждаемая

Передача управления

S-GIVE-CONTROL (request, indication)

Неподтверждаемая

Малая синхрони-зация

S-SINC-MINOR

(request, indication, response,

confirmation)

Подтверждаемая

Большая синхро-низация

S-SINC-MAJOR

(request, indication, response,

confirmation)

Подтверждаемая

Ресинхронизация

S-RESYNCHRONIZE (request, indication, response, confirmation)

Подтверждаемая

Услуга оповеще-ния поставщика

S-P-EXCEPTION-REPORT (indi­cation)

Неподтверждаемая

Услуга оповеще-ния пользователя

S-U- EXCEPTION-REPORT (re­quest, indication)

Неподтверждаемая

Инициация активности

S-ACTIVITY-START (request, indication)

Неподтверждаемая

Услуга

возобновления

активности

S-ACTIVITY-RESUME (request, indication)

Неподтверждаемая

Услуга

прерывания

активности

S-ACTIVITY-INTERRUPT(request, indication, response, confirmation)

Подтверждаемая

Сброс активности

S-ACTIVITY-DISCARD (request, indication, response, сonfirmation)

Подтверждаемая

 

Окончание табл. 3.6

Услуга

Примитивы

Тип услуги

Завершение активности

S-ACTIVITY-END (request, indication, response, confirmation)

Подтверждаемая

Упорядоченное завершение

S-RELEASE (request, indication, response, confirmation)

Подтверждаемая

Безусловное

завершение

пользователя

S-U-ABORT (request, indication)

Неподтверждаемая

Безусловное завершение по-ставщика

S-P-ABORT (indication)

Неподтверждаемая

Услуга малой синхронизации. Услуга малой синхронизации S-SYNC-MINOR обеспечивает SS-пользователей средствами фиксации точек малой синхронизации в потоках нормальных и типизированных данных на сеансовом соединении. В случае, когда на сеансовом соединении выбрана для использования функциональная группа управления активностью, инициация ус-луги малой синхронизации должна осуществляться лишь в рамках существующей активности. Услуга малой синхрониза-ции является контролируемой маркером, право отработать при-митив S-SYNC-MINOR request имеет тот участник взаимодейст-вия, который владеет маркером малой синхронизации и маркером данных, если последний доступен на сеансовом соединении. Ус-луга малой синхронизации является подтверждаемой. Однако поставщик сеансового сервиса специально не ожидает инициации примитива S-SYNC-MINOR response вслед за отработанным им примитивом S-SYNC-MINOR indication даже в том случае, когда подтверждение точки малой синхронизации затребовано явно. Следующая инициация услуги S-SYNC-MINOR может быть вы-полнена SS-пользователем до того, как будет обработан сервис-ный примитив S-SYNC-MINOR confirmation, на предыдущий за-прос малой синхронизации. Таким образом, в определенный мо-мент на сеансовом соединении может существовать целый ряд неподтвержденных точек малой синхронизации. При этом число неподтвержденных точек синхронизации, фиксируемых с помо-щью услуги малой синхронизации, не ограничивается поставщи-ком сеансового сервиса. Сервисный примитив S-SYNC-MINOR confirmation осуществляет подтверждение всех малых точек син хронизации вплоть до той, последовательный номер которой указан в самом примитиве.

Услуга большой синхронизации

Услуга большой синхронизации S-SYNC-MAJOR обеспечивает SS-пользователей средствами фиксации точек большой синхронизации в потоках нормальных, типизированных и срочных данных с целью полного отделения потоков данных, существовавших до момента фиксации синхроточки, от потоков данных, организуемых после момента фиксации синхроточки

Hosted by uCoz