Способ маршрутизации и передачи данных
METHOD OF ROUTING AND TRANSMISSION OF DATA

Изобретение относится к области создания распределенных вычислительных сетей, предназначенных для выполнения одного либо нескольких параллельных процессов, и может быть применено для оптимизации и/или балансировки сетевой нагрузки, а также для создания единого распределенного ресурса, предназначенного для выполнения широкого спектра задач.
Известен способ маршрутизации и передачи данных, включающий этап запроса данных пользователем у источника, этап определения предпочтительного узла, содержащего запрашиваемые данные, этап определения востребованности запрашиваемых данных и этап определения канала сети для передачи запрашиваемых данных пользователю [WO 2015192697, дата приоритета: 18.06.2014 г., дата публикации: 23.12.2015 г. МПК: H04L 12/18].
Известен способ маршрутизации и передачи данных, включающий этап получения запроса данных, отправленного пользователем, этап подтверждения сервером адреса пользователя, этап выбора предпочтительного узла с запрашиваемыми данными, этап выполнения инкапсуляции запроса и IP-адреса пользователя, этап получения инкапсулированного пакета данных, этап отправки инкапсулированного пакета данных на узел распространения данных и этап отправки узлом распространения данных ответа пользователю [CN 103166985, дата приоритета: 09.12.2011 г., дата публикации: 19.06.2013 г. МПК: H04L 29/08].
В качестве прототипа выбран способ маршрутизации и передачи данных, включающий запрос пользователем данных с веб-ресурса, обработку запроса пользователя маршрутизатором, ассоциирование маршрутизатором не менее, чем одного узла, содержащего данные, запрашиваемые пользователем с веб-ресурса, формирование маршрутизатором набора узлов, получение пользователем запрашиваемых данных с веб-ресурса от предпочтительного узла в виде блоков информации, причем получение блоков информации может происходить от одного или более узлов, а в качестве узла может быть выбран пользователь, который ранее получал запрашиваемые данные. При этом выбор предпочтительного узла выполняется путем отправки маршрутизатором запроса каждому узлу и получения от них ответов [RU 2549135, дата приоритета: 08.10.2010 г., дата публикации: 20.04.2015 г. МПК: H04L 12/801].
Общим недостатком известных способов является низкая надежность и скорость процесса маршрутизации данных. Низкая скорость обусловлена длинными задержками в процессе определения предпочтительного узла для получения данных пользователем, так как для этого необходимо, как минимум, отправить запрос на узел, получить ответ, и выполнить алгоритм расчета для определения предпочтительного узла. Низкая надежность обусловлена тем, что в качестве узлов выступают другие пользователи, незарегистрированные в качестве узлов, из чего следует риск того, что данные могут быть переданы не в полном объеме, так как пользователи не мотивированы, поскольку способ не предусматривает выплаты вознаграждения или механизм выплаты вознаграждения не понятен для пользователей и, следовательно, пользователи могут отключиться от сети в любой момент.
Технической проблемой, на решение которой направлено изобретение, является повышение качества маршрутизации и передачи данных.
Техническим результатом, на достижение которого направлено изобретение, является повышение надежности и скорости передачи данных.
Сущность изобретения заключается в следующем.
Способ маршрутизации и передачи данных включает получение запроса данных от пользователя, определение узлов с запрашиваемыми данными, выбор предпочтительного узла с запрашиваемыми данными и передачу пользователю запрашиваемых данных от предпочтительного узла. В отличие от прототипа, выбор предпочтительного узла осуществляется из перечня узлов, прошедших предварительную регистрацию, с учетом сопоставления параметров геолокации узлов с запрашиваемыми данными с соответствующими параметрами геолокации пользователя.
Пользователь может представлять собой посетителя веб-ресурса, или автоматизированную систему, осуществляющих поиск данных, путем перехода по ссылкам, расположенным на веб ресурсе.
Запрос данных пользователем может представлять любые команды по различным протоколам, направляемые пользователем веб-ресурсу, который в ответ на запрос перенаправляет запрос пользователя на средство маршрутизации.
Запрашиваемые данные могут представлять собой статические файлы (изображение, видеофайл, аудиофайл, архивы, текстовые документы, исполняемый код, исполняемые файлы, результаты вычислений, и т.д.), либо динамические файлы (видео-или аудиопоток, текстовая трансляции, и т.д.), хранящиеся на узлах, ссылки на которые размещены на веб-ресурсе.
Узел может представлять собой любые электронные устройства, например, персональный компьютер, планшетный компьютер или мобильный телефон, имеющие возможность подключения к сети Интернет или закрытой частной сети.
Предварительная регистрация узла может заключаться в установке на узел специального программного обеспечения и/или предоставлении владельцу узла персонального аккаунта. Предварительная регистрация узла обеспечивает возможность постоянной связи с узлом, осуществления контроля над его подключением, и позволяет производить выплату владельцу узла вознаграждения, при этом могут быть установлены различные условия выплаты вознаграждения, например, в случае внезапного прерывания передачи данных пользователю размер вознаграждения может уменьшаться. Выплата вознаграждения владельцам узлов обеспечивает возможность мотивации владельцев узлов, тем самым дополнительно повышает качество передачи данных. Предварительная регистрация узла обеспечивает возможность выгрузки данных на узел с веб-ресурса для дальнейшего их хранения и обмена ими с пользователями, а также возможность получения параметров геолокации и дополнительных параметров узла.
Параметры геолокации могут включать почтовый индекс, улицу, город, регион, страну, континент, доменное имя, прокси-сервер, наименование организации, телефон, коды US DMA/MSA и NAICS и т.д. Дополнительные параметры могут включать загруженность узла, время задержки передачи данных, объем переданных данных, объем данных, находящихся на узле, время нахождения узла в активном статусе, технические характеристики узла (тип и количество процессоров CPU, объем оперативной памяти RAM, объем и тип дискового пространства HDD/SSD) и др.
Определение узлов, выбор предпочтительного узла с запрашиваемыми данными и передача пользователю запрашиваемых данных может осуществляться средством маршрутизации, которое может представлять собой совокупность DNS/GEO серверов и/или маршрутизаторов, и/или рабочих станций, на которые может быть установлено специальное программное обеспечение, позволяющее взаимодействовать с пользователем и узлами. Средство маршрутизации может иметь возможность определения параметров геолокации и дополнительных параметров узлов, а также параметров геолокации пользователя, например, по IP-адресу пользователя путем задействования цифровых геолокационных баз.
Определение узлов с запрашиваемыми данными осуществляется путем поиска средством маршрутизации узлов, содержащих запрашиваемые данные. При этом запрашиваемые данные могут находиться на одном или нескольких узлах, находящихся на различном расстоянии от пользователя. В случае, когда обнаружено несколько узлов, содержащих запрашиваемые пользователем данные, средство маршрутизации осуществляет выбор предпочтительного узла.
Выбор предпочтительного узла осуществляется с учетом сопоставления параметров геолокации узлов с запрашиваемыми данными с соответствующими параметрами геолокации пользователя, которое может осуществляться путем проведения последовательного сопоставления отдельных параметров геолокации с заданной приоритетностью. Приоритетность параметров геолокации может быть расставлена следующим образом, например, сначала может быть проведено сравнение почтового индекса, затем города, затем региона, затем страны, затем континента и т.д. В случае обнаружения единственного узла с запрашиваемыми данными, имеющего совпадение сравниваемого параметра геолокации с соответствующим параметром геолокации пользователя, сопоставление может быть остановлено, а обнаруженный узел может быть выбран в качестве предпочтительного. В случае не обнаружения ни одного узла с запрашиваемыми данными, имеющего совпадение сравниваемого параметра геолокации с соответствующим параметром геолокации пользователя, проводится сравнение узлов с запрашиваемыми данными по следующему по установленному приоритету параметру геолокации. В случае обнаружения нескольких узлов с запрашиваемыми данными, имеющих совпадение сравниваемого параметра геолокации с соответствующим параметром геолокации пользователя, может быть проведено сравнение обнаруженных узлов между собой по дополнительным параметрам.
Сравнение узлов между собой по дополнительным параметрам может осуществляться также последовательно и с установленной приоритетностью. Приоритетность дополнительных параметров может быть расставлена следующим образом, например, сначала может быть сравнена загруженность узлов, затем время задержки передачи данных, затем узлы могут быть сравнены по объему переданных данных, затем по объему данных, находящихся на узлах, затем по техническим характеристикам узлов и т.д. При обнаружении единственного узла с наилучшими показателями сравниваемого дополнительного параметра обнаруженный узел может быть выбран в качестве предпочтительного. В случае обнаружения нескольких узлов с одинаковыми показателями сравниваемого дополнительного параметра, сравнение продолжается по следующему дополнительному параметру. Для осуществления сравнения узлов могут быть применены любые аналитические алгоритмы, обеспечивающие распределение узлов в порядке приоритетности.
Кроме того, перед сопоставлением параметров геолокации может быть проведено сопоставление оператора связи узлов с запрашиваемыми данными и пользователя, при этом, в случае обнаружения единственного узла с таким же оператором связи, как у пользователя, он может быть выбран в качестве предпочтительного, а в случае обнаружения нескольких или не обнаружения ни одного такого узла, может быть осуществлено их сопоставление с пользователем по параметрам геолокации.
Дополнительно для повышения надежности и скорости передачи данных, средство маршрутизации может сохранять результаты сопоставления параметров узлов и пользователей. Благодаря этому, в случае изменения параметров выбранного предпочтительного узла или его внезапного отключения, обеспечивается возможность быстрого определения средством маршрутизации следующего предпочтительного узла.
Дополнительно этап выбора предпочтительного узла либо этап определения узлов с запрашиваемыми данными может включать предварительный отбор узлов по цене маршрута. Цена маршрута формируется с учетом вознаграждения, выплачиваемого владельцам узлов за передачу данных. Отбор узлов по цене маршрута подразумевает то, что все дальнейшие действия по выбору предпочтительного узла будут осуществляться из узлов, соответствующих установленным критериям цены маршрута, что позволяет существенно сократить количество узлов с запрашиваемыми данными и ускорить процесс поиска предпочтительного узла, тем самым повышая надежность и скорость передачи данных и позволяя контролировать затраты на передачу данных. При этом критерии цены маршрута могут представлять собой минимальную или максимальную заданную величину, либо заданный интервал или несколько интервалов величин.
Получение данных пользователем от выбранного узла может обеспечиваться путем соединения пользователя с предпочтительным узлом. Соединение обеспечивается посредством отправки средством маршрутизации IP-адреса, ссылки или любой другой информации о предпочтительном узле пользователю.
Изобретение характеризуется ранее неизвестными из уровня техники отличительными признаками:
Выбор предпочтительного узла осуществляется из перечня узлов, прошедших предварительную регистрацию, благодаря чему обеспечивается возможность получения точной и релевантной информации о параметрах геолокации узлов и их технических характеристиках. Кроме того, предварительная регистрация позволяет отслеживать статус подключения узлов и объем переданных данных, на основе чего могут быть проведены мотивационные мероприятия для владельцев узлов, благодаря чему возрастает стабильность работы всех узлов, участвующих в процессе маршрутизации.
Выбор предпочтительного узла осуществляется с учетом сопоставления параметров геолокации узла с параметрами геолокации пользователя, благодаря чему обеспечивается возможность последовательного сопоставления от наиболее узкого к наиболее широкому параметру геолокации, например от почтового индекса к континенту, что в свою очередь, обеспечивает возможность моментального выбора предпочтительного узла в случае совпадения узких параметров геолокации, а также возможность существенного сокращения набора узлов, требующих дополнительного анализа, при совпадении широких параметров геолокации, благодаря чему сокращается время, затрачиваемое на выбор предпочтительного узла.
Совокупность отличительных существенных признаков позволяет повысить стабильность работы всех узлов, участвующих в процессе маршрутизации, и сократить время, затрачиваемое на выбор предпочтительного узла, что обеспечивает достижение технического результата, заключающегося в повышении надежности и скорости процесса передачи данных, повышая тем самым качество способа маршрутизации и передачи данных.
Наличие отличительных существенных признаков позволяет сделать вывод о соответствии заявляемого изобретения критерию патентоспособности «новизна» и «изобретательский уровень».
Изобретение может быть реализовано с помощью известных средств и технологий, что свидетельствует о соответствии изобретения критерию патентоспособности «промышленная применимость».
Изобретение поясняется следующей схемой.
Фиг. 1 - Общий алгоритм способа маршрутизации и передачи данных.
Способ маршрутизации и передачи данных может быть реализован следующим образом.
Пользователь через браузер запрашивает данные, представляющие собой видеофайл, на веб-ресурсе. Запрос с веб-ресурса перенаправляется на средство маршрутизации. В процессе обработки запроса средство маршрутизации посредством IP-адреса пользователя определяет, что оператор связи пользователя -Мегафон, а параметры геолокации пользователя следующие: 121108, г. Москва, Московская область, Россия, Евразия. Средство маршрутизации данных проверяет все активные узлы и определяет 6 узлов, на которых находятся запрашиваемые данные. После выбора предпочтительного узла средство маршрутизации данных производит выбор предпочтительного узла из найденных, сопоставляя их оператора связи и параметры геолокации с параметрами пользователя. При этом в зависимости от результатов сопоставления средство маршрутизации может построить различные маршруты для передачи данных. После определения оптимального маршрута средство маршрутизации данных направляет пользователю IP-адрес предпочтительного узла, и начинается передача данных пользователю. При этом список ранжированных узлов с запрашиваемыми данными сохраняется для быстрого подключения ко второму предпочтительному узлу в случае отключения первого. После передачи данных на персональный аккаунт владельца узла перечисляется вознаграждение в соответствии с объемом переданных данных.
Ниже представлены примеры выбора предпочтительного узла с запрашиваемыми данными в зависимости от параметров узлов.
Пример 1. Средство маршрутизации сопоставляет оператора связи узлов с запрашиваемыми данными с оператором связи пользователя и определяет, что узел 3 и пользователь имеют совпадение по оператору связи, в результате чего узел 3 выбирается в качестве предпочтительного (Таблица 1).
Пример 2. Средство маршрутизации сопоставляет оператора связи узлов с запрашиваемыми данными с оператором связи пользователя и определяет, что узел 3 и узел 4 имеют с пользователем совпадения по оператору связи. Средство маршрутизации последовательно сопоставляет почтовый индекс и город узлов 3 и 4 с соответствующими параметрами геолокации пользователя и определяет, что они не имеют совпадений с индексом и городом пользователя. Далее средство маршрутизации сопоставляет регион узлов 3 и 4 и определяет, что узел 3 имеет совпадения с пользователем по региону, а, следовательно, и по стране, и по континенту, в результате чего узел 3 выбирается в качестве предпочтительного (Таблица 2].
Пример 3. Средство маршрутизации последовательно сопоставляет оператора связи, почтовый индекс, город, регион, страну и континент узлов с запрашиваемыми данными с соответствующими параметрами геолокации пользователя и определяет, что ни один узел не имеет с пользователем совпадений ни по оператору связи, ни по параметрам геолокации (Таблица 3).
Тогда средство маршрутизации переходит к сравнению всех обнаруженных узлов с запрашиваемыми данными по времени задержки передачи данных, в результате которого определяет, что только узел 1 имеет нулевую загруженность, в результате чего он выбирается в качестве предпочтительного.
Пример 4. Средство маршрутизации сопоставляет оператора связи узлов с запрашиваемыми данными с оператором связи пользователя и определяет, что ни один из узлов не имеет с пользователем совпадения по оператору связи. Тогда средство маршрутизации последовательно сопоставляет почтовый индекс, город и регион всех узлов и определяет, что ни один из них не имеет совпадений с индексом и городом пользователя, но узел 1 и узел 2 имеют совпадение по региону, а, следовательно, и по стране, и по континенту (Таблица 4).
Далее средство маршрутизации для определения предпочтительного узла переходит к сравнению узлов 1 и 2 по загруженности. Средство маршрутизации определяет, что узлы 1 и 2 имеют одинаковую загруженность, и переходит к сравнению узлов 1 и 2 по времени задержки передачи данных и определяет, что время задержки узлов 1 и 2 также одинаковое. Тогда средство маршрутизации переходит к сравнению узлов 1 и 2 по техническим характеристикам и определяет, что узел 1 имеет более высокие технические характеристики, чем узел 2, в результате чего узел 1 выбирается как предпочтительный (Таблица 5).
Таким образом, изобретение обеспечивает достижение технического результата, заключающегося в повышении надежности и скорости процесса передачи данных, повышая качество способа маршрутизации и передачи данных.