Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы) (1162619), страница 38
Текст из файла (страница 38)
Сюда могут входить среды передачи и хранения, средапредставления, например монитор, и т. д. Важнейшая характеристика среды —способ представления информации. Другими словами, как информация кодируется в компьютерной системе? Для различных типов информации используютсяразличные представления. Так, текст обычно кодируется символами ASCII илиUnicode. Изображения могут быть представлены в различных форматах, например GIF или JPEG. Аудиопотоки в компьютерных системах могут кодироваться,например, с помощью 16-битных выборок, использующих импульсно-кодовуюмодуляцию.в непрерывгюй среде представления {continuous representation media) временные соотношения между различными элементами данных лежат в основе корректной интерпретации смысла данных.
Мы уже давали пример получения звука при воспроизведении аудиопотока. В качестве другого примера рассмотримпредставление движения. Движение может быть представлено в виде серии кар-2.5. Связь на основе потоков данных149тинок, причем последовательно идущие картинки должны воспроизводитьсяв течение одинакового срока Г, обычно составляющего 30-40 мс на картинку.Правильное воспроизведение требует не только показа картинок в нужной последовательности, но и поддержания постоянной частоты показа — ^/Г картинокв секунду.В отличие от непрерывной среды дискрет7шя среда представления (discreterepresentation media), характеризуется тем, что временные соотношения междуэлементами данных не играют фундаментальной роли в правильной интерпретации данных. Типичными примерами дискретной среды являются представлениятекста и статических изображений, а также объектный код и исполняемые файлы.Поток данныхДля обмена критичной ко времени передачи информацией распределенные системы обычно предоставляют поддержку потоков данных (data streams, или просто streams).
Поток данных есть не что иное, как последовательность элементовданных. Потоки данных применимы как для дискретной, так и для непрерывнойсреды представления. Так, каналы UNIX или соединения TCP/IP представляютсобой типичные примеры дискретных потоков данных (байт-ориентированных).Воспроизведение звукового файла обычно требует непрерывного потока данныхмежду файлом и устройством воспроизведения.Временные характеристики важны для непрерывных потоков данных. Дляподдержания временных характеристик часто приходится выбирать между различными режимами передачи. В асинхронном режиме передачи (asynchronoustransmission mode) элементы данных передаются в поток один за другим, но на ихдальнейшую передачу никаких ограничений в части временных характеристикне вводится.
Это традиционный вариант для дискретных потоков данных. Так,файл можно преобразовать в поток данных, но выяснять точный момент окончания передачи каждого элемента данных чаще всего бессмысленно.В cuHxpowiOM реэ/симе передачи (synchronous transmission mode) для каждогоэлемента в потоке данных определяется максимальная задержка сквозной передачи. Если элемент данных был передан значительно быстрее максимально допустимой задержки, это не важно. Так, например, датчик может с определеннойчастотой измерять температуру и пересылать эти измерения по сети оператору.В этом случае временные характеристики могут вызвать наш интерес, если время сквозного прохождения сигнала по сети гарантированно ниже, чем интервалмежду измерениями, но никому не повредит, если измерения будут передаватьсязначительно быстрее, чем это действительно необходимо.И, наконец при изохронном режиме передачи (isochronous transmission mode)необходимо, чтобы все элементы данных передавались вовремя.
Это означает,что передача данных ограничена максимально, а также минимально допустимымизадержками, также известными под названием предельного дрожа7шя. Изохронный режим передачи, в частности, представляет интерес для распределенныхсистем мультимедиа, поскольку играет значительную роль в воспроизведенииаудио- и видеоинформации. В этой главе мы коснемся только непрерывных потоков данных.150Глава 2. СвязьПотоки данных могут быть простыми или комплексными.
Простой потокданных {simple stream) содержит только одну последовательность данных. Комплексный поток данных (complex stream) состоит из нескольких связанных простых потоков, именуемых вложенными потоками данных (substreams). Взаимодействие между вложенными потоками в комплексном потоке часто такжезависит от времени. Так, например, стереозвук может передаваться посредствомкомплексного потока, содержащего два вложенных потока, каждый из которыхиспользуется для одного аудиоканала. Важно отметить, что эти два вложенныхпотока постоянно синхронизированы.
Другими словами, элементы данных каждого из потоков должны передаваться попарно для получения стереоэффекта.Другим примером комплексного потока данных может быть поток данных дляфильма. Такой поток мог бы состоять из одного видеопотока и двух аудиопотоков для передачи стереофонической звуковой дорожки к фильму. Четвертый поток мог бы содержать субтитры для глухих или синхронный перевод на другой,нежели в звуковой дорожке, язык.
И вновь необходима синхронизация вложенных потоков. При нарушениях синхронизации нарушается нормальное воспроизведение фильма. Ниже мы еще вернемся к синхронизации потоков данных.Процесс-источникVПроцесс-приемник\.т—F~^U ПрограммаПоток данныхIОСОССетьКамераДисплей=И1СетьРис. 2.29. Передача потока данных по сети между двумя процессами (а),между двумя устройствами (б)Поток данных нередко может рассматриваться в виде виртуального соединения между источником и приемником. Источник или приемник может быть процессом или устройством.
Например, при передаче данных через сеть процесс-источник может читать данные из аудиофайла и пересылать их, байт за байтом, посети. Приемник может быть процессом, по мере поступления выбирающим байты и передающим их на локальное устройство звуковоспроизведения. Такую ситуацию иллюстрирует рис. 2.29, а, С другой стороны, в распределенных мульти-2.5. Связь на основе потоков данных151медийных системах можно реализовать прямое соединение между источником иприемником. Так, видеопоток, создаваемый камерой, может напрямую передаваться на дисплей, как показано на рис.
2.29, б.Другая ситуация имеет место в зависР1мости от того, имеется у нас всего одинисточник или приемник или мы можем организовать многостороннюю связь.Наиболее частая ситуация при многосторонней связи — присоединение к потокуданных нескольких приемников. Другими словами, осуществляется групповаярассылка потока данных нескольким получателям, как показано на рис. 2.30.ПриемникПоток данных .Источник\^Промежуточный узел,возможно^с фильтрами<наяМеньшая пропускнаяспособностьРис.
2.30. Пример групповой рассылки потока данныхнескольким получателямГлавной проблемой групповой рассылки потоков данных являются разные требования разных приемников к качеству потока. Рассмотрим, например, источник передачи высококачественного кино со стереозвуком. Он может потребоватькомплексного потока данных, содержащего вложенный поток для видео, по которому с частотой 50 Гц передается картинка, и два вложенных потока для аудиос качеством на уровне компакт-дисков. Даже при использовании современныхтехнологий сжатия комплексный поток может потребовать скорости передачипорядка 30x10^' бит/с [434].
Не всякий приемник в состоянии обработать такойобъем данных. Поэтому поток должен быть настроен на фильтрацию [500], которая приводит в соответствие качество входящего потока и отличное от него качество исходящего потока, как показано на рис. 2.30. Мы вернемся к управлениюкачеством потоков данных позже.2.5.2. Потоки данных и качество обслуживанияВременные зависимости и другие нефункциональные требования обычно выражаются в вргде требований к качеству обслуживания {Quality of Sewice, QpS). Этитребования описывают, что должны сделать базовая распределенная системаи сеть для того, чтобы гарантировать, например, сохранение в потоке данных временных соотношений.
Требования QoS для непрерывных потоков данных в основном характеризуются временными диаграммами, объемом и надежностью.В этом пункте мы кратко рассмотрим требования QoS и их влияние на созданиепотока данных.152Глава 2. СвязьСпецифика QoSТребования QoS могут быть выражены по-разному. Один из подходов — предоставить точную спецификацию передачи {flow specification), содержащую требования по пропускной способности, скорости передачи, задержке и т. п. Примертакой спецификации, взятый из [343], приведен в табл. 2.6.Т а б л и ц а 2 .
6 . Спецификация передачиХарактеристики получаемых данныхТребуемое качество обслуживанияМаксимальный размер элементаданных (байт)Скорость передачи корзины элементарныхпакетов(байт/с)Чувствительность к потерям (байт)Чувствительность к интервалам (ммс)Размер корзины элементарныхпакетов(байт)Чувствительность к групповым потерям(элементов данных)Максимальная скорость передачи (байт/с)Минимальная фиксируемаязадержка (ммс)Максимальное отклонение задержки (ммс)Показатель соблюдения (единиц)В этой модели характеристики потока формулируются в понятиях алгоритмакорзипы элемептарпых пакетов {token bucket algorithm), который описывает, каким образом поток формирует сетевой трафик.