Мультивещание, ограниченное временным окном для будущей доставки мультивещания
Иллюстрации
Показать всеИзобретение относится к системам распространения информации. Техническим результатом является обеспечение справедливого распространения различным клиентам. Для этого зашифрованное событие, содержащее информацию, не предназначенную для опубликования до времени опубликования, посылается клиентам до времени опубликования. В момент времени опубликования небольшой ключ дешифрования посылается каждому клиенту. В другом варианте высоконадежные приграничные серверы, которым можно доверять, что они не опубликуют информацию до соответствующего времени, посылают незашифрованное событие или расшифровывают зашифрованное событие и посылают расшифрованное событие в определенное время или до, или после времени опубликования, так, чтобы расшифрованное или незашифрованное событие достигало клиентов, которые не могут хранить и расшифровывать зашифрованное событие, приблизительно в то же самое время, когда ключ достигает других клиентов. Таким образом, каждый клиент может принимать информацию приблизительно в одно и то же время, независимо от пропускной способности клиента или его способности хранить и расшифровывать информацию. 10 н. и 44 з.п. ф-лы, 7 ил.
Реферат
ПЕРЕКРЕСТНАЯ ССЫЛКА К РОДСТВЕННОЙ ЗАЯВКЕ
Эта заявка связана с заявкой США номер 10/099251, озаглавленной "Time-Window-Constrained Multicast using Connection Scheduling" (номер 213530 в реестре поверенного), поданной одновременно с настоящей заявкой, которая в своей полноте представлена для справки.
ОБЛАСТЬ ТЕХНИКИ
Данное изобретение относится в целом к доставке содержимого по сети, а более конкретно к доставке содержимого многочисленным клиентам в пределах заданного временного интервала.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
За прошедшие 30 лет Интернет вырос из нескольких серверов, управляемых правительством и несколькими образовательными учреждениями, в обширную гетерогенную сеть из серверов и клиентов. Серверы в Интернет обеспечивают больше функциональных возможностей, чем когда-либо прежде, от рекламы и продажи автомобилей до обучающих программ по Древней Греции. Возможности и влияние Интернет устойчиво растут по меньшей мере из-за трех взаимодействующих факторов: увеличения вычислительной мощности, увеличения пропускной способности и увеличения количества пользователей. К сожалению, хотя вычислительная мощность в общем экспоненциальный рост количества пользователей может превосходить, а временами и превосходит ограниченную пропускную способность, с которой посылается большинство информации.
Хотя эта проблема уже может быть заметной в небольших корпоративных и локальных сетях, она увеличивается в Интернет. Например, опубликование важных новостей или показ развлекательного мероприятия, например правительственного или судебного сообщения или нового музыкального видеоклипа, могут привести к миллионам посещений в минуту web-сайта, который организовал эту публикацию. Из-за вынужденной конечной пропускной способности поставщиков услуг и серверов сети такой большой спрос может вызвать переполнение сайта и загрузка (пересылка) информации, которая обычно занимает секунды, может занять минуты или даже часы. Поскольку скорости подключения пользователей возросли, и пользователи привыкают к более быстрой пересылке информации, эта задержка обслуживания приобретает все большее значение.
Одним из решений этой проблемы является мультивещание (многоадресная передача). Мультивещание является протоколом Интернет, который позволяет посылать потоковое содержимое многим различным пользователям одновременно с помощью отправления сервером только одного потока данных. Для мультивещания используется определенный порт: сервер посылает свои потоковые данные на этот порт, и клиенты, которые желают принять мультивещание, "прослушивают" указанный порт. Используя данный способ, некоторые из проблем пропускной способности при стандартной "однонаправленной передаче" могут быть преодолены и пользователи могут принимать данные более своевременно. К сожалению, даже этот более эффективный способ не помогает, если большое количество пользователей попытается "прослушивать" мультивещание. Кроме того, пользователям при неодинаковых скоростях подключения трудно одинаково воспользоваться преимуществом протокола мультивещания. Те пользователи, которые используют обычное аналоговое подключение к Интернет, такое как коммутируемое подключение через поставщика услуг Интернет (ПУИ, ISP), неизменно примут данные после тех пользователей, которые используют широкополосное подключение к Интернет, такое как кабельный модем или модем для цифровой абонентской линии (ЦАЛ, DSL).
Некоторая информация, доставляемая через Интернет, имеет дополнительную сложность в том, что не только важно, чтобы многие пользователи загрузили содержимое настолько быстро, насколько это возможно, также важно, чтобы они приняли содержимое в одно и то же время или в пределах указанного времени. Одним из примеров ситуации, в которой распределение получения информации по времени может быть важным, является опубликование правительственных данных, которые могут повлиять на финансовые рынки. В такой ситуации те, кто принимает информацию первыми, имеют возможность получить прибыль по сравнению с теми, кто еще не принял эту информацию. Другим примером может быть опубликование популярным музыкантом или группой музыкального видеоклипа. С этим примером связана дополнительная проблема, потому что такая публикация может иметь размер во много мегабайт, что дополнительно усложняет его распространение. Кроме того, в общем случае существует начальное время, когда правительственные данные или музыкальный видеоклип публикуются первый раз. В таком случае появляется проблема, как послать событие группе клиентов настолько близко к этому времени опубликования, насколько это возможно, но не позднее некоторого более позднего времени, после которого информация становится бесполезной или устаревшей. Эта проблема уместна и с точки зрения справедливости, и с точки зрения эффективности.
Одной из трудностей в решении этой задачи является обсуждавшаяся выше проблема пропускной способности сети. Хотя большинство корпоративных сетей сейчас связаны с Интернет высокоскоростными магистралями, все еще существует много пользователей, которые подключаются к Интернет с использованием аналоговых модемов. Если пользователь, подключенный к Интернет через широкополосное подключение, такое как подключение с помощью цифровой абонентской линии, способен начать обращаться к информации в то же самое время, как пользователь, связанный через телефонную связь с помощью модема со скоростью 56 Кбит/с, то пользователь с широкополосным подключением закончит принимать информацию раньше пользователя с более медленным подключением. Например, если загружаемое событие имеет размер 10 Мбайт, то при подключении на скорости 56 Кбит/с для загрузки этого события потребуется приблизительно 24 минуты, а при подключении с помощью цифровой абонентской линии со скоростью 1 Мбит/с - только 80 секунд.
Существующие способы справедливого распространения обеспечивают мало инструментальных средств для облегчения отправления события необходимому количеству различных клиентов в пределах данного временного интервала наиболее справедливым образом. Поставщики услуг и содержимого в общем случае не уделяют внимания справедливости распространения или доступу в определенное время. Таким образом, только самые быстрые, самые удачливые пользователи примут содержимое в раннее время, что часто дает им возможность незаконно извлекать выгоду из-за того, что другие пользователи, которые примут информацию в более позднее время, пропорционально пропускной способности сети и их собственной скорости подключения.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Настоящее изобретение предлагает способ, считываемый компьютером носитель и систему распространения события клиентам, имеющим неодинаковую пропускную способность, посылая зашифрованное событие до времени опубликования события и распространяя маленький, эффективно передаваемый ключ для дешифрования события в момент времени опубликования события или в другое время так, чтобы каждый клиент принял событие приблизительно в одно и то же время после времени опубликования.
Настоящее изобретение дополнительно посвящено способу, считываемому компьютером носителю и системе распространения события клиентам, имеющим неодинаковую пропускную способность, посылая зашифрованное событие до времени опубликования события на высоконадежный сервер, связанный с одним или более клиентами, распространяя ключ для дешифрования события в момент времени опубликования события или ранее, расшифровывая событие в сервере и распространяя событие от сервера к связанным с ним клиентам в момент времени опубликования события или в другое время так, чтобы каждый клиент принял событие приблизительно в одно и то же время после времени опубликования.
Настоящее изобретение также предлагает способ, считываемый компьютером носитель и систему для обеспечения справедливости распространения содержимого, посылая зашифрованное событие или до, или в момент опубликования события и посылая маленький, эффективно передаваемый ключ для дешифрования события в момент времени, заблаговременно до окончания временного интервала, после которого событие больше не является пригодным для использования или важным.
Настоящее изобретение дополнительно направлено на способ, считываемый компьютером носитель и систему для отправления маленького, эффективно передаваемого ключа через однонаправленную или многоадресную передачу множества копий. Такие копии могут посылаться одним высоконадежным сервером, специализированным сервером, выделенным для отправления ключа, или множеством высоконадежных серверов одновременно. При посылке ключа через многочисленные сетевые маршруты, например, от различных серверов, вероятность того, что по меньшей мере одна копия ключа будет принята каждым клиентом в соответствующее время, сильно увеличивается.
Настоящее изобретение рассматривает механизмы, которые пытаются обеспечить справедливость распространения, давая возможность заинтересованным клиентам принимать приблизительно в одно и то же время событие, опубликованное в данное время опубликования, несмотря на различия в пропускной способности подключения клиентов. Различия в пропускной способности подключения могут происходить из-за множества факторов, которые включают в себя скорость соединения клиента с сервером, перегрузку межсерверных связей и т.п. По меньшей мере один отправляющий сервер содержит данные, которые будут опубликованы. Отправляющий сервер может быть связан с множеством высоконадежных приграничных серверов, которые дополнительно доставляют содержимое ненадежным серверам и клиентам, связанным с высоконадежными приграничными серверами. Альтернативно, отправляющий сервер может быть связан непосредственно с ненадежными серверами или клиентами. Высоконадежный приграничный сервер является сервером, которому можно доверять, что он не опубликует информацию до выбранного времени опубликования. Таким образом, высоконадежный приграничный сервер находится на "границе" доставляющей сети, содержащей высоконадежные серверы, по меньшей мере один отправляющий сервер и соединения между ними.
До времени, когда данные должны быть опубликованы для клиентов, зашифрованные данные могут распространяться от одного или более отправляющих серверов клиентам, которые могут локально сохранять и расшифровывать данные. Впоследствии, в момент времени опубликования или после него, маленький, эффективно передаваемый ключ, с помощью которого можно расшифровать зашифрованные данные, может посылаться клиентам. Поскольку ключ имеет в общем случае достаточно небольшой размер, каждый из клиентов или серверов должен принять ключ в пределах узкого диапазона времени, гарантируя, что каждый клиент получит доступ к данным приблизительно в одно и то же время.
Зашифрованные данные могут также расшифровываться в сервере и затем посылаться в незашифрованной форме клиентам. Если сервер, выполняющий дешифрование, является высоконадежным приграничным сервером, то зашифрованные данные и ключ могут посылаться перед временем опубликования. Высоконадежный приграничный сервер может расшифровать данные и посылать данные клиенту в момент времени опубликования или до времени опубликования так, чтобы клиенты принимали данные в момент времени опубликования. Альтернативно, если сервер не является высоконадежным приграничным сервером, то данные могут посылаться перед временем опубликования, но ключ может посылаться в момент времени опубликования, и данные могут расшифровываться и посылаться клиентам как можно быстрее или в скоординированное время.
Настоящее изобретение также рассматривает, что зашифрованные данные можно посылать клиентам в момент времени опубликования или после него, но ключ не передавать до тех пор, пока не будет обеспечено, что каждый клиент примет ключ приблизительно в одно и то же время или не будет обеспечено, что максимально возможное количество клиентов примет ключ до истечения временного окна, в течение которого данные должны быть распространены. Если зашифрованные данные можно послать таким образом, чтобы передача всем клиентам завершилась до истечения временного окна, то передача ключа может быть отсрочена, пока каждый клиент не примет зашифрованные данные. Альтернативно, если зашифрованные данные нельзя доставить каждому клиенту до истечения временного окна, то ключ может посылаться за некоторое время до завершения доставки зашифрованных данных каждому клиенту. Точно так же, если требования распространения являются такими, что для информации более важно, чтобы она распространялась быстро, а не справедливо, то в таком случае ключ может посылаться в более раннее время, до того, как каждый клиент принял зашифрованные данные.
Настоящее изобретение дополнительно рассматривает использование протоколов мультивещания для минимизации нагрузки передачи на отправляющем сервере или высоконадежном приграничном сервере. Используя протокол мультивещания, сервер должен послать только несколько копий, которые затем копируются и повторно передаются маршрутизаторами на дополнительные серверы или клиентам. Соответствующие протоколы мультивещания могут особенно часто использоваться при передаче ключа. Поскольку ключ может содержать очень маленькое количество данных, увеличение эффективности может быть достигнуто мультивещанием избыточных копий ключа, вместо ожидания от клиента запроса на повторную передачу. Мультивещание ключа может осуществляться с исправлением ошибок, используя большую избыточность для того, чтобы избежать запросов на повторную передачу. Дополнительно, ключ может передаваться больше, чем одним сервером. Возможные серверы ключей включают в себя отправляющий сервер, специализированный центральный сервер ключа, высоконадежный приграничный сервер или любую их комбинацию.
Настоящее изобретение дополнительно рассматривает оценку скорости, с которой данные могут перемещаться клиенту. Запаздывание при соединении отправляющего сервера с высоконадежным приграничным сервером, или между высоконадежным приграничным сервером и клиентом, или по всему пути может быть проконтролировано или рассчитано. Основываясь на эмпирических или теоретических оценках времени задержки подключения, может быть создана база данных времени доставки для каждого клиента. Время доставки может использоваться сервером для определения момента времени, когда он должен начать передачу или зашифрованных данных, или расшифрованных данных, или ключа. Например, высоконадежный приграничный сервер может инициализировать передачу расшифрованных данных всем его клиентам, которые не имеют возможности локально хранить или расшифровывать данные, в момент времени, которое рассчитывается, вычитая минимальное время передачи для всех клиентов из времени, когда событие должно быть опубликовано. Альтернативно, высоконадежный приграничный сервер может инициализировать передачу события каждому клиенту в момент времени, которое рассчитывается, вычитая время передачи только для этого конкретного клиента из времени, когда событие должно быть опубликовано, таким образом учитывая время задержки отдельных подключений. Если сервер может выполнить эту последнюю операцию, то каждый из заинтересованных клиентов будет принимать событие очень близко к моменту времени, когда событие должно быть опубликовано, в то время как предыдущая операция приводит к тому, что время прибытия изменяется сильнее. Чтобы дополнительно повысить справедливость и эффективность, клиенты сначала могут быть перераспределены среди серверов для уменьшения влияния некоторых источников задержки, и, в некоторых ситуациях, клиенты с подобными скоростями подключения могут размещаться на одних и тех же серверах (таким образом делая ступенчатую доставку более эффективной). Это может дать возможность почти одновременного приема события множеством по-другому расположенных и связанных клиентов в соответствии с оценкой их конкретного времени передачи клиент-сервер.
Дополнительные признаки и преимущества данного изобретения будут очевидны из последующего подробного описания иллюстративных вариантов осуществления, которое выполнено со ссылкой к сопроводительным чертежам.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Хотя прилагаемая формула изобретения конкретно формулирует особенности настоящего изобретения, данное изобретением, вместе с его задачами и преимуществами, может быть лучше всего понято из последующего подробного описания, рассматриваемого вместе с сопроводительными чертежами, на которых:
фиг.1 - структурная схема, в общем случае иллюстрирующая примерный компьютер-сервер, на котором осуществляется настоящее изобретение;
фиг.2 - структурная схема, в общем случае иллюстрирующая примерную сетевую среду, в которой может использоваться настоящее изобретение;
фиг.3 - временная диаграмма, в общем случае иллюстрирующая способ доставки рассматриваемого в соответствии с настоящим изобретением события;
фиг.4 - другая временная диаграмма, в общем случае иллюстрирующая способ доставки рассматриваемого в соответствии с настоящим изобретением события;
фиг.5 - другая временная диаграмма, в общем случае иллюстрирующая способ доставки рассматриваемого в соответствии с настоящим изобретением события;
фиг.6 - другая временная диаграмма, в общем случае иллюстрирующая способ доставки рассматриваемого в соответствии с настоящим изобретением события; и
фиг.7 - другая временная диаграмма, в общем случае иллюстрирующая способ доставки рассматриваемого в соответствии с настоящим изобретением события.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Настоящее изобретение направлено на способ, считываемый компьютером носитель и систему распространения события совокупности клиентов таким образом, чтобы клиенты принимали данное событие настолько одновременно, насколько это возможно, и чтобы максимально возможное количество клиентов принимали данное событие до окончания временного интервала, после которого данное событие больше не является значимым, или содержащаяся в нем информация становится устаревшей. Более конкретно, настоящее изобретение рассматривает отправление зашифрованного события до момента времени, когда событие должно быть опубликовано. Зашифрованное событие может храниться или в компьютере-клиенте, или в сервере. В момент времени, когда событие должно быть опубликовано, ключ дешифрования может посылаться каждому клиенту или серверу. Поскольку вероятно, что ключ будет маленьким, время его передачи будет относительно коротким, и каждый из клиентов примет ключ, и таким образом - способность расшифровывать данные - приблизительно одновременно. Если клиент не имеет возможности хранить зашифрованное событие или расшифровывать его, то оно может быть сохранено и расшифровано в сервере и затем послано клиенту. Если высоконадежный приграничный сервер расшифровывает событие для клиента, то ему может быть послан ключ до времени опубликования и он может начать посылать расшифрованное событие клиенту до времени опубликования, чтобы учесть рассчитанное или измеренное запаздывание (время задержки) соединения между клиентом и высоконадежным приграничным сервером. Альтернативно, если сервер, расшифровывающий событие для клиента, не является высоконадежным приграничным сервером, то он может принимать ключ в момент времени опубликования или после него и посылать расшифрованное событие клиенту сразу после завершения дешифрования события. Если зашифрованное событие нельзя послать достаточно рано, чтобы каждый клиент завершил прием зашифрованного события до времени опубликования, то передача ключа может быть отсрочена, чтобы дать возможность клиентам закончить прием зашифрованного события. Ключ может посылаться самое позднее в момент времени, равный конечному времени минус время передачи ключа. Протоколы мультивещания могут использоваться для минимизации количества независимых сеансов. Из-за относительно небольшого размера ключа значительная избыточность может использоваться для гарантирования надлежащей доставки ключа даже с помощью мультивещания.
Обращаясь к чертежам, на которых подобные цифры ссылок относятся к подобным элементам, изобретение в дальнейшем описано в контексте серверной вычислительной среды. Хотя это и не требуется для использования изобретения, изобретение описано, как воплощенное с помощью выполняемых компьютером команд, таких как модули программ, которые выполняются компьютером-сервером или компьютером-клиентом. В общем случае, модули программ включают в себя подпрограммы, программы, задачи, компоненты, структуры данных и т.п., которые выполняют отдельные задачи или воплощают определенные абстрактные данные.
Изобретение может быть осуществлено в других конфигурациях компьютерной системы кроме сервера. Например, изобретение может быть реализовано в маршрутизаторах, многопроцессорных системах, персональных компьютерах, бытовой электронике, миникомпьютерах, универсальных компьютерах и т.п. Изобретение может также использоваться в распределенных вычислительных средах, где задачи выполняются удаленными устройствами обработки, которые связаны через систему коммуникаций. В распределенной вычислительной среде модули программ могут располагаться и в местных, и в удаленных запоминающих устройствах.
Хотя изобретение может быть внедрено во многие виды вычислительных сред, как предложено выше, следующее подробное описание изобретения сформулировано в контексте типичного универсального вычислительного устройства в форме обычного сервера 20.
Перед подробным описанием изобретения, вычислительная среда, в которой работает данное изобретение, описана в связи с фиг.1. Сервер 20 включает в себя процессор 21, системную память 22 и системную шину 23, которая соединяет различные системные компоненты, которые включают в себя системную память процессора. Системная шина 23 может быть любым из нескольких типов шинных структур, которая включает в себя шину памяти или контроллер памяти, периферийную шину и локальную шину, которые используют любую из разнообразия шинной архитектуры. Системная память включает в себя постоянное запоминающее устройство (ПЗУ) 24 и оперативную память (ОП) 25. Базовая система ввода-вывода (BIOS) 26, содержащая основные подпрограммы, которые помогают перемещать информацию между элементами в сервере 20, например, во время запуска, хранится в ПЗУ 24. Сервер 20 дополнительно включает в себя накопитель 27 на жестком диске для считывания информации и записи информации на жесткий диск 60, накопитель 28 на магнитном диске для считывания информации или записи информации на сменный магнитный диск 29 и оптический дисковод 30 для считывания информации или записи информации на сменный оптический диск 31, такой как компакт-диск или другой оптический носитель.
Накопитель 27 на жестком диске, накопитель 28 на магнитном диске и оптический дисковод 30 связаны с системной шиной 23 с помощью средства 32 сопряжения (интерфейсом) с накопителем на жестком диске, средства 33 сопряжения с накопителем на магнитном диске и средства 34 сопряжения с оптическим дисководом, соответственно. Дисководы и связанные с ними считываемые компьютером носители обеспечивают энергонезависимую память для хранения считываемых компьютером команд, структур данных, модулей программ и других данных для сервера 20. Хотя описанная примерная среда использует жесткий диск 60, сменный магнитный диск 29 и сменный оптический диск 31, специалист должен признать, что другие типы считываемых компьютером носителей, которые могут хранить данные, которые доступны компьютеру, такие как магнитные кассеты, платы флэш-памяти, цифровые видеодиски, картриджи Бернулли, оперативная память, постоянные запоминающие устройства и т.п., могут также использоваться в примерной среде обработки.
Множество модулей программ, которые включают в себя операционную систему 35, одну или более программ сервера 36, другие модули 37 программ и данные 38 программ, может храниться на жестком диске 60, магнитном диске 29, оптическом диске 31, в ПЗУ 24 или в ОП 25. Пользователь может вводить команды и информацию в сервер 20 через устройства ввода данных, такие как клавиатура 40 и устройство 42 позиционирования. Другие устройства ввода данных (не показаны) могут включать в себя микрофон, джойстик, игровую клавиатуру, спутниковую антенну, сканер или подобные им. Эти и другие устройства ввода данных часто подключаются к процессору 21 через интерфейс последовательного порта 46, который подсоединен к системной шине, но могут соединяться с помощью других средств сопряжения, таких как параллельный порт, игровой порт или порт универсальной последовательной шины (USB). Монитор 47 или другой вид устройства отображения может также быть связан с системной шиной 23 через такое средство сопряжения, как видеоадаптер 48.
Сервер 20 работает в сетевой среде, используя логические подключения к одному или более удаленным клиентам 50 или дополнительным серверам 52 через маршрутизаторы и другое сетевое оборудование, такое как маршрутизатор 49. Удаленные клиенты 50 могут быть персональным компьютером (ПК), сетевым ПК, одноранговым маршрутизатором, другим обычным сетевым узлом или другим компьютером и типично включают в себя многие из элементов, описанных выше относительно сервера 20. Удаленный сервер 52 может быть почтовым сервером, зеркальным сервером, web-сервером или другим обычным сетевым узлом и типично включает в себя многие или все элементы, описанные выше относительно сервера 20. Сетевой маршрутизатор 49 может быть маршрутизатором с одной ветвью, приграничным маршрутизатором, маршрутизатором мультивещания, приложением или другим обычным сетевым узлом и типично определяет следующий пункт в сети, куда пакет должен быть отправлен. Логическое подключение 51, изображенное на фиг.1, может быть локальной сетью (ЛС) и/или глобальной сетью (ГС). Такие сетевые среды обычно используются в офисах, компьютерных сетях в масштабах предприятия, корпоративных сетях (интранет) и Интернет.
При использовании в сетевой среде ЛС или ГС сервер 20 связан с сетью 51 через сетевой интерфейс или адаптер 53. В сетевой среде модули программ, изображенные относительно сервера 20 или его частей, могут храниться в удаленном запоминающем устройстве, доступном через сетевой маршрутизатор 49. Следует признать, что показанные сетевые подключения являются примерными, и что другие средства могут использоваться для установления линии связи между компьютерами.
В последующем описании изобретение будет описано со ссылкой к действиям и символическим представлениям операций, которые выполняются одним или более компьютерами, если не указано иное. Также понимается, что такие действия и операции, которые упоминаются время от времени, как выполняемые компьютером, включают в себя обработку процессором компьютера электрических сигналов, представляющих данные в структурированной форме. Эта обработка преобразовывает данные или сохраняет их в ячейках в системе памяти компьютера, которая реконфигурирует или иначе изменяет работу компьютера способом, хорошо понятным специалистам. Структуры данных, где хранятся данные, являются физическими ячейками памяти, которые имеют конкретные свойства, которые определяются форматом данных. Однако, хотя изобретение описывается в указанном контексте, оно не должно быть ограничением, поскольку специалисты должны признать, что различные действия и операции, описанные в дальнейшем, могут также быть осуществлены в аппаратных средствах.
В соответствии с одним аспектом изобретения группа соединенных с сетью клиентов обеспечивается зашифрованным событием до времени опубликования события и впоследствии обеспечивается ключом дешифрования в момент времени опубликования или после него для дешифрации события. Событие, вероятно, будет большим и потребует значительное количество времени для передачи его клиентам, соединенным через узкополосное подключение, в то время как клиенты с широкополосным подключением смогут принять данное событие относительно быстро. Распространение незашифрованного события было бы несправедливо, поскольку широкополосные клиенты будут иметь доступ к содержащейся в событии информации до узкополосных клиентов и они могут использовать информацию в ущерб узкополосным клиентам. Справедливость распространения, однако, может быть достигнута, зашифровывая событие и посылая его до времени опубликования, потому что каждый из клиентов может принять ключ дешифрования в пределах небольшого промежутка времени, поскольку ключ является относительно маленьким и его передача может занять очень короткое время, даже при большом разнообразии (диапазоне) скоростей подключения. Таким образом каждый клиент будет иметь доступ к содержащейся в событии информации через небольшой промежуток времени, что обеспечивает справедливое распространение.
Как можно заметить, для обеспечения справедливости распространения зашифрованное событие должно приниматься до ключа дешифрования, иначе клиент будет иметь ключ, но не иметь события для дешифрования. Однако это нельзя обеспечить во всех случаях. Таким образом, настоящее изобретение рассматривает отправление ключа дешифрования в момент времени опубликования или, если требуется, после него, в том случае, если зашифрованное событие было доступно от отправляющего сервера достаточно рано, чтобы надежно распространить его клиентам. Настоящее изобретение также рассматривает отправление ключа дешифрования в любое время после времени опубликования, до момента времени, равного конечному времени минус время доставки, требуемое для доставки ключа. Поэтому отправление ключа может быть отсрочено, чтобы позволить максимально возможному количеству клиентов закончить принимать зашифрованное событие до отправления ключа. Таким образом, если отправляющий сервер не был способен или ему не разрешалось посылать зашифрованное событие в достаточно раннее время, чтобы позволить клиентам принимать зашифрованное событие до времени опубликования, то отправление ключа может быть отсрочено по мере необходимости для обеспечения наиболее справедливого доступа к содержащейся в событии информации.
В соответствии с другим аспектом изобретения зашифрованное событие может посылаться серверу и расшифроваться в сервере до того, как оно посылается клиенту. Таким образом, отдельным клиентам нет необходимости хранить зашифрованное событие, которое может быть весьма большим, и при этом они не должны обременять свою систему обработки дешифрованием события. Высоконадежный сервер является таким сервером в сети, которому отправляющий сервер может доверять, что он не опубликует событие до времени опубликования. Высоконадежный приграничный сервер является последним сервером, которому можно доверять в логическом подключении между отправляющим сервером и клиентом, и таким образом он может считаться границей высоконадежной сети. Если сервер, расшифровывающий событие для клиента, является высоконадежным приграничным сервером, то высоконадежный приграничный сервер может обеспечиваться зашифрованным событием и ключом до времени опубликования и может расшифровать событие до времени опубликования. Альтернативно, если сервер, расшифровывающий событие для клиента, не является высоконадежным приграничным сервером, то ключ можно послать после времени опубликования или значительно раньше, чтобы позволить серверу расшифровать событие и передать его клиенту. Однако такому серверу нельзя доверять, чтобы он содержал расшифрованное событие и ждал в течение определяемого времени. В любом случае проблема остается в том, что расшифрованное событие, которое, вероятно, будет большим, потребует существенное количество времени для передачи его узкополосным клиентам. Чтобы минимизировать различие во времени, когда широкополосный клиент и узкополосный клиент принимают событие, высоконадежный приграничный сервер может посылать событие узкополосным клиентам за определенное время до времени опубликования, так, чтобы клиенты могли закончить принимать событие приблизительно в одно и то же время.
В соответствии с еще одним аспектом настоящего изобретения зашифрованное событие и ключ дешифрования могут посылаться, используя протоколы мультивещания, чтобы увеличить эффективность сети и распределить нагрузку передачи. Как известно специалистам, мультивещание часто не обеспечивает эффективного механизма запроса повторной передачи, если переданные данные потеряны или разрушены. Поскольку ключ может быть весьма маленьким, может быть более эффективным послать ключ со значительной избыточностью и таким образом минимизировать возможность того, что потребуется повторная передача. Например, многочисленные копии ключа могут посылаться в одном сообщении, которое остается все еще весьма маленьким и передается эффективно, даже узкополосным клиентам. Альтернативно, одна копия ключа может посылаться через различные сетевые маршруты, например от различных ключевых серверов, которые включают в себя отправляющий сервер, высоконадежные приграничные серверы, специализированный ключевой сервер или любую их комбинацию.
Согласно изобретению фиг.2 иллюстрирует типичную сетевую среду. Важно, что настоящее изобретение не ограничено воплощением с помощью какого-то определенного сетевого протокола. Оно может быть осуществлено, используя протоколы TCP/IP (протокол управления передачей/межсетевой протокол), AppleTalk (протокол, разработанный фирмой Apple для ПК Macintosh), Novell, а также среди других возможностей - с помощью протокола сети доставки контента (информационного наполнения). Эти протоколы, конечно, будут обеспечивать различные уровни функциональных возможностей. Поэтому в некоторых сетях программное обеспечение сервера может выполнять больше функций, в то время как в других сетях программное обеспечение сервера может зависеть от основных протоколов, которые обеспечивают эти функциональные возможности. При описании примерных вариантов осуществления настоящего изобретения конкретная информация или требуемые функциональные возможности могут обеспечиваться с помощью основных протоколов или с помощью программного обеспечения серверов или клиентов. Основные способы остаются неизменными и существующие функции могут просто внедряться для завершения требуемых задач.
Фиг.2 иллюстрирует сетевую среду 200, в которой может быть описан примерный вариант осуществления изобретения. Отправляющий сервер 210 соединен с сетью, содержащей высоконадежные приграничные серверы 220, 221 и 222 и дополнительные серверы, которые не являются высоконадежными, такие как серверы 230, 231 и 232. Сеть также содержит пользователей (клиентов), представленных в форме персональных компьютеров (ПК), которые логически связаны с клиентскими машинами. Клиенты 50, например, могут быть связаны через узкополосные подключения 238, и клиенты 150 могут быть связаны через широкополосные подключения 239. Как известно специалистам, узкополосное подключение в общем случае является коммутируемым подключением на обычно используемых скоростях аналоговых модемов, например 56 Кбит/с или 33,6 Кбит/с. Широкополосное подключение может быть осуществлено с помощью любой из технологий, такой как кабельные модемы, модемы цифровой абонентской линии (ЦАЛ) или спутниковые модемы, и оно в общем случае обеспечивает производительность на порядок выше, чем при узкополосном подключении.
В предпочтительном варианте осуществления событие создается в отправляющем сервере 210. Событием может быть любая совокупность данных, которая должна быть распространена клиентам 50 и 150. Например, событие может быть настолько простым, как опубликование экономических новостей от бюро учета или департамента правительства, или оно может быть значительно больше и сложнее, таким как цифровое кино, представляющее опубликование нового изделия или услуги от бизнеса или новый музыкальный видеоклип от популярного музыканта или группы. В общем случае событие имеет