рядковий принтер характеризований циклом друкування одного рядка. Якщо дані не готові, то рядок пропускається. Буфер принтера також має обмежену ємність. Якщо його переповнити, то дані будуть втрачені. Крім того, тривалість циклу принтера не є сталою, оскільки деякі процедури потребують більше часу. Це ж властиве й іншим пристроям мережі (дисководам тощо). Загалом кожне обладнання має свої часові параметри та характеристики доступу, на які треба зважати. Узгоджуються часові параметри під час процедури прив'язання, а під час передавання даних система враховує часові параметри для керування темпом передавання.
4.3. Робота в нештатних ситуаціях
Для забезпечення надійності роботи сеансової підсистеми в нештатних ситуаціях передбачені такі операції та функції: контроль за групами операцій (контрольні множини); відновлення під час поновлень транспортної підсистеми без розірвання сеансу;
забезпечення, якщо потрібно, примусового завершення сеансу зі збереженням цілісності даних; рестарта з контрольних точок та синхронізація; розробка варіантів можливої роботи в ручному режимі в періоди масових відмов.
Розглянемо детальніше головні моменти відновлення сеансу. Усі відмови та помилки, які виникають на сеансовому рівні, можна розділити на такі, що потребують відміни сеансового прив'язання, та такі, що їх можна нейтралізувати за допомогою невеликих коректив. У першому випадку відновлення виконують системи вищого рівня, у другому - засоби сеансового рівня. Користувач під час цього процесу може помітити лише деяке уповільнення роботи. Можливість сеансового рівня автоматично відновлюватися характеризує його "живучість". До розірвання сеансу можуть призвести такі серйозні причини: стійка апаратна помилка, яку не можна оминути; стійка помилка в засобах зв'язку; помилка в програмі; комп'ютери не можуть взаємодіяти внаслідок різного налаштування систем; по-різному реалізовані рівні відображення та прикладний. Інші можливі помилки, які не призводять до розірвання сеансу, такі:
скидання або рестарт транспортної підсистеми; втрата, дублювання або спотворення повідомлень; перевантаження; нестійка апаратна помилка; тимчасова нестача ресурсів;помилки оператора; помилка програми, яка не повторюється.
Ініціатором запуску та виконання процедур відновлення є один з учасників сеансу. Він аналізує причину ситуації, присвоює їй відповідний код та надсилає інформацію відповідальній за відновлення інстанції. Ця інстанція не обов'язково повинна бути одним з учасників сеансу, нею може бути і центральний вузол керування.Збої та відмови бувають різними. В еталонній моделі використано такий принцип: збої, якщо можливо, повинні бути усунуті засобами протоколів нижчих рівнів. Є збої, які впливають тільки на одне повідомлення або на один сеанс, а є й такі, що призводять до поширення розір-вання сеансів та виникнення відмов на всі сеанси вузла або частини мережі. Відповідно до цього є багато різних механізмів контролю та відновлення роботи сеансів.
Повернення в контрольну точкуДля структуризації обміну даними та з метою уникнути відмов користувачі сеансового рівня можуть вводити головні точки синхронізації, які розділяють процес обміну даними на одиниці діалогу. У цьому випадку процес передавання у межах однієї такої одиниці не залежить від передавань в інших. Кожна головна точка синхронізації підтверджується явно. Всередині одиниці діалогу можуть бути проміжні точки синхронізації. Однак їхнє підтвердження необов'язкове (рис. 8.1).
Контрольна точка - це збережений у деякий момент часу стан даних, прикладної програми та системи керування, який дає змогу деяким попередньо визначеним способом відновити себе. Звичайно контрольна точка - це файл(и) на диску. Контрольні точки зберігаються як на системному рівні (стан мережі в цілому), так і на рівні користувача (контрольні точки під час роботи з БД, збереження цілісності БД). Формування нової контрольної точки спричинює знищення старої. Якщо виникає збій, то відбувається повернення в контрольну точку, тобто стан сеансового рівня відновлюється з файлів контрольних точок. Вибираючи частоту форму-вання контрольних точок, враховують цінність інформації та її логічну і фізичну структуро-ваність, а також додаткові витрати часу на формування. Найчастіше контрольну точку формують на кожну трансакцію (наприклад, запам'ятовують стан рахунку в банку до його зміни).Крім описаних контрольних точок, призначених для уникнення впливу апаратних і програмних збоїв, є й такі, що призначені для контролю та нейтралізації помилок людини. У багатьох діалогових процесах є моменти, коли треба перевірити правильність ухвалених рішень та виконаних операцій, - так звані підсумкові етапи розумового процесу (заповнений документ, зроблене креслення тощо). Тому, якщо оператор формує якусь складну послідовність даних, то через деякий час комп'ютер пропонує йому перевірити правильність інформації та зберігає стан роботи. Контрольна множина - це сукупність даних, що передаються на сеансовому рівні від однієї контрольної точки до іншої, тобто поновлювальна сукупність даних. Контрольну множину вибирають залежно від типу операцій у системі. Наприклад, під час опрацювання документів контрольною множиною може бути одна сторінка, під час роботи з віддаленим файлом — один кластер або запис файлу. За цією сукупністю даних кожен учасник сеансу обчислює контрольну суму, яку згодом порівнюють. Якщо значення збігаються, то діалог відбувся нормально, якщо ж ні, то треба повернутися на контрольну точку.
Для відновлення сеансу потрібно виконати такі дії: виявити помилку;
Функції та призначення протоколів рівня відображення
Протокол рівня відображення призначений для відображення та перетворення даних у вигляді, зручному для різноманітних прикладних процесів. За основу визначення сервісу рівня відображення міжнародні організації зі стандартизації взяли принцип контексту. Контекст -це набір форм опису даних, які використовують у конкретному сеансі передавання. Функції рівня відображення можна умовно розділити на такі групи:редагування; забезпечення діалогу; віртуальних операцій та прозорості; стиснення; безпеки та контролю.Функції редагування
До групи функцій редагування належать такі:
форматування даних відповідно до заздалегідь визначених форматів документів; перекодування; додавання заголовків, дат, колонтитулів, номерів