СИСТЕМА И СПОСОБ ДЛЯ ОБЕСПЕЧЕНИЯ БОЛЕЕ БЫСТРОЙ И БОЛЕЕ ЭФФЕКТИВНОЙ ПЕРЕДАЧИ ДАННЫХ

1. Сеть для ускорения и обеспечения более эффективной передачи данных, содержащая
по меньшей мере одно клиентское устройство связи для создания первоначального запроса данных для получения данных от сервера данных;
по меньшей мере одно агентское устройство связи, которое назначено серверу данных для приема запроса данных от клиентского устройства связи, при этом агент следит за тем, какие клиентские устройства связи в сети приняли ответы на запросы данных или их части от назначенного сервера данных;
по меньшей мере одно одноранговое устройство связи, имеющее хранимую в нем, по меньшей мере, часть данных, принятых в ответ на предшествующий запрос данных клиентским устройством связи, при этом предшествующий запрос данных был для тех же данных, которые запрашивались во время создания запроса данных, и при этом часть данных может быть передана от однорангового устройства связи, по меньшей мере, в одно клиентское устройство связи по запросу клиентским устройством связи; и по меньшей мере один сервер ускорения для принятия решения о том, какое агентское устройство связи должно быть назначено для какого сервера данных, и обеспечения этой информации, по меньшей мере, в одно клиентское устройство связи.
2. Сеть по п.1, в которой каждое клиентское устройство связи, одноранговое устройство связи и агентское устройство связи содержат в себе клиентский модуль, одноранговый модуль и агентский модуль, тем самым позволяя клиентскому устройству связи, одноранговому устройству связи и агентскому устройству связи служить в качестве любого из клиентского устройства связи, однорангового устройства связи и агентского устройства связи.
3. Сеть по п.1, в которой сервер ускорения назначает список адресов протокола Интернет каждому агентскому устройству связи.
4. Сеть по п.1, в которой сервер ускорения имеет хранимый в нем список устройств связи онлайн, включающий в себя клиентские устройства связи, агентские устройства связи и одноранговые устройства связи.
5. Сеть по п.1, в которой каждое клиентское устройство связи, агентское устройство связи и одноранговое устройство связи поддерживают список запросов данных и ответов данных, о которых соответственно осведомлены устройство связи, агентское устройство связи и одноранговое устройство связи, а также о том, в каком устройстве связи хранятся ассоциированные данные.
6. Сеть по п.1, в которой запрос данных от клиентского устройства связи является запросом HTTP, и при этом сервер является веб-сервером, при этом каждое клиентское устройство связи содержит в себе устройство хранения, которое хранит список унифицированных указателей ресурсов (указателей URL), о которых осведомлено клиентское устройство связи, каждое агентское устройство связи содержит в себе устройство хранения, которое хранит список указателей URL, о которых осведомлено агентское устройство связи, и при этом каждое одноранговое устройство связи содержит в себе устройство хранения, которое хранит список указателей URL, о которых осведомлено одноранговое устройство связи, и при этом в устройстве хранения, хранящем указатели URL, с каждым указателем URL устройство хранения также имеет хранимое в нем ноль или несколько из группы, состоящей из заголовков HTTP, возвращенных сервером данных для этого указателя URL, списка блоков, которые содержат содержимое указателя URL, при этом блоки представляют собой порции данных, которые вместе формируют все содержимое указателя URL и содержимого блока.
7. Сеть по п.1, в которой каждое клиентское устройство связи содержит устройство хранения, при этом устройство хранения имеет хранимое в нем по меньшей мере одно из группы, состоящей из списка блоков, которые содержат содержимое, ассоциированное с запросом данных, при этом блоки представляют собой порции данных, которые вместе формируют все содержимое, ассоциированное с запросом данных, и содержимого блока, при этом блокам определен одинаковый размер.
8. Сеть по п.6, в которой в устройстве хранения, хранящем указатели URL, с каждым указателем URL устройство хранения также имеет хранимый в нем список блоков, которые содержат содержимое указателя URL, при этом блоки представляют собой порции данных, которые вместе формируют все содержимое указателя URL, и с каждым блоком данные самого блока, контрольную сумму блока и список одноранговых участников, которые, вероятнее всего, имеют данные для этого блока.
9. Сеть по п.1, в которой сеть содержит несколько одноранговых устройств связи, при этом по меньшей мере одно агентское устройство связи дополнительно следит за тем, какие одноранговые устройства связи имеют, по меньшей мере, часть запрошенных данных, хранимую в них.
10. Сеть по п.1, в которой агент следит за одноранговыми участниками и частями данных, хранящимися в одноранговых участниках, и при этом, если по меньшей мере один агент знает конкретного однорангового участника, который имеет часть данных, необходимую для выполнения хранимого в нем первоначального запроса данных, упомянутый агент обеспечивает конкретного однорангового участника в качестве однорангового участника для использования для части данных, необходимой для выполнения первоначального запроса данных.
11. Устройство связи в сети, содержащее
память; и
процессор, сконфигурированный памятью для выполнения этапов
создания запроса данных для получения данных от сервера данных;
назначения серверу данных, называемому назначенным сервером данных;
приема запроса данных от отдельного устройства в сети и отслеживания, какие клиентские устройства связи в сети приняли ответы на запросы данных от назначенного сервера данных; и
сохранения части данных, принятых в ответ на созданный запрос данных, при этом части данных могут быть переданы устройству связи по запросу устройством связи.
12. Устройство связи по п.11, в котором устройство связи дополнительно содержит устройство хранения, которое хранит список унифицированных указателей ресурсов (указателей URL), о которых осведомлено устройство связи.
13. Устройство связи по п.12, в котором в устройстве хранения, хранящем указатели URL, с каждым указателем URL устройство хранения также имеет хранимое в нем по меньшей мере одно из группы, состоящей из заголовков HTTP, возвращенных сервером данных для этого указателя URL, списка блоков, которые содержат содержимое указателя URL, при этом блоки представляют собой порции данных, которые вместе формируют все содержимое указателя URL и содержимого блока.
14. Устройство связи по п.12, в котором в устройстве хранения, хранящем указатели URL, с каждым указателем URL устройство хранения также имеет хранимый в нем список блоков, которые содержат содержимое указателя URL, при этом блоки представляют собой порции данных, которые вместе формируют все содержимое указателя URL, и с каждым блоком данные самого блока, контрольную сумму блока и список других устройств связи, которые, вероятнее всего, имеют данные для этого блока.
15. Способ для использования в системе для отправки сообщений между запрашивающим клиентским устройством связи, имеющим клиентское кэш-хранилище, и сервером данных через агентское устройство связи, имеющее агентское кэш-хранилище и использования сервера ускорения, который поддерживает список клиентских устройств связи в системе, причем способ содержит этапы, на которых
запрашивающее клиентское устройство связи отправляет идентификатор сервера данных на сервер ускорения;
сервер ускорения ассоциирует одно или несколько клиентских устройств связи с сервером данных и обеспечивает список из одного или нескольких клиентских устройств связи запрашивающему клиентскому устройству связи;
запрашивающее клиентское устройство связи выбирает одно из обеспеченных клиентских устройств связи, которое должно быть использовано в качестве агентского устройства связи для связи с сервером данных и отправляет агентскому устройству связи сообщение, предназначенное для сервера данных;
агентское устройство связи определяет, приняло ли ранее одно или несколько клиентских устройств связи ответ на принятое сообщение с сервера данных; и
если имеется одно или несколько клиентских устройств связи, которые ранее приняли ответ на принятое сообщение с сервера данных, выполняют этапы, на которых
агентское устройство связи отправляет запрашивающему клиентскому устройству связи список из одного или нескольких клиентских устройств связи, которые ранее приняли ответ, при этом одно или несколько клиентских устройств связи, которые ранее приняли ответ, называются одноранговыми устройствами связи;
запрашивающее клиентское устройство связи извлекает запрошенный ответ в одной или нескольких частях из одного или нескольких одноранговых устройств связи в списке;
запрашивающее клиентское устройство связи сохраняет запрос и ответ в клиентском кэш-хранилище; и
агентское устройство связи сохраняет идентификатор запрашивающего клиентского устройства связи вместе с запросом и ответом в агентском кэш-хранилище.
16. Способ по п.15, в котором после приема сообщения, предназначенного для сервера данных от запрашивающего клиентского устройства связи, агентское устройство связи проверяет, имеется ли в агентском кэш-хранилище ответ, принятый на идентичное сообщение, отправленное клиентским устройством связи на сервер данных в прошлом, и если агентскому устройству связи не известно о каких-либо клиентских устройствах связи, которые приняли ответ на это сообщение в прошлом, выполняют следующие этапы, на которых
агентское устройство связи отравляет сообщение запрашивающего клиентского устройства связи на сервер данных;
сервер данных отправляет ответное сообщение обратно в агентское устройство связи;
агентское устройство связи сохраняет сообщение запрашивающего клиентского устройства связи и ответное сообщение сервера данных в агентском кэш-хранилище;
агентское устройство связи отправляет ответ сервера данных обратно в запрашивающее клиентское устройство связи; и
запрашивающее клиентское устройство связи сохраняет запрос и ответ в клиентском кэш-хранилище.
17. Способ по п.15, в котором список из одного или нескольких одноранговых устройств связи включает в себя только одноранговые устройства связи, которые являются наиболее выгодными для запрашивающего клиентского устройства связи с точки зрения скорости приема информации от одноранговых устройств связи.
18. Способ по п.17, в котором клиентские устройства связи, которые определены агентским устройством связи как наиболее выгодные, являются клиентскими устройствами связи, которые являются ближайшими к запрашивающему клиентскому устройству связи.
19. Способ по п.15, в котором запросы выбирают из группы, состоящей из HTTP, UDP, DNS, TCP, FTP, POP3, SMTP и SQL.
20. Способ для использования в системе для отправки сообщений между запрашивающим клиентским устройством связи, имеющим клиентское кэш-хранилище, и сервером данных через агентское устройство связи, имеющее агентское кэш-хранилище и использующее сервер ускорения, который поддерживает список клиентских устройств связи в системе, причем способ содержит этапы, на которых
запрашивающее клиентское устройство связи отправляет идентификатор сервера данных на сервер ускорения;
сервер ускорения ассоциирует одно или несколько клиентских устройств связи с сервером данных и обеспечивает список из одного или нескольких клиентских устройств связи запрашивающему клиентскому устройству связи;
запрашивающее клиентское устройство связи выбирает одно из обеспеченных клиентских устройств связи, которое должно быть использовано в качестве агентского устройства связи для связи с сервером данных и отправляет агентскому устройству связи сообщение, предназначенное для сервера данных;
агентское устройство связи определяет, приняло ли ранее одно или несколько клиентских устройств связи ответ на принятое сообщение от сервера данных;
при этом агентское устройство связи разделяет ответ, который оно принимает от сервера данных, на один или несколько меньших блоков данных и сохраняет эти блоки в агентском кэш-хранилище, в котором данные хранят в виде списка блоков, из которых они состоят, и для каждого блока хранят контрольную сумму этого блока вместе с блоком, а также в виде списка сетевых элементов, о которых известно, что они приняли эту часть данных в прошлом; и
если имеется одно или несколько клиентских устройств связи, которые ранее приняли ответ на принятое сообщение с сервера данных, выполняют этапы, на которых
агентское устройство связи отправляет запрашивающему клиентскому устройству связи список контрольных сумм блоков, которые содержат ответ сервера данных, где для каждой такой контрольной суммы агентское устройство связи отправляет идентификаторы клиентских устройств связи, которые приняли такие контрольные суммы от агентского устройства связи в прошлом, при этом эти клиентские устройства связи, которые приняли такие контрольные суммы от агентского устройства связи в прошлом, называются одноранговыми участниками;
запрашивающее клиентское устройство связи извлекает ответ или его части, запрашивая блоки в списке от одного или нескольких одноранговых участников в списке, принятом от агентского устройства связи;
запрашивающее клиентское устройство связи сохраняет запрос и ответ в клиентском кэш-хранилище; и
агентское устройство связи сохраняет идентификатор запрашивающего клиентского устройства связи вместе с блоками, которые приняло запрашивающее клиентское устройство связи.