КАДРОВЫЙ ПРОТОКОЛ И СИСТЕМА ПЛАНИРОВАНИЯ Российский патент 2008 года по МПК G01N7/00 

Описание патента на изобретение RU2323429C2

Область техники, к которой относится изобретение

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

Предшествующий уровень техники

Поскольку общество становится все в большей степени подвижным, подвижные (мобильные) вычислительные устройства испытывают мощную волну популярности и роста. Сотовые телефоны, беспроводные персональные цифровые помощники (ПЦП), беспроводные портативные компьютеры и другие устройства мобильной передачи данных совершают впечатляющее нашествие с идущими в ногу со временем потребителями. Сдерживанием этого роста и ограничением удовлетворенности потребителей, однако, является отсутствие действительно адекватной недорогой, небольшой системы беспроводной передачи данных с большой зоной обслуживания и с эффективным питанием от батарей. Основанные на сотовой телефонии решения для передачи данных далеки от эффективных по мощности и налагают (относительное) бремя стоимости и размеров, которое делает их непригодными для использования. Аналогично, другие попытки решения этих проблем оказались в равной степени непригодными. Например, были попытки использовать подвижные устройства, которые принимают информацию по частотно-модулированным (ЧМ) поднесущим. ЧМ-поднесущие (также известные как «РДВП», сокращенное от «разрешение дополнительных видов передачи данных») используют доступные частоты над ЧМ-стерео в пределах доступной полосы частот модуляции станции с ЧМ. Поднесущие обычно сдаются в аренду радиостанциями с учетом выполнения требований стандарта Федеральной комиссии связи и других национальных предписаний.

Некоторые примеры систем на ЧМ-поднесущих включают в себя систему QUOTREC, которой владеет и которую поддерживает компания Data Broadcast Corporation (DBC), для доставки котировок курса акций на карманное подвижное устройство. Однако система QUOTREK представляет собой специализированную систему, ограниченную приемом котировок акций. Система имеет различные другие ограничения, которые делают ее непригодной в качестве подвижного вычислительного устройства. Аналогично, компания Seiko Corporation выполнила систему с ЧМ-поднесущей, в которой короткие сообщения передавались на носимое на запястье устройство. Однако использованное аппаратное обеспечение и способ передачи данных были относительно примитивными, приводящими к необходимости чрезмерной избыточности при передаче сообщений. Эти и другие недостатки сделали систему Seiko менее чем приемлемой. Подобным образом, некоторые пейджинговые системы основаны на использовании ЧМ-поднесущей, такие как система передачи радиоданных (СРД, RDS) или подвижная широковещательная система (ПШС, MBS). Однако эти системы включают в себя короткие сообщения, передаваемые широковещательным образом с ограниченными скоростями передачи данных. К сожалению, приемлемое решение подвижного устройства оказалось упущенным специалистами в этой области техники.

Краткое изложение сущности изобретения

В кратком изложении, настоящее изобретение относится к системе и способу планирования передач. Потоки данных передаются от широковещательного сервера на одно или несколько клиентских устройств. Услуги обеспечивают подачу преобразованных в последовательную форму данных на планировщик в широковещательном сервере. Преобразованные в последовательную форму данные могут соответствовать совместно используемым данным, индивидуальным (частным) данным или данным управления. Потоки данных планируются для передачи, основываясь на взвешенных приоритетах, включающих качество метрик услуг. Кадр передачи выполняется в соответствии с кадровым протоколом, который включает в себя обеспечение гибкой таблицы содержания, индексирующей систему для совместно используемых данных. Пакеты совместно используемых данных форматируются, основываясь на критерии, который известен конкретной широковещательной услуге и соответствующему приложению, которое постоянно находится на клиентском устройстве. Клиентское устройство принимает таблицу содержания на транспортном уровне и уведомляет приложения о данных, которые будут доступны в следующем кадре. Приложения представляют запросы с приоритетом транспортному уровню, запрашивая данные в следующем кадре. Данные извлекаются транспортным уровнем для каждого приложения и преобразуются из последовательной формы в параллельную посредством обработчика для каждого приложения. Индивидуальные (личные) данные псевдослучайно назначаются слотам (временным интервалам) в разделах кадра передачи, так что каждый абонент имеет уникальное множество слотов индивидуальных данных. Индивидуальные данные шифруются соответствующим образом для предотвращения несанкционированного приема.

Более полная оценка настоящего изобретения и его усовершенствований может быть получена посредством ссылки на прилагаемые чертежи, которые вкратце описаны ниже, на нижеследующее подробное описание иллюстративных вариантов выполнения изобретения и на прилагаемую формулу изобретения.

Краткое описание чертежей

на фиг.1 представлена схема, иллюстрирующая рабочее окружение (среду);

на фиг.2 представлена схема, иллюстрирующая функциональные компоненты электронного устройства;

на фиг.3 представлена схема, иллюстрирующая часовое устройство, которое включает в себя электронную систему;

на фиг.4А представлена блок-схема системы широковещания и планирования;

на фиг.4В представлена блок-схема примерного вычислительного устройства;

на фиг.4С и 4D представлены схемы, иллюстрирующие последовательности передачи кадра;

на фиг.5 представлена схема, иллюстрирующая заголовок кадра, включающий в себя таблицу содержания (ТС);

на фиг.6 представлена схема, иллюстрирующая дескриптор диапазона ТС;

на фиг.7 представлена схема, иллюстрирующая дескриптор слота ТС;

на фиг.8 представлена схема, иллюстрирующая индивидуальное сообщение;

на фиг.9 представлена схема последовательности операций для планирования кадра на стороне сервера;

на фиг.10 представлена схема последовательности операций для обработки на транспортном уровне на стороне клиента; и

на фиг.11 представлена схема последовательности операций для примерной процедуры обнаружения конфликтов, выполняемой в соответствии с настоящим изобретением.

Подробное описание предпочтительного варианта выполнения

Настоящее изобретение описано в контексте системы передачи данных, которая включает в себя беспроводные клиентские устройства. В описанных вариантах выполнения клиентскими устройствами могут быть устройства типа часов, которые специально выполнены с возможностью приема сигналов передачи данных, как подробно описано ниже. Как очевидно из нижеследующего подробного описания, клиентские устройства принимают широковещательную передачу от одной или нескольких мачт для широковещания. Широковещательные передачи выполняются в соответствии с кадровым протоколом, как описано ниже. Структура кадра имеет таблицу содержания для совместно используемых данных, так что беспроводные устройства с ограниченной емкостью памяти способны принимать сообщения.

Хотя изобретение описано здесь в контексте основанной на часах системы, очевидно, что идеи заявки в равной степени применимы для любого другого подвижного или неподвижного устройства, такого как портативные и настольные компьютеры, персональные цифровые помощники (ПЦП), сотовые телефоны, будильники, брелки для ключей, магниты на холодильник, настенные часы и т. п. Использование часов приведено только для иллюстративных целей, чтобы упростить последующее описание, и может быть использовано взаимозаменяемо с «подвижным устройством» и/или «клиентским устройством». Термины «клиент» и «абонент» являются взаимозаменяемыми терминами, которые описывают пользователя услуги. Каждый клиент (или абонент) может иметь более одного клиентского устройства, где каждое клиентское устройство идентифицируется клиентом (или абонентом).

«Считываемой компьютером средой» может быть любая доступная среда, к которой могут обращаться клиентские/серверные устройства. В качестве примера, а не ограничения, считываемая компьютером среда может содержать запоминающую среду компьютера и среду передачи данных. Запоминающая среда компьютера включает в себя энергозависимые и энергонезависимые, съемные и несъемные носители, реализованные по любому способу или технологии для хранения информации, такой как считываемые компьютером команды, структуры данных, программные модули или другие данные. Запоминающая среда компьютера включает в себя, но не ограничивается ими, оперативное запоминающее устройство (ОЗУ), постоянное запоминающее устройство (ПЗУ), электрически стираемое программируемое ПЗУ (ЭСППЗУ), флэш-память или другую технологию памяти, компакт-диск, цифровые многофункциональные диски (ЦМД) или другие оптические запоминающие устройства, магнитные кассеты, магнитную ленту, запоминающие устройства на магнитных дисках или другие магнитные запоминающие устройства, или любую другую среду, которая может быть использована для хранения требуемой информации и к которой может быть произведено обращение клиентскими/серверными устройствами. Среда передачи данных обычно включает в себя считываемые компьютером команды, структуры данных, программные модули или другие данные в модулированном данными сигнале, таком как волна поднесущей или другой транспортный механизм, и включает в себя любую среду доставки информации. Термин «модулированный данными сигнал» означает сигнал, у которого одна или несколько его характеристик устанавливаются или изменяются так, что кодируют информацию в сигнале. В качестве примера, а не ограничения, среда передачи данных включает в себя проводную среду, такую как проводная сеть или непосредственное проводное соединение, и беспроводную среду, такую как акустическая, радиочастотная, инфракрасная или другая беспроводная среда. Комбинации любых из вышеперечисленных включены в объем считываемой компьютером среды.

Полное рабочее окружение для кадрового протокола описано ниже с ссылкой на фиг.1-3.

Рабочее окружение

На фиг.1 изображено примерное рабочее окружение (100) для настоящего изобретения. Как показано на чертеже, ЧМ-приемопередатчик передает или широковещание передается по каналу (110) передачи данных на различные электронные устройства. Примерные электронные устройства, которые имеют ЧМ-приемник или приемопередатчик, могут включать в себя настольный компьютер, часы, портативный компьютер, беспроводный сотовый телефон (сотовый телефон) и персональный цифровой помощник (ПЦП). Электронные устройства предназначены для приема информации от ЧМ-широковещания. ЧМ-широковещание может быть любого типа, включающего в себя, но не ограничиваясь ими: стандартную ЧМ-передачу, ЧМ-передачу на поднесущей или любой другой тип ЧМ-передачи, который может потребоваться.

ЧМ-поднесущие часто упоминаются как РДВП в качестве идентифицируемого термина Федеральной комиссии связи для разрешения дополнительных видов передачи. ЧМ-поднесущая использует полосу частот, которая, в противном случае, не используется в полосе частот ЧМ-стереовещании на станции с ЧМ. В Соединенных Штатах Америки Федеральная комиссия связи требует, чтобы полоса частот модуляции занимала примерно от 53 кГц до 100 кГц в пределах полосы частот модуляции станции с ЧМ.

Примерные электронные устройства, которые могут включать в себя электронную систему, которая предназначена для работы в соответствии с моделью взаимодействия, изображены на фиг.1. Электронная система может использовать беспроводный интерфейс, такой как системы ЧМ-передач, которые описаны выше. Каждая электронная система принимает потоки сообщений по каналу передачи данных.

Каждая широковещательная передача соответствует передаче одного или нескольких кадров. Каждый кадр может включать в себя многочисленные сообщения, где некоторые сообщения являются общедоступными широковещательными (иначе называемым «глобальными» или «совместно используемыми» сообщениями), тогда как другими сообщениями являются характерные для клиента сообщения (иначе называемые «персональные» или «индивидуальные» сообщения). Каждый клиент, который расположен в пределах обозначенной зоны обслуживания, может принимать совместно используемые данные, тогда как единственный клиент может декодировать индивидуальные данные. Как описано выше, абонент (или клиент) может иметь более одного клиентского устройства, где каждое клиентское устройство может быть способно принимать передачи, которые доступны для абонента.

Электронные устройства (например беспроводное часовое устройство) принимают пакеты, которые направляются на клиентское устройство. Пакеты организованы в группы согласно входным номерам логических слотов (или каналов). Слоты (интервалы времени) связаны с широковещательными услугами, которые соответствуют станции канала. Каждое электронное устройство может быть сконфигурировано для приема различной группы каналов. Пакеты, связанные с каждым из этих каналов, принимаются, обрабатываются и запоминаются в клиентском устройстве. Запомненные пакеты извлекаются приложениями, которые постоянно находятся на клиентском устройстве. Каждое приложение на клиентском устройстве связано с конкретной услугой, которая связана с широковещательным сервером и конкретным каналом. Примеры каналов включают в себя: канал времени, канал сообщений, канал контактов, канал календаря, канал погоды, канал акций, канал новостей и игровой канал.

Иллюстративная электронная система

На фиг.2 представлена принципиальная схема, изображающая функциональные компоненты электронного устройства (200), которое выполнено в соответствии с настоящим изобретением. Электронное устройство (200) имеет процессор (260), память (262), дисплей (228) и пользовательский интерфейс (232). Память (262), в основном, включает в себя как энергозависимую память (например ОЗУ), так и энергонезависимую память (например ПЗУ, флэш-память или т. п.). Электронное устройство (200) включает в себя операционную систему (264), например, такую как операционная система Windows CE корпорации Microsoft или другая операционная система, которая постоянно находится в памяти (262) и выполняется на процессоре (260). Пользовательским интерфейсом (232) могут быть нажимные кнопки, колесо прокрутки, клавишная панель цифрового номеронабирателя (такая как на обычном телефоне) или средство пользовательского интерфейса другого типа. Дисплеем (228) может быть жидкокристаллический дисплей или дисплей любого другого типа, как ранее описано. В одном примере дисплей (228) может быть сенсорным, который служит в качестве устройства ввода.

Одна или несколько программ (266) приложений загружаются в память (262) и выполняются в операционной системе (264). Примеры программ приложений включают в себя программы телефонного номеронабирателя, программы электронной почты, программы планирования/ведения календаря, программы управления персональной информацией (УПИ, PIM), программы браузера Интернета и т. д. Электронное устройство (200) также включает в себя энергонезависимое запоминающее устройство (268), которое расположено в памяти (262). Энергонезависимое запоминающее устройство (268) может быть использовано для хранения долговременной (постоянной) информации, которая не должна быть потеряна при выключении электронного устройства (200). Приложения (266) могут использовать и сохранять информацию в запоминающем устройстве (268), такую как сообщения электронной почты или другие сообщения, используемые приложением электронной почты, контактная информация, используемая УПИ, информация об условленных встречах, используемая программой планирования, документы, используемые приложением по подготовке текстов, мгновенные сообщения для приложения обмена мгновенными сообщениями, текстовые сообщения в приложениях обмена текстовыми сообщениями и т. п.

Электронное устройство (200) имеет источник (270) питания, который может быть выполнен в виде одной или нескольких батарей. Источник (270) питания дополнительно может включать в себя внешний источник питания, такой как блок питания, подключаемый к сети переменного тока, или стыковочный модуль с источником питания, который пополняет или подзаряжает батареи.

Электронное устройство (200) также изображено с двумя типами внешних механизмов уведомления: светоизлучающим диодом (СИД) (240) и звуковым интерфейсом (274). Эти устройства могут быть непосредственно подключены к источнику (270) питания, так что при активизации они остаются включенными в течение времени, определяемого механизмом уведомления, даже если процессор (260) и другие компоненты могут быть отключены для сохранения энергии батарей. СИД (240) может программироваться так, что он остается включенным неограниченное время до тех пор, пока пользователь не предпримет меры, обращая внимание на включенное состояние устройства. Звуковой интерфейс (274) используется для создания звуковых сигналов для пользователя и приема звуковых сигналов от него. Например, звуковой интерфейс (274) может быть подсоединен к громкоговорителю для получения звукового выходного сигнала и к микрофону для приема звукового входного сигнала, с тем чтобы способствовать телефонному разговору, или в качестве пользовательского интерфейса, используя распознавание голоса.

Электронное устройство (200) также включает в себя уровень (272) радиоинтерфейса, который выполняет функцию приема и/или передачи радиочастотных данных. Уровень (272) радиоинтерфейса способствует возможности взаимодействия между электронным устройством (200) и внешним миром посредством оператора связи или провайдера услуг. Передачи на уровень (272) радиоинтерфейса и от него проводятся под управлением операционной системы (264). Другими словами, передачи данных, принимаемые уровнем (272) радиоинтерфейса, могут рассылаться программам (266) приложений посредством операционной системы (264) и наоборот.

Иллюстративная основанная на часах электронная система

На фиг.3 изображено в качестве примера часовое устройство (300), которое включает в себя электронную систему (310), которая конфигурируется для работы в соответствии с настоящим изобретением. Часовое устройство (300) включает в себя ремешок (304) для наручных часов, который включает в себя антенну (302), которая либо присоединена к ремешку для наручных часов, либо выполнена как одно целое с ремешком (304) для наручных часов. Антенна (302) соединена с электронной системой (310), которая находится в часах. Электронная система (310) может содержаться в смотровом окошке, как показано на фиг.3, или в некоторой другой части часового устройства (не показано).

Электронная система (310) предназначена для работы устройства либо как приемник, либо как передатчик. Как изображено на чертеже, электронная система включает в себя приемопередатчик (320), микрокомпьютерный блок (МКБ, MCU) (330) и аналоговую радиостанцию (340). Антенна подсоединяется и управляется приемопередатчиком (320). Связующим звеном для транзакций между МКБ (330) и радиокомпонентами является интерфейс МКБ-цифровой приемопередатчик. Компоненты часового устройства (300) размещены в корпусе по размеру часов и для работы используют батарейное питание.

Приемопередатчик (320), в основном, включает в себя цифровой процессор (324) сигналов (ЦПС), который выполняет задачи управления, планирования и пост-обработки для приемопередатчика, и устройство (326) реального времени (УРВ, RTD), которое включает в себя цифровую радиостанцию, выполняет тактирование системы и диспетчеризацию событий в реальном времени. ЦПС (324) подсоединен к МКБ (330), и задачи приемопередатчика выполняются под управлением команд МКБ (330).

Одна из задач ЦПС может обрабатывать принимаемые данные для таких целей, как восстановление фазы поднесущей, восстановление и/или отслеживание скорости передачи в бодах, компенсация эффектов замирания, демодуляция, устранение перемежения, оценка состояния каналов и коррекция ошибок. Пост-обработка пакетов может происходить тогда, когда весь пакет будет принят, или в другой последующий момент времени. ЦПС (324) анализирует передаваемые пакеты данных для определения тактирования сигнала станции относительно локального сигнала синхронизации УРВ (326). Локальный сигнал синхронизации синхронизируется с сигналом синхронизации передатчика для поддержания целостности дискретизации сигнала. Приемник периодически приводится в состояние символьной синхронизации с передатчиком для минимизирования неправильного считывания принимаемых данных.

Цифровая секция УРВ (326) может включать в себя генераторы временных сигналов системы, такие как кварцевый генератор, который вырабатывает сигнал синхронизации системы для МКБ (330) и ЦПС (324). Временные сигналы также обеспечивают тактирование передачи в бодах и отсчетов (выборок) для операций передачи и приема, управление запуска/останова для работы радиостанции и управление периодами приостановки сигнала синхронизации на МКБ (330) и ЦПС (324). УРВ (326) также выполняет операции радиостанции и также может выполнять дополнительные операции. Радиостанция (340) предназначена для приема сегментов данных, которые размещены в пакетах.

Рабочее окружение, показанное на фиг.2 и 3, приведено только в качестве примеров соответствующего рабочего окружения и не предназначено для того, чтобы предполагать какое-либо ограничение на объем использования или функциональные возможности изобретения. Другие общеизвестные вычислительные системы, окружения и/или конфигурации, которые могут быть пригодны для использования с изобретением, включают в себя, но не ограничиваются ими, персональные компьютеры, серверные компьютеры, карманные или портативные устройства, мультипроцессорные системы, микропроцессорные системы, программируемую бытовую электронику, сетевые ПК, миникомпьютеры, мейнфреймы, распределенные вычислительные окружения, которые включают в себя любые из вышеуказанных систем или устройств, и т. п.

Широковещательные услуги

Каждая мачта широковещательного передатчика предназначена для обеспечения сигнала передачи данных, который конфигурируется для приема беспроводными клиентскими устройствами в пределах зоны обслуживания. Зоной обслуживания является географическая область, которая обслуживается одной или несколькими мачтами широковещательного передатчика (см. фиг.1). Мачта ЧМ-широковещания передает сигнал, подаваемый широковещательным серверным устройством, как показано на фиг.4А. Широковещательное серверное устройство (иначе называемое «генератор») может передавать данные планировщику по линии передачи данных сети.

Планировщик конфигурируется как средство для выбора одной или нескольких услуг. В одном примере, пользователь клиентского устройства взаимодействует с интерфейсом планирования для выбора услуг, таких как новости, курсы акций, погода и других возможностей, таких как персональный календарь, адресная книга и т. п. Интерфейсом планирования может быть веб-интерфейс, который включает в себя предоставляемые возможности для настройки подписки на широковещательные услуги. Выбранные услуги передаются планировщику и устанавливаются в очередь для последующей передачи. В назначенный момент времени (или временной интервал) планировщик извлекает преобразованные в последовательную форму данные от одной или нескольких выбранных услуг (например, SVC1-SVC N). Планировщик назначает приоритеты планированию передач, как подробно описано ниже. Запланированные передачи передаются на широковещательный сервер для начала последовательности передачи данных для выбранных услуг. Широковещательный сервер впоследствии форматирует преобразованные в последовательную форму данные в потоки сообщений для одного или нескольких клиентских устройств, ставит в очередь данные для передачи и пересылает данные из очередей на мачту ЧМ-широковещания для передачи. Планировщик может быть интегрирован с широковещательным сервером или может быть отдельным компонентом.

Каждая широковещательная передача соответствует передаче кадра, который сформирован в соответствии с кадровым протоколом. Каждый кадр включает в себя заголовок кадра и многочисленные потоки данных. Заголовок кадра описывает окружение передачи в отношении параметров, таких как идентификатор номера кадра, время передачи, идентификатор временной зоны, идентификаторы зоны обслуживания, а также другую информацию об окружении. Заголовок кадра также описывает расположение одной или нескольких таблиц содержания для совместно используемых данных в кадре.

Потоки могут быть категоризированы как совместно используемые данные (иначе называемые широковещательными потоками) или индивидуальные данные (иначе называемые персональными данными), которые идентифицируются определенным клиентом (абонентом). Каждый кадр включает в себя таблицу содержания, которая указывает расположение (местоположения) в следующем передаваемом кадре, где размещаются потоки совместно используемых данных.

Пример планировщика

Планировщик, взятый в качестве примера, может быть осуществлен как вычислительное устройство. Также, широковещательный сервер может быть осуществлен как вычислительное устройство. Примерное вычислительное устройство (400) изображено на фиг.4В.

В базовой конфигурации вычислительное устройство 400 обычно включает в себя по меньшей мере один обрабатывающий блок (402) и системную память (404). В зависимости от точной конфигурации и типа вычислительного устройства системная память 404 может быть энергозависимой (такой как ОЗУ), энергонезависимой (такой как ПЗУ, флэш-память и т. д.) или некоторой комбинацией этих двух. Системная память 404 обычно включает в себя операционную систему (405), один или несколько программных модулей (406) и может включать в себя программные данные (407). Эта базовая конфигурация изображена на фиг.4В этими компонентами в пределах пунктирной линии 408.

Вычислительное устройство 400 также может иметь дополнительные признаки или функциональные возможности. Например, вычислительное устройство 400 также может включать в себя дополнительные запоминающие устройства для данных (съемные и/или несъемные), такие как, например, магнитные диски, оптические диски или магнитную ленту. Такое дополнительное запоминающее устройство изображено на фиг.4В посредством съемного запоминающего устройства 409 и несъемного запоминающего устройства 410. Запоминающая среда компьютера может включать в себя энергозависимую и энергонезависимую, съемную и несъемную среду, выполненную любым способом или по любой технологии для хранения информации, такой как считываемые компьютером команды, структуры данных, программные модули или другие данные. Системная память 404, съемное запоминающее устройство 409 и несъемное запоминающее устройство 410 все являются примерами запоминающей среды компьютера. Запоминающая среда компьютера включает в себя, но не ограничивается ими, ОЗУ, ПЗУ, ЭСППЗУ, флэш-память или другую технологию памяти, компакт-диск, цифровые многофункциональные диски (ЦМД) или другие оптические запоминающие устройства, магнитные кассеты, магнитную ленту, запоминающее устройство на магнитных дисках или другие магнитные запоминающие устройства, или любую другую среду, которая может быть использована для хранения требуемой информации и к которой может обращаться вычислительное устройство 400. Любая такая запоминающая среда компьютера может быть частью устройства 400. Вычислительное устройство 400 также может иметь устройство(а) 412 ввода, такие как клавиатура, мышь, перо, устройство для ввода голоса, устройство сенсорного ввода и т. д. Также могут быть включены устройство(а) 414 вывода, такие как дисплей, громкоговорители, принтер и т. д. Все эти устройства известны в технике, и нет необходимости их здесь подробно описывать.

Вычислительное устройство 400 также содержит соединение(я) 416 для передачи данных, которые позволяют устройству передавать данные на другие вычислительные устройства 418, такие как сеть. Соединение(я) 416 для передачи данных являются примером среды передачи данных. Среда передачи данных обычно охватывает считываемые компьютером команды, структуры данных, программные модули или другие данные в модулированном данными сигнале, таком как несущая волна или другой транспортный механизм, и включает в себя любую среду доставки информации. Термин «модулированный данными сигнал» означает сигнал, у которого одна или несколько его характеристик устанавливается или изменяется таким образом, что кодирует информацию в сигнале. В качестве примера, а не ограничения, среда передачи данных включает в себя проводную среду, такую как проводная сеть или непосредственное проводное соединение, и беспроводную среду, такую как акустическая, радиочастотная, микроволновая, спутниковая, инфракрасная и другая беспроводная среда. Термин «считываемая компьютером среда» в том виде, как он используется здесь, включает в себя как запоминающую среду, так и среду передачи данных.

Формат передачи

На фиг.4А также изображена примерная передача кадра. Каждый кадр разбивается на некоторое количество сегментов (М). Первая часть каждого сегмента включает в себя символы синхронизации (Sync). Кадр распределяется по М сегментам (S0 - SM), так что улучшается целостность данных. Приемник в клиентском устройстве устанавливает функции тактирования для приема сигналов данных в соответствии с символами синхронизации. Каждый сегмент включает в себя некоторое количество (N) пакетов. Порядок передачи различных пакетов и сегментов может изменяться, так что кадры перемежаются или являются непрерывными.

На фиг.4С представлена схема, изображающая примерную последовательность передачи кадра, где каждый кадр включает в себя 16 групп сегментов, которые передаются в виде сегментов с перемежением. Каждый сегмент включает в себя 1280 пакетов, так что весь кадр включает в себя 20 480 сегментов. Для примера, изображенного на фиг.4С, каждый пакет (Рх) для данного сегмента (Sx) передается последовательно перед передачей пакетов для следующего сегмента. Последовательность передачи для примерного кадра следующая: (S0P0, S0P1 ... S0P1279); (S1P0, S1P1 ... S1P1279); ... (S15P0, S15P1 ... S15P1279). Согласно примеру, изображенному на фиг.4С, передача нового кадра начинается после завершения 20 480 сегментов предыдущего кадра.

На фиг.4D представлена схема, изображающая другой пример последовательности передачи кадра, где каждый кадр делится на блоки по 80 пакетов из одной из 16 групп сегментов. Для примера, изображенного на фиг.4D, пакеты (Рх) для данного сегмента (Sx) передаются в последовательности с перемежением пакетами для следующего сегмента. Каждый блок передачи состоит из 80 пакетов из конкретного сегмента. Последовательность передачи для кадра показана следующей: (S0P0, S0P1 ... S0P80); (S1P80, S1P81 ... S1P159); ... и т. д. В соответствии с примером, изображенным на фиг.4D, прием кадра всех 20 480 сегментов перемежается так, что кадры завершаются на чередующейся основе.

Структура и взаимодействие кадрового протокола

Клиентские устройства организованы в группу уровней, которые подобны сетевой модели взаимодействия открытых систем (ВОС, OSI). Уровни включают в себя физический уровень, канальный уровень, сетевой уровень, транспортный уровень и прикладной уровень. Физический уровень принимает информацию, передаваемую по ЧМ-поднесущей, и предоставляет символы на канальный уровень. Канальный уровень делит символы на сегменты и проводит обработку функциями кодирования Витерби, "отбеливания" данных и перемежения. Сетевой уровень принимает сегменты и создает логические пакеты. Сетевой уровень также проводит обработку ЦИК (циклического избыточного кода), шифрованием и кодированием методом Рида-Соломона. Транспортный уровень декодирует логические пакеты для извлечения таблицы содержания и включает в себя обработчики данных, которые управляет передачей данных на прикладной уровень. Прикладной уровень включает в себя группу приложений, которые постоянно находятся на клиентском устройстве и связаны с подписками на широковещательные услуги.

Структура кадра включает в себя ряд пакетов, как описано ниже с ссылкой на фиг.5. Для изображенного здесь примера каждый кадр включает в себя 20480 сегментов, которые разбиваются на 16 групп сегментов по 1280 сегментов (например см. фиг.4С), где каждый сегмент включает в себя 68 символов, и каждый символ представляет один бит данных пакета. Каждый символ передается со скоростью передачи битов 12 кбит/с, так что каждая передача кадра начинается примерно через 2-минутные интервалы времени. Сегменты отображаются в логические пакеты, так что 20480 сегментов отображаются на 1280 логических пакетов или 128 байтов, состоящих из 16 сегментов. «Местонахождение» пакета в потоке обозначается как слот.

Заголовок кадра происходит в заранее определенном слоте каждого кадра передачи (например, первый пакет передачи кадра), так что клиентские устройства могут предсказуемым образом извлечь пакет заголовка кадра. Пакет заголовка кадра может включать в себя поля для номера кадра, метки времени, смещения временной зоны, определения региона и определения расположений таблицы содержания (ТС). Поле определения размещений ТС (расположения ТС) идентифицирует размещения (расположения) слота для одной или нескольких таблиц содержания, которые имеют место в последовательности передачи кадра. Каждая последующая передача кадра включает в себя другой заголовок, который может ссылаться на другое количество таблиц содержания. За исключением пакета заголовка кадра, пакеты гибко определяются идентифицированной услугой и соответствующим приложением, которое постоянно находится на клиентском устройстве.

В некоторых случаях заголовок кадра не принимается из передачи, и некоторые параметры могут быть оценены, основываясь на принятом в последний раз заголовке кадра. В одном примере номер кадра может быть оценен, основываясь на текущем времени и последнем известном номере кадра. В другом примере текущее время оценивается, основываясь на времени, связанным с последним принятым заголовком кадра. Для целей приведенных здесь обсуждений, термин «номер кадра» и «текущее время» также ссылаются на оцененный номер кадра и оцененное время.

Номер кадра представляет собой последовательный номер, который начинается с нуля и получает приращение с каждой последующей передачей кадра. Номер кадра практически не повторяется в последующей последовательности передачи. Например, когда новая передача кадра происходит один раз каждые 2 минуты, то 4-байтовый номер кадра не будет повторяться в течение примерно 15 000 лет. Номер кадра может использоваться в качестве начального числа для шифрования и других мер безопасности.

Метка времени представляет собой формат универсального времени (универсального синхронизированного времени (УСВ)) и обозначает уникальное время начала передачи кадра. Широковещательный сервер корректирует метку времени для передачи с учетом сетевых задержек на стороне сервера передачи. Клиентские устройства обязаны компенсировать время широковещательной передачи и обработки кадра. Клиентское устройство может использовать метку времени в качестве средства для синхронизации клиентского устройства с текущим временем в текущем регионе широковещания.

Смещение временной зоны указывает временную зону для географического региона передачи кадра. Каждая передача кадра происходит в конкретном географическом регионе. В одном примере регионы определяются относительно указателей гринвичского среднего времени (ГСВ).

Определение региона включает в себя идентификатор региона, кодовое название и список частот. Примерным идентификатором региона является 16-битовое значение, которое однозначно идентифицирует текущий широковещательный регион, так что клиент может координировать сценарии при роуминге, переезде из пригорода в город и путешествии. Клиентские устройства могут включать в себя идентификатор домашнего географического региона. Клиентские устройства могут идентифицировать идентификатор региона и селективно отфильтровывать станции, основываясь на домашнем регионе. Кодовое название представляет собой строку, которая обеспечивает текстовое описание текущего широковещательного региона для дисплея и/или информационных целей. Список частот соответствует радиочастотам, которые доступны в пределах текущего широковещательного региона (или региона обслуживания). Типичные сценарии включают в себя очень мало широковещательных станций в каждом географическом регионе, хотя большие города с пригородами, такие как Нью-Йорк Сити, могут включать в себя многочисленные широковещательные станции. Значения для каждого элемента в списке станций могут быть выражены в виде смещения от базовой частоты. Примерный элемент в списке станций может включать в себя элементы, которые соответствуют смещению 100 кГц от базовой частоты передачи 88 МГц, вплоть до 108 МГц (спектр ЧМ-широковещания). Таким образом, значение в списке станций 113 соответствует смещению 11,3 МГц от 88 МГц, или частоте 99,3 МГц. Специальное значение (например, 0x00) может быть использовано для указания отсутствия станции, тогда как другое специальное значение (например, 0xFF) может быть использовано для указания, что список станций продолжается в следующей передаче кадра (для регионов, которые имеют более 16 станций).

Клиентское устройство использует информацию о станции для назначения себе определенной частоты, используя процедуру назначения станции. Неназначенные клиентские устройства сканируют весь частотный диапазон (например, 88 - 108 МГц) с целью поиска кадра. После идентификации кадра клиентское устройство принимает список станций и выбирает станцию (например, домашнюю станцию), используя процедуру назначения станции. Клиентское устройство затем начинает принимать пакеты от выбранной станции. Если клиентское устройство выполнило назначение станции, то список станций может игнорироваться в последующих кадрах, до тех пор пока клиентское устройство не потеряет сигнал, или сервер не изменит список (например, устанавливается флаг в таблице содержания для указания изменения в заголовке).

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

Номер кадра (или оцененный номер кадра) и номер пакета также могут быть использованы для определения вектора инициализации для алгоритма шифрования. Процесс шифрования использует ключ услуги и вектор инициализации для шифрования и дешифрования пакетов. Например, 128-битовый ключ услуги может потребоваться для шифрования и дешифрования пакета для услуг с совместно используемыми данными. Клиентское устройство имеет ключ услуги для каждой зарегистрированной широковещательной услуги. Поток данных для зарегистрированной широковещательной услуги может дешифрироваться с помощью 128-битового ключа услуги.

Широковещательный сервер (иначе называемый планировщиком) увеличивает номер кадра для каждой последующей передачи кадра. Длина примерного поля номера кадра составляет 4 байта. Клиентское устройство выделяет номер кадра из заголовка кадра и оценивает номер кадра для определения, не является ли кадр атакой с повторной передачей. Атака с повторной передачей соответствует нераспознанному широковещанию, которое составлено злоумышленником, который регистрирует некоторое количество кадров из первоначальной передачи кадра и передает широковещательным образом кадры в более поздний момент времени с этими же номерами кадров.

Злоумышленник может попытаться произвести разновидность атаки с повторной передачей посредством изменения номера кадра в кадре до приемлемого значения. Однако, когда номер кадра используется в качестве начального числа для вычисления начального значения при шифровании пакетов в режиме обратной связи, является неэффективной разновидность атаки с повторной передачей злоумышленников. Так как исходная широковещательная передача кадра включает в себя шифрование пакета, используя номер кадра, разновидность атаки злоумышленников с повторной передачей не будет включать в себя надлежащее шифрование, и клиентское устройство отбросит пакет как недействительный. Таким образом, номер кадра может использоваться в качестве средства для шифрования пакетов.

Определение расположений ТС обозначает количество таблиц содержания, которые присутствует в передаче кадра, и расположение таблицы содержания в кадре. Расположение таблицы содержания, которое идентифицируется в заголовке кадра, может иметь место в различных «местах» в пределах последовательности передачи, как обозначается заголовком кадра. Определение расположений ТС создает структуру с изменяемым размером с кадром. Расположения ТС могут содержаться в виде списка или массива. Каждый элемент в списке или массиве включает в себя ссылку (например индекс) на логический пакет, где может находиться таблица содержания в передаваемом кадре. Определение расположений ТС также могут включать в себя тип формата, режим коррекции ошибок и установку коррекции ошибок для ТС. Примерным типом формата является дескриптор класса, который связан с возможностями устройств по типу, такому как ПЦП, карманный ПК, игровая приставка XBOX и т. д. Другим примерным типом формата является дескриптор класса, который связан с возможностями устройства по номеру версии протокола.

Таблица содержания (ТС)

Каждая таблица содержания идентифицирует потоки совместно используемых данных, которые будут иметь место в следующей передаче кадра. Клиентское устройство планирует прием потоков совместно используемых данных, основываясь на назначении приоритетов. Так как многие клиентские устройства имеют ограниченные ресурсы, назначение приоритетов может определяться посредством взаимодействия пользователя или посредством предварительно определенного выбора, связанного с подпиской на широковещательную услугу.

Каждый пакет ТС расположен в конкретном логическом пакете, как описано в определении расположений ТС, как описано ранее. Пакет ТС включает в себя набор флагов и дескрипторов диапазона ТС, которые изображены на фиг.5. Размер флагов может составлять 8 битов, тогда как дескрипторы диапазона ТС могут быть массивом (или списком) из 32 элементов. Дескрипторы диапазона ТС представляют собой наибольший дескриптор для пакета ТС и просто ссылаются на совокупность дескрипторов диапазона (например, диапазоны [] ТС). Каждый дескриптор диапазона ТС (например, диапазон 0 ТС) имеет начальное положение и указатели слота ТС (например, слоты [] ТС). Начальным положением для дескриптора диапазона может быть 11-битовое значение, которое указывает смещение пакета от начала диапазона в пределах передаваемого кадра. Указателями слота ТС может быть массив (или список), который описывает набор слотов в диапазоне (например, слот 0 ТС: слот N ТС).

Пример дескрипторов диапазона ТС в кадре изображен на фиг.6. Поток данных передается во времени в кадре. Диапазон 0 определяется начальным положением (положение 1) и тремя слотами, пронумерованными как слоты 0-2. Слот 0 (R0) включает в себя 4 логических пакета, слот 1 (R0) включает в себя два логических пакета и слот 2 (R0) включает в себя четыре логических пакета. Диапазон 1 принимается после паузы в передаче. Пауза в передаче может быть использована услугами, которые отличны от потоков совместно используемых данных, таких как потоки индивидуальных данных, или некоторыми другими второстепенными услугами. Диапазон 1 определяется начальным положением (положение 2) и четырьмя слотами, пронумерованными как слоты 0-3. Слот 0 (R1) включает в себя 8 логических пакетов, каждый слот 1 и 2 (R1) включает в себя два логических пакета, и слот 3 (R1) включает в себя четыре логических пакета. Как отмечается этим примером, каждый диапазон может иметь различное начальное положение, обозначаемое дескриптором диапазона ТС, и различное количество связанных с ним слотов. Необязательно, чтобы каждый слот имел одинаковый размер для каждого диапазона, и он может изменяться по длине, как указывается дескриптором слота ТС для данного диапазона.

Дескрипторы слота ТС могут включать в себя следующие поля: идентификатор услуги, указатель потока, число пакетов, установка (параметры) коррекции ошибок и резервирование кадров. Идентификатор услуги может обозначать определенную широковещательную услугу 16-битовым значением, указывающим тип потока. Указателем потока может быть 16-битовое непрозрачное значение, которое используется обработчиками данных прикладного уровня. Число пакетов может представлять собой 2-битовое значение, которое указывает количество пакетов, содержащихся в слоте. Установкой (параметром) коррекции ошибок может быть 3-битовое значение, которое идентифицирует тип методики коррекции ошибок, которая используется потоком. Резервированием кадров может быть 3-битовое значение, которое указывает, сколько времени планировщик будет гарантировать, что назначение слотов будет действительным для данного идентификатора услуги в смысле количества кадров.

Совместно используемые данные и обработчики данных

Совместно используемые данные связаны с потоками данных, которые предназначены для многочисленных клиентов, и связаны с широковещательной услугой. Каждый клиент, который обращается к совместно используемым данным, должен иметь действительный доступ в виде ключей шифрования, соответствующие приложения на стороне клиента и данные управления. Совместно используемые данные управляются посредством множества обработчиков, которые преобразуют семантику прикладного уровня в запросы пакетов и повторную сборку сообщений.

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

Подача соответствует потоку завершенных данных, который может быть обработан соответствующим приложением на клиентском устройстве и связан с конкретной широковещательной услугой. Поток совместно используемых данных располагается в передаче кадра согласно типу, связанному с подачей. Клиентское устройство включает в себя обработчик данных для каждого приложения, которое постоянно находится в устройстве, так что обработчик данных связан с конкретной широковещательной услугой. Клиентское устройство идентифицирует конкретную широковещательную услугу, основываясь на идентификаторе услуги, который принимается от дескрипторов слота ТС. Примеры обработчиков данных, которые описаны ниже, включают в себя компактный, разреженный и длинный тип. Однако обработчики данных могут быть изменены, и/или дополнительные обработчики данных могут быть добавлены без влияния на кадровый протокол. Каждое приложение и соответствующая широковещательная услуга могут определять режим обработки данных, который имеет определенный тип, идентифицированный идентификатором услуги в дескрипторе слота ТС.

Компактные типы данных имеют взаимно-однозначное соответствие между пакетами и сообщениями, так что все сообщение содержится в одном пакете. Компактному типу данных не требуется никакая информация заголовка. Обработчик компактных данных использует указатель потока из дескриптора слота ТС для определения начального расположения для первого компактного сообщения в слоте. Последующие однопакетные сообщения следуют за начальным местоположением, смещенные на один пакет за раз. Число пакетов в дескрипторе слота ТС указывает общее количество компактных сообщений, которые связаны с широковещательной услугой. Примером компактного сообщения является котировка акции для широковещательной услуги канала (котировки) акций. Широковещательная услуга для канала акций может иметь ряд котировок подписанных акций (например, акции MSFT, IBM, ORCL и т. д.), которые индексируются для приложения на клиентском устройстве. Для этого типа потока данных указатель потока идентифицирует начальное расположение для сообщения о котировке акции на приложении канала акций для клиентского устройства. Каждая последующая котировка акции является отдельным сообщением, которое следует в последовательности после начального местоположения, идентифицируемого указателем потока.

Разреженный тип данных представляет собой поток данных, который распределен по многочисленным пакетам. Приложение на клиентском устройстве запрашивает данные у транспортного уровня, основываясь на информации, которая извлекается из ТС (например идентификатор услуги). Разреженные данные могут охватывать многочисленные пакеты, обычно менее шести, обеспечивая целостность данных и качество услуги. Каждый пакет в потоке разреженных данных называется фрагментом, где каждое сообщение имеет по меньшей мере один фрагмент. Заголовок для каждого пакета извлекается соответствующим приложением на клиентском устройстве, которое идентифицирует количество фрагментов для формирования полного сообщения и номер фрагмента текущего пакета в сообщении. Указатель потока в дескрипторе диапазона ТС указывает расположение первого фрагмента (или пакета) в потоке разреженных данных. Каждый индивидуальный пакет рассматривается как смещение от расположения первого пакета.

Примером сообщения потока разреженных данных является газетный материал в широковещательной услуге канала новостей. Широковещательная услуга для канала новостей может потребовать многочисленные пакеты информации для пересылки всего текста, связанного с газетным материалом, на клиентское устройство. Газетный материал разбивается на многочисленные пакеты, которые могут не поместиться в один кадр передачи, где каждый пакет включает в себя номер пакета (или фрагмента), который идентифицирует, где размещен конкретный пакет (или фрагмент) в потоке полных данных, и идентификатор услуги для идентификации потока новостей.

Примерный дескриптор слота ТС для разреженного типа данных изображен на фиг.7. Дескриптор слота ТС предоставляет клиентскому устройству идентификатор услуги, который связан с конкретным приложением (идентификатор услуги), указатель потока в потоке данных (указатель потока) и число пакетов, которые следуют за ним (число пакетов). В примере, изображенном на фиг.7, приложению широковещательного сервера было предоставлено четыре пакета и он выбрал для посылки последние два фрагмента сообщения №569 и оба фрагмента сообщения №570. Предполагая, что в последний раз, когда этому приложению широковещательного сервера было предоставлено четыре пакета, он выбрал для посылки №568 и первую половину №569. Клиент собирает все пакеты сообщения перед преобразованием из последовательной формы в параллельную содержимого для прикладного уровня.

Длинным типом данных является поток данных, где полное сообщение распределяется по большому количеству пакетов, например при пересылке файла. Длинные типы данных имеют взаимно-однозначное соответствие с идентификатором услуги и номером сообщения. Для потока длинных данных коды коррекции ошибок добавляются к концу потока данных для обеспечения целостности данных по каналу передачи данных. Указатель потока в дескрипторе слота ТС используется для представления порядковых номеров, которые охватывают диапазон пакетов по многочисленным слотам. Например, потоку длинных данных может потребоваться переслать 6К данных. Однако процесс планировщика на сервере может назначить 4 слота в каждом кадре потокам длинных данных, где каждый слот включает в себя 8 пакетов. Обработчик длинных данных разбивает 6К данных на блоки по 8 пакетов, назначая порядковые номера каждому блоку, начиная с 0.

Индивидуальные данные

Данные, предназначенные для определенного абонента, рассматриваются как индивидуальные. Индивидуальные данные могут быть направлены на каждое устройство, которое идентифицируется абонентом (например, более одного устройства), или на одно устройство абонента. Индивидуальные данные предусматриваются как сообщение, которое может охватывать многочисленные пакеты, причем каждый пакет составляет фрагмент полного сообщения. Индивидуальные данные также могут упоминаться как индивидуальное или персональное сообщение. Персональные сообщения не имеют идентификатора услуги и не используют таблицу содержания, как было описано в отношении совместно используемых сообщений.

Индивидуальные сообщения включают в себя заголовок, который включает в себя поля для идентификатора сообщения, фрагментов в сообщении, индекса фрагмента, количества индивидуальных пакетов на кадр и данных. Сервер устанавливает идентификатор сообщения в виде 10-битового значения для идентификации сообщения и исключения дубликатов. Каждое индивидуальное сообщение организуется в виде некоторого количества пакетов, которые идентифицируются 6-битовым значением фрагментов в сообщении. Каждый пакет индексируется 6-битовым значением индекса фрагмента, указывающим, где текущий пакет размещается в общем количестве пакетов в индивидуальном сообщении. Поле количества индивидуальных пакетов на кадр соответствуют 2-битовому полю, которое указывает, сколько пакетов клиент должен запросить. Поле данных представляет собой байты фактических данных, которые преобразуются из последовательной формы в параллельную после приема всех фрагментов для индивидуального сообщения.

Для того чтобы предотвратить несанкционированный прием индивидуальных сообщений, индивидуальные сообщения шифруются ключом шифрования, и каждому клиенту назначается множество местоположений в кадре, где располагаются индивидуальные сообщения. Местоположения определяются алгоритмически, используя комбинацию идентификатора абонента (используемого всеми устройствами, принадлежащими одному абоненту) и текущего номера кадра. Применяется хеш-функция для определения конкретных расположений (например слотов) в кадре, где будет размещаться индивидуальное сообщение клиента. Серверу и клиенту обоим известен идентификатор абонента без передачи какой-либо информации, так что расположения индивидуального сообщения в кадре передачи поступают без какого-либо непосредственного взаимодействия.

Индивидуальное сообщение имеет задержку, которая не должна превышать времени одного кадра (например, двух минут). Так как маловероятен случай, когда один абонент не конкурирует за конкретное расположение пакета, то сервер использует увеличивающиеся приоритеты для обеспечения того, что все абоненты должным образом принимают данные. Посредством переходов по кадру в некоторой степени случайным образом исключаются вырожденные случаи повторных конфликтов с конкурентами, имеющими более высокие приоритеты.

По умолчанию каждый кадр делится на разделы. Клиент запрашивает от 1 до n пакетов в соответствии с количеством индивидуальных пакетов, которые сервер указал для передачи. Каждый запрашиваемый пакет отображается на псевдослучайно назначаемый слот и раздел. Каждый абонент должен иметь уникальное множество назначений слотов/разделов для каждого кадра передачи, так что индивидуальные сообщения не могут быть повторно составлены несанкционированным клиентом. Разделы могут иметь равные или неравные размеры. Конкретный клиент может иметь свои назначения слотов, расположенные в одном разделе, или расположенные в различных разделах, основываясь на псевдослучайном способе назначения.

В одном примере назначения слотов и разделов определяются по следующему алгоритму:

1) Используя уникальный идентификатор и индекс слота, вычисляется значение хеш-функции для назначения раздела.

2) Усекается значение хеш-функции для назначения раздела на общее количество разделов в передаче кадра для определения начального положения для уникального идентификатора.

3) Добавляется номер кадра к усеченному значению хеш-функции, так что каждое устройство циклически проходит по всем разделам.

4) Выбирается начальное и конечное положение раздела.

5) Используя уникальный идентификатор, номер кадра и индекс слота, вычисляется значение хеш-функции для назначения слота в пределах раздела.

6) Свертывается значение хеш-функции для назначения слота, так что свернутое значение умещается в пределах размера выбранного раздела.

7) Добавляется начальное положение раздела к свернутому значению хеш-функции для определения номера пакета для запрашиваемого слота.

8) Повторяются шаги 1-7 для индексов 0, 1, 2 и 3.

Примерный алгоритм для определения раздела и слота изображен ниже посредством псевдокода. Алгоритм псевдослучайно выбирает расположения разделов и слотов, используя уникальный идентификатор, номер кадра и количество разделов, которые обнаруживаются в кадре передачи. Алгоритм разбивается на четыре части (ComputePacketSlot, Hash, HashArray и Collapse), как описано ниже:

public ushort ComputePacketSlot(

byte[] uniqueID,

uint frame,

uint index,

int numOfPartitions,

ushort[] PartitionStart,

ushort[] PartitionEnd)

{

uint partition=(Hash(uniqueID, 0xFFFFFFFF, index)+

frame)%numOfPartitions;

unit slot=Hash(uniqueID, frame, index);

ushort selectedPartitionStart=PartitionStart[partition];

ushort selectedPartitionEnd=PartitionEnd[partition];

ushort selectedPartitionSize=PartitionStart-

selectedPartitionEnd;

return (ushort)Collapse(slot, selectedPartitionSize)+selectedPartitionStart;

}

static public uint Hash(byte[] data, unit frame, unit slot)

{

byte[] val=data+frame+slot;

return HashArray(val);

}

static public unit HashArray(byte[] data)

{

uint hash=0;

int offset=0;

int len=data.Length;

while(len-->0)

{

hash+=data[offset++];

hash+=(hash<<10);

hash^=(hash>>6);

}

hash+=(hash<<3);

hash^=(hash<<11);

hash+=(hash>>15);

return hash;

}

static private uint Collapse(uint slot, uint size)

}

uint res=0;

uint rem;while(slot !=0)

{

rem=slot%size;

slot/=size;

res^=rem;

}

return res%size;

}

Пример индивидуального сообщения для конкретного клиента изображен на фиг.8. Кадр разделен на разделы (например, пять разделов - с одинаковыми или неодинаковыми размерами). Каждый пакет индивидуальных данных, который связан с клиентом (или абонентом), псевдослучайно назначается одному из разделов, используя первую хеш-функцию. Каждый пакет индивидуальных данных, который связан с клиентом (или абонентом), назначается псевдослучайно выбранному местоположению слота в пределах соответствующего раздела. Расположение слота определяется из второй хеш-функции. Как показано на фиг.8, назначения слота и раздела определяются из номера кадра, уникального идентификатора и запрашиваемого количества пакетов (один пакет на слот).

Каждое клиентское устройство имеет уникальный 128-битовый ключ, который упоминается как «ключ устройства». Ключом устройства, предпочтительно, является постоянный ключ, который не может быть изменен, например микросхема с лазерным прожиганием на заводе, так что он не может быть изменен. Ключ устройства используется для шифрования сообщения активизации. Ключ устройства также используется для шифрования сообщений, адресованных конкретному клиентскому устройству (в противоположность всем устройствам, которые зарегистрированы за одним абонентом).

Каждый абонент имеет уникальный 128-битовый ключ, который упоминается как «ключ подписки» (или «ключ управления»). Ключ подписки генерируется тогда, когда пользователь подписывается на услугу передачи индивидуальных сообщений. Во время активизации устройства ключ подписки посылается на клиентское устройство, зашифрованный ключом устройства. Все последующие персональные сообщения для абонента шифруются с использованием ключа подписки.

Каждая широковещательная услуга имеет уникальный 128-битовый ключ, который упоминается как «ключ услуги». Все широковещательные сообщения шифруются ключом услуги. Для простоты конфигурации и использования услуги сгруппированы в ярусы. Все услуги в ярусе совместно используют один ключ шифрования. Когда пользователь подписывается на услугу, он получает ключ в виде персонального сообщения, зашифрованного ключом подписки. Ключ услуги может периодически изменяться, например один раз для каждого периода выписки счетов, так что только те пользователи, которые уплатили за услугу, получают ключ услуги.

Специальный алгоритм используется для извлечения значения из ключа. Алгоритм заключается в шифровании известной строки (например, «hello world») ключом и выделение количества требуемых битов. Это извлеченное значение называется «сигнатура ключа» и используется для многочисленных целей, как описано ниже. Сигнатура ключа устройства используется в качестве идентификатора устройства. Пользователь набирает этот идентификатор на веб-сайте при регистрации устройства. Процесс генерации ключа обеспечивает то, что используются только ключи с уникальными сигнатурами. Сигнатура ключа устройства используется в качестве начального числа для вычисления положения слота для сообщений активизации в кадре (который происходит до активизации устройства - оно еще не получило ключ подписки).

Сигнатура ключа устройства также используется в качестве начального числа для вычисления станции активизации для этого устройства. В одном примере уникальный идентификатор соответствует уникальному серийному номеру, который связан с клиентским устройством. Примерным уникальным кодом может быть 128-битовый код, где 32 бита уникального кода используются в качестве величины смещения для определения назначения мачты из списка доступных мачт в регионе обслуживания. Например, смещение = N по модулю n, где N соответствует 32 битам из уникального кода, и где n - число станций, которые доступны в регионе обслуживания.

Сигнатура ключа подписки (идентификатор сигнатуры, или уникальный идентификатор) используется в качестве начального числа для вычисления положения слота персональных сообщений в кадре после принятия активизации. Сигнатура ключа подписки также используется в качестве начального числа для вычисления назначенной станции для этого устройства (где устройство прослушивает персональные сообщения).

Широковещательный сервер выполнен с возможностью кодирования индивидуальных сообщений аналогичным способом для передачи конкретному клиенту, как описано выше. Широковещательному серверу известны уникальные ключи управления для каждого клиентского устройства. Каждое персональное сообщение кодируется согласно уникальным ключам управления и уникальному идентификатору для клиентского устройства. Алгоритм шифрования пакета использует два значения. Одно фиксированное (ключ), и другое - переменное (вектор инициализации или «ВИ»). ВИ вычисляются с использованием номера кадра и пакета. Так как номер кадра гарантировано увеличивается для каждого кадра, то ВИ всегда будет различным. В одном примере широковещательный сервер вычисляет 128-битовый код, который идентичен 128-битовому коду, который вычисляется клиентским устройством. Автоматическое назначение мачты широковещания и каналов персональных сообщений определяется с использованием вышеописанной процедуры самоназначения.

Режим по умолчанию для извлечения персональных сообщений предназначен для попытки получения четырех (4) пакетов на кадр. Это дорогостоящая операция для срока службы батарей, но снижает задержку в сценариях ключа, таких как подписка или сброс устройства. Поле количества индивидуальных пакетов на кадр в каждом пакете индивидуальных данных может быть использовано сервером для указания того, сколько пакетов клиент должен попытаться извлечь в последующих кадрах. Признано, что это не является гарантией, что сервер действительно заполнит столько же пакетов, или что клиент успешно примет столько же пакетов; скорее оно принимается более как рекомендация. Пакеты шифруются для каждого клиента, основываясь на различных ключах, описанных выше. В одном примере, шифрование выполняется посредством вычисления значения хеш-функции, используя ключ абонента, который соответствует клиенту (или абоненту). Значение хеш-функции включается в передачу пакета. Клиентское устройство игнорирует пакет индивидуального сообщения, когда значение хеш-функции, которое передается в пакете индивидуального сообщения, не совпадает со значением хеш-функции, которое вычисляется клиентским устройством. Для того чтобы правильно интерпретировать индивидуальные сообщения, необходимо, чтобы полезные данные индивидуального сообщения шифровалась ключом клиента (ключом абонента). Псевдослучайные назначения слота и раздела вместе с шифрованием предотвращают несанкционированный прием индивидуальных сообщений. Значение хеш-функции может быть вычислено, используя схему Дэвиса-Майера, алгоритмы MD5, SHA1 (алгоритм стойкого хеширования) или другую соответствующую процедуру хеширования.

Данные управления

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

Планирование кадра широковещательного сервера

Как описано выше в отношении фиг.4А-4D, широковещательный сервер предназначен для выбора данных для передачи в каждом кадре. Выбор данных для данного кадра передачи определяется, основываясь на уровнях приоритета, которые назначаются каждой широковещательной услугой, и качестве метрик услуги, которые применяются планировщиком кадра.

Планировщик выравнивает нагрузку на трафик планированием приоритетов, так что полностью используется полоса частот передачи. Потоки данных могут быть из различных типов данных, таких как индивидуальные данные, совместно используемые данные и данные управления. Индивидуальные данные направляются к одному пользователю, тогда как совместно используемые данные передаются широковещательным образом группе клиентских устройств, как описано ранее. Данные управления могут передаваться одному или группе клиентских устройств и передавать информацию по использованию системных ресурсов и конфигурации.

Планировщик представляет собой распределенную модель, где части функции планирования обеспечиваются обработчиками для совместно используемой услуги, услуги индивидуальных сообщений и администратора таблицы содержания (ТС). Планировщик назначает пакеты слотам в следующей передаче кадра, основанной на алгоритме приоритетов, как описано ниже с ссылкой на фиг.9.

Обработчики услуги совместно используемых данных и индивидуальных данных регистрируются администратором ТС, который, в свою очередь, регистрируется планировщиком. Перед формированием кадра передачи планировщик представляет запрос на генерацию слотов администратору ТС (генерация слотов). Администратор ТС обновляет информацию для отражения последней последовательности передачи (анализ слотов). Анализ назначений слотов подробно описан ниже.

Назначение слотов выполняется для ряда последовательностей передачи, так что клиентские устройства могут полагаться на обозначенные расположения слотов для конкретной информации. Поле резервирования кадров дескриптора слота обозначает количество последовательностей передачи, для которых сохраняется обозначение слотов. Администратор ТС уменьшает содержимое поля резервирования кадров каждого дескриптора слота после завершения последовательности передачи. Все слоты, которые имеют соответствующее поле резервирования кадров со значением нуля, повторно используются администратором ТС как доступные. Однако постоянное назначение слота может быть переопределено индивидуальным сообщением, как подробно описано ниже.

После анализа назначений слотов и повторного использования доступных слотов администратор ТС представляет запрос (запрос на обновление слотов) зарегистрированным обработчикам услуги совместно используемых данных для обновления слотов. Обработчик услуги совместно используемых данных обрабатывает запрос, так что обновляются поля указателя для дескрипторов назначенных слотов (обновление указателей). Поле дескриптора слота ТС, связанное с назначенным слотом, обновляется для отражения изменений в полях указателя и возвращается администратору ТС.

Пример обновления указателей ниже описывается с ссылкой на фиг.7. Сообщения №568-№570 связаны с услугой совместно используемых сообщений, как идентифицировано идентификатором 1024 услуги. Полное сообщение для сообщения №568 включает в себя два пакета. Полное сообщение для сообщения №569 включает в себя четыре пакета. Полное сообщение для сообщения №570 включает в себя два пакета. Предыдущий запрос потребностей (см. описание ниже) привел к назначению слотов для услуги, идентифицируемой идентификатором 1024 услуги, с длиной из четырех пакетов (число пакетов = 4). Дескриптор слота ТС в первой последовательности передачи включает в себя первый идентификатор услуги, равный одной тысячи двадцати четырем (1024), первый указатель потока, равный восемнадцати (18), и первое число пакетов, равное четырем (4). После первой последовательности передачи обработчик совместно используемой услуги обновляет дескриптор слота ТС, так что дескриптор слота ТС во второй последовательности передачи включает в себя второй идентификатор услуги, равный одной тысячи двадцати четырем (1024), второй указатель потока, равный двадцати двум (22), и второе число пакетов, равное четырем (4). Сообщение №569 является примером потока совместно используемых данных, которое разделено на два фрагмента (две отдельные передачи).

После того как будут обновлены дескрипторы слота ТС, администратор ТС представляет сообщение, запрашивающее потребности (запрос потребностей) от обработчиков зарегистрированной услуги совместно используемых данных. Обработчики услуги совместно используемых данных анализируют предысторию передачи, связанную с услугой совместно используемых данных и определившую запрашиваемое количество слотов и пакетов для следующего кадра передачи. Обработчик услуги совместно используемых данных также назначает приоритет своему собственному запросу потребностей и определяет запрос потребностей для следующей передачи кадра. Запрос потребностей включает в себя запрашиваемый приоритет и требуемое количество пакетов, связанных со слотом (например 1, 2, 4, 8, 16 пакетов для слота). Как описано ранее, каждое приложение или услуга совместно используемых данных свободно в определении своего собственного приоритета для передачи сообщений. Запрос потребностей (Потребности) подается на администратор ТС.

Затем администратор ТС запрашивает переопределения (запрос переопределения) у обработчиков услуги индивидуальных данных. Каждый обработчик услуги индивидуальных данных определяет свои потребности для следующей передачи кадра. Обработчики услуги индивидуальных данных определяют назначение слота, основываясь на способе псевдослучайного назначения, который был описан ранее. Обработчик услуги индивидуальных данных запрашивает резервирование некоторого количества слотов для пакетов индивидуальных данных в следующем кадре передачи. В некоторых случаях сообщение бывает срочным, которое требует немедленной передачи, или индивидуальное сообщение находилось в ожидании в течение длительного времени без передачи. В этом случае обработчик услуги индивидуальных данных может потребовать, чтобы сообщение было послано в следующем кадре передачи, выполнив запрос переопределения администратору ТС, указывая, что сообщение индивидуальных данных должно быть послано в следующей передаче кадра.

Администратор ТС анализирует все запросы потребностей от обработчиков услуги совместно используемых данных и все запросы переопределения от обработчиков услуги индивидуальных данных. После анализа всех запросов администратор ТС распределяет слоты для назначения для совместно используемых данных в следующей передаче кадра. Распределения слотов свободно основывается на уровнях приоритета, запрашиваемых обработчиками услуг, и корректируется планировщиком, основываясь на качестве услуги, а также на других метриках. После завершения распределения слотов администратор ТС посылает сообщение на обработчик услуги совместно используемых данных (запрос генерации пакетов), запрашивая пакеты для распределенных слотов совместно используемых данных в следующей передаче кадра.

В ответ на запрос генерации пакетов обработчик услуги совместно используемых данных заполняет назначенные слоты (заполнение слотов) пакетами, которые идентифицированы дескрипторами слота ТС. Пакеты шифруются обработчиком совместно используемой услуги, так что только те клиентские устройства, которые подписались на конкретную широковещательную услугу, могут успешно дешифровать сообщения. После заполнения всех слотов, которые выделены для совместно используемой услуги, администратор ТС резервирует пакеты для следующего кадра передачи и обновляет ТС для текущего кадра. Как указано ранее, ТС представляет собой индекс упреждающего просмотра, который идентифицирует совместно используемые данные, которые будут доступны в следующей передаче кадра. Администратор ТС возвращает заполненные совместно используемыми данными слоты планировщику вместе с таблицей содержания для текущего кадра передачи.

Планировщик посылает сообщение обработчику сообщения с индивидуальными данными для запроса пакетов индивидуальных данных (запрос генерации индивидуальных пакетов). Обработчик сообщения с индивидуальными данными подает пакеты с индивидуальными сообщениями на обозначенные слоты (как ранее было определено, используя способ псевдослучайного назначения). Планировщик затем завершает сборку кадра и подает завершенный кадр на широковещательный сервер для передачи.

Так как индивидуальные данные добавляются в неиспользованные слоты после совместно используемых данных, то возможно, что индивидуальные данные будут повторно вытесняться в результате планирования из следующей передачи кадра. Свойство переопределения способствует предотвращению выгрузки (замены) потоков индивидуальных данных посредством активного распределения назначения слотов помимо «липкого» назначения слотов из потока совместно используемых данных. Два типа назначения слотов могут быть выполнены в результате переопределения (ранее и позднее переопределение слотов). Раннее переопределение слотов имеет место тогда, когда запрос переопределения слотов принимается до формирования ТС, так что назначение слотов заменяется посредством переопределения индивидуального сообщения (до того как слот был распределен услуге совместно используемых данных). Позднее переопределение слотов имеет место тогда, когда запрос переопределения слотов принимается после того как ТС, которая распределяет слот, уже была передана.

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

Как отмечено на фиг.9, каждая услуга, которая зарегистрирована администратором ТС, может определить свои собственные приоритеты. Так как многочисленные услуги находятся в состязании за слоты в следующем кадре передачи, то администратор ТС, в конечном счете, решает, каким услугам будет распределен слот в следующей передаче кадра.

Взвешивание приоритетов для потоков определяется с использованием множества параметров, чтобы максимизировать использование доступной полосы частот и обеспечить адекватное качество услуги для клиентских устройств. Критерии, которые используются для определения приоритета конкретной услуги, включают в себя: времена истечения срока действительности данных, метку времени, длину очереди услуг, количество абонентов на услугу, качество услуги, предпочтение для предварительно назначенных слотов, максимальное количество слотов, извлекаемых клиентским устройством в кадре, и другие правила, которые могут быть необходимы для обеспечения доставляющего удовольствие впечатления пользователя.

Времена истечения срока действительности данных могут быть связаны с конкретной услугой, где данные становятся устаревшими через некоторый период времени. Примеры зависимых от времени услуг включают в себя: отчеты об акциях, отчеты о трафике, сводки погоды, новости в заголовках и гороскопы. Котировка акций действительна только в течение нескольких минут в часы торговли, но будет действительна весь день, когда закрыта фондовая биржа. Информация о трафике может быть полезной только до получаса. Новости в заголовках могут быть действительны в течение нескольких часов, тогда как гороскоп действителен в течение всего дня. Приоритет для зависимых от времени типов данных более высокий, чем для тех, которые менее зависимые от времени.

Метки времени связаны с временем истечения срока действительности данных и с количеством повторных передач, связанных с сообщением. Услуги, которые имеют самое меньшее количество передач, имеют повышенный приоритет по мере приближения времени истечения срока действительности данных.

Длинное сообщение может быть неизвлекаемым клиентским устройством за одну передачу, требуя многочисленные передачи для завершения передачи данных. Посредством назначения длинным последовательностям передачи более высокого приоритета длинное сообщение освобождает очередь за несколько (или более) последовательных передач. Иначе, длинная последовательность передачи может быть разбита по кадру очень большой продолжительности. Изменяемые потоки данных обрабатываются с использованием длины очереди услуг.

Количество абонентов, которые подписаны на услугу, также связано с приоритетом. Например, услуга, которая имеет очень большое количество абонентов, будет иметь более высокий приоритет, чем услуги с очень малым количеством абонентов.

Качество услуги требует, чтобы каждая услуга имела временной слот, в котором передаются сообщения. Например, услуга с очень малым количеством абонентов может неоднократно оттесняться во времени, так что она передается слишком редко. Такая услуга с малой популярностью должна иметь временной слот для посылки минимального количества пакетов для сохранения высокого качества услуги.

Некоторые клиентские устройства имеют ограниченную память и, следовательно, способны принимать только ограниченное количество пакетов сообщения. Планировщик не должен посылать чрезмерное количество пакетов сообщения для каждой услуги, так как клиентское устройство не может извлекать все пакеты. Приоритеты назначаются пакетам сообщений, так что группы пакетов сообщений посылаются в количествах, которые способен извлекать клиент.

Планировщик предпочитает поддерживать «липкие» (присоединяемые) назначения с каждой услугой, так что клиентские устройства, которые теряют таблицу содержания, могут попытаться принять сообщения от последнего известного назначения слотов. Однако «липкие» назначения могут быть переопределены сообщением с высоким приоритетом. Поле резервирования кадров в дескрипторах слота ТС, которые ранее были описаны, отражает «липкие» назначения.

Каждый тип услуги имеет уровень приоритета, который назначается в соответствии с весовой функцией (PS). Например, услуга (S) имеет уровень приоритета (PS), который определяется как: PS=f(VS, WS), где VS - множество значений для критерия услуги S, и WS - множество весовых коэффициентов, назначенных критерию. Планировщик может откорректировать весовые значения для каждой услуги для получения максимального качества услуги. Примерная весовая функция определяется как: .

Обработка клиента на транспортном уровне

Обработка клиента на транспортном уровне ниже описывается с ссылкой на фиг.10. Как описано выше, клиентское устройство способно принимать только ограниченное количество информации в любой данный момент времени. Клиентское устройство имеет ряд резидентных приложений, которые находятся в состязании за потоки данных из сети. Каждое приложение свободно в определении форматирования пакетов, связанных с этим приложением. Транспортному уровню не известна семантика, которая требуется приложению и, вместо этого, выполняет только прием и пересылку логических пакетов с сетевого уровня. Однако, так как многочисленные приложения находятся в состязании за пакеты, транспортный уровень должен назначить приоритеты запросам на данные от каждого приложения.

Приложения регистрируются на транспортном уровне, так что обработчик для приложения активен (или подключен). Транспортный уровень принимает логические пакеты с сетевого уровня. Транспортный уровень выделяет заголовок кадра, чтобы найти расположение таблицы содержания относительно логических пакетов.

Таблица содержания выделяется из логических пакетов, и выполняются уведомления на зарегистрированные приложения о доступных пакетах, которые будут присутствовать в следующей передаче кадра. Зарегистрированные приложения затем определяют свой собственный уровень приоритета, связанный с запросом данных из сети, основываясь на их собственных метриках. Зарегистрированные приложения посылают запросы данных с приоритетами на транспортный уровень через соответствующий обработчик. Транспортный уровень принимает все запросы с приоритетами и принимает решение, какие пакеты будут извлекаться из следующей передачи кадра. Может быть извлечена дополнительная таблица содержания, до тех пор пока транспортный уровень не будет иметь достаточное количество запросов для полного использования возможностей приема клиентских устройств, или пока не будет принято окончание кадра передачи. Транспортный уровень затем выполняет запросы пакетов на сетевой уровень. Как описано выше, клиентское устройство планирует прием потоков совместно используемых данных, основываясь на приоритетах. Так как многие клиентские устройства имеют ограниченные ресурсы (например ограниченную память), то может быть невозможным прием всех возможных запросов данных в одной передаче кадра. Клиентские устройства назначают приоритеты запросам, основываясь на взаимодействиях пользователя и/или посредством предварительно определенного выбора, связанного с подпиской на широковещательную услугу. В одном примере, клиентское устройство может быть сконфигурировано пользователем для контроля курса акций по одному каналу и другого содержимого с меньшим приоритетом по другому каналу (например, ежедневной астрологии). Курсы акций быстро меняются в течение часов проведения торговых операций на бирже. Так как отчеты об акциях зависят от времени (курс акций быстро меняется), то канал акций может иметь повышенный уровень приоритета в течение часов проведения торговых операций биржи и более низкий приоритет после завершения торговых операций на бирже.

В следующей передаче кадра логические пакеты направляются с сетевого уровня на обработчик приложения, который производит сборку (формирование) потока сообщения. В одном примере обработчик идентифицирует завершенное сообщение и направляет завершенное сообщение приложению для дальнейшей обработки. В другом примере обработчик идентифицирует, что сообщение не было завершено в течение чрезмерного количества времени, и сообщение отбрасывается как недействительное. Приложение принимает сообщения и обрабатывает сообщения требуемым образом. Некоторые сообщения требуют обработки из-за шифрования или форматирования, которое определяется конкретными потребностями соответствующей широковещательной услуги.

Примерная передача сообщения ранее была описана в отношении фиг.7. В первой примерной передаче кадра приложение, которое соответствует идентификатору 1024 услуги, принимает компактное сообщение №568. Для этого примера не требуется никакая дополнительная обработка обработчиком, так как все сообщение принимается в одном слоте кадра передачи. Во второй примерной передаче кадра приложение, которое соответствует идентификатору 1024 услуги, принимает фрагмент сообщения №569, которое идентифицируется указателем 22 и 23 потока. Обработчик распознает, что конкретные принятые пакеты связаны с логическими пакетами 3 и 4 4-пакетной передачи. Приложение выдает запрос на получение пакетов 1 и 2 в следующей передаче кадра. В одном примере второй фрагмент сообщения принимается, и производится сборка обработчиком завершенного сообщения, и оно направляется приложению. В другом примере второй фрагмент не принимается своевременно; сообщение становится устаревшим, и незавершенное сообщение отбрасывается.

Транспортный уровень действует как планировщик, который осуществляет балансировку доступных потоков данных с запросами с приоритетами, которые выполняются каждым приложением. Таким образом, основанное на клиенте планирование распределяется как на стороне сервера, так и на стороне клиента. Сторона сервера определяет частоту передач услуг абонента, индивидуальных сообщений и данных управления, тогда как сторона клиента определяет, какие из доступных данных следует извлекать. Так как пакеты индивидуальных сообщений не имеют заголовка, и на них не ссылается таблица содержания, то пакеты индивидуальных сообщений пересылаются с сетевого уровня на прикладной уровень.

Обнаружение конфликтов

Конфликты персональных сообщений устраняются при помощи метода псевдослучайного назначения слотов, который был описан выше. Однако возможно появления ошибок в передаче кадра, а также других проблем, которые приводят к конфликтам. В одном примере позднее назначение слотов для персонального сообщения переопределяет элемент таблицы содержания для широковещательных данных. Для этого примера клиент извлекает пакет, соответствующий назначению слота, идентифицированного в таблице содержания, и определяет принимаемый пакет как конфликт. Широковещательный пакет данных от этого конкретного слота отбрасывается (или игнорируется), так как он не может быть дешифрован без ошибок.

На фиг.11 представлена схема последовательности операций процесса для примерной процедуры обнаружения конфликтов, выполняемой в соответствии с настоящим изобретением. Обработка начинается на этапе 1101 и переходит к этапу 1102.

На этапе 1102 к принятому пакету применяется процесс дешифрования. Процессом дешифрования может быть любой подходящий способ дешифрования. В одном примере сообщения шифруются ключом шифрования, где клиент имеет соответствующий ключ для дешифрования. Обработка переходит от этапа 1102 к этапу 1103, где клиентское устройство применяет процесс проверки достоверности ЦИК к дешифрованному пакету. В соответствии с этапом 1104 принятия решения, клиентское устройство оценивает результат проверки достоверности ЦИК. Обработка переходит от этапа 1104 принятия решения к этапу 1110, если ЦИК достоверный. Альтернативно, обработка переходит от этапа 1104 принятия решения на этап 1105, если ЦИК определен как недостоверный.

На этапе 1105 к пакету применяется методика коррекции ошибок. Коррекцией ошибок может быть любая приемлемая методика коррекции ошибок. Одной примерной методикой коррекции ошибок является код Рида-Соломона. Обработка переходит от этапа 1105 на этап 1106, где клиентское устройство дешифрирует пакет со скорректированной ошибкой. В соответствии с этапом 1107, клиентское устройство применяет процесс проверки достоверности ЦИК к дешифрированному пакету со скорректированной ошибкой. Далее на этапе 1108 принятия решения, клиентское устройство оценивает результат проверки достоверности ЦИК. Обработка переходит от этапа 1108 принятия решения к этапу 1110, в случае если ЦИК достоверный. Альтернативно, обработка переходит от этапа 1108 принятия решения к этапу 1109, если ЦИК недостоверный.

В блоке 1109 клиентское устройство идентифицировало, что принятый пакет идентифицируется как конфликт. Недействительный пакет может быть результатом воздействия шума во внешнем окружении, который разрушил пакет, недействительной передачи пакета или назначения слота пакету, которое не соответствует таблице содержания из предыдущей передачи. Слот может быть назначен другому клиентскому устройству, который имеет другой ключ дешифрования. В одном примере назначением слота было позднее переопределение слота, как было ранее описано.

Вышеприведенное описание изобретения, примеры и данные обеспечивают полное описание изготовления и использования состава изобретения. Так как могут быть выполнены многие варианты выполнения изобретения в пределах сущности и объема изобретения, изобретение определяется формулой изобретения, прилагаемой ниже.

Похожие патенты RU2323429C2

название год авторы номер документа
ДИНАМИЧЕСКАЯ ЗАЩИЩЕННАЯ КОММУНИКАЦИОННАЯ СЕТЬ И ПРОТОКОЛ 2016
  • Уилльямс Ричард К.
  • Верзун Евген
  • Голуб Олександр
RU2769216C2
УСТРОЙСТВО СВЯЗИ ДЛЯ ОБЕСПЕЧЕНИЯ МУЛЬТИМЕДИА В СЕТИ ГРУППОВОЙ СВЯЗИ 2003
  • Блэк Питер Дж.
RU2335854C2
ДИНАМИЧЕСКАЯ ЗАЩИЩЕННАЯ КОММУНИКАЦИОННАЯ СЕТЬ И ПРОТОКОЛ 2016
  • Уилльямс Ричард К.
  • Верзун Евген
  • Голуб Олександр
RU2707715C2
ИНФРАСТРУКТУРНАЯ СЕТЬ 2014
  • Лог Джей Д.
  • Эриксон Грант М.
  • Смит Захари Б.
  • Хардисон Осборн Б.
  • Шультц Ричард Дж.
  • Гуджару Санни П.
  • Нили Мэттью Г.
RU2650028C2
ЭФФЕКТИВНАЯ СВЯЗЬ ДЛЯ УСТРОЙСТВ ДОМАШНЕЙ СЕТИ 2020
  • Эриксон, Грант М.
  • Лог, Джей Д.
  • Боросс, Кристофер А.
  • Смит, Захари Б.
  • Хардисон, Осборн Б.
  • Шультц, Ричард Дж.
  • Гуджару, Санни П.
  • Нили, Мэттью Г.
RU2735238C1
ЭФФЕКТИВНАЯ СВЯЗЬ ДЛЯ УСТРОЙСТВ ДОМАШНЕЙ СЕТИ 2018
  • Эриксон Грант М.
  • Лог Джей Д.
  • Боросс Кристофер А.
  • Смит Захари Б.
  • Хардисон Осборн Б.
  • Шультц Ричард Дж.
  • Гуджару Санни П.
  • Нили Мэттью Г.
RU2713706C1
ИНФРАСТРУКТУРНАЯ СЕТЬ 2020
  • Лог, Джей Д.
  • Эриксон, Грант М.
  • Смит, Захари Б.
  • Хардисон, Осборн Б.
  • Шультц, Ричард Дж.
  • Гуджару, Санни П.
  • Нили, Мэттью Г.
RU2742327C1
ЭФФЕКТИВНАЯ СВЯЗЬ ДЛЯ УСТРОЙСТВ ДОМАШНЕЙ СЕТИ 2014
  • Эриксон Грант М.
  • Лог Джей Д.
  • Боросс Кристофер А.
  • Смит Захари Б.
  • Хардисон Осборн Б.
  • Шультц Ричард Дж.
  • Гуджару Санни П.
  • Нили Мэттью Г.
RU2640728C1
ЭФФЕКТИВНАЯ СВЯЗЬ ДЛЯ УСТРОЙСТВ ДОМАШНЕЙ СЕТИ 2020
  • Эриксон, Грант М.
  • Лог, Джей Д.
  • Боросс, Кристофер А.
  • Смит, Захари Б.
  • Хардисон, Осборн Б.
  • Шультц, Ричард Дж.
  • Гуджару, Санни П.
  • Нили, Мэттью Г.
RU2721938C1
ЭФФЕКТИВНАЯ СВЯЗЬ ДЛЯ УСТРОЙСТВ ДОМАШНЕЙ СЕТИ 2017
  • Эриксон Грант М.
  • Лог Джей Д.
  • Боросс Кристофер А.
  • Смит Захари Б.
  • Хардисон Осборн Б.
  • Шультц Ричард Дж.
  • Гуджару Санни П.
  • Нили Мэттью Г.
RU2676229C1

Иллюстрации к изобретению RU 2 323 429 C2

Реферат патента 2008 года КАДРОВЫЙ ПРОТОКОЛ И СИСТЕМА ПЛАНИРОВАНИЯ

Изобретение относится к широковещательным системам. Техническим результатом является повышение скорости передачи данных. Преобразованные в последовательную форму данные подаются на широковещательный сервер для передачи на одно или несколько клиентских устройств. Данные планируются для передачи, основываясь на взвешенных приоритетах, включая качество метрик услуг. Производится формирование кадра передачи согласно протоколу передачи кадров, который включает в себя создание системы индексирования с таблицей содержания для совместно используемых данных. Пакеты совместно используемых данных форматируются, основываясь на критерии, который известен конкретной широковещательной услуге и соответствующему приложению, которое постоянно находится на клиентском устройстве. Клиентское устройство принимает таблицу содержания на транспортном уровне и уведомляет приложения о данных, которые будут доступны в следующем кадре. Приложения предоставляют запросы с приоритетами на транспортный уровень, запрашивая данные в следующем кадре. Данные извлекаются транспортным уровнем и преобразуются из последовательной формы в параллельную форму для каждого приложения. 8 н. и 62 з.п. ф-лы, 11 ил.

Формула изобретения RU 2 323 429 C2

1. Считываемая компьютером среда, имеющая структуру данных, хранимую на ней, для использования при передаче кадров передачи с серверного устройства на клиентское устройство, причем структура данных содержит

пакет заголовка кадра, который расположен в заранее определенном слоте текущего кадра передачи, причем пакет заголовка кадра включает в себя поле определения расположений таблицы содержания;

пакет таблицы содержания, который расположен в изменяемом местоположении в слоте текущего кадра передачи, причем изменяемое местоположение в слоте определяется элементом в поле определения расположений таблицы содержания заголовка кадра, при этом пакет таблицы содержания идентифицирует потоки совместно используемых данных, которые располагаются в последующем кадре передачи; и

пакет, который расположен в другом изменяемом местоположении слота текущего кадра передачи, причем пакет связан с элементом в пакете другой таблицы содержания из предыдущего кадра передачи, при этом пакет каждой таблицы содержания представляет собой индекс упреждающего просмотра, который индексирует пакеты в последующих кадрах передачи.

2. Считываемая компьютером среда по п.1, в которой каждый кадр передачи включает в себя 20480 сегментов, которые разбиты на 16 групп сегментов по 1280 сегментов, в которой каждый сегмент включает в себя 68 символов, и в которой каждый кадр отображается в 1280 логических пакетов, которые идентифицируются слотом в кадре передачи.3. Считываемая компьютером среда по п.1, в которой пакет заголовка кадра расположен в первом слоте кадра передачи.4. Считываемая компьютером среда по п.1, в которой каждый заголовок кадра дополнительно включает в себя поля для номера кадра, метки времени, смещения временной зоны и определения региона.5. Считываемая компьютером среда по п.1, в которой пакет заголовка кадра дополнительно содержит поле номера кадра, которое имеет связанное значение, которое отличается от значений, связанных с соответствующими полями номера кадра предыдущих и последующих кадров передачи, так что атаки с повторной передачей обнаруживаются клиентскими устройствами.6. Считываемая компьютером среда по п.1, в которой пакет заголовка кадра дополнительно содержит поле метки времени, которое определяет момент времени начала передачи кадра.7. Считываемая компьютером среда по п.1, в которой пакет заголовка кадра дополнительно содержит поле смещения временной зоны, которое указывает временную зону для географического региона каждой передачи кадра.8. Считываемая компьютером среда по п.1, в которой пакет заголовка кадра дополнительно содержит поле определения региона, которое включает в себя идентификатор региона, кодовое название и список частот, в которой идентификатор региона идентифицирует текущий регион широковещания, кодовое название обеспечивает описание текущего региона широковещания, и список частот соответствует радиочастотам, которые доступны в текущем регионе широковещания.9. Считываемая компьютером среда по п.1, в которой пакет заголовка кадра дополнительно включает в себя поля для метки времени и номера кадра, причем метка времени и номер кадра используются для шифрования пакетов в кадре передачи, так что клиентские устройства аутентифицируют заголовок кадра и игнорируют кадры передачи, которые соответствуют разновидностям атаки с повторной передачей.10. Считываемая компьютером среда по п.9, в которой шифруемые пакеты шифруются ключом шифрования и вектором инициализации, причем вектор инициализации определяется значениями по меньшей мере одного из: поля номера кадра и поля метки времени.11. Считываемая компьютером среда по п.1, в которой поле определения расположений каждой таблицы содержания идентифицирует расположение слота, тип формата, режим коррекции ошибок и параметры коррекции ошибок для соответствующей таблицы содержания.12. Считываемая компьютером среда по п.1, в которой поле определения расположений каждой таблицы содержания дополнительно содержит индексы на пакеты таблиц содержания, причем каждый индекс включает в себя расположение слота и тип формата, при этом расположение слота идентифицирует расположение пакета таблицы содержания в кадре передачи, и тип формата идентифицирует конкретный класс клиентского устройства.13. Считываемая компьютером среда по п.1, в которой пакет каждой таблицы содержания дополнительно содержит набор дескрипторов диапазона, причем каждый конкретный дескриптор диапазона включает в себя поля для начального положения и ряд слотов, которые связаны с конкретным диапазоном.14. Считываемая компьютером среда по п.13, в которой начальное положение соответствует номеру пакета, который связан с началом конкретного диапазона в кадре передачи.15. Считываемая компьютером среда по п.13, в которой каждый слот, который связан с конкретным диапазоном, имеет соответствующий дескриптор слота, который включает в себя поля для идентификатора услуги, числа пакетов, указателя потока, параметров коррекции ошибок и резервирования кадров.16. Считываемая компьютером среда по п.13, в которой каждый слот, который связан с конкретным диапазоном, имеет соответствующий дескриптор слота, который включает в себя поле идентификатора услуги, причем каждое поле идентификатора услуги идентифицирует конкретную широковещательную услугу, которая связана со слотом, так что логические пакеты, связанные с дескриптором слота, также связаны с конкретной широковещательной услугой.17. Считываемая компьютером среда по п.16, в которой конкретная широковещательная услуга связана с типом данных, причем каждый логический пакет форматируется в соответствии с типом данных для использования программой приложения, которая также связана с конкретной широковещательной услугой на клиентском устройстве.18. Считываемая компьютером среда по п.17, в которой тип данных соответствует одному из: компактного типа данных, разреженного типа данных и длинного типа данных.19. Считываемая компьютером среда по п.13, в которой каждый конкретный слот, который связан с конкретным диапазоном, имеет соответствующий дескриптор слота, причем дескриптор слота включает в себя поле числа пакетов, которое идентифицирует количество пакетов, которые связаны с конкретным слотом в передаче кадра.20. Считываемая компьютером среда по п.13, в которой каждый конкретный слот, который связан с конкретным диапазоном, имеет соответствующий дескриптор слота, причем дескриптор слота включает в себя поле указателя потока, которое идентифицирует непрозрачное значение, которое используется обработчиками данных прикладного уровня, которые связаны с конкретной широковещательной услугой.21. Считываемая компьютером среда по п.13, в которой каждый слот, который связан с дескриптором диапазона, имеет соответствующий дескриптор слота, в которой дескриптор слота включает в себя поле идентификатора услуги и поле резервирования кадров, причем поле идентификатора услуги идентифицирует широковещательную услугу, которая связана с конкретным слотом в передаче кадра, а поле резервирования кадров указывает количество передач кадра, для которых слот назначается широковещательной услуге.22. Считываемая компьютером среда по п.1, в которой кадр передачи делится на пять разделов, причем псевдослучайно назначаемый слот в каждом из пяти разделов назначается клиенту для каждой передачи, и при этом кадр передачи включает в себя, по меньшей мере, часть индивидуального сообщения для клиента, по меньшей мере, в одном из псевдослучайно назначаемых слотов.23. Считываемая компьютером среда по п.22, в которой псевдослучайно назначаемые слоты определяются, по меньшей мере, из одного: идентификатора абонента, который связан с клиентом, текущего номера кадра и хеш-функции.24. Считываемая компьютером среда по п.22, в которой индивидуальное сообщение охватывает ряд логических пакетов, каждый из которых включает в себя заголовок индивидуального сообщения, причем заголовок индивидуального сообщения включает в себя поля для идентификатора сообщения, фрагментов в сообщении и индекса фрагмента, при этом индивидуальное сообщение идентифицируется полем идентификатора сообщения, количество логических пакетов идентифицируется полем фрагментов в сообщении, и каждый логический пакет идентифицируется индексом фрагмента.25. Считываемая компьютером среда, имеющая структуру данных, хранимую на ней, для использования при передаче кадров передачи с серверного устройства клиенту, причем структура данных содержит логические пакеты, которые идентифицируются соответствующим слотом в кадре передачи, причем логические пакеты разделены на разделы, при этом клиент псевдослучайно назначается слотам, а каждый слот псевдослучайно назначается разделам, причем логический пакет, который связан с одним из псевдослучайно назначенных слотов, включает в себя по меньшей мере часть индивидуального сообщения для клиента.26. Считываемая компьютером среда по п.25, в которой каждый кадр передачи включает в себя 20480 сегментов, которые разбиты на 16 групп сегментов по 1280 сегментов, каждый сегмент включает в себя 68 символов, и каждый кадр отображается на 1280 логических пакетов.27. Считываемая компьютером среда по п.25, в которой псевдослучайно назначаемые слоты определяются, по меньшей мере, из одного: идентификатора абонента, который связан с клиентом, текущего номера кадра, который связан с кадром передачи, и хеш-функции.28. Считываемая компьютером среда по п.25, в которой индивидуальное сообщение охватывает некоторое количество логических пакетов, каждый из которых включает в себя заголовок индивидуального сообщения, причем заголовок индивидуального сообщения включает в себя поля для идентификатора сообщения, фрагментов в сообщении и индекса фрагмента, при этом индивидуальное сообщение идентифицируется полем идентификатора сообщения, количество логических пакетов идентифицируется полем фрагментов в сообщении, и каждый логический пакет идентифицируется индексом фрагмента.29. Считываемая компьютером среда по п.25, в которой псевдослучайные назначения слотов определяются посредством присоединения идентификатора абонента к текущему номеру кадра, образуя массив, создания значения хеш-функции из массива и ограничения значения хеш-функции до размера, который связан с каждым разделом.30. Считываемая компьютером среда по п.29, в которой текущий номер кадра различен для каждого последующего кадра передачи, так что расположения слотов, которые назначаются для каждого клиента, изменяются для каждого последующего кадра передачи.31. Считываемая компьютером среда по п.25, в которой логические пакеты, которые связаны с индивидуальным сообщением, шифруются строкой шифрования и уникальным ключом управления.32. Считываемая компьютером среда по п.31, в которой уникальный идентификатор, который связан с клиентом, определяется посредством уникального ключа управления.33. Способ планирования передач кадра с серверного устройства на клиентское устройство, содержащий этапы, на которых выполняют

выбор пакетов из списка кандидатов для последующего кадра передачи;

описание выбранных пакетов в таблице содержания для следующего кадра передачи;

назначение таблицы содержания для следующего кадра передачи слоту в текущем кадре передачи;

сборку пакетов в текущем кадре передачи согласно предыдущим распределениям слотов из предыдущей таблицы содержания и назначенному слоту для таблицы содержания для следующего кадра передачи; и сборку заголовка кадра для текущего кадра передачи, причем кадр заголовка ссылается на расположение таблицы содержания в текущем кадре передачи.

34. Способ планирования передач кадра с серверного устройства на клиентское устройство, содержащий прием запроса для слота передачи, причем запрос включает в себя ряд пакетов;

распределение слота для следующего кадра передачи, основываясь на запрашиваемом слоте передачи;

создание таблицы содержания для следующей передачи, основываясь на распределенных слотах;

назначение таблицы содержания для следующего кадра передачи слоту в текущем кадре передачи;

сборку пакетов в текущем кадре передачи согласно предыдущим распределениям слотов из предыдущей таблицы содержания и назначенному слоту для таблицы содержания для следующего кадра передачи; и

сборку заголовка кадра для текущего кадра передачи, причем кадр заголовка ссылается на расположение таблицы содержания в текущем кадре передачи.

35. Способ планирования передач кадра с серверного устройства на клиентское устройство, содержащий этапы, на которых выполняют

посылку запроса потребностей на обработчик услуги совместно используемых данных, причем обработчик услуги совместно используемых данных связан с зарегистрированной широковещательной услугой;

прием потребностей от обработчика услуги совместно используемых данных в ответ на запрос, при этом каждая потребность, запрашиваемая обработчиком услуги совместно используемых данных, включает в себя запрашиваемый уровень приоритета и запрашиваемое распределение пакетов для слота передачи;

назначение приоритетов потребностям, которые принимаются от обработчика услуги совместно используемых данных;

распределение слотов для следующего кадра передачи, основываясь на потребностях с приоритетами;

создание таблицы содержания для следующей передачи, основываясь на распределенных слотах;

запрос пакетов от обработчика услуги совместно используемых данных для текущего кадра передачи;

прием пакетов от обработчика услуги совместно используемых данных для текущего кадра передачи, причем принимаемые пакеты связаны с предыдущей таблицей содержания из предыдущего кадра передачи;

назначение таблицы содержания для следующей передачи неиспользуемому слоту в текущем кадре передачи;

сборку пакетов в текущем кадре передачи согласно предыдущим распределениям слотов из предыдущей таблицы содержания и назначенному слоту для таблицы содержания для следующего кадра передачи; и

сборку заголовка кадра для текущего кадра передачи, причем кадр заголовка ссылается на расположение таблицы содержания в текущем кадре передачи.

36. Способ по п.35, дополнительно содержащий переопределение назначения распределенного слота для пакета индивидуального сообщения.37. Способ по п.35, дополнительно содержащий определение псевдослучайного назначения слотов в псевдослучайно назначенном разделе для каждого слота индивидуального сообщения, назначение приоритетов назначениям слотов индивидуального сообщения и назначение неиспользуемых слотов слотам индивидуального сообщения по приоритетам.38. Способ по п.37, в котором псевдослучайный слот и назначения разделов определяются хеш-функцией, которая использует уникальный идентификатор, номер кадра и номер пакета индивидуального сообщения.39. Способ по п.37, в котором определение псевдослучайного назначения слотов в псевдослучайно назначенным разделе включает в себя

вычисление значения хеш-функции для назначения раздела, используя уникальный идентификатор и индекс слота;

усечение значения хеш-функции для назначения раздела на общее количество разделов в передаче кадра для определения начального положения для уникального идентификатора;

добавление номера кадра к усеченному значению хеш-функции, так что каждый клиент циклически проходит по всем разделам;

определение начального и конечного положения раздела;

вычисление значения хеш-функции для назначения слотов, используя уникальный идентификатор, номер кадра и индекс слота;

свертывание значения хеш-функции для назначения слотов, так что свернутое значение вписывается в размер выбранного раздела; и

добавление начального положения раздела к свернутому значению хеш-функции для определения номера пакета для запрашиваемого слота.

40. Способ по п.37, в котором выполняют шифрование пакетов, связанных с индивидуальным сообщением, причем процесс шифрования использует, по меньшей мере, один из: номер кадра и номер пакета для определения вектора инициализации для процесса шифрования, при этом процесс шифрования использует вектор инициализации и ключ подписки для шифрования.41. Способ по п.35, дополнительно содержащий этапы:

назначение значения полю номера кадра, причем значение, связанное с полем номера кадра, различно для последовательных кадров;

назначение значения полю времени, причем значение, связанное с полем времени, различно для последовательных кадров; и

сборку заголовка кадра, который включает в себя поле номера кадра, поле указателя таблицы содержания и поле времени, причем заголовок кадра соответствует пакету в передаче кадра, который всегда имеет место в логическом пакете с одинаковым номером.

42. Способ по п.35, в котором создание таблицы содержания для следующей передачи, основанное на распределенных слотах, содержит определение номера слота для широковещательной услуги, назначение номера слота широковещательной услуге и установку поля идентификатора услуги элемента таблицы содержания для указания широковещательной услуги.43. Способ по п.35, в котором каждая потребность, запрашиваемая каждым обработчиком услуги совместно используемых данных, дополнительно включает в себя запрашиваемое резервирование кадров, которое обозначает количество последовательностей передачи, в течение которых будет сохраняться назначение слотов.44. Способ по п.35, дополнительно содержащий установку полей резервирования кадров для каждого назначенного слота, причем каждое поле резервирования кадров обозначает количество последовательностей передачи, в течение которых будет сохраняться назначение слотов.45. Способ по п.35, дополнительно содержащий установку полей резервирования кадров для каждого назначенного слота, причем каждое поле резервирования кадров обозначает количество последовательностей передачи, в течение которых будет сохраняться назначение слотов.46. Способ по п.45, дополнительно содержащий уменьшение значения в полях резервирования кадров для каждого назначенного слота из каждой предшествующей передачи кадров, и повторное использование назначения каждого слота, которое имеет поле резервирования кадров со значением, равным нулю.47. Способ по п.45, дополнительно содержащий обновление полей указателя, которые связаны с назначенным слотом.48. Способ по п.45, дополнительно содержащий представление запроса на каждый обработчик услуги совместно используемых данных для обновления полей указателя, которые связаны с каждым назначенным слотом, и прием обновленных полей указателя от обработчика услуги совместно используемых данных в ответ на запрос.49. Способ по п.45, дополнительно содержащий запрос переопределения от обработчика услуги индивидуальных данных, прием запроса переопределения от обработчика услуги индивидуальных данных, назначение слота в следующей передаче кадра индивидуальному сообщению в ответ на запрос переопределения.50. Способ планирования извлечения данных на клиентском устройстве, содержащий этапы, на которых выполняют

выделение таблицы содержания из текущего кадра передачи;

идентификацию элемента в таблице содержания с зарегистрированным приложением;

извлечение пакетов, которые идентифицируются со слотами в последующем кадре передачи;

сборку сообщения из извлеченных пакетов; и

направление завершенного сообщения приложению на клиентском устройстве, когда сообщение собрано.

51. Способ планирования извлечения данных на клиентском устройстве, содержащий этапы, на которых выполняют

выделение таблицы содержания из текущего кадра передачи;

идентификацию элемента в таблице содержания с зарегистрированным приложением;

посылку запроса на зарегистрированные приложения, которые связаны с элементом в таблице содержания;

прием запроса данных от приложения, причем запрос данных включает в себя запрашиваемый уровень приоритета;

сортировку запросов данных, основываясь на уровне приоритета;

запрос пакетов с наивысшим приоритетом у сетевого уровня, причем пакеты с наивысшим приоритетом идентифицируются со слотами в последующем кадре передачи;

прием пакетов от сетевого уровня, которые связаны с последующим кадром передачи;

направление принимаемых пакетов обработчику для зарегистрированного приложения;

сборку сообщения из принимаемых пакетов обработчиком для зарегистрированного приложения; и

направление завершенного сообщения от обработчика приложению, когда сообщение собрано.

52. Способ планирования извлечения данных по п.51, дополнительно содержащий регистрацию приложения транспортным уровнем на клиентском устройстве и подключение обработчика к транспортному уровню для зарегистрированного приложения.53. Способ планирования извлечения данных по п.52, дополнительно содержащий отключение обработчика от транспортного уровня в ответ на запрос завершения от приложения.54. Способ планирования извлечения данных по п.51, в котором выделение таблицы содержимого включает в себя этапы:

извлечение заголовка кадра для текущего кадра передачи;

идентификацию определения расположения таблицы содержания из заголовка кадра; и

извлечение таблицы содержания из идентифицированного расположения в текущем кадре передачи, причем таблица содержания представляет собой индекс упреждающего просмотра для последующего кадра передачи.

55. Способ планирования извлечения данных по п.51, дополнительно содержащий извлечение метки времени из заголовка кадра в текущей передаче кадра и синхронизацию внутреннего сигнала синхронизации в клиентском устройстве, основываясь на метке времени.56. Способ планирования извлечения данных по п.51, дополнительно содержащий этапы: аутентификацию текущей передачи кадра, основываясь на номере кадра и метке времени, так что атаки с повторной передачей игнорируются клиентским устройством, причем номер кадра представляет собой по меньшей мере один из: оцениваемого из более раннего кадра передачи и выделяемого из заголовка кадра.57. Способ планирования извлечения данных по п.51, дополнительно содержащий этапы: по меньшей мере, одно из: вычисления номера кадра и извлечения номера кадра из заголовка кадра в текущей передаче кадра, дешифрование пакетов с шифрованием пакетов в режиме обратной связи, начальным числом которого является номер кадра, так что разновидности атак с повторной передачей игнорируются клиентским устройством.58. Способ планирования извлечения данных по п.51, дополнительно содержащий этапы: использование номера кадра, метки времени и номера пакета для генерирования начального значения для процесса дешифрования, который использует ключ шифрования, причем ключ шифрования используется клиентским устройством для аутентификации извлеченных данных, которые связаны с широковещательной услугой.59. Способ планирования извлечения данных по п.51, дополнительно содержащий этап: аутентификация логических пакетов, связанных с извлекаемыми данными, содержащая этапы: дешифрование логического пакета;

проверку циклического избыточного кода (ЦИК) дешифрованного логического пакета;

применение коррекции ошибок, когда идентифицируется недействительный ЦИК дешифрованного логического пакета;

дешифрование логического пакета со скорректированной ошибкой;

проверку ЦИК дешифрованного пакета со скорректированной ошибкой;

неуспешное завершение аутентификации, когда дешифрованный логический пакет и дешифрованный логический пакет со скорректированной ошибкой имеют недействительные ЦИК; и

успешную аутентификацию, когда по меньшей мере один из: логического пакета и логического пакета со скорректированной ошибкой имеет действительный ЦИК.

60. Способ планирования извлечения данных по п.51, в котором идентификация элементов в таблице содержания с зарегистрированными приложениями дополнительно содержит этапы: выделение идентификатора услуги из таблицы содержания, причем идентификатор услуги идентифицирует зарегистрированное приложение.61. Способ планирования извлечения данных по п.51, дополнительно содержащий этап: обновление уровней приоритета, которые связаны с запрашиваемыми уровнями приоритета, так что поддерживается качество услуги для каждого приложения на клиентском устройстве.62. Способ планирования извлечения данных по п.51, дополнительно содержащий этап: прием пакета от сетевого уровня, который связан с другим последующим кадром передачи, когда имело место неуспешное извлечение таблицы содержания, и поле резервирования кадров из предшествующей таблицы содержания указывает, что назначение слотов, связанное с принимаемым пакетом, является «липким».63. Способ планирования извлечения данных по п.51, в котором сообщения форматируются согласно типу данных, который связан с обработчиком для приложения на клиентском устройстве, причем тип данных соответствует одному из: компактного типа данных, разреженного типа данных и длинного типа данных.64. Способ планирования извлечения данных по п.63, в котором обработчик для компактного типа данных использует указатель потока из дескриптора слота таблицы содержания для определения начального расположения для первого компактного сообщения в слоте, и последующие однопакетные сообщения следуют за начальным расположением, смещенные на один пакет за раз.65. Способ планирования извлечения данных по п.63, в котором обработчик для разреженного типа данных использует указатель потока из дескриптора слота таблицы содержания для определения расположения слота для фрагмента потока разреженных данных, и последующие фрагменты следуют за начальным расположением слота, смещенные от первого фрагмента.66. Способ планирования извлечения данных по п.63, в котором обработчик для длинного типа данных использует указатель потока из дескриптора слота таблицы содержания для определения порядковых номеров для каждого фрагмента потока длинных данных.67. Способ планирования извлечения индивидуальных данных на клиентском устройстве, содержащий этапы, на которых выполняют:

извлечение заголовка кадра из текущего кадра передачи;

выделение номера кадра из заголовка кадра, причем номер кадра для последующего кадра передачи отличается от номера кадра для текущего кадра передачи;

идентификацию идентификатора абонента для клиентского устройства;

определение назначения слотов индивидуального сообщения для клиентского устройства с номером кадра и идентификатором абонента;

прием логического пакета из назначения слотов индивидуального сообщения в кадре передачи; и

аутентификацию логического пакета;

направление аутентифицированного логического пакета на обработчик приложения на клиентском устройстве.

68. Способ планирования извлечения данных по п.67, причем определение назначения слотов индивидуального сообщения дополнительно содержит этап: определение назначений слотов индивидуального сообщения из идентификатора абонента и текущего номера кадра.69. Способ планирования извлечения данных по п.67, в котором определение назначения слотов индивидуального сообщения дополнительно содержит присоединение идентификатора абонента и текущего номера кадра, для образования массива байтов, создание значения хеш-функции из массива байтов, определение назначений слотов из массива байтов, причем назначения слотов соответствуют слотам в каждом разделе кадра передачи.70. Способ планирования извлечения данных по п.67, в котором аутентификация логического пакета дополнительно содержит

дешифрование логического пакета;

проверку ЦИК дешифрованного логического пакета;

применение коррекции ошибок, когда идентифицируется недействительный ЦИК дешифрованного логического пакета;

дешифрование логического пакета со скорректированной ошибкой;

проверку ЦИК дешифрованного пакета со скорректированной ошибкой;

неуспешное завершение аутентификации, когда дешифрованный логический пакет и дешифрованный логический пакет со скорректированной ошибкой имеют недействительные ЦИК; и

успешную аутентификацию, когда, по меньшей мере, один из: логического пакета и логического пакета со скорректированной ошибкой имеет действительный ЦИК.

Документы, цитированные в отчете о поиске Патент 2008 года RU2323429C2

СПОСОБЫ И УСТРОЙСТВА КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ И НОСИТЕЛИ ИНФОРМАЦИИ ДЛЯ ЗАПИСИ ИЗОБРАЖЕНИЙ 1994
  • Цуеси Ода
RU2123769C1
СИСТЕМА РАДИОСВЯЗИ МЕЖДУ ОДНИМ И НЕСКОЛЬКИМИ ПУНКТАМИ 1996
  • Хайнц Гекклер
  • Томас Альберти
RU2160507C2
СПОСОБ ВЫРАБОТКИ ВОССТАНОВЛЕННОГО ТАБАКА 2008
  • Квасенков Олег Иванович
RU2356416C1
KR 20010027925 A1, 06.04.2001.

RU 2 323 429 C2

Авторы

Томпсон Р. Дональд Iii

Массаренти Дэвидэ

Корбеа Космин А.

Кермак Джеральд Ф.

Ювал Гидеон А.

Даты

2008-04-27Публикация

2003-12-24Подача