ПОВЫШЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ ОДНОРАНГОВЫХ СЕТЕЙ

1. Способ идентификации одного или более других вычислительных устройств одноранговой сети, чтобы осуществлять или рекомендовать, чтобы конкретное вычислительное устройство одноранговой сети отправляло к ним запрос на загрузку для конкретного цифрового контента, причем способ содержит этапы, на которых:
(а) осуществляют доступ к информации относительно одного или более из других вычислительных устройств, которые в текущий момент имеют конкретный цифровой контент;
(b) осуществляют доступ к информации относительно одного или более из других вычислительных устройств, которые в текущий момент находятся в процессе получения конкретного цифрового контента;
(c) на основе информации относительно одного или более из других вычислительных устройств, которые в текущий момент имеют конкретный цифровой контент, определяют одну или более первых оценок количества времени, которое потребуется для конкретного вычислительного устройства, чтобы загрузить конкретный цифровой контент из каждого из одного или более из других вычислительных устройств, которые в текущий момент имеют конкретный цифровой контент;
(d) на основе информации относительно одного или более из других вычислительных устройств, которые в текущий момент находятся в процессе получения конкретного цифрового контента, определяют одну или более вторых оценок количества времени, которое потребуется для конкретного вычислительного устройства, чтобы загрузить конкретный цифровой контент из каждого из одного или более других вычислительных устройств, которые в текущий момент находятся в процессе получения конкретного цифрового контента;
(e) идентифицируют, на основе упомянутых определенных первых и вторых оценок, одно или более из других вычислительных устройств, к которым следует отправить запрос на загрузку для конкретного цифрового контента, причем данная идентификация
включает в себя определение, для каждого из множества различных мгновенных состояний во времени, какие одно или более из других вычислительных устройств будут доступны для загрузки конкретного цифрового контента, при этом по меньшей мере одно из мгновенных состояний соответствует текущему моменту времени и по меньшей мере одно из мгновенных состояний соответствует будущему моменту времени; и
(f) осуществляют или рекомендуют отправку запроса на загрузку для конкретного цифрового контента из конкретного вычислительного устройства к по меньшей мере одному из идентифицированных одного или более из других вычислительных устройств.
2. Способ по п. 1, в котором упомянутая идентификация дополнительно включает в себя идентификацию, на основе результатов определения, по меньшей мере одного из одного или более из других вычислительных устройств, к которому следует отправить запрос на загрузку для конкретного цифрового контента.
3. Способ по п. 1, в котором упомянутая идентификация включает в себя одно из следующего:
идентификацию, в качестве одного из других вычислительных устройств, к которому следует отправить запрос на загрузку для конкретного цифрового контента, одного из других вычислительных устройств, из которого конкретное вычислительное устройство, по оценкам, сможет завершить загрузку конкретного цифрового контента в самое раннее время по отношению к настоящему времени; или
идентификацию, в качестве одного из других вычислительных устройств, к которому следует отправить запрос на загрузку для конкретного цифрового контента, одного из других вычислительных устройств, из которого конкретное вычислительное устройство, по оценкам, сможет загрузить конкретный цифровой контент за самый короткий промежуток времени после начала загрузки.
4. Способ по п. 1, в котором
упомянутая идентификация включает в себя идентификацию одного из других вычислительных устройств, которые в текущий момент находятся в процессе получения конкретного цифрового контента; и
упомянутое осуществление или рекомендация включает в себя:
ожидание до тех пор, пока идентифицированное одно из других вычислительных устройств, которые в текущий момент находятся в процессе получения конкретного цифрового контента, закончат получение конкретного цифрового контента, и
после того, как идентифицированное одно из других вычислительных устройств закончило получение конкретного цифрового контента, осуществление или рекомендацию отправки запроса на загрузку для конкретного цифрового контента из конкретного вычислительного устройства к идентифицированному одному из других вычислительных устройств.
5. Устройство, содержащее одно или более устройств хранения информации, включающих в себя считываемый процессором код, и один или более процессоров, осуществляющих связь с одним или более устройствами хранения информации для исполнения считываемого процессором кода, чтобы
соотносить каждое из множества вычислительных устройств с одной из множества различных групп на основе информации о местоположении, соответствующей каждому из множества вычислительных устройств;
осуществлять доступ к межгрупповой информации, включающей в себя по меньшей мере одно из межгрупповой информации о скорости передачи данных и межгрупповой информации о доступности;
для одного из вычислительных устройств, соотнесенных с одной из групп, идентифицировать, на основе информации, к которой осуществлен доступ, одну из других групп, чтобы отправлять к ним один или более запросов на загрузку для цифрового контента, при этом данная идентификация учитывает, что увеличения в задержке, обусловленной удалением групп друг от друга, часто компенсируются увеличениями в скоростях передачи данных и/или доступности между группами, на основе прогнозирования, что часто будет быстрее загрузить цифровой контент из вычислительных устройств в одной или более группах, расположенных относительно далеко, чем загружать цифровой контент из вычислительных устройств в одной или более группах, расположенных относительно близко; и
осуществлять или рекомендовать отправку запроса на загрузку для цифрового контента из одного из вычислительных устройств, соотнесенных с одной из групп, к одному или более вычислительным устройствам, соотнесенным с идентифицированной одной из других групп.
6. Устройство по п. 5, в котором
информация о местоположении содержит часовой пояс, и упомянутое соотнесение содержит соотнесение каждого из множества вычислительных устройств с одной из множества различных групп на основе часового пояса, соответствующего вычислительному устройству; или
информация о местоположении содержит географический регион, и упомянутое соотнесение содержит соотнесение каждого из множества вычислительных устройств с одной из множества различных групп на основе географического региона, соответствующего вычислительному устройству.
7. Способ улучшения распространения единиц цифрового контента между вычислительными устройствами одноранговой сети, причем способ содержит этапы, на которых
(a) группируют по меньшей мере некоторые из вычислительных устройств в один из множества кластеров вычислительных устройств, так что каждый из кластеров будет включать в себя множество вычислительных устройств, при этом группирование учитывает, что увеличения в задержке, обусловленной удалением групп друг от друга, часто компенсируются увеличениями в скоростях передачи данных и/или доступности между группами, на основе прогнозирования, что часто будет быстрее загрузить цифровой контент из вычислительных устройств в одной или более группах, расположенных относительно далеко, чем загружать цифровой контент из вычислительных устройств в одной или более группах, расположенных относительно близко;
(b) для по меньшей мере некоторых из множества кластеров, осуществляют или рекомендуют, чтобы различные вычислительные устройства в пределах одного и того же кластера отправляли запросы на загрузку для различных единиц цифрового контента на вычислительные устройства вне этого кластера, так что множество вычислительных устройств в одном и том же кластере будут коллективно получать все из различных единиц цифрового контента; и
(c) для по меньшей мере некоторых из множества кластеров, осуществляют или рекомендуют распространение различных единиц цифрового контента между вычислительными устройствами в пределах одного и того же кластера, так что каждое из множества вычислительных устройств в каждом из множества кластеров получает все из различных единиц цифрового контента.
8. Способ по п. 7, в котором каждое из множества вычислительных устройств одноранговой сети является по меньшей мере одним из обслуживаемых одним из множества различных провайдеров Интернет-услуг (ISP), расположенных в одном из множества различных географических регионов или расположенных в одном из множества различных часовых поясов, и в котором каждое из множества вычислительных устройств сгруппировано в один из множества кластеров на основе по меньшей мере одного из следующего:
ISP, который обслуживает вычислительное устройство;
географический регион, в пределах которого находится вычислительное устройство; или
часовой пояс, в пределах которого находится вычислительное устройство.
9. Способ по п. 7 или 8, в котором
упомянутое группирование выполняется на основе по меньшей мере одной из текущей и исторической пропускной способности передачи данных между вычислительными устройствами; и
с течением времени группирование изменяется таким образом, что множество вычислительных устройств в по меньшей мере некоторых из кластеров изменяются с течением времени.
10. Способ по п. 7 или 8, причем способ дополнительно содержит для по меньшей мере одного из кластеров:
осуществление доступа к информации, указывающей дефицит, ассоциированный с множеством различных единиц цифрового контента;
при этом упомянутое осуществление или рекомендация, чтобы различные вычислительные устройства в пределах одного и того же кластера отправляли запросы на загрузку к вычислительным устройствам вне кластера, приоритизируется для снижения дефицита единиц цифрового контента, имеющих дефицит, который превышает заданный уровень; и
при этом упомянутое осуществление или рекомендация распространения различных единиц цифрового контента между вычислительными устройствами в пределах одного и того же кластера приоритизируется для снижения дефицита единиц цифрового контента, имеющих дефицит, который превышает заданный уровень.