СПОСОБ И СИСТЕМА ОБЕСПЕЧЕНИЯ КЛИЕНТСКОМУ УСТРОЙСТВУ АВТОМАТИЧЕСКОГО ОБНОВЛЕНИЯ IP-АДРЕСА, СООТВЕТСТВУЮЩЕГО ДОМЕННОМУ ИМЕНИ
METHOD AND SYSTEM FOR PROVIDING CLIENT DEVICE AUTOMATIC UPDATE OF IP ADDRESS CORRESPONDING TO DOMAIN NAME

ПЕРЕКРЕСТНЫЕ ССЫЛКИ
[01] Отсутствуют.
ОБЛАСТЬ ТЕХНИКИ
[02] Изобретение относится к способам и системам для обеспечения клиентскому устройству автоматического обновления по меньшей мере одного адреса протокола сети Интернет (IP), соответствующего доменному имени.
УРОВЕНЬ ТЕХНИКИ
[03] Интенсивность использования цифровых сетей связи, таких как сеть Интернет, продолжает увеличиваться очень высокими темпами. Одной из особенностей сети Интернет, которая способствовала росту ее популярности, является удобство определения в сети узлов назначения. Компьютеры обычно осуществляют обмен данными друг с другом с использованием числовых адресов, которые могут быть представлены в двоичном, шестнадцатеричном, десятичном или другом числовом формате. Например, в соответствии с широко распространенным протоколом сети Интернет (IP), компьютеры, осуществляющие обмен данными в сети, идентифицируются уникальным адресом. Данный адрес для пользователя в версии 4 протокола Интернет (IPv4) обычно представляется в виде четырех чисел в десятичной системе счисления, разделенных точками, например, «151.207.247.130» или в виде восьми чисел в шестнадцатеричной системе счисления, разделенных двоеточием, если применяется версия 6 протокола (IPv6), например, «2501:0db8:87a4:0000:0000:ba2e:0370:6214». Эти IP-адреса, удобные для идентификации компьютеров, обычно очень сложно поддаются запоминанию большинством пользователей.
[04] В связи с этим была разработана система доменных имен (DNS), которая широко применяется для преобразования IP-адресов, используемых компьютерами, в имена, которые пользователю проще запомнить. Если пользователю, который эксплуатирует клиентское устройство, необходимо связаться с конкретным узлом сети Интернет, идентифицируемым определенным полным доменным именем (например, «www.yandex.com»), то клиентское устройство связывается с DNS-сервером сети и запрашивает IP-адрес, соответствующий требуемому доменному имени (например, «100.43.87.3»). Далее клиентское устройство может использовать IP-адрес для связи с соответствующим узлом сети. Процесс преобразования доменного имени в IP-адрес называется разрешением доменных имен. Подробное описание известной системы разрешения имен DNS представлено в документе под названием «RFC 1035 - Domain Names - Implementation and Specification», P. Mockapetris (П. Мокапетрис), ноябрь 1987 г., который полностью включен в данное описание посредством ссылки для стран и территорий, законодательство которых разрешает включение посредством ссылки.
[05] Известная технология разрешения доменных имен требует передачи (прямо или косвенно) клиентским устройством DNS-серверу запроса относительно IP-адреса, связанного с данным доменным именем. В ответ на запрос клиентского устройства сервер доменных имен передает IP-адрес, а также параметр, указывающий время, в течение которого предоставленная информация (например, IP-адрес) будет действительной. Это связано с тем, что IP-адреса, соответствующие доменным именам, могут изменяться (и часто действительно изменяются). Данный параметр «актуальности» обычно называют «сроком жизни» или значением «TTL». Если после подачи первого запроса на разрешение имени домена в пределах срока TTL, указанного в процессе последней передачи этой информации, клиентскому устройству снова потребуется IP-адрес, соответствующий данному доменному имени, то подача второго запроса не требуется. В этом случае клиентское устройство просто использует предоставленный ранее IP-адрес. Однако если значение TTL превышено, то клиентское устройство считает полученную ранее информацию устаревшей и подает DNS-серверу следующий запрос на разрешение доменного имени.
[06] Поскольку в настоящее время разрешение доменных имен выполняется очень часто, даже незначительное повышение эффективности данного процесса может оказать значительное положительное кумулятивное воздействие.
[07] В некоторых конфигурациях сетей определенные характеристики сетевого соединения между клиентским устройством и сервером доменных имен приводят к тому, что известная технология разрешения доменных имен функционирует медленнее, чем требуется. Например, если клиентское устройство подключено к серверу доменных имен каналом со значительной задержкой передачи данных, таким как спутниковый канал связи, то интервал времени, требуемый для получения ответа на запросы, касающиеся разрешения доменных имен, которые поданы клиентским устройством, может быть значительным и результирующая задержка причиняет неудобства конечному пользователю. В качестве усовершенствования в данной области в патенте США №8285870 под названием «Системы и способы статистического разрешения запросов системы доменных имен (DNS)», выданном 9 октября 2012 г. Тейлору и др., предлагаются (в соответствии с рефератом): «Системы и способы… разрешения запросов системы доменных имен (DNS), касающихся адресной информации относительно узлов сети. Запросы подаются удаленными пользователями в сеть через спутниковый или другой удаленный канал и контролируются при прохождении через центральный узел, логически размещенный между удаленным каналом и сетью. В структуре предусмотрен список статистически значимых узлов сети, который передается центральным узлом по удаленному каналу множеству удаленных пользователей. В результате предоставления удаленным узлам текущего списка популярных узлов и соответствующей адресной информации последующие запросы на услуги по разрешению доменных имен, касающиеся статистически значимых узлов, могут быть выполнены без осуществления обмена данными по удаленному каналу».
[08] Хотя системы и способы, предложенные в патенте, выданном Тейлору, могут быть эффективными, желательным является дополнительное усовершенствование технологии DNS.
КРАТКОЕ ИЗЛОЖЕНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
[09] Таким образом, целью настоящего изобретения является усовершенствование известной технологии DNS.
[10] Предлагаемая технология происходит, по меньшей мере отчасти, из понимания того, что: (1) по меньшей мере, в некоторых случаях известная технология разрешения имен DNS может оказаться неэффективной; (2) запросы на разрешение доменных имен подаются в отношении разных имен с различной частотой (существует расхождение между частотами запросов на разрешение различных доменных имен); (3) IP-адреса, соответствующие доменным именам, могут изменяться, причем изменения осуществляются с различной частотой.
[11] В соответствии с предлагаемой технологией, доменные имена (пространство доменных имен) условно разделяются (по меньшей мере) на три различные группы, в общем называемые в настоящем описании «наборами».
[12] Первый набор доменных имен представляет собой поднабор (который обычно, хотя не всегда, является строгим подмножеством) множества доменных имен, существующих в пространстве доменных имен (например, всей сети Интернет).
[13] Второй набор представляет собой поднабор первого набора и, таким образом, включает в себя определенные доменные имена, входящие в состав первого набора. (Второй набор обычно, хотя не всегда, является строгим подмножеством первого набора.) Для доменных имен, входящих в состав второго набора, сервер, функционирующий на основе предлагаемой технологии, автоматически выполняет разрешение и сохранение IP-адреса (адресов), соответствующего указанному доменному имени, в базе данных, связанной с сервером. Таким образом, сервер не ожидает получения от клиентского устройства конкретного запроса на разрешение одного из этих доменных имен. Вместо этого сервер осуществляет выборку IP-адресов, соответствующих доменным именам (по меньшей мере, время от времени), без получения конкретного непосредственного запроса от клиентского устройства, и записывает указанные IP-адреса в памяти. Далее (по меньшей мере) когда полученный сервером IP-адрес, соответствующий доменному имени второго набора, становится устаревшим, сервер снова выполняет разрешение доменного имени и записывает (новый) IP-адрес (адреса) в базе данных. Таким образом, сервер, в общем, обеспечивает сохранение текущих IP-адресов, соответствующих доменным именам второго набора.
[14] Третий набор представляет собой поднабор второго набора и, следовательно, включает в себя некоторые доменные имена, входящие в состав второго набора, (третий набор обычно, хотя не всегда, является строгим подмножеством второго набора.) Для доменных имен, входящих в состав третьего набора, сервер, функционирующий на основе предлагаемой технологии, не только выполняет автоматическое разрешение, сохранение и обновление IP-адресов, соответствующих указанным доменным именам, в базе данных, связанной с сервером, но также обеспечивает автоматическую передачу этих IP-адресов (в том числе обновленных данных по указанным IP-адресам) клиентским устройствам, функционирующим на основе предлагаемой технологии, которые связаны с данным сервером. Таким образом, сервер не ожидает получения от клиентского устройства конкретного запроса на разрешение одного из указанных доменных имен, чтобы передать клиентскому устройству IP-адреса, соответствующие доменным именам, которые входят в состав третьего набора. Вместо этого, сервер передает IP-адреса (в том числе обновленные IP-адреса), соответствующие указанным доменным именам (по меньшей мере, время от времени) без получения от клиентского устройства конкретного непосредственного запроса относительно выполнения такой операции. Следовательно, функционирующие на основе предлагаемой технологии и связанные с сервером (серверами), использующими данную технологию, клиентские устройства обычно локально хранят актуальные IP-адреса, соответствующие доменным именам, которые входят в состав третьего набора. Если данному клиентскому устройству требуется выполнить разрешение одного из доменных имен третьего набора, то просто осуществляется извлечение IP-адреса, записанного в локальной памяти клиентского устройства.
[15] Что касается второго набора, в различных примерах осуществления изобретения второй набор используется по-разному. В некоторых случаях единственным назначением доменных имен второго набора является использование их в качестве резерва доменных имен, которые могут быть включены в третий набор. В таких примерах осуществления изобретения, если доменное имя входит в состав второго набора, но не включено в третий набор (в общем или, возможно, в отношении конкретного клиента), то в случае подачи клиентским устройством запроса на разрешение такого доменного имени IP-адрес, записанный в памяти сервера, не используется. В то же время в других примерах осуществления изобретения, когда клиентское устройство, связанное с указанным сервером, подает запрос на разрешение одного из доменных имен второго набора, не входящего в состав третьего набора, осуществление обмена данными с DNS-сервером не требуется, поскольку на сервере хранится, по меньшей мере, один актуальный IP-адрес, соответствующий этому доменному имени. В таком случае сервер просто предоставляет клиентскому устройству записанный в памяти IP-адрес, соответствующий данному доменному имени.
[16] В настоящем описании изобретения предлагаемая технология предусматривает распределение доменных имен на три набора. Однако очевидно, что возможно также распределение доменных имен на большее число наборов. В простом примере, не ограничивающем объем изобретения, так было бы в системе, в которой использовались бы два различных сервера, функционирующих на основе предлагаемой технологии; при этом каждый сервер поддерживал бы различные наборы групп доменных имен в актуальном состоянии. Таким образом, структура, содержащая три набора имен, которая представлена в данном описании изобретения, является иллюстративной, а не ограничивающей.
[17] В соответствии с одним аспектом настоящего изобретения, некоторые примеры осуществления предлагаемой технологии предусматривают способ обеспечения клиентскому устройству автоматического обновления по меньшей мере одного IP-адреса, соответствующего доменному имени, по меньшей мере одним сервером по сети обмена данными, содержащий этапы:
(a) если доменное имя входит в состав второго набора доменных имен, представляющего собой поднабор первого набора доменных имен:
(i) получения по меньшей мере одним сервером от первой службы разрешения доменных имен по меньшей мере одного первого IP-адреса, соответствующего указанному доменному имени; и
(ii) сохранения по меньшей мере одним сервером в базе данных, связанной по меньшей мере с одним сервером, по меньшей мере одной адресной записи, включающей в себя доменное имя и по меньшей мере один первый IP-адрес;
(b) если доменное имя входит в состав третьего набора доменных имен, представляющего собой поднабор второго набора доменных имен:
передачи клиентскому устройству по меньшей мере одним сервером по меньшей мере одного первого IP-адреса;
(c) если доменное имя входит в состав второго набора доменных имен, и если по меньшей мере один второй IP-адрес, соответствующий данному доменному имени, отличающийся от по меньшей мере одного первого IP-адреса, может быть получен по меньшей мере одним сервером от второй службы разрешения доменных имен после получения по меньшей мере одним сервером по меньшей мере одного первого IP-адреса:
(iii) получения по меньшей мере одним сервером от второй службы разрешения доменных имен по меньшей мере одного второго IP-адреса; и
(iv) сохранения по меньшей мере одним сервером в базе данных адресной записи, содержащей доменное имя и по меньшей мере один второй IP-адрес; и
(d) если доменное имя входит в состав третьего набора доменных имен: передачи по меньшей мере одним сервером клиентскому устройству по меньшей мере одного второго IP-адреса без получения по меньшей мере одним сервером от клиентского устройства запроса по меньшей мере одного IP-адреса, соответствующего данному доменному имени, после передачи клиентскому устройству по меньшей мере одним сервером по меньшей мере одного первого IP-адреса.
[18] В соответствии с другим аспектом настоящего изобретения, некоторые примеры осуществления предлагаемой технологии предусматривают создание системы обеспечения клиентскому устройству автоматического обновления по меньшей мере одного IP-адреса, соответствующего определенному доменному имени, по меньшей мере одним сервером по сети обмена данными, содержащей:
(а) первый компонент получения информации доменных имен, который, если доменное имя входит в состав второго набора доменных имен, представляющего собой поднабор первого набора доменных имен, обеспечивает:
(i) получение по меньшей мере одним сервером от первой службы разрешения доменных имен по меньшей мере одного первого IP-адреса, соответствующего доменному имени; и
(ii) сохранение по меньшей мере одним сервером в базе данных, связанной по меньшей мере с одним сервером, по меньшей мере одной адресной записи, содержащей доменное имя и по меньшей мере один первый IP-адрес;
(b) первый компонент рассылки информации доменных имен, который, если доменное имя входит в состав третьего набора доменных имен, представляющего собой поднабор второго набора доменных имен, обеспечивает передачу клиентскому устройству по меньшей мере одним сервером по меньшей мере одного первого IP-адреса;
(c) второй компонент получения информации доменных имен, который, если доменное имя входит в состав второго набора доменных имен и если по меньшей мере один второй IP-адрес, соответствующий доменному имени и отличающийся от по меньшей мере одного первого IP-адреса, может быть получен по меньшей мере одним сервером от второй службы разрешения доменных имен после получения по меньшей мере одним сервером по меньшей мере одного первого IP-адреса, обеспечивает:
(iii) получение по меньшей мере одним сервером от второй службы разрешения доменных имен по меньшей мере одного второго IP-адреса; и
(iv) сохранение по меньшей мере одним сервером в базе данных адресной записи, содержащей доменное имя и по меньшей мере один второй IP-адрес; и
(d) второй компонент рассылки информации доменных имен, который, если доменное имя входит в состав третьего набора доменных имен, обеспечивает передачу по меньшей мере одним сервером клиентскому устройству по меньшей мере одного второго IP-адреса без получения по меньшей мере одним сервером от клиентского устройства запроса по меньшей мере одного IP-адреса, связанного с доменным именем, после передачи клиентскому устройству по меньшей мере одним сервером по меньшей мере одного первого IP-адреса.
[19] В соответствии со следующим аспектом изобретения, некоторые примеры воплощения предлагаемой технологии предусматривают создание носителя информации, предназначенного для использования на компьютере, содержащего машиночитаемый программный код, реализованный с целью обеспечения клиентскому устройству автоматического обновления по меньшей мере одного IP-адреса, соответствующего доменному имени, по меньшей мере одним сервером по сети обмена данными, причем машиночитаемый программный код содержит инструкции, которые при выполнении компьютером обеспечивают:
(a) если доменное имя входит в состав второго набора доменных имен, представляющего собой поднабор первого набора доменных имен:
(i) получение по меньшей мере одним сервером от первой службы разрешения доменных имен по меньшей мере одного первого IP-адреса, соответствующего доменному имени; и
(ii) сохранение по меньшей мере одним сервером в базе данных, связанной по меньшей мере с одним сервером, по меньшей мере одной адресной записи, содержащей доменное имя и по меньшей мере один первый IP-адрес;
(b) если доменное имя входит в состав третьего набора доменных имен, представляющего собой поднабор второго набора доменных имен: передачу клиентскому устройству по меньшей мере одним сервером по меньшей мере одного первого IP-адреса;
(c) если доменное имя входит в состав второго набора доменных имен и если по меньшей мере один второй IP-адрес, соответствующий доменному имени и отличающийся по меньшей мере от одного первого IP-адреса может быть получен по меньшей мере одним сервером от второй службы разрешения доменных имен после получения по меньшей мере одним сервером по меньшей мере одного первого IP-адреса:
(iii) получение по меньшей мере одним сервером от второй службы разрешения доменных имен по меньшей мере одного второго IP-адреса; и
(iv) сохранение по меньшей мере одним сервером в базе данных адресной записи, содержащей доменное имя и по меньшей мере один второй IP-адрес; и
[20] (d) если доменное имя входит в состав третьего набора доменных имен: передачу по меньшей мере одним сервером клиентскому устройству по меньшей мере одного второго IP-адреса без получения по меньшей мере одним сервером от клиентского устройства запроса по меньшей мере одного IP-адреса, соответствующего доменному имени, после передачи по меньшей мере одним сервером клиентскому устройству по меньшей мере одного первого IP-адреса.
[21] Таким образом, если требуется выполнить разрешение доменного имени в системе, функционирующей на основе предлагаемой технологии, то IP-адрес может быть получен от самого клиентского устройства (если он записан в памяти клиентского устройства), от сервера (если он не записан на клиентском устройстве, а записан в памяти сервера - и данная функция фактически реализована) или через сервер доменных имен (если эта информация не записана на сервере или указанная функция не реализована). Следовательно, в некоторых случаях при использовании предлагаемой технологии разрешение конкретного доменного имени может быть выполнено быстрее, чем при использовании известной технологии, поскольку в зависимости от доменного имени и конкретной реализации предлагаемой технологии можно исключить из процесса разрешения различные операции обмена данными и (или) обработки.
[22] За исключением взаимосвязи между поднаборами, описанной выше, «первый набор», «второй набор» и «третий набор» в соответствии с предлагаемой технологией не требуют какого-либо конкретного определения. Возможно, одной из целей определения наборов, используемых в соответствии с предлагаемой технологией, по меньшей мере, в некоторых примерах осуществления, может быть «эффективная» обработка запросов на разрешение доменных имен. В связи с этим, наборы, например, могут быть определены таким образом, чтобы IP-адреса, соответствующие группе доменных имен, в отношении которых является наиболее вероятной подача запросов на разрешение (независимо от определения данного параметра в конкретном примере осуществления), сохранялись локально на клиентском устройстве, IP-адреса, соответствующие группе доменных имен, в отношении которых существует меньшая вероятность подачи запросов на разрешение (независимо от определения данного параметра в конкретном примере осуществления), сохранялись на сервере, функционирующем на основе предлагаемой технологии, а разрешение IP-адресов, соответствующих доменным именам, которые не входят в состав какой-либо группы, осуществляется по стандартному запросу разрешения имен системы DNS, передаваемому на DNS-сервер. Однако очевидно, что хотя в некоторых примерах осуществления изобретения предусматривается определение наборов с учетом более эффективного выполнения операций разрешения доменных имен (по сравнению с системой, в которой не используется предлагаемая технология), данная цель преследуется не во всех вариантах осуществления указанной технологии. Наборы доменных имен в соответствии с предлагаемой технологией могут быть определены с учетом одной (или большего количества) цели из произвольного числа возможных целей либо вообще без учета какой-либо конкретной цели. Предлагаемая технология не требует постановки целей разработки какой-либо конкретной системы.
[23] Тем не менее, учитывая огромное количество существующих в настоящее время доменных имен и частоту изменения многих из них, по-видимому, передача всем клиентским устройствам данных автоматического обновления IP-адресов, соответствующих всем доменным именам, независимо от вероятности использования этих доменных имен пользователями указанных клиентских устройств означала бы неэффективное использование сетевых ресурсов. Таким образом, во многих случаях указанные выше наборы доменных имен могут быть определены на основе оценки частоты запросов на разрешение доменных имен. В связи с этим, за исключением особых ситуаций, в целом не было бы оптимальным ни требовать от клиентских устройств запрашивать IP-адреса по сети запросов в отношении всех доменных имен, ни передавать все IP-адреса в отношении всех доменных имен на все клиентские устройства. В некоторых примерах осуществления предлагаемой технологии реализуется компромиссный вариант, предусматривающий сохранение на сервере актуальных IP-адресов, соответствующих ограниченному набору доменных имен и, дополнительно, передачу определенного поднабора имен одному или большему числу клиентских устройств. При определении, во-первых, набора возможных доменных имен, соответствующие которым актуальные IP-адреса могут сохраняться на сервере (то есть имен, входящих в состав первого набора), во-вторых, набора доменных имен, соответствующие которым актуальные IP-адреса фактически сохраняются на сервере в любой заданный момент времени (то есть имен, входящих в состав второго набора), и, в-третьих, набора доменных имен, соответствующие которым IP-адреса передаются одному или большему числу клиентских устройств (то есть имен, входящих в состав третьего набора), могут учитываться различные факторы. Как более подробно указано далее, выбор доменных имен, соответствующие которым IP-адреса должны храниться на сервере в актуальном состоянии (то есть имен, входящих в состав второго набора), а также дополнительное определение доменных имен, соответствующие которым IP-адреса подлежат передаче клиентскому устройству (то есть имен, входящих в состав третьего набора), осуществляется на основе различной информации, полученной из разнообразных источников, в зависимости от конкретного воплощения данной технологии.
[24] В некоторых примерах осуществления изобретения первый набор включает в себя все доменные имена пространства доменных имен, для которых при заданном наборе условий может быть обоснованно спрогнозирована подача запроса на разрешение имени. Например, маловероятно, что запрос на разрешение доменного имени, касающегося отдельного местного ресторана, расположенного в г. Улан-Батор, Монголия, будет подан клиентским устройством, находящимся в г. Буэнос-Айрес, Аргентина. Доменное имя, указанное в данном примере, не будет включено в первый набор имен в системе, работающей на основе предлагаемой технологии и функционирующей исключительно в отношении Аргентины. В таком случае при подаче запроса на разрешение указанного доменного имени потребуется не только стандартный запрос системы DNS, но, вероятно, необходимо будет подать его DNS-серверу, который обычно не используется для обработки запросов, подаваемых из Аргентины. (Для специалиста в данной области техники очевидно, что все пространство доменных имен сети Интернет является слишком большим для выполнения операций разрешения имен одним некорневым DNS-сервером, поэтому обычный DNS-сервер обеспечивает возможность разрешения только некоторых имен из общего числа доменных имен, используемых в сети Интернет. DNS-сервер может перенаправить запросы системы DNS, обработку которых он не может выполнить, другому DNS-серверу.)
[25] Как указано выше, второй набор включает в себя доменные имена, соответствующие которым актуальные IP-адреса сервер, функционирующий на основе предлагаемой технологии, сохраняет в базе данных, с которой связан данный сервер.
[26] Как указано выше, третий набор включает в себя доменные имена, соответствующие которым актуальные IP-адреса сервер, функционирующий на основе предлагаемой технологии, предоставляет клиентскому устройству, использующему предлагаемую технологию.
[27] В большинстве примеров осуществления изобретения определение первого набора и второго набора имен выполняется на уровне сервера (и, таким образом, наборы имен являются одинаковыми для всех клиентов, осуществляющих обмен данными (и управляемых - в рамках предлагаемой технологии) с указанным сервером). Определение третьего набора может выполняться на уровне сервера (и, таким образом, будет одинаковым для всех клиентов, осуществляющих обмен данными (и управляемых - в рамках предлагаемой технологии) с конкретным сервером) или на уровне клиентского устройства (и, таким образом, определение набора может изменяться для различных клиентских устройств, осуществляющих обмен данными (и управляемых - в рамках предлагаемой технологии) с данным конкретным сервером).
[28] В различных примерах осуществления изобретения состав первого набора, второго набора и третьего набора может быть определен предварительно и оставаться неизменным, изменяться динамически с течением времени или устанавливаться на основе комбинации статических и динамических параметров. Для выполнения этого процесса не требуются какие-либо конкретные условия (если сохраняются взаимосвязи между поднаборами, указанные выше). Например, в примере осуществления, не ограничивающем объем изобретения, определение первого и второго наборов может осуществляться статически, а определение третьего набора - динамически (хотя третий набор должен оставаться поднабором второго набора).
[29] В некоторых примерах осуществления изобретения по меньшей мере один набор из первого набора доменных имен, второго набора доменных имен и третьего набора доменных имен определяется, по меньшей мере частично, на основе популярности сетевых ресурсов. Таким образом, например, в структуре наборов, параметры которой предусматривают данный критерий, по меньшей мере один из наборов может быть определен с учетом включения числа X наиболее часто посещаемых веб-серверов сети Интернет или числа Y доменных имен, в отношении которых наиболее часто подаются запросы разрешения имени (например, конкретным DNS-сервером или конкретным множеством DNS-серверов).
[30] В некоторых примерах осуществления изобретения по меньшей мере один набор из первого набора доменных имен, второго набора доменных имен и третьего набора доменных имен, по меньшей мере частично, определяется на основе географических признаков. Таким образом, например, в структуре наборов, параметры которой предусматривают данный критерий, на определение набора (наборов) могут влиять различные соображения, связанные с географическими признаками, такие как, например, размещение сетевых ресурсов, связанных с доменными именами и (или) расположение клиентского устройства. Кроме того, географические признаки могут комбинироваться с соображениями, касающимися популярности ресурсов, так что по меньшей мере один из наборов может быть определен, например, как включающий в себя набор доменных имен, которые являются наиболее популярными в конкретной стране или определенном географическом регионе. Аналогичным образом, может быть предусмотрена обратная процедура определения набора; например, из числа доменных имен, связанных с популярными сетевыми ресурсами, для включения в конкретный набор могут быть выбраны только имена, связанные с определенным географическим регионом.
[31] В некоторых примерах осуществления изобретения по меньшей мере один набор из первого набора доменных имен, второго набора доменных имен и третьего набора доменных имен определяется, по меньшей мере частично, на основании языка. Таким образом, например, в структуре наборов, параметры которой предусматривают данный критерий, лингвистические соображения могут охватывать, в качестве примеров, не ограничивающих объем изобретения, язык текстового содержимого, размещенного на сетевых ресурсах, связанных с данным доменным именем, языковые параметры приложения, выполняемого на клиентском устройстве или языковые параметры операционной системы клиентского устройства. Кроме того, как указано выше, лингвистические критерии могут использоваться в комбинации с другими соображениями (например, включение в набор сотни наиболее популярных веб-сайтов на испанском языке в штате Техас).
[32] В некоторых примерах осуществления изобретения по меньшей мере один набор из первого набора доменных имен, второго набора доменных имен и третьего набора доменных имен определяется, по меньшей мере частично, на основе иерархии доменных имен. Таким образом, например, в структуре наборов, параметры которой предусматривают данный критерий, набор может быть ограничен именами в пределах домена верхнего уровня «.com» или именами доменов нижнего уровня, таких как, «.qc.ca» или «.yandex.ru». И в данном случае, как указано выше, критерии иерархии доменных имен могут использоваться в комбинации с другими соображениями.
[33] В некоторых примерах осуществления изобретения по меньшей мере один набор из первого набора доменных имен, второго набора доменных имен и третьего набора доменных имен определяется, по меньшей мере частично, на основании статистических данных поисковой системы. Таким образом, например, в структуре наборов, параметры которой предусматривают данный критерий, определение набора может быть выполнено с использованием статистической информации, полученной от поисковой системы (например, Yandex™, Google™ и т.п.). В таких примерах осуществления изобретения статистическая информация, полученная на основе данных поисковой системы, может быть использована для определения доменных имен, разрешение которых, вероятно, потребуется одному или большему числу клиентов. В других подобных примерах осуществления изобретения статистическая информация поисковой системы может касаться сводных данных журналов поиска, таких как количество появлений каждого из множества доменных имен в результатах поиска, предоставленных всем пользователям поисковой системы в течение определенного интервала времени. В других примерах осуществления изобретения может использоваться статистическая информация поисковой системы, касающаяся конкретного клиентского устройства или пользователя. В прочих примерах осуществления изобретения на основе статистической информации поисковой системы могут быть определены тематические группы доменных имен (например, связанных с веб-сайтами, посвященными автомобилям или конкретной модели автомобиля). И в данном случае, как указано выше, эти критерии могут использоваться в комбинации с другими соображениями.
[34] В некоторых примерах осуществления изобретения по меньшей мере один набор из второго набора доменных имен и третьего набора доменных имен определяется, по меньшей мере частично, на основе параметров актуальности. Как указано выше, в стандартный ответ системы DNS, содержащий IP-адрес, связанный с доменным именем, включается значение срока жизни (TTL), указывающее число секунд, в течение которого IP-адрес считается действительным. Например, в структуре наборов, предусматривающей данный критерий, для определения набора (наборов) могут использоваться значения TTL, полученные от службы разрешения доменных имен, или аналогичные параметры актуальности. И в данном случае, как указано выше, эти критерии могут использоваться в комбинации с другими соображениями.
[35] В некоторых примерах осуществления изобретения по меньшей мере один из второго набора доменных имен и третьего набора доменных имен определяется, по меньшей мере частично, с использованием заданного (минимального или максимального) порогового значения параметра актуальности. Таким образом, в структуре наборов, предусматривающей данный критерий, IP-адреса с соответствующими значениями TTL и (или) других параметров актуальности (например, временем между изменениями IP-адреса, соответствующего заданному доменному имени), которые находятся ниже (или выше в зависимости от метода определения параметра актуальности) порогового значения, указывая, что данный IP-адрес подвержен частым изменениям, могут не сохраняться в актуальном состоянии на сервере (то есть не включаться во второй набор) или могут не передаваться на клиентские устройства (то есть не включаться в третий набор), обеспечивая снижение объема обрабатываемых, передаваемых и (или) принимаемых данных разрешения доменных имен. В таком случае, например, вместо автоматического получения нового IP-адреса, соответствующего доменному имени, значение TTL которого находится ниже порога, клиентскому устройству потребуется получить такой IP-адрес посредством подачи стандартного запроса системы DNS. И в данном случае, как указано выше, эти критерии могут использоваться в комбинации с другими соображениями.
[36] В некоторых примерах осуществления изобретения по меньшей мере один набор из второго набора доменных имен и третьего набора доменных имен определяется, по меньшей мере частично, на основе демографических данных. Таким образом, в структуре наборов, предусматривающей данный критерий, например, популярность сетевых ресурсов среди женщин, подростков или представителей конкретной этнической группы может использоваться для определения (по меньшей мере, частично) одного или большего числа наборов доменных имен. В другом примере осуществления изобретения демографическая информация, касающаяся конкретного пользователя или пользователей клиентского устройства, также может использоваться для определения наборов доменных имен. И в данном случае, как указано выше, эти критерии могут использоваться в комбинации с другими соображениями.
[37] В некоторых примерах осуществления изобретения по меньшей мере один набор из второго набора доменных имен и третьего набора доменных имен определяется, по меньшей пере частично, на основе оценок использования IP-адресов. Таким образом, в структуре наборов, параметры которой предусматривают данный критерий, оценки использования могут осуществляться с учетом, например, типа приложения (например, веб-браузер, почтовый клиент, социальная сеть, программа совместного использования файлов пользователями), которое предположительно будет использовать конкретный IP-адрес. И в данном случае, как указано выше, эти критерии могут использоваться в комбинации с другими соображениями.
[38] В некоторых примерах осуществления изобретения по меньшей мере один набор из второго набора доменных имен и третьего набора доменных имен определяется, по меньшей мере частично, на основании информации, полученной от клиентского устройства. Например, в структуре наборов, включающей в себя данный критерий, такая информация может включать в себя данные любого типа или содержания. Без ограничения объема изобретения, в некоторых примерах осуществления изобретения по меньшей мере один набор из второго набора доменных имен и третьего набора доменных имен определяется, по меньшей мере частично, на основе характеристик клиентского устройства. Таким образом, в структуре наборов, параметры которой предусматривают данный критерий, определение одного (или большего числа) набора (наборов) доменных имен может изменяться в зависимости от таких факторов, как производительность клиентского устройства, будь то настольный компьютер или мобильное устройство, либо операционную систему, используемую клиентским устройством. В еще одном примере осуществления, не ограничивающем объем изобретения, по меньшей мере один набор из второго набора доменных имен и третьего набора доменных имен определяется, по меньшей мере частично, на основании данных статистики использования клиентского устройства. Таким образом, в структуре наборов, параметры которой предусматривают этот критерий, например, данные журнала посещения веб-сайтов клиентского устройства, могут быть использованы для определения доменных имен, относительно которых существует вероятность подачи клиентским устройством запросов на разрешение и которые, соответственно, могут использоваться для определения состава второго и (или) третьего набора. И в данном случае, как указано выше, эти критерии могут использоваться в комбинации с другими соображениями.
[39] В некоторых примерах осуществления изобретения по меньшей мере один набор из второго набора доменных имен и третьего набора доменных имен, определяется, по меньшей мере частично, на основе параметров сети обмена данными. Таким образом, в структуре наборов, параметры которой предусматривают данный критерий, например, если клиентское устройство подключено к серверу (функционирующему на основе предлагаемой технологии) каналом с низкой пропускной способностью, то целесообразно уменьшить число доменных имен, относительно которых на это устройство передаются данные автоматического обновления IP-адресов (то есть имен, входящих в состав третьего набора). В то же время, например, при использовании канала с большой задержкой вследствие запаздывания в известной системе DNS по сравнению с технологией, предусматривающей локальное разрешение доменных имен на клиентском устройстве, целесообразно увеличить число доменных имен, в отношении которых клиенту передаются данные автоматического обновления IP-адресов (то есть имен, входящих в состав третьего набора). И в данном случае, как указано выше, эти критерии могут использоваться в комбинации с другими соображениями.
[40] В некоторых примерах осуществления изобретения третий набор доменных имен определяется, по меньшей мере частично, на основе конкретного запроса клиентского устройства. Таким образом, в структуре наборов, параметры которой предусматривают данный критерий, клиентское устройство, например, может подать запрос автоматического обновления IP-адресов, соответствующих одному или большему числу доменных имен и, следовательно, обеспечить введение некоторых доменных имен в третий набор (и, следовательно, обеспечить включение этих доменных имен в первый и (или) второй набор, если они не включены в указанные наборы доменных имен в соответствии с другими критериями). Аналогичным образом, клиентское устройство может потребовать, чтобы данные автоматического обновления IP-адресов, соответствующих одному или большему числу доменных имен, не передавались, и, таким образом, обеспечить исключение определенных доменных имен из третьего набора. В некоторых примерах осуществления изобретения по меньшей мере один сервер может обеспечивать постоянное выполнение таких требований клиентского устройства. В других примерах осуществления изобретения это требование может не выполняться; соответствующий запрос клиентского устройства может учитываться (но не обязательно исполняться) при определении третьего набора или вообще игнорироваться сервером. И в данном случае, как указано выше, эти критерии могут использоваться в комбинации с другими соображениями.
[41] В некоторых примерах осуществления указанных выше особенностей изобретения третий набор доменных имен определяется, по меньшей мере частично, на основании профиля пользователя. Например, пользователь клиентского устройства может зарегистрироваться на сервисе, на котором он имеет профиль пользователя. В качестве примера можно указать услуги, предоставляемые системами Yandex™, Google™ или Yahoo™. И в данном случае, как указано выше, эти критерии могут использоваться в комбинации с другими соображениями.
[42] В некоторых примерах осуществления изобретения первая служба разрешения доменных имен и вторая служба разрешения доменных имен представляют собой одну службу разрешения доменных имен. В этом случае предлагаемая технология не требует, чтобы первая служба разрешения доменных имен и вторая служба разрешения доменных имен представляли собой различные службы, но и не запрещает использование одной службы. В зависимости от конкретного примера осуществления изобретения может использоваться одна служба разрешения доменных имен или отдельные службы разрешения доменных имен.
[43] В некоторых примерах осуществления изобретения по меньшей мере одна служба из первой службы разрешения доменных имен и второй службы разрешения доменных имен представляет собой процесс, выполняемый по меньшей мере на одном сервере. В таком случае предлагаемая технология не требует, чтобы «сервер», функционирующий на основе данной технологии, был отдельным устройством относительно известного сервера системы DNS. В зависимости от практического осуществления сервер, реализованный на основе предлагаемой технологии, может, например, представлять собой виртуальную машину, функционирующую на том же оборудовании, что и известный DNS-сервер. Сервер, выполненный на основе предлагаемой технологии, также может, например, в зависимости от практического осуществления, представлять собой программный компонент известного DNS-сервера. Программные средства и оборудование сервера, функционирующего на основе предлагаемой технологии, могут быть также реализованы отдельно от известного DNS-сервера и, таким образом, в некоторых примерах осуществления изобретения по меньшей мере одна служба из первой службы разрешения доменных имен и второй службы разрешения доменных имен по сети обмена данными осуществляет обмен данными по меньшей мере с одним сервером по сетям связи.
[44] Как указано выше, различные операции (например, обновление сервером IP-адресов, соответствующих доменным именам второго набора, передача сервером клиентскому устройству обновленных IP-адресов, соответствующих доменным именам третьего набора) указываются, как выполняемые «автоматически». В настоящем описании изобретения термин «автоматический» следует понимать таким образом, что для выполнения требуемой операции сервер не ожидает получения конкретного запроса на разрешение доменного имени. Однако следует также понимать, что «автоматический» режим не требует определения какого-либо конкретного интервала времени, последовательности или структуры. Следовательно, указанные операции могут осуществляться мгновенно и (или) с определенной задержкой, выполняться последовательно и (или) параллельно, а также в непрерывном или пакетном режиме.
[45] Таким образом, в некоторых примерах осуществления указанного выше способа реализации предлагаемой технологии (если доменное имя входит в состав третьего набора доменных имен) передача по меньшей мере одним сервером клиентскому устройству по меньшей мере одного второго IP-адреса без получения от клиентского устройства по меньшей мере одним сервером запроса по меньшей мере одного IP-адреса, соответствующего доменному имени, после передачи клиентскому устройству по меньшей мере одним сервером по меньшей мере одного первого IP-адреса, выполняется одновременно относительно множества доменных имен, обеспечивая одновременное обновление данных. Аналогичным образом, в некоторых примерах осуществления системы, функционирующей на основе предлагаемой технологии, второй компонент рассылки информации доменных имен выполняет одновременную передачу данных множества доменных имен, обеспечивая одновременное обновление. Подобным образом, в некоторых воплощениях носителя информации, предназначенного для использования компьютером, в соответствии с предлагаемой технологией машиночитаемый программный код дополнительно включает в себя инструкции, которые при выполнении на компьютере обеспечивают одновременную передачу клиентскому устройству по меньшей мере одним сервером по меньшей мере одного второго IP-адреса без получения от клиентского устройства по меньшей мере одним сервером запроса по меньшей мере одного IP-адреса, соответствующего доменному имени, после передачи клиентскому устройству по меньшей мере одним сервером по меньшей мере одного первого IP-адреса, причем указанные инструкции выполняются относительно множества доменных имен, обеспечивая одновременное обновление данных. В некоторых примерах осуществления изобретения одновременное обновление выполняется периодически. В некоторых примерах осуществления изобретения одновременное обновление выполняется только, если число доменных имен указанного множества, в пределах которого по меньшей мере одним сервером получен по меньшей мере один второй IP-адрес, не меньше установленного порогового значения.
[46] В контексте настоящего описания изобретения «сервер» представляет собой программу, выполняемую на соответствующем оборудовании и способную осуществлять прием запросов (например, подаваемых клиентскими устройствами), передаваемых по сети, и выполнять эти запросы или обеспечивать их выполнение. Оборудование может представлять собой один компьютер или одну компьютерную систему, однако ни одно, ни другое не является обязательным в отношении предлагаемой технологии. В данном контексте выражение «по меньшей мере один сервер» не означает, что каждая задача (например, предусмотренная принятыми инструкциями или запросами) или какая-либо конкретная задача будет принята, выполнена или ее выполнение будет обеспечено тем же самым сервером (то есть тем же самым программным обеспечением и/или оборудованием); предполагается, что прием и передача, выполнение или обеспечение выполнения любой задачи или запроса либо обработка результатов задачи или запроса может осуществлять любое число компонентов программного обеспечения или устройств и все эти компоненты программного обеспечения или оборудования могут быть представлены одним сервером или несколькими серверами, причем выражение «по меньшей мере один сервер» охватывает оба указанных варианта.
[47] В контексте настоящего описания изобретения «клиентское устройство» представляет собой любое компьютерное оборудование, обеспечивающее возможность выполнения программного обеспечения, предназначенного для решения требуемой задачи. Таким образом, некоторые (не имеющие ограничительного характера) примеры клиентских устройств включают в себя персональные компьютеры (настольные компьютеры, переносные компьютеры, нетбуки и т.д.), смартфоны и планшеты, а также сетевое оборудование, такое как маршрутизаторы, коммутаторы и шлюзы. Следует отметить, что в данном контексте тот факт, что устройство функционирует в качестве клиентского устройства, не исключает возможности его функционирования в качестве сервера для других клиентских устройств. Использование выражения «клиентское устройство» не препятствует применению нескольких клиентских устройств в процессе приема и передачи, выполнения или обеспечения выполнения задачи либо запроса или обработки результатов задачи или запроса либо этапов способа, представленного в настоящем описании.
[48] В контексте настоящего описания изобретения «база данных» представляет собой любой структурированный набор данных, независимо от конкретной структуры, программы управления базой данных или оборудования, на котором осуществляется хранение данных, реализована память или иным способом обеспечивается возможность использования данных. База данных может быть реализована на том же оборудовании, что и процесс, осуществляющий хранение или использование информации, записанной в базе данных, или на отдельном оборудовании, таком как выделенный сервер или множество серверов.
[49] В контексте настоящего описания изобретения термин «информация» включает в себя информацию любого характера или типа, которая может быть записана в базе данных. Таким образом, информация охватывает, среди прочего, аудиовизуальную информацию (изображения, фильмы, звукозаписи, презентации и т.д.), данные (данные местоположения, числовые данные и т.д.), текстовую информацию (высказывания, комментарии, вопросы, сообщения и т.д.), документы, электронные таблицы и т.д.
[50] В контексте настоящего описания изобретения термин «компонент» охватывает программное обеспечение (соответствующее конкретному оборудованию), которое является одновременно необходимым и достаточным для выполнения конкретной указанной функции (функций).
[51] В настоящем описании выражение «носитель информации, предназначенный для использования компьютером» охватывает носители любого характера и типа, в том числе оперативные запоминающие устройства, постоянные запоминающие устройства, диски (компакт-диски, DVD-диски, гибкие диски, жесткие диски и т.д.), USB-ключи, твердотельные накопители, ленточные накопители и т.д.
[52] В настоящем описании слова «первый», «второй», «третий» и т.д. используются только в качестве описательных элементов для целей разделения существительных, отличающихся друг от друга, а не с целью определения какого-либо конкретного соотношения между указанными существительными. Таким образом, например, следует понимать, что термины «первый сервер» и «третий сервер» не означают введения конкретной последовательности, типа, хронологии, иерархии или ранжирования (например) конкретного сервера или нескольких серверов, а их использование (само по себе) не означает, что в какой-либо конкретной ситуации должен обязательно существовать какой-либо «второй сервер». Кроме того, как указано в данном описании относительно других примеров осуществления изобретения, ссылка на «первый» элемент и «второй» элемент не означает, что два элемента не могут представлять собой в реальном мире фактически один и тот же элемент. Таким образом, например, в некоторых случаях «первый» сервер и «второй» сервер могут представлять собой один компонент программного обеспечения и (или) оборудования, а в других ситуациях могут быть реализованы на различном программном обеспечении и (или) оборудовании.
[53] Каждый пример осуществления предлагаемой технологии предусматривает, по меньшей мере, одну из указанных выше целей и (или) особенностей, но не обязательно включает в себя все цели и особенности. Очевидно, что некоторые особенности предлагаемой технологии, направленные на достижение указанной выше цели, могут не обеспечивать достижение цели и (или) могут способствовать достижению других целей, конкретно не представленных в настоящем описании.
[54] Дополнительные и (или) альтернативные признаки, особенности и преимущества осуществления предлагаемой технологии станут очевидны из представленного ниже описания, прилагаемых чертежей и формулы изобретениями.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[55] Для более полного понимания настоящего изобретения, а также других особенностей и дополнительных признаков, далее представлено описание со ссылками на прилагаемые чертежи.
[56] На Фиг. 1 схематически представлена система, функционирующая на основе предлагаемой технологии, которая реализована в сетях связи.
[57] На Фиг. 2 представлена схема с указанием компонентов системы, реализованной на основе предлагаемой технологии.
[58] На Фиг. 3 представлена схема, на которой отображены различные наборы в соответствии с предлагаемой технологией.
[59] На Фиг. 4А-4F представлены блок-схемы, иллюстрирующие различные примеры осуществления способа на основе предлагаемой технологии.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
[60] На Фиг. 1 представлена схема, содержащая различные компьютерные системы 100, связанные между собой сетью 110 обмена данными. Очевидно, что различные компьютерные системы 100 представляют собой просто конкретные примеры осуществления предлагаемой технологии. Таким образом, указанное далее описание предназначено только для представления иллюстративных примеров осуществления предлагаемой технологии. Данное описание не определяет объем изобретения и не устанавливает ограничений предлагаемой технологии. В некоторых случаях далее указаны также примеры изменений, которые могут быть внесены в компьютерные системы 100. Эти примеры указаны только для углубления понимания и также не определяют объем и не устанавливают ограничений предлагаемой технологии. Перечень указанных изменений не является исчерпывающим и для специалистов в данной области техники очевидно, что возможно осуществление других изменений. Кроме того, отсутствие такой информации (то есть если не указаны примеры изменений) не следует интерпретировать как невозможность реализации изменений и (или) представление описанного варианта как единственного примера осуществления предлагаемой технологии. Для специалистов в данной области техники очевидно, что это не так. Кроме того, следует понимать, что компьютерная система 100 в некоторых случаях может быть представлена на основе простых примеров осуществления предлагаемой технологии, и в этом случае указанные примеры представлены в настоящем описании изобретения с целью упрощения понимания. Для специалистов в данной области техники очевидно, что различные примеры осуществления предлагаемой технологии могут быть более сложными.
[61] Как указано на Фиг. 1, компьютерная система 100 включает в себя множество устройств, осуществляющих обмен данными по сети 110 обмена данными. В данном примере осуществления изобретения сеть 110 обмена данными представляет собой сеть Интернет (обозначена соответствующим образом на схеме), однако в других примерах осуществления изобретения данная сеть может представлять собой любую сеть обмена данными, обеспечивающую передачу информации между устройствами с использованием IP-адресов указанных устройств. Компьютерная система 100 содержит различные типы компьютерного оборудования и программного обеспечения, каждый из которых будет рассмотрен поочередно.
[62] Переносной компьютер 120 в данном примере осуществления изобретения представляет собой обычный ноутбук, на котором установлена операционная система Microsoft™ Windows™, имеющий загруженную и функционирующую программу веб-браузера Yandex.Browser™. (В других примерах осуществления изобретения переносной компьютер может быть представлен другими типами оборудования (например, портативные компьютеры, ноутбуки, планшеты, нетбуки и т.д.) и (или) на этих компьютерах могут быть установлены другие операционные системы (например, Linux™, Mac OS X™ и т.д.) и (или) другие программы.) Переносной компьютер 120 подключен к сети 110 Интернет известным способом с использованием беспроводного канала. (В других примерах осуществления изобретения переносной компьютер 120 может быть подключен к сети 110 Интернет при помощи известной проводной линии (например, сети Ethernet).) В веб-браузере Yandex.Browser предусмотрено расширение FastDNS™ (описано ниже), обеспечивающее функционирование портативного компьютера 120 как клиентского устройства в соответствии с предлагаемой технологией (описано далее) при выполнении программы Yandex.Browser. Для специалистов в данной области техники очевидно, что поставщиком услуг Интернета с использованием протокола динамического выбора конфигурации узлов (DHCP) переносному компьютеру 120 назначен IP-адрес, обеспечивающий возможность подключения переносного компьютера 120 к сети 110 Интернет. В рамках процесса настройки, выполняемого протоколом DHCP, в данном примере осуществления изобретения переносному компьютеру 120 предоставлены IP-адреса двух различных серверов доменных имен (DNS-сервер I, указанный позицией 114, и DNS-сервер II, обозначенный позицией 116), которые переносной компьютер 120 может использовать для разрешения доменных имен. Серверы 114, 116 доменных имен более подробно описаны далее. (Очевидно, что предлагаемая технология не требует использования протокола DHCP и в других примерах осуществления изобретения IP-адреса могут быть назначены переносному компьютеру 120 и DNS-серверу (серверам) другим способом (например, введены вручную).)
[63] Настольный компьютер 122 в данном примере осуществления изобретения представляет собой известный настольный компьютер, на котором установлена операционная система Apple™ Macintosh™, имеющий загруженную и функционирующую программу веб-браузера Yandex.Browser. Настольный компьютер 122 подключен к сети 110 Интернет известным способом при помощи проводного канала передачи данных. В веб-браузере Yandex.Browser предусмотрено расширение FastDNS™ (описано ниже), которое обеспечивает функционирование настольного компьютера 122 как клиентского устройства в соответствии с предлагаемой технологией (описано далее) при выполнении программы Yandex.Browser. Как и в случае переносного компьютера 120, в других примерах осуществления изобретения оборудование и (или) программное обеспечение настольного компьютера 122 могут изменяться аналогичным образом.
[64] Смартфон 124 в данном примере осуществления изобретения представляет собой известный смартфон Samsung™ Galaxy™ SIII, на котором установлена операционная система Google Android™, имеющий загруженное и функционирующее приложение браузера Mozilla™ Firefox™. Смартфон 124 подключен к сети 110 Интернет известным способом при помощи сети мобильной связи. В других примерах осуществления изобретения смартфон 124 может быть подключен к сети Интернет другим способом, например, при помощи беспроводной сети с использованием технологии Bluetooth™ или WiFi™. В приложении браузера Firefox предусмотрено расширение FastDNS™ (описано ниже), которое обеспечивает функционирование смартфона 124 как клиентского устройства в соответствии с предлагаемой технологией (описано далее) при выполнении программы браузера Firefox. Как и в случае переносного компьютера 120 и настольного компьютера 122, в других примерах осуществления изобретения оборудование и (или) программное обеспечение смартфона 124 могут изменяться. Для обеспечения использования предлагаемой технологии смартфоном не требуется какое-либо конкретное оборудование или программное обеспечение.
[65] Сервер 134 локальной сети (LAN) в данном примере осуществления изобретения представляет собой известный сервер (например, сервер Dell™ PowerEdge™), на котором установлена операционная система Microsoft™ Windows Server™. В других примерах осуществления изобретения оборудование и (или) программное обеспечение сервера 134 локальной сети могут отличаться от указанных выше. Сервер 134 локальной сети подключен к локальной сети 126 с использованием проводного канала связи (например, сети Ethernet). На сервере 134 локальной сети установлено клиентское приложение FastDNS™, обеспечивающее серверу 134 локальной сети возможность функционирования в качестве клиентского устройства в соответствии с предлагаемой технологией (описано ниже). К локальной сети 126 также подключен обычный настольный компьютер 132, на котором установлена операционная система Linux™, имеющий загруженную и функционирующую программу веб-браузера Mozilla Firefox. Настольный компьютер 132 подключен к локальной сети 126 при помощи обычного проводного канала связи. (Оборудование и (или) программное обеспечение настольного компьютера 132, подключенного к локальной сети, может быть различным аналогично настольному компьютеру 122. В связи с этим, другие примеры осуществления настольного компьютера 132, подключенного к локальной сети, не будут рассматриваться в данном описании.) К локальной сети 126 также подключен планшет 130 модели Apple™ iPad™, на котором установлена операционная система Apple iOS™, имеющий загруженную и функционирующую программу веб-браузера Apple™. Планшет 130 подключен к локальной сети 126 при помощи известного беспроводного канала связи. В других примерах осуществления изобретения оборудование и (или) программные средства планшета 130, подключенного к локальной сети, могут отличаться от указанных выше. К локальной сети 126 также подключен известный шлюз 128 локальной сети, который обеспечивает подключение локальной сети 126 к сети 110 Интернет при помощи проводного канала передачи данных. Функция шлюза локальной сети состоит в регулировании обмена данными между различными устройствами, подключенными к локальной сети 126, и устройствами, осуществляющими обмен данными с сетью 110 Интернет (не подключенными к локальной сети). В данном примере осуществления изобретения в шлюзе 126 локальной сети для назначения устройствам, подключенным к локальной сети (например, серверу 134 локальной сети, настольному компьютеру 132, планшету 130 и т.д.) IP-адресов с целью обеспечения возможности обмена данными указанных устройств с устройствами, подключенными к сети Интернет (например, сервером 118 содержимого), используется протокол DHCP и преобразование сетевых адресов (NAT).
[66] DNS-сервер I, указанный позицией 114, и DNS-сервер II, обозначенный позицией 116, представляют собой известные DNS-серверы (предоставляющие известные услуги разрешения доменных имен, описанные в документе RFC 1035), осуществляющие обмен данными с сетью 110 Интернет. В данном примере осуществления изобретения в DNS-серверы I и II, указанные позициями 114 и 116, не вносились какие-либо изменения, связанные с внедрением предлагаемой технологии. В других примерах осуществления изобретения, описанных выше, ситуация будет иной. Для специалиста в данной области техники очевидно, что каждому DNS-серверу назначен отдельный IP-адрес.
company.yandex.com
[67] Сервер 118 содержимого представляет собой известный сервер содержимого, осуществляющий обмен данными с сетью 110 Интернет. В данном примере осуществления изобретения сервер содержимого представляет собой сервер публикации веб-страниц, выполняющий публикацию начальной страницы доменного имени . В других примерах осуществления изобретения сервер 118 содержимого может представлять собой любой сетевой ресурс, указанный доменным именем, от которого клиентское устройство может запросить данные (веб-страницу или прочую информацию). В большинстве примеров осуществления предлагаемой технологии используется значительное число (например, в сети Интернет - миллиарды) таких серверов содержимого, подключенных к сети 110 обмена данными. Сервер 118 содержимого представляет собой один из таких серверов, предназначенный для иллюстрирования структуры, в которой может эффективно функционировать предлагаемая технология.
[68] Сервер 112 автоматического обновления представляет собой известный сервер (например, сервер Dell™ PowerEdge), на котором установлена операционная система Microsoft™ Windows Server™. В данном примере осуществления изобретения сервер 112 автоматического обновления является одиночным сервером; в других примерах осуществления изобретения функции сервера автоматического обновления реализуются на нескольких серверах. На сервере 112 автоматического обновления загружено и выполняется приложение сервера FastDNS™, обеспечивающее функционирование сервера 112 автоматического обновления в качестве «сервера» системы, реализованной на основе предлагаемой технологии. В данном примере осуществления изобретения на сервере 112 автоматического обновления также загружено и функционирует известное программное обеспечение управления базой 136 данных, используемой в системе, функционирующей на основе предлагаемой технологии. В других примерах осуществления изобретения база 136 данных размещена на отдельном компьютере, а не на сервере 112 автоматического обновления, но выполняет обмен данными с указанным сервером. В некоторых примерах осуществления изобретения указанный отдельный сервер представляет собой виртуальный сервер, функционирующий на том же оборудовании, что и сервер 112 автоматического обновления, а в других примерах указанный отдельный сервер размещен на другом оборудовании. В данном примере осуществления изобретения база 136 данных представляет собой компонент программного обеспечения, который предоставляет услуги хранения адресных записей в оперативной памяти сервера 112 автоматического обновления в виде хэш-таблицы и последующего вызова информации, содержащейся в указанных записях. В других примерах осуществления изобретения база 136 данных обеспечивает хранение адресных записей на других энергозависимых или энергонезависимых носителях.
[69] Как указано выше, в данном примере осуществления изобретения на сервере 112 автоматического обновления выполняется серверное приложение «FastDNS Server». Приложение FastDNS Server, функционирующее на сервере 112 автоматического обновления, обеспечивает возможность выполнения сервером 112 автоматического обновления функций «сервера» системы, построенной на основе предлагаемой технологии, которая описана в настоящем документе. В данном примере осуществления изобретения используется программа FastDNS Server, написанная на языке программирования С++, хотя это не является обязательным требованием для осуществления предлагаемой технологии. В другом примере осуществления изобретения может использоваться любой язык программирования, приемлемый для операционной системы, функционирующей на сервере 112 автоматического обновления. Как указано на Фиг. 2, программа сервера FastDNS включает в себя несколько компонентов; далее поочередно рассмотрены основные компоненты указанной программы. Эти компоненты охватывают компонент 138 определения наборов, компонент 140 получения информации доменных имен и компонент 142 рассылки информации доменных имен.
[70] Компонент 138 определения наборов выполняет несколько функций, в том числе обеспечивает определение различных наборов доменных имен, указанных в настоящем описании. Таким образом, в данном примере осуществления изобретения, используемом для иллюстративных целей, как указано на Фиг. 3, предусмотрены три набора доменных имен - первый набор 144, второй набор 146 и третий набор 148. Первый набор 144 содержит доменные имена, разрешение которых может осуществляться DNS-сервером I, указанным позицией 114 (то есть доменные имена, разрешение которых может непосредственно выполнить DNS-сервер I (поз. 114) без необходимости подачи запроса другому серверу доменных имен; при этом предполагается, что DNS-сервер I (поз. 114) не является корневым сервером Интернет). Состав первого набора 144 может изменяться с течением времени в зависимости от изменения состава доменных имен, разрешение которых может обеспечить DNS-сервер I (поз. 114) (хотя предполагается, что изменение состава первого набора 144 будет происходить сравнительно медленно). Второй набор 146 содержит 10000 доменных имен, входящих в состав первого набора, в отношении которых в течение последних 24 ч наиболее часто подавались запросы на разрешение. Следовательно, состав второго набора 146 будет изменяться с течением времени и, по-видимому, чаще, чем состав первого набора 144. Информацию, касающуюся 10000 наиболее часто запрашиваемых доменных имен, в любой заданный момент времени можно получить от поисковой системы сети Интернет (например, поисковой системы Yandex). В данном примере осуществления изобретения (как указано в настоящем описании) IP-адреса, соответствующие доменным именам, входящим в состав второго набора 146, получаются и хранятся в базе 136 данных, связанной с сервером 112 автоматического обновления. Третий набор 148 включает в себя доменные имена, соответствующие которым IP-адреса изменяются не чаще, чем один раз в течение 1 часа, то есть в данном примере осуществления изобретения такое имя представляется IP-адресом, имеющим значение срока жизни, превышающее 3600 с. Имена, входящие в состав третьего набора 148, по-видимому, будут изменяться во времени. В данном примере осуществления изобретения состав третьего набора 148 динамически определяется сервером 112 автоматического обновления в процессе разрешения доменных имен второго набора 146 (этот вопрос более подробно рассмотрен ниже). В рассматриваемом примере осуществления изобретения состав первого набора 144, второго набора 146 и третьего набора 148 не зависит от клиентского устройства.
[71] Что касается компонента 138 определения наборов, указанный компонент предназначен для получения инструкций относительно фактического определения наборов, используемых в любой заданный момент времени, и предоставления информации о составе наборов другим компонентам приложения FastDNS Server, которым может потребоваться такая информация. Предлагаемая технология не требует реализации каких-либо особенностей программного обеспечения (например, способа ввода данных), поэтому приемлемым является любое программное обеспечение, позволяющее выполнить эти функции. В качестве примера, в одном из вариантов осуществления настоящего изобретения компонент 138 определения наборов сконфигурирован таким образом, чтобы предоставлять оператору посредством графического интерфейса пользователя на дисплее, связанном с сервером 112 автоматического обновления, различных окон, позволяющих выполнить ввод инструкций, касающихся определения наборов 144, 146, 148. Фактические определения состава наборов хранятся в базе 136 данных.
[72] Компонент 140 получения информации доменных имен предназначен для выполнения нескольких функций, первая из которых состоит в определении состава различных наборов 144, 146, 148 на основе данных определения наборов 144, 146, 148, предоставленных компонентом 138 определения наборов в соответствии с требованиями и (или) соображениями целесообразности. Таким образом, в данном примере осуществления изобретения компонент 140 получения информации доменных имен осуществляет обмен данными с DNS-сервером I (поз. 114) и поисковой системой Yandex, и периодически определяет доменные имена, входящие в состав первого набора 144 (поскольку первый набор 144 в данном примере осуществления изобретения определяется на основе информации, полученной от DNS-сервера I (поз. 114)), а также доменные имена, входящие в состав второго набора 146 (поскольку второй набор 146 в данном примере осуществления изобретения определяется на основе информации, полученной от поисковой системы Yandex). Что касается первого набора 144, в данном примере осуществления изобретения состав первого набора определяется один раз в сутки (например, компонент 140 получения информации доменных имен один раз в сутки обеспечивает подачу сервером 112 автоматического обновления запроса на получение информации от DNS-сервера I (поз. 114) относительно доменных имен, разрешение которых обеспечивает DNS-сервер I (поз. 114)). Что касается определения состава второго набора 146, в данном примере осуществления изобретения состав второго набора определяется ежечасно. (Например, компонент 140 получения информации доменных имен один раз в течение каждого часа обеспечивает подачу сервером 112 автоматического обновления запроса информации от поисковой системы Yandex относительно доменных имен, которые наиболее часто запрашивались в течение последних 24 ч. Далее компонент 140 получения информации доменных имен определяет, входят ли доменные имена, полученные от поисковой системы Yandex в результате подачи указанного запроса, в состав первого набора 144. Компонент 140 получения информации доменных имен может подать поисковой системе Yandex дополнительные запросы с целью получения 100 доменных имен второго набора, которые входят в состав первого набора. То есть возможно, что из числа первых 100 доменных имен, которые наиболее часто запрашивались через поисковую систему Yandex, некоторые имена не входят в состав первого набора 144 и, следовательно, от поисковой системы Yandex потребуется получить первые 150 таких доменных имен, чтобы определить 100 имен, входящих в состав первого набора 144.) Компонент 140 получения информации доменных имен обеспечивает сохранение в базе 136 данных информации, касающейся доменных имен, входящих в состав первого набора 144, и доменных имен, входящих в состав второго набора 146.
[73] После определения состава первого набора 144 и второго набора 146 дополнительная функция компонента 140 получения информации доменных имен заключается в обеспечении подачи сервером 112 автоматического обновления стандартного запроса разрешения имени DNS-серверу I (поз. 114) с целью разрешения каждого доменного имени, входящего в состав второго набора 146. В ответ на каждый такой запрос сервера 112 автоматического обновления DNS-сервер I (поз. 114) передает, по меньшей мере, один (а в некоторых случаях большее число) IP-адрес, соответствующий доменному имени, входящему в состав второго набора 146, по которому был подан запрос разрешения, а также значения срока жизни (TTL). Как указано ранее, значение TTL представляет собой интервал времени, в течение которого адрес, предоставленный DNS-сервером I (поз. 114), является действительным. Компонент 140 получения информации доменных имен обеспечивает сохранение информации, полученной от DNS-сервера I (поз. 114), в базе 136 данных. Если значение TTL, связанное с конкретным IP-адресом, указывает, что данный IP-адрес является недействительным, то компонент 140 получения информации доменных имен обеспечивает определение, входит ли по-прежнему доменное имя, соответствующее данному IP-адресу, в состав второго набора 146 и, если все еще входит, то компонент 140 обеспечивает подачу сервером 112 автоматического обновления DNS-серверу I (поз. 114) нового стандартного запроса разрешения имен системы DNS относительно указанного доменного имени. Далее компонент 140 получения информации доменных имен обеспечивает сохранение информации, полученной от DNS-сервера I (поз. 114), в базе 136 данных.
[74] Компонент 140 получения информации доменных имен также реализует функцию сравнения значений TTL с целью определения доменных имен (входящих в состав второго набора 146), которые входят в состав третьего набора 148. Как указано выше, в данном примере осуществления изобретения для обеспечения включения доменного имени второго набора 146 в состав третьего набора 148 IP-адрес, соответствующий данному доменному имени, должен иметь значение TTL, равное, по меньшей мере, 60 мин. Компонент 140 получения информации доменных имен обеспечивает проверку соблюдения данного условия каждый раз при получении ответа на запрос, касающийся разрешения доменных имен. Если значение TTL для конкретного доменного имени превышает указанное пороговое значение, это означает, что данное доменное имя входит в состав третьего набора 148 и сохраняется в базе 136 данных.
[75] Компонент 142 рассылки информации доменных имен выполняет функции приема информации от конкретного клиентского устройства о том, какая информация должна быть передана клиентскому устройству, и передачи информации указанному клиентскому устройству. Таким образом, в данном примере осуществления изобретения при осуществлении клиентским устройством доступа к системе, в которой реализована предлагаемая технология, как более подробно описано далее, указанное устройство передает серверу 112 автоматического обновления сообщение, содержащее уведомление об этом. Одной из функций компонента 142 рассылки информации доменных имен является получение таких сообщений от клиентского устройства и сохранение соответствующей информации, касающейся клиентского устройства (например, его IP-адреса) в базе 136 данных. Дополнительная функция компонента 142 рассылки информации доменных имен заключается в периодической передаче клиентским устройствам информации, касающейся разрешения доменных имен (например, доменного имени и соответствующего IP-адреса (адресов)) с целью сохранения информации на указанных клиентских устройствах. В данном примере осуществления изобретения интервал передачи (например, через каждые 15 мин) устанавливается оператором при помощи компонента 138 определения наборов независимо от конкретного клиентского устройства. Кроме того, в данном примере осуществления изобретения обновление выполняется в пакетном режиме и касается только изменений, возникших с момента передачи информации предшествующего обновления. В других примерах осуществления изобретения периодичность обновления может определяться клиентским устройством. В прочих примерах осуществления изобретения информация может передаваться в непрерывном режиме при получении данных обновления сервером 112 автоматического обновления. В различных примерах осуществления изобретения данные обновления могут передаваться конкретным клиентским устройствам в виде одноадресных сообщений или могут направляться группам клиентских устройств в форме широковещательных сообщений.
[76] Что касается клиентского устройства в примере осуществления изобретения, указанном выше, предлагаемая технология реализована с использованием расширения браузера под названием «FastDNS Extension™». Как расширение браузера программа FastDNS Extension реализуется по-разному на различных веб-браузерах сети Интернет и различных операционных системах в зависимости от требований конкретного веб-браузера или операционной системы.
[77] В примере осуществления изобретения конкретная версия расширения FastDNS Extension после установки и активирования реализует следующие функции. Клиентское устройство передает серверу 112 автоматического обновления (на котором выполняется приложение FastDNS Server) сообщение, уведомляющее о подключении клиентского устройства к сети обмена данными (например, сети 110 Интернет). Данное сообщение содержит информацию, требуемую для сервера 112 автоматического обновления (например, IP-адрес клиентского устройства), которая изменяется в зависимости от конкретного примера осуществления предлагаемой технологии. (Например, если определения наборов изменяются на основании информации, полученной от клиентского устройства, то данное клиентское устройство передает указанную информацию серверу 112 автоматического обновления). Сервер 112 автоматического обновления передает клиентскому устройству исходное сообщение, содержащее доменные имена (и соответствующие IP-адреса), входящие в состав третьего набора 148 доменных имен. Расширение FastDNS Extension обеспечивает сохранение информации, полученной от сервера 112 автоматического обновления, в локальном кэш-файле данного браузера. При (автоматическом и периодическом) получении от сервера 112 автоматического обновления последующих данных обновления программа FastDNS Extension обеспечивает обновление информации, записанной в кэш-файле. Если браузеру требуется выполнить разрешение доменного имени, то запрос разрешения имени не передается, как обычно, на DNS-сервер. Вместо этого, расширение FastDNS Extension обеспечивает выполнение поиска в кэше браузера с целью определения наличия IP-адреса в кэше. Если в кэше содержится такой IP-адрес, то расширение FastDNS Extension обеспечивает использование браузером этого IP-адреса при подаче запроса информации узлу, имеющему данный IP-адрес. В этом примере осуществления изобретения при отсутствии указанного IP-адреса расширение FastDNS Extension обеспечивает подачу DNS-серверу (например, DNS-серверу I (поз. 114)) стандартного запроса системы DNS, касающегося разрешения требуемого доменного имени.
[78] В то же время в другом примере осуществления изобретения при отсутствии данного IP-адреса в кэше браузера расширение FastDNS Extension обеспечивает подачу серверу 112 автоматического обновления запроса, касающегося получения данного IP-адреса. Если в ответ на запрос клиентского устройства сервер 112 автоматического обновления передает IP-адрес, то расширение FastDNS Extension обеспечивает использование данного IP-адреса при подаче запроса информации узлу, имеющему данный IP-адрес. Если в ответ на запрос клиентского устройства сервер 112 автоматического обновления не передает IP-адрес, то расширение FastDNS Extension обеспечивает (или разрешает - в зависимости от конкретной ситуации) подачу DNS-серверу (например, DNS-серверу I (поз. 114)) стандартного запроса системы DNS, касающегося разрешения требуемого доменного имени.
[79] На Фиг. 4А-4F представлены структурные схемы, иллюстрирующие примеры осуществления предлагаемой технологии. На Фиг. 4А и 4В указана структурная схема, иллюстрирующая пример осуществления способа 200, предусматривающего реализацию сервера 112 автоматического обновления (указанного в настоящем описании), отличающийся тем, что сервер 112 автоматического обновления, помимо прочего, обеспечивает поддержание в актуальном состоянии адресов, соответствующих доменным именам второго набора 146 (указанного выше), и определяет, какое из этих доменных имен входит в состав третьего набора 148 (указанного выше).
[80] На этапе 202 данные определения первого набора 144, второго набора 146 и третьего набора 148, полученные в результате взаимодействия оператора с компонентом 138 определения наборов приложения FastDNS, функционирующего на сервере 112 автоматического обновления, предоставляются серверу 112 автоматического обновления (AU). После определения наборов 144, 146, 148 на этапах 204 и 206 сервер 112 автоматического обновления осуществляет обмен данными с DNS-сервером I (поз. 114) для определения доменных имен, разрешение которых может быть непосредственно выполнено DNS-сервером I (поз. 114). Эти доменные имена составляют первый набор 144 доменных имен. На этапе 208 информация, касающаяся указанных доменных имен, сохраняется в базе 136 данных, связанной с сервером 112 автоматического обновления.
[81] На этапе 210 сервер 112 автоматического обновления осуществляет обмен данными с поисковой системой (например, поисковой системой Yandex™) с целью получения информации относительно наиболее часто запрашиваемых доменных имен (определяемых выбором пользователя, реализованным по результатам поиска) первого набора 144 в течение последних 24 ч. Далее на этапе 212 сервер 112 автоматического обновления определяет, какие из доменных имен (предоставленных поисковой системой Yandex) входят в состав первого набора 144. Полученные сервером 112 автоматического обновления первые 10000 таких доменных имен, входящих в состав первого набора 144, представляют собой (в данном примере осуществления изобретения) текущие доменные имена второго набора 146. На этапе 214 информация, касающаяся доменных имен второго набора 146, сохраняется в базе 136 данных, связанной с сервером 112 автоматического обновления. На этапе 216 сервер 112 автоматического обновления по каждому доменному имени второго набора 146 подает DNS-серверу I (поз. 114) стандартный запрос на разрешение доменного имени. На этапе 218 DNS-сервер I (поз. 114) получает указанные запросы разрешения, а на этапе 220 DNS-сервер I (поз. 114) выполняет разрешение этих доменных имен и передает серверу 112 автоматического обновления стандартные результаты разрешения доменных имен (в том числе IP-адрес и значение срока жизни (TTL)). На этапе 222 сервер 112 автоматического обновления сохраняет результаты разрешения доменных имен (в том числе IP-адрес и значение срока жизни (TTL)), полученные от DNS-сервера I (поз. 114), в базе 136 данных, связанной с сервером 112 автоматического обновления. Сервер 112 автоматического обновления периодически осуществляет обмен данными с DNS-сервером I (поз. 114) для обновления списка доменных имен, непосредственное обновление которых на текущий момент обеспечивает DNS-сервер 114. При внесении изменений в данный список и, таким образом, в первый набор 144, описанный выше процесс повторяется с целью определения доменных имен, входящих в состав второго набора 146. Повторение процесса указано на Фиг. 4А стрелкой возврата от этапа 222 к этапу 204.
[82] На этапе 224 сервер 112 автоматического обновления определяет, какие доменные имена второго набора 146 входят в состав третьего набора 148 (который, как указано выше, содержит доменные имена второго набора 146, имеющие значение TTL, превышающее 3600 с). Информация, касающаяся доменных имен, входящих в состав третьего набора 148, сохраняется в базе 136 данных, связанной с сервером 112 автоматического обновления.
[83] На этапе 226 сервер 112 автоматического обновления выполняет автоматический контроль значений TTL разрешенных доменных имен. Если данные разрешенного доменного имени устарели («истек срок действия адреса») вследствие превышения значения срока жизни, сервер 112 автоматического обновления на этапе 226 подает DNS-серверу I (поз. 114) новый стандартный запрос на разрешение данного доменного имени. На этапе 228 DNS-сервер I (поз. 114) получает указанный запрос разрешения, а на этапе 230 DNS-сервер I (поз. 114) осуществляет разрешение таких доменных имен и передачу серверу 112 автоматического обновления стандартных результатов разрешения доменных имен (в том числе IP-адреса и значения срока жизни (TTL)). На этапе 232 сервер 112 автоматического обновления осуществляет получение и сохранение результатов разрешения доменных имен (в том числе IP-адреса и значения TTL), переданных DNS-сервером I (поз. 114), в базе 136 данных, связанной с сервером 112 автоматического обновления. После этого выполняется возврат к этапу 224 для определения, остается ли данное доменное имя (с учетом полученного нового значения TTL) в составе третьего набора 148. Далее указанная информация сохраняется в базе 136 данных, связанной с сервером 112 автоматического обновления.
[84] На Фиг. 4В и 4С представлена структурная схема, иллюстрирующая пример осуществления способа 300, предусматривающего использование клиентского устройства (например, переносного компьютера 120, настольного компьютера 122, смартфона 124 или сервера 134 локальной сети, которые далее для простоты представлены клиентским устройством 120), автоматически получающего актуальные IP-адреса от сервера 112 автоматического обновления. На этапе 302 клиентское устройство 120 осуществляет обмен информацией, касающейся подтверждения установления соединения с сервером 112 автоматического обновления. В данном примере осуществления изобретения эта операция выполняется в процессе функционирования браузера Yandex.Browser с расширением FastDNS Extension (указанным выше) на клиентском устройстве 120, подключенном к сети Интернет. На этапе 304 сервер 112 автоматического обновления получает от клиентского устройства 120 информацию, касающуюся подтверждения установления соединения, и передает в ответ сообщение, подтверждающее, что информация, переданная клиентским устройством 120, получена сервером 112 автоматического обновления. На этапе 306 сервер 112 автоматического обновления обеспечивает сохранение информации, касающейся клиентского устройства 120 (например, IP-адреса), в базе 136 данных, связанной с сервером 112 автоматического обновления.
[85] На этапе 308, когда процедура подтверждения установления связи завершена, сервер 112 автоматического обновления передает клиентскому устройству 120 информацию, касающуюся всех доменных имен третьего набора 148 совместно с текущими IP-адресами, записанными в базе 136 данных, связанной с сервером 112 автоматического обновления. На этапе 310 клиентское устройство 120 получает эту информацию от сервера 112 автоматического обновления, а на этапе 312 выполняет (в данном примере осуществления изобретения) сохранение информации в локальном кэш-файле браузера клиентского устройства 120.
[86] Как указано на схеме, на этапе 314 сервер 112 автоматического обновления постоянно осуществляет контроль наличия изменений информации, касающейся третьего набора 148 доменных имен (например, определяет, какие доменные имена входят в состав набора и какие текущие IP-адреса соответствуют указанным именам). Изменения возникают при обновлении информации первого набора 144 и второго набора 146 (как указано выше). На этапе 316 при изменении информации, касающейся третьего набора 148 доменных имен, сервер 112 автоматического обновления передает обновленную информацию клиентскому устройству. На этапе 318 клиентское устройство 120 получает указанную обновленную информацию от сервера 112 автоматического обновления, а на этапе 320 сохраняет эту информацию в локальном кэш-файле браузера клиентского устройства 120.
[87] На Фиг. 4С представлена структурная схема примера осуществления способа 400, отличающийся тем, что клиентское устройство для выполнения соединения с сервером 118 содержимого использует информацию IP-адреса, сохраненную в локальном кэше браузера. На этапе 402 клиентское устройство 120 получает от пользователя запрос на разрешение доменного имени, входящего в состав третьего набора 148. Данное доменное имя может представлять собой, например, доменное имя начальной веб-страницы, опубликованной сервером 118 содержимого, которое было введено в адресную строку веб-браузера Yandex.Browser. На этапе 404 расширение FastDNS Extension определяет, что доменное имя и соответствующий IP-адрес хранятся в локальном кэше браузера, и получает записанный в памяти IP-адрес. На этапе 406 расширение FastDNS использует полученный IP-адрес сервера 118 содержимого для соединения с сервером 118 содержимого. Таким образом, в данном случае клиентскому устройству 120 не требуется обращаться к DNS-серверу для осуществления соединения с сервером 118 содержимого.
[88] На Фиг. 4D представлена структурная схема, иллюстрирующая пример осуществления способа 500, в котором клиентское устройство 120 не использует информацию IP-адреса, сохраненную в локальном кэше, для соединения с сервером 118 содержимого. На этапе 502 клиентское устройство 120 получает от пользователя запрос на разрешение доменного имени, не входящего в состав третьего набора 148. (Аналогично предшествующему примеру доменное имя может представлять собой имя начальной веб-страницы, опубликованной сервером 118 содержимого.) На этапе 504 расширение FastDNS Extension определяет, что доменное имя и соответствующий IP-адрес не содержатся в локальном кэше браузера. В связи с этим на этапе 506 расширение FastDNS Extension обеспечивает подачу клиентским устройством 120 стандартного запроса на разрешение доменного имени DNS-серверу I (поз. 114). На этапе 508 DNS-сервер I (поз. 114) получает запрос, а на этапе 510 выполняет разрешение доменного имени и передает результаты (в том числе IP-адрес и значение TTL) клиентскому устройству 120. На этапе 512 клиентское устройство 120 получает IP-адрес и значение TTL от DNS-сервера I (поз. 114). На этапе 514 клиентское устройство 120 осуществляет соединение с сервером 118 с использованием IP-адреса, полученного от DNS-сервера I (поз. 114).
[89] На Фиг. 4Е и 4F представлена структурная схема, иллюстрирующая другой пример осуществления способа 600, в котором клиентское устройство для соединения с сервером 118 содержимого не использует информацию, сохраненную в локальном кэше. На этапе 602 клиентское устройство 120 получает от пользователя запрос на разрешение доменного имени, не входящего в состав третьего набора 148. (Аналогично предшествующему примеру доменное имя может представлять собой имя начальной веб-страницы, опубликованной сервером 118 содержимого.) На этапе 604 расширение FastDNS Extension определяет, что данное доменное имя и соответствующий IP-адрес не сохранены в локальном кэше браузера. В связи с этим на этапе 606 расширение FastDNS Extension связывается с сервером 112 автоматического обновления для определения, содержится ли IP-адрес, соответствующий данному доменному имени, в базе 136 данных, связанной с сервером автоматического обновления (нестандартный запрос «разрешения»). На этапе 608 сервер 112 автоматического обновления принимает запрос от клиентского устройства 120 и на этапе 610 определяет, входит ли данное доменное имя в состав второго набора 146 (и, следовательно, содержится ли соответствующий IP-адрес в базе 136 данных, связанной с сервером 112 автоматического обновления). Если данное доменное имя входит в состав второго набора 146, то на этапе 612 сервер автоматического обновления получает из базы 136 данных IP-адрес, соответствующий этому доменному имени, и на этапе 614 передает указанный IP-адрес (а также соответствующее значение TTL) клиентскому устройству 120. На этапе 616 клиентское устройство 120 получает IP-адрес (и соответствующее значение TTL) от сервера 112 автоматического обновления и на этапе 618 клиентское устройство 120 связывается с сервером 118 содержимого с использованием IP-адреса, полученного от сервера 112 автоматического обновления. Однако, если данное доменное имя не входит в состав второго набора 146, то на этапе 620 сервер 112 автоматического обновления подает DNS-серверу I (поз. 114) стандартный запрос на разрешение данного доменного имени. На этапе 622 DNS-сервер I (поз. 114) получает от сервера 112 автоматического обновления запрос на разрешение доменного имени, а на этапе 624 DNS-сервер 114 выполнят разрешение доменного имени, и передает информацию о результатах разрешения доменного имени (в том числе IP-адрес и значение TTL) серверу 112 автоматического обновления. На этапе 626 сервер 112 автоматического обновления получает от DNS-сервера I (поз. 114) информацию о результатах разрешения доменного имени (и дополнительно может сохранить эту информацию в базе 136 данных). На этапе 628 сервер 112 автоматического обновления передает клиентскому устройству 120 полученную информацию о результатах разрешения доменного имени. На этапе 630 клиентское устройство получает информацию о результатах разрешения доменного имени (в том числе IP-адрес и значение TTL). На этапе 632 клиентское устройство 120 связывается с сервером 118 содержимого с использованием IP-адреса, полученного от DNS-сервера I (поз. 114) через сервер 112 автоматического обновления.
[90] Очевидно, что указанные выше структурные схемы предназначены только для представления упрощенных примеров осуществления предлагаемой технологии. Для упрощения понимания были опущены различные операции.
[91] В качестве примера, не имеющего ограничительного характера, обмен данными между клиентским устройством 120 и сервером 112 автоматического обновления, указанный выше, может представлять собой последовательность сообщений, передаваемых в двух направлениях (с использованием протокола TCP/IP) между клиентским устройством 120 и сервером 112 автоматического обновления.
[92] Как указано выше, первое такое сообщение может быть названо подтверждением установления соединения. Таким образом, в примере осуществления изобретения после установления соединения с использованием протокола TCP/IP между клиентским устройством 120 и сервером 112 автоматического обновления сервер 112 ожидает получения от клиента сообщения BSRV_OPEN (пример такого сообщения указан ниже). После получения и проверки подлинности сообщения BSRV_OPEN сервер 112 автоматического обновления передает клиенту аналогичное сообщение.
I
[93] В зависимости от конкретного примера осуществления изобретения может быть предусмотрена передача клиентским устройством 120, функционирующим на основе предлагаемой технологии, серверу 112 автоматического обновления списка доменных имен, автоматическое обновление которых следует обеспечить клиенту (то есть в таких примерах осуществления клиентское устройство, по меньшей мере частично, определяет состав третьего набора 148 доменных имен). Примером такого сообщения, передаваемого клиентским устройством серверу автоматического обновления, является сообщение BSRV_TOSRV_ADDHOSTS, указанное ниже (в котором FQDN - «полностью уточненное имя домена»).
[94] Сервер 112 автоматического обновления может передавать указанный список доменных имен и соответствующие IP-адреса клиентскому устройству 120 в виде сообщения BSRV_TOBROWSER_DNS_CHANGED, указанного ниже. В зависимости от примера осуществления данное сообщение может использоваться как для начальной передачи доменных имен и соответствующих IP-адресов третьего набора 148, так и (или) с целью последующего обновления.
[95] Сервер 112 автоматического обновления может передавать клиентскому устройству 120 список доменных имен, удаленных из третьего набора 148, которые, соответственно, должны быть удалены из локального кэша браузера, в виде сообщения BSRV_TOBROWSER_WITHDRAW_FQDN, указанного ниже.
[96] Сервер 112 автоматического обновления может передавать клиентскому устройству 120 инструкцию относительно получения информации от другого сервера автоматического обновления в виде сообщения BSRV_TOBROWSER_REDIRECT, указанного ниже.
[97] Очевидно, что указанные выше сообщения представляют собой только примеры, предназначенные для упрощения понимания технологии. В различных примерах осуществления предлагаемой технологии обмен данными между клиентским устройством 120 и сервером 112 автоматического обновления может быть реализован с использованием любого приемлемого средства или формата.
[98] Для специалистов в данной области техники очевидно, что в указанные выше примеры осуществления настоящего изобретения могут быть внесены изменения и усовершенствования. Представленное выше описание приведено для указания примеров и не имеет ограничительного характера. Объем изобретения ограничивается только прилагаемой формулой изобретения.