УПРАВЛЕНИЕ РАЗРЕШЕНИЕМ НА ДОСТУП И РАСПРЕДЕЛЕНИЕ РЕСУРСОВ В СИСТЕМЕ СВЯЗИ С ПОДДЕРЖКОЙ КАЧЕСТВА ОБСЛУЖИВАНИЯ
ACCESS AUTHORISATION MANAGEMENT AND RESOURCE DISTRIBUTION IN COMMUNICATION SYSTEM MAINTAINING SERVICE QUALITY

Притязание на приоритет согласно §119 раздела 35 Кодекса законов США (35 U.S.С.)
Настоящая заявка на патент заявляет приоритет на предварительную заявку на патент №60/455906, озаглавленную "System for Allocating Resources in a Communication System" (Система распределения ресурсов в системе связи), поданную 17 марта 2003, переданную правопреемнику сего и тем самым в прямой форме включенную в документ путем ссылки.
УРОВЕНЬ ТЕХНИКИ
1. ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящая заявка относится к системам связи. Конкретно данные варианты осуществления направлены на распределение коммуникационных ресурсов между множеством абонентов системы связи.
2. УРОВЕНЬ ТЕХНИКИ
Были представлены несколько решений, чтобы решать задачу распределения ограниченных коммуникационных ресурсов, обеспечиваемых одиночным узлом, между множеством абонентов в системе связи. Технической задачей таких систем является обеспечение достаточных ресурсов на узлах, чтобы удовлетворять требования всех абонентов при минимизации затрат. Соответственно, такие системы обычно разрабатываются с целью эффективного распределения ресурсов между различными абонентами.
Различные системы имеют реализованную схему (стандарта) множественного доступа с частотным разделением (МДЧР, FDMA), согласно которой распределяют ресурсы каждому из абонентов одновременно. Узел связи в таких системах обычно имеет ограниченную полосу частот либо для передачи информации каждому абоненту, либо для приема информации от каждого абонента в сети в любой момент времени. Эта схема обычно включает в себя распределение индивидуальным абонентам отдельных частей из полной полосы частот. Тогда как такая схема может быть эффективной для систем, в которых абоненты требуют непрерываемого обмена информацией с узлом связи, можно достичь лучшего использования полной полосы частот, если такой постоянный, непрерываемый обмен информацией не требуется.
Другие схемы распределения коммуникационных ресурсов одиночного узла связи между множеством абонентов включают в себя схемы множественного доступа с временным разделением каналов (МДВР, TDMA). Эти схемы МДВР особенно эффективны в распределении ограниченных ресурсов полосы частот одиночного узла связи между множеством абонентов, причем пользователи не требуют постоянного, непрерываемого обмена информацией с одиночным узлом связи. Схемы МДВР обычно выделяют полную полосу частот одиночного узла связи каждому из абонентов в намеченные (назначенные) временные интервалы. В системе беспроводной связи, которая использует схему множественного доступа (МДКР, CDMA) с кодовым разделением каналов, это может быть выполнено посредством назначения каждому из абонентских устройств всех кодовых каналов в намеченные временные интервалы на основании временного мультиплексирования (мультиплексной передачи с временным разделением). Узел связи обеспечивает уникальную частоту несущей или код канала, связанный с абонентом, чтобы разрешить монопольный (индивидуальный) обмен информацией с абонентом. Схемы МДВР также могут быть осуществлены в системах наземных линий связи с использованием физической релейно-контактной коммутации или коммутации пакетов.
Системы МДВР обычно назначают каждому абоненту равные временные интервалы способом циклического алгоритма. Это может иметь следствием недостаточно эффективное использование некоторых временных интервалов некоторыми абонентами. Подобным образом другие абоненты могут иметь требования коммуникационных ресурсов, которые превышают назначенный временной интервал, оставляя этих абонентов недостаточно эффективно обслуженными. Оператор системы может выбирать, либо нести издержки расширения полосы частот для узла, чтобы обеспечивать, что отсутствуют недостаточно эффективно обслуженными абоненты, или дают возможность недостаточно эффективно обслуженным абонентам продолжать быть «недообслуженными».
Соответственно, имеется необходимость обеспечения системы и способа, чтобы распределять коммуникационные ресурсы между абонентами сети связи эффективно и справедливо в соответствии с сетевой политикой распределения коммуникационных ресурсов между абонентами. Существует согласующаяся с этим необходимость обеспечивать максимальное количество пользователей, обслуживаемых системой, включая, но не ограничиваясь таковым, обеспечение механизмов выполнения распределения ресурсов на основе одиночных потоков и/или на групповой основе в ответ на конкретные требования, ограничения и/или цели системы. Еще в дополнение имеется необходимость в способах управления разрешением на доступ и приоритетного прерывания обслуживания, которые обеспечивают достижение наивысшей эффективности распределения ресурсов.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1 - сеть связи в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 2A - блок-схема контроллера базовой станции и устройства базовой станции в конфигурации в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 2B - блок-схема устройства удаленной станции в конфигурации в соответствии с вариантом осуществления настоящего изобретения.
Фиг. 3 - блок-схема последовательности действий, иллюстрирующая исполнение алгоритма планирования в варианте осуществления планировщика каналов, показанного на Фиг. 2A.
Фиг. 4 - система связи с поддержкой мультимедийных приложений, причем передача данных, соответствующая каждому приложению, представлена посредством «потока приложения».
Фиг. 5 - очередь потоков приложений.
Фиг. 6 - временная диаграмма, иллюстрирующая синхронизацию сигналов для части потока приложения.
Фиг. 7A - временная диаграмма, иллюстрирующая измерения флуктуации для потока приложения.
Фиг. 7B - временная диаграмма, иллюстрирующая передачу
последовательных IP-пакетов в течение временных интервалов (для) обработки потока приложения.
Фиг.8 - блок-схема, иллюстрирующая планирование потоков приложений в системе связи.
Фиг.9 - блок-схема, иллюстрирующая планирование соответствующих приложениям потоков, имеющих различные требования качества обслуживания (КО, QoS).
Фиг.10 - схема архитектуры, иллюстрирующая согласованное с алгоритмом планирования определение каждого потока приложения в соответствии с одним вариантом осуществления.
Фиг.11 - таблица идентификации типов классов в соответствии с одним вариантом осуществления.
Фиг.12А - иллюстрация части алгоритма планирования в соответствии с одним вариантом осуществления, включающей в себя инициализацию потока приложения.
Фиг.12В - иллюстрация части алгоритма планирования в соответствии с одним вариантом осуществления, включающей в себя обработку потока приложения в зависимости от типа класса.
Фиг.12С - иллюстрация части алгоритма планирования в соответствии с одним вариантом осуществления, включающей в себя обработку потока приложения для режима I, обработку потока приложения для режима II и обработку потока приложения для режима III.
Фиг.12D - иллюстрация части алгоритма планирования в соответствии с одним вариантом осуществления, включающей в себя обработку потока приложения для режима I.
Фиг.12Е - иллюстрация части алгоритма планирования в соответствии с одним вариантом осуществления, включающей в себя адаптивное взвешивание (определение весов) и основанное на этом планирование.
Фиг. 13 - иллюстрация системы базовой приемопередающей станции (БППС, BTS) для осуществления алгоритма планирования потоков приложений с использованием адаптивного взвешенного алгоритма (алгоритма с адаптивными весами) в системе беспроводной связи.
MAX
Фиг. 14 - временная диаграмма, представляющая график максимальных ресурсов для распределения, таких как скорость передачи данных (L), зарезервированные ресурсы (Res(t)) и доступные ресурсы (имеющиеся в наличии) (Avail(t)), в виде функции времени.
Фиг. 15 - временная диаграмма, представляющая график запроса данных, принятого от пользователей в системе, относящейся к типу высокоскоростной передачи пакетных данных, и оценочную (расчетную) емкость, L(t), как функцию времени, для резервирования во время t.
Фиг. 16 - схема информационных потоков, иллюстрирующая планировщик для системы, относящейся к типу высокоскоростной передачи пакетных данных, поддерживающей множество потоков приложений с наличием требований качества обслуживания (КО), в которой потоки планируют согласно применению компенсации, отнесенной к потоку.
Фиг. 17 - схема информационных потоков, иллюстрирующая планировщик для системы, относящейся к типу высокоскоростной передачи пакетных данных, с поддержкой множества потоков приложений с наличием требований качества обслуживания (КО), в которой потоки планируют согласно применению суммарной (групповой) компенсации.
Фиг. 18A-18E - иллюстрация алгоритма управления разрешением на доступ в системе, относящейся к типу высокоскоростной передачи пакетных данных, поддерживающей многие соответствующие приложениям потоки с наличием требований качества обслуживания (КО).
Фиг. 19 - иллюстрация алгоритма приоритетного прерывания обслуживания в системе, относящейся к типу высокоскоростной передачи пакетных данных, поддерживающей множество соответствующих приложениям потоков, имеющих требования к качеству обслуживания (КО).
Фиг. 20 - блок-схема элемента сети доступа (СД, AN) в системе, относящейся к типу высокоскоростной передачи пакетных данных, поддерживающей многие соответствующие приложениям потоки, имеющие требования к качеству обслуживания (КО).
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Варианты осуществления настоящего изобретения направлены на систему и устройство распределения ресурсов между множеством абонентов сети связи, которые обслуживаются одиночным узлом связи. В индивидуальные дискретные интервалы передачи, или "интервалы обслуживания" индивидуальные абоненты занимают ограниченный ресурс узла (сети) связи, исключая всех других абонентов. Индивидуальных абонентов, которые занимают ограниченный ресурс, выбирают на основании веса или оценки, связанной с индивидуальными абонентами. Изменения в весе, связанном с индивидуальным абонентом, являются предпочтительно основанными на мгновенной скорости, на которой индивидуальный абонент является способным потреблять ограниченный ресурс.
b
0
На Фиг.1 представлена иллюстративная система связи с переменной скоростью передачи. Одна такая система описана в патенте США с порядковым номером №6,574,211, озаглавленном «Method and Apparatus for High Rate Packet Data Transmission» (Способ и устройство высокоскоростной передачи пакетных данных), выданном 03 июня 2003, переданном компании Qualcomm, Inc. и включенном в настоящий документ путем ссылки. Система связи с переменной скоростью передачи данных содержит многие сотовые ячейки 2A-2G. Каждую ячейку 2 обслуживает соответствующая базовая станция 4. Различные удаленные станции 6 рассредоточены по всей системе связи. В иллюстративном варианте осуществления каждая из удаленных станций 6 взаимодействует не более чем с одной базовой станцией 4 по прямой линии связи в любом интервале передачи данных. Например, базовая станция 4А передает данные только на удаленную станцию 6А, базовая станция 4В передает данные только на удаленную станцию 6В, и базовая станция 4С передает данные только на удаленную станцию 6С по прямой линии связи во временном интервале n. Как показано посредством Фиг.1, каждая базовая станция 4 предпочтительно передает данные на одну удаленную станцию 6 в любой данный момент времени. В других вариантах осуществления базовая станция 4 может взаимодействовать более чем с одной удаленной станцией 6 в конкретном интервале передачи данных, исключая все остальные удаленные станции 6, связанные с базовой станцией 4. Кроме того, скорость передачи данных является переменной и в одном варианте осуществления зависит от отношения (C/I) мощности (сигнала на) несущей к уровню помехи, которое измеряет принимающая удаленная станция 6, и от требуемого отношения энергии-на-бит к шуму (E/N). Обратная линия связи от удаленных станций 6 на базовые станции 4 не показана на Фиг. 1 для простоты. В соответствии с вариантом осуществления удаленные станции 6 являются подвижными устройствами с беспроводными приемопередатчиками, управляемыми абонентами службы беспроводной передачи данных. Блок-схема, иллюстрирующая основные подсистемы иллюстративной системы связи с переменной скоростью передачи, показана на Фиг. 2A-2B. Контроллер 10 базовой станции сопряжен с интерфейсом 24 сети пакетной передачи, коммутируемой телефонной сетью 30 общего пользования (КТСОП, PSTN), и всеми базовыми станциями 4 в системе связи (только одна базовая станция 4 показана на Фиг. 2 для простоты). Контроллер 10 базовой станции координирует взаимодействие между удаленными станциями 6 в системе связи и другими пользователями, соединенными с интерфейсом 24 сети пакетной передачи и КТСОП 30. КТСОП 30 сопряжена с пользователями посредством стандартной телефонной сети (не показано на Фиг. 2).
Контроллер 10 базовой станции содержит несколько селекторных элементов 14, хотя для простоты на Фиг. 2A показан только один. Каждый селекторный элемент 14 назначают для управления передачей между одной или несколькими базовыми станциями 4 и одной удаленной станцией 6. Если селекторный элемент 14 не был назначен удаленной станции 6, процессор 16 управления вызовом информируют о необходимости послать сообщение удаленной станции 6. Процессор 16 управления вызовом затем инструктирует базовую станцию 4 послать сообщение удаленной станции 6.
Источник 20 данных содержит некоторое количество данных, которые должны быть переданы на удаленную станцию 6. Источник 20 данных поставляет данные на интерфейс 24 сети пакетной передачи. Интерфейс 24 сети пакетной передачи принимает данные и направляет данные на селекторный элемент 14. Селекторный элемент 14 передает данные на каждую базовую станцию 4 во взаимодействии с удаленной станцией 6. В иллюстративном варианте осуществления каждая базовая станция 4 поддерживает очередь 40 данных, которая хранит данные, которые должны быть переданы на удаленную станцию 6.
Данные передают в виде пакетов данных из очереди 40 данных на канальный элемент 42. В иллюстративном варианте осуществления на прямой линии связи "пакет данных" означает количество данных, которым является максимально 1024 бита, и количество данных, которые должны быть переданы на удаленную станцию-получатель 6 в пределах "(элементарного) временного интервала" (например, ~1,667 мс). Для каждого пакета данных канальный элемент 42 вставляет необходимые управляющие поля. В иллюстративном варианте осуществления канальный элемент 42 кодирует пакет данных и управляющие поля циклическим избыточным кодом (ЦИК, CRC) контроля и вставляет набор битов концевой комбинации кода. Пакет данных, управляющие поля, биты контроля по четности кода CRC и биты концевой комбинации кода составляют форматированный пакет. В иллюстративном варианте осуществления канальный элемент 42 затем кодирует отформатированный пакет и осуществляет перемежение (или переупорядочивает) символов внутри кодируемого пакета. В иллюстративном варианте осуществления пакет с перемежением маскируют с помощью кода Уолша (Walsh) и расширяют с помощью кодов коротких псевдошумовых синфазной (PNI) и квадратурной (PNQ) последовательностей. Расширенные данные подают на радиочастотный (РЧ, RF) блок 44, который осуществляет квадратурное модулирование, фильтрует и усиливает сигнал. Сигнал прямой линии связи передают в эфир через антенну 46 по прямой линии связи 50.
На удаленной станции 6 сигнал прямой линии связи принимают посредством антенны 60 и направляют на приемник в пределах входного каскада 62 (препроцессора). Приемник фильтрует, усиливает, осуществляет квадратурное демодулирование и дискретизирует сигнал. Цифровой сигнал подают на демодулятор (DEMOD) 64, в котором его сужают с помощью кодов коротких PNI и PNQ последовательностей и демаскируют с помощью маскирования Уолша. Демодулированные данные подают на декодер 66, который выполняет инверсию функций обработки сигнала, осуществленных на базовой станции 4, конкретно, обратное перемежение, декодирование, и функции проверки CRC. Декодированные данные подают на приемник 68 данных. Аппаратные средства, как указано выше, поддерживают переменную скорость передачи данных, передачи сообщений, передачи речевых сигналов, видео и другую передачу данных по прямой линии связи. Скорость передачи данных, передаваемых из очереди 40 данных, является изменяемой, чтобы согласовывать изменения в уровне сигнала и режим работы с присутствием шумов на удаленной станции 6. Каждая из удаленных станций 6 предпочтительно передает сигнал управления скоростью передачи данных (УСПД, DRC) на связанную (объединенную) базовую станцию 4 в каждом временном интервале. УСПД относится к механизму управления, посредством которого удаленная станция определяет требуемую скорость данных для прямой линии связи, то есть, скорость передачи данных, чтобы принимать данные на удаленной станции. Удаленная станция посылает требуемую скорость данных в виде запроса скорости передачи данных или команды на базовую станцию посредством сообщения УСПД. Сигнал УСПД поставляет на базовую станцию 4 информацию, которая включает в себя идентичность удаленной станции 6 и скорость, на которой удаленная станция 6 должна принимать данные из связанной с ней очереди данных. Соответственно, схема на удаленной станции 6 измеряет уровень сигнала и оценивает на удаленной станции 6 режим работы в присутствии шумов, чтобы определить подлежащую передаче в сигнале УСПД информацию о скорости.
Сигнал УСПД, передаваемый каждой удаленной станцией 6, проходит через канал 52 обратной линии связи и является принимаемым на базовой станции 4 через антенну 46 и радиочастотный блок 44. В иллюстративном варианте осуществления информацию УСПД демодулируют в канальном элементе 42 и поставляют на планировщик 12A (работы) каналов, размещенный в контроллере 10 базовой станции, или на планировщик 12B каналов, размещенный в базовой станции 4. В первом иллюстративном варианте осуществления планировщик 12B каналов размещен в базовой станции 4. В дополнительном варианте осуществления планировщик 12A каналов размещен в контроллере 10 базовой станции и соединен со всеми селекторными элементами 14 внутри контроллера базовой станции 10. В одном варианте осуществления планировщик 12B каналов принимает из очереди 40 данных информацию, указывающую количество данных, находящихся в очереди для каждой удаленной станции, которое также называют размером очереди. Планировщик 12B каналов затем выполняет планирование на основании информации УСПД и размера очереди для каждой удаленной станции, обслуживаемой базовой станцией 4. Если для алгоритма планирования, используемого в дополнительном варианте осуществления, требуется размер очереди, планировщик 12A каналов может принять информацию о размере очереди из селекторного элемента 14.
Варианты осуществления настоящего изобретения применимы к другим архитектурам аппаратных средств, которые могут поддерживать передачи с переменной скоростью. Настоящее изобретение может быть легко расширено, чтобы охватить передачи с переменной скоростью по обратной линии связи. Например, вместо определения скорости приема данных на базовой станции 4 на основании сигнала УСПД от удаленных станций 6, базовая станция 4 измеряет уровень сигнала, принятого от удаленных станций 6, и оценивает присутствие шумов, чтобы определить скорость для приема данных от удаленной станции 6. Базовая станция 4 затем передает на каждую связанную удаленную станцию 6 скорость, на которой должны передаваться данные по обратной линии связи от удаленной станции 6. Базовая станция 4 затем может планировать передачи по обратной линии связи на основании различных скоростей передачи данных по обратной линии связи способом, подобным описанному в настоящем документе для прямой линии связи.
Также, базовая станция 4 согласно варианту осуществления, обсужденному выше, осуществляет передачу на одну или несколько выбранных станций из удаленных станций 6, исключая остающиеся удаленные станции, связанные с базовой станцией 4, с использованием схемы МДКР. В любой конкретный момент времени базовая станция 4 осуществляет передачи на выбранную, или выбранные удаленные станции 6, используя код, который назначен для принимающей базовой станции(ям) 4. Однако, настоящее изобретение является также применимым к другим системам, использующим различные способы МДВР для обеспечения данных на выбранную базовую станцию(и) 4, исключая остальные базовые станции 4, для оптимального распределения ресурсов передачи.
Планировщик 12 каналов планирует передачи, осуществляемые с переменной скоростью по прямой линии связи. Планировщик 12 каналов принимает размер очереди, который является показателем количества данных для передачи на удаленную станцию 6, и сообщения от удаленных станций 6. Планировщик 12 каналов предпочтительно планирует передачи данных, чтобы достичь цели системы обеспечения максимальной пропускной способности при соответствии ограничению справедливости.
Как показано на Фиг. 1, удаленные станции 6 рассредоточены по всей системе связи и могут находиться во взаимодействии по прямой линии связи ни с одной (нулем) или одной базовой станцией 4. В иллюстративном варианте осуществления планировщик 12 каналов координирует передачи данных по прямой линии связи по всей системе связи. Способ и устройство планирования для высокоскоростной передачи данных описаны подробно в патенте США номер № 6335922, выданном 1 января 2002, переданном правопреемнику настоящего изобретения и включенном в настоящий документ путем ссылки.
В соответствии с вариантом осуществления планировщик 12 каналов осуществлен в вычислительной системе, которая включает в себя процессор, оперативное запоминающее устройство (ОЗУ, RAM) и запоминающее устройство для программ, предназначенное для хранения команд, которые будут выполняться процессором (не показано). Процессор, ОЗУ и запоминающее устройство для программ могут быть выделены для функций планировщика 12 каналов. В других вариантах осуществления процессор, ОЗУ и запоминающее устройство для программ могут быть частью общедоступного вычислительного ресурса для выполнения дополнительных функций на контроллере 10 базовой станции.
На Фиг. 3 показан вариант осуществления алгоритма планирования, который управляет планировщиком 12 каналов, чтобы планировать передачи от базовой станции 4 на удаленные станции 6. Как обсуждено выше, очередь 40 данных является связанной с каждой удаленной станцией 6. Планировщик 12 каналов ставит в соответствие каждой из очередей 40 данных "вес", который вычисляют на этапе 110, для выбора конкретной удаленной станции 6, связанной с базовой станцией 4, чтобы принимать данные в последующем интервале обслуживания. Планировщик 12 каналов выбирает отдельные удаленные станции 6 для приема передач данных в дискретные интервалы обслуживания. На этапе 102 планировщик каналов инициализирует вес для каждой очереди, связанной с базовой станцией 4.
Планировщик 12 каналов повторяет действия для этапов от 104 до 112 в интервалы передачи или интервалы обслуживания. На этапе 104 планировщик 12 каналов определяет, имеются ли какие-либо дополнительные очереди, которые будут добавлены вследствие связывания дополнительной удаленной станции 6 с базовой станцией 4, которое выявлено в предыдущем интервале обслуживания. Планировщик 12 каналов также инициализирует веса, связанные с новыми очередями, на этапе 104. Как обсуждено выше, базовая станция 4 принимает сигнал УСПД от каждой удаленной станции 6, связанной с ней, в строго соблюдаемые интервалы такие, как временные интервалы.
j
i
Этот сигнал УСПД также обеспечивает информацию, которую планировщик каналов использует на этапе 106, чтобы определить мгновенную скорость передачи для потребления информации (или приема передаваемых данных) для каждой из удаленных станций, связанных с каждой очередью. Согласно варианту осуществления, сигнал УСПД, переданный от любой удаленной станции 6, указывает, что удаленная станция 6 способна принимать данные на любой скорости из набора эффективных скоростей передачи данных. Планировщик 12 каналов на этапе 108 определяет длительность интервала обслуживания, в течение которого данные должны быть переданы на какую-либо конкретную удаленную станцию 6, на основании связанной с удаленной станцией 6 мгновенной скорости для приема данных (как указано в последнем по времени принятом сигнале УСПД). В соответствии с вариантом осуществления, мгновенная скорость R передачи для приема данных определяет на этапе 106 длительность L интервала обслуживания, связанную с конкретной очередью данных.
Планировщик 12 каналов на этапе 110 выбирает для передачи конкретную очередь данных. Соответственное количество данных, которые должны быть переданы, затем извлекают из очереди 40 данных и затем поставляют на канальный элемент 42 для передачи на удаленную станцию 6, связанную с очередью 40 данных. Как обсуждено ниже, планировщик 12 каналов на этапе 110 выбирает очередь для обеспечения данных, которые передают в последующем интервале обслуживания, используя информацию, включающую в себя каждый вес, связанный с каждой очередью. Вес, связанный с очередью передаваемых данных, затем обновляют на этапе 112.
Специалист в данной области техники оценит, что планировщик 12 каналов может быть осуществлен с использованием различных подходов без выхода за объем настоящего изобретения. Например, планировщик 12 каналов может быть осуществлен с использованием вычислительной системы, включающей в себя процессор, оперативное запоминающее устройство и запоминающее устройство для программ, предназначенное для хранения команд, которые будут выполняться процессором (не показано). В других вариантах осуществления функции планировщика 12 каналов могут быть включены в состав общедоступного вычислительного ресурса, также используемого для исполнения дополнительных функций на базовой станции 4 или контроллере 10 базовой станции. Кроме того, процессор, используемый для исполнения функций планировщика каналов, может быть универсальным микропроцессором, цифровым процессором (ЦПС, DSP) сигналов, программируемым логическим устройством, проблемно-ориентированной интегральной микросхемой (ASIC), или другим устройством, способным выполнять алгоритмы, описанные в настоящем документе, без выхода за объем настоящего изобретения.
Как показано в варианте осуществления по Фиг.1, удаленные станции 6 являются подвижными и способны изменять свои связи с различными базовыми станциями 4. Например, удаленная станция 6F первоначально является принимающей передачи данных от базовой станции 4F. Удаленная станция 6F может затем переместиться из сотовой ячейки базовой станции 4F в сотовую ячейку базовой станции 4G. Удаленная станция 6F затем может начинать передачу сигнала УСПД оповещения на базовую станцию 4G вместо базовой станции 4F. Согласно неприему сигнала УСПД от удаленной станции 6F логика (логический блок) на базовой станции 4F делает вывод, что удаленная станция 6F является отсоединенной и не должна более принимать передачи данных. Очередь данных, связанная с удаленной станцией 6F, затем может передаваться на базовую станцию 4G по наземной линии связи или линии связи РЧ.
Адаптивный взвешенный алгоритм планирования
Дополнительно, существует проблема, когда мультимедийные услуги, или другие услуги, имеющие разнообразие требований к передаче, передают в системе беспроводной связи, в которой называемые "потоками" (описанными дополнительно ниже в документе) передачи данных мультимедийных услуг образуют пульсирующий трафик. Пульсирующий трафик характеризуется несколькими переменными, включая меру пульсаций и среднюю скорость передачи данных. Дополнительно имеется необходимость удовлетворять требованиям качества обслуживания (КО) для каждого из различных потоков в системе. Существующие способы планирования такие, как пропорциональный справедливый (ПС, PF) алгоритм, обычно выбирает поток для обслуживания на основании метрики, задаваемой в виде отношения скорости передачи данных по запросу, называемому запросом данных об «управлении скоростью передачи данных» или "DRC", к пропускной способности, идентифицируемой посредством "T." Такие вычисления могут не гарантировать требуемое КО для всех пользователей. Следовательно, строгие ПС-алгоритмы могут не обеспечивать достаточной сложности, чтобы удовлетворить требования к КО для пользователей, осуществляющих доступ к мультимедийным или другим приложениям. Имеется необходимость в планировщике, способном удовлетворить эти различные требования.
Обратите внимание, что последующее обсуждение рассматривает систему cdma2000, поддерживающую услуги высокоскоростной передачи пакетных данных (ВППД, HRPD), как описано в стандарте (цифровых сетей сотовой связи) IS-856. Эта система используется в качестве примера. Настоящее изобретение является применимым к другим системам, в которых пользователей для обслуживания выбирают в соответствии с алгоритмом планирования.
В системе ВППД радиоинтерфейс может поддерживать вплоть до четырех параллельных потоков приложений. Первый поток переносит сигнальную информацию, и остальные три могут использоваться, чтобы переносить приложения с различными требованиями качества обслуживания (КО) или другие приложения.
Нижеследующий глоссарий предусмотрен для ясности в понимании одного варианта осуществления, представленного ниже в документе. Нижеследующий глоссарий не следует рассматривать как исчерпывающий. Нижеследующий глоссарий не подразумевает к тому же ограничения настоящего изобретения, а скорее предусмотрен для ясности и понимания по отношению к одному варианту осуществления системы связи, поддерживающей адаптивный взвешенный алгоритм планирования.
ГЛОССАРИЙ
Сеть доступа (СД) - сетевое оборудование, обеспечивающее возможность соединяемости с данными между сетью сотовой связи и сетью с коммутацией пакетов данных (обычно Интернет) и многими терминалами доступа. СД в системе ВППД является эквивалентной базовой станцией в системе сотовой связи.
Терминал доступа (ТД, AT) - устройство, обеспечивающее для пользователя возможность соединяемости с данными. ТД в системе ВППД соответствует подвижной станции в системе сотовой связи. ТД может быть соединен с вычислительным устройством таким, как портативный персональный компьютер, или может быть автономным устройством данных таким, как персональный цифровой ассистент (ПЦА, PDA).
Поток приложения - обозначенный канал передачи из источника на ТД для потока данных заданного приложения. Каждый поток приложения идентифицирован в соответствии с источником, получателем, профилем трафика и профилем качества обслуживания.
Поток данных приложения - передача данных, соответствующая приложению. Большинство потоков данных для приложений имеют обозначенное качество для требований обслуживания.
Автоматический запрос (АЗПП, ARQ) повторной передачи - механизм, посредством которого передатчик инициирует повторную передачу данных на основании появления или непоявления события.
Avail(t): нерезервированная (нераспределенная) полоса частот по прямой линии связи во время t.
Средняя скорость передачи данных (r) - средняя скорость ввода данных в течение некоторого времени для заданного потока приложения.
Средняя задержка (AvgD) - среднее времени задержки для многих пакетов или битов от СД до ТД.
Пульсации (σ) - мера пульсаций или плотности и зависимости во времени для пакетов в потоке приложения.
Управление (DRC) скоростью передачи данных - механизм, посредством которого ТД передает запрашиваемую скорость данных на СД.
Недостающие пакеты (defpkts) - определяемые для потока k в начале временного интервала n.
Недостающий пакет - пакет, еще не переданный в потоке, и defpkts является конкретно определяемым в виде количества пакетов равных размеров, например, пакетов межоперационной обработки таких, как пакеты по протоколу (MAC) управления доступом к передающей среде, которые оставались в БППС более длительно, чем пороговая величина задержки для потока k.
Недостающие биты (defbits) - количество битов, соответствующих недостающим пакетам.
Предельное значение задержки - заданное время, допускаемое для передачи пакета данных от СД на ТД.
Пороговая величина задержки - функция предельного значения задержки или предельного значения флуктуации, и используемая для вычисления defpkts.
Коэффициент (Φ) компенсации задержки - коэффициент компенсации, используемый чтобы компенсировать нарушения задержки.
Коэффициент компенсации УСПД (β) - коэффициент компенсации, учитывающий требования запроса данных, связанные с пользователем потока приложения. Используется, чтобы выполнять постепенное восстановление приложений.
Расширенная пороговая величина флуктуации (dν) - используется для вычисления расширенной функции компенсации флуктуации при обнаружении нарушения флуктуации между двумя последовательными IP-пакетами из потока.
Вес потока (w) - начальное значение веса, применяемое к каждому потоку приложения с использованием адаптивного взвешенного алгоритма планирования.
Адаптивный вес (aw) - адаптивное значение веса.
Прямая линия связи (ПЛС, FL) - беспроводная линия связи передачи данных от СД на ТД.
Головной пакет (HOL) - первый пакет в очереди.
Высокоскоростная передача пакетных данных (ВППД) - услуга передачи данных, осуществляющая передачу пакетных данных на высокой скорости передачи данных. Называется также высокоскоростной передачей данных (HDR) и описывается в стандарте IS-856856, озаглавленном "cdma2000 High Rate Packet Data Air Interface Specification" (Техническое описание радиоинтерфейса высокоскоростных пакетных данных для cdma2000).
Флуктуация (дрожание) - разброс во времени между принимаемыми последовательными пакетами.
Предельное значение (j) флуктуации (Jitter bound(j)) - ограничение на флуктуацию для данного потока приложения.
Коэффициент компенсации флуктуации, расширенный (δ) - коэффициент компенсации, чтобы компенсировать нарушения флуктуации для потока.
max
L - максимальная скорость, на которой БППС может передавать данные по прямой линии связи (например, 2,4 Мбит/с, мегабит в секунду в сети типа cdma2000 1xEV-DO (Evolution- DataOnly).
L(t) - оценка емкости прямой линии связи для резервирования во время t на основании предыдущих статистик нарушений КО и статистик, относящихся к загрузке сети.
Нормированные недостающие пакеты (ndefpkts) - нормированные недостающие пакеты, вычисленные с использованием недостающих пакетов и требуемой скорости для этого потока.
Нормированные недостающие биты (ndefbits) - нормированные недостающие биты, соответствующие нормированным недостающим пакетам.
Экспертная группа по вопросам движущегося изображения (MPEG) - протокол для передачи мультимедийных материалов.
k,j
Ожидающие пакеты, pend[n] - количество ожидающих байтов IP-пакета j из потока k в БППС и КБС (BSC) во временном интервале n.
Пропорциональный справедливый (PF) алгоритм - алгоритм планирования, в котором передачи данных планируют в соответствии с коэффициентом выбора, вычисляемым для каждого ТД в виде отношения запрашиваемой скорости передачи данных к пропускной способности.
Качество обслуживания (КО, QoS) - требования, относящиеся к передаче пакетных данных, включающие в себя, но не ограниченные таковыми, задержку, требуемую скорость и флуктуацию.
Функции (Φ,γ,α,β,δ) компенсации КО и сети - функции компенсации, как используются в адаптивном взвешенном алгоритме планирования.
Группа качества обслуживания (ГКО, QSG) - группа типов приложений, которые имеют сходные требования к КО.
Коэффициент компенсации скорости (α) - коэффициент компенсации, вычисляемый, чтобы компенсировать нарушения скорости.
Скорость обслуживания (R) или требуемая скорость (required_rate) - скорость, запрошенная потоком.
Res(t): резервированная полоса частот во время t по прямой линии связи.
Очередь (Rx) повторной передачи - очередь повторной передачи данных, хранящая соответствующие приложениям потоки, планируемые для повторной передачи.
Обратная линия связи (ОЛС, RL) - беспроводная (воздушная) линия связи передачи из ТД на СД.
Метрика выбора (Y) - метрика, используемая для сравнения потоков приложений для вычислений планирования.
Профиль трафика (σ,r) - меры (показатели), относящиеся к пакетированию и скорости передачи данных.
Очередь передачи (Tx) - очередь передачи, хранящая для заданной БППС потоки приложений.
Параметр времени ожидания (γ) - мера времени ожидания в пределах СД заголовка HOL для IP-пакета.
Применение адаптивных весов для пропорционального справедливого алгоритма планирования
Пропорциональный справедливый (ПС) алгоритм планирования, который выбирает поток для обслуживания на основании метрики DRC/T, описан для прямой линии связи сети cdma2000 1xEV-DO. Алгоритм ПС разработан, чтобы предоставлять каждому пользователю приблизительно одинаковое количество временных интервалов передачи. Чтобы усовершенствовать такой алгоритм планирования, в настоящем документе описывается алгоритм, использующий адаптивный взвешенный DRC/T, расширяющий и оптимизирующий алгоритм DRC/T, чтобы удовлетворять различным требованиям к КО для различных типов приложений. Каждое мультимедийное приложение имеет соответственное конкретное требование КО. Цели алгоритма планирования включают в себя удовлетворение различных требований КО. Адаптивный алгоритм, называемый также алгоритмом адаптивного w*DRC/T, представленный в настоящем описании, обеспечивает ряд преимуществ по эффективности над алгоритмом DRC/T для прямой линии связи сети cdma20001xEV-DO, в которой потоки приложений включают в себя услуги мультимедийных приложений. Требования к предельным значениям задержки и флуктуации для приложений, чувствительных к задержке и флуктуации, по прямой линии связи для сети cdma2000 1xEV-DO удовлетворяют с использованием адаптивного алгоритма. Дополнительно, адаптивный алгоритм планирования гарантирует, что удовлетворяются требования к скорости и уменьшается средняя задержка для мультимедийных приложений. Тогда как мультимедийные приложения предусмотрены в качестве примера, чтобы проиллюстрировать осуществление адаптивного алгоритма планирования, способы и устройства, описанные при этом, могут применяться к другим приложениям, имеющим требования КО, или другие измеримые количественно требования, связанные с ними.
Для приложений с наличием требований к скорости и времени запаздывания, таких как просмотр сети и игры, адаптивный алгоритм планирования обеспечивает гарантии скорости и уменьшает среднюю задержку. Для других приложений, имеющих только требования к скорости, адаптивный взвешенный алгоритм планирования может использоваться, чтобы удовлетворить гарантии скорости. При обеспечении этих гарантий КО, адаптивный взвешенный алгоритм планирования также действует, чтобы поддерживать полную (суммарную) пропускную способность на приемлемо высоком уровне и достигать полной пропускной способности, близкой к достигаемой при использовании строгого ПС-алгоритма планирования. Строгий ПС-алгоритм планирования относится к алгоритму, использующему вычисление DRC/T. При предоставлении дополнительных ресурсов потокам с нарушениями КО, адаптивный взвешенный алгоритм планирования распределяет доступные ресурсы справедливым образом. Различные механизмы компенсации, согласующиеся с ним, представлены в документе.
На Фиг. 4 проиллюстрирована система 800, которая поддерживает мультимедийные приложения. Вновь обратите внимание, что настоящее изобретение является применимым к другим системам, в которых потоки имеют требования КО. Система 800 включает в себя источник 802 мультимедиа, соединенный с узлом передачи пакетных данных (УППД, PDSN) 806. PDSN 806 соединен также с контроллером 804 базовой станции (КБС, BSC), который может включать в себя многие КБС. КБС 804 взаимодействует с различными ТД 812, 814, 816, 818 и т.д., посредством базовых приемопередающих станций (БППС) 808, 810. Система 800 может включать в себя большее количество БППС или ТД, чем проиллюстрировано. Проиллюстрированы три потока: первый поток из источника 802 мультимедиа через PDSN 806, КБС 804 и БППС 808 на ТД 812; второй поток из источника 802 мультимедиа через PDSN 806, КБС 804 и БППС 810 на ТД 816 и третий поток из источника 802 мультимедиа через PDSN 806, КБС 804 и БППС 810 на ТД 818. Обратите внимание, что один ТД может быть получателем многих потоков. В одном примере передача для приложения, соответствующего типу «Экспертная группа по вопросам движущегося изображения» (MPEG), разделяет данные аудио и видео в отдельные потоки.
Каждый поток приложения, который подлежит передаче в системе 800, имеет: адрес соответственного источника; адрес получателя и требования к КО. Поток приложения затем планируют для передачи из источника на получатель. Поток приложения проходит путь, подобный тем, которые проиллюстрированы на Фиг. 4.
Каждая БППС 808, 810 приспособлена, чтобы поддерживать очередь потоков, как проиллюстрировано на Фиг.5. Обратите внимание, каждая БППС поддерживает один набор очередей, соответствующих каждому потоку приложения по своей прямой линии связи (ПЛС). Один поток приложения направлен на один ТД. Обратите внимание, однако, что на ТД могут быть направлены многие потоки. Каждый поток имеет связанный с ним тип группы (ГКО) качества обслуживания. Каждая ГКО определена в соответствии с набором параметров КО. Каждый поток для заданной ГКО имеет конкретные значения для каждого из параметров в наборе. Например, одна ГКО может быть определена в соответствии с набором, включающим в себя задержку и флуктуацию. Такие потоки таковой ГКО будут задавать требования для задержки и флуктуации. Для каждого потока, находящегося в очереди, БППС поддерживает набор, включающий в себя три отдельные очереди: (1) исходную очередь (Тх) передачи; (2) очередь (Rx) повторной передачи и (3) очередь автоматического запроса повторной передачи (АЗПП, ARQ). В одном варианте осуществления очередь ARQ может соответствовать очереди, хранящей потоки для любого типа осуществляемого между БППС и ТД механизма повторения, такого как опережающий выбор АЗПП. Мультимедийные приложения могут включать в себя чувствительное к задержке приложение, например, видео конференц-связь, имеющее требования к предельным значениям задержки. Предельное значение задержки является заданным временем, допускаемым на передачу из СД до приема посредством ТД. Алгоритм, использующий адаптивное взвешивание, действует, чтобы удовлетворить требования к предельным значениям задержки и уменьшить среднюю задержку, понесенную IP-пакетами для таких приложений. Для приложений с наличием требований и к скорости передачи, и к средней задержке, адаптивный взвешенный алгоритм планирования действует, чтобы удовлетворять требования к скорости и уменьшать среднюю задержку.
Другим рассмотрением для некоторых типов приложений, таких как мультимедийные видео приложения, является "дрожание", или флуктуация, имеющаяся на практике между последовательными пакетами в передаче мультимедиа. Флуктуацией называют разброс времени между принятыми пакетами. Флуктуация появляется, если последовательные сигналы поступают на приемник немного раньше или позже. В беспроводной связи такие сигналы обычно передают логическую единицу или ноль, который затем декодируют на приемнике. Разбросы моментов времени синхронизации, определяемые как флуктуации, искажают визуальное воздействие принятой передачи. Адаптивный взвешенный алгоритм планирования уменьшает наихудший разброс времени задержки, а также разброс времени задержки между следующими последовательно пакетами для чувствительных к задержке приложений.
Удовлетворяя требования различных пользователей к КО, адаптивный алгоритм также предназначен, чтобы удовлетворять требования к скорости для потоков приложений в случае, когда эти потоки являются "удовлетворяющим техническим условиям". Поток приложения считают удовлетворяющим техническим условиям, если он посылает данные согласно заранее заданному профилю трафика. Если потоки с требованиями к скорости являются не удовлетворяющими техническим условиям, то есть, они посылают данных больше, чем заранее задано в их профилях трафика, алгоритм дает более высокое предпочтение потокам с более низкими скоростями передачи данных. Тогда как адаптивный взвешенный алгоритм описан при этом в контексте сети cdma2000 1xEV-DO, принципы и способы также могут применяться к другим типам беспроводных сетей.
По отношению к потокам, соответствующим мультимедийным приложениям, каждый поток определяют посредством: (1) профиля трафика; (2) профиля КО; (3) соответствующего протоколу (IP) Интернет адреса (IP-адреса) источника и (4) IP-адреса получателя. Поток также может включать в себя: (5) тип протокола 4-го уровня (L4); (6) номер порта уровня L4 и (7) номер порта получателя уровня L4, причем L4 относится к протоколу (TCP) управления передачей/ненадежному протоколу (UDP) передачи дейтаграмм в стеке протоколов. Например, потоки MPEG-аудио и MPEG-видео, соответствующие приложению MPEG, могут быть обработаны как отдельные потоки.
Каждый поток является конкретно задаваемым профилем трафика и управляемым или формируемым, чтобы гарантировать, что он соответствует этому профилю трафика. Профиль трафика определяют посредством представляющей меру пакетирования переменной, идентифицированной как σ, и средней скоростью передачи данных для потока, идентифицированной как r. Каждый поток, следовательно, является описанным посредством профиля трафика (σ,r). Профиль КО определяют посредством по меньшей мере одного из нижеследующих параметров: (1) предельного значения задержки, идентифицированного как "D", которое определяет время, допускаемое от передачи до приема IP-пакета. Для соответствующих мультимедийным приложениям потоков система может задавать предельное значение задержки. Для некоторых других потоков приложений, например, просмотра сети, система может задавать среднюю задержку (AvgD) вместо или в дополнение к предельному значению задержки; (2) предельное значение флуктуации, идентифицированное как "j", которое определяет максимально допустимый разброс во времени между принятыми пакетами на ТД; (3) и скорость обслуживания (или требуемая скорость), идентифицированная как "R" или "req_rate".
0
3
0
3
3
0
Чтобы определить предельное значение D задержки, обратитесь к Фиг. 6, на которой показана временная диаграмма, включающая в себя различные элементы СД и ТД. Поток мультимедиа передают из источника мультимедиа (не показан) через PDSN, КБС и БППС на ТД. IP-пакет передают из PDSN во время t и принимают на ТД во время t. Параметр D определяет максимальное допустимое время от времени t до времени t, то есть, D задает предел(ы) для t-t.
1
1
2
2
2
1
2
1
Чтобы определить предельное значение, j, флуктуации, обратитесь к Фиг. 7A, которая является временной диаграммой, включающей в себя элементы СД и ТД. Первый пакет передают во время t от PDSN и принимают во время t' на ТД. Второй пакет передают во время t из PDSN и принимают во время t' на ТД. Предельное значение флуктуации, j, определяет максимальный допустимый разброс между последовательными пакетами, причем разброс задают в виде (t'-t')-(t-t). На Фиг. 7B даны дополнительные подробности последовательных IP-пакетов, переданных в течение нескольких временных интервалов.
В одном варианте осуществления профили КО разделены на группы, называемые группами планирования КО (ГКО). В Таблице 1 приведен перечень групп.
Таблица 1
Индекс
Предельное значение задержки (D)
Предельное значение флуктуации (j)
Скорость обслуживания (R)
Средняя задержка (AvgD)
Примеры приложений
1
X
X
X
Конференция MPEG, передача голоса по IP-сетям (VoIP), потоковое видео
2
-
-
X
X
Просмотр сети Web
3
-
-
X
-
FTP
4
-
-
-
-
«Best-effort»
На Фиг.8 проиллюстрирована обработка потоков в соответствии с адаптивным взвешенным алгоритмом планирования. Потоки 900, 902, 904 и 906 обрабатывают блок 908 планирования, имеющий метку "S". Блок 908 планирования применяет адаптивный взвешенный алгоритм планирования, при этом профиль ГКО используется для каждого потока. Профиль ГКО идентифицирует переменные, которые используются для вычисления адаптируемого веса, как подробно описано ниже в документе. Блок 908 планирования затем выводит планируемые передачи 910 на выбранный ТД.
Описывается Алгоритм ПС планирования, называемый алгоритмом DRC/T, в котором пакеты разделяют на группы в m очередей, например Q1, Q2…, Qm. Пусть DRC[k, n] является УСПД, запрашиваемым подвижным объектом, соответствующим потоку k для временного интервала n. Планировщик выбирает поток, имеющий наивысшее значение метрики выбора, Y [.,.], при этом
Y[k,n+1] является метрикой выбора для очереди Qk во временном интервале (n+1) и
c
Как используется в настоящем описании, t является постоянной времени, по которой вычисляют среднее.
Алгоритм адаптивного w*DRC/T
k
В одном варианте осуществления адаптивный взвешенный алгоритм планирования, называемый алгоритмом "адаптивного w*DRC/T", назначает начальный вес каждому потоку. Пусть подразумевается, что начальный вес, назначенный потоку k, обозначен посредством w, и УСПД, который запрошен ТД, соответствующим потоку k для временного интервала n, является DRC[k,n]. Алгоритм адаптивного w*DRC/T вычисляет нижеследующую метрику для каждого потока k в каждом временном интервале n
k
k
k
k
При этом пропускная способность T[n] для потока k и временного интервала n является соответствующей определенной для DRC/T в алгоритме ПС. Как используется в адаптивном взвешенном алгоритме планирования, aw[n] является адаптивным весом для потока k во временном интервале n. Алгоритм планирования, использующий адаптивный w*DRC/T, действует в нескольких режимах, при этом режим определяют согласно ГКО. Адаптивный вес aw[n] для потока k во временном интервале n вычисляют на основании режима планировщика и набора выбранных политик или механизмов, описанных ниже. Обратите внимание, что уравнение (4) вычисляют для каждого потока, при этом адаптивные веса будут вычислены согласно представлению, конкретному для каждого потока. Другими словами, алгоритм планирования рассматривает профиль КО для заданного потока и использует профиль КО, чтобы формировать вычисления адаптивного веса для потока. Таким образом, различные потоки, имеющие различные требования к КО, могут иметь адаптивные веса, которые вычислены различным образом. Алгоритм планирования далее выбирает поток с максимальным значением Y[n] для обслуживания во временном интервале n.
Планировщик, использующий адаптивный w*DRC/T, действует в нижеследующих режимах:
Режим I [aw*DRC/T](r,d,j): предназначен для приложений, чувствительных к задержке и флуктуации, которые имеют строгие требования к предельным значениям задержки и флуктуации и требуют некоторой минимальной скорости.
Режим II [aw*DRC/T](r,d): используют для приложений, которые имеют требования к средней задержке и скорости.
Режим III [aw*DRC/T](r): используют для приложений, для которых заданы только требования к скорости.
Режим IV [DRC/T]: используют для потоков, не задающих какого-либо плана КО, но обслуживаемых согласно алгоритму DRC/T.
На основании требований к КО, конкретный режим алгоритма адаптивного w*DRC/T может использоваться для заданного потока. Режим II также может быть использован на потоке, чтобы повысить пропускную способность, предоставляемую планировщиком этому потоку. Например, режим II может использоваться для приложений FTP, чтобы потенциально повысить пропускную способность для соответственных потоков приложений. Один пример группирования приложений, то есть, ГКО, дается ниже:
Группа I: передача голоса по IP-сетям (VoIP), VoIP-подобные приложения со строгими требованиями к предельным значениям задержек и разбросу времени задержки. Обратите внимание, что часто такие приложения также имеют требование(я) к скорости. Следует использовать планировщик режима I.
Группа II: мультимедийные приложения конференц-связи со строгими требованиями к предельным значениям задержки и разбросу времени задержки. Даже если некоторые из этих приложений являются настраиваемыми, желательно обеспечивать скорость обслуживания для согласованного хорошего качества. Следует использовать планировщик режима I.
Группа III: приложения потокового видео с требованиями к предельному значению задержки, скорости и разбросу времени задержки. Следует использовать планировщик режима I.
Группа IV: приложения просмотра сети с требованиями к скорости и (средней) задержке. Следует использовать планировщик режима II.
Группа V: приложения FTP с требованиями к скорости. Следует использовать планировщик режима III.
В качестве альтернативы, следует использовать планировщик режима II со смягченными ограничениями задержки.
Группа VI: приложения «best-effort». Следует использовать Алгоритм ПС, то есть, алгоритм DRC/T, без адаптивного взвешивания.
Обратите внимание, что транзакции баз данных, игры и другие приложения также могут быть сгруппированы в подходящие группы согласно соответствующим требованиям к КО.
На Фиг. 9 проиллюстрирован планировщик, использующий адаптивное взвешивание, который имеет несколько уровней, включая в них, не ограничиваясь таковыми, уровень I и уровень II. Планировщик уровня I имеет несколько планировщиков, S1, S2, S3…, Sm, причем m означает общее количество групп. Каждый планировщик уровня I по Фиг. 9 исполняет конкретный операционный режим алгоритма планирования, использующего адаптивный w*DRC/T, и выбирает поток из этой группы. Сначала планировщик уровня I вычисляет часть Y, конкретно, пропускную способность T, и коэффициент α компенсации скорости. Затем, планировщик уровня II рассматривает потоки и обеспечивает входные данные на планировщик уровня I, достаточные для полного вычисления планировщиком уровня I метрики Y выбора. Как только Y полностью вычисляются для всех ожидающих потоков, планировщик уровня I оценивает значения Y и выбирает поток с самым высоким значением Y. Каждый планировщик уровня I оценивает группу потоков, имеющих одинаковые требования к КО. Выбранный поток для каждого планировщика уровня I затем поставляют на планировщик уровня II для сравнения с потоками из других групп. Планировщик уровня II рассматривает один выбранный поток на группу и выбирает тот, который имеет наивысшее значение метрики (aw*DRG/T) или Y. Процесс повторяют для каждого временного интервала, если планировщик должен выбрать поток для обслуживания. Альтернативные варианты осуществления могут включать в себя одноуровневый планировщик, или могут использовать большее количество уровней, чем проиллюстрировано на Фиг. 9. Альтернативные варианты осуществления могут включать в себя различное количество планировщиков уровня I, причем планировщики уровня I соответствуют структурам потоков.
В целом вычисление адаптивного веса задается в виде функции нескольких параметров и задается в виде:
α=f(Φ,γ,α,β,δ) (5)
Функция компенсации задержки идентифицирована как Φ. Параметр времени ожидания идентифицирован как γ. Функция компенсации скорости идентифицирована как α. функция компенсации УСПД идентифицирована как β. Расширенный коэффициент компенсации флуктуации идентифицирован как δ. Обратите внимание, что не все параметры имеют реально существующие (подстановочные) значения для всех услуг мультимедиа. Например, если единственным требованием к КО для данного потока является заданная скорость передачи данных, то будет задана переменная α (параметр скорости будет иметь реально существующее значение), а все остальные параметры будут установлены равными значению единица. В этом случае, только параметр скорости будет включен в вычисление адаптивного веса. В одном варианте осуществления адаптивный вес вычисляют в виде:
α=Φ*γ*α*β*δ, (6)
при этом оператором является умножение. Нижеследующее обсуждение обеспечивает подробности различных элементов (выражения) компенсации, которые могут быть включены в вычисление адаптивного веса.
Для приложений режима I профиль КО задает все параметры, указанные в уравнении (6). Вычисления адаптивного веса рассматривают компенсацию задержки вследствие нарушений пороговой величины задержки, компенсацию задержки вследствие нарушений пороговой величины времени ожидания, компенсацию скорости вследствие нарушений скорости и расширенную компенсацию флуктуации вследствие нарушения расширенной пороговой величины флуктуации. Принцип (идея) повышает веса для потока, который нарушает заданные требования к КО. Запускаемый при нарушении требования(ий) к КО такой поток получает кредит (разрешение на передачу очередного пакета данных). Кредит осуществляют посредством умножения веса потока на подходящее значение для функции компенсации задержки. Его далее умножают на компенсацию скорости и расширенную компенсацию флуктуации.
Напротив, если оказывается, что поток принимает избыточное обслуживание, такой поток может быть оштрафован. Поток может быть оштрафован любым из возможных способов. Согласно одному способу, поток может быть оштрафован непосредственно посредством уменьшения веса потока. Согласно другому способу, поток может быть оштрафован косвенно посредством поддерживания веса данного потока при увеличении весов для остальных пользователей, которые являются запаздывающими (то есть, тех потоков, которые не достигли требуемого КО).
k
k
k
Имеются разнообразные способы вычисления компенсации задержки, чтобы принимать во внимание нарушение(я) пороговой величины задержки. Пусть подразумевается, что пороговая величина задержки для потока k обозначена dth_, и компенсация задержки вследствие нарушения пороговой величины задержки для потока k во временном интервале n обозначена [n]. Чтобы вычислить компенсацию [n] задержки, рассматривают пакеты во всех трех очередях (то есть, Tx, RTx и ARQ) для каждого потока.
thres,min,k
thres,max,k
Для каждого потока являются также заданными максимальная и минимальная пороговая величина для , чтобы обеспечить, что поток не потребляет последовательно несколько временных интервалов и не подавляет другие потоки. Это также предназначено, чтобы обеспечить, что для потока элемент компенсации задержки вследствие нарушения пороговой величины задержки является, по меньшей мере, столь же подходящим, как минимальное значение пороговой величины. Пусть ,  являются минимальным и максимальным значениями пороговой величины, которые заданы для каждого потока k. Это имеет следствием (для всех k и всех n):
thres,min,k
k
thres,max,k
≤[n]≤, k,n (7)
Нижеследующие определения будут использоваться, чтобы разработать вычисление компенсации задержки:
D[n]: определяет набор потоков, нарушающих пороговую величину задержки в начале временного интервала n (то есть, каждый такой поток имеет, по меньшей мере, один пакет в начале временного интервала n, который перешел пороговую величину задержки для потока).
k
dejpkts[n]: определяет "недостающие" пакеты для потока k в начале временного интервала n. Недостающим пакетом является пакет, еще не переданный в потоке, и defpkts конкретно определен в виде количества пакетов равного размера (протокол MAC), которые оставались в БППС более длительно, чем пороговая величина задержки для потока k.
k
required_rate: определяет требуемую скорость для потока k.
k
ndefpkts: определяет количество нормированных недостающих пакетов для потока k, конкретно определяемое в виде:
k
k
k
ndefpkts=defpkts/required_rate (8)
Обратите внимание, что пакеты в БППС, КБС и PDSN могут быть неравных размеров и, следовательно, при этом полезно подсчитывать количество недостающих битов вместо пакетов.
k
k
k
k
thres,min,k
thres,max,k
thres,min,k
k
thres,max,k
S
Если пакет HOL для потока находился в очереди БППС в течение некоторого промежутка времени, который больше заранее заданной пороговой величины, поток может быть компенсирован с использованием нижеследующих механизмов. Пороговая величина времени ожидания, используемая для этой цели, должна быть больше или равной пороговой величине, используемой для вычисления . Для потока k пороговая величина времени ожидания обозначена dth_γ, причем пороговая величина времени ожидания ограничена согласно dth_γ≥dth_k, k. Чтобы выбрать пакет HOL для потока, сначала рассматривают пакеты HOL из очередей Tx, RTx и ARQ для потока и выбирают один на основании времени ожидания на БППС, то есть, выбирают тот, который ожидает в БППС в течение самого длительного промежутка времени. Пусть γ[n] является компенсацией времени ожидания для потока k в начале временного интервала n, и S[n] является временем, проведенным пакетом HOL для потока k в очереди БППС в начале временного интервала n. Для каждого потока k заданы также минимальная пороговая величина S и максимальная пороговая величина , которые удовлетворяют S≤S[n]≤ S, kn.
k
min,thres,k
max,thres,k
min,thres,k
k
max,thres,k
В соответствии с одним вариантом осуществления компенсация задержки применяется, если поток нарушает пороговую величину задержки или нарушает пороговую величину времени ожидания. Механизм применяет запрос скорости передачи данных УСПД к адаптивному весу. Пусть β[n] является функцией регулировки УСПД для потока k во временном интервале n. Минимальная пороговая величина β и максимальная пороговая величина β являются заданными для каждого потока k и удовлетворяют β≤β[n]≤β.
Тогда как вышеописанные механизмы компенсации помогают уменьшать вариацию задержки для потока, для некоторых приложений, таких как видео/аудио конференц-связь, может быть желательным включать в состав управление вариацией (флуктуацией) времени задержки более эффективно и уменьшать вариацию задержки даже еще дополнительно. Нижеследующие механизмы обеспечивают эффективное управление вариацией задержки, уменьшая вариацию задержки между последовательными пакетами потока. Потоки с более большими размерами IP-пакета извлекают больше выгоды из этого механизма компенсации.
kj
k,target
k,thres
k,thres
k,target
k,thres
Пусть подразумевается, что at(k,j) является временем поступления IP-пакета j потока k на вход КБС. Пусть dt(k,j) является временем отправки этого IP-пакета из БППС, то есть, к этому времени все сегменты этого IP-пакета были уже переданы на БППС планировщиком прямой линии связи. Пусть pend[n] является общей длиной в байтах IP-пакета j для потока k на БППС и КБС. Также, пусть предполагается, что dν является целевой вариацией задержки (флуктуацией) между последовательными IP-пакетами для потока k, и dν является заранее заданной расширенной пороговой величиной флуктуации для этого потока, так что dν<dν. В одном варианте осуществления алгоритм затем запускает механизмы расширенной компенсации вариации задержки для потока k, если вариация задержки между последовательными IP-пакетами становится выше dν.
На Фиг. 10 представлена архитектурная схема, соответствующая одному варианту осуществления. Каждый поток приложения описан посредством профиля трафика, профиля КО и запроса УСПД, то есть, запрашиваемой скорости данных. Каждый профиль трафика включает в себя меру пакетирования и среднюю скорость передачи данных. Каждый профиль КО включает в себя тип класса услуги и предельные значения параметров. Тип класса может быть одним из «Режима I», «Режима II», «Режима III», или «Режима IV». Предельные значения задают предельные значения для задержки, флуктуации и требуемой скорости передачи данных. Некоторые приложения такие, как просмотр сети, могут задавать среднюю задержку вместо предельного значения задержки. Пороговую величину задержки для режима I выбирают, чтобы была меньше предельного значения флуктуации; и для режима II пороговую величину задержки выбирают, чтобы была меньше средней задержки. Расширенную пороговую величину флуктуации выбирают, чтобы была меньше предельного значения флуктуации. Альтернативные варианты осуществления могут применять большую или меньшую информацию для каждого потока приложения, причем требования к КО могут быть точно определенными для сети и конфигурации.
На Фиг.11 показана таблица, задающая требования к КО и параметры КО для класса каждого типа. Как указано, режим I соответствует самым строгим требованиям, тогда как режим IV соответствует «best-effort», причем не задаются никакие требования к КО. Дополнительные варианты осуществления могут включать в себя другие требования к КО, параметры КО и/или режимы.
На Фиг.12А-12Е проиллюстрированы обработка для потока приложения и планирование этого потока приложения в качестве части активных потоков приложений. На Фиг.12А показана схема последовательности действий, иллюстрирующая инициализацию и установку для индивидуального потока приложения. Процесс начинается на этапе 1100, чтобы выбрать механизмы, используемые для каждого параметра компенсации. Параметры компенсации включают в себя, но не ограничены таковыми: задержку (Ф); время ожидания (γ); DRC (β); флуктуацию (δ) и скорость (α). На этапе 1102 выбирают пороговые значения для применимых параметров компенсации. Обратите внимание, что параметры компенсации могут включать в себя любой параметр для потока приложения, значимый для СД. На этапе 1104 выбирают алгоритм вычисления промежуточных весов, в котором промежуточные веса используются в вычислении адаптивных весов, используемых для планирования. На этапе 1106 устанавливают масштабный коэффициент (С) и коэффициент (Z) приоритета, оба используемые в вычислении адаптивных весов. На этапе 1108 устанавливают начальный вес для этого потока приложения. На этапе 1110 оценивают требования к КО для потока приложения. Если нет каких-либо заданных требований к КО, отличных от скорости передачи, идентифицированной посредством запроса УСПД, используется задаваемое по умолчанию условие. Задаваемое по умолчанию условие названо «best effort», как описано выше. В этом случае обработка «по умолчанию» устанавливает все коэффициенты компенсации, используемые для этого потока приложения, равными 1. Для данного варианта осуществления в этом случае вычисление уравнения (6) использует оператор умножения и, следовательно, установка коэффициентов в 1 действенно игнорирует эти коэффициенты, то есть, эти коэффициенты не воздействуют на взвешивание. Обратите внимание, что дополнительные варианты осуществления могут осуществлять другие механизмы и функции, и, следовательно, могут использовать другие механизмы для игнорирования конкретных или всех коэффициентов компенсации.
Обработка «best effort» продолжается на этапах 1112 и 1116. Результирующее вычисление коэффициента планирования согласуется с пропорциональным справедливым вычислением. Если поток приложения имеет требования к КО, обработка продолжается на этапе 1114. Этапы 1114 и 1116 обозначают обработку, продолжающуюся на последующих фигурах.
На Фиг. 12B обработка по Фиг. 12A продолжается от этапа 1114. На этапе 1120 начинается обработка текущего временного интервала. На этапе 1122 принимают решение по типу класса для потока приложения. Режим I обрабатывают на этапе 1128, режим II обрабатывают на этапе 1126, и режим III обрабатывают на этапе 1124. Параметры КО режима I контролируют на этапе 1128; параметры КО режима II контролируют на этапе 1126; и параметры КО режима III контролируют на этапе 1124. Проверки нарушения КО, выполняемые затем на этапах 1130, 1140 и 1150, дополнительно подробно показаны на Фиг. 12C и 12D.
Обработка потока приложения продолжается на этапе 1130 по Фиг. 12C для приложения режимов I, II или III. На этапе 1132 алгоритм периодически контролирует нарушения скорости. Обратите внимание, что вычисление компенсации скорости выполняется периодически и после этого используется для многих временных интервалов. Если нарушение скорости обнаружено на этапе 1134, обработка продолжается на этапе 1138, чтобы вычислить коэффициент (α) компенсации скорости. Иначе коэффициент (α) компенсации скорости устанавливают равным единице на этапе 1136. Обработка, которая затем продолжается на этапе 1160, дополнительно подробно показана на Фиг. 12E.
Для приложений режимов I или II обработка потока приложения продолжается на этапе 1140 по Фиг. 12C. На этапе 1142 способ контролирует нарушения задержки и флуктуации в каждом временном интервале. Если на этапе 1144 обнаружены нарушения задержки и/или флуктуации, обработка продолжается на этапе 1148, чтобы вычислить коэффициент (Φ) компенсации задержки в соответствии с механизмом, выбранным при инициализации. Для потока режима I, который запросил расширенную компенсацию флуктуации, затем также вычисляют расширенный коэффициент (δ) компенсации флуктуации. Для потоков режима I, которые не запрашивали расширенной компенсации флуктуации, и для потоков режима II значение δ устанавливают равным единице. Иначе коэффициент (Φ) компенсации задержки устанавливают равным 1 на этапе 1146, и δ устанавливают равным 1. Обработка, которая затем продолжается на этапе 1160, дополнительно подробно показана на Фиг.12Е. Обратите внимание, что для потоков приложений, соответствующих режимам I или II, проверки нарушения могут выполняться последовательно или параллельно. Другими словами, проверки нарушения скорости и нарушения задержки/флуктуации могут быть выполнены последовательно во времени или одновременно.
Для приложения режима I обработка потока приложения продолжается на этапе 1150 по Фиг.12D. На этапе 1152 способ контролирует нарушения времени ожидания. Если на этапе 1154 обнаружено нарушение времени ожидания, обработка продолжается на этапе 1158, чтобы вычислить коэффициент (γ) компенсации времени ожидания, согласно механизму, выбранному при инициализации. Иначе коэффициент (γ) компенсации времени ожидания устанавливают равным единице на этапе 1156. Обработка, которая затем продолжается на этапе 1160, дополнительно подробно показана на Фиг.12Е. Обратите внимание, что для потока приложения, соответствующего режиму I, проверки нарушения могут выполняться последовательно или параллельно. Другими словами, проверки нарушения скорости, нарушения задержки/флуктуации и времени ожидания могут быть выполнены последовательно во времени, или одновременно, как показано на этапах 1170 и 1172.
На Фиг.12Е проиллюстрирована обработка по этапу 1160 и этапу 1116. На этапе 1162 вычисляют адаптивный вес для потока приложения как функцию параметров КО и коэффициентов компенсации, задаваемую в виде:
На этапе 1164 коэффициент планирования или метрику планирования вычисляют в виде:
Алгоритм планирования затем осуществляет планирование потоков приложений в соответствии с коэффициентами планирования, вычисляемыми для каждого из активных потоков приложений на этапе 1166.
На Фиг.13 проиллюстрирована БППС 1200, приспособленная для применения алгоритма планирования в соответствии с одним вариантом осуществления. БППС 1200 включает в себя блок 1202 планирования, блок 1206 обработки потока приложения, блок 1204 оценки параметра КО, блок 1212 вычисления адаптивного веса и центральный процессор 1208 (ЦПУ, CPU), каждый блок соединен с коммуникационной шиной 1210. Блок 1202 планирования осуществляет планирование коэффициентов для каждого потока приложения, а затем выбор из числа различных активных потоков приложений в соответствии с коэффициентами планирования. Политика и цели данной системы включены в состав алгоритма планирования. Блок 1204 оценки параметра КО контролирует нарушения КО и поставляет информацию на блок 1202 планирования и блок 1212 вычисления веса. Обработка потока приложения выполняет обработку, которая включает в себя, но не ограничена таковой, направление пакетов на ТД-получатель, прием от ТД-получателя информации КО, используемой для планирования, и поставку такой информации на блок 1204 оценки параметра КО. БППС 1200 также включает в себя запоминающее устройство 1214 для хранения промежуточной информации и поддержания данных, используемых для вычисления средних значений, очередей потоков и т.д. Проверки нарушений осуществляют на БППС. Один вариант осуществления ведет подсчет количества байтов, переданных для каждого потока, и использует это для проверки нарушений скорости. Каждый пакет получает временную отметку, когда он поступает на КБС. Время ведет приращения (увеличивается), пока пакет остается в КБС или БППС. БППС использует это время для обнаружения нарушений пороговой величины и затем вычисляет задержку, время ожидания или расширенные функции компенсации флуктуации в соответствии с потоком.
Управление разрешением на доступ
Управление разрешением на доступ относится к процессу принятия решений о разрешении входа пользователю, запрашивающего услугу данных. Если новый пользователь запрашивает услугу данных, например, приложение с наличием требований к КО, СД определяет, имеются ли доступные ресурсы, чтобы поддержать такое использование. Процесс разрешения на доступ рассматривает запрошенное приложение, текущее использование, а также статистику КО и сети. Если СД определяет, что новый пользователь может быть поддержан, то соответствующему потоку приложения разрешают вход. Иначе, если в настоящий момент не имеются доступные ресурсы, поток приложения отвергают или помещают в очередь, чтобы ожидать изменение в состоянии. Обратите внимание, что новый пользователь может фактически быть пользователем, имеющим активный в настоящий момент поток приложения, который запрашивает дополнительную услугу, то есть, дополнительный поток приложения.
В дополнение к управлению разрешением на доступ и в качестве его части, процесс обслуживания с приоритетами может быть осуществлен для завершения активных потоков приложений, при этом оценивают текущие операционные режимы, чтобы принимать решения о приоритетном прерывании обслуживания. В этом случае каждый из текущих потоков оценивают в отношении нарушений КО, а также скорости передачи данных.
Данный раздел представляет адаптивный алгоритм управления разрешением на доступ, отнесенным к одному сектору. Такой алгоритм управления разрешением на доступ принимает решение, разрешить ли доступ потоку (или прервать) в данной беспроводной сети (с передачей) мультимедиа. Следовательно, является возможным определить количество потоков (для каждого класса), которые могут быть допущены в данной сети. Варианты осуществления алгоритма управления разрешением на доступ, представленные при этом, включают в себя механизмы для выполнения и межпользовательского, и внутрипользовательского мониторинга КО, и затем применение этой информации для решений о разрешении доступа и/или прерывании обслуживания. Такие варианты осуществления разработаны, чтобы гарантировать, что и требования к КО, отнесенные к одному пользователю и к одному потоку, удовлетворяются для получивших разрешение потоков и пользователей. Такие механизмы содействуют координации алгоритма управления разрешением на доступ и алгоритма иерархического планирования.
Планирование и управление разрешением на доступ являются частью управления КО по прямой линии (ПЛС) связи в беспроводных сетях, причем такое управление является составной задачей. Управление КО является существенным рассмотрением в разработке и действии сети связи. Потоки приложений группируют в соответствии с критериями, как определено системой. В одном варианте осуществления группирование осуществляют в соответствии с требованиями к КО. Сначала, управление разрешением на доступ определяет набор потоков, которые могут получить разрешение на доступ при текущих условиях функционирования. Количество потоков затем разделяют на ряд потоков на каждый класс. Система затем действует, чтобы удовлетворить требования КО для каждого получившего разрешение на доступ потока. Обратите внимание, что количество потоков может изменяться динамически во времени и вместе с типом приложения. Например, в первый момент, сеть доступа (СД) может поддержать первый сценарий, в котором каждому типу приложения разрешают конкретное количество потоков. Во второй раз, СД может поддержать второй сценарий, в котором, по меньшей мере, одному типу приложения разрешено отличающееся количество потоков.
Планировщик (то есть, алгоритм планирования) осуществляет стратегию справедливости между получившими разрешение на доступ потоками. Планировщик дополнительно пытается выполнять постепенное восстановление потоков, имеющих нарушения КО. Доходы и прибыли оператора зависят от эффективности используемого алгоритма планирования. Более эффективные и функционально-развитые алгоритмы обеспечивают возможности увеличить эти прибыли.
По отношению к управлению разрешением на доступ, один вариант осуществления реализует способ на основе коэффициента абонирования (абонентского коэффициента). Обратите внимание, что способы на основе абонирования часто используются в алгоритмах управления разрешением на доступ для сетей проводной линии связи. В беспроводной сети условия канала для каждого пользователя остаются изменяющимися и, следовательно, емкость по прямой линии связи, как видно планировщику БППС, также изменяется. Алгоритм на основании коэффициента абонирования для проводной линии связи предполагает фиксированную емкость линии связи и таким образом не является непосредственно применимым в беспроводных сетях.
Для беспроводных сетей один вариант осуществления предусматривает алгоритм управления разрешением на доступ на основании адаптивного коэффициента абонирования (АКА, ASF) для управления ПЛС, при этом сети поддерживают многие соответствующие приложениям потоки, имеющие требования к КО. Использующее АКА управление разрешением на доступ в беспроводной сети динамически обновляет коэффициент абонирования посредством мониторинга статистики КО и сетевой статистики. Могут использоваться различные механизмы, чтобы выполнять функции обновления. Следовательно, является возможным предпринимать корректирующее действие, используя адаптивный коэффициент абонирования. Дополнительно, АКА используется, чтобы осуществить способ обслуживания с приоритетами.
min_prespecified
max_prespecified
min_prespecified
max_prespecified
initial
initial
ASF, AS(t) вычисляют в каждый момент времени t. Процесс определяет минимальную пороговую величину, AS и максимальную пороговую величину, AS для AS(t) так, что 1<AS≤AS(t)≤ AS<,t. Первоначально ASF назначают значение S, так что AS(0)=S.
max
max
На Фиг. 14 показана временная диаграмма, представляющая график максимальной скорости передачи данных, зарезервированной полосы частот, и доступной полосы частот в зависимости от времени. Максимальная скорость (L), на которой БППС может передавать данные по прямой линии связи, обеспечивает верхнее предельное значение для распределения ресурсов. Активные потоки приложений оценивают, чтобы определить зарезервированную полосу частот Res(t). Используя статистику, связанную с нарушениями КО и загрузкой сети, вычисляют адаптивный коэффициент абонирования и выполняют оценку емкости по прямой линии связи L(t), которую желательно зарезервировать во время t. Обратите внимание, что является возможным что L(t)≤Res(t). Например, пусть предполагается, что получившие разрешение на доступ потоки имели на практике очень хорошие условия канала во время их разрешения на доступ. Теперь, условия канала для нескольких потоков стали плохими, и некоторые потоки не достигают связанных гарантий КО. В этом случае система может пожелать стать более консервативной в разрешении доступа большего количества потоков и установить Avail(t)=0. С другой стороны, если L(t)>Res(t), система может установить Avail(t)=L(t)-Res(t). Значение L(t) является тогда оценкой емкости по прямой линии связи, которую желательно зарезервировать во время t на основании предыдущих статистик нарушения КО и связанной с загрузкой сети, и его вычисляют как функцию L и ASF в виде:
при ограничении
Доступную полосу частот, Avail(t), вычисляют в виде:
Различные меры для ресурсов, как проиллюстрировано на Фиг.14, определяют согласно принятым от пользователей запросам данных об управлении (УСПД) скоростью передачи данных. Каждый пользователь передает запрос данных УСПД по обратной линии связи. В cdma2000 1xEV-DO или другой системе типа ВППД, пользователь передает запрос данных УСПД в каждом временном интервале передачи RL. Как проиллюстрировано на Фиг.15, запросы данных от пользователя 1 (DRC 1) и пользователя 2 (DRC2) изменяются со временем. Запросы данных и требуемое КО определяют зарезервированную полосу частот (Res). Обратите внимание, что связи между значениями DRC и Res представлены в качестве иллюстрации. Альтернативные варианты осуществления и сценарии могут нести различные связи.
k
k
k
k
k
k
k
k
k
Каждый поток приложения имеет заданный профиль трафика в терминах средней скорости и пакетирования, причем профиль трафика потока f задается посредством (σ, r). При этом r является средней требуемой скоростью для потока f и σ является мерой пакетирования, в которой требуемая скорость для потока f задается в виде req_rate(f)=r.
k
k
k
В соответствии с одним вариантом осуществления управление разрешением на доступ оценивает поток f для разрешения на доступ. Управление разрешением на доступ сначала применяет наблюдаемое (измеренное) DRC для пользователя, u(f), соответствующего потоку f, чтобы удовлетворить требуемую скорость, при этом наблюдаемое DRC меньше или равно среднему DRC запроса данных для этого пользователя, в виде:
Затем выполняют вычисление ASF, AS(t) и используют, чтобы вычислить Avail(t) в виде:
k
В заключение, решение о разрешении на доступ для потока f во время t рассматривает:
k
Если потоку f разрешают доступ, меры ресурсов, как проиллюстрировано на Фиг.14, обновляют в виде:
СД продолжает мониторинг статистики КО для всех получивших разрешение на доступ потоков и мониторинг статистики, относящейся к сети. Мониторинг обеспечивает обратную связь для адаптирования коэффициента абонирования.
Способ адаптации для AS(t): Статистика КО, отнесенная к одному сектору, и статистика сети
На Фиг.18А-18Е представлена блок-схема последовательности действий для способа 300 управления разрешением на доступ для системы, поддерживающей множество потоков приложений с наличием требований к КО. На Фиг. 18A в случае, когда запрос о новом потоке СД принимает в блоке-ромбе 302 принятия решения, процедуры управления разрешением на доступ применяют на этапе 304. Иначе процесс ожидает запрос нового потока. Обратите внимание, что в течение этого времени СД продолжает контролировать текущие операционные режимы, чтобы создать статистику КО для активных в текущий момент потоков и статистику сети для потоков. Процедуры управления разрешением на доступ определяют, имеются ли в наличии ресурсы, чтобы поддержать новый поток. Меры ресурсов такие, как проиллюстрированы на Фиг. 14, обновляют на этапе 305. Если новому потоку в блоке-ромбе 306 принятия решения разрешают доступ, обработка продолжается на этапе 307 для применения процесса адаптивного планирования.
k
k
k
k
Процедуры управления разрешением на доступ, соответствующие этапу 304, дополнительно подробно описаны на Фиг. 18B. В блоке-ромбе 308 принятия решения, если требуемая скорость для потока f больше средней, соответствующей запросу данных УСПД, для потока f, то обработка продолжается на этапе 312, чтобы отвергнуть вход потока f. Иначе обработка возвращается на блок-ромб 310 принятия решения, чтобы определить, является ли требуемая скорость передачи для потока f больше доступных ресурсов, Avail, во время t. Если требуемая скорость меньше Avail, то потоку на этапе 314 разрешают доступ, иначе на этапе 312 поток отвергают. Обновление мер ресурсов согласно этапу 305 дополнительно подробно описано на Фиг. 18C. На этапе 320 обновляют меры Avail и Res ресурсов. Статистику КО обновляют и контролируют на этапе 322. ASF обновляют на этапе 324 на основании результатов этапов 320 и 322. Оценку уровня ресурса L повторно вычисляют на этапе 326. Если на этапе 328 запрошен новый поток, обработка возвращается для обработки (осуществляемой) на этапе 304 по Фиг.18А. Если новый поток не запрошен на этапе 328, то на этапе 330 для каждого пользователя определяют присутствие пользователя в секторе. На этапе 332 определяют промежуток времени для продолжительности выборки.
Продолжая описание Фиг.18D, параметры ГКО выбирают для каждого потока на этапе 340. Рассматриваются два параллельных пути обработки, при этом согласно первому пути обрабатывают нарушения скорости на этапе 342 через интервал выборки скорости. Обратите внимание, что интервал выборки скорости больше продолжительности выборки, вычисленной на этапе 332. Согласно второму пути обрабатывают подробно каждый активный поток. На этапе 344 для данного потока процесс определяет отношение IP-пакетов, которые имеют нарушения времени задержки в течение продолжительности выборки. На этапе 34 6 для рассматриваемого потока вычисляют отношение IP-пакетов с нарушениями флуктуации в течение продолжительности выборки. Относительную долю временных интервалов, используемых потоком в течение продолжительности выборки, затем вычисляют на этапе 348. На этапе 350 процесс определяет долю временных интервалов, которые в течение продолжительности выборки предоставлены потокам с наличием требований к КО. На этапе 352 процесс проверяет нарушения КО и на этапе 354 определяет идентификатор (ИД, ID) группы КО.
Продолжение обработки показано на Фиг. 18E, на которой на этапе 360 вычисляют количество потоков для каждой группы КО. На этапе 362 процесс затем вычисляет долю потоков КО, соответствующих каждой статистике КО. Результаты этапов 360 и 362 затем на этапе 364 сравнивают с заранее установленными пороговыми значениями. Обратите внимание, что пороговые значения могут быть обновлены динамически в течение операции. На этапе 366 соответственно корректируют ASF.
На Фиг. 18A-18E представлен один вариант осуществления способа управления разрешением на доступ. Дополнительные подробности способа управления разрешением на доступ обсуждены при этом ниже. Элемент СД, такой, как БППС, накапливает отнесенную к сектору статистику для каждого потока и использует эту информацию для отнесенного к сектору управления разрешением на доступ и алгоритмов приоритетного прерывания обслуживания. Отнесенную к сектору статистику накапливают только в течение времени, когда пользователь, соответствующий этому потоку, находится в данном секторе. БППС накапливает статистику КО и статистику, относящуюся к сети, периодически. Пусть T будет промежутком времени, после которого они (статистики) накоплены, причем Z является индексом выборки (отсчетов), t=Z*T.
k
k
k
enter
reserve
k
free
k,
reserve
k
enter,j
k
leave,j
k
reserve
k
enter,first
k
free
k,
leave,last
k
enter,first
k
k
leave,last
k
k
t
Пусть рассматривается поток f в секторе s, при этом u(f) является пользователем, соответствующим потоку f. Пользователь входит в сектор s во время t. Ресурсы являются резервированными для этого потока в течение продолжительности [t(f,s),t(fs)] внутри сектора s, причем ресурсы резервируют во время t. Ресурсы резервируют во время, когда пользователь запрашивает услугу приложения. Пользователь u(f) входит в сектор s в j-й раз в течение вышеупомянутой продолжительности в момент (f,s) и выходит j-й раз в момент t(f,s). Таким образом, t(f,s)≤t(f,s) t(fs)≥ t(f,s). Обратите внимание, что является возможным, что СД может быть приказано резервировать ресурсы для потока посредством протокола сигнализации КО в упреждение того, что пользователь может переместиться в этот сектор в некоторой будущей точке времени. При этом t(f,s) является первым временем, когда пользователь u(f) входит в этот сектор s, и t(f,s) является последним временем, когда этот пользователь выходит из сектора s в течение времени существования потока f.
Алгоритм принимает во внимание статистику КО и относящуюся к сети статистику качества функционирования во время t, только если в этот момент времени удовлетворяются три нижеследующих условия: и
k
k
k
k
k
enter_latest
k
k
причем δ(f) и θ(f) являются заранее заданными для потока f и IN_IP_PKTS(f,t,s} является количеством входных IP-пакетов для потока f, планируемого для передачи посредством используемого БППС планировщика прямой линии связи в течение периода (max(t-T,t(f,s)),t] в секторе s. Если последний бит IP-пакета является переданным в секторе s, этот бит включают в подсчет IN_IP_PKTS для сектора. Переменная δ(f) относится к моменту времени, после которого присутствие в секторе рассматривают существенным. Другими словами, как только пользователь находится в секторе s в течение δ секунд, процесс начинает оценивать ресурсы. Обратите внимание, как только получил разрешение на доступ, пользователь может выходить и повторно входить в сектор без требования повторного разрешения на доступ.
k
enter_latest
k
Затем используются статистика КО и статистика сети, чтобы оценить критерии разрешения на доступ для каждого потока, запрашивающего услугу приложения. Доля задержанных IP-пакетов, соответствующих потоку f в секторе s в промежуток времени (max(t-T,t(f,s)),t], вычисляют в виде:
k
k
k
при этом DELAYED_IP_PKTS(f,t,s) соответствует количеству IP-пакетов, задержанных на БППС сверх соответствующего предельного значения задержки для потока f для сектора s на момент времени t. При обнаружении нарушения задержки для IP-пакета в секторе s увеличивают значение счетчика нарушений задержки для этого сектора. Доля пар IP-пакетов, имеющих нарушения предельных значений флуктуации для потока f к моменту времени t, вычисляют в виде:
k
k
причем JTR_VIOL_PKT_PAIRS(f,t) соответствует количеству пар IP-пакетов (из последовательных IP-пакетов) с нарушением предельных значений флуктуации для потока f к временному интервалу t.
Это подсчитывают для сектора, если два последовательных IP-пакета для потока были переданы на этот сектор.
k
enter
latest
k
_
Нарушение скорости для потока f в течение промежутка времени (t(f,s),t],
k
k
k
k
k
enter_latest
k
причем req_rate(f)>served_rate(f,t,s). Иначе, если поток f не имеет каких-либо нарушений скорости во время t, вычисляют served_rate(f,t,s) для потока f в секторе s в течение промежутка времени (t(f,s),t].
enter_latest
k
enter_latest
k
Обратите внимание, что для нарушений скорости процесс применяет продолжительность выборки в виде промежутка времени (t(f,s),t], тогда как для нарушений задержки и флуктуации процесс применяет продолжительность выборки в виде промежутка времени (max(t-T,t(f,s)),t].
k
enter_latest
k
Доля временных интервалов, используемых потоком f в течение периода (max(t-T,t(f,s)),t], вычисляют в виде:
k
k
enter_latest
k
k
enter_latest
k
причем SERVED_SLOTS(f,t,s) является количеством временных интервалов, для которых поток f был обслужен в течение промежутка времени, определяемого в соответствии с (max(t-T,t(f,s)),t], и IN_SECTOR(f,t,s) является общим количеством временных интервалов в течение промежутка времени (max(t-T,t(f,s)),t]. Доля временных интервалов, предоставленных потокам, имеющим требования к КО, в секторе s в течение промежутка времени (t-T,t] задается в виде:
frac_slots_qos_flows(t,s)=(Количество временных интервалов, предоставленных потокам с КО в течение (t-T,t] в секторе s)/T(временных интервалов) (27)
Динамическая классификация потоков
k
Для каждого потока f нижеследующие четыре пороговые величины являются заранее заданными и используются, чтобы выполнять проверки отнесенного к потоку КО и связанные с состоянием канала:
k
Frac_delayed_IP_pkts_thres(f) (порог для доли задержанных IP-пакетов),
k
Frac_jitter_viol_IP_pkts_thres(f) (порог для доли IP-пакетов с нарушением флуктуации),
k
rate_viol_thres(f) (порог для доли IP-пакетов с нарушением скорости) и
k
Frac_slots_viol_thres(f) (порог для доли IP-пакетов с нарушением временных интервалов).
reserve
k
free
k
k
Система настраивает (адаптирует) ASF периодически после каждого времени T, причем T является заранее заданным значением. В заданный момент времени t, если проверку адаптации выполняют Z-й раз (то есть, t=Z·T), процесс рассматривает те потоки, которые имеют некоторые ресурсы, зарезервированные в секторе s, то есть, для которых t(f,s)≤t≤t(f,s). Для каждого потока f из этого набора потоков, проверку осуществляют, чтобы оценить нижеследующие «проверки отнесенной к потоку пороговой величины»:
k
Вышеупомянутые четыре проверки выполняют для потока f, если удовлетворены нижеследующие два условия: и
reserve
k
free
k
Если по меньшей мере одно из условий (32), (33) не удовлетворяется для потока, но t(f,s)≤t≤t(f,s) является истинным, результат проверок отнесенной к потоку пороговой величины помечают для этого потока как NA (недоступен).
Процесс вычисляет долю временных интервалов, в течение продолжительности выборки, используемых для потоков с наличием требований к КО, а также вычисляет пороговую величину для этого дольного значения, причем Frac_slots_thres_qos_flows(s) (порог доли временных интервалов для потоков с КО) является верхней пороговой величиной для доли временных интервалов, выделенных потокам, имеющим требования к КО, в промежуток времени T в секторе s. Значение Frac_slots_thres_qos_flows(s) используется для проверки, если:
frac_slots_qos_flows(t,s)>Frac_slots_thres_qos_flows(s). (34)
Процесс классифицирует имеющиеся на текущий момент потоки в соответствии с одной из нижеследующих групп (ГКО) планирования КО:
QSG I или Q_DJR: Потоки, которые имеют требования к задержке, флуктуации и скорости,
QSG II или Q_RavgD: Потоки, которые имеют требования к скорости и средней задержке,
QSG III или Q_R: Потоки, которые имеют требования к скорости.
k
Пусть рассматривается набор потоков, принадлежащих группе Q_DJR. Если данный поток f не подпадает под категорию NA и имеет также:
или
k
k
k
этот поток обозначают как имеющий delay_or_jitter_viol(f,t,s)=Y (нарушение задержки или флуктуации = Да). Иначе, процесс устанавливает delay_or_jitter_viol(f,t,s)=N (Нет) для этого потока. С другой стороны, если этот поток подпадает под категорию NA, то delay_or_jitter_viol(f,t,s)=NA.
Таблица 2
Идентификатор группы статистики КО (QS_GID)
Класс КО
delay_or_jitter_viol(f<sub>k</sub>,t,s)
rate_viol(f<sub>k</sub>,t,s)> rate_viol_thres(fk)
1
Для потоков Q_DJR
Да
Да
2
Для потоков Q_DJR
Да
Нет
3
Для потоков Q_DJR, Q_RavgD, Q_R
Нет
Да
4
Для потоков Q_DJR, Q_RavgD, Q_R
Нет (или NA)
Нет (или NA)
В каждый момент времени t, когда выполняют проверку AS(t) адаптации, процесс классифицирует потоки КО, то есть, потоки, имеющие требования к КО, как показано в Таблице 2. Каждому потоку назначен «идентификатор группы статистики КО» (QS_GID).
QS_GID=1: потоки класса Q_DJR, имеющие нарушения скорости и задержки (или флуктуации).
QS_GID=2: потоки класса Q_DJR, имеющие нарушения задержки (или флуктуации) без нарушений скорости.
QS_GID=3: потоки класса Q_DJR без нарушений задержки и флуктуации, но с наличием нарушений скорости. Этот случай может возникать для адаптивных приложений. Также, потоки, соответствующие классам Q_R и Q_RavgD, имеющие нарушения скорости, назначают на эту группу.
QS_GID=4: потоки без нарушений КО (скорости, задержки и флуктуации). Потоки категории NA, как описано выше, также помещают в эту группу.
Адаптация коэффициента абонирования
k
Пусть N(t,s) является количеством потоков, соответствующих ГКО k во время t, и N(t,s) является общим количеством потоков, для которых есть некоторые ресурсы, резервированные в секторе s во время t.
N(t,s)= (37)
Пусть M обозначает идентификатор группы (QS_GID) статистики КО, приводя к:
Доля потоков, соответствующих ГКО для потока k, ГКО k, в группе M статистики КО во время t (в секторе s), задается в виде:
Доля потоков с нарушением задержки (или флуктуации) и скорости во время t задается в виде:
Q_DJR
Frac_flows_DJR_viol(t,s)=F(t,M=1,s) (42)
Доля потоков с нарушением задержки (или флуктуации), но без нарушения скорости во время t, задается в виде:
Q_DJR
Frac_flows_DJ_viol(t,s)=F(t,M=2,s) (43)
Доля потоков только с нарушением скорости во время t задается в виде:
Доля потоков без нарушения КО (или которые находятся в категории NA) задается в виде:
Адаптацию S(t) осуществляют периодически после каждого временного промежутка T, который является заранее установленным. С целью адаптации, вышеупомянутые группы можно рассматривать, как изложено ниже:
Таблица 3
QSG
Доля потоков с QS_GID=1
Доля с QID=2
Доля с QID=3
Доля с QID=4
QSG_DJR
Frac_flows_DJR_viol (t,s)
Frac_flows_DJ_viol(t,s)
Объединенная с Frac_flows_R_only_viol(t,s)
Объединенная с Frac_flows _no_na_viol (t, s)
QSG_RavgD
Не применяется
Не используется
Объединенная с Frac_flows_ R_only_viol (t, s)
Объединенная с Frac_flows _no_na_viol (t, s)
QSG_R
Не применяется
Не применяется
Объединенная с Frac_flows_ R_only_viol (t, s)
Объединенная с Frac_flows_ no_na_viol (t, s)
Нижеследующие пороговые величины являются заранее заданными и используются в способе адаптации, показанном ниже.
Frac_flows_thres_DJR: пороговая величина на долю потоков с нарушением задержки (или флуктуации) и скорости
Frac_flows_thres_DJ: пороговая величина на долю потоков с нарушением задержки (или флуктуации) и без нарушения скорости
Frac_flows_thres_R: пороговая величина на долю потоков с нарушением скорости (и без нарушения задержки или флуктуации)
Frac_flows_thres_ok_qos: пороговая величина на долю потоков без нарушения КО
Процесс продолжается в нижеследующем порядке в каждый момент времени, когда проверку адаптации выполняют для AS(t):
Этап 1: Если Frac_flows_thres_DJR_viol(t,s)≥ Frac_flows_thres_DJR:
qos
qos
qos
qos
AS(t*)=f*AS(t)+x, так что AS(t*)≥AS(t). При этом f и x заранее заданы. В противном случае,
Этап 2: Если Frac_flows_DJ_viol(t,s)≥Frac_ flows_thres_DJ:
delay_jitter
delay_jitter
delay_jitter
delay_jitter
AS(t*)=f*AS(t)+x, так что AS(t*)≥AS(t). При этом f и x являются заранее заданными. В противном случае,
rate
rate
rate
rate
Этап 3: Если Frac_flows_R_only_viol(t,s) ≥ Frac_flows_thres_R, AS(t*)=f*AS(t)+x, так что AS(t*)≥AS(t). При этом f и x заранее заданы. В противном случае:
Этап 4: Если Frac_flows_no_na_viol(t,s)< Frac_flows_thres_ok_qos,
all_qos_flows
all_qos_flows
all_qos_flows
all_qos_flows
AS(t*)=f*AS(t)+X, так что AS(t*)≥AS(t). При этом fXзаранее заданы. В противном случае:
Этап 5: Если Frac_flows_no_na_viol(t,s)≥ Frac_flows_thres_ok_qos, и если
frac_slots_qos_flows(t,s)<Frac_thres_slots_qos_flows:
ok
ok
ok
ok
AS(t*)=f*AS(t)+x, так что AS(t*)≤AS(t). При этом f и x заранее заданы. В противном случае:
Этап 6: если Frac_flows_no_na_viol(t,s)≥ Frac_flows_thres_ok_qos, и если frac_slots_qos_flows(t,s)≥ Frac_thres_slots_qos_flows,
AS(t*)=AS(t).
Схема приоритетного прерывания обслуживания
На Фиг. 19 проиллюстрирован способ 400 приоритетного прерывания обслуживания в соответствии с одним вариантом осуществления. Способ 400 начинается определением в блоке-ромбе 402 принятия решения, повысилось ли ASF. Если обнаружено, что ASF повысилось, обработка продолжается на этапе 404, чтобы определить поток, который имеет наивысшее количество нарушений скорости. Другими словами, если ASF повышается, способ 400 приоритетного прерывания обслуживания начинает идентифицировать эти потоки, чтобы прервать обслуживание (вытеснить). В данном варианте осуществления потоки с нарушениями скорости идентифицируют в качестве наилучших кандидатов на прерывание обслуживания. Альтернативные варианты осуществления могут назначать (отдавать) приоритеты другим потокам и могут динамически изменять схему приоритетов.
MAX
Если максимальное значение P приоритета прерывания обслуживания (подробно описанного ниже в документе) достигнуто (найдено) в блоке-ромбе 406 принятия решения, обработка продолжается на этапе 408, чтобы прервать обслуживание потока, имеющего самое высокое количество нарушений задержки. Иначе обработка возвращается на блок-ромб 402 принятия решения. После прерывания обслуживания потока на этапе 408, обработка продолжается в блоке-ромбе 410 принятия решения, чтобы определить, имеются ли многие потоки, имеющие самое высокое количество нарушений задержки. Для многих потоков обработка продолжается на этапе 412, чтобы прервать обслуживание потока, в наибольшей степени потребляющего временные интервалы. Обычно этот поток будет иметь низкоскоростные данные и, следовательно, в большей степени потребляет временные интервалы в течение данного промежутка времени. Обработка затем возвращается на блок-ромб 402 принятия решения.
В одном варианте осуществления применяется способ 400 приоритетного прерывания обслуживания, в котором Р_mах является максимальным количеством потоков, которым разрешено быть прерванными в любой заданной точке времени. Пусть рассматривается подмножество потоков, удовлетворяющих условиям для двух групп приоритетного прерывания обслуживания, показанных в Таблице 3. Конкретно, группа приоритетного обслуживания I состоит из потоков, принадлежащих QSG_R или QSG_RavgD и имеющих
Группа 2 приоритетного прерывания обслуживания состоит из потоков, принадлежащих к Q_DJR ГКО и имеющих
Таблица 4
Идентификатор группы приоритетного прерывания обслуживания
ГКО
Нарушение КО
Нарушение пороговой величины для временных интервалов
1
Q_R, Q_RavgD
rate_viol(f<sub>k</sub>,t,s)>rate_viol_thres(f<sub>k</sub>)
Frac_slots_flow(f<sub>k</sub>,t,s)>frac_thres_slots_flow(f<sub>k</sub>)
2
Q_DJR
Frac_delayed_IP_Pkts(f<sub>k</sub>,t,s)>Frac_delayed_IP_pkts_thres(f<sub>k</sub>)
Frac_slots_flow(f<sub>k</sub>,t,s)>frac_thres_slots_flow(f<sub>k</sub>)
Этап 1: Если AS(t) повысилось (как в способе адаптации для AS(t)) в некоторой точке времени, процесс проверяет, чтобы понять, подпадают ли один или несколько потоков под приоритетное прерывание обслуживания. Обратите внимание, если AS(t) не повысилось, и никакой поток не прерывают.
Этап 2: Пусть рассматривается подмножество потоков, соответствующих группе 1 приоритетного прерывания обслуживания. Из этих потоков следует выбрать число P_max потоков, которые имеют наивысшее значение rate_viol (нарушений скорости). Если есть привязка, следует прервать те, у которых более высокое значение Frac_slots_flow.
Если P_max потоков было вытеснено, то более нет потоков, прерываемых за нарушения скорости.
k
k
k
k
Этап 3: Пусть рассматривается подмножество потоков, которые соответствуют группе 2 приоритетного прерывания обслуживания. Эти потоки имеют требования к задержке и флуктуации и имеют Frac_delayed_IP_Pkts(f,t,s)>Frac_delayed_IP_pkts_thres(f) и Frac_slots_flow(f,t,s)>frac_thres_slots_flow(f). Из этих потоков следует выбрать «P_max» минус количество потоков, прерванных на этапе 2, которые имеют наивысшее значение Frac_delayed_IP_Pkts. Если есть привязка, следует прервать те, которые имеют более высокое значение Frac_slots_flow.
Внутрипользовательское и межпользовательское КО
Пользователь подвижной связи может иметь многие потоки, то есть, многие приложения одновременно. Как представлено при этом, пользователь может задавать следующее:
Отнесенное к (каждому) потоку указание, является ли он или не является чувствительным к задержке и флуктуации. Если он является чувствительным к задержке и флуктуации, должны быть заданы предельные значения задержки и флуктуации.
Суммарная целевая скорость передачи (ATR) для каждого пользователя. Она является целевой скоростью передачи, которую иерархический планировщик (используемый для) прямой линии связи будет стремиться предоставить этому пользователю.
Управление разрешением на доступ
R(t)
j
j
j
j
k,j
j
j
При заданных пользователях R(t) во время t, обозначенных U1, U2…,U, рассматривается num_flows(U,t) в качестве количества потоков для пользователя U во время t. Пусть подразумевается, что пользователь U имеет (k-1) потоков, получивших разрешение на доступ во время t, то есть num_flows(U,t)=k-1. Чтобы решить, разрешать ли доступ новому потоку f для пользователя U во время t, процесс использует наблюдаемое DRC для пользователя U, чтобы проверить нижеследующее:
Количество временных интервалов, полученных потоком, и его соответствующее DRC также принимают во внимание при выполнении адаптации ASF, как описано ранее. Процесс вычисляет AS(t) и вычисляет Avail(t) в виде:
k,j
Процесс разрешает доступ потока f во время t, если
k,j
req_rate(f)≤Avail(t) (52)
Если этому потоку разрешают доступ, то обновлениями являются нижеследующие:
k,j
Res(t)=Res(t)+req_rate(f), (53)
k,j
Avail(t)=Avail(t)-req_rate(f), (54)
j
j
k,j
ATR(U,t)=ATR(U,t)+req_rate(f), (55).
Процесс продолжает осуществлять мониторинг статистики КО для всех получивших разрешение на доступ потоков и пользователей и осуществлять мониторинг статистики, относящейся к сети. Следует их использовать, чтобы продолжить настройку коэффициента абонирования. Затем вычисляют и применяют ASF, AS(t).
Иерархический планировщик
Отнесенная к потоку и отнесенная к пользователю компенсация:
k
Каждому чувствительному к задержке и флуктуации потоку назначают пороговую величину флуктуации. Для каждого чувствительного к задержке и флуктуации потоку fx для пользователя U процесс вычисляет соответствующую компенсацию  задержки и флуктуации. Если поток не имеет пакета в очереди, который перешел пороговую величину задержки, то
k
(fx(U))=1 (56)
Иначе, вычисляют
При этом:
k
для каждого потока fx пользователя U,
min
ndefpkts(n) = минимальное значение ndefpkts (59),
рассматривая все потоки (для всех пользователей) во временном интервале n,
k
k
defpkts(fx(U,n))=количество ожидающих MAC-пакетов потока fx пользователя U, которые нарушили свою пороговую величину задержки во временном интервале n. (60)
k
Для компенсации скорости для пользователя U во временном интервале n определяют
При этом,
k
prev
k
prev
ASR(U,n(n))= общая (суммарная) скорость обслуживания для пользователя U во временном интервале n, и (62)
prev
n≤n. (63)
prev
Временной интервал с номером n является последним временным интервалом, соответствующим n, или перед n, когда скорость передачи была контролируема с целью алгоритма планирования.
k
Процесс определяет общую компенсацию задержки для пользователя U в произвольном временном интервале n. Пусть рассматриваются все потоки этого пользователя, которые имеют требования к задержке, и взгляд обращен на первый пакет в очереди (HOL) пакета MAC для каждого из этих чувствительных к задержке потоков. Если ни один не был в системе в течение промежутка времени более длительного, чем его пороговая величина задержки, то:
k
agg_delay_comp(U,n)=1. (64)
Иначе, рассматривается подмножество потоков для этого пользователя, которые имеют в системе пакет HOL в течение периода более длительного, чем пороговая величина задержки. Для такого пользователя вычисляют:
k
k
k
для всех потоков fx пользователя U, которые имеют HOL MAC-пакетов в системе в течение промежутка времени большего, чем пороговые величины задержек этих потоков. При этом w(fx(U)) является начальным весом, назначенным потоку fx, соответствующему пользователю U.
Вычисление адаптивного веса
Для вычисления адаптивных весов для этого пользователя процесс выполняет проверку нарушения пороговой величины задержки в каждом временном интервале, для каждого потока, для каждого пользователя, который имеет, по меньшей мере, один чувствительный к задержке поток. Процесс вычисляет:
k
agg _delay_comp(U,n) (66)
k
k
k
для каждого такого U. Если agg_delay_comp(U,n)>1, процесс вычисляет адаптивные веса для пользователя U, как изложено ниже:
k
С другой стороны, если agg_delay_comp(U,n)=1, процесс вычисляет:
prev,k
k
prev
k
prev
При этом n(n) является последним временным интервалом, соответствующим n, или перед n, когда контролировалось ASR(U,n(n)) (и таким образом было вычислено α(U,n(n))). Процесс продолжает вычислять окончательный адаптивный вес для этого пользователя, как изложено ниже:
k
k
k
aw(U,n)=Z(U,n)*aw'(U,n) (69)
k
k
k
k
k
При этом Z(U,n)=1, если нет пакета в RTx или очереди DARQ для какого-либо чувствительного к задержке потока для пользователя U. Иначе, Z(U,n)=C(U). При этом C(U) является заранее заданной постоянной.
Способ выбора пользователя и потока
Процесс вычисляет во временном интервале n нижеследующие метрики для каждого пользователя, имеющего, по меньшей мере, один пакет в его очередях:
k
k
k
k
Y(U,n)=aw(U,n)*DRC(U,n)/T(U,n) (70)
k
k
k
При этом, T(U,n)=, является средней скоростью обслуживания для U (то есть, включая все соответствующие потоки). Процесс выбирает пользователя (которому соответствует) с максимальным значением Y(U,n). Как только пользователь был выбран с использованием такого планировщика, процесс выбирает поток для обслуживания этого пользователя согласно нижеследующей схеме.
Пусть рассматриваются потоки, сгруппированные в нижеследующие группы:
Группа 1: QSG_delay_jitter (задержка_флуктуации). Потоки для VoIP.
Группа 2: QSG_delay_jitter. Потоки для видео конференц-связи.
Группа 3: QSG_delay_jitter. Потоки для потокового видео.
Группа 4: QSG_rate_avg_delay (скорость_средняя задержка). Потоки с требованиями к скорости и средней задержке.
Группа 5: QSG_rate. Потоки только с требованиями к скорости.
Нижеследующие этапы могут быть повторены в выполнении алгоритма планирования, описанного в документе.
Этап 1: Рассмотреть все незавершенные потоки (потоки в очередях) для выбранного пользователя в этом временном интервале.
Этап 2: Рассмотреть потоки, соответствующие группам 1 и 2 для этого пользователя. Выбрать поток, в котором пакет HOL нарушил свою пороговую величину задержки и является самым близким к предельному значению задержки для этого потока. Если поток был найден, обслуживать этот поток. Иначе перейти на этап 3.
Этап 3: Рассмотреть потоки, соответствующие группе 3, в которых пакет HOL перешел пороговую величину задержки, и выбрать поток, в котором пакет HOL является самым близким к предельному значению задержки. Если поток найден, обслуживать этот поток. Иначе перейти на следующий этап.
Этап 4: Рассмотреть потоки, соответствующие группе 4, в которых пакет HOL перешел пороговую величину задержки, и выбрать поток, в котором пакет HOL является самым близким к предельному значению задержки. Если поток найден, обслуживать этот поток. Иначе перейти на следующий этап.
Этап 5: Возобновить незавершенные потоки для обслуживания из групп 1-4. Дать предпочтение потоку, имеющему самый низкий номер группы. Если поток был выбран, обслуживать его. Иначе перейти на следующий этап.
Этап 6: Рассмотреть незавершенный поток, соответствующий группе 5, для этого пользователя. Выбрать один с максимальным значением required_rate/served_rate (требуемая скорость/скорость обслуживания). Обслуживать этот поток. Если ни один не выбран, перейти на следующий этап.
Этап 7: Обслуживать поток «Best Effort» для этого пользователя. Если потоков более одного, избирают один с минимальным значением скорости обслуживания.
На Фиг. 16 проиллюстрирован двухуровневый планировщик с применением компенсации, отнесенной к потоку (по потокам) и отнесенной к пользователю. Планировщик, проиллюстрированный на Фиг. 16 и Фиг. 17, является иерархическим планировщиком, используемым для компенсации КО межуровневой и внутриуровневой, как описано в документе. Как проиллюстрировано на Фиг. 16, первый уровень, идентифицированный как уровень I, включает в себя многие элементы планирования или узлы, S1, S2… SM, причем каждый узел обрабатывает различную ГКО. В этом примере M является количеством групп ГКО, которые будут обработаны. Например, узел планирования S1 обрабатывает те потоки приложений, которые относятся к типу «передача голоса по IP-сетям» (VoIP). Тогда как VoIP дается в качестве примера, любые соответствующие приложениям потоки, классифицированные как QSG1, будут обработаны в S1. Такие потоки имеют предельные значения задержки и флуктуации, заданные для оценивания требований к КО. Множество потоков приложений, относящихся к типу VoIP, обрабатывают в элементе S1 планирования. Подобным образом каждый элемент планирования обрабатывает потоки для заданной ГКО. Обратите внимание, что альтернативные варианты осуществления могут поставлять потоки приложений для многих ГКО на один элемент планирования. Обратите внимание, множество элементов планирования могут использоваться, чтобы обработать одну и ту же группу ГКО.
Уровень I планировщика, проиллюстрированный на Фиг. 16, вычисляет часть компенсации, отнесенной к одному потоку. Множество потоков приложений для каждого пользователя проиллюстрированы на Фиг. 16. Элемент планирования уровня II завершает вычисление отнесенной к потоку компенсации.
k
k
k
,
На Фиг. 17 проиллюстрирован планировщик с наличием узлов S1,S2,… Sz планирования. На этом этапе z является количеством пользователей. Обратите внимание, количество пользователей является динамическим и, следовательно, количество текущих узлов планирования может изменяться динамически. Каждый узел планирования S1, S2… Sz приспособлен, чтобы принимать многие потоки от данного пользователя. Узел S1 планирования принимает потоки F1-Fk для пользователя 1 (U1). При этом k является общим количеством потоков приложений, в текущий момент время обрабатываемых для пользователя 1. При использовании отнесенной к потоку компенсации, вычисленной для каждого потока планировщиками уровня I и уровня II по Фиг. 16, планировщик уровня II по Фиг. 17 вычисляет для каждого пользователя общую пользовательскую компенсацию. Планировщик уровня II затем выбирает пользователя для обслуживания во временном интервале согласно алгоритму, использующему адаптивный взвешенный DRC/T, описанный выше для способа выбора пользователя. Планировщик уровня II затем выбирает из числа взвешенных значений, принятых от планировщиков уровня I. Как обозначено, W(U) является начальным весом, назначенным пользователю U и ATR(Uk) является суммарной целевой скоростью для U. Как только пользователь выбран, планировщик уровня I, соответствующий этому пользователю, выбирает поток для обслуживания этого пользователя в этом временном интервале согласно способу выбора потока, описанному выше.
Планировщик для прямой линии связи может разрешать каждому пользователю задавать желательную стоимость за обслуживание потока в заданном значении УСПД во временном интервале. Как только стоимость задана, планировщик адаптивной структуры кадра действует, чтобы удовлетворить требования КО для различных типов приложений. Соответствующий механизм планирования дает возможность поставщику услуг находить хорошее равновесие между целями возрастающей прибыли и удовлетворении требований КО для приложений. Такие механизмы планирования также обеспечивают конечных пользователей динамическим контролем издержек и могут использоваться для приложений, имеющих требования к скорости и/или средней задержке или для приложений потоковой передачи и т.д. Один вариант осуществления предусматривает необязательную возможность установления цены, причем каждый поток задает цену для каждого временного интервала, когда он обслуживается. Эта цена зависит от значения УСПД, запрашиваемого пользователем для потока в этом временном интервале. Поток j для цены (то есть, пользователь, осуществляющий доступ к потоку j), который желательно оплатить во временном интервале m, обозначен в виде c[j,m, DRC[j,m]]. При этом DRC[j,m] обозначает скорость, на которой этот пользователь может быть обслужен во временном интервале m. Пользователь может определять цену статически, например, предварительно заданная цена за каждое значение УСПД. В качестве альтернативы, пользователь может определять цену динамически, например, изменять цену в течение времени существования приложения. Это дает возможность пользователю иметь некоторый контроль над ценой, чтобы реагировать на изменяющееся состояние канала и достигать требуемого КО. Оператор может использовать такой планировщик наряду с планировщиком, представленным для межпользовательского и внутрипользовательского КО. Это дает возможность оператору задавать, по меньшей мере, два типа схем установления цен. Для планировщика межпользовательского и внутрипользовательского КО, оператор может задать статическую схему установления цен (на основании соглашения о статическом уровне услуг) и в то же время, допускать для планировщика динамическую схему установления цены на основании адаптивной структуры кадра. Пользователь может выбирать использование различных схем для различных потоков.
Один вариант осуществления разделяет время на несколько кадров и принимает решения по планированию для каждого временного интервала в зависимости от значений УСПД, требований КО, статистики нарушений КО и цены, заданной каждым пользователем. Структура кадра в основном задает порядок, в котором пользовательские очереди следует обслуживать в (рабочем) цикле. Сеть решает в каждом цикле планирования, какой поток/какого пользователя обслуживать в данном временном интервале для этого цикла, чтобы достичь желаемых целей. Структуру кадра, то есть, порядок, в котором потоки обслуживают в каждом цикле, поддерживают изменяющейся и называется алгоритмом на основании AFS.
Нижеследующие определения поясняют некоторые нотации, используемые в процессе вычисления. Дано N очередей (и одна очередь для каждого потока), пусть предполагается, что требования КО для потока j удовлетворены, если он обслуживается на скорости r[j]. Начальный вес w[j] и временной масштаб ts[j] являются также заранее заданными для каждого потока j. Процесс стремится обеспечить гарантии скорости передачи для каждого потока, который может быть контролируемым (управляемым) в каждом временном интервале, то есть, целым числом, умноженным на временной масштаб (то есть, в каждом временном интервале m*ts[j], при этом m является целым числом).
Пусть start[j] будет временным интервалом, когда рассматриваемый поток j, первоначально запущенный, подлежит обслуживанию в цикле. К концу временного интервала z система желает обслужить S[j,z]=r[j]*(z-start[j]) битов, при этом z=m*ts[j] для некоторого целого числа m. Используя один механизм планирования, система способна сбалансировать количество (времени) временных интервалов, требуемых для распределения данному потоку, и количество битов, требуемых для обслуживания этого потока.
Дополнительно, другие параметры, используемые для планировщика AFS, задаются в виде:
slots_alloc[j,n]: количество временных интервалов, распределенных очереди (потоку) j в цикле n.
slots_served[i,n] - количество временных интервалов, в которые (когда) очередь (поток) j обслуживалась в цикле n.
S_r[j,n]: количество битов для обслуживания потока j к концу цикла n.
round_len[n]: длительность в количестве временных интервалов для цикла n.
round_len_thres: длительность цикла является ограниченной сверху этой пороговой величиной.
B[n]: перечень незавершенных очередей на начало временного интервала n.
out_round
R[j,n]: количество битов, обслуженных планировщиком для очереди j в цикле n.
out
R[j,n,g]: Количество битов, обслуженных планировщиком для очереди j в течение интервала времени [n,g], причем g>=n.
Используя данное выше описание, нехватку в битах для очереди j в начале цикла n задают согласно:
Если нехватка в битах является положительной, соответствующий поток отстает в обслуживании и подлежит компенсированию. С другой стороны, избыточное обслуживание, принятое потоком, не является штрафуемым явно, но является оштрафованным косвенно, поскольку этот поток не будет компенсирован, тогда как другие потоки, которые отстают в обслуживании, будут компенсированы.
Далее, вычисление нормированных недостающих битов для потока j в начале цикле n задается в виде:
Нехватка в слотах для очереди j в начале цикле n задается согласно:
Процесс определяет нормированные недостающие временные интервалы для очереди j на начало цикла n, как изложено ниже:
Пусть lslot[n] является последним временным интервалом из цикла n и fslot[n] является первым временным интервалом из цикла n. Пусть подразумевается, что aw[j,n] обозначает (адаптивный) вес, назначенный потоку j для цикла n. Этот вес определяет количество временных интервалов, которые распределяют потоку j в цикле n.
1
2
1
2
Задается упорядочение значениям УСПД, запрашиваемым пользователями. Конкретно, если DRC[B,S] является более подходящим, чем DRC[B,S], то (B/S)>(B/S). При этом B является количеством битов на один пакет, и S является количеством временных интервалов.
Для каждого цикла планирования планировщика AFS процесс вычисляет для каждого цикла переменные состояния, которые даны выше, и затем вычисляет веса для каждого потока на начало каждого цикла, чтобы распределить некоторое количество временных интервалов этому потоку для этого цикла. Для этой цели процесс использует механизм вычисления адаптивного веса и вычисляет структуру кадра для каждого цикла с использованием циклической дисциплины обслуживания.
Механизм вычисления адаптивного веса
thres,min
Пусть ndef_bits_r является заранее заданной пороговой величиной для ndef_bits_r (недостающие биты в цикле). Процесс определяет набор ndefbits_set[n] (набор недостающих битов) в начале цикла n, как изложено ниже:
thres,min
Пусть S_I[n] является количеством потоков в наборе в начале цикла n. Точно так же ndef_slots_rявляется заранее заданной пороговой величиной для ndef_slots_r (недостающие временные интервалы в цикле). Процесс определяет ndefslots_set[n] (набор недостающих временных интервалов) в начале цикла n, как изложено ниже:
Пусть S_II[n] является количеством потоков в этом наборе в начале цикла n.
Для произвольного потока j в начале цикла n определяют функцию компенсации соответствующего временного интервала, как изложено ниже:
При этом,
thres,min
thres,max
Для каждого потока j следует определить две пороговые величины, slots_comp_I[j] (минимальный порог компенсации временных интервалов) и slots_comp_I[j] (максимальный порог компенсации временных интервалов), так что:
thres,min
thres,max
slots_comp_I[j]≤slots_comp_I[j,n]≤ slots_comp_I[j], j,n (82)
Использование этих пороговых величин наряду с механизмами вычисления адаптивного веса, описанными при этом, предотвращает любой поток от потребления в цикле несправедливо большого количества временных интервалов, и в то же время не штрафует этот поток вне заданного предела.
(83)
thres,min
thres,max
Для каждого потока j следует определить две пороговые величины slots_comp_II[j] и slots_comp_II[j], так что:
thres,min
thres,max
slots_comp_II[j]≤slots_comp_II[j,n]≤ slots_comp_II[j], j,n (85)
В начале каждого цикла потоки разделяют на четыре группы, как дано в Таблице 5.
Таблица 5
Группа
ndef_bits_r<sub>flow</sub>≥ ndef_bits_r<sub>thres,min</sub>
ndef_slots_r<sub>flow</sub>≥ ndef_slots _r<sub>thres,min</sub>
Группа I
Да
Нет
Группа II
Нет
Да
Группа III
Да
Да
Группа IV
Нет
Нет
В начале произвольного цикла n для каждого потока j, принадлежащего либо группе II, либо группе IV, используют slot_comp[j,n]=1. Для каждого потока j, принадлежащего группе I, в начале цикла n применяют нижеследующее:
slot_comp[j,n]=slot_comp_I[j,n]. (86)
Если поток j принадлежит группе III в начале цикла n, применяют нижеследующее:
slot_comp[j,n]=slot_comp_I[j,n]* slot_comp_II[j,n]. (87)
Процесс затем вычисляет адаптивный вес для потока j, причем адаптивный вес для непустой очереди в цикле n является нижеследующим:
min,n
thres,max
При этом r=min{r[k];k:kB[n]}. Для каждого потока j определяют пороговую величину aw[j] и используют эту пороговую величину, чтобы обеспечить:
thres,max
aw[j,n]≤aw[j],j,n. (89)
Затем эти адаптивные веса применяют, чтобы вычислить количество временных интервалов, которые будут распределены каждому потоку, и длительность каждого цикла, так что:
Циклическая дисциплина планирования
Как только каждый поток был распределен, некоторое количество временных интервалов в цикле и длительность цикла являются уже вычисленными. Следующим этапом является выбор потока для обслуживания в любом заданном временном интервале. В любом заданном произвольно временном интервале m в цикле n, если пакет, выбранный в одном из предыдущих временных интервалов, все еще является обслуживаемым, то не должен выбираться новый поток, который подлежит обслуживанию. С другой стороны, если нет пакетов, обслуживаемых в этом временном интервале m в цикле n, поток, подлежащий обслуживанию, выбирают следующим образом. Вычисляют нижеследующую метрику выбора для временного интервала m цикла n для потока j,
для каждого временного интервала m, в котором планировщик должен выбрать новый поток для обслуживания, и для каждого потока j такого, что jB[n] и slots_served[j,n]<θ(j)*slots_alloc[j,n]. При этом θ(j) является заранее установленным для каждого потока j, и wait_comp является компенсацией ожидания, предоставляемой потокам для уточнения (повышения) их предельных значений задержки. Пусть wait[j,n,m] является временем ожидания заголовка пакета линии для потока j в начале временного интервала m в цикле n.
и поток j имеет, по меньшей мере, один ожидающий пакет в начале временного интервала m в цикле n. Затем вычисляют:
thres
thres,max
для всех потоков k таких, что kB[n], и количеством таких потоков является wait_num[n,m]. Для каждого потока j назначают две пороговые величины wait_comp[j] (порог компенсации ожидания) и wait_comp[j] (максимальный порог компенсации ожидания) и используют, чтобы обеспечивать, что
Согласно этому планировщику, использующему AFS, выбирают поток с максимальным значением метрики YY выбора, чтобы обслуживать в любом заданном временном интервале.
Элемент СД в соответствии с одним вариантом осуществления проиллюстрирован на Фиг. 20. Элемент 500 СД принимает данные потока приложения и обрабатывает данные для передачи пользователю. Элемент 500 СД планирует множество потоков приложений, причем каждый поток имеет требования к КО. Обратите внимание, что потоки приложений могут включать в себя поток «Best-Effort», как описано выше. Элемент 500 СД включает в себя блок 502 классификации потока, приспособленный, чтобы идентифицировать профиль трафика и профиль КО, связанные с потоком, и устанавливать соответствие потока классу или ГКО. Блок 502 классификации потока соединен с планировщиком 504, блоком 510 управления разрешением на доступ и блоком 506 контроля КО. Планировщик 504 может осуществлять любой алгоритм из разнообразия алгоритмом планирования, включая, но не ограничиваясь таковыми, пропорциональный справедливый (ПС) алгоритм и адаптивный взвешенный ПС алгоритм. Блок 510 управления разрешением на доступ применяет к принятым посредством СД 500 потокам приложений схему управления разрешением на доступ. Блок 510 управления разрешением на доступ оценивает каждый новый запрашиваемый поток на основании статистики КО и статистики сети и определяет, имеются ли в наличии достаточные ресурсы, чтобы поддержать новый поток. Блок адаптации соединен с блоком управления разрешением на доступ, при этом ASF является обновляемым. Блок 512 адаптации приспособлен для выполнения определения приоритетного прерывания обслуживания для активных в данный момент времени потоков приложений. Приоритетное прерывание обслуживания рассматривает характеристику данного потока по отношению к скорости передачи данных, используемых временных интервалов и другой статистики КО и сети. Блок контроля КО приспособлен, чтобы осуществлять контроль (мониторинг) требований к КО для принятого потока приложения. Обратите внимание, что элемент 500 СД обычно принимает множество потоков и осуществляет выбор из них для передачи пользователю. Планировщик 504 принимает информацию от блока 510 управления разрешением на доступ, относящуюся к тому, разрешен ли доступ новому потоку. Планировщик 504 принимает статистику КО и другую информацию от блока 506 контроля КО, причем планировщик 504 применяет информацию КО, чтобы выбрать поток для передачи.
В документе представлены способы и устройство для управления разрешением на доступ, приоритетного прерывания обслуживания и планирования потоков приложений в системе беспроводной связи. Управление разрешением на доступ рассматривает запрашиваемую скорость данных для нового потока и сравнивает ее с имеющимися в наличии ресурсами. После того, как доступ разрешен, поток поставляют на планировщик, который приспособлен, чтобы выполнять отнесенный к потоку и отнесенный к пользователю анализ, чтобы выбрать пользователя для передачи в каждом временном интервале или намеченном промежутке времени. Специалистам в данной области техники будет понятно, что информация и сигналы могут быть представлены с использованием любых технологий и способов из разнообразия различных технологий и способов. Например, данные, инструкции, команды, информация, сигналы, биты, символы и интегральные схемы, которые могут быть упомянуты по всему описанию выше, могут быть представлены посредством напряжений, токов, электромагнитных волн, магнитных полей или частиц, оптических полей или частиц, или любой их комбинации.
Специалисты в данной области техники дополнительно оценят, что различные иллюстративные логические блоки, модули, схемы и этапы алгоритма, описанные в связи с вариантами осуществления, раскрытыми в документе, могут быть осуществлены в виде электронных аппаратных средств, программного обеспечения, или комбинациями из них. Чтобы ясно проиллюстрировать эту взаимозаменяемость аппаратных средств и программного обеспечения, различные иллюстративные компоненты, блоки, модули, схемы и этапы были описаны выше обобщенно в терминах их функциональных возможностей. Осуществлены ли эти функциональные возможности в виде аппаратных средств или программного обеспечения, зависит от конкретного применения и конструктивных ограничений, наложенных на всю систему. Специалисты в данной области техники могут осуществлять описанные функциональные возможности различными способами для каждого конкретного применения, но такие решения по осуществлению не следует интерпретировать в качестве вызывающих выход за объем настоящего изобретения.
Различные иллюстративные логические блоки, модули и схемы, описанные в связи с вариантами осуществления, раскрытыми в документе, могут быть осуществлены или выполнены с помощью универсального процессора, цифрового процессора сигналов, проблемно-ориентированной интегральной микросхемы (ASIC), вентильной матрицы с эксплуатационным программированием (матричной БИС, FPGA) или другого программируемого логического устройства, дискретной вентильной или транзисторной логики, дискретных (цифровых) аппаратных компонентов или любой их комбинации, разработанной для выполнения функций, описанных в документе. Универсальный процессор может быть микропроцессором, но в качестве альтернативы, процессор может быть любым обычным процессором, контроллером, микроконтроллером, или машиной состояний. Процессор также может быть осуществлен в виде комбинации вычислительных устройств, например, комбинации ЦПС и микропроцессора, набора микропроцессоров, одного или нескольких микропроцессоров в объединении с базовыми средствами ЦПС или любой другой подобной конфигурации.
Этапы способа или алгоритм, описанный в связи с вариантами осуществления, раскрытыми в документе, могут быть воплощены непосредственно в аппаратных средствах, в программном модуле, исполняемом процессором, или в комбинации этих двух. Программный модуль может постоянно находиться в оперативном запоминающем устройстве, флэш-памяти, постоянном запоминающем устройстве (ПЗУ, ROM), электрически стираемом программируемом постоянном запоминающем устройстве (ЭСППЗУ, EPROM), регистрах, накопителе на жестком диске, сменном диске, ПЗУ на компакт-диске (CD-ROM) или любой другой форме носителя данных, известного в области техники. Иллюстративный носитель данных соединен с процессором, так что процессор может считывать информацию из носителя данных и записывать информацию на него. В качестве альтернативы, носитель данных может быть встроенным в процессор. Процессор и носитель данных могут постоянно находиться в ASIC. ASIC может постоянно находиться в пользовательском терминале. В виде альтернативы, процессор и носитель данных могут постоянно находиться в качестве дискретных компонентов в пользовательском терминале.
Предыдущее описание раскрытых вариантов осуществления представлено, чтобы дать возможность любому специалисту в данной области техники создавать или использовать настоящее изобретение. Различные модификации этих вариантов осуществления будут легко видимы специалистам в данной области техники и общие принципы, определенные при этом, могут применяться к другим вариантам осуществления без выхода за пределы существа и объема настоящего изобретения. Таким образом, настоящее изобретение не предусматривает являться ограниченным вариантами осуществления, показанными в документе, но должно получить самую широкую область применения, совместимую с принципами и признаками новизны, раскрытыми в документе.