|
(21), (22) Заявка: 2003107071/09, 14.03.2003
(24) Дата начала отсчета срока действия патента:
14.03.2003
(30) Конвенционный приоритет:
15.03.2002 US 10/099,242
(43) Дата публикации заявки: 20.09.2004
(46) Опубликовано: 10.09.2007
(56) Список документов, цитированных в отчете о поиске:
US 6223286 B1, 24.04.2001. WO 01/97432 A2, 20.12.2001. ЕР 1035703 A1, 13.09.2000. US 2001/0056416 A1, 27.12.2001. WO 01/69848 A2, 20.09.2001. WO 98/57275 A2, 17.12.1998. RU 2147790 С1, 20.04.2000.
Адрес для переписки:
129010, Москва, ул. Б. Спасская, 25, стр.3, ООО “Юридическая фирма Городисский и Партнеры”, пат.пов. Ю.Д.Кузнецову, рег.№ 595
|
(72) Автор(ы):
ПАДМАНАБХАН Венката Н. (US), КАБРЕРА Луис Фелипе (US)
(73) Патентообладатель(и):
МАЙКРОСОФТ КОРПОРЕЙШН (US)
|
(54) МУЛЬТИВЕЩАНИЕ, ОГРАНИЧЕННОЕ ВРЕМЕННЫМ ОКНОМ ДЛЯ БУДУЩЕЙ ДОСТАВКИ МУЛЬТИВЕЩАНИЯ
(57) Реферат:
Изобретение относится к системам распространения информации. Техническим результатом является обеспечение справедливого распространения различным клиентам. Для этого зашифрованное событие, содержащее информацию, не предназначенную для опубликования до времени опубликования, посылается клиентам до времени опубликования. В момент времени опубликования небольшой ключ дешифрования посылается каждому клиенту. В другом варианте высоконадежные приграничные серверы, которым можно доверять, что они не опубликуют информацию до соответствующего времени, посылают незашифрованное событие или расшифровывают зашифрованное событие и посылают расшифрованное событие в определенное время или до, или после времени опубликования, так, чтобы расшифрованное или незашифрованное событие достигало клиентов, которые не могут хранить и расшифровывать зашифрованное событие, приблизительно в то же самое время, когда ключ достигает других клиентов. Таким образом, каждый клиент может принимать информацию приблизительно в одно и то же время, независимо от пропускной способности клиента или его способности хранить и расшифровывать информацию. 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. Например, событие может быть настолько простым, как опубликование экономических новостей от бюро учета или департамента правительства, или оно может быть значительно больше и сложнее, таким как цифровое кино, представляющее опубликование нового изделия или услуги от бизнеса или новый музыкальный видеоклип от популярного музыканта или группы. В общем случае событие имеет такой характер, что его распространение до времени опубликования является неуместным. Например, если правительственные экономические данные были бы распространены до времени их опубликования, это могло бы опрокинуть финансовые рынки. Точно так же, если новый музыкальный видеоклип был бы показан до времени его опубликования, то маркетинг видеоклипа, возможно, не имел бы достаточного времени для формирования спроса и видеоклип мог рассматриваться как неудача. Событие в общем случае также имеет такой характер, что справедливость доставки является важной. Таким образом, если правительственные экономические данные были бы переданы некоторым клиентам до других клиентов, то клиенты, которые приняли данные, могли бы их использовать для получения прибыли от тех, кто их еще не принял. Аналогично, если одна группа клиентов приняла бы новый музыкальный видеоклип ранее другой группы, то внимание средств массовой информации, сосредоточенное на несправедливости распространения, могло бы отвлечь внимание от более благоприятной рекламы, относящейся непосредственно к качеству видеоклипа. Таким образом, настоящее изобретение рассматривает справедливую доставку информации или события клиентам с различной пропускной способностью и вычислительной мощностью.
Информация, содержащаяся в распространяемом клиентам событии, будет также часто иметь конечное время, после которого информация становится устаревшей или несоответствующей. Для некоторых данных, например для правительственного экономического сообщения, информация может быть современной в течение месяца или больше, пока следующее сообщение не будет доставлено. Точно так же новый музыкальный видеоклип можно считать современным в течение нескольких недель. Альтернативно, некоторые данные, которые могут быть распространены клиентам, могут потерять свою актуальность очень быстро. Например, для кино, показывающего метеорологическую радиолакацию, промежуток времени для данной области может быть современным только в течение 15 минут. Настоящее изобретение рассматривает доставку события справедливым способом и до конечного времени, после которого содержащаяся в событии информация не может быть полезна для клиентов.
На фиг.3 представлены временной ряд событий, рассматриваемых в соответствии с настоящим изобретением. Гистограмма 300 представляет группу клиентов конкретного сервера. Так, например, данный график может представлять высоконадежный приграничный сервер 221, имеющий соединенных с ним и узкополосных клиентов 50, и широкополосных клиентов 150, или внешний (ненадежный) сервер 232, также имеющий соединенных с ним и узкополосных клиентов 50, и широкополосных клиентов 150. Хотя фиг.2 показывает только несколько таких клиентов, соединенных с серверами 221 и 232, понимается, что еще многие могут быть связаны через подобные сетевые подключения. На гистограмме 300 время доставки, которое обычно является непрерывной функцией, было аппроксимировано, чтобы время доставки для каждого клиента попало в указанные категории. Таким образом первая группа клиентов 310, показанная левее всех, примет сообщение в пределах диапазона времени приблизительно от 5 с до 15 с, вторая группа 312 примет сообщение в пределах диапазона времени от 40 с до 60 с и т.д. Важно обратить внимание, что время, показанное на гистограмме 300, не увеличивается линейно. Это потому, что данное время передачи предлагается просто как иллюстрация настоящего изобретения.
Как можно заметить из гистограммы 300, показанный сервер имеет приблизительно 100 связанных с ним клиентов, что включает в себя широкополосных клиентов и узкополосных клиентов. Гистограмма 300 начинается в момент времени 350, когда сервер начинает посылать зашифрованное событие. Сервер может начать посылать зашифрованное событие в момент времени 350 по любой причине. Например, момент времени 350 может быть первым моментом времени, когда сервер принял зашифрованное событие от отправляющего сервера, такого как отправляющий сервер 210, показанный на фиг.2. Альтернативно, момент времени 350 может быть первым моментом времени, когда сервер завершил шифрование события, если он принял событие от отправляющего сервера в незашифрованной форме. Также возможно, что сервер начал посылать зашифрованное событие в момент времени 350 из-за явной команды от отправляющего сервера. Важно обратить внимание, что из-за того, что нет необходимости ждать определенного времени для передачи зашифрованного события, для распространения события могут использоваться и высоконадежные приграничные серверы, и ненадежные серверы.
Первая группа клиентов 310, которые должны принять событие, делает это приблизительно за 10 секунд после момента времени 350, в то время как последняя группа клиентов 326 принимает событие приблизительно за 700 секунд. Как можно заметить, при таком большом разбросе незашифрованное событие, просто посланное клиентам в момент времени опубликования, привело бы к тому, что некоторые клиенты, такие как клиенты 326, не приняли бы событие более чем 11 минут после того, как первые клиенты, такие как клиенты 310, уже приняли событие. Если бы событием было опубликование правительственных экономических данных, то клиенты 310 имели бы много времени для извлечения выгоды по сравнению с клиентами 326, которые еще не приняли эту информацию. Как будет признано специалистами, гистограмма 300 иллюстрирует распространение относительно небольшого (по объему данных) события, поскольку оно могло быть загружено широкополосными клиентами за такое небольшое количество времени, как 10 секунд. Для большего (по объему данных) события, такого как показ нового видеопродукта, даже самые быстрые клиенты 310 не смогли бы принять событие за минуты, а самым медленным клиентам 326 для принятия события могли бы потребоваться часы.
Как показано на фиг.3, сервер начал посылать зашифрованное событие в момент времени 350, который находится до времени опубликования 360, что достаточно, чтобы каждый клиент принял зашифрованное событие. Затем в момент времени 370, который может быть или моментом времени 360, как показано на фиг.3, или быть более поздним моментом времени, как будет описано дополнительно ниже, сервер может послать ключ для дешифрования зашифрованного события, посланного в момент времени 350. Как будет признано специалистами, очень трудно выполнить функцию точно в заданное время, так как все вычислительные устройства работают в дискретных циклах. Однако для целей настоящего изобретения момент времени, имеющий место сразу после времени опубликования 360, соответственно считается равным времени опубликования 360. Из-за небольшого размера ключа не будет почти никакого изменения во времени, которое потребуется даже узкополосным клиентам для принятия ключа. Таким образом, как показано на фиг.3, все клиенты 330, вероятно, примут ключ почти одновременно. Группа клиентов 330 иллюстрирует те же самые 100 клиентов, которые приняли зашифрованное событие в группах 310-326, за исключением того, что в момент времени 370 этим клиентам посылают дополнительные данные, а именно ключ дешифрования, и все они принимают его в пределах двух секунд, как показано полосой 330. Таким образом, каждый клиент впервые получает доступ к информации, содержащейся в событии, используя ключ дешифрования для дешифрования события, приблизительно в одно и то же время вскоре после времени опубликования 360.
Поскольку событие зашифровано, и высоконадежный приграничный сервер, такой как высоконадежный приграничный сервер 221, и ненадежный сервер, такой как ненадежный сервер 232, могут использоваться для распространения события до времени опубликования 360. Однако, как будет показано более подробно ниже, если должно передаваться расшифрованное или незашифрованное событие, то в высоконадежных приграничных серверах событие может находиться до времени опубликования 360. Ненадежный сервер, однако, может опубликовать событие до времени опубликования. Для зашифрованного события то, что ненадежный сервер опубликует событие до времени опубликования, не приведет к несправедливости, поскольку клиенты не будут иметь ключа, необходимого для доступа к содержащейся в событии информации. Однако для расшифрованного или незашифрованного события опубликование отдельными серверами события до времени опубликования может привести к неравному доступу к содержащейся в событии информации. Таким образом, как можно заметить, данные можно посылать клиентам, таким как клиенты 50 и 150, как только они доступны. Когда такие данные включают в себя ключи дешифрования, незашифрованные события или другие данные, которые позволят клиентам получить доступ к содержащейся в событии информации, они могут находиться в самом близком высоконадежном сервере до опубликования в соответствующее время. Ненадежному серверу нельзя доверять, чтобы он содержал данные до соответствующего времени, когда они должны быть опубликованы. Как объяснено выше, ближайший высоконадежный сервер является высоконадежным приграничным сервером.
Ключ дешифрования может посылаться ключевым сервером. Ключевой сервер может быть любым сервером, который посылает ключ, и он может включать в себя отправляющий сервер, один или более высоконадежных приграничных серверов, специализированный центральный ключевой сервер, или распределенную группу специализированных ключевых серверов, или любую их комбинацию. Центральный ключевой сервер или распределенные специализированные ключевые серверы также могут быть частью сетевой среды 200 и могут передавать ключ клиентам непосредственно в момент времени 370 или могут распространять ключ высоконадежному приграничному серверу 221 до момента времени 370 и обеспечивать команды, относящиеся к времени отправления ключа. Ненадежному серверу 232, однако, можно послать ключ в момент времени 370, а не перед моментом времени 370, потому что серверу 232 нельзя доверять, чтобы он содержал ключ до момента времени 370. Чтобы гарантировать, что ключ прибывает настолько эффективно, насколько это возможно, к максимально возможному количеству клиентов полезно передавать ключ от многочисленных серверов, таких как вышеописанные серверы, используя множество различных сетевых путей для доставки ключа клиентам. При использовании множества путей риск того, что какой-нибудь один путь может переполниться и задержать получение ключа, уменьшается. Поскольку, как будет описано ниже, передача ключа может зависеть от получения зашифрованного события клиентами, связь между серверами и центральным ключевым сервером или связь между серверами и сетью ключевых серверов рассматривается для координирования отправления ключа клиентам.
Шифрование, используемое для события, может быть любым или комбинацией популярных способов шифрования, которые включают в себя стандарт шифрования данных (СШД, DES), безопасную и быструю подпрограмму шифрования (SAFER), международный алгоритм шифрования данных (IDEA) и любой из кандидатов улучшенного стандарта шифрования (AES), например Twofish, SERPENT, RC6 и MARS. Настоящее изобретение рассматривает использование любого способа шифрования, который может быть расшифрован с помощью одного или более ключа дешифрования, которые имеют относительно маленький размер, так чтобы не было большого несоответствия во времени передачи различным широкополосным и узкополосным клиентам.
Обращаясь к фиг.4, распространение события показано в виде гистограммы 400. Как и на фиг.3, сервер может быть или высоконадежным приграничным сервером, таким как высоконадежный приграничный сервер 221, или, из-за того, что событие распространяется в зашифрованном виде, ненадежным сервером, таким как ненадежный сервер 232. Как можно заметить, момент времени 450, когда сервер начал посылать событие, не был расположен достаточно раньше времени опубликования 460, чтобы позволить каждому клиенту принять зашифрованное событие. Момент времени 450 может зависеть от момента времени, когда событие было принято сервером от отправляющего сервера. Из-за уменьшенного промежутка времени между тем, когда сервер начал посылать зашифрованное событие в момент времени 450, и временем опубликования 460, в момент времени опубликования клиенты 424 и 426 еще не завершили принятие зашифрованного события. В такой ситуации настоящее изобретение рассматривает задержку передачи ключа до тех пор, пока все клиенты не примут зашифрованные данные. Однако передача ключа не должна быть отсрочена до такой степени, чтобы ключ принимался после конечного времени 490. Кроме того, могут также учитываться соображения практичности. Таким образом, даже при том, что маленький процент от пользователей еще не закончил принимать зашифрованные данные, ключ может передаваться, чтобы дать возможность огромному большинству пользователей принимать данные в момент времени, который ближе к моменту времени опубликования. Такие соображения особенно важны в сети, имеющей многочисленные серверы, для обеспечения справедливого распространения событий по всей сети, как будет показано более подробно ниже.
Как показано на фиг.4, настоящее изобретение рассматривает отправление ключа дешифрования в момент времени 470, который находится после времени опубликования 460 и после того, как последняя группа клиентов 426 закончила принимать зашифрованное событие. Момент времени 470, в который посылается ключ, также находится на значительном интервале до конечного времени 490 так, чтобы каждый клиент 430 мог принять ключ до конечного времени. Хотя фиг.4 показывает, что момент времени 470, в который посылается ключ, находится вскоре после того, как последняя группа клиентов 426 приняла зашифрованное событие, ключ можно послать в любое время до конечного времени 490, которое обеспечивает, что каждый клиент или максимальное количество клиентов принимают ключ, и таким образом им предоставляется доступ к содержащейся в событии информации до конечного времени 490.
Обращаясь к фиг.5, показанное как гистограмма 500, распространение события иллюстрирует другую последовательность передачи, рассмотренную в соответствии с настоящим изобретением. Как показано на фиг.5, зашифрованное событие все еще принимается группой клиентов 524 и 526 даже после конечного времени 590. Серверы, которые опять включают в себя высоконадежные приграничные серверы и ненадежные серверы, не начинают посылать зашифрованное событие до момента времени 550, который расположен слишком поздно, чтобы позволить всем клиентам принять зашифрованное событие до конечного времени 590. Опять же, время 550 может диктоваться внешними факторами, такими как время, когда серверы приняли событие от отправляющего сервера. На фиг.5 момент времени 550 отправления показывается равным времени опубликования 560, но время 550 отправления может быть или до, или после времени опубликования 560 и может все еще приводить к тому, что группы клиентов не завершат получение зашифрованного события даже после конечного времени 590.
В такой ситуации настоящее изобретение рассматривает, чтобы высоконадежный приграничный сервер мог максимально долго ждать отправления ключа дешифрования для обеспечения того, что максимально возможное количество клиентов закончили принимать зашифрованное событие. Таким образом, высоконадежный приграничный сервер может начать посылать ключ в момент времени 570, находящийся настолько раньше конечного времени 590, чтобы позволить клиентам принять ключ. Как показано на фиг.5, высоконадежный приграничный сервер может начать посылать ключ в момент времени 570, до того, как клиенты в группах 524 и 526 завершили прием зашифрованных данных. К конечному времени 590 каждый из клиентов принял ключ дешифрования, но клиенты 524 и 526 должны завершить прием зашифрованного события прежде, чем они могут использовать ключ для обращения к посланным в данном событии данным. Однако группы клиентов 510-522 уже приняли зашифрованное событие до передачи ключа в момент времени 570 и способны обратиться к содержащимся в нем данным перед конечным временем 590. Дополнительно, каждый из клиентов 510-522 получил доступ к данным почти одновременно, обеспечивая наиболее справедливое распространение информации, которое определяется временем задержки для клиентов, соединенных с высоконадежным приграничным сервером.
Возможно, что некоторые из клиентов 50 и 150 серверов, показанных на фиг.2, не имеют достаточного объема памяти или мощности обработки для хранения зашифрованного события или его расшифровывания. Дополнительно, способность клиентов хранить и расшифровывать событие может изменяться в зависимости от события. Например, относительно маленькое событие, такое как опубликование правительственных экономических данных, может быть легко сохранено и расшифровано, и вероятно, что многие клиенты будут иметь для этого достаточный объем памяти и мощность обработки. Однако для цифрового кино или другого большого события многие клиенты не будут иметь достаточного объема памяти или мощности обработки, что включает в себя тех, которые были способны разместить меньшее событие.
Таким образом, настоящее изобретение рассматривает, что сервер может или послать зашифрованное событие, сопровождаемое ключом дешифрования, или высоконадежный приграничный сервер может расшифровать событие локально и передать расшифрованную версию события. Альтернативно, если отправляющий сервер посылает незашифрованное событие, то высоконадежный приграничный сервер может не зашифровывать событие и посылать незашифрованное событие тем клиентам, которые испытывают недостаток в памяти или обрабатывающей мощности. Как известно специалистам, незашифрованное событие содержит ту же самую информацию, как расшифрованное событие. Чтобы гарантировать целостность события, клиенты, принимающие расшифрованное событие, не должны принимать его до времени опубликования. Таким образом, высоконадежный приграничный сервер может содержать расшифрованное событие до времени опубликования или высоконадежный приграничный сервер может определить время задержки для клиентов, которые требуют, чтобы сервер послал расшифрованное событие, и начать посылать расшифрованное событие до времени опубликования так, чтобы эти клиенты приняли расшифрованное событие в момент времени опубликования.
Возвращаясь к фиг.2, там показан персональный компьютер 150, связанный с высоконадежным приграничным сервером 221 через широкополосное подключение, и два дополнительных персональных компьютера 50, связанных через узкополосное подключение. Если два персональных компьютера 50 испытывают недостаток в достаточном объеме памяти и мощности обработки для хранения и дешифрования зашифрованного события, то зашифрованное событие может расшифровываться высоконадежным приграничным сервером 221 и расшифрованное событие может посылаться компьютерам 50.
Фиг.3, обсуждавшаяся выше, иллюстрировала передачу зашифрованного события 100 клиентам сервера, такого как высоконадежный приграничный сервер 221. Хотя на фиг.3 рассматривалось использование ненадежного сервера, потому что событие, посылаемое клиентам было зашифровано, фиг.6 рассматривает использование высоконадежного приграничного сервера. Однако, как показано на фиг.2, высоконадежные приграничные серверы, такие как высоконадежные приграничные серверы 220 и 222, могут связываться с клиентами через дополнительные, ненадежные серверы, такие как ненадежные серверы 230 и 231. Высоконадежные приграничные серверы 220 и 222 расположены на таком расстоянии, чтобы при передаче незашифрованного события между отправляющим сервером 210 и оконечными назначенными клиентами при поддержании справедливого распространения, незашифрованное событие посылалось в соответствующее время, как будет показано ниже. Фиг.6 также предназначена только для иллюстративных целей и показывает передачу 150 клиентам, связанным с высоконадежным приграничным сервером 221 в соответствии с настоящим изобретением. Более конкретно, фиг.6 показывает отправление зашифрованного события и ключа дешифрования тем же самым 100 клиентам, показанным на фиг.3, и, кроме того, показывает отправление расшифрованного события 50 новым клиентам, которые не имеют достаточной памяти или мощности обработки.
Фиг.6 содержит гистограмму 600, показывающую распространение информации 100 клиентам, которые могут хранить и расшифровывать зашифрованное событие, и дополнительным 50 клиентам, которые не могут это делать и полагаются на расшифрованное событие от высоконадежного приграничного сервера. Как объяснено выше в связи с фиг.3, группы клиентов 610-626 принимают зашифрованное событие в некоторый момент времени после того, как его посылал сервер в момент времени 650. Затем в момент времени 670 высоконадежный приграничный сервер может распространить ключ дешифрования. Таким образом, как показано в иллюстративном примере на фиг.6, все 100 клиентов, которые имеют возможность хранить и расшифровывать зашифрованное событие, получили доступ к содержащейся в событии информации приблизительно в одно и то же время: через две секунды после того, как высоконадежный приграничный сервер послал ключ в момент времени 670.
Для оставшихся 50 клиентов, которые не имеют возможности хранить и расшифровывать зашифрованное событие, высоконадежный приграничный сервер может расшифровывать событие и посылать расшифрованное событие в момент времени 680. В примере, иллюстрированном на фиг.6, момент времени 680 был выбран высоконадежным приграничным сервером так, чтобы первая группа клиентов 640, принимающих расшифрованное событие, не приняла его до времени опубликования 660, но все равно приняла расшифрованное событие как можно ближе ко времени опубликования 660. Дополнительные группы клиентов 642, 644 и 646 могут принимать расшифрованное событие в некоторый момент времени после времени опубликования 660, в зависимости от времени задержки подключения к высоконадежному приграничному серверу. Как можно заметить, для 50 клиентов, которые не могут хранить и расшифровывать зашифрованное событие, высоконадежный приграничный сервер все же способен обеспечить доступ к хранящейся в событии информации, посылая расшифрованное событие, и способен сделать это относительно справедливым способом, поскольку каждый из этих 50 клиентов принимает расшифрованное событие вскоре после времени опубликования 660 вместе с первоначальными 100 клиентами, показанными на фиг.3.
Высоконадежный приграничный сервер на фиг.6 может определять момент времени 680, когда начинать посылать расшифрованное событие, с помощью оценки запаздывания подключения к клиентам. Как известно специалистам, запаздывание является мерой способности логического соединения передавать данные. Настоящее изобретение рассматривает, что высоконадежный приграничный сервер может поддерживать базу данных, содержащую хронологию связи с каждым клиентом или с типичной группой клиентов. Такая база данных может использоваться для определения ожидаемого времени передачи, основываясь на эмпирических данных. База данных может содержать результаты измерения запаздывания, такие как скорость передачи данных, пиковая скорость передачи данных, информация перегрузки, количество неудачных подключений и другая подобная сетевая информация, собираемая от предшествующих сеансов связи с клиентами. Например, может использоваться среднее значение предшествующих значений скорости передачи данных или может использоваться тенденция изменения скорости передачи данных для экстраполяционной оценки ожидаемого времени передачи. Альтернативно, информация о скорости передачи данных может использоваться вместе с дополнительной информацией для получения или улучшения оценки времени передачи. В дополнение к ожидаемому времени передачи, основанному на эмпирическом наблюдении, высоконадежный приграничный сервер может использовать функциональные возможности сети для определения теоретического времени передачи. Например, высоконадежный приграничный сервер может “протестировать связь” с клиентом или группой клиентов и измерить время, которое требуется клиентам для ответа, чтобы определить ожидаемое время передачи. Альтернативно, более совершенная сетевая среда может иметь более совершенные сетевые протоколы, которые могут обеспечить высоконадежному приграничному серверу дополнительную информацию относительно времени задержки подключения к клиентам.
Вычитая из времени опубликования оцененное время передачи, высоконадежный приграничный сервер может определить время 680 отправления, когда начинать посылать расшифрованное событие, которое позволит клиентам, принимающим расшифрованное событие, принимать его в момент времени опубликования. Как известно специалистам, оцененное время передачи может определяться, деля размер события на запаздывание подключения.
Однако из-за того, что время задержки подключения может изменяться и что в небольшом количестве ситуаций может быть жизненно важно, чтобы никакой клиент не получил доступ к передаваемой событием информации до времени опубликования, высоконадежный приграничный сервер может определять время отправления, используя минимальное ожидаемое время для передачи; таким образом гарантируя, что даже при оптимальных условиях расшифрованное событие не будет достигать клиентов до времени опубликования. Минимальное ожидаемое время для передачи может быть основано на самой низкой скорости передачи данных, сохраненной в базе данных, или оно может быть основано на данных, полученных с помощью функциональных возможностей сети, с соответствующим коэффициентом для учета непредвиденных обстоятельств. Например, минимальное ожидаемое время для передачи может просто быть половиной ожидаемого времени для передачи, полученного с помощью теоретических вычислений. Используя минимальное ожидаемое время передачи, высоконадежный приграничный сервер может определить время отправления так поздно, чтобы никто из клиентов не получил доступ к содержащейся в событии информации до времени опубликования.
Фиг.7 иллюстрирует другую возможность, рассматриваемую в соответствии с настоящим изобретением для обеспечения доступа к содержащейся в событии информации клиентов, которые имеют минимальные объем памяти или возможность обработки. Гистограмма 700 иллюстрирует ситуацию, подобную гистограмме 600, описанной выше в связи с фиг.6. Однако на фиг.7 высоконадежный приграничный сервер может посылать расшифрованное событие в различные моменты времени 780-786 так, чтобы все клиенты, которые требовали расшифрованное событие, приняли его приблизительно в одно и то же время 740. Таким образом, для группы клиентов 640 на фиг.6, которые приняли расшифрованное событие за наименьшее количество времени, высоконадежный приграничный сервер может начать посылать расшифрованное событие в момент времени 786. Для второй наиболее быстрой группы клиентов 642 высоконадежный приграничный сервер может начать посылать расшифрованное событие в момент времени 784, и точно так же высоконадежный приграничный сервер может начать посылать событие клиентам 644 в момент времени 782 и клиентам 646 – в момент времени 780. С помощью разнесения времени отправления для отдельных клиентов или групп клиентов высоконадежный приграничный сервер может обеспечить передачу расшифрованного события почти одновременно клиентам, которые требуют этого, в момент времени 740, показанный на фиг.7.
Высоконадежный приграничный сервер, показанный на фиг.7, может определять приблизительное время задержки подключения к клиенту или группе клиентов с помощью или эмпирической, или теоретической методологии, описанной выше, и может использовать эту оценку для определения момента времени, когда следует посылать расшифрованное событие различным клиентам. Дополнительно, используя иллюстрированный выше подход, посредством которого высоконадежный приграничный сервер может посылать расшифрованное событие перед временем опубликования 760, высоконадежный приграничный сервер может также обеспечить, чтобы клиенты в группе 740 получали доступ к содержащейся в событии информации приблизительно в то же самое время, как клиенты в группе 730. Дополнительная информация, относящаяся к описанной выше передаче расшифрованного события до времени опубликования и разнесению во времени передачи для выбранных клиентов, может быть найдена в поданной заявке, озаглавленной “Time-Window-Constrained Multicast using Connection Scheduling” (номер 213530 в реестре поверенного), поданной одновременно с настоящей заявкой, и которая в своей полноте представлена для справки.
Возвращаясь к фиг.2, сетевые подключения 218 и 228 показаны как прямые подключения, но как очевидно специалистам, такие подключения могут содержать любое количество маршрутизаторов, высоконадежных серверов, ненадежных серверов и других сетевых путей. Настоящее изобретение рассматривает оверлейную сеть, в которой упомянутые ниже высоконадежные серверы и подключения не обязательно требуют конкретной аппаратной конфигурации или каких-либо физических ограничений, но могут быть осуществлены в программном обеспечении, выполняющемся на существующих аппаратных средствах. В результате показанная на фиг.2 сеть 200, которая будет описана более подробно ниже, может представлять просто программный оверлей на уже существующей физической сети или она может представлять физическую структуру новой сети.
Подключения 218 к высоконадежным приграничным серверам, показанным на фиг.2, могут содержать промежуточные ненадежные серверы. Как будет объясняться более подробно ниже, зашифрованное событие посылают от отправляющего сервера 210 по сети 200 до времени опубликования. Поскольку событие зашифровано, оно может проходить через ненадежные серверы в путях подключения 218 к высоконадежным приграничным серверам, не ставя под угрозу целостность распространения события. Однако, если ключ дешифрования должен обеспечиваться к высоконадежным приграничным серверам 220, 221 и 222 до времени опубликования, то защитные меры могут использоваться для обеспечения того, что ненадежные серверы в путях подключения 218 не получат ключ и не распространят его клиентам до времени опубликования. Примеры защитных мер, которые могут использоваться с настоящим изобретением, включают в себя алгоритмы шифрования, которые допускают работу с виртуальными частными сетями (VPN), и протокол туннелирования между узлами (PPTP), которые известны из предшествующего уровня техники. Таким образом, отправляющий сервер 210 может безопасно передавать высоконадежным приграничным серверам секретную информацию, которая включает в себя ключ дешифрования и расшифрованное или незашифрованное событие, как будет подробно объясняться ниже, одновременно не показывая секретную информацию ненадежному серверу, расположенному в путях подключения 218.
Сеть 200 на фиг.2 иллюстрирует высоконадежный приграничный сервер 222, имеющий связанных с ним широкополосных клиентов 150. Таким образом, вероятно, что высоконадежный приграничный сервер 222 может обеспечить передачу зашифрованного события до времени опубликования, например, так как иллюстрировано на фиг.3, и что широкополосные клиенты будут иметь возможность хранить и расшифровывать событие. Однако возможно, что показанный высоконадежный приграничный сервер 220, с которым связаны только узкополосные клиенты 50, не будет способен послать зашифрованное событие в достаточно раннее время отправления так, чтобы каждый из узкополосных клиентов 50 принял его до времени опубликования, как показано на фиг.4. Учитывая такую сетевую ситуацию, настоящее изобретение рассматривает связь между высоконадежным приграничным сервером 222 и 220 или между всеми высоконадежными приграничными серверами 220, 221, 222 и отправляющим сервером 210 для координирования отправления ключа дешифрования. Как описано выше со ссылками на фиг.4, высоконадежный приграничный сервер может передать ключ дешифрования в любое время после времени опубликования 460 и до конечного времени 490. Поэтому время 470 отправления ключа может соответствовать времени отправления ключа для других высоконадежных приграничных серверов. Таким образом высоконадежный приграничный сервер 222, даже при том, что он уже доставил зашифрованное событие до времени опубликования, например, как показано на фиг.3, может задержать время 370 отправления ключа, чтобы оно соответствовало времени 470 отправления ключа, как показано на фиг.4, которое находится после времени опубликования.
Сообщения координирования или подобные им могут посылаться между высоконадежными приграничными серверами или между высоконадежными приграничными серверами и отправляющим сервером для координирования времени передачи ключа. Альтернативно, координация может выполняться с помощью описанного выше центрального ключевого сервера (сервера ключа). Центральный ключевой сервер может принимать сообщения от высоконадежных приграничных серверов или от клиентов непосредственно, в которых указывается, какую часть зашифрованного события приняли клиенты. Основываясь на этой информации, центральный ключевой сервер может определить скоординированное время отправления ключа и послать ключ клиентам в это скоординированное время отправления ключа, или может послать его высоконадежным приграничным серверам для передачи его клиентам, или посылая его прямо перед скоординированным временем отправления ключа, или обеспечивая передачу команды высоконадежному приграничному серверу, чтобы он послал ключ в скоординированное время отправления ключа. Кроме того, сообщения, координирующие параметры настройки времени каждого высоконадежного приграничного сервера и отправляющего сервера, могут также посылаться для предотвращения того, чтобы неправильная настройка времени вызвала несвоевременную передачу ключа. Центральный ключевой сервер или сеть ключевых серверов могут также координировать свое время с высоконадежными приграничными серверами. Один из способов координирования параметров настройки времени или синхрогенераторов всех серверов состоит в том, чтобы использовать сетевой протокол времени для синхронизации серверов по стандартному времени, такому как обеспеченное правительственным агентством по установке стандартов. При выходе из строя каждый высоконадежный приграничный сервер может послать ключ, как только его клиенты готовы, если время опубликования прошло, если этот высоконадежный приграничный сервер не принимает сообщения координирования.
Настоящее изобретение также рассматривает координирование времени отправления ключа между высоконадежными приграничными серверами, специализированным центральным ключевым сервером, специализированными распределенными ключевыми серверами, отправляющим сервером или их комбинацией, даже когда высоконадежный приграничный сервер должен расшифровать событие и передать расшифрованное событие. Например, возвращаясь к описанной выше сетевой среде, показанной на фиг.2, высоконадежный приграничный сервер 221 может иметь подключенных к нему клиентов, которые требуют, чтобы высоконадежный приграничный сервер 221 расшифровал событие и передал расшифрованное событие таким способом, как описано выше и показано на фиг.6 или 7. Как показано на фиг.6 и 7, высоконадежный приграничный сервер может начать посылать расшифрованное событие в момент времени 680 или в последовательные моменты времени 780, 782, 784 и 786. Кроме того, как описано выше, время отправления может рассчитываться на основании оцененного времени задержки подключения между высоконадежным приграничным сервером и клиентом. Однако вышеприведенные вычисления в общем случае обеспечивают доступ к расшифрованному событию в момент времени опубликования. Если высоконадежные приграничные серверы или отправляющий сервер скоординировали отправление ключа после времени опубликования, то высоконадежные приграничные серверы, посылающие расшифрованное событие, могут использовать это скоординированное время вместо времени опубликования в вычислениях для определения времени отправления расшифрованного события. Таким образом клиенты, принимающие расшифрованное событие, не получают доступ к содержащейся в событии информации раньше клиентов, которые приняли расшифрованное событие и ждут ключ.
Один из способов координирования передачи ключа и расшифрованных данных между высоконадежными приграничными серверами может основываться на времени получения, когда событие доставляют высоконадежным приграничным серверам от отправляющего сервера, такого как отправляющий сервер 210. Если высоконадежные приграничные серверы не принимают событие от отправляющего сервера достаточно рано, то передача зашифрованного события клиентам может не завершиться до времени опубликования, например, как в ситуации, иллюстрированной на фиг.4. Однако посредством эмпирической или теоретической оценки, например, как это описано выше, высоконадежные приграничные серверы могут получить оцененное время передачи при подключении к своим клиентам и таким образом могут оценить время передачи, требуемое для завершения передачи зашифрованного события всем или большинству клиентов. Затем может быть выбрано скоординированное время для отправления ключа дешифрования, чтобы оно было позже, чем это оцененное время, за которое зашифрованная передача события завершится, и чтобы оно все же было до конечного времени. Как только скоординированное время выбрано, высоконадежный приграничный сервер, посылающий расшифрованное событие, может использовать это время, а не время опубликования, для определения момента времени, когда начать посылать расшифрованное событие способом, описанным более подробно выше.
Настоящее изобретение рассматривает использование эффективных сетевых протоколов для передачи данных, которые включают в себя зашифрованное событие, расшифрованное событие и ключ дешифрования, по сетевой среде 200. Одним из таких протоколов является протокол мультивещания, обычный для сетей, использующих межсетевой протокол (IP). Как известно специалистам, трафик мультивещания посылается одному назначенному IP адресу, но принимается и обрабатывается многочисленными хост-компьютерами IP, независимо от их местоположения в сетевой среде 200. Поскольку трафик посылается одному IP адресу, при мультивещании нет необходимости посылать отдельную копию каждому клиенту или каждому высоконадежному приграничному серверу. Однако, в отличие от широковещания, мультивещание позволяет принимать и обрабатывать информацию только тем сетевым устройствам, которые “прослушивают” определенный IP адрес мультивещания. В общем случае, группа хост-компьютеров определяется как набор хост-компьютеров, “прослушивающих” предопределенный IP адрес мультивещания. Нет никаких ограничений на размер группы хост-компьютеров, и членство в ней может динамически изменяться. Кроме того, группа хост-компьютеров может охватывать маршрутизаторы и многочисленные сетевые сегменты, и не требуется, чтобы компьютер был членом группы хост-компьютеров для передачи информации мультивещания предопределенному IP адресу мультивещания. Приложению, для того, чтобы принять информацию мультивещания, необходимо сообщить соответствующим сетевым уровням, что оно будет принимать информацию мультивещания с предопределенного IP адреса мультивещания.
Из-за характера мультивещания, однако, предпочтительно, чтобы в ситуациях, когда важно распределение времени, все хост-компьютеры принимали передаваемые данные без необходимости запроса повторной передачи. Одним из способов увеличения вероятности того, что данные принимаются должным образом, является использование избыточности или других алгоритмов исправления ошибок. Для маленьких элементов данных, таких как ключ дешифрования, избыточность может быть самым простым решением. Например, ключ дешифрования может иметь размер порядка нескольких килобайт или даже меньше. Даже если была осуществлена 10-кратная избыточность, то размер сообщения увеличивается приблизительно до 30 килобайт. Даже при узкополосном подключении, таком как подключение через обычный аналоговый модем, работающий со скоростью 56 Кбит/с или даже 33,6 Кбит/с, для загрузки 30 килобайт может потребоваться 10 секунд. Таким образом, даже используя по обычным стандартам большую избыточность, передача ключа дешифрования все еще достигается за небольшой промежуток времени.
Небольшой размер ключа позволяет многочисленным серверам передавать ключ по сети 200 без значительного влияния на время задержки сети. С помощью использования многочисленных серверов для передачи ключа многочисленные сетевые пути (маршруты) могут использоваться для доставки ключа каждому из клиентов. Поскольку каждый клиент может принять ключ через многочисленные сетевые пути, то значительно менее вероятно, что переполненный узел или другой критический сетевой ресурс повлияет на время передачи ключа каждому из клиентов, так как клиент вероятно примет по меньшей мере один ключ через непереполненный путь.
Как можно заметить, настоящее изобретение обеспечивает справедливое распространение события связанным с высоконадежными серверами клиентам, несмотря на различия в пропускной способности клиентов. Высоконадежный приграничный сервер может зашифровать событие и распространить его клиентам для дешифрования с помощью переданного ключа в момент времени опубликования или до конечного времени или высоконадежный приграничный сервер может начать передавать расшифрованную версию события до времени опубликования так, чтобы оно достигло клиентов в момент времени опубликования или до конечного времени. Таким образом максимально возможное количество клиентов обеспечивается доступом к событию приблизительно в одно и то же время.
Все процитированные ссылки, которые включают в себя патенты, патентные заявки и публикации, представлены в своей полноте для справки.
Ввиду многих возможных вариантов осуществления, к которым могут применяться принципы данного изобретения, следует признать, что описанные со ссылками на чертежи варианты осуществления предназначены только для иллюстративных целей и не должны использоваться в качестве ограничения формы изобретения. Например, специалисты должны признать, что показанные в программном обеспечении элементы иллюстрированных вариантов осуществления могут быть осуществлены аппаратными средствами и наоборот или что иллюстрированные варианты осуществления могут изменяться в расположении и деталях, не отступая от объема изобретения. Поэтому описанное изобретение рассматривает все подобные варианты осуществления, как находящиеся в пределах следующей формулы изобретения и эквивалентные ей.
Формула изобретения
1. Способ справедливого распространения события по сетевой среде по меньшей мере двум клиентам, причем данное событие содержит информацию, которая должна быть опубликована в заранее определенное время опубликования, данный способ содержит этапы:
посылают зашифрованное событие от отправляющего сервера по меньшей мере двум клиентам до заранее определенного времени опубликования, используя протокол мультивещания, и
посылают ключ дешифрования от сервера ключа по меньшей мере двум клиентам после заранее определенного времени опубликования, таким образом позволяя по меньшей мере двум клиентам дешифровать событие после приема ключа дешифрования.
2. Способ по п.1, в котором ключ дешифрования посылают сразу после времени опубликования.
3. Способ по п.1, в котором ключ дешифрования посылают после того, как все из по меньшей мере двух клиентов завершили прием зашифрованного события.
4. Способ по п.1, в котором событие должно быть опубликовано до заранее определенного конечного времени, и в котором ключ дешифрования посылают до начала такого промежутка времени перед конечным временем, который позволяет передать ключ дешифрования всем из по меньшей мере двух клиентов.
5. Способ по п.1, дополнительно содержащий этапы:
посылают незашифрованное событие от отправляющего сервера высоконадежному приграничному серверу до времени опубликования, причем высоконадежный приграничный сервер является сервером, который расположен в пути обмена между отправляющим сервером и третьим клиентом, и которому можно доверять, что он не опубликует информацию до соответствующего времени, и
посылают незашифрованное событие третьему клиенту в момент времени отправления третьему клиенту, причем время отправления третьему клиенту позволяет третьему клиенту принять незашифрованное событие к тому времени, когда ключ дешифрования принимается по меньшей мере двумя клиентами.
6. Способ по п.5, дополнительно содержащий этап:
посылают незашифрованное событие четвертому клиенту в момент времени отправления четвертому клиенту, причем момент времени отправления четвертому клиенту позволяет четвертому клиенту принять незашифрованное событие к тому времени, когда ключ дешифрования принимается по меньшей мере двумя клиентами.
7. Способ по п.5, в котором момент времени отправления третьему клиенту позволяет третьему клиенту или четвертому клиенту, кто бы из них, как ожидается, ни принял его первым, принять незашифрованное событие к моменту времени, когда ключ дешифрования принят по меньшей мере двумя клиентами, данный способ дополнительно содержит этап:
посылают незашифрованное событие четвертому клиенту в момент времени отправления третьему клиенту.
8. Способ по п.1, в котором сервер ключа является двумя или более серверами ключа.
9. Способ по п.1, в котором ключ дешифрования посылают в скоординированное время отправления ключа дешифрования, в котором скоординированное время отправления ключа дешифрования определяется тем, когда все клиенты в сетевой среде принимают зашифрованное событие.
10. Способ по п.1, в котором отправление ключа дешифрования включает в себя мультивещание ключевого сообщения, содержащего по меньшей мере одну копию ключа дешифрования.
11. Способ справедливого распространения события в сетевой среде первому клиенту, причем событие содержит информацию, которая должна быть опубликована в заранее определенное время опубликования, данный способ содержит этапы:
посылают зашифрованное событие от отправляющего сервера высоконадежному приграничному серверу, причем высоконадежный приграничный сервер является сервером, который находится на пути обмена между отправляющим сервером и первым клиентом, и которому можно доверять, что он не опубликует информацию до соответствующего времени,
расшифровывают зашифрованное событие в высоконадежном приграничном сервере, и
посылают расшифрованное событие от высоконадежного приграничного сервера первому клиенту в момент времени отправления первому клиенту, причем момент времени отправления первому клиенту является функцией от первого ожидаемого времени передачи расшифрованного события первому клиенту и времени прибытия к первому клиенту, в которое первый клиент принимает расшифрованное событие, и момент времени прибытия к первому клиенту находится после времени опубликования, и
посылают расшифрованное событие от высоконадежного приграничного сервера второму клиенту в момент времени отправления второму клиенту, причем момент времени отправления второму клиенту является функцией от второго ожидаемого времени передачи расшифрованного события второму клиенту и времени прибытия ко второму клиенту, в которое второй клиент принимает расшифрованное событие, и момент времени прибытия ко второму клиенту находится после времени опубликования.
12. Способ по п.11, в котором первое ожидаемое время передачи определяется с помощью обращения к хронологии подключений между высоконадежным приграничным сервером и первым клиентом.
13. Способ по п.11, в котором первое ожидаемое время передачи определяется с помощью обращения к результатам тестирования с помощью сетевых функциональных возможностей времени задержки соединения с первым клиентом между высоконадежным приграничным сервером и первым клиентом.
14. Способ по п.11, в котором время прибытия к первому клиенту является временем опубликования.
15. Способ по п.11, в котором момент времени отправления первому клиенту является временем отправления второму клиенту.
16. Способ по п.11, в котором момент времени прибытия к первому клиенту является моментом времени прибытия ко второму клиенту.
17. Способ справедливого распространения события по сетевой среде по меньшей мере двум клиентам, данный способ содержит этапы:
посылают зашифрованное событие по меньшей мере двум клиентам, используя протокол мультивещания, и
посылают ключ дешифрования по меньшей мере двум клиентам после того, как все из по меньшей мере двух клиентов приняли зашифрованное событие, таким образом позволяя по меньшей мере двум клиентам дешифровать событие после приема ключа дешифрования;
посылают незашифрованное событие высоконадежному приграничному серверу, причем высоконадежный приграничный сервер является сервером в сетевой среде, которому можно доверять, что он не опубликует информацию до соответствующего времени, и
посылают незашифрованное событие третьему клиенту в момент времени отправления третьему клиенту, причем момент времени отправления третьему клиенту позволяет третьему клиенту принять незашифрованное событие к моменту времени, когда ключ дешифрования принят по меньшей мере двумя клиентами.
18. Способ по п.17, дополнительно содержащий этапы:
посылают зашифрованное событие высоконадежному приграничному серверу, причем высоконадежный приграничный сервер является сервером в сетевой среде, которому можно доверять, что он не опубликует информацию до соответствующего времени,
расшифровывают зашифрованное событие в высоконадежном приграничном сервере, и
посылают расшифрованное событие от высоконадежного приграничного сервера четвертому клиенту в момент времени отправления четвертому клиенту, причем момент времени отправления четвертому клиенту является функцией четвертого ожидаемого времени передачи расшифрованного события четвертому клиенту и момента времени прибытия к четвертому клиенту, когда четвертый клиент принимает расшифрованное событие.
19. Способ по п.18, в котором четвертое ожидаемое время передачи определяется с помощью обращения к хронологии подключений между высоконадежным приграничным сервером и четвертым клиентом.
20. Способ по п.18, в котором четвертое ожидаемое время передачи определяется с помощью обращения к результату тестирования с помощью функциональных возможностей сети времени задержки соединения с четвертым клиентом между высоконадежным приграничным сервером и четвертым клиентом.
21. Считываемый компьютером носитель, содержащий выполняемые компьютером команды для справедливого распространения события по сетевой среде по меньшей мере двум клиентам, причем данное событие содержит информацию, которая должна быть опубликована в заранее определенное время опубликования, причем выполняемые компьютером команды содержат команды для выполнения этапов:
посылают зашифрованное событие от отправляющего сервера по меньшей мере двум клиентам до заранее определенного времени опубликования, используя протокол мультивещания, и
посылают ключ дешифрования от ключевого сервера по меньшей мере двум клиентам после заранее определенного времени опубликования, таким образом позволяя по меньшей мере двум клиентам дешифровать событие после приема ключа дешифрования.
22. Считываемый компьютером носитель по п.21, в котором ключ дешифрования посылается после того, как по меньшей мере два клиента завершили прием зашифрованного события.
23. Считываемый компьютером носитель по п.21, в котором выполняемые компьютером команды дополнительно содержат команды для выполнения этапов:
посылают незашифрованное событие от отправляющего сервера высоконадежному приграничному серверу до времени опубликования, причем высоконадежный приграничный сервер является сервером, который расположен на пути обмена между отправляющим сервером и подключенным клиентом, и которому можно доверять, что он не опубликует информацию до соответствующего времени, и
посылают незашифрованное событие третьему клиенту в момент времени отправления третьему клиенту, причем момент времени отправления третьему клиенту позволяет третьему клиенту принять незашифрованное событие к тому времени, когда ключ дешифрования принимается по меньшей мере двумя клиентами.
24. Считываемый компьютером носитель по п.23, в котором выполняемые компьютером команды дополнительно содержат команды для выполнения этапа:
посылают незашифрованное событие четвертому клиенту в момент времени отправления четвертому клиенту, причем момент времени отправления четвертому клиенту позволяет четвертому клиенту принять незашифрованное событие к тому времени, когда ключ дешифрования принят по меньшей мере двумя клиентами.
25. Считываемый компьютером носитель по п.23, в котором момент времени отправления третьему клиенту позволяет третьему клиенту или четвертому клиенту принять незашифрованное событие, кто бы, как ожидается, ни принял его первым, к тому времени, когда ключ дешифрования принят по меньшей мере двумя клиентами, выполняемые компьютером команды дополнительно содержат команды для выполнения этапа:
посылают незашифрованное событие четвертому клиенту в момент времени отправления третьему клиенту.
26. Считываемый компьютером носитель по п.21, в котором сервер ключа содержит два или больше серверов ключа.
27. Считываемый компьютером носитель по п.21, в котором ключ дешифрования посылается в скоординированное время отправления ключа, причем скоординированное время отправления ключа основано на том моменте времени, когда все клиенты в сетевой среде приняли зашифрованное событие.
28. Считываемый компьютером носитель, содержащий выполняемые компьютером команды для справедливого распространения события по сетевой среде первому клиенту, причем событие содержит информацию, которая должна быть опубликована в заранее определенное время опубликования, причем выполняемые компьютером команды содержат команды для выполнения этапов:
посылают зашифрованное событие от отправляющего сервера высоконадежному приграничному серверу, причем высоконадежный приграничный сервер является сервером, который расположен на пути обмена между отправляющим сервером и первым клиентом, и которому можно доверять, что он не опубликует информацию до соответствующего времени,
расшифровывают зашифрованное событие в высоконадежном приграничном сервере,
посылают расшифрованное событие от высоконадежного приграничного сервера первому клиенту в момент времени отправления первому клиенту, причем момент времени отправления первому клиенту является функцией первого ожидаемого времени передачи расшифрованного события первому клиенту и момента времени прибытия к первому клиенту, когда первый клиент принимает расшифрованное событие, и момент времени прибытия к первому клиенту является моментом времени после времени опубликования, и
посылают расшифрованное событие от высоконадежного приграничного сервера второму клиенту в момент времени отправления второму клиенту, причем момент времени отправления второму клиенту является функцией второго ожидаемого времени передачи расшифрованного события второму клиенту и момента времени прибытия ко второму клиенту, когда второй клиент принимает расшифрованное событие, и момент времени прибытия ко второму клиенту является моментом, который находится после времени опубликования.
29. Считываемый компьютером носитель по п.28, в котором первое ожидаемое время передачи определяется с помощью обращения к хронологии подключений между высоконадежным приграничным сервером и первым клиентом.
30. Считываемый компьютером носитель по п.28, в котором первое ожидаемое время передачи определяется с помощью обращения к результату тестирования с помощью сетевых функциональных возможностей первого времени задержки соединения с клиентом между высоконадежным приграничным сервером и первым клиентом.
31. Считываемый компьютером носитель по п.28, в котором момент времени отправления первому клиенту является моментом времени отправления второму клиенту.
32. Считываемый компьютером носитель по п.31, в котором момент времени прибытия к первому клиенту является моментом времени прибытия ко второму клиенту.
33. Считываемый компьютером носитель, содержащий выполняемые компьютером команды для справедливого распространения события по сетевой среде по меньшей мере двум клиентам, при этом выполняемые компьютером команды содержат команды для выполнения этапов:
посылают зашифрованное событие по меньшей мере двум клиентам, используя протокол мультивещания, и
посылают ключ дешифрования по меньшей мере двум клиентам после того, как все из по меньшей мере двух клиентов приняли зашифрованное событие, таким образом позволяя по меньшей мере двум клиентам дешифровать событие после приема ключа дешифрования;
посылают зашифрованное событие высоконадежному приграничному серверу, причем высоконадежный приграничный сервер является таким сервером в сетевой среде, которому можно доверять, что он не опубликует информацию до соответствующего времени,
расшифровывают зашифрованное событие в высоконадежном приграничном сервере, и
посылают расшифрованное событие от высоконадежного приграничного сервера третьему клиенту в момент времени отправления третьему клиенту, причем момент времени отправления третьему клиенту является функцией третьего ожидаемого времени передачи расшифрованного события третьему клиенту и момента времени прибытия к третьему клиенту, когда третий клиент принимает расшифрованное событие.
34. Система справедливого распространения события, причем данное событие содержит информацию, которая должна быть опубликована в заранее определенное время опубликования, причем данная система содержит
отправляющий сервер,
высоконадежный приграничный сервер, причем высоконадежный приграничный сервер является сервером, который расположен на пути обмена между отправляющим сервером и подсоединенным клиентом, и которому можно доверять, что он не опубликует информацию до соответствующего времени,
сервер ключа, и
по меньшей мере два клиента,
причем отправляющий сервер посылает зашифрованное событие по меньшей мере двум клиентам до времени опубликования, с использованием протокола мультивещания и сервер ключа посылает ключ дешифрования по меньшей мере двум клиентам после заранее определенного времени опубликования, позволяя таким образом по меньшей мере двум клиентам дешифровать событие после приема ключа дешифрования.
35. Система по п.34, в которой ключевой сервер посылает ключ дешифрования после того, как все из по меньшей мере двух клиентов завершили прием зашифрованного события.
36. Система по п.34, дополнительно содержащая третьего клиента, причем отправляющий сервер посылает незашифрованное событие высоконадежному приграничному серверу, и высоконадежный приграничный сервер посылает незашифрованное событие третьему клиенту в момент времени отправления третьему клиенту, причем момент времени отправления третьему клиенту позволяет третьему клиенту принять незашифрованное событие приблизительно в то же время, когда ключ дешифрования принимается по меньшей мере двумя клиентами.
37. Система по п.34, в которой отправляющий сервер посылает зашифрованное событие по меньшей мере двум клиентам, содержащая отправляющий сервер, который посылает незашифрованное событие высоконадежному приграничному серверу, причем высоконадежный приграничный сервер зашифровывает незашифрованное событие, и высоконадежный приграничный сервер посылает зашифрованное событие по меньшей мере двум клиентам.
38. Система по п.34, в которой сервер ключа посылает ключ дешифрования в скоординированное время отправления ключа, причем скоординированное время отправления ключа основано на моменте времени, когда по меньшей мере два клиента принимают зашифрованное событие.
39. Система по п.34, дополнительно содержащая третьего клиента, в которой отправляющий сервер посылает зашифрованное событие высоконадежному приграничному серверу, сервер ключа посылает ключ дешифрования высоконадежному приграничному серверу, высоконадежный приграничный сервер расшифровывает зашифрованное событие и высоконадежный приграничный сервер посылает расшифрованное событие третьему клиенту в момент времени отправления третьему клиенту, причем момент времени отправления третьему клиенту позволяет третьему клиенту принимать расшифрованное событие к тому времени, когда ключ дешифрования принят по меньшей мере двумя клиентами.
40. Система по п.34, в которой сервер ключа осуществляет мультивещание ключевого сообщения, содержащего по меньшей мере одну копию ключа дешифрования.
41. Система справедливого распространения события, причем данное событие содержит информацию, которая должна быть опубликована в заранее определенное время опубликования, данная система содержит
отправляющий сервер,
высоконадежный приграничный сервер, причем высоконадежный приграничный сервер является таким сервером, который расположен на пути обмена между отправляющим сервером и первым клиентом, и которому можно доверять, что он не опубликует информацию до соответствующего времени, и
первый клиент,
причем высоконадежный приграничный сервер посылает незашифрованное событие первому клиенту в момент времени отправления первому клиенту, причем момент времени отправления первому клиенту является функцией первого ожидаемого времени передачи расшифрованного события первому клиенту и момента времени прибытия к первому клиенту, когда первый клиент принимает расшифрованное событие, при этом момент времени прибытия к первому клиенту находится после времени опубликования, при этом высоконадежный приграничный сервер посылает незашифрованное событие второму клиенту в момент времени отправления второму клиенту, причем момент времени отправления второму клиенту является функцией второго ожидаемого времени передачи незашифрованного события второму клиенту и момента времени прибытия ко второму клиенту, когда второй клиент принимает незашифрованное событие, и момент времени прибытия ко второму клиенту находится после времени опубликования.
42. Система по п.41, в которой первое ожидаемое время передачи определяется с помощью обращения к хронологии подключений между высоконадежным приграничным сервером и первым клиентом.
43. Система по п.41, в которой первое ожидаемое время передачи определяется с помощью обращения к результату тестирования с помощью сетевых функциональных возможностей времени задержки первого клиента между высоконадежным приграничным сервером и первым клиентом.
44. Система по п.41, в которой момент времени отправления первому клиенту является моментом времени отправления второму клиенту.
45. Система по п.41, в которой момент времени прибытия к первому клиенту является моментом времени прибытия ко второму клиенту.
46. Система справедливого распространения события, содержащая
сервер, и
по меньшей мере два клиента,
причем сервер посылает зашифрованное событие по меньшей мере двум клиентам, используя протокол мультивещания, и сервер посылает ключ дешифрования по меньшей мере двум клиентам после того, как все из по меньшей мере двух клиентов приняли зашифрованное событие, позволяя таким образом по меньшей мере двум клиентам дешифровать событие после приема ключа дешифрования, и
третьего клиента, в которой сервер является высоконадежным приграничным сервером, при этом высоконадежный приграничный сервер является сервером, которому можно доверять, что он не опубликует информацию до соответствующего времени, и дополнительно в которой высоконадежный приграничный сервер посылает незашифрованное событие третьему клиенту в момент времени отправления третьему клиенту, причем момент времени отправления третьему клиенту позволяет третьему клиенту принимать незашифрованное событие к тому времени, когда ключ дешифрования принят по меньшей мере двумя клиентами.
47. Система по п.46, дополнительно содержащая четвертого клиента, причем сервер является высоконадежным приграничным сервером, причем высоконадежный приграничный сервер является таким сервером, которому можно доверять, что он не опубликует информацию до соответствующего времени, и дополнительно при этом высоконадежный приграничный сервер принимает зашифрованное событие, расшифровывает зашифрованное событие и посылает расшифрованное событие четвертому клиенту в момент времени отправления четвертому клиенту, причем момент времени отправления четвертому клиенту позволяет четвертому клиенту принимать расшифрованное событие к тому времени, когда ключ дешифрования принимается по меньшей мере двумя клиентами.
48. Система по п.47, в которой момент времени отправления четвертому клиенту определяется с помощью обращения к хронологии подключений между высоконадежным приграничным сервером и четвертым клиентом.
49. Система по п.47, в которой момент времени отправления четвертому клиенту определяется с помощью обращения к результату тестирования с помощью сетевых функциональных возможностей времени задержки четвертого клиента между высоконадежным приграничным сервером и четвертым клиентом.
50. Высоконадежный приграничный сервер, который является таким сервером, который расположен на пути обмена между отправляющим сервером и первым клиентом, и которому можно доверять, что он не опубликует информацию до соответствующего времени, данный высоконадежный приграничный сервер содержит
средство для отправления зашифрованного события первому клиенту до времени опубликования, причем упомянутое событие содержит информацию, которая должна быть опубликована в момент времени опубликования,
средство для отправления ключа дешифрования первому клиенту после времени опубликования,
средство дешифрования зашифрованного события, и
средство для отправления расшифрованного события второму клиенту в момент времени отправления второму клиенту, причем момент времени отправления второму клиенту позволяет второму клиенту принимать расшифрованное событие к тому времени, когда ключ дешифрования принят первым клиентом.
51. Высоконадежный приграничный сервер по п.50, в котором ключ дешифрования посылают после того, как первый клиент завершил прием зашифрованного события.
52. Высоконадежный приграничный сервер по п.50, в котором момент времени отправления второму клиенту определяется с помощью обращения к хронологии подключений между высоконадежным приграничным сервером и вторым клиентом.
53. Высоконадежный приграничный сервер по п.50, в котором момент времени отправления второму клиенту определяется с помощью обращения к результату тестирования с помощью сетевых функциональных возможностей времени задержки второго клиента между высоконадежным приграничным сервером и вторым клиентом.
54. Высоконадежный приграничный сервер по п.50, дополнительно содержащий:
средство отправления незашифрованного события второму клиенту в момент времени отправления второму клиенту, причем момент времени отправления второму клиенту позволяет второму клиенту принимать незашифрованное событие к тому времени, когда ключ дешифрования принимается первым клиентом.
РИСУНКИ
|
|