- •Розподілені системи
- •Історична довідка
- •Базові терміни та визначення
- •Телекомунікаційні мережі як елемент розподілених систем
- •Модель клієнт–сервер
- •1.3. Особливості розподілених систем
- •Переваги розподілених систем
- •Недоліки розподілених систем
- •Класифікація розподілених систем
- •Характеристики розподілених систем
- •Висновки
- •Запитання для самоконтролю
- •Розподілене середовище
- •Концепції апаратних рішень
- •Архітектура багатопроцесорних систем
- •Системи зі спільною пам’яттю
- •Системи з роздільною пам’яттю
- •Топології багатопроцесорних систем
- •Концепції програмних рішень
- •Та засобів проміжного рівня
- •Операційні системи й розподіленість
- •Проміжне середовище
- •2.5. Поняття розподіленого середовища
- •Розподіл прикладних програм за рівнями
- •Варіанти архітектури клієнт–сервер
- •Програмні компоненти розподілених систем
- •Основи мережної взаємодії
- •2.6. Взаємодія компонент розподіленої системи
- •Концепції взаємодії компонент розподіленої системи
- •Обмін повідомленнями
- •Віддалений виклик процедур
- •Використання віддалених об’єктів
- •Розподілені події
- •Розподілені транзакції
- •Безпека в розподілених системах
- •Опис інтерфейсу програмної компоненти
- •Мова і схеми Extensible Markup Language
- •Soap: мова повідомлень розподіленої системи
- •Wsdl: опис інтерфейсу програмної компоненти
- •Базові технології подання інформації в розподілених системах
- •Вимоги до прикладних програм серверної сторони
- •Висновки
- •Запитання для самоконтролю
- •Рівні протоколів
- •Низькорівневі протоколи
- •Транспортні протоколи
- •Протоколи верхнього рівня
- •Віддалений виклик процедур
- •Виклик локальної процедури та повернення результату
- •Звертання до віддалених об’єктів
- •Розподілені об’єкти
- •Прив’язка клієнта до об’єкта
- •Статичне й динамічне віддалене звертання до методів
- •Передача параметрів
- •1.4 Зв’язок на основі потоків даних
- •Підтримка безперервних середовищ
- •Потік даних
- •Синхронізація потоків даних
- •1.5 Протоколи проміжного рівня
- •Протокол soap
- •Сімейство протоколів xmpp
- •Протокол umsp
- •Висновки
- •Запитання для самоконтролю
- •2. Процеси
- •Потоки виконання. Визначення і структура
- •Стан процесів та потоків виконання
- •Реалізація потоків виконання
- •Потоки виконання в нерозподілених системах
- •Потоки виконання в розподілених системах
- •Багатопотокові клієнти
- •Багатопотокові сервери
- •Інтерфейси користувача
- •Клієнтське програмне забезпечення і прозорість розподілу
- •4.6 Сервери
- •Підходи до побудови серверів прикладного програмного забезпечення
- •Сервери об’єктів
- •Частина 2
- •Представлення додатка розподіленної системи
- •Рівнева організація додатку
- •Рівнева організація, застосування, виділення рівнів
- •Використання рівня Сервісів(Services Layer)
- •Дизайн рівневої структури
- •Вибір стратегії розбиття на рівні
- •Визначення наскрізної функціональності
- •Визначення інтерфейсу між рівнями
- •Вибір стратегії реалізації і впровадження
- •Вибір протоколів взаємодії
- •3. Дизайн Рівню Представлення
- •Дизайн рівня представлення включає наступні кроки:
- •Специфічні проблеми дизайну рівня представлення
- •Кешування
- •Комунікації
- •Композиція
- •Управління виключеннями
- •User Experience(Зручність Використання)
- •Інтерфейс користувача
- •Перевірка даних вводу користувача (Validation)
- •Batching(Пакетування)
- •З'єднання
- •Формат даних
- •Управління виключеннями
- •Реляційне відображення об'єктів(Object Relational Mapping)
- •Процедури, що зберігаються
- •Транзакції
- •Перевірка вводу
- •Типи бізнес-процесів
- •Загальні правила складання сміття:
- •Вибір стратегії визначення виключень
- •Стратегія протоколювання виключень
- •Стратегія повідомлення про виключення
- •Ухвалення рішення про необхідність обробки необроблених виключень
- •Спеціальні питання проектування
- •Аутентифікація
- •Авторизація
- •Кешування
- •Мережева взаємодія
- •Управління конфігурацією
- •Управління виключеннями
- •Протоколювання
- •Управління станом
- •Проблеми, які виникають при проектуванні взаємодії
- •Загальні завдання проектування стратегії зв'язку
- •Обмін файлами
- •Розподілена база даних
- •Виклик видалених процедур
- •Обмін повідомленнями
- •Процедура передачі повідомлення включає 5 основних етапів:
- •Комерційні системи обміну повідомленнями
1.4 Зв’язок на основі потоків даних
Розглянемо, які засоби можуть використовуватися розподіленими сис- темами для роботи з інформацією, критичною до часових характеристик передачі, зокрема з відео- та аудіопотоками.
-
Підтримка безперервних середовищ
Підтримка обміну критичною до часових характеристик передачі інфор- мацією часто зводиться до підтримки безперервних середовищ. Під середо- вищем розуміють те фізичне середовище, що несе інформацію. Найважли- віша характеристика середовища – спосіб представлення інформації.
Безперервне середовище представлення (continuous representation media) – це часові співвідношення між різними елементами даних, які лежать в основі коректної інтерпретації змісту даних.
Приклад. Одержання звуку під час відтворення аудіопотоку.
Дискретне середовище представлення (discrete representation media) характеризують тим, що часові співвідношення між елементами даних не відіграють суттєвої ролі у правильній інтерпретації даних.
Приклад. Типовими прикладами дискретного середовища є представ- лення тексту і статичні зображення, а також об’єктний код і файли, які вико- ристовуються.
Потік даних. Для обміну критичною до часу передачі інформацією роз- поділені системи зазвичай надають підтримку потоків даних (data streams або просто streams), послідовності елементів даних.
Потоки даних використовують як для дискретного, так і для безперерв- ного середовища представлення. Для підтримки часових характеристик часто доводиться обирати між різними режимами передачі.
Асинхронний режим передачі (asynchronous transmission mode) полягає в тому, що елементи даних передаються в потік один за одним, але на їх подальшу передачу жодних обмежень за часовими характеристиками не вво- диться. Такий режим використовується для дискретних потоків даних.
Синхронний режим передачі (synchronous transmission mode) полягає в тому, що для кожного елемента в потоці даних визначається максимальна затримка наскрізної передачі. Якщо елемент даних був переданий значно швидше від максимально допустимої затримки, то це не впливає на процес його передачі, а якщо затримка більша ніж максимально допустима, то еле- мент буде втрачено.
Приклад. Так датчик може з певною частотою вимірювати температу- ру й пересилати ці дані мережею оператору. В цьому разі часові характерис- тики можуть становити інтерес, якщо час наскрізного проходження сигналу мережею гарантовано нижчий, ніж інтервал між вимірами, але нікому не за- шкодить, якщо виміри передаватимуть значно швидше, ніж це дійсно необ- хідно.
Ізохронний режим передачі (isochronous transmission mode) полягає в тому, що необхідно, щоб усі елементи даних передавалися вчасно, тобто передачу даних обмежено максимальною затримкою, у цьому режимі наявні також мінімально допустимі затримки, які називають граничним трем- тінням. Ізохронний режим передачі становить інтерес для розподілених систем мультимедіа, оскільки відіграє суттєву роль у відтворенні аудіо- і відеоінформації.
Потоки даних можуть бути простими або комплексними.
Простий потік даних (simple stream) містить лише одну послідов- ність даних.
Комплексний потік даних (complex stream) охоплює декілька зв’язаних простих потоків, які називають вкладеними потоками даних (substreams). По- тік даних іноді може розглядатися як віртуальне з’єднання між джерелом і приймачем, а джерело або приймач може бути процесом або пристроєм.
Приклад. У процесі передачі даних через мережу процес-джерело може читати дані з аудіофайлу й пересилати їх байт за байтом мережею. Приймач може бути процесом, який вибирає байти й передає їх на локальний пристрій звуковідтворення, як зображено на рис. 3.7, а. Натомість, у розподі- лених мультимедійних системах можна реалізувати пряме з’єднання між джерелом і приймачем. Відеопотік, створюваний ка- мерою, може прямо передаватися на дисплей, як показано на рис. 3.7, б.
Камера
Мережа
а
Дисплей