ВЫБОР И УПРАВЛЕНИЕ ИСТОЧНИКОМ ПОЛУЧЕНИЯ КОНТЕНТА
CONTENT-ACQUISITION SOURCE SELECTION AND MANAGEMENT

Уровень техники
[0001] В одноранговой (P2P) сети каждый одноранговый компьютер может действовать как клиент или сервер по отношению к другим одноранговым компьютерам в P2P-сети, предоставляя возможность совместного доступа к различным ресурсам, таким как элементы цифрового контента, непосредственно между одноранговыми компьютерами без необходимости направлять данные через центральный серверный компьютер. Например, одноранговый компьютер может опрашивать другие одноранговые компьютеры в P2P-сети на предмет доступности элемента цифрового контента и затем запрашивать элемент цифрового контента из данного однорангового компьютера, который отвечает на запрос. Типично одноранговый компьютер может запрашивать элемент цифрового контента с первого однорангового компьютера, который отвечает на запрос, или однорангового компьютера, который непосредственно доступен, чтобы предоставлять элемент цифрового контента, несмотря на состояние этого однорангового компьютера, такое как местоположение, ширина полосы пропускания, пропускная способность, тип соединения или другая характеристика этого однорангового компьютера. Такой неинформированный выбор источника контента, чтобы предоставлять элемент цифрового контента, может приводить в результате к менее оптимальному восприятию загрузки. Другими словами, одноранговый компьютер может принимать неинформированное решение о выборе источника контента при запросе элемента цифрового контента. В традиционных P2P-сетях одноранговый компьютер не имеет информации обо всех других одноранговых компьютерах в P2P-сети или механизма анализа такой информации, чтобы выбирать источник контента, чтобы обеспечивать благоприятное восприятие загрузки.
Сущность изобретения
[0002] Данное краткое изложение сущности изобретения предусмотрено для того, чтобы в упрощенной форме представить подборку идей, которые дополнительно описываются ниже в подробном описании. Это краткое изложение сущности изобретения не имеет намерением ни идентифицировать ключевые признаки или важнейшие признаки заявляемого изобретения, ни использоваться так, чтобы ограничивать объем заявляемого изобретения. Кроме того, заявленное изобретение не ограничено реализациями, которые разрешают какие-либо или все недостатки, отмеченные в любой части данного раскрытия сущности.
[0003] Раскрываются варианты осуществления, которые относятся к распространению элементов цифрового содержимого и управлению одноранговой сетью. Например, в одном варианте осуществления идентифицируется множество источников, хранящих фрагменты элемента цифрового содержимого, который включает в себя множество частей. Множество источников включает в себя одну или более локальных машин хранения данных компьютера и один или более одноранговых компьютеров в одноранговой сети. Для каждой части из множества частей элемента цифрового содержимого эта часть загружается из источника. Источник выбирается из множества источников согласно одному или более показателям загрузки. Множество частей организуется для установки на компьютере в качестве элемента цифрового контента.
Краткое описание чертежей
[0004] Фиг. 1 показывает вычислительную систему для распространения контента согласно варианту осуществления настоящего изобретения.
[0005] Фиг. 2 показывает элемент цифрового контента согласно варианту осуществления настоящего изобретения.
[0006] Фиг. 3 показывает архитектуру компьютера службы централизованного управления (CMS) согласно варианту осуществления настоящего изобретения.
[0007] Фиг. 4 и 5 показывают способ получения элемента цифрового контента согласно варианту осуществления настоящего изобретения.
[0008] Фиг. 6 и 7 показывают способ добровольного выполнения операций и выполнения операций в обязательном порядке в P2P-сети согласно варианту осуществления настоящего изобретения.
[0009] Фиг. 8 показывает способ выбора однорангового компьютера в качестве источника контента согласно варианту осуществления настоящего изобретения.
[0010] Фиг. 9 показывает способ выбора однорангового компьютера в качестве источника контента согласно другому варианту осуществления настоящего изобретения.
[0011] Фиг. 10 показывает способ управления P2P-сетью согласно варианту осуществления настоящего изобретения.
[0012] Фиг. 11 показывает способ загрузки контента согласно варианту осуществления настоящего изобретения.
[0013] Фиг. 12 и 13 показывают способ управления P2P-сетью согласно варианту осуществления настоящего изобретения.
[0014] Фиг. 14 показывает способ распространения контента согласно варианту осуществления настоящего изобретения.
[0015] Фиг. 15 показывает интерфейс вознаграждения, отображаемый пользователю согласно варианту осуществления настоящего изобретения.
[0016] Фиг. 16 показывает компьютерную систему согласно варианту осуществления настоящего изобретения.
Подробное описание изобретения
[0017] Настоящее изобретение в целом относится к системам и способам для распространения цифрового контента в одноранговой (P2P) сети. Более конкретно настоящее изобретение относится к системам и способам для управления различными аспектами P2P-сети через компьютер службы централизованного управления (CMS). Например, CMS-компьютер может наблюдать за операциями каждого однорангового компьютера P2P-сети и может принимать информацию от каждого однорангового компьютера в форме телеметрических данных. Телеметрические данные могут предоставлять индивидуальное указание состояния однорангового компьютера. Кроме того, CMS-компьютер может собирать телеметрические данные от всех одноранговых компьютеров P2P-сети, чтобы предоставлять целостное указание состояния P2P-сети.
[0018] CMS-компьютер может использовать собранные телеметрические данные, чтобы вычислять различные показатели для предоставления операционного руководства одноранговым компьютерам P2P-сети. Например, CMS-компьютер может координировать выбор источника контента для получения элемента цифрового контента на основе одного или более показателей, которые могут быть получены из собранных телеметрических данных. В некоторых случаях CMS-компьютер может направлять такое руководство на оптимизацию восприятия получения цифрового контента данного однорангового узла сети. В некоторых случаях CMS может направлять такое руководство на оптимизацию работы P2P-сети в целом. В некоторых случаях CMS-компьютер может взвешивать потребности отдельного однорангового узла сети с общей работоспособностью P2P-сети при предоставлении такого руководства. Собирая телеметрические данные для всех одноранговых компьютеров в P2P-сети на CMS-компьютере, индивидуальный вид каждого однорангового компьютера, а также целостный вид всей P2P-сети, может быть реализован. Дополнительно эта информация может быть эффективно использована, чтобы предоставлять руководство, которое увеличивает эффективность каждого однорангового компьютера, а также всей P2P-сети.
[0019] Фиг. 1 показывает систему 100 распространения контента согласно варианту осуществления настоящего изобретения. Система 100 распространения контента содержит P2P-сеть 102, включающую в себя множество одноранговых компьютеров (например, PEER A - PEER N+N). Одноранговый компьютер 101 P2P-сети 102 может иметь доступ к различным локальным ресурсам, таким как локальные ресурсы обработки, локально сохраненные файлы, локально подключенные периферийные машины и т.д. Каждый одноранговый компьютер P2P-сети 102 может быть сконфигурирован, чтобы связываться непосредственно с каждым другим одноранговым компьютером P2P-сети через одну или более компьютерных сетей 104. Более конкретно каждый одноранговый компьютер может действовать как клиент или сервер по отношению к другим одноранговым компьютерам P2P-сети, предоставляя возможность совместного доступа к различным локальным ресурсам каждого однорангового компьютера. Хотя будет понятно, что любой подходящий ресурс может быть передан или совместно использован между одноранговыми компьютерами P2P-сети, в контексте этого описания обсуждение может быть, в частности, направлено на передачу элементов цифрового содержимого.
[0020] Например, одноранговый компьютер 101 может быть сконфигурирован, чтобы запрашивать элемент цифрового контента из любого другого однорангового компьютера P2P-сети. Дополнительно одноранговый компьютер может быть сконфигурирован, чтобы загружать элемент цифрового контента с однорангового компьютера через компьютерную сеть (иначе называется скачиванием). Кроме того, одноранговый компьютер может быть сконфигурирован, чтобы отвечать на запрос от любого другого однорангового компьютера P2P-сети, чтобы предоставлять элемент цифрового контента. Дополнительно одноранговый компьютер может быть сконфигурирован, чтобы выгружать элемент цифрового контента на этот одноранговый компьютер через компьютерную сеть (иначе называется раздачей).
[0021] Компьютерная сеть 104 может включать в себя один или более каналов связи, которые предоставляют возможность совместного использования ресурсов и данных между компьютерами. Компьютерная сеть 104 может включать в себя любую подходящую транспортную среду, протокол связи и организационную иерархию для передачи данных между компьютерами. В иллюстрированном варианте осуществления с целью простоты компьютерная сеть указана посредством множества соединений с одноранговым компьютером 101, хотя будет понятно, что компьютерная сеть может обеспечивать связь между любыми или всеми компьютерами системы 100 распространения контента.
[0022] Как часть организации компьютерной сети 104, одноранговые компьютеры P2P-сети 102 могут быть ассоциированы с поставщиком 106 услуг Интернета (ISP). Например, ISP может соединять ассоциированные одноранговые компьютеры с Интернетом для обмена данными с другими компьютерами. В некоторых вариантах осуществления одноранговые компьютеры P2P-сети могут быть ассоциированы с различными ISP. В иллюстрированном примере PEER A, PEER B, PEER N и PEER N+1 могут быть ассоциированы с ISP A; а PEER N+N может быть ассоциирован с ISP B. Кроме того, будет понятно, что дополнительные самостоятельные компьютеры, которые не включены в P2P-сеть, могут быть ассоциированы с ISP A или ISP B.
[0023] В некоторых случаях может быть полезным для однорангового компьютера передавать элемент цифрового контента к или от однорангового компьютера, ассоциированного с тем же самым ISP, чем одноранговому компьютеру, ассоциированному с другим ISP. Например, передача элемента цифрового контента между одноранговыми компьютерами в пределах одного и того же ISP может увеличивать пропускную способность и уменьшать затраты на полосу пропускания относительно передачи элемента цифрового контента между одноранговыми компьютерами, ассоциированными с различными ISP. В качестве другого примера, передача элемента цифрового контента между одноранговыми компьютерами в пределах одного и того же ISP может не учитывать выделенный объем передачи данных к одноранговому компьютеру, что может уменьшать затраты для однорангового компьютера.
[0024] В некоторых вариантах осуществления как часть организации компьютерной сети 104, множество одноранговых компьютеров P2P-сети 102 могут быть соединены с интранет-сетью 108. Одноранговые компьютеры, которые соединены с интранет-сетью, могут передавать элементы цифрового контента другим одноранговым компьютерам, соединенным с интранет-сетью, без взаимодействия с внешней сетью, такой как Интернет.
[0025] В некоторых случаях может быть полезным для однорангового компьютера передавать элемент цифрового содержимого к или от однорангового компьютера, соединенного с интранет-сетью, чем передавать элемент цифрового содержимого одноранговому компьютеру, который не соединен с интранет-сетью или расположен внешне по отношению к интранет-сети. Например, передача элемента цифрового контента между одноранговыми компьютерами, соединенными с интранет-сетью, может увеличивать пропускную способность и уменьшать затраты на полосу пропускания относительно передачи элемента цифрового контента к одноранговому компьютеру, который является внешним по отношению к интранет-сети, поскольку данные, передаваемые внешнему одноранговому компьютеру, будут проходить через шлюз или другой интерфейс, чтобы достигать внешне расположенного однорангового компьютера.
[0026] Система 100 распространения контента может включать в себя CMS-компьютер 110, сконфигурированный, чтобы управлять работой P2P-сети 102 на основе телеметрических данных, собранных с одноранговых компьютеров P2P-сети. Например, телеметрические данные могут принадлежать взаимодействиям между одноранговыми компьютерами P2P-сети, например, относящимся к передаче элемента цифрового контента.
[0027] CMS-компьютер 110 может необязательно включать в себя компьютер 112 службы отслеживания, сконфигурированный, чтобы отслеживать одноранговые компьютеры в P2P-сети 102. В частности, одноранговые компьютеры могут сообщать информацию в форме телеметрических данных компьютеру службы отслеживания, и при обмене данными одноранговые компьютеры могут принимать информацию о других одноранговых компьютерах, с которыми они могут соединяться. Например, одноранговый компьютер 101 может отправлять телеметрические данные, относящиеся к передаче элемента цифрового контента, компьютеру 112 службы отслеживания через компьютерную сеть 104. Например, одноранговый компьютер может отправлять телеметрические данные, когда намеревается передавать элемент цифрового контента, после передачи элемента цифрового контента или пытается передавать элемент цифрового контента. Будет понятно, что одноранговый компьютер может отправлять телеметрические данные службе отслеживания или CMS-компьютеру в любое подходящее время. Кроме того, операция отправки телеметрических данных может быть отвязана от фактической передачи элемента цифрового контента. В одном примере CMS-компьютер может быть сконфигурирован, чтобы собирать телеметрические данные от одноранговых компьютеров P2P-сети в реальном времени или близко к реальному времени через компьютер службы отслеживания.
[0028] В других вариантах осуществления компьютер 112 службы отслеживания может включать в себя множество компьютеров службы отслеживания, которые могут отслеживать телеметрические данные для различных одноранговых компьютеров P2P-сети 102. Например, различные компьютеры службы отслеживания могут отслеживать одноранговые компьютеры в различных регионах (например, географических регионах) P2P-сети, одноранговые компьютеры, принадлежащие различным ISP, или т.п. Каждый из множества компьютеров службы отслеживания может отправлять телеметрические данные CMS-компьютеру для сбора.
[0029] Множество компьютеров службы отслеживания могут предоставлять избыточность и гибкость для отслеживания одноранговых компьютеров в P2P-сети. В некоторых вариантах осуществления CMS-компьютер 110 может быть сконфигурирован, чтобы регулировать, какие компьютеры службы отслеживания какие одноранговые компьютеры отслеживают, для того, чтобы предоставлять возможности балансировки нагрузки для того, чтобы эффективно отслеживать одноранговые компьютеры по P2P-сети. Например, если значительное число одноранговых компьютеров в первом регионе P2P-сети "сидят без дела", в то время как значительное число одноранговых компьютеров во втором регионе P2P-сети передают элементы цифрового контента так, что пропускная способность телеметрических данных, отправляемых компьютеру службы отслеживания второго региона, уменьшается, тогда CMS-компьютер может быть сконфигурирован, чтобы идентифицировать уменьшение в пропускной способности и в ответ перемещать ресурсы компьютеров службы отслеживания, назначенных первому региону, чтобы отслеживать одноранговые компьютеры второго региона, для того, чтобы увеличивать пропускную способность телеметрических данных второго региона. В иллюстрированном варианте осуществления с целью простоты компьютер 112 службы отслеживания соединен с одноранговым компьютером 101, хотя будет понятно, что компьютер службы отслеживания может соединяться с любыми или всеми одноранговыми компьютерами P2P-сети 102. В некоторых вариантах осуществления компьютер службы отслеживания может быть объединен с CMS-компьютером. В некоторых вариантах осуществления телеметрические данные могут обходить службу отслеживания и могут подаваться непосредственно CMS-компьютеру. В этом случае служба отслеживания может тогда либо навязываться, либо может запрашивать телеметрические данные с CMS-компьютера. В некоторых вариантах осуществления служба отслеживания может быть исключена.
[0030] CMS-компьютер 110 может быть сконфигурирован, чтобы использовать обратную связь о собранных телеметрических данных, чтобы наблюдать за работой каждого однорангового компьютера, а также наблюдать за работой части или всей P2P-сети 102. Дополнительно CMS-компьютер может быть сконфигурирован, чтобы вычислять или получать различные показатели, чтобы измерять количественно рабочее состояние однорангового компьютера или рабочее состояние P2P-сети из собранных телеметрических данных. CMS-компьютер может быть сконфигурирован, чтобы выполнять различные операции управления на основе показателей, чтобы увеличивать эффективность работы или иначе улучшать состояние однорангового компьютера или P2P-сети. Неограничивающие примеры операций управления включают в себя выбор источника доставки контента для однорангового компьютера, согласование одноранговых компьютеров для передачи элемента цифрового контента, выполнение операций минимизации воздействий, которые модифицируют передачу элемента цифрового контента, помещение на карантин однорангового компьютера от передачи элемента цифрового контента, вознаграждение однорангового компьютера за участие в P2P-сети, выдачу команды об обязательной передаче элемента цифрового контента между одноранговыми компьютерами P2P-сети, публикацию элемента цифрового контента и подтверждение достоверности элемента цифрового контента. Операции управления, выполняемые посредством CMS-компьютера, будут обсуждены более подробно ниже со ссылкой на фиг. 3.
[0031] В некоторых вариантах осуществления система 100 распространения контента может включать в себя компьютер 114 сети доставки контента (CDN), который может действовать в качестве источника данных, чтобы поддерживать и/или дополнять P2P-сеть 102. CDN-компьютер может быть сконфигурирован, чтобы хранить некоторые или все из элементов цифрового контента, доступных для передачи, на одноранговых компьютерах P2P-сети. Другими словами, CDN-компьютер может действовать как зеркало или резерв по отношению к P2P-сети. В иллюстрированном варианте осуществления с целью простоты CDN-компьютер 114 соединен с одноранговым компьютером 101, хотя будет понятно, что CDN-компьютер может соединяться с любыми или всеми одноранговыми компьютерами P2P-сети 102.
[0032] В некоторых случаях CDN-компьютер 114 может быть дополнительным источником, чтобы раздавать элементы цифрового контента. Например, P2P-сеть может часто обеспечивать высокие скорости получения контента вследствие большого числа одноранговых компьютеров, совместно использующих контент. Однако если элемент цифрового контента является редким в P2P-сети, время получения контента может значительно увеличиваться. CDN-компьютер может предоставлять редкий элемент цифрового контента для того, чтобы уменьшать время получения контента для элемента цифрового контента в P2P-сети. Кроме того, в некоторых случаях CDN-компьютер может предоставлять гарантию того, что все элементы цифрового контента, дублированные в P2P-сети, доступны, несмотря на одноранговое участие в качестве раздающих.
[0033] Кроме того, в некоторых случаях CDN-компьютер 114 может быть источником элементов цифрового контента, которые еще не доступны для передачи по P2P-сети. Например, когда создается новый элемент цифрового контента, этот элемент цифрового контента может первоначально быть введен в P2P-сеть посредством CDN-компьютера.
[0034] В некоторых вариантах осуществления CDN-компьютер 114 может включать в себя множество серверных компьютеров, которые могут предоставлять элементы цифрового контента различным одноранговым компьютерам P2P-сети 102. Например, различные CDN-серверные компьютеры могут предоставлять элементы цифрового контента одноранговым компьютерам в различных регионах (например, географических регионах) P2P-сети, одноранговым компьютерам, принадлежащим различным ISP, или т. п. В некоторых вариантах осуществления CDN-компьютер может быть объединен с CMS-компьютером.
[0035] CMS-компьютер 110 может быть сконфигурирован, чтобы рекомендовать, чтобы одноранговый компьютер P2P-сети 102 получал элемент цифрового контента из рекомендованного источника контента, такого как либо одноранговый компьютер, либо CDN-компьютер, на основе одного или более показателей, полученных из собранных телеметрических данных. В некоторых случаях CMS-компьютер может быть сконфигурирован, чтобы выбирать источник для доставки контента на основе типа доставляемого контента. Например, элемент цифрового контента может не быть пригодным для P2P-совместного использования, и CMS-компьютер может инструктировать одноранговым компьютерам получать этот контент цифрового содержимого непосредственно от CDN-компьютера в противоположность одноранговому компьютеру. В одном конкретном примере, если данный элемент цифрового контента в P2P-сети дискредитирован, CMS-компьютер может быть сконфигурирован, чтобы инструктировать всем одноранговым компьютерам, что только CDN-компьютер является приемлемым источником доставки контента для данного элемента цифрового контента. Посредством реализации CDN-компьютера, который может увеличивать вероятность доступности контента, и покрытия P2P-сети, которая предоставляет возможность одноранговым компьютерам извлекать пользу из многих источников доставки контента, затраты на CDN могут быть уменьшены, восприятие получения элемента цифрового контента может быть сделано более близким к гарантированному, и пропускная способность однорангового узла сети может быть увеличена.
[0036] В некоторых вариантах осуществления каждый одноранговый компьютер P2P-сети 102 может быть сконфигурирован, чтобы следовать протоколу приоритета при получении элемента цифрового контента. Например, одноранговый компьютер может сначала отправлять CMS-компьютеру 110 через компьютерную сеть 104 запрос на получение контента. Запрос на получение контента может запрашивать у CMS-компьютера один или более рекомендованных источников контента, чтобы предоставлять элемент цифрового контента. Если одноранговый компьютер не принимает ответ на запрос на получение контента от CMS-компьютера в соответствующем периоде, тогда одноранговый компьютер может быть сконфигурирован, чтобы автоматически отправлять CDN-компьютеру через компьютерную сеть запрос резерва, чтобы загружать элемент цифрового контента. В некоторых вариантах осуществления одноранговый компьютер может включать в себя логику, чтобы определять, когда выполнять запрос резерва. Например, запрос резерва может быть отправлен автоматически CDN-компьютеру, если ответ на запрос на получение контента не принят, а условие удовлетворяется. Например, условие может включать в себя отсутствие приема ответа на запрос на получение контента в течение назначенного лимита времени на ответ, отсутствие начала загрузки элемента цифрового контента в течение назначенного лимита времени для начала загрузки, отсутствие завершения загрузки элемента цифрового контента в течение назначенного лимита времени для завершения загрузки, отсутствие загрузки элемента цифрового контента сверх пороговой пропускной способности или отсутствие загрузки элемента цифрового контента сверх пороговой пропускной способности в течение тестового периода загрузки. Если CDN не отвечает на запрос, тогда одноранговый компьютер может быть сконфигурирован, чтобы отправлять запрос данному одноранговому узлу сети, который может необязательно быть наиболее соответствующим или может быть произвольно выбран. Следуя вышеописанному протоколу связи, одноранговые компьютеры P2P-сети могут обеспечиваться приемлемым восприятием получения контента, даже если CMS-компьютер недоступен, чтобы предоставлять осмысленную рекомендацию на предмет источника доставки контента.
[0037] В некоторых вариантах осуществления одноранговый компьютер 101 может следовать протоколу выбора источника, который включает в себя локальный и удаленный источники при попытке получить элемент цифрового контента. Например, одноранговый компьютер может быть сконфигурирован, чтобы идентифицировать множество источников, хранящих фрагменты элемента цифрового контента, имеющего множество частей. Источники могут включать в себя локальные машины хранения данных (например, оптический диск, статическое запоминающее устройство, локальное сетевое запоминающее устройство и т.д.) и другие одноранговые компьютеры P2P-сети. Что касается локальных машин хранения данных, одноранговый компьютер может сканировать каждую локальную машину хранения данных на предмет фрагментов элемента цифрового контента. Что касается других одноранговых компьютеров, одноранговый компьютер может опрашивать CMS-компьютер, чтобы идентифицировать одноранговые компьютеры, имеющие фрагмент элемента цифрового контента. Дополнительно одноранговый компьютер может быть сконфигурирован, чтобы, для каждой части элемента цифрового контента, выбирать источник на основе одного или более показателей загрузки и загружать эту часть из выбранного источника. Например, показатели загрузки могут включать в себя наиболее быструю скорость загрузки, наименьшие издержки получения, наименьший уровень использования ресурсов, наименьший уровень использования энергии, наименьший уровень нарушения пользовательского восприятия, доступность ресурса, любое другое подходящее ограничение и/или другие подходящие показатели. Дополнительно в некоторых случаях показатель загрузки может выбирать одну или более локальных машин хранения данных относительно P2P-сети, когда возможно загружать часть элемента цифрового контента. Одноранговый компьютер может быть сконфигурирован, чтобы организовывать загруженные части для установки на одноранговом компьютере в качестве элемента цифрового контента.
[0038] В некоторых вариантах осуществления CMS-компьютер 110 может давать команду одноранговым компьютерам P2P-сети 102, чтобы действовать в качестве узла распространения или виртуальных CDN, которые получают конкретные элементы цифрового контента для распространения. Например, CMS-компьютер может быть сконфигурирован, чтобы давать команду одноранговому компьютеру, чтобы получать элемент цифрового контента, и затем направляет другие одноранговые компьютеры на этот одноранговый компьютер, чтобы получать элемент цифрового контента. Дополнительно CMS-компьютер может быть сконфигурирован, чтобы давать команду одноранговому компьютеру, чтобы удалять элемент цифрового контента. В некоторых вариантах осуществления CMS-компьютер может быть сконфигурирован, чтобы управлять множеством одноранговых компьютеров, настроенных в качестве узлов распространения по всей P2P-сети 102 (например, в различных регионах), чтобы обеспечивать доступность элементов цифрового контента, которые могут быть быстро получены по всей P2P-сети.
[0039] В некоторых вариантах осуществления одноранговый компьютер, который настроен в качестве узла распространения, может включать в себя локальную машину хранения данных, которая разделена на управляемый пользователем сегмент и управляемый службой сегмент. Элементы цифрового контента, которые могут быть получены произвольно (или активно), могут быть сохранены в управляемом пользователем сегменте локальной машины хранения данных. Элементы цифрового контента, полученные в обязательном порядке (или пассивно) на основе команды от CMS-компьютера, могут быть сохранены в управляемом службой сегменте локальной машины хранения данных. В целом, одноранговые компьютеры P2P-сети могут работать согласно PULL-стратегии для совместного использования элементов цифрового содержимого. В частности, одноранговый компьютер запрашивает у источника предоставление элемента цифрового контента для того, чтобы этот одноранговый компьютер принял элемент цифрового контента. Согласно PULL-стратегии CMS-компьютер может давать команду одноранговому компьютеру, чтобы отправлять запрос одноранговому компьютеру, действующему как виртуальный узел распространения, чтобы предоставлять элемент цифрового контента для того, чтобы элемент цифрового контента был распространен запрашивающему одноранговому компьютеру. Аналогично CMS-компьютер может давать команду одноранговому компьютеру, действующему как виртуальный узел распространения, чтобы отправлять запрос на предоставление элемента цифрового контента другому одноранговому компьютеру для того, чтобы одноранговый компьютер, действующий в качестве виртуального узла распространения, принял элемент цифрового контента. Кроме того, в некоторых вариантах осуществления одноранговые компьютеры могут дополнительно работать согласно PUSH-стратегии для совместного использования элементов цифрового контента. Например, CMS-компьютер может давать команду одноранговому компьютеру, чтобы выгружать элемент цифрового контента другому назначенному одноранговому компьютеру для того, чтобы распространять элемент цифрового контента.
[0040] В некоторых вариантах осуществления P2P-сеть 102 может быть частной или ограниченной P2P-сетью, в которой участие однорангового компьютера может управляться через аутентификацию, членство или процесс присоединения, который выполняется посредством CMS-компьютера 110. Дополнительно одноранговые компьютеры частной P2P-сети могут хранить и передавать специально отобранные элементы цифрового контента, которые ассоциированы с частной P2P-сетью. Специально отобранные элементы цифрового контента могут быть элементами цифрового контента, которые подтверждаются CMS-компьютером как подходящие для распространения по всей частной P2P-сети. Например, специально отобранный элемент цифрового контента может быть подтвержден CMS-компьютером как имеющий совместимый формат или следовать набору правил частной P2P-сети. В одном примере CMS-компьютер подтверждает специально отобранный элемент цифрового контента, сравнивая уникальный идентификатор данного элемента цифрового контента с сертифицированной записью уникального идентификатора специально отобранного элемента цифрового контента. В некоторых вариантах осуществления специально отобранный элемент цифрового контента может быть цифровым образом зашифрован так, что элемент цифрового контента может быть использован только с соответствующим ключом дешифрования частной P2P-сети или может быть доступен только одноранговым компьютерам частной P2P-сети.
[0041] В некоторых вариантах осуществления частная P2P-сеть 102 может быть ассоциирована с конкретным типом компьютера. Например, частная P2P-сеть может быть ассоциирована с игровой консолью, и доступ к частной P2P-сети может быть доступен только через игровую консоль. Этот тип ограничения может ограничивать скорости получения контента скоростью соединения игровой консоли. В этом примере специально отобранный цифровой контент может включать в себя игры, обновления игр, загружаемый контент или обновления операционной системы, ассоциированные с игровой консолью. Такой специально отобранный контент может быть опубликован производителем игровой консоли или третьей стороной для распространения по всей частной P2P-сети.
[0042] В некоторых случаях специально отобранный элемент цифрового контента может вводиться в частную P2P-сеть 102 через одноранговый компьютер, добровольно получающий специально отобранный элемент цифрового контента от CDN-компьютера 114 или другого внешнего или самостоятельного компьютера. В некоторых случаях специально отобранный элемент цифрового контента может быть опубликован посредством CMS-компьютера для распространения по всей частной P2P-сети, например, через преднамеренную, управляемую выгрузку на одноранговый компьютер, который в обязательном порядке раздает специально отобранный элемент цифрового контента другим одноранговым компьютерам. При некоторых обстоятельствах может быть затруднительным быстро раздавать специально отобранный элемент цифрового контента в частную P2P-сеть с точки зрения времени и затрат. Например, может занимать значительное количество времени, чтобы специально отобранный элемент цифрового контента был загружен достаточным количеством одноранговых компьютеров так, чтобы доступность специально отобранного элемента цифрового контента была достаточно высокой, чтобы одноранговый компьютер, запрашивающий специально отобранный элемент цифрового контента, мог получить его без ожидания в очереди. Кроме того, преднамеренная раздача, координируемая посредством CMS-компьютера, может использовать ресурсы P2P-сети.
[0043] Соответственно в некоторых вариантах осуществления CMS-компьютер 110 может быть сконфигурирован, чтобы публиковать в общедоступной P2P-сети 116 специально отобранный элемент цифрового контента, предназначенный для использования в частной P2P-сети 102. Общедоступная P2P-сеть может включать в себя множество одноранговых компьютеров, сконфигурированных, чтобы передавать элементы цифрового контента непосредственно другим одноранговым компьютерам общедоступной P2P-сети. Общедоступная P2P-сеть может отличаться от частной P2P-сети в том, что одноранговый компьютер может участвовать в общедоступной P2P-сети без аутентификации, членства или процесса присоединения. Типично общедоступная P2P-сеть может быть более крупной и более изменяющейся (например, различные типы компьютеров), чем частная P2P-сеть. Хотя будет понятно, что частная P2P-сеть и общедоступная P2P-сеть могут включать в себя любое подходящее число одноранговых компьютеров. Кроме того, одноранговые компьютеры общедоступной P2P-сети могут передавать элементы цифрового контента, которые специально не отобраны посредством CMS-компьютера, в дополнение к специально отобранным элементам цифрового контента. Элементы цифрового контента, которые специально не отобраны, могут передаваться между одноранговыми компьютерами без подтверждения достоверности.
[0044] Специально отобранный элемент цифрового контента может быть добровольно распространен одноранговым компьютерам по всей общедоступной P2P-сети 116. Поскольку не существует ограничений на участие в общедоступной P2P-сети, одноранговый компьютер частной P2P-сети 102 может получать специально отобранный элемент цифрового контента от однорангового компьютера общедоступной P2P-сети. В ответ на получение специально отобранного элемента цифрового контента одноранговый компьютер частной P2P-сети отправляет отчет CMS-компьютеру 110, указывающий, что одноранговый компьютер получил специально отобранный элемент цифрового контента, и CMS-компьютер может подтверждать достоверность специально отобранного элемента цифрового контента. В ответ на успешное подтверждение достоверности специально отобранного элемента цифрового контента CMS-компьютером специально отобранный элемент цифрового контента может быть сделан доступным посредством CMS-компьютера для передачи в пределах частной P2P-сети.
[0045] В некоторых вариантах осуществления CMS-компьютер 110 может быть сконфигурирован, чтобы идентифицировать самостоятельный одноранговый компьютер, который получил специально отобранный элемент цифрового контента из общедоступной P2P-сети 116. Самостоятельный одноранговый компьютер может быть одноранговым компьютером, который не присоединен к частной P2P-сети. CMS-компьютер может быть дополнительно сконфигурирован, чтобы отправлять одноранговому компьютеру частной P2P-сети 102, который не имеет специально отобранного элемента цифрового контента, команду, чтобы загружать специально отобранный цифровой контент с самостоятельного однорангового компьютера для того, чтобы далее раздавать специально отобранный элемент цифрового контента в частную P2P-сеть.
[0046] Публикуя специально отобранный элемент цифрового контента в общедоступной P2P-сети, любой доступный одноранговый компьютер может быть использован независимо от аутентификации, членства, присоединения, местоположения, устройства и т. д., чтобы раздавать специально отобранный элемент цифрового контента. Таким образом, доступность элемента цифрового контента может быть увеличена быстро без использования ресурсов частной P2P-сети. Кроме того, поскольку общедоступная P2P-сеть не имеет ограничений, одноранговый компьютер частной P2P-сети может загружать специально отобранный элемент цифрового контента из различных источников общедоступной P2P-сети.
[0047] Кроме того, в некоторых вариантах осуществления CMS-компьютер 110 может быть сконфигурирован, чтобы предварительно раздавать специально отобранный элемент цифрового контента, публикуя специально отобранный элемент цифрового контента в общедоступной P2P-сети 116, прежде чем специально отобранный элемент цифрового контента делается доступным частной P2P-сети 102. Таким образом, специально отобранный элемент цифрового контента может быть доступен на дополнительных одноранговых компьютерах для раздачи после выгрузки специально отобранного элемента цифрового контента в частную P2P-сеть.
[0048] В иллюстрированном варианте осуществления одноранговый компьютер 101 показан в качестве члена как общедоступной P2P-сети 116, так и частной P2P-сети 102. Однако будет понятно, что все одноранговые компьютеры общедоступной P2P-сети не должны непосредственно соединяться со всеми одноранговыми компьютерами частной P2P-сети. Кроме того, хотя не показано, будет понятно, что другие одноранговые компьютеры могут быть членами как общедоступной P2P-сети 116, так и частной P2P-сети 102.
[0049] Фиг. 2 показывает элемент 200 цифрового контента согласно варианту осуществления настоящего изобретения. Элемент 200 цифрового контента может включать в себя данные 202 контента и уникальный идентификатор 204 контента, который идентифицирует данные 202 контента.
[0050] В некоторых вариантах осуществления уникальный идентификатор 204 контента может включать в себя механизм защиты для управления цифровыми правами, такой как цифровой код шифрования. Дополнительно различные компьютеры в системе распространения контента могут иметь соответствующий ключ дешифрования, чтобы осуществлять доступ к данным 202 контента. В одном примере одноранговые компьютеры частной P2P-сети могут владеть соответствующим ключом дешифрования, чтобы осуществлять доступ или использовать элемент цифрового контента, а самостоятельные одноранговые компьютеры могут не владеть соответствующим ключом дешифрования и, таким образом, не могут осуществлять доступ к элементу цифрового контента. В другом примере CMS-компьютер может владеть соответствующим ключом дешифрования, чтобы осуществлять доступ к элементу цифрового контента, а одноранговые компьютеры, назначенные виртуальными узлами распространения, могут не владеть соответствующим ключом дешифрования и, таким образом, не могут осуществлять доступ к элементу цифрового контента. Следует понимать, что любая подходящая парадигма защиты цифровых прав может быть реализована, чтобы защищать доступ к элементу цифрового контента без отступления от рамок настоящего изобретения.
[0051] В некоторых случаях элемент 200 цифрового контента может включать в себя множество частей 200A-200D. В изображенном примере каждая часть может включать в себя часть данных контента и уникальный идентификатор. Данные 202 контента могут включать в себя части 202A-202D данных контента. Каждая часть может необязательно быть укомплектована уникальным идентификатором контента, который может необязательно включать в себя, в качестве дополнения к идентификатору, который идентифицирует элемент цифрового контента в целом, идентификатор, который дополнительно идентифицирует эту конкретную часть (например, уникальные идентификаторы 204A-204D контента). В качестве другого примера, каждая часть может иметь отдельный уникальный идентификатор.
[0052] Любая или все части элемента 200 цифрового контента могут быть доступны для передачи между одноранговыми компьютерами (или другим источником) P2P-сети. Другими словами, при загрузке конкретного элемента контента одноранговый компьютер может принимать различные части элемента цифрового контента из различных источников. Элемент 200 цифрового контента может быть загружен в качестве отдельных частей параллельно и/или последовательно из одного и того же или различных источников контента. Части 200A-200D коллективно составляют данные 202 контента и могут быть пересобраны во время и/или после загрузки, чтобы формировать элемент 200 цифрового контента. В то время как четыре части показаны в иллюстрированном примере, следует понимать, что данные контента элемента цифрового контента могут быть синтаксически разобраны в любое число фрагментов согласно множеству различных ограничений. В некоторых примерах каждый фрагмент может быть одинакового размера, в то время как в других примерах некоторые фрагменты могут иметь размер, отличающийся от других фрагментов. В любом случае, каждая часть может быть укомплектована самоидентифицирующим элементом, который сам сообщает размер этой части. Такой самоидентифицирующий элемент может необязательно быть объединен в идентификатор контента в некоторых вариантах осуществления.
[0053] Будет понятно, что выражение "элемент цифрового контента", когда используется в данном документе, может ссылаться на любую одну часть элемента цифрового контента, на множество частей элемента цифрового контента, которые составляют фрагмент, но не весь элемент цифрового контента, или на элемент цифрового контента во всей своей полноте. Например, передача элемента цифрового контента может ссылаться на передачу только части элемента цифрового контента или передачу элемента цифрового контента во всей его полноте.
[0054] Фиг. 3 показывает схему архитектуры программного обеспечения CMS-компьютера 300 согласно варианту осуществления настоящего изобретения. Например, CMS-компьютер 300 может быть применен в качестве CMS-компьютера 110 в системе 100 распространения контента, показанной на фиг. 1. CMS-компьютер 300 может включать в себя собранные телеметрические данные 302 от множества одноранговых компьютеров P2P-сети, множество показателей 304, полученных из собранных телеметрических данных, и множество операций 314 управления, которые могут быть выполнены согласно одному или более из множества показателей.
[0055] Собранные телеметрические данные 302 могут предоставлять информацию об отдельном одноранговом компьютере P2P-сети. Например, одноранговый компьютер может сообщать телеметрические данные CMS-компьютеру 300, включающие в себя идентификатор однорангового компьютера, идентификатор интранет-сети, ассоциированный ISP, ассоциированное местоположение или регион, тип сети, а также другую информацию о местоположении и соединении однорангового компьютера. Более конкретно собранные телеметрические данные могут включать в себя информацию о политиках множества ISP одноранговых компьютеров P2P-сети или других самостоятельных одноранговых компьютеров, такую как диапазоны полосы пропускания для загрузки и выгрузки, пропускные способности в битах, страна присутствия и т. д. Дополнительно телеметрические данные однорангового компьютера могут включать в себя локально доступные ресурсы обработки, локально доступные периферийные устройства, локально доступные машины хранения данных, список локально размещенных элементов цифрового контента и другую идентифицирующую информацию однорангового компьютера.
[0056] Кроме того, телеметрические данные могут предоставлять информацию о действиях однорангового компьютера. Например, одноранговый компьютер может сообщать телеметрические данные CMS-компьютеру после передачи элемента цифрового контента или попытки передать элемент цифрового контента. Телеметрические данные, относящиеся к загрузке, могут включать в себя то, какие элементы цифрового контента были загружены или находятся в процессе загрузки и из какого источника. Телеметрические данные, относящиеся к выгрузке, могут включать в себя то, какие элементы цифрового контента были выгружены или находятся в процессе выгрузки и какому получателю. Телеметрические данные могут дополнительно включать в себя временные метки таких событий, включающие в себя моменты начала и остановки, текущую пропускную способность, текущую полосу пропускания, текущее время ожидания, текущую доступность, текущую степень перегрузки, ошибки передачи и другую информацию, описывающую текущие действия однорангового компьютера. В некоторых вариантах осуществления телеметрические данные могут включать в себя статистику участия, которая отслеживает скачивание и раздачу. В некоторых вариантах осуществления статистика участия может отслеживаться по категориям контента (например, типу контента, заголовку, жанру и т. д.).
[0057] Дополнительно одноранговый компьютер может сообщать информацию о другом одноранговом компьютере CMS-компьютеру 300. Информация может быть сформирована из взаимодействий с другим одноранговым компьютером. Например, одноранговый компьютер может сообщать CMS-компьютеру доступность другого однорангового компьютера или то, что другой одноранговый компьютер не отвечает. Дополнительно одноранговый компьютер может сообщать CMS-компьютеру пропускную способность выгрузки или скорость передачи другого однорангового компьютера. В качестве другого примера, одноранговый компьютер может сообщать CMS-компьютеру, что одноранговый компьютер вернул часть цифрового контента, которая не соответствует цифровой сигнатуре или уникальному идентификатору запрошенного элемента цифрового контента. В качестве еще одного примера, одноранговый компьютер может сообщать CMS-компьютеру, что другой одноранговый компьютер многократно отсоединяется во время передачи элемента цифрового контента.
[0058] CMS-компьютер может собирать телеметрические данные для P2P-компьютера со временем, чтобы формулировать исторические данные для однорангового компьютера. Например, собранные телеметрические данные могут включать в себя исторические шаблоны использования, историческую доступность, историческую пропускную способность, историческую полосу пропускания, историческое время задержки, историческую степень перегруженности, исторические ошибки передачи и другую информацию, описывающую различные действия однорангового компьютера. В некоторых случаях исторические данные могут быть использованы CMS-компьютером, чтобы прогнозировать будущие действия однорангового компьютера.
[0059] Кроме того, собранные телеметрические данные 302 могут предоставлять информацию о части или всей P2P-сети. Например, собранные телеметрические данные могут включать в себя список, указывающий, какие одноранговые компьютеры какие элементы цифрового контента имеют, доступность каждого элемента цифрового контента (например, самый редкий, наименее редкий), частоту загрузки каждого элемента цифрового контента (например, наиболее загружаемый), текущую пропускную способность части или всей P2P-сети, текущую полосу пропускания части или всей P2P-сети, текущее время задержки части или всей P2P-сети, текущую доступность одноранговых узлов в регионе и другую глобальную информацию о части или всей P2P-сети.
[0060] CMS-компьютер может собирать телеметрические данные для P2P-сети со временем, чтобы формулировать исторические данные для P2P-сети. Например, собранные телеметрические данные могут включать в себя исторические шаблоны использования части или всей P2P-сети, историческую доступность части или всей P2P-сети, историческую пропускную способность части или всей P2P-сети, историческую полосу пропускания части или всей P2P-сети, историческое время ожидания части или всей P2P-сети, историческую степень перегруженности части или всей P2P-сети, исторические ошибки передачи части или всей P2P-сети и другую информацию, описывающую предыдущие действия части или всей P2P-сети.
[0061] CMS-компьютер 300 может включать в себя множество показателей 304, которые могут быть получены из собранных телеметрических данных 302. Каждый из множества показателей 304 может определять количественно рабочее состояние однорангового компьютера или рабочее состояние части или всей P2P-сети. CMS-компьютер может использовать один или более показателей, чтобы давать оценку, выполнять ли операции 314 управления. В некоторых случаях CMS-компьютер может взвешивать один или более показателей относительно одного или более других показателей, чтобы определять, выполнять или нет операцию управления, или определять, какую операцию управления выполнять. Следует понимать, что не все телеметрические данные, используемые, чтобы принимать решения в показателе, должны быть сообщены. В некоторых случаях телеметрические данные могут быть извлечены из сообщенных телеметрических данных или получены независимо от сообщения. Множество показателей 304 могут включать в себя показатели 306 выбора, показатели 308 работоспособности, показатели 310 участия и показатели 312 устойчивости.
[0062] CMS-компьютер 300 может быть сконфигурирован, чтобы применять один или более показателей 306 выбора, чтобы согласовывать одноранговые компьютеры для передачи элемента цифрового контента. Другими словами, CMS-компьютер может быть сконфигурирован, чтобы идентифицировать одноранговый компьютер P2P-сети в качестве рекомендованного источника контента согласно одному или более показателям выбора. Кроме того, CMS-компьютер 300 может быть сконфигурирован, чтобы выбирать CDN-компьютер в качестве рекомендованного источника контента согласно показателям выбора. Будет понятно, что CMS-компьютер может выбирать любое подходящее число источников в качестве рекомендованных источников контента, когда отвечает на запрос получения контента. Например, CMS-компьютер может отправлять ответ, который включает в себя множество рекомендованных источников, упорядоченных согласно критериям соответствия запрашивающего однорангового компьютера или P2P-сети. Каждый из множества рекомендованных источников может иметь часть или весь элемент цифрового контента. В некоторых случаях порядок, в котором источники рекомендованы, может зависеть от того, какой фрагмент или как много элемента цифрового контента этот источник может иметь.
[0063] В некоторых случаях показатели выбора могут быть направлены на интересы или состояние однорангового компьютера. Например, показатели выбора могут определять, какой доступный одноранговый компьютер может предоставлять элемент цифрового контента наименее затратным образом. Затраты могут быть вычислены с точки зрения денег, времени, ресурсов, потребления энергии, восприятия пользователем и т. д. В некоторых вариантах осуществления такие различные типы затрат могут быть классифицированы согласно предпочтению пользователя как часть показателя выбора. В некоторых вариантах осуществления показатель выбора может учитывать множество факторов затрат, которые взвешены в функции выбора, которая идентифицирует наиболее подходящий одноранговый компьютер в качестве рекомендованного источника контента. В качестве другого примера, показатели выбора могут определять, какой доступный одноранговый компьютер может предоставлять элемент цифрового контента наиболее надежным образом, на основе показателей устойчивости, которые описаны более подробно ниже.
[0064] В некоторых случаях показатели выбора могут быть направлены на интересы или работоспособность части или всей P2P-сети. Например, показатели выбора могут выбирать одноранговый компьютер в качестве рекомендованного источника контента, чтобы управлять пропускной способностью в части P2P-сети (например, чтобы уменьшать горячие точки в P2P-сети). Дополнительные показатели выбора могут включать в себя показатели работоспособности, которые описаны более подробно ниже.
[0065] Различные примеры показателей выбора описаны в данном документе. В некоторых вариантах осуществления показатель выбора однорангового узла сети может выбирать одноранговый компьютер, который имеет элемент цифрового контента, в качестве рекомендованного источника контента на основе текущих полос пропускания доступных одноранговых компьютеров. Например, одноранговый компьютер, доступный в настоящее время для выгрузки элемента цифрового контента и имеющий наивысшую текущую полосу пропускания из доступных одноранговых компьютеров, может быть идентифицирован как рекомендованный источник контента.
[0066] В некоторых вариантах осуществления показатель выбора однорангового узла сети выбирает одноранговый компьютер, который имеет элемент цифрового контента, в качестве рекомендованного источника контента на основе текущих времен ожидания доступных одноранговых компьютеров. Например, одноранговый компьютер, доступный в настоящее время для выгрузки элемента цифрового контента и имеющий наименьшее текущее время ожидания из доступных одноранговых компьютеров, может быть идентифицирован как рекомендованный источник контента.
[0067] В некоторых вариантах осуществления показатель выбора однорангового узла сети выбирает одноранговый компьютер, который имеет элемент цифрового контента, в качестве рекомендованного источника контента на основе исторических полос пропускания. Например, одноранговый компьютер, доступный в настоящее время для выгрузки элемента цифрового контента и имеющий наивысшую историческую полосу пропускания из доступных одноранговых компьютеров, может быть идентифицирован как рекомендованный источник контента.
[0068] В некоторых вариантах осуществления показатель выбора однорангового узла сети выбирает одноранговый компьютер, который имеет элемент цифрового контента, в качестве рекомендованного источника контента на основе исторических времен ожидания. Например, одноранговый компьютер, доступный в настоящее время для выгрузки элемента цифрового контента и имеющий наименьшее историческое время ожидания из доступных одноранговых компьютеров, может быть идентифицирован как рекомендованный источник контента.
[0069] В некоторых вариантах осуществления показатель выбора однорангового узла сети выбирает одноранговый компьютер, который имеет элемент цифрового контента, в качестве рекомендованного источника контента на основе исторических шаблонов использования. Например, одноранговый компьютер, доступный в настоящее время для выгрузки элемента цифрового контента и имеющий исторический шаблон использования, указывающий, что одноранговый компьютер доступен для выгрузки первого элемента цифрового контента, может быть идентифицирован в качестве рекомендованного источника контента.
[0070] В некоторых вариантах осуществления показатель выбора однорангового узла сети выбирает одноранговый компьютер, который имеет элемент цифрового контента, в качестве рекомендованного источника контента на основе ISP. Например, одноранговый компьютер, совместно использующий ISP с запрашивающим одноранговым компьютером, может быть идентифицирован в качестве рекомендованного источника контента.
[0071] В некоторых вариантах осуществления показатель выбора однорангового узла сети выбирает одноранговый компьютер, который имеет элемент цифрового контента, в качестве рекомендованного источника контента на основе интранет-сети. Например, одноранговый компьютер, соединяемый с интранет-сетью, с которой соединен запрашивающий одноранговый компьютер, может быть идентифицирован в качестве рекомендованного источника контента.
[0072] В некоторых вариантах осуществления различные показатели выбора или критерии соответствия могут быть взвешены в формуле выбора, чтобы идентифицировать один или более рекомендованных источников, чтобы предоставлять часть или весь элемент цифрового контента. Кроме того, любое подходящее число источников может быть взвешено согласно формуле выбора и рекомендовано запрашивающему одноранговому компьютеру. Следует понимать, что любая подходящая формула, алгоритм, эвристическое правило, нечеткая или другая логика может быть применена, чтобы принимать информированное решение о выборе одного или более рекомендованных источников, чтобы предоставлять элемент цифрового контента.
[0073] CMS-компьютер 300 может быть сконфигурирован, чтобы применять один или более показателей 308 работоспособности, чтобы определять, выполнять ли операции минимизации воздействия, которые модифицируют передачу элемента цифрового контента между одноранговыми компьютерами P2P-сети для того, чтобы повышать эффективность, устойчивость или общую работоспособность однорангового компьютера или части или всей P2P-сети. Кроме того, показатели работоспособности могут быть применены как часть процесса выбора для согласования однорангового узла сети.
[0074] Различные примеры показателей выбора и соответствующие операции минимизации воздействия описаны в данном документе. В некоторых вариантах осуществления показатель работоспособности может включать в себя пороговое число одноранговых компьютеров, запрашивающих элемент цифрового контента с назначенного однорангового компьютера, и операция минимизации воздействия может включать в себя перенаправление одного или более компьютеров, запрашивающих элемент цифрового контента с назначенного однорангового компьютера, чтобы запрашивать элемент цифрового контента с другого однорангового компьютера для того, чтобы уменьшать число запрашивающих одноранговых компьютеров назначенного однорангового компьютера ниже порогового числа.
[0075] В некоторых вариантах осуществления показатель работоспособности может включать в себя пороговую пропускную способность региона P2P-сети, и операция минимизации воздействия может включать в себя перенаправление одного или более одноранговых компьютеров, запрашивающих элемент цифрового контента с одного или более одноранговых компьютеров в регионе, чтобы запрашивать элемент цифрового контента с другого однорангового компьютера за пределами региона для того, чтобы увеличивать пропускную способность региона выше пороговой пропускной способности.
[0076] В некоторых вариантах осуществления показатель работоспособности может включать в себя пороговое различие между числом выгрузок и числом загрузок однорангового компьютера P2P-сети, и операция минимизации воздействия может включать в себя уменьшение числа загрузок для того, чтобы увеличивать различие между числом выгрузок и числом загрузок однорангового компьютера выше порогового различия.
[0077] В некоторых вариантах осуществления показатель работоспособности может включать в себя пороговую доступность элемента цифрового контента, и операция минимизации воздействия может включать в себя выдачу команды одному или более одноранговым компьютерам, имеющим элемент цифрового контента, чтобы выгружать элемент цифрового контента на один или более других одноранговых компьютеров в P2P-сети для того, чтобы увеличивать доступность элемента цифрового контента выше пороговой доступности. В вариантах осуществления, которые применяют PULL-стратегию передачи, CMS-компьютер может отдавать команду одноранговому компьютеру, чтобы отправлять одноранговому компьютеру, имеющему элемент цифрового контента, запрос о предоставлении элемента цифрового контента запрашивающему одноранговому компьютеру для того, чтобы увеличивать доступность элемента цифрового контента.
[0078] В некоторых вариантах осуществления CMS-компьютер может использовать показатели работоспособности, чтобы идентифицировать одноранговые компьютеры, которые могут быть злонамеренными или иначе препятствуют работе P2P-сети, так что CMS-компьютер может выполнять операции минимизации воздействия, чтобы управлять злонамеренным одноранговым компьютером, например, подвергать карантину злонамеренный одноранговый компьютер от передачи элемента цифрового контента.
[0079] Различные примеры показателей работоспособности, которые приводят в результате к карантину, описаны в данном документе. В некоторых вариантах осуществления показатель работоспособности может включать в себя одноранговый компьютер, недоступный для передачи элемента цифрового контента в P2P-сети, и CMS-компьютер помещает на карантин назначенный одноранговый компьютер для недоступности.
[0080] В некоторых вариантах осуществления показатель работоспособности может включать в себя пороговую скорость выгрузки данных, и CMS-компьютер помещает на карантин назначенный одноранговый компьютер, чтобы иметь скорость выгрузки данных, которая ниже пороговой скорости выгрузки данных.
[0081] В некоторых вариантах осуществления показатель работоспособности может включать в себя цифровую сигнатуру запрошенного элемента цифрового контента, соответствующую цифровой сигнатуре принятого элемента цифрового контента, и CMS-компьютер помещает на карантин назначенный одноранговый компьютер для выгрузки элемента цифрового контента, имеющего цифровую сигнатуру, которая не соответствует цифровой сигнатуре запрошенного элемента цифрового контента.
[0082] В некоторых вариантах осуществления показатель работоспособности может включать в себя пороговое число раз, которое одноранговый компьютер отсоединяется во время выгрузки элемента цифрового контента, и CMS-компьютер помещает на карантин назначенный одноранговый компьютер, отсоединяемый число раз, большее порогового числа раз, во время выгрузки элемента цифрового контента.
[0083] CMS-компьютер 300 может быть сконфигурирован, чтобы применять один или более показателей 310 участия, чтобы определять уровень участия одноранговых компьютеров в P2P-сети. Показатели участия могут быть использованы, чтобы предоставлять вознаграждение одноранговым компьютерам для того, чтобы стимулировать участие в P2P-сети. Вознаграждения могут быть использованы, чтобы привлекать пользователей к продолжению совместного использования элемента цифрового контента даже после того, как они получили элемент цифрового контента, и, возможно, даже после потребления. Например, показатель участия может отслеживать число частей элемента цифрового контента, выгруженных на другие одноранговые компьютеры в P2P-сети одноранговым компьютером, число байт, выгруженных на другие одноранговые компьютеры в P2P-сети одноранговым компьютером, общее количество времени, потраченное на выгрузку на другие одноранговые компьютеры в P2P-сети одноранговым компьютером, самый длинный сеанс, потраченный на выгрузку на другие одноранговые компьютеры в P2P-сети одноранговым компьютером, самый длинный интервал времени, потраченного на доступность для выгрузки на другие одноранговые компьютеры в одноранговой сети, общее количество времени, потраченного на доступность для выгрузки на другие одноранговые компьютеры в одноранговой сети, число раз, которое часть элемента цифрового контента выгружается на другие одноранговые компьютеры в P2P-сети одноранговым компьютером, число раз, которое весь элемент цифрового контента выгружается на другие одноранговые компьютеры в P2P-сети одноранговым компьютером, и/или другие подходящие показатели.
[0084] CMS-компьютер 300 может быть сконфигурирован, чтобы применять один или более показателей 312 устойчивости, чтобы определять, является ли одноранговый компьютер достаточно устойчивым, чтобы подходящим образом передавать элемент цифрового контента. В некоторых случаях CMS-компьютер может применять показатель устойчивости как часть процесса выбора однорангового компьютера. В некоторых случаях CMS-компьютер может применять показатель устойчивости во время передачи элемента цифрового контента, чтобы динамически определять, является ли текущий источник контента наиболее подходящим источником контента. Например, показатель устойчивости может включать в себя пороговую скорость загрузки, пороговый уровень ресурса, пороговое число прерываний связности, пороговые затраты, пороговый уровень нарушения пользовательского восприятия, пороговую полосу пропускания и/или другие подходящие показатели. Дополнительные показатели устойчивости могут включать в себя одноранговый компьютер, не имеющий запрошенного элемента цифрового контента, одноранговый компьютер, более недоступный (например, устройство выключено), одноранговый компьютер, более не участвующий в P2P-сети, и одноранговый компьютер, отказывающий одобрять соединение с запрашивающим одноранговым компьютером.
[0085] CMS-компьютер 300 может быть сконфигурирован, чтобы выполнять одну или более операций 316 управления согласно вышеописанным показателям. Неограничивающие примеры операций управления, ассоциированных с показателями 306 выбора, могут включать в себя рекомендацию однорангового узла сети в качестве источника контента и рекомендацию источника, отличного от однорангового компьютера, в качестве источника контента (например, CDN-компьютер). Неограничивающие примеры операций управления, ассоциированных с показателями 308 работоспособности, могут включать в себя вышеописанные операции минимизации воздействия. Неограничивающие примеры операций управления, ассоциированных с показателями 310 участия, могут включать в себя предоставление вознаграждения и предоставление рейтинга участия одноранговых компьютеров P2P-сети. Неограничивающие примеры операций управления, ассоциированных с показателями 312 устойчивости, могут включать в себя рекомендацию наиболее устойчивого источника контента и динамическую рекомендацию другого источника контента, который является более устойчивым, на основе обновленной оценки устойчивости.
[0086] Будет понятно, что CMS-компьютер может быть сконфигурирован, чтобы постоянно применять один или более показателей, описанных выше, чтобы повторно оценивать текущее состояние однорангового компьютера или части или всей P2P-сети. В некоторых случаях процесс повторной оценки может быть основан на обратной связи из обновленных телеметрических данных, собранных от одноранговых компьютеров. Дополнительно CMS-компьютер может быть сконфигурирован, чтобы динамически выполнять операции управления на основе обновленной обратной связи, чтобы постоянно улучшать работу P2P-сети.
[0087] Будет понятно, что конфигурации, описанные выше, могут предоставлять возможность различных способов, относящихся к работе однорангового компьютера в P2P-сети, а также управлению системой распространения контента, включающей в себя P2P-сеть. Соответственно некоторые такие способы сейчас описываются, в качестве примера, с продолжающейся ссылкой на вышеописанные конфигурации. Будет понятно, однако, что эти способы и другие, полностью находящиеся в рамках настоящего изобретения, также могут быть разрешены посредством других конфигураций.
[0088] Фиг. 4 и 5 показывает способ 400 получения элемента цифрового контента согласно варианту осуществления настоящего изобретения. Например, способ 400 может быть выполнен посредством однорангового компьютера P2P-сети, такого как одноранговый компьютер 101 P2P-сети 102, показанный на фиг. 1. На этапе 402 способ 400 может включать в себя отправку CMS-компьютеру через компьютерную сеть запроса на получение контента. Запрос на получение контента может опрашивать CMS-компьютер на предмет рекомендованного источника контента, чтобы предоставлять элемент цифрового контента.
[0089] На этапе 404 способ 400 может включать в себя определение того, принят ли ответ на запрос на получение контента от CMS-компьютера через компьютерную сеть. Если ответ принят, способ 400 переходит к этапу 406. Иначе способ 400 переходит к этапу 416.
[0090] На этапе 406 способ 400 может включать в себя определение того, включает ли в себя ответ на запрос на получение контента рекомендованный одноранговый компьютер P2P-сети. Если ответ включает в себя рекомендованный одноранговый узел сети, тогда способ 400 переходит к этапу 408. Иначе способ 400 переходит к этапу 416.
[0091] На этапе 408 способ 400 может включать в себя отправку рекомендованному одноранговому компьютеру через компьютерную сеть запроса на загрузку элемента цифрового контента.
[0092] На этапе 410 способ 400 может включать в себя определение того, был ли элемент цифрового контента загружен с рекомендованного однорангового компьютера. Если элемент цифрового контента был загружен с рекомендованного однорангового компьютера, тогда способ 400 переходит к этапу 412. Иначе способ 400 переходит к этапу 414.
[0093] На этапе 412 способ 400 включает в себя отправку CMS-компьютеру через компьютерную сеть отчета, указывающего, что рекомендованный одноранговый компьютер ответил на запрос о загрузке элемента цифрового контента, и элемент цифрового контента был успешно загружен. Отчет может включать в себя телеметрические данные, ассоциированные с запрашивающим одноранговым компьютером, а также телеметрические данные, ассоциированные с рекомендованным одноранговым компьютером.
[0094] На этапе 414 способ 400 может включать в себя отправку CMS-компьютеру через компьютерную сеть отчета, указывающего, что рекомендованный одноранговый компьютер не ответил на запрос о загрузке элемента цифрового контента. Отчет может включать в себя телеметрические данные, ассоциированные с запрашивающим одноранговым компьютером и рекомендованным одноранговым компьютером (например, указание, что рекомендованный одноранговый узел не ответил на запрос).
[0095] На этапе 416 способ 400 может включать в себя отправку CDN-компьютеру через компьютерную сеть запроса на загрузку элемента цифрового контента. Если ответ на запрос на получение контента принимается от CMS-компьютера (например, как иллюстрировано ветвью "Нет" на этапе 406 на фиг. 4), и CDN-компьютер идентифицируется как рекомендованный источник контента, тогда CMS-компьютер идентифицирует CDN-компьютер как наиболее подходящий источник, чтобы предоставлять элемент цифрового контента, на основе одного или более показателей, как описано выше. Если ответ на запрос на получение контента не принимается от CMS-компьютера (например, как иллюстрировано ветвью "Нет" на этапе 404 на фиг. 4), тогда запрос может быть первым запросом резерва, который отправляется автоматически. Другими словами, CDN-компьютер может действовать в качестве резервного или источника по умолчанию, если CMS-компьютер недоступен, чтобы предоставлять рекомендованный источник контента. В некоторых вариантах осуществления запрос резерва может быть отправлен автоматически, если условие удовлетворяется.
[0096] На этапе 418 способ 400 может включать в себя определение того, был ли элемент цифрового контента загружен с CDN-компьютера. Если элемент цифрового контента был загружен с CDN-компьютера, тогда способ 400 переходит к этапу 420. Иначе способ 400 переходит к этапу 422.
[0097] На этапе 420 способ 400 может включать в себя отправку CMS-компьютеру через компьютерную сеть отчета, указывающего, что CDN-компьютер ответил на запрос о загрузке элемента цифрового контента, и элемент цифрового контента был успешно загружен. Отчет может включать в себя телеметрические данные, ассоциированные с запрашивающим одноранговым компьютером, а также телеметрические данные, ассоциированные с CDN-компьютером.
[0098] На этапе 422 способ 400 может включать в себя отправку CMS-компьютеру через компьютерную сеть отчета, указывающего, что CDN-компьютер не ответил на запрос о загрузке элемента цифрового контента. Отчет может включать в себя телеметрические данные, ассоциированные с запрашивающим одноранговым компьютером и CDN-компьютером (например, указание, что CDN-компьютер не ответил на запрос).
[0099] На этапе 424 способ 400 может включать в себя автоматическую отправку одноранговому компьютеру P2P-сети через компьютерную сеть второго запроса резерва, чтобы загружать элемент цифрового контента. Запрос резерва может быть отправлен неоптимизированному одноранговому компьютеру или одноранговому компьютеру, который не был рекомендован посредством CMS-компьютера. Запрос резерва может быть мерой по умолчанию, чтобы получать элемент цифрового контента. В некоторых вариантах осуществления запрос резерва может быть отправлен автоматически, если условие удовлетворяется.
[00100] Первоначально опрашивая CMS-компьютер на предмет источника, чтобы предоставлять элемент цифрового контента, одноранговый компьютер может принимать рекомендацию об одноранговом компьютере, который может соответствовать или может быть наиболее согласующимся с одноранговым компьютером, чтобы предоставлять элемент цифрового контента. Кроме того, автоматически запрашивая элемент цифрового контента с CDN-компьютера в качестве первого резерва, одноранговый компьютер может быть способен получать элемент цифрового контента, даже когда CMS-компьютер недоступен.
[00101] Фиг. 6 и 7 показывают способ 600 добровольного выполнения операций и выполнения операций в обязательном порядке в P2P-сети согласно варианту осуществления настоящего изобретения. Например, способ 600 может быть выполнен посредством однорангового компьютера P2P-сети, такого как одноранговый компьютер 101 P2P-сети 102, показанный на фиг. 1.
[00102] В ниже описанном способе одноранговый компьютер P2P-сети, управляемой посредством CMS-компьютера, может включать в себя локальную машину хранения данных, которая включает в себя управляемый пользователем сегмент и управляемый службой сегмент. Одноранговый компьютер может добровольно загружать элементы цифрового контента в управляемый пользователем сегмент и добровольно выгружать элементы цифрового контента либо из управляемого пользователем сегмента, либо управляемого службой сегмента. Дополнительно одноранговый компьютер может в обязательном порядке загружать элементы цифрового контента в управляемый службой сегмент, выгружать элементы цифрового контента из управляемого службой сегмента и удалять элементы цифрового контента из управляемого службой сегмента на основе команд, принятых от CMS-компьютера. В вариантах осуществления, которые применяют PULL-стратегию передачи, скомандованная выгрузка из управляемого службой сегмента может принимать форму CMS-компьютера, отдающего команду другому одноранговому компьютеру, чтобы отправлять одноранговому компьютеру, действующему в качестве виртуального узла распространения, запрос на предоставление элемента цифрового контента из управляемого службой сегмента запрашивающему одноранговому компьютеру. Другими словами, одноранговый компьютер может действовать и как виртуальный узел распространения, управляемый посредством CMS-компьютера, и как самостоятельный одноранговый узел P2P-сети. В некоторых вариантах осуществления управляемый службой сегмент может быть сформирован и использован, только если одноранговый узел сети присоединяется к участию в качестве виртуального узла распространения, управляемого посредством CMS-компьютера. В некоторых вариантах осуществления одноранговый узел сети может быть вознагражден (например, предоставлен доступ к цифровому контенту, предпочтительная загрузка, денежные средства, выкупаемые средства и т.д.) за использование управляемого службой фрагмента локальной машины хранения данных, выделенной полосы пропускания и/или других подходящих ресурсов. В некоторых вариантах осуществления одноранговому узлу сети может быть разрешено участие в P2P-сети в обмен на использование таких ресурсов.
[00103] На этапе 602 способ 600 может включать в себя отправку первому одноранговому компьютеру P2P-сети через компьютерную сеть добровольного запроса на загрузку первого элемента цифрового контента.
[00104] На этапе 604 способ 600 может включать в себя добровольную загрузку с первого однорангового компьютера через компьютерную сеть первого элемента цифрового контента.
[00105] На этапе 606 способ 600 может включать в себя сохранение первого элемента цифрового контента в управляемом пользователем сегменте локальной машины хранения данных.
[00106] На этапе 608 способ 600 может включать в себя прием от CMS-компьютера через компьютерную сеть команды, чтобы загружать из источника второй элемент цифрового контента. В некоторых случаях источник может быть другим одноранговым компьютером. В некоторых случаях источник может быть CDN-компьютером.
[00107] На этапе 610 способ 600 может включать в себя отправку источнику через компьютерную сеть обязательного запроса, чтобы загружать второй элемент цифрового контента.
[00108] На этапе 612 способ 600 может включать в себя обязательную загрузку из источника через компьютерную сеть второго элемента цифрового контента.
[00109] На этапе 614 способ 600 может включать в себя сохранение второго элемента цифрового контента в управляемом службой сегменте локальной машины хранения данных.
[00110] На этапе 616 способ 600 может включать в себя прием от второго однорангового компьютера через компьютерную сеть обязательного запроса, чтобы предоставлять первый элемент цифрового контента. Запрос может быть обязательным, поскольку запрос может быть отправлен вторым одноранговым компьютером в ответ на прием команды от CMS-компьютера.
[00111] На этапе 618 способ 600 может включать в себя обязательную выгрузку из управляемого пользователем сегмента локальной машины хранения данных на второй одноранговый компьютер через компьютерную сеть первого элемента цифрового контента.
[00112] На этапе 620 способ 600 может включать в себя прием от второго однорангового компьютера через компьютерную сеть обязательного запроса, чтобы предоставлять второй элемент цифрового контента. Запрос может быть обязательным, поскольку запрос может быть отправлен вторым одноранговым компьютером в ответ на прием команды от CMS-компьютера.
[00113] На этапе 622 способ 600 может включать в себя обязательную выгрузку из управляемого службой сегмента локальной машины хранения данных на второй одноранговый компьютер через компьютерную сеть второго элемента цифрового контента. Будет понятно, что CMS-компьютер может отдавать команду, чтобы передавать элементы цифрового контента, которые могут быть сохранены либо в управляемом пользователем сегменте, либо управляемом службой сегменте.
[00114] На этапе 624 способ 600 может включать в себя прием от третьего однорангового компьютера через компьютерную сеть добровольного запроса, чтобы предоставлять второй элемент цифрового контента. Запрос может быть добровольным, поскольку запрос может быть отправлен третьим одноранговым компьютером без команды от CMS-компьютера.
[00115] На этапе 626 способ 600 может включать в себя добровольную выгрузку из управляемого службой сегмента локальной машины хранения данных на третий одноранговый компьютер через компьютерную сеть второго элемента цифрового контента.
[00116] На этапе 628 способ 600 может включать в себя прием от CMS-компьютера через компьютерную сеть команды, чтобы удалять второй элемент цифрового контента.
[00117] На этапе 630 способ 600 может включать в себя обязательное удаление второго элемента цифрового контента из управляемого службой сегмента локальной машины хранения данных.
[00118] Фиг. 8 показывает способ 800 выбора однорангового компьютера в качестве источника контента согласно варианту осуществления настоящего изобретения. Например, способ 800 может быть выполнен посредством однорангового компьютера P2P-сети, такого как одноранговый компьютер 101 P2P-сети 102, показанный на фиг. 1. На этапе 802 способ 800 может включать в себя отправку CMS-компьютеру через компьютерную сеть запроса на получение контента. Запрос на получение контента может опрашивать CMS-компьютер о доступных в настоящее время одноранговых компьютерах P2P-сети, которые имеют элемент цифрового контента.
[00119] На этапе 804 способ 800 может включать в себя прием от CMS-компьютера через компьютерную сеть ответа на запрос на получение контента, идентифицирующего множество одноранговых компьютеров. Например, множество одноранговых компьютеров могут быть выбраны, определены по приоритету или упорядочены на основе показателей выбора, описанных в данном документе.
[00120] На этапе 806 способ 800 может включать в себя отправку одноранговому компьютеру, имеющему общего ISP для множества одноранговых компьютеров, через компьютерную сеть запроса, чтобы загружать элемент цифрового контента.
[00121] На этапе 808 способ 800 может включать в себя определение того, имеет ли более чем один одноранговый компьютер общего ISP для множества одноранговых компьютеров. Если более чем один одноранговый компьютер из множества одноранговых компьютеров имеет общего ISP, тогда способ 800 переходит к этапу 810. Иначе способ 800 переходит к этапу 812.
[00122] На этапе 810 способ 800 может включать в себя отправку одноранговому компьютеру, имеющему наивысшую ширину полосы пропускания или наименьшее время ожидания, который имеет общего ISP для множества одноранговых компьютеров, через компьютерную сеть запроса, чтобы загружать элемент цифрового контента. В некоторых случаях наивысшая ширина полосы пропускания или наименьшее время ожидания могут быть наивысшей текущей шириной полосы пропускания или наименьшим текущим временем ожидания. В некоторых случаях наивысшая ширина полосы пропускания или наименьшее время ожидания могут быть наивысшей исторической шириной полосы пропускания или наименьшим историческим временем ожидания. В некоторых случаях одноранговый компьютер, имеющий одно или более из наивысшей текущей ширины полосы пропускания, наименьшего текущего времени ожидания, наивысшей исторической ширины полосы пропускания или наименьшего исторического времени ожидания, который соединен с интранет-сетью и имеет общего ISP для множества одноранговых компьютеров, отправляет запрос через компьютерную сеть, чтобы загружать первый элемент цифрового контента. Будет понятно, что эти критерии могут быть смешаны, сопоставлены или рассматриваться любым подходящим образом, чтобы принимать информированное решение по выбору однорангового узла сети для отправки запроса.
[00123] На этапе 812 способ 800 может включать в себя загрузку элемента цифрового контента с однорангового компьютера.
[00124] На этапе 814 способ 800 может включать в себя во время загрузки элемента цифрового контента с однорангового компьютера отправку CMS-компьютеру через компьютерную сеть обновленных телеметрических данных. В некоторых случаях одноранговый компьютер может отправлять телеметрические данные CMS-компьютеру в отличное от передачи элемента цифрового контента время. Следует понимать, что момент передачи телеметрических данных не должен быть привязан к моменту передачи элемента цифрового контента.
[00125] На этапе 816 способ 800 может включать в себя прием от CMS-компьютера через компьютерную сеть уведомления, идентифицирующего другой одноранговый компьютер P2P-сети, который имеет элемент цифрового контента, в качестве рекомендованного источника контента. В некоторых случаях CMS-компьютер может выбирать другой одноранговый узел на основе обновленных телеметрических данных, принятых от однорангового компьютера во время передачи элемента цифрового контента. В некоторых случаях CMS-компьютер может выбирать другой одноранговый узел сети на основе телеметрических данных, относящихся к другим условиям, таким как активность в P2P-сети.
[00126] На этапе 818 способ 800 может включать в себя загрузку элемента цифрового контента с другого однорангового компьютера через компьютерную сеть.
[00127] Выбирая в качестве источника контента одноранговый компьютер, который совместно использует ISP, относительно других одноранговых компьютеров, которые не используют совместно ISP, вероятность выбора однорангового компьютера, имеющего высокую пропускную способность, в качестве источника контента может быть увеличена. Дополнительно, если два одноранговых компьютера имеют одинакового ISP; тогда во многих случаях передача элемента цифрового контента может не учитывать пропускную способность или производительность одноранговых компьютеров. Соответственно затраты на передачу элемента цифрового контента могут быть уменьшены. Кроме того, выбор однорангового узла может обновляться динамически во время передачи элемента цифрового контента, когда условия изменяются.
[00128] Фиг. 9 показывает способ 900 выбора однорангового компьютера в качестве источника контента согласно другому варианту осуществления настоящего изобретения. Например, способ 900 может быть выполнен посредством однорангового компьютера P2P-сети, такого как одноранговый компьютер 101 P2P-сети 102, показанный на фиг. 1. На этапе 902 способ 900 может включать в себя отправку множеству одноранговых компьютеров, идентифицированных как соединенные с интранет-сетью, запроса, чтобы предоставлять элемент цифрового контента. Такой запрос может быть отправлен перед предъявлением запроса на получение контента в CMS, например.
[00129] На этапе 904 способ 900 может включать в себя определение того, принят ли какой-либо ответ на запрос от однорангового компьютера, который соединен с интранет-сетью. Если ответ принят от однорангового компьютера, который соединен с интранет-сетью, тогда способ 900 переходит к этапу 906. Иначе способ переходит к этапу 910.
[00130] На этапе 906 способ может включать в себя определение того, указывает ли какой-либо ответ, что одноранговый компьютер имеет элемент цифрового контента. Если какой-либо ответ указывает, что одноранговый компьютер имеет элемент цифрового контента, тогда способ переходит к этапу 908. Иначе способ 900 переходит к этапу 910.
[00131] На этапе 908 способ 900 может включать в себя отправку одноранговому компьютеру, который ответил как имеющий элемент цифрового контента, запроса, чтобы загружать элемент цифрового контента. Таким образом, элемент цифрового контента может быть получен исключительно в интранет-сети.
[00132] На этапе 910 способ 900 может включать в себя, если ответ не принят от однорангового компьютера, соединенного с интранет-сетью, который указывает, что одноранговый компьютер имеет элемент цифрового контента, отправку CMS-компьютеру через компьютерную сеть запроса на получение контента. Запрос на получение контента может опрашивать CMS-компьютер на предмет рекомендованного источника контента, чтобы предоставлять элемент цифрового контента.
[00133] На этапе 912 способ 900 может включать в себя определение того, принят ли ответ на запрос на получение контента от CMS-компьютера. Если ответ принят, тогда способ 900 переходит к этапу 914. Иначе способ 900 переходит к этапу 916.
[00134] На этапе 914 способ 900 может включать в себя, если ответ на запрос на получение контента принят через компьютерную сеть и идентифицирует рекомендованный одноранговый компьютер P2P-сети как рекомендованный источник контента, отправку рекомендованному одноранговому компьютеру через компьютерную сеть запроса, чтобы загружать элемент цифрового контента. В некоторых вариантах осуществления CMS-компьютер может выбирать источник в качестве рекомендованного источника контента на основе наличия общего ISP с одноранговым компьютером.
[00135] На этапе 916 способ может включать в себя, если ответ на запрос на получение контента не принят, автоматическую отправку CDN-компьютеру через компьютерную сеть запроса резерва, чтобы загружать элемент цифрового контента. В некоторых вариантах осуществления запрос резерва может быть отправлен автоматически, если условие удовлетворяется. Например, условие может включать в себя отсутствие приема ответа на запрос получения контента в течение назначенного лимита времени на ответ, отсутствие начала загрузки элемента цифрового контента в течение назначенного лимита времени для начала загрузки, отсутствие завершения загрузки элемента цифрового контента в течение назначенного лимита времени для завершения загрузки, отсутствие загрузки элемента цифрового контента сверх пороговой пропускной способности или отсутствие загрузки элемента цифрового контента сверх пороговой пропускной способности в течение тестового периода загрузки. Будет понятно, что любой подходящий алгоритм или логика могут быть реализованы, чтобы принимать информированное решение о том, использовать ли или когда использовать сеть или общие ресурсы (например, CDN-компьютер), чтобы предоставлять элемент цифрового контента без отступления от рамок настоящего изобретения.
[00136] Выбирая в качестве источника контента одноранговый компьютер, который соединен с интранет-сетью, относительно одноранговых компьютеров, которые не соединены с интранет-сетью, элемент цифрового контента может быть передан без доступа к внешней компьютерной сети, такой как Интернет. Соответственно затраты на передачу элемента цифрового контента могут быть уменьшены, и цифровой контент может быть передан с помощью меньших ресурсов P2P-сети.
[00137] Фиг. 10 показывает способ 1000 для выбора одного или более источников контента, чтобы предоставлять элемент цифрового контента согласно варианту осуществления настоящего изобретения. Например, способ 1000 может быть выполнен посредством однорангового компьютера P2P-сети, такого как одноранговый компьютер 101 P2P-сети 102, показанный на фиг. 1. На этапе 1002 способ 1000 включает в себя идентификацию множества источников, хранящих фрагменты элемента цифрового контента, который включает в себя множество частей. В некоторых случаях фрагмент элемента цифрового контента может включать в себя часть элемента цифрового контента. В некоторых случаях фрагмент элемента цифрового контента может включать в себя некоторые части элемента цифрового контента. В некоторых случаях фрагмент элемента цифрового контента может включать в себя весь элемент цифрового контента. Множество источников могут включать в себя одну или более локальных машин хранения данных компьютера (например, однорангового компьютера 101) и одного или более одноранговых компьютеров P2P-сети (например, P2P-сети 102).
[00138] На этапе 1004 способ 1000 может включать в себя для каждой части из множества частей элемента цифрового контента выбор источника из множества источников согласно одному или более показателям загрузки. Например, показатели загрузки могут включать в себя наиболее быструю скорость загрузки, наименьшие издержки получения, наименьший уровень использования ресурсов, наименьший уровень использования энергии, наименьший уровень нарушения пользовательского восприятия, доступность ресурса и/или любой другой подходящий показатель. Дополнительно в некоторых случаях показатель загрузки может выбирать одну или более локальных машин хранения данных по P2P-сети, когда возможно загружать часть элемента цифрового контента.
[00139] В одном примере в базовой форме выбор источника получения может быть основан на одном показателе загрузки. Например, показатель загрузки может быть должен получать фрагмент настолько быстро, насколько возможно, в таком случае другие факторы, такие как издержки получения, не будут учитываться при выборе источника.
[00140] В другом примере в более сложной форме выбор источника получения может балансировать множество конкурирующих (или, возможно, конфликтующих) показателей загрузки. Например, множество показателей загрузки могут включать в себя 30% вес, ассоциированный с издержками получения, и 70% вес, ассоциированный со скоростью получения. Любые подходящие эвристические правила могут быть использованы без отступления от рамок этого изобретения.
[00141] В некоторых вариантах осуществления показатели загрузки могут дополнительно указывать, какие части элемента цифрового контента посредством каких источников должны быть загружены. Например, множество показателей загрузки могут указывать, что 30% элемента цифрового контента должно быть загружено с быстрого и надежного источника, который является более дорогостоящим, такого как CDN-компьютер, а 70% элемента цифрового контента должно быть загружено с более медленного, менее надежного и менее дорогостоящего компьютера, такого как одноранговый компьютер в общедоступной P2P-сети.
[00142] В некоторых вариантах осуществления показатели загрузки могут динамически изменяться во время процесса загрузки, так что приоритет изменяется. Например, во время загрузки элемента цифрового контента, когда показатели загрузки определяют приоритет скорости получения над стоимостью получения, условия могут изменяться (например, израсходовать деньги), и показатели загрузки могут динамически регулироваться так, что стоимости получения может быть отдан приоритет над скоростью получения. В некоторых случаях другой источник может динамически выбираться на основе изменения в показателях загрузки.
[00143] На этапе 1006 способ 1000 может включать в себя для каждой части из множества частей элемента цифрового контента загрузку этой части из выбранного источника. В некоторых случаях загрузка может включать в себя передачу данных из одной локальной машины хранения в другую локальную машину хранения данных (например, загрузку контента со съемных носителей на жесткий диск или твердотельную память). В некоторых случаях загрузка может включать в себя передачу данных с удаленного компьютера через компьютерную сеть. В некоторых случаях различные части элемента цифрового контента могут быть загружены с различных источников параллельно. Дополнительно в некоторых случаях, по меньшей мере, некоторые части элемента цифрового контента могут быть загружены с одной или более локальных машин хранения данных, и, по меньшей мере, некоторые части элемента цифрового контента могут быть загружены с одного или более одноранговых компьютеров P2P-сети через компьютерную сеть. Другими словами, фрагменты элемента цифрового контента могут быть загружены локально и удаленно.
[00144] На этапе 1008 способ 1000 может включать в себя организацию множества частей для установки на компьютере в качестве элемента цифрового контента. Например, организация может включать в себя подтверждение достоверности частей посредством сравнения уникального идентификатора загруженной части с уникальным идентификатором запрошенной части. В некоторых случаях различные части могут быть загружены с различных источников, имеющих различные протоколы. Соответственно организация может включать в себя преобразование всех частей элемента цифрового контента в единообразный формат. Дополнительно организация может включать в себя размещение загруженных частей в указанном порядке, чтобы формировать элемент цифрового контента.
[00145] На этапе 1010 способ 1000 может включать в себя определение того, имеет ли часть элемента цифрового контента, загруженная из одной или более локальных машин хранения данных, доступность, которая ниже пороговой доступности P2P-сети. В некоторых случаях пороговая доступность может включать в себя часть элемента цифрового контента, недоступную на каком-либо одноранговом компьютере P2P-сети. В некоторых случаях пороговая доступность может включать в себя часть элемента цифрового контента, недоступную на каком-либо доступном одноранговом компьютере P2P-сети, который в ином случае доступен, чтобы предоставлять элемент цифрового контента. Если часть имеет доступность, которая ниже пороговой доступности, способ 1000 переходит к этапу 1012. Иначе способ 1000 переходит к этапу 1016.
[00146] На этапе 1012 способ 1000 может включать в себя отправку CMS-компьютеру через компьютерную сеть уведомления, указывающего владение частью элемента цифрового контента, которая была загружена из одной или более локальных машин хранения данных. Уведомление может быть отправлено, поскольку доступность части ниже пороговой доступности P2P-сети.
[00147] На этапе 1014 способ 1000 может включать в себя выгрузку на одноранговый компьютер P2P-сети через компьютерную сеть части элемента цифрового контента в ответ на прием запроса от однорангового компьютера одноранговой сети через компьютерную сеть, чтобы предоставлять часть элемента цифрового контента. В некоторых случаях запрос может быть отправлен добровольно одноранговым компьютером. В некоторых случаях запрос может быть отправлен в обязательном порядке одноранговым компьютером в ответ на прием команды от CMS-компьютера, чтобы возвращать себе часть элемента цифрового контента. В любом случае часть элемента цифрового контента может быть распространена в P2P-сеть, чтобы увеличивать доступность части P2P-сети.
[00148] На этапе 1016 способ 1000 может включать в себя определение того, является ли источник устойчивым во время загрузки назначенной части элемента цифрового контента. Например, источник может быть определен как устойчивый или неустойчивый согласно одному или более показателям устойчивости. Если источник определен как неустойчивый, тогда способ 1000 переходит к этапу 1018. Иначе способ 1000 переходит к этапу 1020.
[00149] На этапе 1018 способ может включать в себя загрузку из другого источника назначенной части. Другой источник может быть выбран из множества источников согласно одному или более показателям загрузки.
[00150] В некоторых вариантах осуществления фрагменты элемента цифрового контента могут быть установлены или выполняться прежде, чем весь элемент цифрового контента загружается. Например, различные фрагменты игры могут быть загружены на основе продвижения пользователя через игру, такого как местоположение, карта, уровень, направление и т.д. Соответственно на этапе 1020 способ может включать в себя определение того, какие части элемента цифрового контента необходимо загружать на основе пользовательского взаимодействия с элементом цифрового контента. Например, части, представляющие местоположение в игровом мире, близкое к текущему местоположению пользователя, могут быть загружены перед местоположением в игровом мире, которое является более удаленным от текущего местоположения пользователя.
[00151] На этапе 1022 способ 1000 может включать в себя выбор источника для части элемента цифрового контента на основе взаимодействия пользователя с элементом цифрового контента. Например, части элемента цифрового контента, которые более вероятно должны быть установлены или потреблены в ближайшем будущем, могут быть загружены с более быстрого, более дорогостоящего источника, а части, которые менее вероятно должны быть установлены или потреблены в ближайшем будущем, могут быть загружены с более медленного, менее дорогостоящего источника.
[00152] Вышеописанный способ может быть выполнен посредством однорангового компьютера, чтобы загружать элемент цифрового контента из одного или более источников эффективным образом, который потенциально увеличивает работоспособность P2P-сети. В частности, вводя взаимодействие между локальными источниками и источниками P2P-сети, все источники могут работать совместно, чтобы получать части элемента цифрового контента в удобном порядке, в то же время устраняя дублирование получения частей и увеличивая работоспособность P2P-сети, разгружая передачу некоторых частей на локальные источники.
[00153] Фиг. 11 показывает способ 1100 для загрузки контента согласно варианту осуществления настоящего изобретения. Например, способ 1100 может быть выполнен посредством однорангового компьютера P2P-сети, такого как одноранговый компьютер 101 P2P-сети 102, показанный на фиг. 1.
[00154] На этапе 1102 способ 1100 может включать в себя загрузку из одной или более локальных машин хранения данных компьютера одной или более частей элемента цифрового контента.
[00155] На этапе 1104 способ 1100 может включать в себя определение того, происходит ли изменение в работе компьютера, которое вызывает нарушение пользовательского восприятия выше порогового уровня нарушения. Например, пороговый уровень нарушения может включать в себя уровень использования ресурсов компьютера, больший, чем пороговый уровень. В одном конкретном примере изменение в работе может включать в себя выполнение пользователем программы, воспроизведение игры, просмотр видео и т. д., что потребляет ресурсы. Такое изменение в работе может вызывать уровень использования ресурсов, который больше порогового уровня, такого как уровень, при котором игра или видео могут запинаться, делать пропуск, буферизоваться или приостанавливаться. Отметим, что это просто один пример, и другие нарушения пользовательского восприятия могут рассматриваться без отступления от рамок настоящего изобретения. Если происходит изменение, которое вызывает нарушение пользовательского восприятия выше порогового уровня нарушения, тогда способ 1100 переходит к этапу 1106. Иначе способ 1100 возвращается к другим операциям.
[00156] На этапе 1106 способ 1100 может включать в себя в ответ на изменение в работе компьютера, которое вызывает нарушение пользовательского восприятия выше порогового уровня нарушения, остановку загрузки из одной или более локальных машин хранения данных компьютера одной или более частей элемента цифрового контента.
[00157] На этапе 1108 способ 1100 включает в себя в ответ на остановку загрузки из одной или более машин хранения данных автоматическое начало загрузки из источника через компьютерную сеть одной или более частей элемента цифрового контента. Источник может быть выбран из множества источников согласно одному или более показателям загрузки. Например, один или более показателей загрузки могут включать в себя наиболее быструю скорость загрузки, наименьшую стоимость получения, наименьший уровень использования ресурсов, наименьший уровень использования энергии, наименьший уровень нарушения пользовательского восприятия и/или другие подходящие показатели. В одном примере множество источников могут включать в себя один или более одноранговых компьютеров P2P-сети и CDN-компьютер.
[00158] Динамически останавливая загрузку элемента цифрового контента из локального источника и автоматически загружая элемент цифрового контента из удаленного источника через компьютерную сеть в ответ на обнаружение нарушения пользовательского восприятия, пользовательскому восприятию может быть отдан приоритет над получением элемента цифрового контента, и элемент цифрового контента может все еще быть получен.
[00159] Фиг. 12 и 13 показывают способ 1200 управления P2P-сетью согласно варианту осуществления настоящего изобретения. Например, способ 1200 может быть выполнен посредством CMS-компьютера P2P-сети, такого как CMS-компьютер 110 P2P-сети 102, показанный на фиг. 1. На этапе 1202 способ 1200 может включать в себя сбор телеметрических данных от множества одноранговых компьютеров в P2P-сети через компьютерную сеть.
[00160] На этапе 1204 способ 1200 может включать в себя прием от первого однорангового компьютера P2P-сети через компьютерную сеть запроса на получение контента, запрашивающего рекомендованный источник контента, чтобы предоставлять первый элемент цифрового контента.
[00161] На этапе 1206 способ 1200 может включать в себя выбор источника, чтобы предоставлять первый элемент цифрового контента первому одноранговому компьютеру, на основе показателя выбора, полученного из собранных телеметрических данных. Например, определение может учитывать, указывают ли телеметрические данные, собранные от множества одноранговых компьютеров, что первый элемент цифрового контента доступен для выгрузки с какого-либо однорангового компьютера P2P-сети. В некоторых вариантах осуществления определение может дополнительно учитывать, является ли одноранговый компьютер, который имеет элемент цифрового контента, наиболее соответствующим для первого однорангового компьютера, на основе одного или более показателей выбора. В некоторых случаях определение может дополнительно учитывать тип запрашиваемого контента при выборе рекомендованного источника контента.
[00162] На этапе 1208 способ 1200 может включать в себя определение того, является ли рекомендованный источник контента одноранговым компьютером или CDN-компьютером, на основе одного или более показателей выбора. Если рекомендованный источник контента является одноранговым компьютером, тогда способ 1200 переходит к этапу 1210. Иначе способ 1200 переходит к этапу 1212.
[00163] На этапе 1210 способ 1200 может включать в себя отправку первому одноранговому компьютеру через компьютерную сеть ответа на запрос на получение контента, идентифицирующего второй одноранговый компьютер, который имеет первый элемент цифрового контента, в качестве рекомендованного источника контента.
[00164] На этапе 1212 способ 1200 может включать в себя отправку первому одноранговому компьютеру через компьютерную сеть ответа на запрос на получение контента, идентифицирующего CDN-компьютер в качестве рекомендованного источника контента.
[00165] На этапе 1214 способ 1200 может включать в себя выполнение операции минимизации воздействия, которая модифицирует передачу элемента цифрового контента между одноранговыми компьютерами P2P-сети согласно одному или более показателям работоспособности P2P-сети, полученным из телеметрических данных, собранных от множества одноранговых компьютеров.
[00166] На этапе 1216 способ 1200 может включать в себя, в то время как первый компьютер загружает первый элемент цифрового контента со второго однорангового компьютера, прием обновленных телеметрических данных от первого однорангового компьютера, второго однорангового компьютера или обоих одноранговых компьютеров.
[00167] На этапе 1218 способ 1200 может включать в себя отправку одноранговому компьютеру через компьютерную сеть уведомления, идентифицирующего другой одноранговый компьютер P2P-сети, который имеет первый элемент цифрового контента, в качестве рекомендованного источника контента. Другой одноранговый компьютер может быть выбран согласно показателю выбора однорангового компьютера, полученному из телеметрических данных, включающих в себя обновленные телеметрические данные.
[00168] На этапе 1220 способ 1200 может включать в себя подвергание карантину назначенного однорангового компьютера от передачи элемента цифрового контента в P2P-сети согласно одному или более показателям работоспособности P2P-сети, полученным из телеметрических данных, собранных от множества одноранговых компьютеров.
[00169] На этапе 1222 способ 1200 может включать в себя перенаправление однорангового компьютера, запрашивающего элемент цифрового контента с назначенного однорангового компьютера, который помещен на карантин, на альтернативный одноранговый компьютер, имеющий элемент цифрового контента, в ответ на помещение на карантин назначенного однорангового компьютера.
[00170] На этапе 1224 способ 1200 может включать в себя разрешение назначенному одноранговому компьютеру, который помещен на карантин, передавать элемент цифрового контента в пределах P2P-сети после помещения на карантин в ответ на выполнение назначенным одноранговым компьютером корректирующего действия. Другими словами, отменяется карантин назначенного однорангового компьютера. Неограничивающие примеры корректирующих действий могут включать в себя увеличение ширины полосы пропускания, увеличение доступности, увеличение устойчивости, удаление скомпрометированного элемента цифрового контента и т. д.
[00171] Отметим, что в некоторых вариантах осуществления операция минимизации воздействия может включать в себя динамическую рекомендацию другого источника, чтобы предоставлять элемент цифрового контента, помещение на карантин однорангового компьютера и отмену карантина однорангового компьютера, а также другие подходящие операции, обсужденные в данном документе.
[00172] На этапе 1226 способ 1200 может включать в себя определение того, ниже ли доступность второго элемента цифрового контента пороговой доступности P2P-сети. Если второй элемент цифрового контента ниже пороговой доступности, тогда способ 1200 переходит к этапу 1228. Иначе способ 1200 переходит к этапу 1238.
[00173] На этапе 1228 способ 1200 может включать в себя идентификацию одноранговых компьютеров P2P-сети, которые имеют второй элемент цифрового контента. В некоторых случаях второй элемент цифрового контента может быть добровольно загружен одноранговым компьютером и сохранен в управляемом пользователем сегменте локальной машины хранения данных этого однорангового компьютера. В некоторых случаях второй элемент цифрового контента может быть в обязательном порядке загружен одноранговым компьютером на основе команды от CMS-компьютера и сохранен в управляемом службой сегменте локальной машины хранения данных этого однорангового компьютера.
[00174] На этапе 1230 способ может включать в себя отправку первому одноранговому компьютеру через компьютерную сеть команды, чтобы загружать второй элемент цифрового контента из источника (например, однорангового компьютера, идентифицированного как имеющего первый элемент цифрового контента). Источник может быть выбран согласно одному или более показателям выбора. Второй элемент цифрового контента может быть сохранен в управляемом пользователем сегменте локальной машины хранения данных первого однорангового компьютера. В некоторых вариантах осуществления способ может включать в себя отправку одноранговому компьютеру P2P-сети, идентифицированному как имеющему второй элемент цифрового контента, через компьютерную сеть команды, чтобы выгружать второй элемент цифрового контента первому одноранговому компьютеру. Другими словами, CMS-компьютер может быть сконфигурирован, чтобы командовать выгрузку или загрузку элемента цифрового контента согласно конфигурации системы распространения контента.
[00175] В некоторых вариантах осуществления способ может включать в себя отправку одноранговым компьютерам P2P-сети, которые не имеют второго элемента цифрового контента, команд, чтобы загружать второй элемент цифрового контента до тех пор, пока доступность второго элемента цифрового контента не будет выше пороговой доступности.
[00176] На этапе 1232 способ 1200 может включать в себя прием от первого однорангового компьютера через компьютерную сеть отчета, указывающего, что первый одноранговый компьютер загрузил второй элемент цифрового контента из источника. Второй элемент цифрового контента может быть загружен первым одноранговым компьютером в обязательном порядке и сохранен в управляемом службой сегменте локальной машины хранения данных первого однорангового компьютера.
[00177] На этапе 1234 способ 1200 может включать в себя отправку третьему одноранговому компьютеру P2P-сети через компьютерную сеть команды, чтобы загружать второй элемент цифрового контента с первого однорангового компьютера. Команда может быть отправлена как часть операции управления, чтобы увеличивать доступность второго элемента цифрового контента в P2P-сети.
[00178] На этапе 1236 способ 1200 может включать в себя отправку первому одноранговому компьютеру через компьютерную сеть команды, чтобы удалять второй элемент цифрового контента с первого однорангового компьютера из управляемого службой сегмента локальной машины хранения данных первого однорангового компьютера.
[00179] На этапе 1238 способ 1200 может включать в себя предоставление вознаграждения одному или более одноранговым компьютерам P2P-сети согласно одному или более показателям участия P2P-сети, полученным из телеметрических данных, собранных от множества одноранговых компьютеров.
[00180] В одном примере вознаграждение может включать в себя назначение рейтинга участия одноранговому узлу сети.
[00181] Соответственно на этапе 1240 способ 1200 может включать в себя предоставление рейтинга участия одноранговых компьютеров P2P-сети. Например, предоставление может включать в себя отображение списка одноранговых компьютеров P2P-сети, упорядоченных по рейтингу участия каждого однорангового компьютера. Пример списка показан на фиг. 15 и описан в дополнительных деталях ниже. Список может предоставлять поощрение для однорангового компьютера, чтобы участвовать в передаче контента по всей P2P-сети, чтобы повышать его рейтинг. Между тем, работоспособность P2P-сети может быть улучшена посредством увеличения в доступности элементов цифрового контента. В других примерах рейтинги участия одноранговых компьютеров могут быть предоставлены в таблице, иерархическом отображении, например, по региону, или т.п. Будет понятно, что рейтинг участия одноранговых компьютеров может быть предоставлен любым подходящим образом без отступления от рамок настоящего изобретения.
[00182] Собирая телеметрические данные от одноранговых компьютеров P2P-сети и выполняя операции на основе показателей, полученных из собранных телеметрических данных, эффективность работы и общая работоспособность одноранговых компьютеров, а также части или всей P2P-сети, могут быть улучшены.
[00183] Фиг. 14 показывает способ 1400 распространения контента согласно варианту осуществления настоящего изобретения. Например, способ 1400 может быть выполнен посредством CMS-компьютера P2P-сети, такого как CMS-компьютер 110 P2P-сети 102, показанный на фиг. 1. На этапе 1402 способ 1400 может включать в себя публикацию для распространения в общедоступной P2P-сети через компьютерную сеть специально отобранного элемента цифрового контента. В некоторых случаях специально отобранный элемент цифрового контента может быть опубликован посредством CMS-компьютера частной P2P-сети.
[00184] На этапе 1404 способ 1400 может включать в себя прием от однорангового компьютера частной P2P-сети через компьютерную сеть указания, что одноранговый компьютер получил специально отобранный элемент цифрового контента из общедоступной P2P-сети.
[00185] На этапе 1406 способ 1400 может включать в себя подтверждение достоверности специально отобранного элемента цифрового контента, который был получен одноранговым компьютером частной P2P-сети.
[00186] На этапе 1408 способ 1400 может включать в себя идентификацию самостоятельного однорангового компьютера, который получил специально отобранный элемент цифрового контента из общедоступной P2P-сети. Самостоятельный одноранговый компьютер может не быть присоединен к частной P2P-сети. В некоторых случаях самостоятельный одноранговый компьютер может быть членом общедоступной P2P-сети, поскольку общедоступная P2P-сеть может не требовать какой-либо принадлежности.
[00187] На этапе 1410 способ 1400 может включать в себя отправку одноранговому компьютеру частной P2P-сети, который не имеет специально отобранного элемента цифрового контента, через компьютерную сеть команды, чтобы загружать специально отобранный цифровой контент с самостоятельного однорангового компьютера.
[00188] На этапе 1412 способ 1400 может включать в себя, после того как специально отобранный элемент цифрового контента был опубликован в общедоступной P2P-сети в течение предварительно определенного периода, публикацию для распространения в частной P2P-сети через компьютерную сеть специально отобранного элемента цифрового контента.
[00189] Публикуя специально отобранный цифровой контент в общедоступной P2P-сети, ресурсы общедоступной P2P-сети могут быть привлечены, чтобы распространять и иначе повышать доступность специально отобранного элемента цифрового контента. Дополнительно, когда специально отобранный элемент цифрового контента вводится в частную P2P-сеть, специально отобранный элемент цифрового контента может проверяться на достоверность, чтобы гарантировать, что он подходит для распространения в частной P2P-сети. Соответственно доступность специально отобранного контента может быть быстро повышена, в то же время уменьшая нагрузку на частную P2P-сети.
[00190] Следует понимать, что различные действия, операции или функции способов, описанных выше, могут быть выполнены в иллюстрированной последовательности, параллельно или в некоторых случаях исключены. Кроме того, вышеописанные способы могут быть объединены любым подходящим образом. Аналогично порядок обработки не является обязательным для того, чтобы достигать признаков и преимуществ примерных вариантов осуществления, описанных в данном документе, и предоставляется для простоты иллюстрации и описания. Одно или более из иллюстрированных действий, функций или операций может неоднократно выполняться в зависимости от конкретной используемой стратегии.
[00191] Фиг. 15 показывает интерфейс 1500 вознаграждения, отображаемый пользователю согласно варианту осуществления настоящего изобретения. В некоторых вариантах осуществления интерфейс вознаграждения может быть сформирован посредством CMS-компьютера 110, показанного на фиг. 1. В некоторых вариантах осуществления интерфейс вознаграждения может быть сформирован посредством однорангового компьютера 101, показанного на фиг. 1. В некоторых вариантах осуществления интерфейс вознаграждения может быть отображен посредством третьей стороны с доступом к информации о вознаграждении однорангового узла сети. Интерфейс 1500 вознаграждения может быть графическим пользовательским интерфейсом, который отображает информацию, относящуюся к участию в P2P-сети, а также к вознаграждениям, накапливаемым на основе участия в P2P-сети.
[00192] Интерфейс 1500 вознаграждения может включать в себя статистику 1502 участия однорангового компьютера, которая может быть собрана со временем, когда одноранговый компьютер взаимодействует в P2P-сети. Статистика участия может включать в себя статистику раздачи и статистику скачивания. Другие неограничивающие примеры статистики участия могут включать в себя части раздаваемого контента, части скачиваемого контента, число отданных байт, число скачанных байт, общее количество минут раздачи, общее количество минут скачивания, наиболее длительный непрерывный сеанс раздачи с одноранговым узлом сети, наибольшее количество частей раздаваемого файла, число файлов, отданных единолично, число частей игры, которое было отдано, число раз, которое игра была полностью отдана, и т.д. В некоторых вариантах осуществления статистика участия однорангового компьютера может быть перечислена согласно участию по категориям контента (например, типу контента, заголовку, жанру и/или коллективу).
[00193] Интерфейс 1500 вознаграждения может включать в себя статистику 1504 участия пользователя однорангового узла сети. Статистика участия пользователя однорангового узла сети может быть аналогична статистике участия однорангового компьютера за исключением того, что она может быть привязана к пользователю, который может использовать множество различных одноранговых компьютеров.
[00194] Интерфейс 1500 вознаграждения может включать в себя список участия или таблицу 1506 лидеров, которая перечисляет одноранговые компьютеры согласно рейтингу участия каждого однорангового компьютера в P2P-сети. Рейтинг участия может быть назначен согласно одному или более показателям участия, полученным из телеметрических данных. В некоторых вариантах осуществления таблица лидеров может описывать высококлассифицированные одноранговые компьютеры, включая в себя выделение конкретной статистики участия.
[00195] Интерфейс 1500 вознаграждения может включать в себя сравнение статистики 1508 участия однорангового узла сети. Сравнение может предоставлять возможность пользователю измерять свой уровень участия в сравнении с другими одноранговыми компьютерами P2P-сети.
[00196] Интерфейс 1500 вознаграждения может включать в себя вознаграждения, которые предоставляются одноранговому компьютеру. Например, интерфейс 1500 вознаграждения может включать в себя достижения 1510, которые одноранговый компьютер заработал посредством участия в P2P-сети, такие как наибольшее количество выгрузок, самый длинный сеанс выгрузки и самый длинный непрерывный сеанс. Достижения 1510 могут изменяться или постепенно становиться более трудными, когда одноранговый компьютер поощряется более значительными достижениями. Интерфейс 1500 вознаграждения может включать в себя выкупаемые вознаграждения 1512. Например, выкупаемые вознаграждения могут включать в себя выкупаемые элементы, купоны, очки или денежное вознаграждение. Вознаграждения могут дополнительно включать в себя авторитет (например, титул, рейтинг и т. д.) или любой другой подходящий приз.
[00197] Интерфейс вознаграждения и связанные механизмы вознаграждения могут создавать конкурентное окружение между участниками P2P-сети, чтобы раздавать элементы цифрового контента, что, в конечном счете, увеличивает популяцию раздачи P2P-сети. Таким образом, дружеское соревнование между одноранговыми узлами сети может вести к общей более работоспособной P2P-сети.
[00198] В некоторых вариантах осуществления способы и процессы, описанные в данном документе, могут быть привязаны к вычислительной системе одного или более вычислительных устройств. В частности, такие способы и процессы могут быть реализованы как компьютерная прикладная программа или служба, прикладной программный интерфейс (API), библиотека и/или другой компьютерный программный продукт.
[00199] Фиг. 16 схематично показывает неограничивающий вариант осуществления вычислительной системы 1600, которая может представлять один или более способов и процессов, описанных выше.
[00200] Вычислительная система 1600 показана в упрощенной форме. Вычислительная система 1600 может принимать форму одной или более игровых консолей, персональных компьютеров, серверных компьютеров, планшетных компьютеров, домашних развлекательных компьютеров, сетевых вычислительных устройств, мобильных вычислительных устройств, устройств мобильной связи (например, смартфон) и/или других вычислительных устройств. В некоторых вариантах осуществления вычислительная система 1600 может быть характерной для однорангового компьютера, такой как одноранговый компьютер 101, показанный на фиг. 1. В некоторых вариантах осуществления компьютерная система 1600 может быть характерной для CMS-компьютера 110, показанного на фиг. 1. В некоторых вариантах осуществления вычислительная система 1600 может реализовывать компьютерную архитектуру CMS-компьютера 300, показанного на фиг. 3. В некоторых вариантах осуществления вычислительная система 1600 может быть характерна для CDN-компьютера, такого как CDN-компьютер 114, показанный на фиг. 1.
[00201] Вычислительная система 1600 включает в себя логическую машину 1602 и машину 1604 хранения данных. Вычислительная система 1600 может необязательно включать в себя подсистему 1606 отображения, подсистему 1608 ввода, подсистему 1610 связи и/или другие компоненты, непоказанные на фиг. 16.
[00202] Логическая машина 1602 включает в себя одно или более физических устройств, сконфигурированных исполнять инструкции. Например, логическая машина может быть сконфигурирована исполнять инструкции, которые являются частью одного или более приложений, служб, программ, алгоритмов, библиотек, объектов, компонентов, структур данных или других логических конструкций. Такие инструкции могут быть реализованы, чтобы выполнять, задачу, реализовывать тип данных, изменять состояние одного или более компонентов, добиваться технического эффекта или иначе приходить к желаемому результату.
[00203] Логическая машина может включать в себя один или более процессоров, сконфигурированных исполнять инструкции программного обеспечения. Дополнительно или альтернативно логическая машина может включать в себя одну или более аппаратных или программно-аппаратных логических машин, сконфигурированных исполнять аппаратные или программно-аппаратные инструкции. Процессоры логической машины могут быть одноядерными или многоядерными, и инструкции, исполняемые в них, могут быть сконфигурированы для последовательной, параллельной и/или распределенной обработки. Отдельные компоненты логической машины, в необязательном порядке, могут быть распределены между двумя или более отдельными устройствами, которые могут быть удаленно расположены и/или сконфигурированы для скоординированной обработки. Аспекты логической машины могут быть виртуализированы и выполнены посредством удаленно доступных, сетевых вычислительных устройств, сконфигурированных в конфигурацию облачного вычисления.
[00204] Машина 1604 хранения данных включает в себя одно или более физических устройств, сконфигурированных, чтобы удерживать инструкции, исполняемые логической машиной, чтобы реализовывать способы и процессы, описанные в данном документе. Когда такие способы и процессы реализуются, состояние машины 1604 хранения данных может быть преобразовано - например, чтобы хранить различные данные.
[00205] Машина 1604 хранения данных может включать в себя съемные и/или встроенные устройства. Машина 1604 хранения данных может включать в себя оптическое запоминающее устройство (например, CD, DVD, HD-DVD, диск Blu-Ray и т.д.), полупроводниковое запоминающее устройство (например, RAM, EPROM, EEPROM и т.д.) и/или магнитное запоминающее устройство (например, накопитель на жестком диске, накопитель на гибком диске, ленточный накопитель, MRAM и т.д.), среди прочих. Машина 1604 хранения данных может включать в себя энергозависимые, энергонезависимые, динамические, статические, для чтения/записи, только для чтения, со случайным доступом, с последовательным доступом, адресуемые по местоположению, адресуемые по файлу и/или адресуемые по контенту устройства.
[00206] В случаях, когда компьютерная система 1600 характерна для однорангового компьютера, машина 1604 хранения данных может включать в себя множество локальных машин хранения данных, которые могут хранить различные фрагменты элементов цифрового контента, и компьютерная система может быть сконфигурирована, чтобы выбирать, из какой локальной машины хранения данных или другого однорангового компьютера загружать части элемента цифрового контента согласно одному или более показателям загрузки. Например, часть элемента цифрового контента может быть сохранена на локальных машинах хранения данных, включающих в себя оптическую память и полупроводниковую память, также как быть доступным для загрузки с однорангового компьютера P2P-сети, и компьютерная система 1600 может быть сконфигурирована, чтобы выбирать источник для элемента цифрового контента из одного из этих источников на основе показателя загрузки, такого как, какой источник может доставить элемент цифрового контента быстрее всех. Отметим, что это просто один пример, и многие вариации могут быть выполнены без отступления от рамок настоящего изобретения.
[00207] Кроме того, в случаях, когда компьютерная система 1600 характерна для однорангового компьютера, машина 1604 хранения данных может включать в себя управляемый пользователем сегмент 1612 машины 1604 хранения данных и управляемый службой сегмент 1614 машины 1604 хранения данных. Управляемый пользователем сегмент 1612 может быть сконфигурирован, чтобы хранить элементы цифрового контента, добровольно загруженные одноранговым компьютером. Управляемый службой сегмент 1614 может быть сконфигурирован, чтобы сохранять элементы цифрового контента, в обязательном порядке загруженные одноранговым компьютером, например, по команде CMS-компьютера.
[00208] В некоторых вариантах осуществления CMS-компьютер может отдавать команду одноранговому компьютеру, чтобы предоставлять элемент цифрового контента из управляемого пользователем сегмента 1612 или управляемого службой сегмента 1614. В некоторых вариантах осуществления одноранговый компьютер может быть сконфигурирован, чтобы не иметь права на доступ непосредственно к элементам цифрового контента, сохраненным в управляемом службой сегменте 1614 (например, данные зашифрованы и требуют авторизации и/или аутентификации для дешифрования). В некоторых вариантах осуществления одноранговый компьютер может быть сконфигурирован, чтобы иметь доступ и использовать элемент цифрового контента, сохраненный в управляемом службой сегменте 1614. В некоторых вариантах осуществления одноранговый компьютер может не знать об элементах цифрового контента, которые он в обязательном порядке размещает или раздает. В некоторых вариантах осуществления одноранговый компьютер может выделять управляемый службой сегмент 1614 локальной машины хранения данных, чтобы участвовать в P2P-сети. В некоторых вариантах осуществления одноранговый компьютер может выделять сегмент полосы пропускания для обязательного размещения или раздачи, чтобы участвовать в P2P-сети. В некоторых вариантах осуществления одноранговый узел сети может соглашаться или отказываться от назначения сегмента локальной машины хранения данных в качестве управляемого службой сегмента. В некоторых вариантах осуществления одноранговый узел сети может вознаграждаться взамен на соглашение с назначением сегмента локальной машины хранения данных в качестве управляемого службой сегмента. В некоторых вариантах осуществления некоторые, но не все, одноранговые компьютеры в P2P-сети могут иметь управляемый службой сегмент. В некоторых вариантах осуществления все одноранговые компьютеры в P2P-сети могут иметь управляемый службой сегмент. В некоторых вариантах осуществления управляемый службой сегмент может быть долей размера управляемого пользователем сегмента. Хотя следует понимать, что управляемый службой сегмент и управляемый пользователем сегмент могут быть любым подходящим сегментом локальной машины хранения без отступления от рамок настоящего изобретения.
[00209] Будет понятно, что машина 1604 хранения включает в себя одно или более физических устройств. Однако аспекты инструкций, описанные в данном документе, альтернативно могут распространяться посредством среды передачи данных (например, электромагнитного сигнала, оптического сигнала и т.д.), которая не удерживается посредством физического носителя в течение определенного срока действия.
[00210] Аспекты логической машины 1602 и машины 1604 хранения данных могут быть объединены вместе в один или более аппаратных логических компонентов. Такие аппаратные логические компоненты могут включать в себя программируемые пользователем вентильные матрицы (FPGA), программные и прикладные специализированные интегральные схемы (PASIC/ASIC), программные и прикладные специализированные стандартные продукты (PSSP/ASSP), систему на кристалле (SOC) и сложные программируемые логические устройства (CPLD), например.
[00211] Будет понятно, что "служба", когда используется в данном документе, является прикладной программой, исполняемой в течение множества пользовательских сеансов. Служба может быть доступна одному или более компонентам системы, программам и/или другим службам. В некоторых реализациях служба может работать на одном или более серверных вычислительных устройствах.
[00212] Когда включена, подсистема 1606 отображения может использоваться, чтобы представлять визуальное представление данных, хранимых машиной 1604 хранения данных. Это визуальное представление может принимать форму графического пользовательского интерфейса (GUI). Когда описанные в данном документе способы и процессы изменяют данные, хранимые машиной хранения данных, и, таким образом, преобразуют состояние машины хранения данных, состояние подсистемы 1606 отображения может аналогично преобразовываться, чтобы визуально представлять изменения в лежащих в основе данных. Подсистема 1606 отображения может включать в себя одно или более устройств отображения, использующих фактически любой тип технологии. Такие устройства отображения могут быть объединены с логической машиной 1602 и/или машиной 1604 хранения данных в совместно используемой оболочке, или такие устройства отображения могут быть периферийными устройствами отображения.
[00213] Когда включена, подсистема 1608 ввода может содержать или взаимодействовать с одним или более устройствами пользовательского ввода, такими как клавиатура, мышь, сенсорный экран или игровой контроллер. В некоторых вариантах осуществления подсистема ввода может содержать или взаимодействовать с выбранными компонентами естественного пользовательского ввода (NUI). Такие компоненты могут быть интегрированными или периферийными, и преобразование и/или обработка действий ввода может управляться встроенным или внешним образом. Например, NUI-компоненты могут включать в себя микрофон для распознавания речи и/или голоса; инфракрасную, цветную, стереоскопическую и/или глубинную камеру для машинного зрения и/или распознавания жестов; устройство отслеживания головы, устройство отслеживания глаз, акселерометр и/или гироскоп для обнаружения движения и/или распознавания намерения; а также компоненты, чувствительные к электрическому полю, для оценки активности мозга.
[00214] Когда включена, подсистема 1610 связи может быть сконфигурирована, чтобы соединять с возможностью связи вычислительную систему 1600 с одним или более другими вычислительными устройствами. Подсистема 1610 связи может включать в себя устройство проводной и/или беспроводной связи, совместимое с одним или более различными протоколами связи. В качестве неограничивающих примеров, подсистема связи может быть сконфигурирована для связи через беспроводную телефонную сеть или проводную или беспроводную локальную или глобальную вычислительную сеть. В некоторых вариантах осуществления подсистема связи может предоставлять возможность вычислительной системе 1600 отправлять и/или принимать сообщения к и/или от других устройств через компьютерную сеть, такую как интранет или Интернет.
[00215] Следует понимать, что конфигурации и/или подходы, описанные в данном документе, являются примерными по своей природе, и что эти конкретные варианты осуществления или примеры не должны рассматриваться в ограничивающем смысле, поскольку многочисленные вариации возможны. Конкретные процедуры или способы, описанные в данном документе, могут представлять одну или более из любого числа стратегий обработки. По существу, различные иллюстрированные и/или описанные действия могут быть выполнены в иллюстрированной и/или описанной последовательности, в других последовательностях, параллельно или исключены. Также, порядок вышеописанных процессов может быть изменен. Будет понятно, что термины "первый", "второй" и "третий" и т. д. используются просто как метки и не предназначены, чтобы накладывать числовые, последовательные или пространственные требования на свои объекты.
[00216] Объем настоящего изобретения включает в себя все новые и неявные комбинации и вспомогательные комбинации различных процессов, систем и конфигураций, и другие признаки, функции, действия и/или свойства, раскрытые в данном документе, а также любые или все их эквиваленты.