Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л_2_Звязок.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
644.1 Кб
Скачать

3.2. Зв'язок на основі потоків даних.

Підтримка безперервних середовищ.

Підтримка обміну критичною до тимчасових характеристик передачі часто зводиться до підтримки безперервних середовищ. Під середовищем розуміється те що несе інформацію. Сюди можуть входити середовища передачі та зберігання, середовища уявлення, наприклад монітор і т.д. Найважливіша характеристика середовища - спосіб представлення інформації.

В непереривному середовищі уявлення (continuous representation media) тимчасові співвідношення між різними елементами даних лежать в основі конкретної інтерпретації сенсу даних.

На відмінну від безперервного середовища дискретне середовище уявлення (discrete representation media), характеризуються тим, що тимчасові співвідношення між елементами даних не грають фундаментальної ролі в правильній інтерпретації даних. Типовими прикладами дискретного середовища є представлення тексту та статичний зображень, а також об'єктний код і виконувані файли.

Потік даних.

Для обміну невідкладної передачі інформації розподілені системи зазвичай надають підтримку потоків даних (data streams). Потік даних - це послідовність елементів даних. Потоки даних застосовані як для дискретного, та і для безперервного середовища представлення. Відтворення звукового файлу зазвичай вимагає безперервного потоку даних між файлом і пристроєм відтворення.

Тимчасові характеристики важливі для безперервних потоків даних. Для підтримки тимчасових характеристик часто доводиться вибирати між різними режимами передачі. У асинхронному режимі передачі (asynchronous transmission mode) елементи даних передаються в потік один за іншим, але на їх подальшу передачу ніяких обмежень в частині тимчасових характеристик не вводиться. Це традиційний варіант для дискретних потоків даних.

У синхронному режимі передачі (synchronous transmission mode) для кожного елемента в потоці даних визначається максимальна затримка наскрізної передачі. Якщо елемент даних був переданий значно швидше максимально допустимої затримки, це не важливо.

При ізохронному режимі передачі (isochronous transmission mode) необхідно, щоб всі елементи даних передавалися вчасно. Це означає, що передача даних обмежена максимально, а також мінімально допустимими затримками. Ізохронний режим передачі представляє інтерфейс для розподілених систем мультимедіа, оскільки відіграє значну роль у відтворенні аудіо- та відеоінформації.

Потоки даних можуть бути простими або комплексними. Простий потік даних (simple stream) містить тільки одну послідовність даних. Комплексний потік даних (complex stream) складається з декількох пов'язаних простих потоків, які називаються вкладеними потоками даних (substrwams). Взаємодія між вкладеними потоками в комплексному потоці часто залежить від часу. Так, наприклад стереозвук може передаватися за допомогою комплексного потоку, що містить два вкладених потоки, кожен з яких використовується для одного аудіоканала. Ці два вкладених потоки постійно синхронізовані. Іншим прикладом комплексного потоку даних може бути потік даних для фільму. Такий потік міг би складатися з одного відеопотоку і двох аудіопотоків. Для передачі стереофонічної звукової доріжки до фільму четвертий потік міг би містити субтитри для глухих або синхронний переклад іншою мовою. При порушенні синхронізації порушується нормальне відтворення фільму.

Рис. 18. Передача потоку даних по мережі двома процесами (а), між двома приладами (б).

Потік даних нерідко може розглядатися у вигляді віртуального з'єднання між джерелом і приймачем. Джерело або приймач може бути процесом або пристроєм. Наприклад при передачі даних через мережу процес - джерело може читати дані з аудіофайлу і переслати їх по мережі. Приймач може бути процесом, по мірі надходження байтів і передаючи їх на локальний пристрій звуковідтворення. Така ситуація ілюструється на рис. 18.а. З іншого боку, в розподілених мультимедійних системах можна реалізувати пряме з'єднання між джерелом і приймачем. Так відео потік, створюваний камерою, може безпосередньо передаватися на дисплей, як показано на рис. 18.б. Інша ситуація має місце в залежності від того, є в нас всього одне джерело або приймач або ми можемо організувати багатосторонній зв'язок. Найбільш часта ситуація при багатосторонньому зв'язку - приєднання до потоку даних декількох приймачів. Тобто здійснюється групова розсилка потоку даних декільком одержувачам, як показано на рис. 19.

Рис. 19. Приклад групової розсилки потоку даних декількома утримувачами.

Головною проблемою групової розсилки потоків даних є різні вимоги різних приймачів до якості потоку.

Синхронізація потоків даних.

У мультимедійних системах важливе значення має взаємна синхронізація різних потоків даних. Синхронізація потоків даних передбачає підтримку тимчасових співвідношень між ними. Існує два типи синхронізації. Найпростіша форма синхронізації займає місце між дискретними та безперервними потоками даних. Для прикладу розглянемо показ слайдів через Web, доповнений звуковим рядом. Кожен слайд передається з сервера на клієнт у вигляді дискретного потоку даних. У той же самий час клієнт відтворює аудіопотік (або його частину), який відповідає поточному слайду і також надходить з сервера. У даному випадку аудіопотік синхронізується з показом слайдів.

Більш складний тип синхронізації спостерігається між безперервними потоками даних. Наприклад відтворення фільму, при якому відео потік повинен бути синхронізований зі звуком, тобто відбувається синхронізація артикуляції. Іншим прикладом може бути відтворення потоку стереозвуку, що складається з двох вкладених потоків, по одному на кожен канал. Правильне відтворення вимагає взаємної синхронізації двох вкладених потоків, розбіжність більш ніж у 20 мс може спотворити стереоефект. Синхронізація відбувається на рівні елементів даних, з яких складається потік.

Заключна частина

Наявність потужних і гнучких механізмів взаємодії між процесами є важливим для всякої розподіленої системи. У традиційних мережевих додатках зв'язок часто базується на низькорівневих примітивах передачі повідомлень, наданих транспортним рівнем. Важливою особистістю систем проміжного рівня є високий ступінь абстракції, завдяки якому опис взаємодії між процесами на проміжному рівні значно простіший, ніж якби ми обмежилися тільки інтерфейсами транспортного рівня.

Однією з найбільш широко використаних абстракцій є віддалений виклик процедур (Remote Procedure Call, RPC). Сутність RPC в тому, що будь-яка служба реалізується за допомогою виклику процедури, яка виконується на сервері. Клієнт надає тільки сигнатуру процедури та її параметри. Коли клієнт викликає процедуру, клієнтська реалізація, яка називається заглушкою, упаковує значення параметрів в повідомлення і пересилає його на сервер. Останній викликає процедуру і повертає результат у вигляді повідомлення. Клієнтська заглушка витягує з цього повідомлення значення результату і передає його додатку клієнта.

Механізм RPC орієнтований на забезпечення прозорості доступу. Однак він слабко підтримує передачу посилань. Звернення до віддалених методів (Remote Method Invocation, RMI) нагадує RPC, але відображає специфіку віддалених об'єктів. Основна різниця між ними полягає в тому, що RMI дозволяє використовувати в якості параметрів посилання на об'єкти системи. RPC і RMI надають механізми синхронного зв'язку, при якій клієнт блокується до отримання відповіді від сервера. Незважаючи на варіації існуючих механізмів, в яких жорстка синхронна модель пом'якшена, нерідко зручнішими виявляються універсальні високо рівневі моделі, орієнтовані на передачу повідомлень.

У моделях передачі повідомлень неважливо, чи є зв'язок збережений, так само як і неважливо, чи є він синхронізований. Суть збереженого зв'язку складається в тому, що послане повідомлення зберігається в комунікаційній системі до тих пір, поки не буде доставлено його за призначенням. У випадку не резидентного зв'язку механізми зберігання не передбачені, відповідно одержувач повинен бути готовий прийняти повідомлення, коли б воно не було послане. При асинхронному зв'язку відправник може продовжувати роботу відразу після установки повідомлення в чергу на відправлення. При синхронному зв'язку відправник блокується як мінімум до моменту отримання повідомлення. В інших варіантах відправник може блокуватися до моменту доставки повідомлення одержувачу чи до отримання від нього відповіді, як це зроблено в RPC.

Моделі обміну повідомленнями проміжного рівня зазвичай надають збережений асинхронний зв'язок і використовуються там, де застосування механізмів RPC і RMI не виправдане. У першу чергу це інтеграція наборів баз даних (сильно розподілених) у великих інформаційних системах. Інші області їх застосування включають в себе електронну пошту і робочі потоки. Абсолютно інший зв'язок пропонують потоки даних, проблема яких складається в тому, що будь-які два послідовні повідомлення взаємопов'язані за часом. У безперервних потоках даних максимальна затримка доставки різна для кожного повідомлення. Крім того, необхідно щоб повідомлення володіли мінімальною затримкою доставки. Типовими прикладами безперервних потоків даних є аудіо- та відео-потоки. Часто буває складно описати, якими повинні бути часові взаємозв'язки або чого ми очікуємо від базової підсистеми зв'язку (в термінах якості обслуговування). При реалізації також виникають труднощі. Ускладнюючим фактором тремтіння (мінімальне і максимальне значення параметрів). Навіть якщо середня продуктивність досяжна, серйозні коливання часу доставки можуть призвести до неприйнятної продуктивності.

Завідувач кафедри КСКСТ Г.М. Власенко

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]