СПОСОБЫ И УСТРОЙСТВО ДЛЯ ГИБРИДНОЙ МНОГОАДРЕСНОЙ И ОДНОАДРЕСНОЙ ПЕРЕДАЧ В СЕТИ ПЕРЕДАЧИ ДАННЫХ
METHOD AND DEVICE FOR HYBRID MULTIPLE-ADDRESS AND SINGLE-ADDRESS TRANSFER IN DATA TRANSFER NETWORK

Ссылка на родственные заявки
Настоящая заявка испрашивает приоритет находящейся на рассмотрении предварительной заявки на патент США, названной «Способ и устройство для гибридной многоадресной и одноадресной передач» № 60/572453 и поданной 18 мая 2004 г., раскрытие которой в настоящем документе полностью включено посредством ссылки.
Уровень техники
Область техники, к которой относится изобретение
Настоящее изобретение относится, в целом, к доставке содержимого (контента) в сетевой среде и, более конкретно, к способам и устройству для гибридной многоадресной и одноадресной передач в сети передачи данных.
Описание предшествующего уровня техники
Сети передачи данных, например сети беспроводной связи, вынуждены попеременно использоваться между службами, настроенными для отдельного терминала, и службами, передающимися посредством широковещательной передачи/многоадресной передачи всем терминалам. Распределение содержимого (данных) большому количеству терминалов (абонентов) является сложной проблемой. Сетевые системы, которые осуществляют технологию многоадресной передачи, могут доставлять данные в широкой области, однако в связи с тем, что отправителю затруднительно знать об успехе или неудаче таких доставок, затраты на ресурсы и их использование могут быть чрезмерными и невыгодными (неэкономными).
В одном типе многоадресной передачи одна копия информации одновременно передается сотням или тысячам получателей. Для достижения надежности передачи было предложено несколько методик, которые, в целом, могут быть разделены на три подхода, описанных следующим образом.
В первом подходе отправитель поддерживает информацию о состоянии для каждого получателя многоадресной передачи посредством отслеживания ответного сигнала подтверждения приема (ACK), прием которого ожидается от каждого получателя передачи. Если ответный сигнал подтверждения приема не был принят до истечения выбранного интервала времени ожидания, то отправитель повторно передает информацию группе, участвующей в многоадресной передаче. Этот подход не имеет широкой универсальности, если численность получателей слишком высока, а также является чувствительным к общеизвестной проблеме «интеграции сигнала подтверждения приема (ACK)», когда отправитель «засыпается» (получает) огромным количеством ответных сигналов подтверждения приема. Кроме того, отправителю зачастую не известно о том, кто является членами (получателями) группы, участвующей в многоадресной передаче, что мешает отправителю поддерживать информацию о состоянии для получателей.
Во втором подходе к проблеме универсальности первого подхода обращаются посредством передачи сигнала подтверждения неправильного приема (NACK) от каждого получателя в случае, если получатель не получает информацию безошибочно. Разновидность этого подхода должна иметь промежуточный узел множества сигналов подтверждения неправильного приема (NACK) от узлов нисходящего потока и посылать только один сигнал подтверждения неправильного приема (NACK) узлу восходящего потока данных. Затем узел восходящего потока данных может повторно выполнить передачу этой информации.
В третьем подходе надежность передачи достигается посредством избыточности. Самой простой формой избыточности является повторение. При использовании повторения в третьем подходе одна и та же информация повторно передается несколько раз. Другая форма или избыточность предписывают выполнить прямую коррекцию ошибок (FEC) над передающейся информацией. При использовании интеллектуальных механизмов кодирования достигается тот же самый показатель (фактор) надежности с использованием меньшего количества избыточной информации.
Однако во всех вышеупомянутых подходах повторная передача данных выполняется для всей группы получателей. Этот механизм повторной передачи может удовлетворительно работать в среде сети проводной связи, так как требуется отослать одну только копию информации. Протокол маршрутизации в пределах сети обрабатывает дублирование пакетов данных для доставки данных ветвям дерева распределения. Кроме того, передача информации «листьям» (последним этапам) дерева сравнительно экономит данную полосу пропускания сети проводной связи.
К сожалению, в отличие от сети проводной связи, последний этап в беспроводной сети является требующим наибольших затрат ресурсом. Он является радиоресурсом между приемопередатчиком базовой станции и множеством мобильных терминалов. Широковещательная передача в беспроводной сети не подлежит управлению мощностью передачи, поскольку она спроектирована для получения конкретной зоны обслуживания соты и частоты появления ошибок в кадре. Таким образом, широковещательные передачи в беспроводной сети используют большую мощность по сравнению с одноадресной передачей из-за большей зоны обслуживания, которая предназначена для достижения широковещательной передачей. В результате широковещательная передача, в целом, требует больших затрат по сравнению с одноадресной передачей.
Кроме того, в беспроводной широковещательной передаче ответный сигнал подтверждения приема от приемных терминалов является ограниченным. Надежность достигается посредством прямой коррекции ошибок (FEC) или посредством повтора широковещательной передачи. К сожалению, даже с большим коэффициентом прямой коррекции ошибок (FEC) или повторов радиопередачи, некоторые пользователи могут не принять данные. Например, мобильные терминалы, которые не приняли данные, могут находиться вне зоны широковещательной передачи или их прием широковещательной передачи может быть прерван из-за обработки речевой службы. Таким образом, повторная широковещательная передача информации будет не выгодна в связи с тем, что эти терминалы не смогут принять информацию. Также не будет выгодной повторная широковещательная передача информации, если количество не принявших информацию терминалов очень мало. Например, если для достижения надежности используется большой коэффициент прямой коррекции ошибок (FEC), то количество мобильных терминалов, которые не смогут безошибочно принять информацию в данном секторе, может быть очень мало. Таким образом, невыгодно использовать весь широковещательный канал для повторной широковещательной передачи информации малому подмножеству мобильных терминалов.
В связи с этим существует потребность в системе доставки для использования в сетевых средах, которая служит для определения наибольшей эффективности ресурсов и способа эффективных затрат на передачу данных большому количеству приемных терминалов. Например, система должна работать в среде беспроводной сети для определения большей эффективности и/или эффективности затрат для использования методик одноадресной или многоадресной передач для передачи данных большому количеству приемных терминалов.
Сущность изобретения
В одном или нескольких вариантах осуществления система доставки данных, содержащая способы и устройство, обеспечивается для эффективной доставки данных множеству терминалов, находящихся в сети передачи данных. В одном варианте осуществления система использует гибрид многоадресной и одноадресной передач для доставки данных (или содержимого) терминалам. Система особенно эффективно подходит для использования в беспроводных сетях, где беспроводная передача данных с базовой станции на множество мобильных терминалов использует радиоресурсы, требующие больших затрат.
В одном варианте осуществления находящийся в системе отправитель использует различные параметры для определения затрат на отправление данных с использованием многоадресной или одноадресной передач множеству находящихся в сети терминалов. На основании того, какая методика передачи требует меньших затрат, отправитель формирует расписание передач, которое определяет, как и когда выполнять передачи данных. Если данные должны быть переданы посредством многоадресной передачи, то отправитель передает данные посредством многоадресной передачи в соответствии с расписанием передач. Если терминал не может принять данные, когда они переданы, то терминал может запросить установление сеанса одноадресной передачи с отправителем для извлечения этих данных. В одном варианте осуществления после многоадресной передачи данных отправителя на терминалы отправитель может снова использовать анализ затрат на передачу для определения того, каким образом выполняется любая повторная передача. Таким образом, система избежит повторных широковещательных передач данных, требующих больших затрат, на все терминалы, если сеансы одноадресной передачи, требующие меньших затрат, будут доставлять данные достаточному количеству терминалов для удовлетворения желательных требований качества обслуживания. В результате чего ценные ресурсы беспроводной линии связи эффективно используются в связи с тем, что невыгодных широковещательных повторных передач данных избегают.
В одном варианте осуществления обеспечивается способ функционирования сервера, находящегося в сети передачи данных. Способ содержит этап вычисления (значения) указателя затрат на многоадресную передачу и (значения) указателя затрат на одноадресную передачу, которые связаны с многоадресной и одноадресной передачами данных. Способ также содержит этап определения того, что указатель затрат на многоадресную передачу является меньшим по сравнению с указателем затрат на одноадресную передачу, и этап формирования расписания передач, которое описывает время выполнения многоадресной передачи данных по сети передачи данных. Способ также содержит этап передачи расписания передач и этап многоадресной передачи данных в соответствии с расписанием передач.
В одном варианте осуществления устройство обеспечивается для использования в сервере, находящемся в сети передачи данных. Устройство содержит блок оценки затрат, который служит для вычисления (значения) указателя затрат на многоадресную передачу и (значения) указателя затрат на одноадресную передачу, которые ассоциативно связаны с многоадресной передачей и одноадресной передачей данных. Устройство также содержит логику обработки, которая служит для определения того, что указатель затрат на многоадресную передачу является меньшим по сравнению с указателем затрат на одноадресную передачу, и формирования расписания передач, которое описывает время выполнения многоадресной передачи данных по сети передачи данных. Устройство также содержит логику передачи, которая служит для передачи расписания передач и выполнения многоадресных передач данных в соответствии с расписанием передач.
В одном варианте осуществления устройство обеспечивается для использования в сервере, находящемся в сети передачи данных. Устройство содержит средство для вычисления (значения) указателя затрат на многоадресную передачу и (значения) указателя затрат на одноадресную передачу, которые ассоциативно связаны с многоадресной и одноадресной передачами данных, и средство для определения того, что указатель затрат на многоадресную передачу является меньшим по сравнению с указателем затрат на одноадресную передачу. Устройство также содержит средство для формирования расписания передач, которое описывает время выполнения многоадресной передачи данных по сети передачи данных, и средство для передачи расписания передач. Устройство также содержит средство для многоадресной передачи данных в соответствии с расписанием передач.
В одном варианте осуществления машиночитаемый носитель содержит команды, которые при выполнении посредством логики обработки в сервере обеспечивают возможность передачи данных по сети передачи данных. Машиночитаемый носитель содержит команды для вычисления (значения) указателя затрат на многоадресную передачу и (значения) указателя затрат на одноадресную передачу, которые ассоциативно связаны с многоадресной и одноадресной передачами данных, и команды для определения того, что указатель затрат на многоадресную передачу является меньшим по сравнению с указателем затрат на одноадресную передачу. Машиночитаемый носитель также содержит команды для формирования расписания передач, которое описывает время выполнения многоадресной передачи данных по сети передачи данных, и команды для передачи расписания передач. Машиночитаемый носитель также содержит команды для многоадресной передачи данных в соответствии с расписанием передач.
В одном варианте осуществления способ обеспечивается на стороне приемного терминала, находящегося в сети передачи данных. Способ содержит этап приема расписания передач, которое описывает, как будут переданы данные. Способ также содержит этап определения того, что данные должны быть переданы посредством многоадресной передачи по сети передачи данных в течение одного или нескольких циклов многоадресной передачи, и этап приема переданных посредством многоадресной передачи данных в течение упомянутых одного или нескольких циклов многоадресной передачи.
В одном варианте осуществления устройство обеспечивается для использования в приемном терминале, находящемся в сети передачи данных. Устройство содержит логику для приема расписания передач, которое описывает, как будут переданы данные. Устройство также содержит логику для определения того, что данные должны быть переданы посредством многоадресной передачи по сети передачи данных в течение одного или нескольких циклов многоадресной передачи, и логику для приема переданных посредством многоадресной передачи данных в течение упомянутого одного или нескольких циклов многоадресной передачи.
Другие аспекты, преимущества и особенности настоящего изобретения станут более очевидными после обзора нижеизложенных: краткого описания чертежей, подробного описания изобретения и формулы изобретения.
Краткое описание чертежей
Предшествующие аспекты и сопутствующие преимущества описанных в настоящем документе вариантов осуществления станут более очевидными посредством ссылки на нижеследующее подробное описание, взятое совместно с сопроводительными чертежами, на которых изображено следующее:
Фиг.1 изображает сеть передачи данных, которая содержит один вариант осуществления системы доставки данных.
Фиг.2 изображает подробное схематическое представление одного варианта осуществления передающего сервера, подходящего для использования в одном варианте осуществления системы доставки данных.
Фиг.3 изображает один вариант осуществления способа функционирования сервера в одном варианте осуществления системы доставки данных.
Фиг.4 изображает подробное схематическое представление одного варианта осуществления терминала, подходящего для использования в одном варианте осуществления системы доставки данных.
Фиг.5 изображает один вариант осуществления способа функционирования терминала в одном варианте осуществления системы доставки данных.
Фиг.6 изображает график, который иллюстрирует эффективность с учетом затрат и ресурса, достигаемую при использовании одного или нескольких вариантов осуществления описанной системы доставки данных.
Подробное описание изобретения
Следующее подробное описание описывает один или несколько вариантов осуществления системы доставки данных, которая служит для эффективной доставки данных с передающего сервера на множество терминалов в беспроводной сети. В одном варианте осуществления система использует методику гибридной передачи, которая комбинирует многоадресную и одноадресную передачи для эффективной доставки данных на терминалы. Система в особенности хорошо подходит для использования в средах беспроводных сетей, но также может быть использована в любом типе сетевой среды, включая, но не ограничиваясь этим, сети связи, сети общего пользования, например сеть Интернет, частные сети, например виртуальные частные сети (VPN), локальные сети, глобальные сети, сети дальней связи или любой другой тип сети передачи данных.
В следующем описании многоадресная передача определяется как охватывающая передачи из одной или нескольких следующих категорий.
«Один - много» (один отправитель и много получателей)
«Много - много» (много отправителей и много получателей)
«Много - один» (много отправителей и один получатель)
Таким образом, широковещательная передача, в целом, определяется в качестве первого типа многоадресной передачи. Однако термин «широковещательная передача» также используется в пределах данного документа для обозначения передачи в пределах любой из идентифицированных категорий многоадресной передачи.
Фиг.1 изображает сеть 100 передачи данных, которая содержит один вариант осуществления системы доставки данных. Сеть 100 содержит сервер 102, сеть 104 передачи данных и терминалы (1-N), как показано посредством ссылочного номера 106. Сеть 104 передачи данных может являться любым типом и/или комбинацией проводных/беспроводных сетей, которые предоставляют возможность передачи данных между сервером 102 и терминалами 106. Сеть 104 включает в себя базовую станцию 108, которая соединена с сетью 104 через канал 110 связи. Канал 110 связи может являться любым типом канала проводной/беспроводной связи, который предоставляет базовой станции 108 возможность обмена информацией по сети 104 передачи данных. Базовая станция связывается с терминалами 106 через беспроводные линии 112 связи, которые предоставляют данным возможность передачи беспроводным способом между базовой станцией 108 и терминалами 106. В одном варианте осуществления беспроводные линии 112 связи содержат каналы прямой связи, каналы обратной связи, каналы управления и любые другие типы каналов связи, которые могут быть использованы для обмена информацией между базовой станцией 108 и терминалами 106.
Сервер 102 обменивается информацией с сетью 104 передачи данных через линию 114 связи, которая может являться проводной/беспроводной линией связи. С целью данного описания предполагается, что сервер 102 включает в себя три файла 116 данных (или «файлы с содержимым») C1, C2, C3, которые могут иметь любой тип или формат. В одном или нескольких вариантах осуществления системы доставки данных, файлы 116 данных эффективно передаются посредством сервера 102 на терминалы 106 через сеть 104.
В одном варианте осуществления сервер 102 включает в себя блок 118 оценки затрат, который вычисляет оценки затрат на передачу, связанные с затратами на передачу 116 данных и в многоадресной и в одноадресной передачах с сервера 102. Например, блок 118 оценки затрат служит для вычисления (значения) указателя затрат на многоадресную передачу и (значения) указателя затрат на одноадресную передачу, которые могут сравниваться для определения методики с наименьшими затратами на передачу. Блок оценки затрат использует различные сетевые и системные параметры для определения оценки затрат на передачу.
Выход оценок затрат из блока 118 оценки затрат является входом на логику 120 выбора, которая осуществляет выбор между логикой многоадресной 122 передачи и одноадресной 124 передачи для выполнения передачи данных терминалам 106. В одном варианте осуществления логика 120 выбора осуществляет выбор методики передачи с наименьшими затратами на основании оценок затрат.
Для обеспечения выбранного уровня обслуживания сервер 102 служит для определения показателя (фактора) надежности, который указывает на надежность, с которой он желает выполнить доставку данных. На основании показателя (фактора) надежности, выбранный уровень прямой коррекции ошибок (FEC) применяется к данным 116, а конечные закодированные данные чередуются для формирования потока 126 данных, который передается на терминалы 106 с использованием выбранной методики передачи.
Перед передачей сервер 102 служит для формирования расписания передач, которое описывает, как и когда выполняются передачи данных терминалам 106. Сервер 102 передает расписание передач на терминалы 106 для того, чтобы терминалам заранее было известно о том, как будут передаваться данные. Доставка расписания передач может быть выполнена с использованием любого типа канала связи, включая, но не ограничиваясь этим, любой канал управления, внеполосный канал или любой другой тип канала связи между сервером 102 и терминалами 106. Если данные должны быть переданы на терминалы посредством одноадресной передачи, то расписание передач обеспечивает временное окно, в котором терминалы 106 могут установить сеансы одноадресной передачи с сервером для извлечения данных 116. Если данные должны быть переданы на терминалы посредством многоадресной передачи, то расписание передач определяет время выполнения многоадресной передачи данных 116 для того, чтобы терминалы могли "прослушивать эфир" в течение соответствующего времени для приема данных.
Если данные были переданы посредством многоадресной передачи, то любой терминал, не принявший данные, может выполнить запрос на прием данных посредством одноадресной передачи. Например, терминал может находиться вне выбранного диапазона передачи, испытывать помехи передачи или предоставлять другую службу, что предотвращает прием данных, переданных посредством многоадресной передачи. Например, на Фиг.1 предполагается, что терминалы 1 и N не приняли переданные посредством многоадресной передачи данные, и, таким образом, эти терминалы отсылают запросы (Req1 и Req2, соответственно) на сервер 102, как показано траекториями 130, 132 и 134. Запросы представляют собой запросы на установление сеанса одноадресной передачи с сервером 102, для того, чтобы данные могли быть извлечены терминалами 1 и N с использованием одноадресных передач.
В одном варианте осуществления, после многоадресной передачи данных, сервер 102 принимает множество запросов на установление сеансов одноадресной передачи с терминалами 106. После того как сервер 102 принял запросы, блок 118 оценки затрат снова вычисляет, эффективно ли по затратам повторно передать данные с использованием многоадресной передачи или установить необходимое количество сеансов одноадресной передачи для удовлетворения всех запросов. После выполнения определения данные повторно передаются с использованием наиболее эффективного по затратам способа. Например, если повторная широковещательная передача, использующая многоадресную передачу, является самой эффективной по затратам, то формируется новое расписание передач и отсылается терминалам перед повторной широковещательной передачей. Если же сеансы одноадресной передачи являются самыми эффективными по затратам, то сервер 102 служит для установления необходимого количества сеансов одноадресной передачи, необходимых для удовлетворения запросов, которые он принял.
Таким образом, в одном или нескольких вариантах осуществления система доставки данных служит для определения наиболее эффективного по затратам способа для передачи данных на терминалы по сети передачи данных. Определение также может быть выполнено относительно любых повторных передач данных до тех пор, пока данные не будут предоставлены достаточному количеству терминалов, которые достигли выбранного уровня обслуживания. В результате чего варианты осуществления системы доставки данных обеспечивают систему гибридной передачи, поскольку одни и те же данные могут быть переданы посредством и многоадресной и одноадресной передач на основании самого эффективного способа передачи любой данной конкретной сетевой среды.
Фиг.2 изображает подробное схематическое представление одного варианта осуществления передающего сервера 200, подходящего для использования в одном варианте осуществления системы доставки данных. Например, сервер 200 может являться изображенным на Фиг.1 сервером 102. Сервер 200 содержит логику 202 обработки, ресурсы 204 устройства, память 206 для хранения данных, логику 208 передачи и логику 210 приема, все из которых соединены с внутренней шиной 212 данных. Сервер 200 также содержит блок 214 оценки затрат и логику 216 прямой коррекции ошибок (FEC)/чередования, которые также подключены к шине 212 данных.
В одном или нескольких вариантах осуществления логика 202 обработки может быть выполнена в виде центрального процессора (CPU), процессора, вентильной матрицы, логики аппаратных средств, элементов памяти, виртуальной машины, программного обеспечения и/или любой комбинации аппаратных средств и программного обеспечения. Таким образом, логика 202 обработки, в целом, реализует логику для выполнения машиночитаемых команд и управления одним или несколькими другими функциональными элементами сервера 200 через внутреннюю шину 212 данных.
Ресурсы и интерфейсы 204 устройства содержат аппаратные средства и/или программное обеспечение, которые предоставляют серверу 200 возможность обмена информацией с внутренними и внешними системами. Например, внутренние системы могут включать в себя массовые запоминающие устройства, память, драйвер дисплея, модем или другие внутренние ресурсы устройства. Внешние системы могут включать в себя устройства пользовательского интерфейса, принтеры, дисководы или другие локальные устройства или системы.
Память 206 для хранения данных содержит любой тип устройства памяти и включает в себя данные (или содержимое), передающиеся одному или нескольким терминалам по сети передачи данных. Например, содержимое может содержать мультимедийное содержимое или любой другой тип содержимого.
Логика 208 передачи может быть выполнена в виде аппаратных средств и/или программного обеспечения, которое служит для предоставления серверу 200 возможности передачи данных или другой информации на удаленные устройства или системы. Например, в одном варианте осуществления логика 208 передачи содержит логику многоадресной передачи, которая служит для многоадресной передачи данных и/или другой информации по каналу 218 многоадресной передачи на удаленные устройства, например мобильные терминалы. Например, логика многоадресной передачи предоставляет серверу 200 возможность многоадресной передачи по сети передачи данных множеству удаленных терминалов. Логика 208 передачи также содержит логику одноадресной передачи, которая служит для одноадресной передачи данных и/или другой информации по каналу 220 одноадресной передачи удаленным устройствам, например удаленным терминалам. Например, логика одноадресной передачи предоставляет серверу 200 возможность установления одного или нескольких сеансов одноадресной передачи для передачи данных по каналу 220 одноадресной передачи одному или нескольким удаленным терминалам. Логика 208 передачи также содержит логику канала управления для передачи управляющей информации по каналу 222 управления удаленным устройствам. Логика канала управления может содержать любые подходящие аппаратные средства и/или программное обеспечение и осуществлять любой тип канала управления, подходящего для передачи информации с сервера 200 на один или несколько удаленных терминалов.
Логика 210 приема может быть выполнена в виде аппаратных средств и/или программного обеспечения, которое служит для предоставления серверу 200 возможности приема данных и другой информации от удаленных устройств через канал 224 приема. Например, логика 210 приема взаимодействует с сетью передачи данных через канал 224 приема для предоставления серверу 200 возможности приема запросов (на получение) данных, которые были переданы от удаленных терминальных устройств.
Логика 214 блока оценки затрат может быть выполнена в виде центрального процессора (CPU), процессора, вентильной матрицы, логики аппаратных средств, элементов памяти, виртуальной машины, программного обеспечения и/или любой комбинации аппаратных средств и программного обеспечения. Блок 214 оценки затрат служит для вычисления затрат на многоадресную и одноадресную передачи содержимого по сети передачи данных множеству удаленных терминалов. Например, блок оценки затрат использует разнообразие параметров для вычисления (значений) указателей затрат, которые включают в себя указатель затрат на многоадресную передачу и указатель затрат на одноадресную передачу, которые указывают затраты на одноадресную и многоадресную передачи. Параметры затрат включают в себя, но не ограничиваются этим, реальные затраты, использование полосы пропускания, использование сети, местоположение, задержку, мощность и любые другие параметры использования ресурса или затрат. В одном варианте осуществления параметры затрат могут изменяться от применения к применению, однако может быть использована любая функция вычисления затрат. Вывод указателей затрат с блока 214 оценки затрат может быть использован для определения того, многоадресная или же одноадресная передача данных обеспечивает способ передачи данных удаленным терминалам с наименьшими затратами.
Логика 216 прямой коррекции ошибок (FEC)/чередования может быть выполнена в виде центрального процессора (CPU), процессора, вентильной матрицы, логики аппаратных средств, элементов памяти, виртуальной машины, программного обеспечения и/или любой комбинации аппаратных средств и программного обеспечения. Блок 216 прямой коррекции ошибок (FEC)/чередования служит для обеспечения прямой коррекции ошибок в передающемся содержимом для того, чтобы можно было выполнить доставку содержимого с выбранным уровнем качества обслуживания (QoS). В одном или нескольких вариантах осуществления блок 216 прямой коррекции ошибок (FEC)/чередования может обеспечить любой тип прямой коррекции ошибок (FEC) в передающемся содержимом. Кроме того, блок 216 прямой коррекции ошибок (FEC)/чередования также служит для чередования множества файлов с содержимым для обеспечения разнесения и предотвращения блокировок головного пакета (HOL). Таким образом, блок 216 прямой коррекции ошибок (FEC)/чередования может обеспечить любую подходящую методику чередования для обеспечения разнесения передачи.
Сервер 200 является подходящим для использования в одном или нескольких вариантах осуществления системы доставки данных для эффективной доставки данных по сети передачи данных множеству терминалов. В процессе работы сервер 200 имеет содержимое (1, 2, 3), сохраненное в памяти 206 для хранения данных, предназначенное для доставки приемным терминалам. Логика 214 блока оценки затрат используется для оценки указателей затрат, которые указывают затраты, связанные с передачей содержимого с использованием одноадресной и многоадресной передач. Логика 202 обработки принимает указатели затрат от блока 214 оценки затрат и выбирает методику с наименьшими затратами на передачу для выполнения передачи содержимого удаленным терминалам. В одном варианте осуществления логика 202 обработки формирует расписание передач, которое описывает способ и время выполнения передачи содержимого удаленным терминалам. Например, в одном варианте осуществления расписание передач описывает время выполнения многоадресной передачи одного или нескольких элементов содержимого с помощью сервера для приема удаленными терминалами. В другом варианте осуществления расписание передач описывает (временное) окно, в пределах которого терминалам разрешается установить сеанс одноадресной передачи с сервером для выполнения извлечения содержимого. Более подробное описание процесса работы системы доставки данных и сервера 200 обеспечивается в другом разделе настоящего документа.
В одном варианте осуществления система доставки данных содержит команды программы, сохраненные на машиночитаемом носителе, которые при выполнении посредством логики 202 обработки обеспечивают описанные в настоящем документе функции сервера 200. Например, команды могут быть загружены на сервер 200 с машиночитаемого носителя, например гибкого диска, диска CD-ROM, карты памяти, устройства флэш-памяти, оперативной памяти (RAM), постоянной памяти (ROM) или с любого другого типа запоминающего устройства или машиночитаемого носителя, который связан с сервером 200 с помощью интерфейса с помощью средств 204 устройства. В другом варианте осуществления команды могут быть загружены на сервер 200 с сетевого ресурса, который взаимодействует с сервером 200 через логику 210 приема. Команды, при выполнении посредством логики 202 обработки, обеспечивают один или несколько вариантов осуществления системы доставки данных, как описано в настоящем документе.
Фиг.3 изображает вариант осуществления способа 300 функционирования сервера в одном варианте осуществления системы доставки данных. Для ясности, способ 300 будет описан со ссылкой на изображенный на Фиг.2 сервер 200. В одном или нескольких вариантах осуществления логика 202 обработки выполняет программные команды для выполнения нижеописанных функций.
На этапе 302 устанавливается цикловой указатель (N) многоадресной передачи. Например, цикловой указатель (N) многоадресной передачи устанавливается равным нулю. В одном варианте осуществления цикловой указатель N сохраняется и устанавливается посредством логики 202 обработки, а также указывает количество циклов, использующееся для многоадресной передачи данных удаленным терминалам.
На этапе 304 сервер вычисляет затраты на одноадресную (U) и многоадресную передачи (M) содержимого, передающегося множеству удаленных терминалов. На этапе 306 вычисляются затраты на многоадресные передачи, а на этапе 308 вычисляются затраты на одноадресные передачи. Вычисления для каждого типа передачи требуют входных данных, например данные использования, вероятность выхода приемника из строя, частота появления ошибок в кадре, количество абонентов, прямая коррекция ошибок (FEC), системные издержки протокола и т.д. Например, блок 214 оценки затрат служит для вычисления (значения) указателя затрат на многоадресную передачу и (значения) указателя затрат на одноадресную передачу.
На этапе 310 выполняется тестирование для сравнения затрат на многоадресную (M) и одноадресную (U) передачи. Например, тестирование выполняется посредством логики 202 обработки на основании указателей затрат, принятых от блока 214 оценки затрат. Если тестирование определит, что более эффективно в отношении затрат отослать содержимое с использованием одноадресных передач, то способ переходит на этап 312. Если тестирование определит, что более эффективно в отношении затрат отослать содержимое с использованием многоадресной передачи, то способ переходит на этап 314.
На этапе 312 выполняется тестирование для определения того, находится ли способ в начальном цикле многоадресной передачи из условия, чтобы никакая многоадресная передача не была запланирована. Например, тестирование выполняется посредством логики 202 обработки. Если цикл многоадресной передачи устанавливается в его начальное нулевое значение, то никакая многоадресная передача не была запланирована, и способ переходит на этап 316. Если цикл многоадресной передачи устанавливается равным любому отличному от нуля числу, то одна или несколько многоадресных передач являются уже запланированными, и способ переходит на этап 318.
На этапе 316 расписание одноадресных передач формируется для того, чтобы содержимое могло быть передано удаленным терминалам с использованием одноадресной передачи. Например, анализ затрат, выполненный посредством логики 202 обработки, определил, что более эффективно в отношении затрат передать содержимое с использованием одноадресных передач. В одном варианте осуществления логика 202 обработки формирует расписание передач, которое включает в себя контактное окно для удаленных терминалов для выполнения извлечения содержимого с использованием одноадресных передач. Контактное окно определяет временной интервал, в котором удаленный терминал может установить сеанс одноадресной передачи с сервером для выполнения извлечения содержимого. Логика 202 обработки служит для установления сеансов одноадресной передачи с удаленными терминалами, а содержимое передается тем терминалам с использованием логики 208 передачи и канала 220 одноадресной передачи. Затем способ переходит на этап 320, на котором выполняется передача расписания передач терминалам с использованием канала 222 управления, и данные передаются соответственно.
На этапе 318 выполняется планирование одного или нескольких циклов многоадресной передачи, поскольку цикловой указатель N не равен нулю. Таким образом, логика 202 обработки содержит вычисленное количество циклов многоадресной передачи, требуемых для передачи содержимого большинству терминалов, но содержит определение того, что одноадресная передача более эффективна в отношении затрат для передачи содержимого достаточному количеству дополнительных терминалов для достижения желательного уровня обслуживания. Логика 202 обработки формирует расписание передач, описывающее время, в которые каждый цикл многоадресной передачи будет иметь место. Расписание передач передается удаленным терминалам для того, чтобы они могли ожидать многоадресную передачу в течение соответствующего времени. Перед фактической многоадресной передачей к содержимому может быть применена прямая коррекция ошибок (FEC) и, в случае присутствия множества предназначенных для передачи файлов с содержимым, выполняется чередование циклов многоадресной передачи из одного файла с содержимым с циклами многоадресной передачи из других файлов с содержимым посредством логики 216 прямой коррекции ошибок/чередования для улучшения производительности системы.
Если один или несколько удаленных терминалов не приняли содержимое после того, как все многоадресные передачи были завершены, то эти терминалы могут запросить сеансы одноадресной передачи для выполнения извлечения содержимого с сервера. Таким образом, система доставки данных служит для предоставления одной или нескольким многоадресным передачам возможности эффективной передачи данных удаленным терминалам. Затем эти терминалы, не принявшие многоадресные передачи, могут запросить сеанс одноадресной передачи для выполнения извлечения данных с сервера. В результате чего система служит для обеспечения самого эффективного в отношении затрат способа передачи данных с использованием гибрида одноадресной и многоадресной передач.
На этапе 314 цикл N многоадресной передачи увеличивается на единицу. Например, логика 202 обработки увеличивает цикл N многоадресной передачи и сохраняет значение. На этой стадии будет использоваться одна или несколько многоадресных передач для передачи содержимого удаленным получателям. Затем способ возвращается на этап 304, на котором вычисляются новые указатели затрат для определения того, запланированы ли дополнительные многоадресные передачи. Однако, в параллельном процессе, на этапе 322 выполняется новое вычисление затрат на одноадресные передачи.
На этапе 322 вычисляется количество удаленных терминалов, для которых сеть не будет достижима в течение предварительно вычисленного цикла многоадресной передачи. Например, логика 202 обработки выполняет описанные на этапах 322-330 функции для определения количества не обслуженных удаленных терминалов, которые не приняли содержимое после любых запланированных многоадресных передач. После вычисления количества не обслуженных терминалов способ возвращается на этап 304 для повторения процесса вычисления затрат на одноадресную и многоадресную передачи. Например, после трех циклов многоадресной передачи также могут остаться не обслуженные терминалы, которые не приняли данные. В течение следующих вычислений затрат на этапе 304 может быть определено, что другая многоадресная передача содержимого будет более эффективней установления сеансов одноадресной передачи с не обслуженными терминалами. В таком случае способ переходит на этап 318, на котором формируется расписание многоадресной передачи, после чего выполняются многоадресные передачи. Любые оставшиеся не обслуженные терминалы могут установить сеанс одноадресной передачи для выполнения извлечения данных.
Должно быть отмечено, что способ 300 иллюстрирует только один вариант осуществления, и что изменения, добавления или перестановки элементов потока могут быть сделаны без отступления от объема описанных вариантов осуществления.
Фиг.4 изображает подробное схематическое представление одного варианта осуществления терминала 400, подходящего для использования в одном варианте осуществления системы доставки данных. Терминал 400 содержат логику 402 обработки, память 404 для хранения данных, ресурсы (средства) и интерфейсы 406 устройства, логику 408 передачи и логику 410 приема, все из которых подключены к шине 412 данных. Терминал 400 также содержит логику 414 планирования, которая также подключена к шине 412 данных.
В одном или нескольких вариантах осуществления логика 402 обработки может быть выполнена в виде центрального процессора (CPU), процессора, вентильной матрицы, логики аппаратных средств, элементов памяти, виртуальной машины, программного обеспечения и/или любой комбинации аппаратных средств и программного обеспечения. Таким образом, логика 402 обработки, в целом, представляет собой логику для выполнения машиночитаемых команд и управления одним или несколькими другими функциональными элементами терминала 400 через внутреннюю шину 412 данных.
Ресурсы и интерфейсы 406 устройства содержат аппаратные средства и/или программное обеспечение, которые предоставляют терминалу 400 возможность обмена информацией с внутренними и внешними системами. Например, внутренние системы могут включать в себя запоминающие устройства большого объема, память, драйвер дисплея, модем или другие внутренние ресурсы (средства) устройства. Внешние системы могут включать в себя устройства пользовательского интерфейса, принтеры, дисководы или другие локальные устройства или системы.
Логика 408 передачи может быть выполнена в виде аппаратных средств и/или программного обеспечения, которое служит для предоставления терминалу 400 возможности передачи данных и другой информации внешним устройствам или системам. Например, логика 408 передачи может содержать логику для передачи данных и/или другой информации по сети передачи данных другим устройствам, например серверу. Например, логика 402 обработки может использовать логику 408 передачи для передачи запроса на сервер для установления сеанса одноадресной передачи по сети передачи данных.
Логика 410 приема может быть выполнена в виде аппаратных средств и/или программного обеспечения, которое служит для предоставления терминалу 400 возможности приема данных и другой информации с удаленных устройств или систем. Например, в одном варианте осуществления логика 410 приема содержит логику приема многоадресной передачи, которая служит для приема данных и/или другой информации, переданной посредством многоадресной передачи, по каналу 418 многоадресной передачи с удаленных устройств, например с сетевого сервера. Например, логика приема многоадресной передачи предоставляет терминалу 400 возможность приема многоадресной передачи по сети передачи данных с сетевого сервера. Логика 410 приема также содержит логику одноадресной передачи, которая служит для приема данных одноадресной передачи и/или другой информации по каналу 220 одноадресной передачи с удаленного сервера. Например, логика одноадресной передачи предоставляет терминалу 400 возможность установления одного или нескольких сеансов одноадресной передачи для приема данных по каналу 220 одноадресной передачи с удаленного сервера. Логика 408 приема также содержит логику канала управления для приема управляющей информации с удаленного сервера по каналу 422 управления. Логика канала управления может быть выполнена в виде любых подходящих аппаратных средств и/или программного обеспечения и может осуществлять любой тип канала управления, подходящий для приема информации с удаленного сервера.
Память 404 для хранения данных представляет собой любой тип памяти, подходящей для сохранения информации в терминале 400. Например, терминал 400 может принять содержимое, которое было передано с сервера в многоадресной передаче. В одном варианте осуществления логика 402 обработки служит для сохранения содержимого в памяти 404 для дальнейшей обработки.
Логика 414 планирования служит для планирования приема данных с удаленного сервера. Например, логика 414 планирования может принять расписание передач с удаленного сервера через канал 422 управления. Расписание передач описывает способ и время выполнения передачи данных с сервера для приема посредством терминала 400. Если расписание передач определяет временное окно, в пределах которого данные могут быть получены в сеансе одноадресной передачи, то логика 414 планирования информирует логику 402 обработки об установлении сеанса одноадресной передачи с сервером для выполнения извлечения данных в пределах временного окна. Если расписание передач указывает на то, что данные будут переданы посредством многоадресной передачи в течение одного или нескольких циклов многоадресной передачи, то логика 414 планирования информирует логику 402 обработки об ожидании многоадресных передач данных в течение соответствующего времени.
В течение процесса работы терминал 400 служит, в соответствии с одним или несколькими вариантами осуществления системы доставки данных, для приема данных, которые были эффективно переданы с передающего сервера по сети передачи данных. Терминал 400 принимает расписание передач с сервера через канал 422 управления. Логика 402 обрабатывает расписание передач и определяет, должны ли данные быть переданы на терминал посредством многоадресной передачи или же посредством одноадресной передачи. Если данные должны быть переданы посредством одноадресной передачи, то расписание передач указывает временное окно, в пределах которого терминал 400 должен установить сеанс одноадресной передачи для выполнения извлечения данных. Если данные должны быть переданы посредством многоадресной передачи, то расписание передач указывает время выполнения одной или нескольких многоадресных передач данных. В одном варианте осуществления логика 414 планирования служит для обработки принятого расписания передач для предоставления терминалу 400 возможности приема данных на основании определенного способа передачи.
Если данные были переданы посредством многоадресной передачи и не приняты в терминале 400 до конца расписания многоадресных передач, то логика 402 обработки запрашивает сеанс одноадресной передачи с сервером для выполнения извлечения данных. Таким образом, варианты осуществления системы доставки данных предоставляют передающему серверу возможность передачи данных наиболее эффективным по использованию ресурсов и эффективным в отношении затрат способом, а терминал 400 служит для приема этих передач.
В одном варианте осуществления система доставки данных содержит программные команды, сохраненные на машиночитаемом носителе, которые при выполнении посредством логики 402 обработки обеспечивают описанные в настоящем документе функции терминала 400. Например, команды могут быть загружены в терминалы 400 с машиночитаемого носителя, например гибкого диска, диска CD-ROM, карты памяти, устройства флэш-памяти, оперативной памяти (RAM), постоянной памяти (ROM) или любого другого типа запоминающего устройства или машиночитаемого носителя, который взаимодействует с терминалом 400 через ресурсы 406 устройства. В другом варианте осуществления команды могут быть загружены в терминал 400 с сетевого ресурса, который сопрягается с терминалом 400 через логику 410 приема. Команды, при выполнении посредством логики 402 обработки, обеспечивают один или несколько вариантов осуществления системы доставки данных, как описано в настоящем документе.
Фиг.5 изображает один вариант осуществления способа 500 функционирования терминала в одном варианте осуществления системы доставки данных. Для ясности, способ 500 будет описан со ссылкой на терминал 400, изображенный на Фиг.4. В одном или нескольких вариантах осуществления логика 402 обработки выполняет программные команды для выполнения нижеописанных функций.
На этапе 502 терминалом выполняется прием расписания передач с сервера по сети передачи данных. Например, логика 402 обработки принимает расписание передач по каналу 422 управления логики 410 приема. В одном варианте осуществления расписание передач описывает, когда и сколько раз содержимое будет передано посредством многоадресной передачи с сервера для того, чтобы оно могло быть принято терминалом. Если содержимое должно быть передано на терминал посредством одноадресной передачи, то расписание передач описывает временное окно, в пределах которого терминал может установить сеанс одноадресной передачи для выполнения извлечения данных с сервера.
На этапе 504 выполняется тестирование для определения того, будет ли содержимое передано на терминал посредством многоадресной передачи. Например, логика 402 обработки выполняет это тестирование с использованием информации, принятой в расписании передач. Если содержимое должно быть передано посредством многоадресной передачи, то цикловой указатель N многоадресной передачи должен быть больше нуля, и способ переходит на этап 508. Если цикловой указатель N многоадресной передачи равен нулю, то содержимое должно быть передано посредством сеанса одноадресной передачи, и способ переходит на этап 506.
На этапе 506 сеанс одноадресной передачи устанавливается между терминалом и передающим сервером для того, чтобы данные могли быть переданы на терминал. Например, логика 414 планирования выполняет планирование времени, когда сеанс одноадресной передачи может быть установлен на основе временного окна, содержащегося в принятом расписании передач. Логика 414 планирования информирует логику 402 обработки о запланированном времени одноадресной передачи, а логика 402 обработки использует логику 416 передачи для запроса на сеанс одноадресной передачи с сервером. Затем логика 410 приема устанавливает сеанс одноадресной передачи с сервером по каналу 420 одноадресной передачи.
На этапе 508 терминал выполняет извлечение данных посредством сеанса одноадресной передачи. Например, логика 402 обработки выполняет извлечение данных по каналу 420 одноадресной передачи и сохраняет извлеченные данные в памяти 404 для хранения данных. После приема данных выполнение способа завершается на этапе 514.
На этапе 504, если определяется, что данные должны быть переданы посредством многоадресной передачи на терминал из условия, чтобы цикловой указатель N многоадресной передачи не был равен нулю, способ переходит на этап 508.
На этапе 508 терминал осуществляет попытку приема данных в течение цикла многоадресной передачи. Например, логика 414 планирования указывает логике 402 обработки время многоадресной передачи данных с сервера. Логика 402 обработки управляет логикой 410 приема для приема многоадресной передачи по каналу 418 многоадресной передачи.
На этапе 512 выполняется тестирование для определения того, мог ли терминал принять данные в течение предыдущего цикла многоадресной передачи. Например, логика 402 обработки определяет, были ли данные приняты безошибочно. В одном варианте осуществления данные кодируются с прямой коррекцией ошибок (FEC) и/или чередуются. Логика 402 обработки служит для реверсирования этих операций для определения того, были ли данные приняты без ошибок. Если данные были приняты без ошибок, то выполнение способа завершается на этапе 514. Если данные не были приняты безошибочно в течение предыдущего цикла многоадресной передачи, то способ переходит на этап 516.
На этапе 516 выполняется отрицательное приращение циклового указателя N многоадресной передачи. Например, логика 402 обработки выполняет отрицательное приращение циклового указателя для того, чтобы он указал следующий цикл многоадресной передачи, предназначенный для приема.
На этапе 518 выполняется тестирование для определения того, остались ли циклы многоадресной передачи. Например, если цикловой указатель N многоадресной передачи равен нулю, то циклов многоадресной передачи больше не существует, и способ переходит на этап 506, на котором терминал устанавливает сеанс одноадресной передачи с передающим сервером для извлечения данных. Если цикловой указатель N не будет равен нулю, то будут выполняться другие циклы многоадресной передачи, и способ переходит на этап 508, на котором терминал 400 пытается безошибочно принять данные, переданные посредством многоадресной передачи, в следующем цикле многоадресной передачи.
Способ продолжается до тех пор, пока данные не будут приняты посредством многоадресной передачи или приняты посредством одноадресной передачи. Таким образом, способ 500 служит для предоставления терминалу возможности приема данных, которые были эффективно переданы в одном варианте осуществления системы доставки данных. Должно быть отмечено, что способ 500 иллюстрирует только один вариант осуществления, и что изменения, добавления или перестановки элементов потока могут быть сделаны, не отступая от объема описанных вариантов осуществления.
Фиг.6 изображает график 600, который иллюстрирует эффективность по затратам и ресурсам, достигаемую при использовании одного или нескольких вариантов осуществления системы доставки данных. Например, график 600 иллюстрирует, что в течение начальных циклов многоадресной передачи присутствует сокращение затрат по отношению к продолжительным многоадресным передачам после некоторого количества циклов многоадресной передачи. График 600 иллюстрирует, что в течение начальных циклов многоадресной передачи количество терминалов, не принявших данных, сокращается до достижения точки 602. В соответствии с одним или несколькими вариантами осуществления системы доставки данных затраты, связанные с дополнительными многоадресными передачами, превышают затраты, связанные с одноадресной передачей, после достижения точки 602. Таким образом, продолжительные многоадресные передачи будут очень неэффективными в связи с тем, что существенные многоадресные ресурсы сети будут использоваться для достижения только нескольких терминалов, как показано посредством графика ссылочным номером 604.
Однако посредством обеспечения системы, которая предоставляет не обслуженным терминалам возможность установления сеансов одноадресной передачи для выполнения извлечения данных, система достигает надежности, близкой к 100%, как показано в точке 602. Таким образом, в одном или нескольких вариантах осуществления система доставки данных предусматривает гибридную передачу данных, которая приводит к чрезвычайно эффективному распределению данных.
Соответственно, наряду с тем, что один или несколько вариантов осуществления системы доставки данных были иллюстрированы и описаны в настоящем документе, будет оценено, что в вариантах осуществления могут быть сделаны различные изменения, не отступая от их сущности или основных характеристик. Поэтому раскрытия и описания в настоящем документе предназначены для иллюстративных целей, а не ограничения объема изобретения, который сформулирован в нижеследующей формуле изобретения.