СПОСОБ, РЕАЛИЗУЕМЫЙ В УСТРОЙСТВЕ, ВЫПОЛНЕННОМ С ВОЗМОЖНОСТЬЮ ПОДСОЕДИНЕНИЯ К АБОНЕНТСКОМУ ОБОРУДОВАНИЮ СЕТИ ПЕРВОГО ТИПА, СООТВЕТСТВУЮЩЕЕ УСТРОЙСТВО
METHOD CARRIED OUT IN DEVICE CAPABLE OF CONNECTING TO SUBSCRIBER EQUIPMENT OF FIRST-TYPE NETWORK, CORRESPONDING DEVICE

ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение, в общем, относится к управлению сетями и, более конкретно, к алгоритмам маршрутизации.
УРОВЕНЬ ТЕХНИКИ
Этот раздел предназначен для ознакомления читателя с различными аспектами данной области техники, которые могут быть связаны с различными аспектами настоящего раскрытия, которые описаны и/или заявлены ниже. Это обсуждение, как предполагается, будет полезным в предоставлении читателю основополагающей информации для лучшего понимания различных аспектов настоящего раскрытия. Соответственно, следует понимать, что эти утверждения должны читаться в этом свете, а не как признание предшествующего уровня техники.
В последние годы резко возросло число подключенных устройств бытовой электроники в частных домашних сетях, так что среднее число подключенных устройств составило в 2013 году семь устройств на одно домохозяйство. Некоторые из этих подключенных устройств имеют мобильное средство доступа в Интернет через UMTS (или 3G) или LTE (или 4G), иногда с безлимитными тарифными планами. По прибытии домой, пользователи часто подсоединяют свои мобильные устройства к беспроводной точке доступа, расположенной в домашнем шлюзе, и используют доступ в Интернет, обеспечиваемый упомянутым шлюзом (через DSL, кабельное или волоконное соединение), таким образом, они не используют свободные возможности своих мобильных средств доступа. В домохозяйстве, где несколько пользователей имеют свои собственные мобильные телефоны, огромная часть ресурсов полосы частот может не использоваться, особенно теми пользователями, которые имеют мобильные соединения с LTE.
Таким образом, существует потребность в обеспечении алгоритма маршрутизации для управления распределением пакетов через несколько средств доступа в Интернет, обеспечиваемых разными устройствами.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Настоящее раскрытие относится к способу, реализуемому в устройстве, выполненном с возможностью подсоединения к абонентскому оборудованию сети первого типа, причем упомянутая первая сеть содержит по меньшей мере один сетевой узел, осуществляющий связь с упомянутым абонентским оборудованием,
причем упомянутый способ содержит:
- этап задания одного или нескольких правил маршрутизации для маршрутизации пакетов упомянутого устройства, на основе информации о функциональных возможностях, принятой от абонентского оборудования и упомянутого по меньшей мере одного сетевого узла,
- этап отправки команд для обеспечения исполнения заданных правил маршрутизации либо в абонентском оборудовании, либо в упомянутом по меньшей мере одном сетевом узле,
причем упомянутые правила маршрутизации идентифицируют либо абонентское оборудование, либо упомянутый по меньшей мере один сетевой узел для пересылки пакетов между сетью первого типа и сетью второго типа.
Таким образом, благодаря упомянутому способу, правила маршрутизации могут быть заданы распределенным способом с помощью устройств и сетевых узлов первой сети.
В одном варианте осуществления, правила маршрутизации могут быть заданы, в устройстве, либо автоматически, приложением маршрутизации, либо пользовательским действием через интерфейс управления, связанный с приложением маршрутизации.
В одном варианте осуществления, правила маршрутизации могут быть заданы автоматически приложением маршрутизации согласно типу целевой службы и/или на основе доступных полос частот.
В упомянутом варианте осуществления, правила маршрутизации могут определяться регулярно (например, перед истечением связанного с ними периода времени).
В одном варианте осуществления, сервер маршрутизации может обеспечить исполнение команд благодаря службе (сервису) Интерфейса Прикладного Программирования, исполняющейся в абонентском оборудовании.
В одном варианте осуществления, каждая команда для обеспечения исполнения правила маршрутизации может содержать адрес источника, адрес пункта назначения и период времени, в течение которого правило маршрутизации имеет силу.
В одном варианте осуществления, устройство может исполнять приложение маршрутизации.
В одном варианте осуществления, упомянутый по меньшей мере один сетевой узел может содержать функцию устройства, осуществляющую связь с абонентским оборудованием, и шлюзовую функцию для пересылки пакетов от сети первого типа к сети второго типа.
В одном варианте осуществления, упомянутое по меньшей мере один сетевой узел может выполнять приложение маршрутизации.
В одном варианте осуществления, когда правило маршрутизации задано в приложении маршрутизации сетевого узла для пересылки пакетов от упомянутого сетевого узла к его локальной шлюзовой функции, упомянутое правило маршрутизации может быть введено в действие в сетевом узле.
В одном варианте осуществления, приложение маршрутизации может управляться функцией устройства сетевого узла.
В одном варианте осуществления, каждое из абонентского оборудования и сетевого узла может управлять шлюзовым приложением, выполненным с возможностью публикации, в сети первого типа, информации о функциональных возможностях для устройства.
В одном варианте осуществления, шлюзовое приложение может управляться шлюзовой функцией сетевого узла.
В одном варианте осуществления, сеть первого типа может быть локальной сетью, а сеть второго типа может быть сетью доступа.
В одном варианте осуществления, информация о функциональных возможностях может содержать один или несколько из следующих видов информации:
- активность;
- доступная полоса частот;
- текущая полоса частот, доступная для данной службы;
- метрики задержки;
- служба шлюза;
- тип устройства,
- текущий сетевой индикатор.
В одном варианте осуществления, функция устройства упомянутого по меньшей мере одного сетевого узла может действовать как устройство сети первого типа.
Настоящее раскрытие также относится к устройству, выполненному с возможностью подсоединения к абонентскому оборудованию сети первого типа, причем упомянутая первая сеть содержит по меньшей мере один сетевой узел, осуществляющий связь с упомянутым абонентским оборудованием,
причем упомянутое устройство содержит по меньшей мере одно запоминающее устройство и по меньшей мере одну схему обработки, выполненную с возможностью выполнения:
- задания одного или нескольких правил маршрутизации для маршрутизации пакетов упомянутого устройства, на основе информации о функциональных возможностях, принятой от абонентского оборудования и упомянутого по меньшей мере одного сетевого узла,
- отправки команд для введения в действие заданных правил маршрутизации либо в абонентском оборудовании, либо в упомянутом по меньшей мере одном сетевом узле,
причем упомянутые правила маршрутизации идентифицируют либо абонентское оборудование, либо упомянутый по меньшей мере один сетевой узел для пересылки пакетов между сетью первого типа и сетью второго типа.
Кроме того, настоящее раскрытие дополнительно относится к устройству, выполненному с возможностью подсоединения к абонентскому оборудованию сети первого типа, причем упомянутая первая сеть содержит по меньшей мере один сетевой узел, осуществляющий связь с упомянутым абонентским оборудованием,
причем упомянутое устройство содержит:
- интерфейс связи, выполненный с возможностью приема информации о функциональных возможностях от абонентского оборудования и упомянутого по меньшей мере одного сетевого узла,
- приложение маршрутизации для задания, на основе принятой информации о функциональных возможностях, одного или нескольких правил маршрутизации для маршрутизации пакетов упомянутого устройства, причем упомянутые правила маршрутизации идентифицируют либо абонентское оборудование, либо упомянутый по меньшей мере один сетевой узел для пересылки пакетов между сетью первого типа и сетью второго типа,
причем интерфейс связи дополнительно выполнен с возможностью отправки команд для введения в действие заданных правил маршрутизации либо в абонентском оборудовании, либо в упомянутом по меньшей мере одном сетевом узле.
В одном варианте осуществления, правила маршрутизации могут быть заданы, в устройстве, либо автоматически, приложением маршрутизации, либо пользовательским действием через интерфейс управления, связанный с приложением маршрутизации.
В одном варианте осуществления, правила маршрутизации могут быть заданы автоматически приложением маршрутизации согласно типу целевой службы и/или на основе доступных полос частот.
В одном варианте осуществления, каждая команда для обеспечения исполнения правила маршрутизации может содержать по меньшей мере адрес источника, адрес пункта назначения и период времени, в течение которого правило маршрутизации имеет силу.
Настоящее раскрытие также направлено на сетевой узел, содержащий устройство, упомянутое выше, снабженное шлюзовой функцией, дополнительно управляющее шлюзовым приложением, выполненным с возможностью публикации, в сети первого типа, информации о функциональных возможностях.
Кроме того, настоящее раскрытие дополнительно направлено на энергонезависимое устройство хранения программ, читаемое компьютером, материально воплощающее программу команд, исполняемых компьютером для выполнения способа, реализуемого в устройстве, выполненном с возможностью подсоединения к абонентскому оборудованию сети первого типа, причем упомянутая первая сеть содержит по меньшей мере один сетевой узел, осуществляющий связь с упомянутым абонентским оборудованием, причем упомянутый способ содержит:
- этап задания одного или нескольких правил маршрутизации для маршрутизации пакетов упомянутого устройства, на основе информации о функциональных возможностях, принятой от абонентского оборудования и упомянутого по меньшей мере одного сетевого узла,
- этап отправки команд для введения в действие заданных правил маршрутизации либо в абонентском оборудовании, либо в упомянутом по меньшей мере одном сетевом узле,
причем упомянутые правила маршрутизации идентифицируют либо оборудование, либо упомянутое по меньшей мере один сетевой узел для пересылки пакетов между сетью первого типа и сетью второго типа.
Настоящее раскрытие также относится к компьютерному программному продукту, хранимому на энергонезависимом машиночитаемом носителе данных и содержащему программные кодовые команды, исполняемые процессором для осуществления способа, реализуемого в устройстве, выполненном с возможностью подсоединения к абонентскому оборудованию сети первого типа, причем упомянутая первая сеть содержит по меньшей мере один сетевой узел, осуществляющий связь с упомянутым абонентским оборудованием, причем упомянутый способ содержит:
- этап задания одного или нескольких правил маршрутизации для маршрутизации пакетов упомянутого устройства, на основе информации о функциональных возможностях, принятой от абонентского оборудования и упомянутого по меньшей мере одного сетевого узла,
- этап отправки команд для введения в действие заданных правил маршрутизации либо в абонентском оборудовании, либо в упомянутом по меньшей мере одном сетевом узле,
причем упомянутые правила маршрутизации идентифицируют либо абонентское оборудование, либо упомянутый по меньшей мере один сетевой узел для пересылки пакетов между сетью первого типа и сетью второго типа.
Способ согласно настоящему раскрытию может быть реализован в программных средствах на программируемой аппаратуре. Он может быть реализован только в аппаратных средствах или в программных средствах, либо в их комбинации.
Некоторые процессы, реализуемые элементами настоящего раскрытия, могут быть компьютерно-реализуемыми. Соответственно, такие элементы могут принимать форму полностью аппаратного варианта осуществления, полностью программного варианта осуществления (включая встроенное программное обеспечение, резидентное программное обеспечение, микрокод и т.д.) или вариант осуществления, объединяющий программные и аппаратные аспекты, которые все могут, в общем, называться здесь «схемой», «модулем» или «системой». Кроме того, такие элементы могут принимать форму компьютерного программного продукта, реализованного в любой материальной среде выражения, имеющей используемый компьютером программный код, реализованный в этой среде.
Поскольку элементы настоящего раскрытия могут быть реализованы в программном средстве, настоящее раскрытие может быть реализовано в виде машиночитаемого кода, обеспечиваемого для программируемой аппаратуры на любом подходящем носителе. Материальный носитель может содержать носитель данных, такой как гибкий диск, CD-ROM, накопитель на жестких дисках, устройство на магнитной ленте или твердотельное запоминающее устройство и т.п.
Таким образом, настоящее раскрытие обеспечивает машиночитаемую программу, содержащую исполняемые компьютером команды, для предписания компьютеру выполнять способ, упомянутый выше.
Некоторые аспекты соизмеримы по объему с раскрытыми вариантами осуществления, которые изложены ниже. Следует понимать, что эти аспекты представлены только для ознакомления читателя с кратким описанием некоторых форм, которые может принимать настоящее раскрытие, и что эти аспекты не предназначены для ограничения объема настоящего раскрытия. Действительно, настоящее раскрытие может охватывать множество аспектов, которые не изложены ниже.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Настоящее раскрытие станет более понятным и лучше проиллюстрированным посредством нижеследующего варианта осуществления и примеров исполнения, которые никоим образом не ограничивают настоящее раскрытие, со ссылкой на прилагаемые фигуры, в которых:
- Фиг. 1 является блок-схемой иллюстративной сетевой архитектуры домашней сети для реализации некоторых вариантов осуществления принципов настоящего раскрытия;
- Фиг. 2 показывает пример аппаратной конфигурации каждого устройства/узла/абонентского оборудования домашней сети по фиг. 1, согласно принципам настоящего раскрытия;
- Фиг. 3 показывает пример интерфейса управления шлюзового приложения, функционирующего в сетевом узле согласно принципам настоящего раскрытия;
- Фиг. 4 является примером интерфейса управления приложения маршрутизации, функционирующего в устройстве согласно принципам настоящего раскрытия;
- Фиг. 5 является блок-схемой последовательности операций иллюстративного способа, используемого некоторыми вариантами осуществления согласно принципам настоящего раскрытия.
Везде, где возможно, одинаковые ссылочные позиции будут использованы во всех фигурах для ссылки на одинаковые или подобные части.
ПОДРОБНОЕ ОПИСАНИЕ
Нижеследующее описание иллюстрирует принципы настоящего раскрытия. Таким образом, следует понимать, что специалисты в данной области техники смогут разработать различные схемы, которые, хотя и не описаны и не показаны здесь, реализуют принципы настоящего раскрытия и включены в его объем.
Все примеры и условный язык, используемые здесь, предназначены только для целей обучения, чтобы помочь читателю понять принципы настоящего раскрытия и идеи, предлагаемые автором изобретения для развития данной области техники, и не должны толковаться как ограниченные такими конкретными приведенными примерами и условиями.
Кроме того, все утверждения, приведенные здесь, излагающие принципы, аспекты, и варианты осуществления настоящего раскрытия, а также их конкретные примеры, как предполагается, охватывают как их структурные, так и их функциональные эквиваленты. Дополнительно, предполагается, что такие эквиваленты включают в себя как известные в настоящее время эквиваленты, так и эквиваленты, которые будут разработаны в будущем, т.е. любые разработанные элементы, которые выполняют ту же самую функцию, независимо от конструкции.
Таким образом, например, специалистам в данной области техники следует понимать, что блок-схемы, представленные здесь, представляют концептуальные виды иллюстративных схем, реализующих принципы настоящего раскрытия. Подобным образом, следует понимать, что любые блок-схемы последовательностей операций, блок-схемы алгоритмов, схемы переходов между состояниями, псевдокод, и т.п., представляют различные процессы, которые могут быть по существу представлены в машиночитаемых носителях и, таким образом, исполнены компьютером или процессором, независимо о того, показан ли такой компьютер или процессор явно или нет.
Функции различных элементов, показанных на фигурах, могут быть обеспечены с использованием специальных аппаратных средств, а также аппаратных средств, приспособленных исполнять программные средства в сочетании с надлежащим программным обеспечением. Если предусмотрен процессор, то функции могут быть обеспечены посредством единственного специального процессора, посредством единственного совместно используемого процессора или посредством множества отдельных процессоров, некоторые из которых могут использоваться совместно. Кроме того, явное использование термина «процессор» или «контроллер» не должно толковаться как ссылка исключительно на аппаратное средство, способное исполнять программные средства, и может явно включать в себя, без ограничения, аппаратные средства устройства цифровой обработки сигналов (DSP), постоянное запоминающее устройство (ROM) для хранения программного обеспечения, запоминающее устройство с произвольным доступом (RAM) и энергонезависимое запоминающее устройство.
В формуле изобретения, приведенной здесь, любой элемент, выраженный в виде средства и/или модуля для выполнения конкретной функции, как предполагается, охватывает любой способ выполнения этой функции, в том числе, например, а) комбинацию схемных элементов, которые выполняют эту функцию, или б) программные средства в любой форме, в том числе, соответственно, встроенное программное обеспечение, микрокод и т.п., объединенное с подходящими схемами для исполнения этих программных средств для выполнения этой функции. Настоящему раскрытию, определяемому такой формулой изобретения, присущ тот факт, что функциональности, обеспечиваемые различными перечисленными средствами, объединяются и сводятся вместе способом, который предусматривает формула изобретения. Таким образом, считается, что любые средства, которое могут обеспечить эти функциональности, являются эквивалентными средствам, показанным здесь.
Дополнительно, следует понимать, что фигуры и описание настоящего раскрытия являются упрощенными для иллюстрации элементов, которые являются релевантными для ясного понимания настоящего раскрытия, при устранении, для ясности, многих других элементов, которые можно найти в типичных способах, устройствах и системах доставки цифрового мультимедийного контента. Однако, поскольку такие элементы хорошо известны в данной области техники, подробное обсуждение таких элементов здесь не приведено. Раскрытие, представленное здесь, направлено на все такие изменения и модификации, известные специалистам в данной области техники.
Фиг. 1 является блок-схемой примера иллюстративной сетевой архитектуры локальной сети (LAN) 100 (такой как домашняя сеть или коммерческая сеть) для реализации некоторых вариантов осуществления принципов настоящего раскрытия.
Как показано на фиг. 1, LAN 100 может содержать абонентское оборудование (CPE) 110, одно или несколько устройств 120 (два устройства представлены на фиг. 1) и одно или несколько сетевых узлов 130 (два сетевых узла представлены на фиг. 1). Устройства 120 и сетевые узлы 130 соединены с CPE 110 с использованием либо проводного соединения (например, Ethernet-кабеля), либо беспроводного соединения (например, WiFi-соединения).
В примере фиг. 1, для реализации принципов настоящего раскрытия, CPE 110 может содержать:
- сервер 111 маршрутизации, выполненный с возможностью преобразования команд (правил маршрутизации), принимаемых от устройств 120 (благодаря службе 114 Интерфейса Прикладного Программирования (API), описанной ниже), в набор соответствующих правил коммутации для коммутатора 113;
- DHCP-службу 112, выполненную с возможностью обеспечения IP-адресов в течение заданного периода времени для устройств 120 и/или сетевых узлов 130, относящихся к домашней сети 100,
- коммутатор 113, выполненный с возможностью пересылки пакетов от одного интерфейса домашней сети 100 (например, интерфейса устройства 120 или сетевого узла 130) к дополнительному интерфейсу (например, связанному с каналом сети широкополосного доступа) согласно правилам пересылки. Коммутатор 113 выполнен с возможностью преобразования правил коммутации (принимаемых от сервера 111 маршрутизации) в набор правил пересылки, соответствующих правилам согласования/действия, применяемым к входящим пакетам (где согласование является расположением битов заголовка пакета, а действие является решением о пересылке). Эти правила пересылки могут храниться в коммутаторе 113 в виде таблиц пересылки. Если текущий заголовок пакета согласуется с условием согласования таблицы пересылки, то коммутатор 113 применяет соответствующее решение о пересылке из записи таблицы, которое может пересылаться к конкретному адресу (например, адресу шлюзовой функции 132) или порту (например, порту, который обслуживает локальную шлюзовую функцию CPE 116),
- службу 114 маршрутизации Интерфейса Прикладного Программирования (или API),
- шлюзовое приложение 115, описанное ниже,
- шлюзовую функцию 116 для пересылки пакетов данных от LAN 100 к глобальной сети (Wide Area Network - WAN) 200 (например, Интернет) через сеть 118 доступа, и наоборот,
- интерфейс 117 к сети 118 доступа, имеющей соединение с WAN 200.
Дополнительно, в примере фиг. 1, для реализации принципов настоящего раскрытия, каждое устройство 120 может содержать функцию 121 устройства и приложение 122 маршрутизации. Конкретно, функция 121 устройства - которая представляет поведение соответствующего устройства - может содержать все приложения устройства, которые используют базовую сеть 100 для отправки трафика в Интернет через любую шлюзовую функцию. Приложением устройства может быть, например, веб-браузер, приложение потокового видео и функция устройства (набор всех приложений операционных систем windows/IOS/Android). Устройство 120 может быть, например, портативным мультимедийным устройством, планшетом или компактным портативным компьютером, телевизором, телевизионной приставкой, игровым устройством, и т.д.
Как показано в примере фиг. 1, каждое сетевой узел может содержать функцию 131 устройства, шлюзовую функцию 132, приложение 133 маршрутизации, шлюзовое приложение 134, API-службу 135 маршрутизации и интерфейс 136 для сети 137 доступа, имеющей соединение с WAN 200. В одном варианте, сетевой узел 130 может не содержать никакой API-службы маршрутизации. Сетевой узел 130 является устройством 120 со шлюзовой функцией 132 для пересылки пакетов от LAN 100 к WAN 200, и наоборот.
Следует отметить, что сетевой узел 130 соответствует устройству 120 с дополнительной шлюзовой функцией 132 для обеспечения доступа к WAN 200. Например, сетевой узел может быть смартфоном, планшетом или компактным портативным компьютером, снабженным соединением широкополосного доступа (таким как соединение Edge, 3G или 4G).
Для ясности, некоторые элементы и/или функции CPE 110, устройств 120 и сетевых узлов 130 были преднамеренно опущены в примере фиг. 1.
Как показано на фиг. 2, показывающей один пример аппаратной конфигурации, каждое из соответствующих CPE 110, устройств 120 и сетевых узлов 130 может содержать центральный процессор (CPU) 201 (содержащий один или несколько процессоров), запоминающее устройство 202 и один или несколько интерфейсов 203, соединенных через шину 204. CPU 201 выполнен с возможностью обработки различных данных и управления различными функциями и компонентами каждого из соответствующих CPE 110, устройств 120 и сетевых узлов 130. Запоминающее устройство 202 может представлять собой как энергозависимое запоминающее устройство, такое как RAM, так и энергонезависимое запоминающее устройство, такую как ROM, накопитель на жестких дисках или флэш-память, для обработки и хранения разных файлов и информации, при необходимости, в том числе компьютерных программных продуктов и программных средств. Некоторые из вышеупомянутых функций и/или приложений, показанных на фиг. 1, могут быть реализованы машиночитаемыми программами, хранимыми в запоминающем устройстве 202. Интерфейсы 203 используются для осуществления связи между соответствующими CPE/устройствами/узлами 110, 120 и 130 через LAN 100 посредством проводного или беспроводного соединения (соединений). Интерфейсы 203 могут дополнительно содержать пользовательские элементы ввода и/или вывода данных (например, сенсорную панель, дисплейный экран, клавиатуру, средство дистанционного управления, и т.д.).
В одном варианте осуществления, шлюзовое приложение 115, 134 CPE 110 или сетевого узла 130 может позволить пользователю управлять соответствующей шлюзовой функцией 116, 132 и конфигурировать ее. Шлюзовое приложение может быть запущено пользователем CPE 110 или сетевого узла 130. В одном варианте, шлюзовое приложение может быть активировано, когда включается электропитание CPE или сетевого узла.
Например, пользователь (или владелец) сетевого узла 130 может решить, хочет ли он/она или нет совместно использовать сеть 137 доступа, связанную с его/ее сетевым узлом 130. Дополнительно, пользователь может дополнительно решить, чтобы локальный Интернет-трафик всегда проходил через сеть 137 доступа, связанную с его/ее сетевым узлом 130, без прохождения через коммутатор 113 CPE 110. Иначе, Интернет-трафик может проходить к коммутатору 113, который будет управлять своим Интернет-трафиком как любое устройство/сетевой узел LAN 100. В этом случае, коммутатор 113 может решить переслать трафик к другой сети доступа, такой как сеть 118 доступа, связанная с CPE 110.
Следует понимать, что API-служба 135 маршрутизации сетевого узла 130 выполнена с возможностью приема команды (команд) только от шлюзового приложения 134 упомянутого сетевого узла (содержащего рассматриваемую API-службу 135 маршрутизации) для использования соответствующей шлюзовой функции 132 для обработки локального Интернет-трафика. В одном варианте или дополнении, такая команда, относящаяся к маршрутизации локального Интернет-трафика, может поступать от приложения 133 маршрутизации рассматриваемого сетевого узла 130, вместо шлюзового приложения 134.
Фиг. 3 показывает иллюстративный, но неограничивающий пример интерфейса 300 управления шлюзового приложения 134, в котором пользователь соответствующего сетевого узла 130 может активировать его шлюзовую функцию 132 посредством перемещения специальной кнопки 301. Дополнительно, с помощью дополнительной кнопки 302, пользователю сможет решить, будет или нет локальный Интернет-трафик его/ее сетевого узла 130 проходить через коммутатор 113 CPE 110. В одном варианте, шлюзовая функция может быть выполнена с возможностью автоматического синтаксического разбора и пересылки локального трафика от соответствующей функции устройства (или к ней) к связанной сети 137 доступа, без его перенаправления к коммутатору 113 CPE 110.
Кроме того, каждое шлюзовое приложение 115, 134 (после активации) может публиковать свою информацию о функциональных возможностях в LAN 100, через канал связи. Приложения 122 маршрутизации устройств 120 и сетевых узлов 130 LAN 100 могут подписаться, например, на публикацию, реализуемую шлюзовыми приложениями 115 и 134 для приема информации об их возможностях. В одном варианте осуществления, процесс публикации/ подписки может быть реализован на аппликативном уровне (например, http) и может быть основан на протоколе Redis (реализующем принцип Redis Pub/Sub) или на службе уведомления из операционной системы (такой как Android или IOS). В другом варианте осуществления, процесс публикации/ подписки может быть реализован на уровне сети и может быть основан на протоколе обнаружения служб (например, на протоколе обнаружения простых служб (SSDP) или протоколе обнаружения служб DNS с использованием mDNS, предлагаемом компанией Apple).
Дополнительно, информация о функциональных возможностях может содержать:
- активность шлюзовой функции;
- доступную полосу частот соответствующей сети 118, 137 доступа. CPE 110 или сетевые узлы 130 могут пассивно или динамически проверять доступную полосу частот;
- текущую полосу частот, доступную для данной службы (такой как игровая служба, видео-служба, речевая служба);
- указание события в отношении средней полосы частот (например, уменьшение полосы частот вследствие плохого качества приема);
- зарезервированную полосу частот для локального сетевого узла или другого сетевого узла, что означает, что только часть всей полосы частот может быть доступной для другого устройства. Это может, например, обеспечить то, что локальное устройство не будет страдать от перегруженности своей собственной полосы частот при совместном использовании ее с любым другим устройством;
- оставшиеся данные, потраченные или доступные согласно тарифному плану мобильной связи, для информирования других приложений маршрутизации о том, чтобы они не выходили за пределы ограниченного тарифного плана мобильного устройства;
- метрики задержки;
- статус шлюза;
- тип узла (например, DSL, 3G, 4G, и т.д.);
- идентификационное наименование оператора узла;
- предупреждения тарифного плана, для информирования других приложений маршрутизации о том, что вследствие трафика достигнут порог ограниченного тарифного плана мобильного устройства (например, 80% от тарифного плана 10Гб в месяц);
- операционную систему, реализуемую CPE или сетевым узлом;
- текущий сетевой индикатор (соответствующий, например, индикаторам, представляющим качество приема ʺEdgeʺ, ʺ3Gʺ или ʺ4Gʺ);
- список текущих или вновь соединенных устройств/ сетевых узлов.
По умолчанию, для данного устройства 120 или сетевого узла 130 (имеющего функцию 131 устройства), коммутатор 113 CPE 110 может быть выполнен с возможностью маршрутизации пакетов, поступающих от этого данного устройства/сетевого узла к интерфейсу 117 сети доступа CPE 110 для доступа к WAN 200. В этом случае, шлюзовая функция 116 CPE 110 рассматривается в качестве шлюза, установленного по умолчанию.
Пользователь устройства 120 или сетевого узла 130 может запустить соответствующее приложение 122, 133 маршрутизации для выбора альтернативных шлюзов доступа для соединения с Интернетом 200. В одном варианте, приложение 122, 133 маршрутизации может быть активировано, когда включается электропитание устройства/узла.
После осуществления подписки, приложение маршрутизации устройств 120 и сетевых узлов 130 может принимать информацию о функциональных возможностях от различных шлюзовых приложений 115, 134 CPE 110 и сетевых узлов 130, когда шлюзовая функция 116, 132 готова к работе и соответствующее шлюзовое приложение 115, 133 активировано.
В одном варианте осуществления, на основе принятой информации о функциональных возможностях, опубликованной шлюзовыми приложениями 115 и 134, приложение 122, 133 маршрутизации может автоматически задать одно или несколько правил маршрутизации для маршрутизации пакетов данных (например, Интернет-трафика) соответствующего устройства 120 или сетевого узла 130 между LAN 100 и WAN 200. Задание правил маршрутизации приложением маршрутизации может, например, основываться на установленном по умолчанию режиме восстановления после отказа шлюза, посредством автоматической маршрутизации к первой запасной шлюзовой функции 118, 137 в случае отказа установленной по умолчанию шлюзовой функции (например, шлюзовой функции 116 CPE 110). Определение первой запасной шлюзовой функции 118, 137 может учитывать оценку полосы частот (например, посредством учета качества приема соединения ʺEdgeʺ, ʺ3Gʺ, ʺ4Gʺ). В одном дополнении или в одном варианте, приложение 122, 133 маршрутизации может учитывать целевые службы. Например, игровые службы и видеовызовы - которые требуют соответствующей задержки - могут быть связаны с мобильным соединением (таким как соединение ʺedgeʺ, ʺ3Gʺ, ʺ4Gʺ) сетевых узлов 130, когда оно существует, или когда такое мобильное соединение становится доступным в LAN 100 (например, новое сетевой узел 130 только что подключено к LAN 100). Когда новое мобильное соединение становится доступным, правило маршрутизации может позволить переключиться с одной заданной шлюзовой функции (например, установленного по умолчанию шлюза) на шлюзовую функцию сетевого узла 130, обеспечивающего это новое мобильное соединение. Для видеослужб, приложение 122, 133 маршрутизации может, например, установить правило маршрутизации, включающее в себя шлюзовую функцию CPE 110 с пределом оставшегося тарифного плана, не превышающим данный порог (например, 50% выделенного тарифного плана), в частности, с учетом предупреждений тарифного плана. В дополнительном варианте или дополнении, приложение 122, 133 маршрутизации может задать правила маршрутизации согласно шлюзовой функции, предлагающей наилучшую доступную полосу частот среди шлюзовых функций 116 и 132 LAN 100. Следует отметить, что правила маршрутизации от одного устройства могут включать в себя несколько шлюзовых функций, в зависимости от типа трафика (например, трафик видео к 4G, HTTP-трафик к DSL).
В другом варианте осуществления, приложение маршрутизации данного устройства/сетевого узла может учитывать правила маршрутизации других устройств и сетевых узлов LAN 100. Например, когда первое устройство 120 задало правило маршрутизации для маршрутизации пакетов к данной шлюзовой функции (например, DSL), и когда новое устройство 120, 130 прибывает в LAN 100 с правилом маршрутизации, использующим ту же самую данную шлюзовую функцию (DSL), приложение маршрутизации первого устройства 120 может решить модифицировать свое правило маршрутизации соответствующим образом (например, посредством выбора другой шлюзовой функции LAN 100).
В дополнительно варианте осуществления, правила маршрутизации могут быть заданы пользователем устройства 120/сетевого узла 130 из интерфейса 400 управления (такого как пользовательский интерфейс, отображаемый на экране устройства/узла). В этом случае, пользователь может сам иметь доступ к возможностям шлюзовых функций.
Независимо от типа задания (либо автоматически, либо вручную), приоритет может быть связан с каждым правилом маршрутизации, причем упомянутый приоритет учитывается и обрабатывается сервером 111 маршрутизации.
Как показано в примере фиг. 4, интерфейс 400 управления может предлагать пользователю возможность выбора желаемой шлюзовой функции 116 на основе, например, возможностей шлюзов, отображаемых на интерфейсе 400 (только некоторые возможности шлюзов показаны на фиг. 4 для ясности). В одном дополнении или уточнении (не показано на фиг. 4), некоторые правила маршрутизации могут быть предварительно заданы в зависимости от типа целевых служб (например, видеослужба, игровая служба, видеовызов). Например, 4G-шлюзовая функция может быть предварительно выбрана для пересылки пакетов данных игровой службы или речевой службы, тогда как потоковая служба может быть уже связанной с DSL-шлюзовой функцией. В дополнительном дополнении или уточнении, пользователь может выбрать предпочтительный упорядоченный список доступных шлюзовых функций (например, DSL/волокно/кабель, первый мобильный телефон, второй мобильный телефон, и т.д.). Таким образом, со ссылкой на фиг. 4, вместо помечания блока 401, связанного с желаемой шлюзовой функцией, пользователь может создать предпочтительный упорядоченный список шлюзовых функций посредством перетаскивания соответствующих блоков 401 шлюзовых функций. В этом случае, соответствующее приложение 122, 133 маршрутизации может дополнительно задать правила маршрутизации с учетом установленного предпочтительного упорядоченного списка шлюзовых функций.
В одном варианте осуществления, независимо от типа задания (либо автоматически, либо вручную), правила маршрутизации могут регулярно задаваться (например, на основе периода времени, соответствующего допустимости правила) приложениями 122, 132 маршрутизации. Это может обеспечить то, что коммутатор 113 будет восстанавливать свое исходное состояние после окончания данного периода времени. Для этой цели, сервер 111 маршрутизации может вводить максимальный период времени для каждого нового правила маршрутизации таким образом, чтобы приложение маршрутизации должно было обновлять правило маршрутизации перед истечением этого периода времени. Например, максимальный период времени может запрашиваться приложением маршрутизации каждого устройства посредством API-службы 114 сервера 111 маршрутизации (например, через GET-запрос). После ручного ввода, приложение маршрутизации может обновлять правило маршрутизации автоматически (в фоновом режиме) перед истечением заданного периода времени. Новое правило маршрутизации может также автоматически заменять старое правило маршрутизации, когда согласующий заголовок является таким же, для предотвращения удаления правила маршрутизации до отправки нового правила маршрутизации.
Когда правило маршрутизации задано либо автоматически, либо вручную, посредством приложения маршрутизации устройства 120 или сетевого узла 130, приложение 122, 133 маршрутизации может отправить API-запрос (или команду) к серверу 111 маршрутизации CPE 110 через API-службу 114. Сервер 111 маршрутизации проверяет совместимость запроса, в том числе проверяет семантику (например, некорректный запрос) и проверяет совместимость (т.е. может ли быть правило применено в отношении других ожидающих решения правил или нет). Когда правило является совместимым, сервер 111 маршрутизации обеспечивает исполнение заданного правила маршрутизации в коммутаторе 113 посредством преобразования API-запроса в правила коммутации для коммутатора 113, который дополнительно преобразует принятые правила коммутации в правила пересылки. API-запрос может основываться на архитектуре Передачи Состояния Представления (Representational State Transfer - REST), использующей характеристики HTTP-протокола. Например, API-запрос, отправленный приложением 122 маршрутизации, может быть кортежем, содержащим по меньшей мере исходное устройство/узел (например, его MAC-адрес и/или IP-адрес), выбранную шлюзовую функцию (например, MAC-адрес и/или IP-адрес CPE 110 или сетевого узла 130) и период времени, в течение которого правило маршрутизации имеет силу (например, http:/server/set-simple-rule-by-ip-device/{IP device}/{IP gateway}/{time period} (http:/сервер/установить-простое-правило-посредством-IP- устройства/{IP-устройства}/{IP-шлюза}/{период времени})).
После приема API-запроса API-службой 114 маршрутизации, сервер 111 маршрутизации CPE 110 может обеспечить исполнение правила маршрутизации в коммутаторе 113 для маршрутизации входящего трафика к выбранной шлюзовой функции. Подобным образом, в обратном направлении, другое правило может быть создано для управления пакетами, поступающими от выбранной шлюзовой функции к соответствующему устройству/ сетевому узлу.
В одном варианте осуществления, сервер 111 маршрутизации может использовать сетевые фильтры linux на основе инструмента, такого как iproute2 (ip-правила, ip-маршрут), ip-таблицы и соединение, отслеживающее признаки для обеспечения исполнения политики и правил маршрутизации в коммутаторе 113. По умолчанию, сервер 111 маршрутизации может быть уже сконфигурирован с набором правил сетевых фильтров для обеспечения межсетевых экранов и основных политик маршрутизации при запуске. После приема нового запроса маршрутизации, поступающего от приложения 122 маршрутизации, сервер 111 маршрутизации может создать новый набор из конкретного ip-правила и ip-таблиц, пометить пакеты, поступающие от устройства/сетевого узла таким образом, чтобы входящие пакеты согласовывались с ip-правилом, и в пределах ip-правила создает ip-маршрут к выбранному шлюзу. ip-набор является развитым инструментом сетевых фильтров, способным устанавливать значение времени простоя в каждом ip-правиле и обновлять правило с использованием нового времени простоя. Сервер маршрутизации может преобразовать правила приложений маршрутизации высокого уровня в набор совместимых правил сетевых фильтров для заполнения таблицы пересылки коммутатора 113. В другом варианте осуществления, коммутатор может быть Openflow-коммутатором, выполненным с возможностью приема, от сервера маршрутизации, Openflow-правил (правил коммутации) согласно Openflow-протоколу, для обеспечения их исполнения.
Сервер 111 маршрутизации может проверять общую совместимость правил перед обеспечением исполнения нового правила. Например, если предыдущее правило маршрутизации существует, то сервер 111 маршрутизации может обновить правило маршрутизации посредством удаления предыдущего правила маршрутизации. Дополнительно, исполняемые правила маршрутизации должны быть хорошо записанными и должны быть удалены, если устройство 120 или сетевой узел 130 больше не соединено с LAN 100. Когда выбранная шлюзовая функция 116, 132 становится недоступной (например, отправлено сообщение о выключении службы шлюза, неожиданная недоступность, и т.д.), приложение 122, 133 маршрутизации может протестировать по методу «запрос-ответ» шлюзовую функцию для проверки возможности соединения и, если нет никакого ответа, может автоматически отправить API-запрос ʺRemove&Updateʺ («удалить и обновить») к серверу 111 маршрутизации через API-службу 114 маршрутизации для установления нового правила маршрутизации с использованием установленной по умолчанию шлюзовой функции (например, шлюзовой функции CPE 110). Пользователь соответствующего устройства/ сетевого узла может быть проинформирован об этом изменении правила маршрутизации через интерфейс 400 управления.
В дополнительном варианте осуществления, одно из устройств 120 и сетевых узлов 130 может считаться главным устройством, причем другие устройства/сетевые узлы являются подчиненными устройствами. Главное устройство может быть выполнено с возможностью приема правил маршрутизации от подчиненных устройств и отправки команд к CPE 110 для обеспечения исполнения его собственных правил маршрутизации и правил маршрутизации, принятых от подчиненных устройств. В этом варианте осуществления, главное устройство может быть способным исправлять правила маршрутизации, заданные подчиненными устройствами, и информировать их о таких исправлениях.
Фиг. 5 является описанием блок-схемы последовательности операций, иллюстрирующей вариант осуществления, где обеспечен способ 500 для задания правил маршрутизации в устройстве 120 или сетевом узле 130.
На этапе 501, может быть запущено приложение 122, 133 маршрутизации, хранимое в устройстве 120 или сетевом узле 130, либо вручную после пользовательского действия, либо автоматически, когда включается электропитание устройства/ сетевого узла.
На этапе 502, приложение 122, 133 маршрутизации, после активации, может подписаться на публикацию информации о функциональных возможностях, управляемой шлюзовыми приложениями 115 и 134 CPE 110 и сетевых узлов 130. Такая подписка позволяет устройству/ узлу принимать информацию о функциональных возможностях шлюзовых функций LAN 100.
На этапе 503, пользователь может задать правила маршрутизации для маршрутизации пакетов данных, связанных с рассматриваемым устройством/узлом, на основе принятой информации о функциональных возможностях. В одном варианте, правила маршрутизации могут быть заданы автоматически, как описано выше. Предпочтительный упорядоченный список шлюзовых функций может быть также создан пользователем, причем упомянутый упорядоченный список дополнительно обрабатывается приложением 122, 133 маршрутизации.
На этапе 504, после задания правил маршрутизации либо вручную, либо автоматически, приложение 122, 133 маршрутизации может отправить одну или несколько команд к API-службе 114 маршрутизации CPE 110. Затем, команды могут быть исполнены API-службой 114 маршрутизации CPE 110 для обеспечения исполнения правил маршрутизации, заданных на этапе 503.
Благодаря принципам настоящего раскрытия, можно ожидать, например, обеспечения управления всеми домашними каналами доступа в Интернет для повышения общего Качества Взаимодействия (QoE) пользователей домохозяйства. Следующие варианты использования для домохозяйства иллюстрируют некоторые возможные варианты осуществления согласно принципам настоящего раскрытия с использованием задания подходящих правил маршрутизации:
- если как устройство отца, так и устройство сына соединено с домашней сетью и два канала доступа в Интернет доступны из этих устройств, то трафик устройства сына может проходить к мобильному средству доступа в Интернет для использования полной широкополосной полосы частот отца;
- если устройство сына используется для игры, в то время как устройство отца используется для потокового режима, то трафик устройства сына может проходить к одному из каналов доступа в Интернет с меньшей задержкой, в то время как трафик устройства отца может проходить к другому каналу доступа из доступных каналов доступа в Интернет, обеспечивающему большую полосу частот;
- мобильный телефон UMTS, используемый для потокового трафика, может быть перенаправлен на канал доступа к LTE мобильных телефонов и наоборот, т.е. веб-трафик мобильной связи LTE может быть перенаправлен на мобильный канал доступа UMTS.
Следует понимать, что на фигурах показанные блоки или модули могут соответствовать функциональным модулям, которые могут соответствовать или могут не соответствовать различимым физическим блокам. Например, множество таких модулей может быть объединено в единственном компоненте или схеме, или может соответствовать программным функциональностям. Кроме того, модуль может быть потенциально составлен из отдельных физических объектов или программных функциональностей.
Ссылки, раскрытые в описании, формуле изобретения и чертежах, могут быть обеспечены независимо или в любой подходящей комбинации. Признаки могут быть, при необходимости, реализованы в аппаратных средствах, программных средствах или в их комбинации.
Ссылка здесь на «один вариант осуществления» или «вариант осуществления» означает, что конкретный признак, структура, или характеристика, описанная в связи с этим вариантом осуществления, может быть включена по меньшей мере в одну реализацию описанного способа и устройства. Фразы «в одном варианте осуществления», встречающиеся в различных местах в описании изобретения не обязательно все обращаются к одному и тому же варианту осуществления, а также не являются отдельными или альтернативным вариантами осуществления, обязательно взаимно отличающимися от других вариантов осуществления.
Ссылочные позиции, встречающиеся в формуле изобретения, приведены только для иллюстрации и не должны иметь никакого ограничивающего влияния на объем формулы изобретения.
Хотя здесь были описаны только некоторые варианты осуществления настоящего раскрытия, специалистам в данной области техники следует понимать, что возможны другие модификации, варианты, и возможности настоящего раскрытия. Такие модификации, варианты и возможности, таким образом, следует считать попадающими в пределы сущности и объема настоящего раскрытия и, следовательно, образующими часть настоящего раскрытия, описанного здесь и/или приведенного в качестве примера.
Блок-схема последовательности операций и/или блок-схемы, приведенные на фигурах, иллюстрируют конфигурацию, работу и функциональность возможных реализаций систем, способов и компьютерных программных продуктов согласно различным вариантам осуществления настоящего раскрытия. В этой связи, каждый блок в блок-схеме последовательности операций или блок-схемах может представлять модуль, сегмент, или участок кода, который содержит одну или несколько исполняемых команд для реализации конкретной логической функции (функций). Следует также отметить, что в некоторых альтернативных реализациях, функции, отмеченные в блоках, могут встречаться не в том порядке, который отмечен на фигурах. Например, два блока, показанные последовательно, могут быть, фактически, исполнены по существу одновременно, или блоки могут иногда исполняться в обратном порядке, или блоки могут исполняться в альтернативном порядке, в зависимости от включенной функциональности. Следует также отметить, что каждый блок блок-схем и/или блок-схемы последовательности операций, и комбинации блоков в блок-схемах и/или блок-схеме последовательности операций, может быть реализован аппаратными системами специального назначения, которые выполняют конкретные функции или действия, или комбинациями аппаратн7ых средств специального назначения и компьютерных команд. Если явно не указано обратное, то варианты осуществления настоящего изобретения могут быть использованы в любой комбинации или подкомбинации.