RU2801634C2 - Реализация базового сотового сетевого стека в облачной инфраструктуре - Google Patents

Реализация базового сотового сетевого стека в облачной инфраструктуре Download PDF

Info

Publication number
RU2801634C2
RU2801634C2 RU2021116136A RU2021116136A RU2801634C2 RU 2801634 C2 RU2801634 C2 RU 2801634C2 RU 2021116136 A RU2021116136 A RU 2021116136A RU 2021116136 A RU2021116136 A RU 2021116136A RU 2801634 C2 RU2801634 C2 RU 2801634C2
Authority
RU
Russia
Prior art keywords
channel
network
data plane
packet
plane network
Prior art date
Application number
RU2021116136A
Other languages
English (en)
Other versions
RU2021116136A (ru
Inventor
Ноэл Эндрю БЕЙНБРИДЖ
Мэттью Джон БОЛКВИЛЛ
Божидар РАДУНОВИЧ
Original Assignee
МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи filed Critical МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Publication of RU2021116136A publication Critical patent/RU2021116136A/ru
Application granted granted Critical
Publication of RU2801634C2 publication Critical patent/RU2801634C2/ru

Links

Images

Abstract

Изобретение относится к вычислительной технике. Технический результат заключается в улучшении распределения вычислительных ресурсов сотовых сетевых компонентов в облачном окружении. Предложено вычислительное устройство, выполненное с возможностью реализации виртуализированного пакетного шлюза в облачном вычислительном окружении, чтобы обрабатывать сетевые пакеты плоскости данных для сотовой сети, при этом вычислительное устройство содержит по меньшей мере один процессор и запоминающее устройство, причем в запоминающем устройстве сохранены машиноисполняемые инструкции, которые при их исполнении по меньшей мере одним процессором предписывают вычислительному устройству выполнять операции, содержащие: прием всей копии внешнего хранилища ключей/значений; сохранение всей копии внешнего хранилища ключей/значений в локальном кэше; прием сетевых пакетов плоскости данных из модуля балансировки нагрузки; и обработку, посредством виртуализированного пакетного шлюза, сетевых пакетов плоскости данных, каковая обработка содержит идентификацию каналов, ассоциированных с сетевыми пакетами плоскости данных, в локальном кэше. 3 н. и 17 з.п. ф-лы, 8 ил., 1 табл.

Description

Уровень техники
[001] Сотовые сети традиционно управляются поставщиками услуг связи с использованием специализированных аппаратных и программных решений. Хотя можно управлять некоторыми компонентами сотовой сети в облачной инфраструктуре (например, с использованием поставщика открытой облачной инфраструктуры), некоторые компоненты и технологии не транслируются непосредственно или эффективно в облако. Например, в сотовой LTE-сети, сети плоскости управления и пользовательской плоскости считаются отдельными сетями. Плоскость управления отвечает за установление, конфигурирование и разрыв соединений в пользовательской плоскости. Пользовательская плоскость непосредственно переносит пользовательские данные (сетевые пакеты из абонентского устройства). Обслуживающий шлюз/пакетный шлюз (SPGW) представляет собой компонент, через который протекают пользовательские пакеты. Чтобы обрабатывать большой объем трафика, могут требоваться множество SPGW-экземпляров. В облачной реализации, каждый SPGW-экземпляр может выполняться на собственной виртуальной машине. Эти SPGW-экземпляры должны принимать сообщения плоскости управления таким образом, что они могут корректно обрабатывать пакеты пользовательской плоскости.
[002] Модуль балансировки нагрузки в облачном окружении проектируется распределять пакеты по (например, равномерно по) определенному числу виртуальных машин. Типично, модуль балансировки нагрузки практически не имеет управления тем, какие пакеты проходят через какую виртуальную машину, за исключением попытки направлять пакеты с идентичным адресом источника и назначения в идентичную виртуальную машину. В результате выполнения SPGW-экземпляров в рамках модуля балансировки нагрузки в облачном окружении, данные плоскости управления и пользовательской плоскости для данного пользователя могут отправляться в различные SPGW-экземпляры. В этой ситуации, может быть затруднительным или невозможным считывать или отправлять информацию плоскости управления посредством SPGW-экземпляра, которому она требуется.
[003] Следовательно, существуют широкие возможности для улучшения технологий, связанных с реализацией сотовых сетевых компонентов в облачном окружении.
Сущность изобретения
[004] Это краткое изложение сущности изобретения приведено для представления в упрощенной форме подборки концепций, которые дополнительно описаны ниже в подробном описании. Данное краткое изложение сущности изобретения не имеет намерением ни то, чтобы идентифицировать ключевые признаки или важнейшие признаки заявленного изобретения, ни то, чтобы использоваться для ограничения объема заявленного изобретения.
[005] Описываются технологии для управления базовым сотовым сетевым стеком в облачном вычислительном окружении (например, в открытой облачной инфраструктуре). Например, виртуализированные пакетные шлюзы могут выполняться на виртуальных машинах облачного вычислительного окружения, и стандартные модули балансировки нагрузки могут распределять сетевой трафик сотовой сети между виртуализированными пакетными шлюзами. Определенное число виртуализированных пакетных шлюзов может горизонтально масштабироваться (добавление новых виртуализированных пакетных шлюзов) либо понижающе масштабироваться (удаление виртуализированных пакетных шлюзов) с помощью модулей балансировки нагрузки, надлежащим образом распределяющих сетевой трафик. Виртуализированные пакетные шлюзы могут устанавливаться с локальным кэшем внешнего хранилища ключей/значений (KVS), содержащего каналы сотовой сети, и обрабатывать принимаемые сетевые пакеты плоскости данных с использованием локального кэша. Каналы (bearer) могут обновляться в сотовой сети с использованием внешнего хранилища ключей/значений, и виртуализированные пакетные шлюзы могут получать и использовать обновленные сведения каналов.
[006] Например, виртуализированный пакетный шлюз в облачном вычислительном окружении может выполнять операции для того, чтобы обрабатывать сетевые пакеты плоскости данных для сотовой сети. Виртуализированный пакетный шлюз может принимать всю копию внешнего хранилища ключей/значений, при этом внешнее хранилище ключей/значений содержит сведения каналов для всех текущих каналов сотовой сети, и при этом сведения каналов задают сетевые потоки, ассоциированные с абонентским устройством, с использованием сотовой сети. Виртуализированный пакетный шлюз может сохранять всю копию внешнего хранилища ключей/значений в локальном кэше. Виртуализированный пакетный шлюз может принимать сетевые пакеты плоскости данных из модуля балансировки нагрузки. Виртуализированный пакетный шлюз может обрабатывать сетевые пакеты плоскости данных, причем обработка содержит идентификацию каналов, ассоциированных с сетевыми пакетами плоскости данных, в локальном кэше.
[007] В качестве другого примера, виртуализированный пакетный шлюз, работающий в облачном вычислительном окружении, может принимать первый сетевой пакет плоскости данных, ассоциированный с первым каналом. При определении того, что первый канал не находится в локальном кэше, виртуализированный пакетный шлюз может извлекать сведения каналов для первого канала из внешнего хранилища ключей/значений и сохранять извлеченные сведения каналов для первого канала в локальном кэше. Виртуализированный пакетный шлюз может обрабатывать первый сетевой пакет плоскости данных, по меньшей мере, частично на основе сведений каналов для первого канала, сохраненных в локальном кэше. Виртуализированный пакетный шлюз может принимать сетевую связь, указывающую то, что первый канал обновлен. В ответ на прием сетевой связи, виртуализированный пакетный шлюз может извлекать обновленные сведения каналов для первого канала из внешнего хранилища ключей/значений и сохранять извлеченные обновленные сведения каналов в локальном кэше. Виртуализированный пакетный шлюз может принимать второй сетевой пакет плоскости данных, ассоциированный с первым каналом, и обрабатывать второй сетевой пакет плоскости данных, по меньшей мере, частично на основе обновленных сведений каналов для первого канала, сохраненных в локальном кэше.
[008] Как описано в данном документе, множество других признаков и преимуществ могут быть включены в технологии требуемым образом.
Краткое описание чертежей
[009] Фиг. 1 является схемой, иллюстрирующей примерное облачное вычислительное окружение, в котором реализуются компоненты сотовой сети, включающие в себя виртуализированные пакетные шлюзы.
[010] Фиг. 2 является схемой, иллюстрирующей примерное облачное вычислительное окружение, в котором реализуются компоненты сотовой сети, включающие в себя SPGW-U.
[011] Фиг. 3 является примерной машиной состояний, иллюстрирующей поток сетевых пакетов и статус каналов плоскости данных.
[012] Фиг. 4 является блок-схемой последовательности операций примерного способа для управления виртуализированным пакетным шлюзом в облачном вычислительном окружении для того, чтобы обрабатывать сетевые пакеты плоскости данных для сотовой сети.
[013] Фиг. 5 является блок-схемой последовательности операций примерного способа для управления виртуализированным пакетным шлюзом в облачном вычислительном окружении для того, чтобы обрабатывать сетевые пакеты плоскости данных для сотовой сети.
[014] Фиг. 6 является схемой примерной вычислительной системы, в которой могут реализовываться некоторые описанные варианты осуществления.
[015] Фиг. 7 является примерным мобильным устройством, которое может использоваться в сочетании с технологиями, описанными в данном документе.
[016] Фиг. 8 является примерным окружением с поддержкой облачных вычислений, которое может использоваться в сочетании с технологиями, описанными в данном документе.
Подробное описание изобретения
Общее представление
[017] Как описано в данном документе, различные технологии и решения могут применяться для управления базовым сотовым сетевым стеком в облачном вычислительном окружении (например, в открытой облачной инфраструктуре). Например, виртуализированные пакетные шлюзы могут выполняться на виртуальных машинах облачного вычислительного окружения, и стандартные модули балансировки нагрузки могут распределять сетевой трафик сотовой сети между виртуализированными пакетными шлюзами. Определенное число виртуализированных пакетных шлюзов может горизонтально масштабироваться (добавление новых виртуализированных пакетных шлюзов) либо понижающе масштабироваться (удаление виртуализированных пакетных шлюзов) с помощью модулей балансировки нагрузки, надлежащим образом распределяющих сетевой трафик.
[018] Чтобы предоставлять сотовые сетевые услуги в облачном вычислительном окружении, поддерживается хранилище ключей/значений (например, база данных, плоский файл или другой тип хранилища данных). Хранилище ключей/значений сохраняет сведения каналов для текущих каналов сотовой сети. Сведения каналов задают сетевые потоки, ассоциированные с абонентским устройством (например, с мобильными телефонами или с другими вычислительными устройствами с возможностями сотовых сетевых подключений), с использованием сотовой сети. Хранилище ключей/значений представляет собой отдельное хранилище данных от других компонентов сотовой сети, таких как виртуализированные пакетные шлюзы. Другими словами, хранилище ключей/значений является внешним для виртуализированных пакетных шлюзов (также называется "внешним хранилищем ключей/значений"). В некоторых реализациях, хранилище ключей/значений поддерживает сведения каналов для всех текущих каналов сотовой сети (например, представляющих все текущие сетевые потоки, которые являются активными в сотовой сети, выполняющейся в облачном вычислительном окружении).
[019] В технологиях, описанных в данном документе, сетевые пакеты плоскости данных обрабатываются посредством виртуализированных пакетных шлюзов. Например, определенное число виртуализированных пакетных шлюзов может подвергаться созданию экземпляра и выполняться на виртуальных машинах облачного вычислительного окружения, чтобы обрабатывать сетевые пакеты плоскости данных, передаваемые в/из абонентского устройства. В некоторых реализациях (например, в реализации, управляющей сотовой LTE-сетью), виртуализированный пакетный шлюз представляет собой обслуживающий шлюз (SGW), пакетный шлюз (PGW) или обслуживающий шлюз/пакетный шлюз (SPGW). Обслуживающий шлюз/пакетный шлюз, который обрабатывает сетевые пакеты плоскости данных (также называется "пользовательской плоскостью"), также называется "SPGW-U". Обслуживающий шлюз/пакетный шлюз, который обрабатывает пакеты сети плоскости управления, также называется "SPGW-C".
[020] В традиционной сотовой сети, поставщик услуг связи управляет компонентами системы. Компоненты могут включать в себя следующее.
- Абонентское устройство (UE). Устройство, соединенное с сотовой сетью. Например, абонентское устройство может включать в себя мобильные телефоны или другие вычислительные устройства с характеристиками сотовой связи.
- Усовершенствованный узел B (усовершенствованный узел B). Этот компонент означает сотовую сетевую базовую станцию, с которой соединяется абонентское устройство через соединение беспроводной связи (например, через сотовый радиомодуль).
- Объект управления мобильностью (MME). Этот компонент управляет доступом к сотовой сети посредством абонентского устройства.
- Обслуживающий шлюз/пакетный шлюз (SPGW). Сетевые пакеты в/из абонентского устройства протекают через SPGW. SPGW предоставляет одну привязочную точку, которая может использоваться для того, чтобы ретранслировать пакеты в абонентское устройство, независимо от того, где перемещается абонентское устройство (например, когда абонентское устройство перемещается между вышками сотовой связи).
[021] В контексте сотового сетевого LTE-окружения, плоскость управления и плоскость данных (пользовательская плоскость) трактуются отдельно. Плоскость управления отвечает за установление, конфигурирование и разрыв соединений в плоскости данных. Плоскость данных переносит сетевые пакеты в/из абонентского устройства.
[022] В реализации облачного вычислительного окружения, множество SPGW-экземпляров могут требоваться для того, чтобы обрабатывать объем сетевого трафика, причем каждый SPGW-экземпляр выполняется в собственной виртуальной машине (VM). Эти экземпляры виртуальных машин приводит требуют информацию из плоскости управления таким образом, что они могут корректно обрабатывать сетевые пакеты плоскости данных.
[023] Модуль балансировки нагрузки в облачном вычислительном окружении проектируется с возможностью распределять сетевые пакеты между SPGW-экземплярами. Типичный модуль балансировки нагрузки должен распределять сетевые пакеты на основе информации заголовков пакетов (например, исходного IP-адреса и целевого IP-адреса из IP-заголовка, номеров исходных портов и/или целевых портов из заголовков в формате протокола пользовательских датаграмм (UDP) или протокола управления передачей (TCP) и/или из другой информации заголовков пакетов). Тем не менее, имеется проблема с выполнением SPGW-экземпляров в облачном вычислительном окружении с использованием традиционных технологий. В частности, когда SPGW-экземпляры выполняются в рамках модуля балансировки нагрузки, плоскость управления и плоскость данных для данного пользователя зачастую должны быть направлены в различные SPGW-экземпляры. В этой ситуации, может быть невозможным считывать или отправлять информацию плоскости управления посредством SPGW-экземпляра, которому она требуется. Одно потенциальное решение состоит в том, чтобы инструктировать MME (например, источнику информации плоскости управления) широковещательно передавать свои управляющие данные во все SPGW-экземпляры. Тем не менее, это потенциальное решение является неэффективным (например, требует значительного объема сетевого трафика) и может не масштабироваться за пределы небольшого числа SPGW.
[024] С использованием технологий, описанных в данном документе, сотовая сеть в облачном вычислительном окружении может работать более эффективно и надежно. Например, горизонтальное масштабирование может выполняться посредством предварительной загрузки контента хранилища ключей/значений (например, всего контента хранилища ключей/значений) в новый виртуализированный пакетный шлюз, экземпляр которого создан. Виртуализированный пакетный шлюз затем может подготавливаться к тому, чтобы обрабатывать любые сетевые пакеты плоскости данных, которые направлены в него, посредством модуля балансировки нагрузки в ходе события горизонтального масштабирования. В качестве другого примера, каналы могут перемещаться между виртуализированными пакетными шлюзами. Например, может сохраняться (например, в хранилище ключей/значений) информация владения, указывающая то, какой виртуализированный пакетный шлюз в данный момент обрабатывает сетевые пакеты плоскости данных для данного канала. Если сетевые пакеты плоскости данных направлены в другой виртуализированный пакетный шлюз (отличающийся от текущего владельца), то другой виртуализированный пакетный шлюз может вступать во владение (например, регистрировать себя в хранилище ключей/значений, с заменой предыдущего владельца). Таким образом, сетевые потоки для канала могут перемещаться между виртуализированными пакетными шлюзами (например, вследствие события понижающего масштабирования или по некоторой другой причине, такой как перегрузка или сбой сети), без необходимости закрывать соединение и начинать новый сетевой поток. В качестве другого примера, каналы могут обновляться (например, в то время, когда они являются активными, и без необходимости закрывать канал и устанавливать новый). Например, компоненты управления в плоскости управления (например, MME и/или шлюзы, обрабатывающие трафик плоскости управления) могут обновлять сведения каналов в хранилище ключей/значений. Компоненты управления в плоскости управления могут передавать служебные сигналы в виртуализированный пакетный шлюз, который владеет обновленным каналом, и виртуализированный пакетный шлюз может получать обновленные сведения каналов и использовать их во время обработки сетевых пакетов плоскости данных для канала.
Управление сотовой сетью в облачном вычислительном окружении
[025] В технологиях, описанных в данном документе, компоненты сотовой сети могут реализовываться в облачном вычислительном окружении (например, в открытом облачном окружении и/или в закрытом облачном окружении). Например, стандартные модули балансировки нагрузки облачного окружения могут использоваться для того, чтобы распределять сотовый сетевой трафик (например, сетевые пакеты плоскости данных) между совокупностью (например, кластером) виртуализированных пакетных шлюзов (например, SPGW-U). Внешнее хранилище ключей/значений может сохранять сведения каналов для текущих сетевых потоков в сотовой сети. Горизонтальное масштабирование виртуализированных пакетных шлюзов может выполняться посредством копирования всего контента внешнего хранилища ключей/значений в локальный кэш нового виртуализированного пакетного шлюза таким образом, что новый виртуализированный пакетный шлюз готов обрабатывать любой сетевой поток, который модуль балансировки нагрузки отправляет в него. Технологии также обеспечивают возможность каналам обновляться (например, для приема и применения, посредством виртуализированных пакетных шлюзов, обновленных сведений каналов), и перемещаться (например, для перемещения каналов между виртуализированными пакетными шлюзами). Каналы могут перемещаться и/или обновляться в то время, когда они остаются активными, и без необходимости закрывать каналы и устанавливать новые каналы.
[026] Фиг. 1 является схемой, иллюстрирующей примерное облачное вычислительное окружение 110, в котором реализуются компоненты сотовой сети (например, виртуальной сотовой сети). Например, облачное вычислительное окружение 110 может представлять собой открытое облачное окружение или закрытое облачное окружение. Облачное вычислительное окружение 110 предоставляет вычислительные ресурсы (например, серверы, виртуальные машины, ресурсы хранения, сетевые услуги и т.д.), на которых выполняются компоненты сотовой сети.
[027] Как проиллюстрировано на фиг. 1, абонентское устройство 120 и 122 (например, мобильные телефоны или другие вычислительные устройства с возможностями сотовых сетевых подключений) соединяется с сотовой сетью через сотовую базовую станцию 130 (например, вышку сотовой связи). Например, если сотовая сеть представляет собой сотовую сеть по стандарту долгосрочного развития (LTE), то сотовая базовая станция 130 может представлять собой усовершенствованный узел B. Также могут использоваться другие типы сотовых сетей, такие как сотовая 3G-сеть или сотовая 5G-сеть (например, которая может иметь другой тип сотовой базовой станции 130). Хотя проиллюстрированы только два примерных абонентских устройства 120 и 122, сотовая сеть типично может поддерживать гораздо больше абонентских устройств. Аналогично, сотовая сеть типично должна поддерживать определенное число сотовых базовых станций в различных географических местоположениях.
[028] Как проиллюстрировано на фиг. 1, определенное число сотовых сетевых компонентов реализуются в облачном вычислительном окружении 110. Компонент 140 управления в плоскости управления предоставляет услуги плоскости управления для сотовой сети и обрабатывает сетевой трафик плоскости управления. Например, компонент 140 управления в плоскости управления может устанавливать сетевые потоки (например, каналы) для осуществления доступа, посредством абонентского устройства 120 и 122, к услугам 180 (например, к сетям передачи данных общего пользования (PDN), таким как Интернет-сети или сотовые сети передачи данных). В зависимости от типа сотовой сети, компонент 140 управления в плоскости управления может содержать определенное число различных услуг. Например, для сотовой LTE-сети, компонент 140 управления в плоскости управления может содержать объект управления мобильностью (MME), обслуживающие и/или пакетные шлюзы, обрабатывающие сетевой трафик плоскости управления, модули балансировки нагрузки и т.д.
[029] Хранилище 170 ключей/значений представляет собой хранилище данных (например, централизованное хранилище данных или распределенное хранилище данных), содержащее сведения каналов для каналов сотовой сети. Например, когда компонент 140 управления в плоскости управления принимает запрос из абонентского устройства 120 на предмет того, чтобы осуществлять доступ к веб-узлу в Интернете (к одной из услуг 180) или выполнять голосовой вызов, компонент 140 управления в плоскости управления устанавливает канал (например, что может включать в себя определение того, авторизовано или нет абонентское устройство 120 на то, чтобы осуществлять доступ к услуге, к примеру, проверку тарифных планов передачи данных, биллинговой информации и т.д.). В качестве части установления канала, компонент 140 управления в плоскости управления сохраняет сведения каналов (например, TEID, QoS-значения, скорости передачи битов сети, к примеру, скорости загрузки и т.д.) для канала в хранилище 170 ключей/значений. Канал представляет тип сетевого трафика (например, сетевого потока) для конкретного абонентского устройства. Различные каналы могут создаваться для различных типов сетевого трафика и/или для различных вариантов применения, включающих в себя телефонные вызовы, просмотр веб-страниц, специальный трафик (например, потоковое видео, конкретное VoIP-приложение и т.д.), и/или для различного качества обслуживания (QoS). Данное абонентское устройство может иметь определенное число текущих активных каналов, представляющих различные сетевые потоки. В некоторых реализациях, для использования, посредством абонентского устройства, сотовой сети, канал должен сначала устанавливаться в сотовой сети для сетевого потока.
[030] Виртуализированные пакетные шлюзы 160 (например, определенное число виртуализированных пакетных шлюзов в кластере, выполняющихся на виртуальных машинах) обрабатывают сетевые пакеты плоскости данных для абонентского устройства 120 и 122. Например, виртуализированные пакетные шлюзы 160 обрабатывают сетевые пакеты плоскости данных, которые передаются между (в/из) абонентским устройством 120 и 122 и услугами 180 (например, Интернетом и/или другими внешними сетями).
[031] Когда один из виртуализированных пакетных шлюзов 160 принимает первый сетевой пакет плоскости данных для данного сетевого потока (например, для голосового вызова, доступа к конкретному веб-узлу и т.д.) из конкретного абонентского устройства, виртуализированный пакетный шлюз получает сведения каналов для канала из хранилища 170 ключей/значений (например, канал заранее установлен в хранилище ключей/значений посредством компонента 140 управления в плоскости управления). Виртуализированный пакетный шлюз может сохранять сведения каналов для канала в локальном кэше (например, в локальном хранилище ключей/значений виртуализированного пакетного шлюза).
[032] Сетевые пакеты плоскости данных (которые представляют собой сетевые пакеты по Интернет-протоколу (IP)) между абонентским устройством 120 и 120 и виртуализированными пакетными шлюзами 160 инкапсулируются. В некоторых реализациях, инкапсуляция выполняется согласно протоколу GPRS-туннелирования (GTP), такому как GTP-U. Например, инкапсуляция предоставляет способ управлять различными сетевыми потоками данного абонентского устройства. Протокол туннелирования назначает идентификатор (например, идентификатор конечной точки туннеля (TEID)) каналу, который ассоциирован с данным сетевым потоком, и отдельные идентификаторы могут использоваться для данных восходящей линии связи (данных, протекающих из абонентского устройства в услуги 180) и данных нисходящей линии связи (данных, протекающих из услуг 180 в абонентское устройство). Например, конкретный канал может устанавливаться для конкретного сетевого потока, в котором абонентское устройство 120 осуществляет доступ к конкретному веб-узлу, причем сведения каналов содержат два идентификатора (например, два TEID), причем один из них ассоциирован с трафиком восходящей линии связи, и один из них ассоциирован с трафиком нисходящей линии связи для сетевого потока.
[033] Модуль 150 балансировки нагрузки распределяет сетевые пакеты плоскости данных между виртуализированными пакетными шлюзами 160. Модуль 150 балансировки нагрузки представляет собой стандартный модуль балансировки нагрузки облачного вычислительного окружения 110 (например, стандартный модуль балансировки нагрузки, предоставленный посредством поставщика открытых облачных услуг), который направляет сетевой трафик на основе информации IP-заголовка. Поскольку модуль 150 балансировки нагрузки представляет собой стандартный модуль балансировки нагрузки, он не направляет сетевые пакеты на основе инкапсулированной пакетной информации (например, он не представляет собой модуль балансировки нагрузки специального назначения, который выполнен с возможностью работать с протоколом инкапсуляции, таким как GTP-U-протокол). Хотя один примерный модуль 150 балансировки нагрузки проиллюстрирован на чертеже, может использоваться определенное число модулей балансировки нагрузки (например, несколько сетевых устройств модуля балансировки нагрузки).
[034] Поскольку модуль 150 балансировки нагрузки представляет собой стандартный модуль балансировки нагрузки, он типично должен направлять сетевые пакеты для данного сетевого потока в идентичный виртуализированный пакетный шлюз на основе информации внешнего IP-заголовка (например, на основе исходных и целевых IP-адресов и/или номеров портов). Тем не менее, поскольку модуль 150 балансировки нагрузки не знает относительно каналов (например, он не анализирует инкапсулированные пакеты или инкапсулирующие заголовки), отсутствует способ определять то, какой из виртуализированных пакетных шлюзов должен принимать сетевые пакеты данного канала. Одно потенциальное решение заключается в том, чтобы передавать все сведения каналов во все виртуализированные пакетные шлюзы. Тем не менее, это потенциальное решение является неэффективным (например, использует значительные вычислительные ресурсы, включающие в себя полосу пропускания сети, ресурсы обработки и хранения).
[035] С использованием технологий, описанных в данном документе, могут предоставляться более эффективные решения. Например, посредством использования хранилища 170 ключей/значений в качестве репозитория для сведений каналов для каналов сотовой сети, виртуализированные пакетные шлюзы 160 могут получать сведения каналов при необходимости. Например, когда один из виртуализированных пакетных шлюзов 160 принимает сетевой пакет плоскости данных, ассоциированный с неизвестным каналом (например, с каналом, который не находится в локальном кэше виртуализированного пакетного шлюза), виртуализированный пакетный шлюз может получать сведения каналов для канала из внешнего хранилища 170 ключей/значений и сохранять их в своем локальном кэше. Это предоставляет улучшения с точки зрения вычислительных ресурсов (например, полосы пропускания сети, ресурсов обработки и хранения) по сравнению с решением, в котором все сведения каналов сохраняются в каждом из виртуализированных пакетных шлюзов 160.
[036] Другая потенциальная проблема с управлением сотовыми сетевыми компонентами в облачном вычислительном окружении может возникать в ходе горизонтального масштабирования вследствие виртуализированных пакетных шлюзов 160. Например, в ходе события горизонтального масштабирования, в котором новый виртуализированный пакетный шлюз добавляется в виртуализированные пакетные шлюзы 160 (например, в котором новый экземпляр виртуализированного пакетного шлюза подвергается созданию экземпляра на виртуальной машине), модуль 150 балансировки нагрузки должен начинать отправку сетевых пакетов плоскости данных в новый виртуальный шлюз пропорционально числу виртуализированных пакетных шлюзов 160 (например, разделять сетевые потоки плоскости данных равномерно между виртуализированными пакетными шлюзами 160). Если новый виртуализированный пакетный шлюз начинает прием большого объема сетевых потоков для каналов, которые он еще не наблюдает, то новый виртуализированный пакетный шлюз может становиться перегруженным (например, с вызыванием задержки или отбрасывания сетевых пакетов, что может приводить к задержкам или прерываниям предоставления сетевых услуг). Одно потенциальное решение состоит в том, чтобы инструктировать новому виртуализированному пакетному шлюзу получать сведения каналов из хранилища 170 ключей/значений для каждого нового канала по мере того, как он встречается (например, при приеме первого сетевого пакета, ассоциированного с данным каналом). Тем не менее, новый виртуализированный пакетный шлюз по-прежнему может становиться перегруженным с внезапным поступлением сетевого трафика и соответствующих новых сведений каналов, которые должны получаться, когда новый виртуализированный пакетный шлюз начинает работу, и модуль 150 балансировки нагрузки начинает направлять сетевые пакеты.
[037] С использованием технологий, описанных в данном документе, могут уменьшаться или исключаться такие проблемы с событием горизонтального масштабирования. Например, после того, как новый виртуализированный пакетный шлюз создается, и до того, как он начинает прием сетевых пакетов плоскости данных из модуля 150 балансировки нагрузки, сведения каналов могут копироваться из хранилища 170 ключей/значений в локальный кэш нового виртуализированного пакетного шлюза. В некоторых реализациях, вся копия хранилища 170 ключей/значений сохраняется в локальный кэш нового виртуализированного пакетного шлюза. После того как копия хранилища 170 ключей/значений сохранена в новом виртуализированном пакетном шлюзе, модуль 150 балансировки нагрузки начинает направление сетевых пакетов плоскости данных в новый виртуализированный пакетный шлюз. Поскольку локальный кэш нового виртуализированного пакетного шлюза заполнен (например, заранее заполнен) сведениями каналов, любые сетевые пакеты плоскости данных, которые он принимает из модуля 150 балансировки нагрузки, должны иметь ассоциированные сведения каналов в локальном кэше, и новый виртуализированный пакетный шлюз должен иметь возможность обрабатывать их эффективно и без необходимости получать сведения каналов из хранилища 170 ключей/значений. Это должно приводить к экономии с точки зрения сетевой чувствительности (например, к уменьшенной задержке) и надежности (например, к уменьшенной вероятности прерывания предоставления сетевых услуг для абонентского устройства).
[038] Аналогичные проблемы могут возникать в ходе понижающего масштабирования вследствие виртуализированных пакетных шлюзов 160. Например, оставшиеся виртуализированные пакетные шлюзы 160 могут принимать часть сетевых потоков, которые заранее обслуживаются посредством виртуализированного пакетного шлюза, который выведен из обслуживания. Тем не менее, в этой ситуации, дополнительные сетевые потоки, направленные посредством модуля 150 балансировки нагрузки в данный оставшийся виртуализированный пакетный шлюз, не должны перегружать оставшийся виртуализированный пакетный шлюз. Следовательно, оставшийся виртуализированный пакетный шлюз может получать новые сведения каналов из хранилища 170 ключей/значений для дополнительных сетевых потоков при необходимости.
[039] Другая потенциальная проблема с управлением сотовыми сетевыми компонентами в облачном вычислительном окружении может возникать, когда каналы должны перемещаться между виртуализированными пакетными шлюзами, и/или когда сведения каналов должны обновляться. Например, канал, представляющий текущий сетевой поток, возможно, должен перемещаться в ходе события горизонтального масштабирования, события понижающего масштабирования или по некоторой другой причине (например, в силу перегрузки сети или перегруженного виртуализированного пакетного шлюза). В некоторых решениях, каналы привязаны к конкретному виртуализированному пакетному шлюзу и не могут перемещаться (например, сбой виртуализированного пакетного шлюза должен приводить к сбою всех каналов и ассоциированных сетевых потоков, обслуживаемых посредством виртуализированного пакетного шлюза). В технологиях, описанных в данном документе, каналы и ассоциированные сетевые потоки могут перемещаться между виртуализированными пакетными шлюзами. Например, если модуль 150 балансировки нагрузки направляет сетевой поток канала в другой виртуализированный пакетный шлюз, то другой виртуализированный пакетный шлюз может получать сведения каналов из хранилища 170 ключей/значений при приеме первого сетевого пакета плоскости данных сетевого потока и обслуживать этот канал. Это решение может выполняться в ходе события горизонтального масштабирования, события понижающего масштабирования или вследствие некоторой другой причины, которая заставляет сетевой поток перемещаться в другой виртуализированный пакетный шлюз.
[040] Аналогичная проблема может возникать, когда должен обновляться канал. Например, канал, возможно, должен обновляться вследствие изменения статуса учетной записи (например, ограничений по полосе пропускания, типов услуг, к которым осуществляется доступ, проблем при биллинге и т.д.). В некоторых решениях, каналы не могут обновляться в течение сетевого потока (например, если изменение должно быть внесено, то новый канал должен устанавливаться, что уменьшает эффективность и требует дополнительных вычислительных ресурсов). В технологиях, описанных в данном документе, каналы могут обновляться. Чтобы обновлять каналы, хранилище 170 ключей/значений может сохранять информацию владения для каналов, которая указывает то, какой виртуализированный пакетный шлюз владеет каждым каналом (например, в данный момент отвечает за обработку сетевых пакетов плоскости данных для канала). Например, когда виртуализированный пакетный шлюз принимает первый сетевой пакет плоскости данных, ассоциированный с конкретным каналом (например, если конкретный канал не находится в локальном кэше виртуализированного пакетного шлюза, и/или если пакеты для конкретного канала не обработаны до этого), виртуализированный пакетный шлюз может получать сведения каналов для конкретного канала из хранилища 170 ключей/значений и регистрировать себя в качестве владельца конкретного канала в хранилище 170 ключей/значений (например, хранилище 170 ключей/значений может поддерживать отдельные таблицы с привязками между каналами и виртуализированными пакетными шлюзами). Когда канал должен обновляться, компонент 140 управления в плоскости управления может обновлять сведения каналов в хранилище 170 ключей/значений, определять то, какой виртуализированный пакетный шлюз представляет собой владельца для канала, и предупреждать виртуализированный пакетный шлюз таким образом, что виртуализированный пакетный шлюз может получать обновленные сведения каналов из хранилища 170 ключей/значений. Это решение обеспечивает возможность каналу обновляться в течение сетевого потока, без необходимости останавливать и повторно устанавливать новый сетевой поток, что экономит время, вычислительные ресурсы и позволяет уменьшать или исключать нарушения в работе сети.
[041] Фиг. 2 является схемой, иллюстрирующей примерное облачное вычислительное окружение 210, в котором реализуются компоненты сотовой LTE-сети (например, виртуальной сотовой LTE-сети), включающей в себя SPGW-U. Например, облачное вычислительное окружение 210 может представлять собой открытое облачное окружение или закрытое облачное окружение. Облачное вычислительное окружение 210 предоставляет вычислительные ресурсы (например, серверы, виртуальные машины, ресурсы хранения, сетевые услуги и т.д.), на которых выполняются компоненты сотовой сети. Многие компоненты, описанные относительно фиг. 2, выполняют функции, идентичные или аналогичные функциям соответствующих компонентов, описанных выше относительно фиг. 1.
[042] Как проиллюстрировано на фиг. 2, абонентское устройство 220 и 222 (например, мобильные телефоны или другие вычислительные устройства с возможностями сотовых сетевых подключений) соединяется с сотовой сетью через усовершенствованный узел B 230 (например, сотовую базовую станцию в сотовой LTE-сети). Также могут использоваться другие типы сотовых сетей, такие как сотовая 3G-сеть или сотовая 5G-сеть. Хотя проиллюстрированы только два примерных абонентских устройства 220 и 222, сотовая сеть типично может поддерживать гораздо больше абонентских устройств. Аналогично, сотовая сеть типично должна поддерживать определенное число сотовых базовых станций в различных географических местоположениях.
[043] Как проиллюстрировано на фиг. 2, определенное число сотовых сетевых компонентов реализуется в облачном вычислительном окружении 210. Определенное число компонентов предоставляют услуги плоскости управления для сотовой сети и обрабатывают сетевой трафик плоскости управления, включающих в себя MME 240 и обслуживающие/пакетные шлюзы 262 (SPGW-C). Например, MME 240, в сочетании с SPGW-C 262, может устанавливать сетевые потоки (например, каналы) для осуществления доступа, посредством абонентского устройства 220 и 222, к услугам 290 (например, к сетям передачи данных общего пользования (PDN), таким как Интернет-сети или сотовые сети передачи данных). Модуль 252 балансировки нагрузки (либо несколько модулей балансировки нагрузки в некоторых реализациях) может распределять сетевой трафик плоскости управления между определенным числом SPGW-C 262 (например, чтобы обрабатывать нагрузку по сетевому трафику плоскости управления сотовой сети).
[044] Хранилище 270 ключей/значений представляет собой хранилище данных (например, централизованное хранилище данных или распределенное хранилище данных), содержащее сведения каналов для каналов сотовой сети. Например, когда MME 240 принимает запрос из абонентского устройства 220 на предмет того, чтобы осуществлять доступ к веб-узлу в Интернете (к одной из услуг 290) или выполнять голосовой вызов, MME 240 устанавливает канал (например, что может включать в себя определение того, авторизовано или нет абонентское устройство 220 на то, чтобы осуществлять доступ к услуге, к примеру, проверку тарифных планов передачи данных, биллинговой информации и т.д.). Например, MME 240 может инструктировать SPGW-C 262 конфигурировать канал и сохранять сведения каналов для канала в хранилище 270 ключей/значений. Канал представляет тип сетевого трафика (например, сетевого потока) для конкретного абонентского устройства. Различные каналы могут создаваться для различных типов сетевого трафика и/или для различных вариантов применения, включающих в себя телефонные вызовы, просмотр веб-страниц, специальный трафик (например, потоковое видео, конкретное VoIP-приложение и т.д.), и/или для различного качества обслуживания (QoS). Данное абонентское устройство может иметь определенное число текущих активных каналов, представляющих различные сетевые потоки. В некоторых реализациях, для использования, посредством абонентского устройства, сотовой сети, канал должен сначала устанавливаться в сотовой сети для сетевого потока.
[045] SPGW-U 260 (например, определенное число SPGW-U в кластере, выполняющихся на виртуальных машинах) обрабатывают сетевые пакеты плоскости данных для абонентского устройства 220 и 222. Например, SPGW-U 260 обрабатывают сетевые пакеты плоскости данных, которые передаются между (в/из) абонентским устройством 220 и 222 и услугами 290 (например, Интернетом и/или другими внешними сетями). В некоторых реализациях, служба 280 трансляции сетевых адресов (NAT) используется для трансляции IP-адресов между SPGW-U 260 и услугами 290 (например, Интернетом).
[046] Когда один из SPGW-U 260 принимает первый сетевой пакет плоскости данных для данного сетевого потока (например, для голосового вызова, доступа к конкретному веб-узлу и т.д.) из конкретного абонентского устройства, SPGW-U получает сведения каналов для канала из хранилища 270 ключей/значений (например, канал заранее установлен в хранилище ключей/значений посредством MME 240 и/или SPGW-C 262). SPGW-U может сохранять сведения каналов для канала в локальном кэше (например, в локальном хранилище ключей/значений SPGW-U).
[047] Сетевые пакеты плоскости данных (которые представляют собой сетевые пакеты по Интернет-протоколу (IP)) между абонентским устройством 220 и 220 и SPGW-U 260 инкапсулируются. В некоторых реализациях, инкапсуляция выполняется согласно протоколу GPRS-туннелирования (GTP), такому как GTP-U. Например, инкапсуляция предоставляет способ управлять различными сетевыми потоками данного абонентского устройства. Протокол туннелирования назначает идентификатор (например, идентификатор конечной точки туннеля (TEID)) каналу, который ассоциирован с данным сетевым потоком, и отдельные идентификаторы могут использоваться для данных восходящей линии связи (данных, протекающих из абонентского устройства в услуги 290) и данных нисходящей линии связи (данных, протекающих из услуг 290 в абонентское устройство). Например, конкретный канал может устанавливаться для конкретного сетевого потока, в котором абонентское устройство 220 осуществляет доступ к конкретному веб-узлу, причем сведения каналов содержат два идентификатора (например, два TEID), причем один из них ассоциирован с трафиком восходящей линии связи, и один из них ассоциирован с трафиком нисходящей линии связи для сетевого потока.
[048] Модуль 250 балансировки нагрузки распределяет сетевые пакеты плоскости данных между SPGW-U 260. Модуль 250 балансировки нагрузки представляет собой стандартный модуль балансировки нагрузки облачного вычислительного окружения 210 (например, стандартный модуль балансировки нагрузки, предоставленный посредством поставщика открытых облачных услуг), который направляет сетевой трафик на основе информации IP-заголовка. Поскольку модуль 250 балансировки нагрузки представляет собой стандартный модуль балансировки нагрузки, он не направляет сетевые пакеты на основе инкапсулированной пакетной информации (например, он не представляет собой модуль балансировки нагрузки специального назначения, который выполнен с возможностью работать с протоколом инкапсуляции, таким как GTP-U-протокол). Хотя один примерный модуль 250 балансировки нагрузки проиллюстрирован на чертеже, может использоваться определенное число модулей балансировки нагрузки (например, несколько сетевых устройств модуля балансировки нагрузки).
[049] Поскольку модуль 250 балансировки нагрузки представляет собой стандартный модуль балансировки нагрузки, он типично должен направлять сетевые пакеты для данного сетевого потока в идентичный SPGW-U на основе информации внешнего IP-заголовка (например, на основе исходных и целевых IP-адресов и/или номеров портов). Тем не менее, поскольку модуль 250 балансировки нагрузки не знает относительно каналов (например, он не анализирует инкапсулированные пакеты или инкапсулирующие заголовки), отсутствует способ определять то, какой из SPGW-U должен принимать сетевые пакеты данного канала. Одно потенциальное решение заключается в том, чтобы передавать все сведения каналов во все SPGW-U. Тем не менее, это потенциальное решение является неэффективным (например, использует значительные вычислительные ресурсы, включающие в себя полосу пропускания сети, ресурсы обработки и хранения).
[050] С использованием технологий, описанных в данном документе, могут предоставляться более эффективные решения. Например, посредством использования хранилища 270 ключей/значений в качестве репозитория для сведений каналов для каналов сотовой сети, SPGW-U 260 могут получать сведения каналов при необходимости. Например, когда один из SPGW-U 260 принимает сетевой пакет плоскости данных, ассоциированный с неизвестным каналом (например, с каналом, который не находится в локальном кэше SPGW-U), SPGW-U может получать сведения каналов для канала из внешнего хранилища 270 ключей/значений и сохранять их в своем локальном кэше. Это предоставляет улучшения с точки зрения вычислительных ресурсов (например, полосы пропускания сети, ресурсов обработки и хранения) по сравнению с решением, в котором все сведения каналов сохраняются в каждом из SPGW-U 260.
[051] Другая потенциальная проблема с управлением сотовыми сетевыми компонентами в облачном вычислительном окружении может возникать в ходе горизонтального масштабирования вследствие SPGW-U 262. Например, в ходе события горизонтального масштабирования, в котором новый SPGW-U добавляется в SPGW-U 262 (например, в котором новый экземпляр SPGW-U подвергается созданию экземпляра на виртуальной машине), модуль 250 балансировки нагрузки должен начинать отправку сетевых пакетов плоскости данных в новый SPGW-U пропорционально числу SPGW-U 262 (например, разделять сетевые потоки плоскости данных равномерно между SPGW-U 262). Если новый SPGW-U начинает прием большого объема сетевых потоков для каналов, которые он еще не наблюдает, то новый SPGW-U может становиться перегруженным (например, с вызыванием задержки или отбрасывания сетевых пакетов, что может приводить к задержкам или прерываниям предоставления сетевых услуг). Одно потенциальное решение состоит в том, чтобы инструктировать новому SPGW-U получать сведения каналов из хранилища 270 ключей/значений для каждого нового канала по мере того, как он встречается (например, при приеме первого сетевого пакета, ассоциированного с данным каналом). Тем не менее, новый SPGW-U по-прежнему может становиться перегруженным с внезапным поступлением сетевого трафика и соответствующих новых сведений каналов, которые должны получаться, когда новый SPGW-U начинает работу, и модуль 250 балансировки нагрузки начинает направлять сетевые пакеты.
[052] С использованием технологий, описанных в данном документе, могут уменьшаться или исключаться такие проблемы с событием горизонтального масштабирования. Например, после того, как новый SPGW-U создается, и до того, как он начинает прием сетевых пакетов плоскости данных из модуля 250 балансировки нагрузки, сведения каналов могут копироваться из хранилища 270 ключей/значений в локальный кэш нового SPGW-U. В некоторых реализациях, вся копия хранилища 270 ключей/значений сохраняется в локальный кэш нового SPGW-U. После того как копия хранилища 270 ключей/значений сохранена в новом SPGW-U, модуль 250 балансировки нагрузки начинает направление сетевых пакетов плоскости данных в новый SPGW-U. Поскольку локальный кэш нового SPGW-U заполнен (например, заранее заполнен) сведениями каналов, любые сетевые пакеты плоскости данных, которые он принимает из модуля 250 балансировки нагрузки, должны иметь ассоциированные сведения каналов в локальном кэше, и новый SPGW-U должен иметь возможность обрабатывать их эффективно и без необходимости получать сведения каналов из хранилища 270 ключей/значений. Это должно приводить к экономии с точки зрения сетевой чувствительности (например, к уменьшенной задержке) и надежности (например, к уменьшенной вероятности прерывания предоставления сетевых услуг для абонентского устройства).
[053] Аналогичные проблемы могут возникать в ходе понижающего масштабирования вследствие SPGW-U 262. Например, оставшиеся SPGW-U 262 могут принимать часть сетевых потоков, которые заранее обслуживаются посредством SPGW-U, который выведен из обслуживания. Тем не менее, в этой ситуации, дополнительные сетевые потоки, направленные посредством модуля 250 балансировки нагрузки в данный оставшийся SPGW-U, не должны перегружать оставшийся SPGW-U. Следовательно, оставшийся SPGW-U может получать новые сведения каналов из хранилища 270 ключей/значений для дополнительных сетевых потоков при необходимости.
[054] Другая потенциальная проблема с управлением сотовыми сетевыми компонентами в облачном вычислительном окружении может возникать, когда каналы должны перемещаться между SPGW-U, и/или когда сведения каналов должны обновляться. Например, канал, представляющий текущий сетевой поток, возможно, должен перемещаться в ходе события горизонтального масштабирования, события понижающего масштабирования или по некоторой другой причине (например, в силу перегрузки сети или перегруженного SPGW-U). В некоторых решениях, каналы привязаны к конкретному SPGW-U и не могут перемещаться (например, сбой SPGW-U должен приводить к сбою всех каналов и ассоциированных сетевых потоков, обслуживаемых посредством SPGW-U). В технологиях, описанных в данном документе, каналы и ассоциированные сетевые потоки могут перемещаться между SPGW-U. Например, если модуль 250 балансировки нагрузки направляет сетевой поток канала в другой SPGW-U, то другой SPGW-U может получать сведения каналов из хранилища 270 ключей/значений при приеме первого сетевого пакета плоскости данных сетевого потока и обслуживать этот канал. Это решение может выполняться в ходе события горизонтального масштабирования, события понижающего масштабирования или вследствие некоторой другой причины, которая заставляет сетевой поток перемещаться в другой SPGW-U.
[055] Аналогичная проблема может возникать, когда должен обновляться канал. Например, канал, возможно, должен обновляться вследствие изменения статуса учетной записи (например, ограничений по полосе пропускания, типов услуг, к которым осуществляется доступ, проблем при биллинге и т.д.). В некоторых решениях, каналы не могут обновляться в течение сетевого потока (например, если изменение должно быть внесено, то новый канал должен устанавливаться, что уменьшает эффективность и требует дополнительных вычислительных ресурсов). В технологиях, описанных в данном документе, каналы могут обновляться. Чтобы обновлять каналы, хранилище 270 ключей/значений может сохранять информацию владения для каналов, которая указывает то, какой SPGW-U владеет каждым каналом (например, в данный момент отвечает за обработку сетевых пакетов плоскости данных для канала). Например, когда SPGW-U принимает первый сетевой пакет плоскости данных, ассоциированный с конкретным каналом (если конкретный канал не находится в локальном кэше SPGW-U, и/или если пакеты для конкретного канала не обработаны до этого), SPGW-U может получать сведения каналов для конкретного канала из хранилища 270 ключей/значений и регистрировать себя в качестве владельца конкретного канала в хранилище 270 ключей/значений (например, хранилище 270 ключей/значений может поддерживать отдельные таблицы с привязками между каналами и SPGW-U). Когда канал должен обновляться, MME 240 и/или SPGW-C 262 могут обновлять сведения каналов в хранилище 270 ключей/значений, определять то, какой SPGW-U представляет собой владельца для канала, и предупреждать SPGW-U таким образом, что SPGW-U может получать обновленные сведения каналов из хранилища 270 ключей/значений. Это решение обеспечивает возможность каналу обновляться в течение сетевого потока, без необходимости останавливать и повторно устанавливать новый сетевой поток, что экономит время, вычислительные ресурсы и позволяет уменьшать или исключать нарушения в работе сети.
[056] В примерном облачном вычислительном окружении 210, SPGW-U 260 проиллюстрированы как комбинированное решение, в котором обслуживающий шлюз и пакетный шлюз для трафика плоскости данных комбинируются в интегрированный или совместно размещенный компонент обслуживающего шлюза/пакетного шлюза. Тем не менее, в некоторых реализациях обслуживающий шлюз и пакетный шлюз представляют собой отдельные компоненты, которые работают независимо. Например, могут возникать различные причины, по которым, для отдельных UE, SGW и PGW могут находиться в различных местоположениях. Одна причина заключается в выборе службы доменных имен (DNS). Когда UE присоединяется, усовершенствованное ядро пакетной коммутации (EPC) может использовать DNS-сервер для того, чтобы отдельно выбирать SGW и PGW. Алгоритм выбора может использовать различные критерии для каждого из них; SGW может быть основан на местоположении (нормально выбирается SGW, ближайший к базовой станции), тогда как PGW может быть основан на имени точки доступа (APN) (которое фактически задает тип услуги и сети, с которой должно соединяться UE). Другая причина представляет собой роуминг. Может быть предусмотрен сценарий, в котором PGW расположен в собственной сети, и SGW расположен в гостевой сети. Это является типичным, например, для операторов мобильных виртуальных сетей (MVNO).
[057] В реализации, в которой SGW и PGW являются отдельными (например, находятся в отдельных местоположениях, к примеру, с выполнением на различных вычислительных устройствах), они могут обмениваться данными через S5/S8-интерфейс. Могут быть предусмотрены две разновидности этого: одна на основе GTP-туннелей, и другая на основе прокси-IPv6 для мобильных устройств (PMIPv6) (RFC 5213).
[058] В реализациях, которые используют комбинированный SPGW, отсутствует необходимый S5/S8-интерфейс. SPGW-U преобразуется из IP в GTP TEID в нисходящей линии связи и из TEID в IP в восходящей линии связи. Тем не менее, в реализациях, в которых SGW и PGW являются отдельными и используют S5/S8-интерфейс, могут использоваться следующие преобразования:
- PGW-u (на основе GTP): нисходящая линия связи: из IP в GTP TEID, восходящая линия связи: из GTP TEID в IP
- SGW-u (на основе GTP): нисходящая линия связи: из GTP TEID в GTP TEID, восходящая линия связи: из GTP TEID в GTP TEID
- PGW-u (на основе PMIPv6): нисходящая линия связи: из IP в туннель общей инкапсуляции маршрутов (GRE), восходящая линия связи: из GRE-туннеля в IP
- SGW-u (на основе PMIPv6): нисходящая линия связи: Из GRE-туннеля в GTP TEID, восходящая линия связи: из GTP TEID в GRE-туннель
[059] Фиг. 3 является примерной машиной 300 состояний, иллюстрирующей поток сетевых пакетов и статус каналов (например, владение, добавление, удаление и обновление) плоскости данных (пользовательской плоскости). Например, примерная машина 300 состояний может реализовываться посредством виртуализированных пакетных шлюзов (например, посредством виртуализированных пакетных шлюзов 160) и/или посредством SPGW (например, посредством SPGW-U 260 и/или посредством SPGW-C 262). В некоторых реализациях, предусмотрен экземпляр машины состояний для каждого канала.
[060] Относительно примерной машины 300 состояний, имеется определенное число возможных событий, которые могут возникать, включающих в себя:
1. Пакет восходящей линии связи поступает в пользовательскую плоскость - т.е. пакет из UE проходит к PDN.
2. Пакет нисходящей линии связи поступает в пользовательскую плоскость - т.е. из PDN в UE.
3. Пакет обновления канала поступает в плоскость управления, может исходить из MME или KVS.
4. Пакет с сообщением неизвестного канала поступает в плоскость управления из KVS.
5. Пакет удаления канала поступает в плоскость управления из MME.
6. Пакет подтверждения добавления владельца поступает в плоскость управления из KVS.
7. Пакет подтверждения удаления владельца поступает в плоскость управления из KVS.
[061] Предусмотрено определенное число переменных, используемых относительно примерной машины 300 состояний, которые задаются следующим образом.
[062] Am_owner. Эта переменная указывает то, должен или нет (например, виртуализированный пакетный шлюз) сообщать в таблицу KVS-владельцев то, что он представляет собой владельца этого канала. Следующие значения являются возможными.
0 Не сообщать KVS то, что он представляет собой владельца.
Add pending Сообщать KVS то, что он представляет собой владельца, но еще не принял подтверждение.
1 Сообщать KVS то, что он представляет собой владельца и принял подтверждение из KVS.
Del pending Сообщать KVS то, что он более не представляет собой владельца, но еще не принял подтверждение.
[063] Read_route_pending. Булева запись в отношении того, запрашивает или нет SPGW сведения каналов из KVS. Она используется для того, чтобы предотвращать запрашивание, посредством SPGW, сведений каналов многократно при ожидании считывания обновления канала из KVS.
0 Запрос на считывание сведений каналов не отправлен.
1 Запрос отправлен.
[064] Cached_route_seq: целое число, которое записывает порядковый номер, который присутствует в обновлении канала, которое в данный момент сохранено в нашем локальном кэше. Значение в -1 указывает то, что локальный кэш является недопустимым.
[065] Следующие состояния проиллюстрированы как примерная машина 300 состояний.
Состояние 1: Это состояние указывает то, что канал является неизвестным, и отсутствует запись для него в локальном кэше.
Состояния 2, 3, 4 и 5: Они представляют собой промежуточные состояния, которые проходятся при корректном конфигурировании для обработки пользовательской плоскости.
Состояние 6: Промежуточное состояние при удалении знания касательно канала из локального кэша.
Состояние 7: Установившееся состояние, в котором следует оставаться при корректном конфигурировании с возможностью обрабатывать данные пользовательской плоскости.
Способы для управления сотовой сетью в облачном вычислительном окружении
[066] В любом из примеров в данном документе, могут предоставляться способы для управления виртуальной сотовой сетью в облачном вычислительном окружении. Например, виртуализированные пакетные шлюзы (например, обслуживающие и/или пакетные шлюзы) могут реализовываться на виртуальных машинах, выполняющихся в облачном вычислительном окружении, и обрабатывать сетевые пакеты плоскости данных для сотовой сети.
[067] Фиг. 4 является блок-схемой последовательности операций примерного способа 400 для управления виртуализированным пакетным шлюзом в облачном вычислительном окружении для того, чтобы обрабатывать сетевые пакеты плоскости данных для сотовой сети. Например, примерный способ 400 может осуществляться посредством одного из виртуализированных пакетных шлюзов 160 или посредством одного из SPGW-U 260.
[068] На 410, принимается вся копия внешнего хранилища ключей/значений. Внешнее хранилище ключей/значений содержит сведения каналов для всех текущих каналов сотовой сети (например, для всех текущих каналов, которые используют сотовую сеть, реализованную в облачном вычислительном окружении). Сведения каналов задают сетевые потоки, ассоциированные с абонентским устройством, с использованием сотовой сети. Например, внешнее хранилище ключей/значений может представлять собой хранилище 170 ключей/значений или хранилище 270 ключей/значений. На 420, вся копия внешнего хранилища ключей/значений, которая принята на 410, сохраняется в локальном кэше.
[069] На 430, сетевые пакеты плоскости данных принимаются из модуля балансировки нагрузки. Например, модуль балансировки нагрузки может направлять сетевые пакеты на основе информации заголовка в формате Интернет-протокола (IP), а не на основе инкапсулированной пакетной информации (например, не на основе идентификаторов туннелей или TEID).
[070] На 440, сетевые пакеты плоскости данных обрабатываются посредством виртуализированного пакетного шлюза. Обработка содержит идентификацию каналов, ассоциированных с сетевыми пакетами плоскости данных, в локальном кэше. Например, виртуализированный пакетный шлюз может получать сведения каналов из локального кэша на основе инкапсулированной информации заголовка сетевого пакета (например, TEID), чтобы идентифицировать сетевые потоки (и их ассоциированные сетевые пакеты плоскости данных) и управлять ими согласно их ассоциированным каналам (например, чтобы задавать скорости передачи битов сети, QoS-параметры и т.д.).
[071] В некоторых реализациях, примерный способ 400 осуществляется в ходе события горизонтального масштабирования, в котором виртуализированный пакетный шлюз подвергается созданию экземпляра на виртуальной машине в облачном вычислительном окружении. Например, после того как виртуализированный пакетный шлюз находится в работоспособном состоянии и сохраняет всю копию хранилища ключей/значений в своем локальном кэше, он может указывать (например, передавать в служебных сигналах или отвечать на связь из) модулю балансировки нагрузки то, что он готов принимать сетевые пакеты плоскости данных. В ответ, модуль балансировки нагрузки может начинать направление сетевого трафика в виртуализированный пакетный шлюз.
[072] После того, как виртуализированный пакетный шлюз находится в работоспособном состоянии и обрабатывает сетевые пакеты плоскости данных (например, как указано на 440), виртуализированный пакетный шлюз может принимать новый сетевой пакет плоскости данных, ассоциированный с новым каналом, который не находится в его локальном кэше. Когда это происходит, виртуализированный пакетный шлюз может получать сведения каналов для нового канала из внешнего хранилища ключей/значений, сохранять сведения каналов в своем локальном кэше и обрабатывать новый сетевой пакет плоскости данных, по меньшей мере, частично на основе сведений каналов для нового канала. Виртуализированный пакетный шлюз также может регистрировать себя в качестве владельца нового канала во внешнем хранилище ключей/значений.
[073] В некоторых реализациях, виртуализированный пакетный шлюз отслеживает то, когда он обрабатывает в последний раз сетевые пакеты плоскости данных для каждого канала в своем локальном кэше. Например, когда виртуализированный пакетный шлюз обрабатывает пакеты для канала, он может записывать информацию временной синхронизации (например, временную метку или другую информацию временной синхронизации) в своем локальном кэше в ассоциации с каналом. Виртуализированный пакетный шлюз может использовать записанную информацию временной синхронизации для того, чтобы очищать каналы из своего локального кэша. Хотя примерный способ 400 обеспечивает возможность виртуализированному пакетному шлюзу начинать работу эффективным способом со всей копии внешнего хранилища ключей/значений, многие каналы в хранилище ключей/значений не используются посредством виртуализированного пакетного шлюза (например, они должны быть направлены в другие виртуализированные пакетные шлюзы посредством модуля балансировки нагрузки). Следовательно, если сетевые пакеты плоскости данных не обрабатываются посредством виртуализированного пакетного шлюза в течение определенного периода времени (например, если пакеты не обработаны в течение порогового периода времени), то виртуализированный пакетный шлюз может удалять их из своего локального кэша, что позволяет экономить локальные ресурсы хранения.
[074] Фиг. 5 является блок-схемой последовательности операций примерного способа 500 для управления виртуализированным пакетным шлюзом в облачном вычислительном окружении для того, чтобы обрабатывать сетевые пакеты плоскости данных для сотовой сети. Например, примерный способ 500 может осуществляться посредством одного из виртуализированных пакетных шлюзов 160 или посредством одного из SPGW-U 260.
[075] На 510, первый сетевой пакет плоскости данных, ассоциированный с первым каналом, принимается посредством виртуализированного пакетного шлюза. Например, первый сетевой пакет плоскости данных может приниматься из модуля балансировки нагрузки в начале сетевого потока.
[076] На 520, в ответ на определение того, что первый канал не находится в локальном кэше виртуализированного пакетного шлюза, сведения каналов для первого канала извлекаются из внешнего хранилища ключей/значений. Извлеченные сведения каналов для первого канала сохраняются в локальном кэше в виртуализированном пакетном шлюзе (например, в локальном хранилище ключей/значений). Например, внешнее хранилище ключей/значений может представлять собой хранилище 170 ключей/значений или хранилище 270 ключей/значений.
[077] На 530, первый сетевой пакет плоскости данных обрабатывается, по меньшей мере, частично на основе локально сохраненных сведений первого канала (сохраненных в локальном кэше).
[078] На 540, принимается связь, указывающая то, что первый канал обновлен. Например, связь может приниматься из MME или из другого компонента сотовой сети (например, из виртуализированного пакетного шлюза, управляющего в плоскости управления). Связь может представлять собой управляющее сетевое сообщение.
[079] На 550, в ответ на связь, указывающую то, что первый канал обновлен, обновленные сведения каналов для первого канала извлекаются из внешнего хранилища ключей/значений и сохраняются в локальном кэше. Например, первый канал может обновляться таким образом, чтобы отражать другую скорость передачи битов при загрузке (например, на основе превышения пользователем своего ежемесячного лимита).
[080] На 560, второй сетевой пакет плоскости данных, ассоциированный с первым каналом, принимается посредством виртуализированного пакетного шлюза. Второй сетевой пакет плоскости данных представляет собой последующий сетевой пакет, принимаемый из модуля балансировки нагрузки в качестве части сетевого потока, идентичного сетевому потоку для первого сетевого пакета плоскости данных.
[081] На 570, второй сетевой пакет плоскости данных обрабатывается, по меньшей мере, частично на основе локально сохраненных обновленных сведений каналов для первого канала
[082] В некоторых реализациях, один или более следующих компонентов могут реализовываться в облачном вычислительном окружении для того, чтобы обрабатывать сетевые пакеты плоскости данных. Компоненты могут выполнять одну или более следующих операций и/или других операций. Например, виртуализированный пакетный шлюз может выполнен с возможностью, через машиноисполняемые инструкции, сохранять сведения каналов для каналов в локальном хранилище ключей/значений, причем сведения каналов получаются из внешнего хранилища ключей/значений, регистрировать владение каналами, обслуживаемыми посредством виртуализированного пакетного шлюза, во внешнем хранилище ключей/значений, и обрабатывать сетевые пакеты, по меньшей мере, частично на основе сведений каналов, сохраненных в локальном хранилище ключей/значений. Объект управления мобильностью может выполнен с возможностью, через машиноисполняемые инструкции, устанавливать каналы во внешнем хранилище ключей/значений, обновлять сведения каналов для каналов во внешнем хранилище ключей/значений и уведомлять виртуализированный пакетный шлюз в отношении обновленных сведений каналов. Внешнее хранилище ключей/значений может выполнено с возможностью, через машиноисполняемые инструкции, сохранять сведения каналов для текущих каналов сотовой сети и сохранять информацию владения, указывающую взаимосвязи владения между виртуализированными пакетными шлюзами и каналами.
Примерное установление канала
[083] Этот раздел иллюстрирует то, как канал устанавливается в конкретной реализации сотовой LTE-сети с использованием технологий, описанных в данном документе. Чтобы иллюстрировать различия, последовательность установления канала сначала описывается для традиционной LTE-системы и затем описывается относительно технологий, описанных в данном документе.
[084] Следующая последовательность иллюстрирует традиционное установление канала (которое не использует облачное вычислительное окружение) и обработка трафику первых данных пользовательской плоскости:
- UE/усовершенствованный узел B отправляет запрос на установление канала MME (сообщение плоскости управления).
- MME отправляет запрос на установление канала в SPGW.
- SPGW сохраняет сведения каналов из запроса на установление.
- SPGW отвечает в MME с сообщением завершения установления канала.
- Затем, если данные восходящей линии связи являются первыми:
- SPGW принимает пакет пользовательской плоскости из усовершенствованного узла B.
- SPGW деинкапсулирует пакет пользовательской плоскости и перенаправляет в целевую сеть передачи данных общего пользования (PDN).
- SPGW принимает пакет пользовательской плоскости из PDN.
- SPGW выполняет поиск целевого IP-адреса, находит то, что он совпадает с IP-адресом UE, из сведений каналов, сохраненных выше. Если пакет совпадает с шаблоном потоков трафика (TFT) из сведений каналов, затем инкапсулирует пакет с использованием TEID усовершенствованного узла B из сведений каналов.
- SPGW перенаправляет инкапсулированный пакет в усовершенствованный узел B.
- Альтернативно, если данные нисходящей линии связи являются первыми:
- SPGW принимает пакет пользовательской плоскости из целевой PDN.
- SPGW выполняет поиск целевого IP-адреса, находит совпадение и продолжает аналогично случаю восходящей линии связи.
[085] С использованием технологий, описанных в данном документе, в которых виртуализированные пакетные шлюзы (например, SPGW-C и/или SPGW-U) реализуются в облачном вычислительном окружении с использованием внешнего хранилища ключей/значений (также называется "совместно используемым хранилищем ключей/значений"), последовательность является следующей:
- Усовершенствованный узел B отправляет запрос на установление канала MME (сообщение плоскости управления).
- MME отправляет запрос на установление канала в SPGW-C-модуль балансировки нагрузки.
- Модуль балансировки нагрузки перенаправляет запрос, например, в SPGW-C1 (экземпляр 1).
- SPGW-C1 сохраняет IP-адрес UE, TEID (значения SPGW и усовершенствованного узла B) и IP усовершенствованного узла B в совместно используемом хранилище ключей/значений.
- SPGW-C1 отвечает в MME с сообщением завершения установления канала.
- Усовершенствованный узел B отправляет пакет пользовательской плоскости в SPGW-U-модуль балансировки нагрузки.
- Модуль балансировки нагрузки перенаправляет пакет пользовательской плоскости, например, в SPGW-U2 (экземпляр 2).
- Затем, если данные восходящей линии связи являются первыми:
- SPGW-U2 принимает пакет пользовательской плоскости из усовершенствованного узла B.
- SPGW-U2 выполняет поиск TEID из пакета в совместно используемом хранилище ключей/значений. Получает TEID усовершенствованного узла B в ответ.
- SPGW-U2 записывает в совместно используемое хранилище ключей/значений свой IP-адрес в качестве "владельца кэша" этого сетевого потока.
- SPGW-U2 записывает IP-адрес UE, TEID (значения SPGW и усовершенствованного узла B) и IP усовершенствованного узла B в локальный кэш.
- SPGW-U2 деинкапсулирует пакет пользовательской плоскости и перенаправляет в целевую PDN.
- SPGW-U2 принимает пакет пользовательской плоскости из PDN.
- SPGW-U2 выполняет поиск в своем локальном кэше на предмет целевого IP-адреса, находит, что он совпадает с IP-адресом UE из сведений каналов, сохраненных выше. Если пакет совпадает с TFT из сведений каналов, затем инкапсулирует пакет с использованием TEID усовершенствованного узла B из сведений каналов.
- SPGW-U2 перенаправляет инкапсулированный пакет в усовершенствованный узел B.
- Альтернативно, если данные нисходящей линии связи являются первыми:
- SPGW-U-модуль балансировки нагрузки принимает пакет пользовательской плоскости из целевой PDN.
- Модуль балансировки нагрузки перенаправляет в SPGW-U2.
- SPGW-U2 выполняет поиск в своем локальном кэше на предмет сведений каналов. Не находит совпадений.
- SPGW-U2 выполняет поиск IP-адреса UE в совместно используемом хранилище ключей/значений. Получает сведения каналов в ответ. Записывает в локальный кэш.
- SPGW-U2 записывает в совместно используемое хранилище ключей/значений свой IP-адрес в качестве "владельца кэша" этого потока.
- SPGW-U2 перенаправляет инкапсулированный пакет в усовершенствованный узел B.
- SPGW-U2 принимает пакет пользовательской плоскости из усовершенствованного узла B, деинкапсулирует и перенаправляет в целевую PDN.
Вычислительные системы
[086] Фиг. 6 иллюстрирует обобщенный пример подходящей вычислительной системы 600, в которой могут реализовываться описанные технологии. Вычислительная система 600 не имеет намерение накладывать какие-либо ограничения в отношении объема использования или функциональности, поскольку технологии могут реализовываться во множестве вычислительных систем общего назначения или специального назначения.
[087] Со ссылкой на фиг. 6, вычислительная система 600 включает в себя один или более модулей 610, 615 обработки и запоминающее устройство 620, 625. На фиг. 6, эта базовая конфигурация 630 включена внутри пунктирной линии. Модули 610, 615 обработки выполняют машиноисполняемые инструкции. Модуль обработки может представлять собой центральный процессор (CPU) общего назначения, процессор в специализированной интегральной схеме (ASIC) либо любой другой тип процессора. Модуль обработки также может содержать несколько процессоров. В многопроцессорной системе, несколько модулей обработки выполняют машиноисполняемые инструкции, с тем чтобы повышать вычислительную мощность. Например, фиг. 6 показывает центральный процессор 610, а также графический процессор или сопроцессор 615. Материальное запоминающее устройство 620, 625 может представлять собой энергозависимое запоминающее устройство (например, регистры, кэш, RAM), энергонезависимое запоминающее устройство (например, ROM, EEPROM, флэш-память и т.д.) или некоторую комбинацию означенного, доступную посредством модуля(ей) обработки. Запоминающее устройство 620, 625 сохраняет программное обеспечение 680, реализующее одну или более технологий, описанных в данном документе, в форме машиноисполняемых инструкций, подходящих для выполнения посредством модуля(ей) обработки.
[088] Вычислительная система может иметь дополнительные признаки. Например, вычислительная система 600 включает в себя устройство 640 хранения данных, одно или более устройств 650 ввода, одно или более устройств 660 вывода и одно или более соединений 670 связи. Механизм взаимного соединения (не показан), такой как шина, контроллер или сеть, взаимно соединяет компоненты вычислительной системы 600. Типично, программное обеспечение операционной системы (не показано) предоставляет операционное окружение для другого программного обеспечения, выполняемого в вычислительной системе 600, и координирует действия компонентов вычислительной системы 600.
[089] Материальное устройство 640 хранения данных может быть съемным или стационарным и включает в себя магнитные диски, магнитные ленты или кассеты, CD-ROM, DVD или любой другой носитель, который может использоваться для того, чтобы сохранять информацию, и к которому может осуществляться доступ в вычислительной системе 600. Устройство 640 хранения данных сохраняет инструкции для программного обеспечения 680, реализующего одну или более технологий, описанных в данном документе.
[090] Устройство(а) 650 ввода может представлять собой устройство сенсорного ввода, такое как клавиатура, мышь, перо или шаровой манипулятор, устройство речевого ввода, сканирующее устройство или другое устройство, которое предоставляет ввод в вычислительную систему 600. Для кодирования видео, устройство(а) 650 ввода может представлять собой камеру, видеокарту, карту ТВ-тюнера или аналогичное устройство, которое разрешает видеоввод в аналоговой или цифровой форме, либо CD-ROM или CD-RW, который считывает видеовыборки в вычислительную систему 600. Устройство(а) 660 вывода может представлять собой дисплей, принтер, динамик, устройство записи CD или другое устройство, которое предоставляет вывод из вычислительной системы 600.
[091] Соединения 670 связи обеспечивают связь по среде связи с другим вычислительным объектом. Среда связи передает такую информацию, как машиноисполняемые инструкции, аудио- или видеоввод или вывод либо другие данные, в модулированном сигнале данных. Модулированный сигнал данных представляет собой сигнал, который имеет одну или более характеристик, заданных или измененных таким образом, чтобы кодировать информацию в сигнале. В качестве примера, а не ограничения, среды связи могут использовать электрическую, оптическую, RF- или другую несущую.
[092] Технологии могут описываться в общем контексте машиноисполняемых инструкций, таких как машиноисполняемые инструкции, включенные в программные модули, выполняемые в вычислительной системе на целевом реальном или виртуальном процессоре. В общем, программные модули включают в себя процедуры, программы, библиотеки, объекты, классы, компоненты, структуры данных и т.д., которые выполняют конкретные задачи или реализуют конкретные абстрактные типы данных. Функциональность программных модулей может комбинироваться или разделяться между программными модулями, как требуется в различных вариантах осуществления. Машиноисполняемые инструкции для программных модулей могут выполняться в локальной или распределенной вычислительной системе.
[093] Термины "система" и "устройство" используются взаимозаменяемо в данном документе. Если контекст явно не указывает иное, ни один из терминов не подразумевает ограничения на тип вычислительной системы или вычислительного устройства. В общем, вычислительная система или вычислительное устройство могут быть локальными или распределенными и могут включать в себя любую комбинацию аппаратных средств специального назначения и/или аппаратных средств общего назначения с программным обеспечением, реализующим функциональность, описанную в данном документе.
[094] Для целей представления, подробное описание использует такие термины, как "определять" и "использовать", для того чтобы описывать компьютерные операции в вычислительной системе. Эти термины являются высокоуровневыми абстракциями для операций, выполняемых компьютером, и не должны путаться с действиями, выполняемыми человеком. Фактические компьютерные операции, соответствующие этим терминам, различаются в зависимости от реализации.
Мобильное устройство
[095] Фиг. 7 является схемой системы, иллюстрирующей примерное мобильное устройство 700, включающее в себя множество необязательных аппаратных и программных компонентов, показанных, в общем, как 702. Любые компоненты 702 в мобильном устройстве могут обмениваться данными с любым другим компонентом, хотя не все соединения показаны, для простоты иллюстрации. Мобильное устройство может представлять собой любое из множества вычислительных устройств (например, сотовый телефон, смартфон, карманный компьютер, персональное цифровое устройство (PDA) и т.д.) и может обеспечивать возможность беспроводной двусторонней связи с одной или более сетей 704 мобильной связи, таких как сотовая, спутниковая или другая сеть.
[096] Например, примерное мобильное устройство 700 может представлять собой абонентское устройство (например, абонентское устройство 120, 122, 220 или 222), которое использует сотовую сеть (например, сеть 704 мобильной связи). Примерное мобильное устройство 700 может обмениваться данными с сотовой сетью через беспроводной модем 760.
[097] Проиллюстрированное мобильное устройство 700 может включать в себя контроллер или процессор 710 (например, процессор сигналов, микропроцессор, ASIC либо другую управляющую и обрабатывающую логическую схему) для выполнения таких задач, как кодирование сигналов, обработка данных, обработка ввода-вывода, управление мощностью, и/или других функций. Операционная система 712 может управлять выделением и использованием компонентов 702 и поддержкой для одной или более прикладных программ 714. Прикладные программы могут включать в себя общие мобильные вычислительные приложения (например, почтовые приложения, календари, диспетчеры контактов, веб-обозреватели, приложения обмена сообщениями) или любое другое вычислительное приложение. Функциональность 713 для осуществления доступа к магазину приложений также может использоваться для получения и обновления прикладных программ 714.
[098] Проиллюстрированное мобильное устройство 700 может включать в себя запоминающее устройство 720. Запоминающее устройство 720 может включать в себя стационарное запоминающее устройство 722 и/или съемное запоминающее устройство 724. Стационарное запоминающее устройство 722 может включать в себя RAM, ROM, флэш-память, жесткий диск или другие известные технологии запоминающего устройства. Съемное запоминающее устройство 724 может включать в себя флэш-память или карту с модулем идентификации абонента (SIM), которая известна в GSM-системах связи или в других известных технологиях запоминающих устройств, таких как "смарт-карты". Запоминающее устройство 720 может использоваться для сохранения данных и/или кода для выполнения операционной системы 712 и приложений 714. Примерные данные могут включать в себя веб-страницы, текст, изображения, звуковые файлы, видеоданные или другие наборы данных, которые должны отправляться и/или приниматься из одного или более сетевых серверов или других устройств через одну или более проводных или беспроводных сетей. Запоминающее устройство 720 может использоваться для того, чтобы сохранять идентификатор абонента, к примеру, международный идентификатор абонента мобильной связи (IMSI), и идентификатор оборудования, к примеру, международный идентификатор мобильного устройства (IMEI). Такие идентификаторы могут передаваться на сетевой сервер, чтобы идентифицировать пользователей и оборудование.
[099] Мобильное устройство 700 может поддерживать одно или более устройств 730 ввода, таких как сенсорный экран 732, микрофон 734, камера 736, физическая клавиатура 738 и/или шаровой манипулятор 740, и одно или более устройств вывода 750, таких как динамик 752 и дисплей 754. Другие возможные устройства вывода (не показаны) могут включать в себя пьезоэлектрические или другие устройства тактильного вывода. Некоторые устройства могут выполнять более одной функции ввода-вывода. Например, сенсорный экран 732 и дисплей 754 могут комбинироваться в одном устройстве ввода-вывода.
[0100] Устройства 730 ввода могут включать в себя естественный пользовательский интерфейс (NUI). NUI представляет собой любую интерфейсную технологию, которая позволяет пользователю взаимодействовать с устройством "естественным" способом без искусственных ограничений, налагаемых посредством устройств ввода, таких как мыши, клавиатуры, пульты дистанционного управления и т.п. Примеры NUI-способов включают в себя способы, которые основываются на распознавании речи, распознавании касаний и стилуса, распознавании жестов как на экране, так и рядом с экраном, жестах в воздухе, слежении за положением головы и глаз, голосе и речи, зрении, касании, жестах и искусственном интеллекте. Другие примеры NUI включают в себя обнаружение жестов движения с использованием акселерометров/гироскопов, распознавание лиц, трехмерные дисплеи, слежение за положением головы, глаз и взгляда, системы иммерсивной дополненной реальности и виртуальной реальности, все из которых предоставляют более естественный интерфейс, а также технологии для считывания мозговой активности с использованием электродов для считывания электрического поля (EEG и связанные способы). Таким образом, в одном конкретном примере, операционная система 712 или приложения 714 могут содержать программное обеспечение распознавания речи в качестве части голосового пользовательского интерфейса, который обеспечивает возможность пользователю управлять устройством 700 через голосовые команды. Дополнительно, устройство 700 может содержать устройства ввода и программное обеспечение, которое обеспечивает возможность пользовательского взаимодействия через пространственные жесты пользователя, к примеру, обнаружения и интерпретации жестов для того, чтобы предоставлять ввод в игровое приложение.
[0101] Беспроводной модем 760 может соединяться с антенной (не показана) и может поддерживать двустороннюю связь между процессором 710 и внешними устройствами, как хорошо известно в данной области техники. Модем 760 показан обобщенно и может включать в себя сотовый модем для обмена данными с сетью 704 мобильной связи и/или другие радиомодемы (например, Bluetooth 764 или Wi-Fi 762). Беспроводной модем 760 типично выполнен с возможностью связи с одной или более сотовых сетей, к примеру, с GSM-сетью для обмена данными и речевой связи в пределах одной сотовой сети, между сотовыми сетями либо между мобильным устройством и коммутируемой телефонной сетью общего пользования (PSTN).
[0102] Мобильное устройство 900 дополнительно может включать в себя, по меньшей мере, один порт 780 ввода/вывода, источник 782 мощности, приемное устройство 784 по стандарту на основе спутниковой навигационной системы, к примеру, приемное устройство на основе глобальной системы позиционирования (GPS), акселерометр 786 и/или физический разъем 790, который может представлять собой USB-порт, порт по стандарту IEEE1394 (Firewire) и/или RS-232-порт. Проиллюстрированные компоненты 702 не являются обязательными или не всеобъемлющими, поскольку любые компоненты могут удаляться, и другие компоненты могут добавляться.
Окружение с поддержкой облачных вычислений
[0103] Фиг. 8 иллюстрирует обобщенный пример подходящего окружения 800 с поддержкой облачных вычислений, в котором могут реализовываться описанные варианты осуществления, технологии и технологии. В примерном окружении 800, различные типы услуг (например, вычислительных услуг) предоставляются посредством облака 810. Например, облако 810 может содержать совокупность вычислительных устройств, которые могут быть расположены централизованно или распределенно, которые предоставляют облачные услуги различным типам пользователей и устройств, соединенных через сеть, такую как Интернет. Окружение 800 реализации может использоваться различными способами для того, чтобы выполнять вычислительные задачи. Например, некоторые задачи (например, обработка пользовательского ввода и представление пользовательского интерфейса) могут выполняться на локальных вычислительных устройствах (например, на соединенных устройствах 830, 840, 850), тогда как другие задачи (например, хранение данных, которые должны использоваться в последующей обработке) могут выполняться в облаке 810.
[0104] В примерном окружении 800, облако 810 предоставляет услуги для соединенных устройств 830, 840, 850 с множеством возможностей поддержки экрана. Соединенное устройство 830 представляет устройство с экраном 835 компьютера (например, с экраном среднего размера). Например, соединенное устройство 830 может представлять собой персональный компьютер, такой как настольный компьютер, переносной компьютер, ноутбук, нетбук и т.п. Соединенное устройство 840 представляет устройство с экраном 845 мобильного устройства (например, с экраном небольшого размера). Например, соединенное устройство 840 может представлять собой мобильный телефон, смартфон, персональное цифровое устройство, планшетный компьютер и т.п. Соединенное устройство 850 представляет устройство с большим экраном 855. Например, соединенное устройство 850 может представлять собой телевизионный экран (например, интеллектуальный телевизионный приемник) или другое устройство, соединенное с телевизионным приемником (например, абонентскую приставку или игровую приставку) и т.п. Одно или более соединенных устройств 830, 840, 850 могут включать в себя характеристики сенсорного экрана. Сенсорные экраны могут принимать ввод различными способами. Например, емкостные сенсорные экраны обнаруживают сенсорный ввод, когда объект (например, кончик пальца или стилус) искажает или прерывает электрический ток, протекающий по поверхности. В качестве другого примера, сенсорные экраны могут использовать оптические датчики для того, чтобы обнаруживать сенсорный ввод, когда пучки из оптических датчиков прерываются. Физический контакт с поверхностью экрана не является обязательным для обнаружения ввода посредством некоторых сенсорных экранов. Устройства без поддержки экрана также могут использоваться в примерном окружении 800. Например, облако 810 может предоставлять услуги для одного или более компьютеров (например, серверных компьютеров) без дисплеев.
[0105] Услуги могут предоставляться посредством облака 810 через поставщиков 820 услуг или через других поставщиков онлайновых услуг (не проиллюстрированы). Например, облачные услуги могут индивидуально настраиваться согласно размеру экрана, характеристикам отображения и/или характеристикам сенсорного экрана конкретного соединенного устройства (например, соединенных устройств 830, 840, 850).
[0106] В примерном окружении 800, облако 810 предоставляет технологии и решения, описанные в данном документе, для различных соединенных устройств 830, 840, 850 с использованием, по меньшей мере, частично, поставщиков 820 услуг. Например, поставщики 820 услуг могут предоставлять централизованное решение для различных облачных услуг. Поставщики 820 услуг могут управлять подписками на услуги для пользователей и/или устройств (например, для соединенных устройств 830, 840, 850 и/или их соответствующих пользователей).
Примерные реализации
[0107] Хотя операции некоторых раскрытых способов описываются в конкретном последовательном порядке для удобного представления, следует понимать, что этот способ описания охватывает перекомпоновку, если конкретное упорядочение не требуется посредством конкретных формулировок, изложенных ниже. Например, операции, описанные последовательно, в некоторых случаях могут быть перекомпонованы или выполнены параллельно. Кроме того, для простоты, прилагаемые чертежи могут не показывать различные варианты, которыми раскрытые способы могут использоваться в сочетании с другими способами.
[0108] Любой из раскрытых способов может реализовываться как машиноисполняемые инструкции или компьютерный программный продукт, сохраненный на одном или более машиночитаемых носителей хранения данных и выполняемый на вычислительном устройстве (т.е., на любом доступном вычислительном устройстве, включающем в себя смартфоны или другие мобильные устройства, которые включают в себя вычислительные аппаратные средства). Машиночитаемые носители хранения данных представляют собой материальные носители, к которым может осуществляться доступ в вычислительном окружении (например, один или более оптических дисков, таких как DVD или CD, энергозависимое запоминающее устройство (такое как DRAM или SRAM) или энергонезависимое запоминающее устройство (такое как флэш-память или жесткие диски)). В качестве примера и со ссылкой на фиг. 6, машиночитаемые носители хранения данных включают в себя запоминающее устройство 620 и 625 и устройство 640 хранения данных. В качестве примера и со ссылкой на фиг. 7, машиночитаемые носители хранения данных могут включать в себя запоминающее устройство и устройство 720, 722 и 724 хранения данных. Термин "машиночитаемые носители хранения данных" не включает в себя сигналы и несущие волны. Помимо этого, термин "машиночитаемые носители хранения данных" не включает в себя соединения связи, такие как 670, 760, 762 и 764.
[0109] Любые из машиноисполняемых инструкций для реализации раскрытых технологий, а также любые данные, созданные и используемые во время реализации раскрытых вариантов осуществления, могут сохраняться на одном или более машиночитаемых носителях хранения данных. Машиноисполняемые инструкции могут составлять часть, например, выделенного программного приложения или программного приложения, к которому осуществляется доступ или которое может загружаться через веб-обозреватель или другое программное приложение (к примеру, удаленное вычислительное приложение). Такое программное обеспечение может выполняться, например, на одном локальном компьютере (например, на любом подходящем предлагаемом на рынке компьютере) или в сетевом окружении (например, через Интернет, глобальную вычислительную сеть, локальную вычислительную сеть, клиент-серверную сеть (к примеру, облачную вычислительную сеть) или другую такую сеть) с использованием одного или более сетевых компьютеров.
[0110] Для понятности, описываются только определенные выбранные аспекты программных реализаций. Опускаются другие подробности, которые известны в данной области техники. Например, следует понимать, что раскрытая технология не ограничена конкретными машинными языками или программами. Например, раскрытая технология может реализовываться посредством программного обеспечения, написанного на C++, Java, Perl или на любом другом подходящем языке программирования. Аналогично, раскрытая технология не ограничена конкретными компьютерами или типами аппаратных средств. Определенные подробности подходящих компьютеров и аппаратных средств известны и не должны обязательно подробно излагаться в этом раскрытии сущности.
[0111] Кроме того, любые из программных вариантов осуществления (содержащих, например, машиноисполняемые инструкции для инструктирования компьютеру осуществлять любой из раскрытых способов) могут выгружаться, загружаться или быть удаленно доступными через подходящее средство связи. Такие подходящие средства связи включают в себя, например, Интернет, всемирную паутину, сеть intranet, программные приложения, кабель (включающий в себя волоконно-оптический кабель), магнитную связь, электромагнитную связь (включающую в себя радиочастотную связь, микроволновую связь и связь в инфракрасном диапазоне), электронную связь либо другие такие средства связи.
[0112] Раскрытые способы, оборудование и системы не должны истолковываться как ограничивающие каким-либо образом. Вместо этого, настоящее раскрытие сущности нацелено на новые и неочевидные признаки и аспекты различных раскрытых вариантов осуществления, отдельно и в различных комбинациях и субкомбинациях друг с другом. Раскрытые способы, оборудование и системы не ограничены конкретными аспектами или признаками либо комбинацией вышеозначенного, и при этом раскрытые варианты осуществления не требуют присутствия какого-либо одного или более конкретных преимуществ либо разрешения проблем.
[0113] Технологии из любого примера могут комбинироваться с технологиями, описанными в любом одном или более других примеров. В свете множества возможных вариантов осуществления, к которым могут применяться принципы раскрытой технологии, следует признавать, что проиллюстрированные варианты осуществления представляют собой примеры раскрытой технологии и не должны восприниматься как ограничение объема раскрытой технологии.

Claims (52)

1. Вычислительное устройство, выполненное с возможностью реализации виртуализированного пакетного шлюза в облачном вычислительном окружении, чтобы обрабатывать сетевые пакеты плоскости данных для сотовой сети, при этом вычислительное устройство содержит:
по меньшей мере один процессор; и
запоминающее устройство;
причем в запоминающем устройстве сохранены машиноисполняемые инструкции, которые при их исполнении по меньшей мере одним процессором предписывают вычислительному устройству выполнять операции, содержащие:
- прием всей копии внешнего хранилища ключей/значений, причем внешнее хранилище ключей/значений содержит сведения о каналах для всех текущих каналов сотовой сети, при этом сведения о каналах задают сетевые потоки, ассоциированные с абонентским устройством, с использованием сотовой сети;
- сохранение всей копии внешнего хранилища ключей/значений в локальном кэше;
- прием сетевых пакетов плоскости данных из модуля балансировки нагрузки; и
- обработку, посредством виртуализированного пакетного шлюза, сетевых пакетов плоскости данных, каковая обработка содержит идентификацию каналов, ассоциированных с сетевыми пакетами плоскости данных, в локальном кэше.
2. Вычислительное устройство по п.1, в котором операции выполняются в ходе события горизонтального масштабирования, в котором создается экземпляр виртуализированного пакетного шлюза в облачном вычислительном окружении.
3. Вычислительное устройство по п.1, при этом виртуализированный пакетный шлюз представляет собой обслуживающий шлюз/пакетный шлюз для сетевых пакетов плоскости данных (SPGW-U), который работает на виртуальной машине, выполняющейся в облачном вычислительном окружении.
4. Вычислительное устройство по п.3, при этом SPGW-U работает в качестве части сотовой сети по стандарту долгосрочного развития (LTE) для поставщика услуг связи.
5. Вычислительное устройство по п.1, в котором операции дополнительно содержат:
прием, из модуля балансировки нагрузки, нового сетевого пакета плоскости данных, который ассоциирован с новым каналом, который не присутствует в локальном кэше;
в ответ на прием нового сетевого пакета плоскости данных:
- получение сведений о канале для нового канала из внешнего хранилища ключей/значений,
- сохранение сведений о канале для нового канала в локальном кэше и
- обработку нового сетевого пакета плоскости данных, по меньшей мере, отчасти на основе сведений о канале для нового канала.
6. Вычислительное устройство по п.5, в котором операции дополнительно содержат, в ответ на прием нового сетевого пакета плоскости данных, регистрацию виртуализированного пакетного шлюза в качестве владельца нового канала во внешнем хранилище ключей/значений.
7. Вычислительное устройство по п.1, при этом модуль балансировки нагрузки направляет сетевые пакеты на основе заголовка Интернет-протокола (IP) и номеров портов по протоколу пользовательских датаграмм (UDP) или по протоколу управления передачей (TCP), а не на основе инкапсулированной пакетной информации.
8. Вычислительное устройство по п.1, в котором операции дополнительно содержат, для каждого из одного или более каналов в локальном кэше, маркировку канала в локальном кэше с указанием того, когда сетевые пакеты плоскости данных в последний раз обработаны для канала.
9. Вычислительное устройство по п.8, в котором операции дополнительно содержат очистку каналов из локального кэша на основе указаний того, когда сетевые пакеты плоскости данных в последний раз обработаны.
10. Компьютерно-реализуемый способ функционирования виртуализированного пакетного шлюза в облачном вычислительном окружении, чтобы обрабатывать сетевые пакеты плоскости данных для сотовой сети, при этом способ содержит этапы, на которых, посредством виртуализированного пакетного шлюза в ходе события горизонтального масштабирования, в котором создается экземпляр виртуализированного пакетного шлюза в облачном вычислительном окружении:
принимают всю копию внешнего хранилища ключей/значений, при этом внешнее хранилище ключей/значений содержит сведения о каналах для всех текущих каналов сотовой сети, причем сведения о каналах задают сетевые потоки, ассоциированные с абонентским устройством, с использованием сотовой сети;
сохраняют всю копию внешнего хранилища ключей/значений в локальном кэше;
принимают сетевые пакеты плоскости данных из модуля балансировки нагрузки; и
обрабатывают посредством виртуализированного пакетного шлюза сетевые пакеты плоскости данных, каковая обработка содержит этап, на котором идентифицируют каналы, ассоциированные с сетевыми пакетами плоскости данных, в локальном кэше.
11. Способ по п.10, дополнительно содержащий этапы, на которых:
принимают из модуля балансировки нагрузки новый сетевой пакет плоскости данных, который ассоциирован с новым каналом, который не присутствует в локальном кэше;
в ответ на прием нового сетевого пакета плоскости данных:
- получают сведения о канале для нового канала из внешнего хранилища ключей/значений,
- сохраняют сведения о канале для нового канала в локальном кэше и
- обрабатывают новый сетевой пакет плоскости данных, по меньшей мере, отчасти на основе сведений о канале для нового канала.
12. Способ по п.11, дополнительно содержащий этап, на котором, в ответ на прием нового сетевого пакета плоскости данных, регистрируют виртуализированный пакетный шлюз в качестве владельца нового канала во внешнем хранилище ключей/значений.
13. Способ по п.10, в котором виртуализированный пакетный шлюз представляет собой обслуживающий шлюз/пакетный шлюз для сетевых пакетов плоскости данных (SPGW-U), который работает на виртуальной машине, выполняющейся в облачном вычислительном окружении.
14. Способ по п.10, в котором модуль балансировки нагрузки направляет сетевой трафик на основе информации заголовка Интернет-протокола (IP), а не на основе инкапсулированной пакетной информации.
15. Компьютерно-реализуемый способ функционирования виртуализированного пакетного шлюза в облачном вычислительном окружении, чтобы обрабатывать сетевые пакеты плоскости данных для сотовой сети, при этом способ содержит этапы, на которых, посредством виртуализированного пакетного шлюза:
принимают первый сетевой пакет плоскости данных, ассоциированный с первым каналом;
при определении того, что первый канал не находится в локальном кэше, извлекают сведения о канале для первого канала из внешнего хранилища ключей/значений и сохраняют извлеченные сведения о канале для первого канала в локальном кэше;
обрабатывают первый сетевой пакет плоскости данных, по меньшей мере, отчасти на основе сведений о канале для первого канала, сохраненных в локальном кэше;
принимают сетевую передачу, указывающую то, что первый канал обновлен;
в ответ на прием сетевой передачи, извлекают обновленные сведения о канале для первого канала из внешнего хранилища ключей/значений и сохраняют извлеченные обновленные сведения о канале в локальном кэше;
принимают второй сетевой пакет плоскости данных, ассоциированный с первым каналом; и
обрабатывают второй сетевой пакет плоскости данных, по меньшей мере, отчасти на основе обновленных сведений о канале для первого канала, сохраненных в локальном кэше.
16. Способ по п.15, в котором сетевая передача, указывающая то, что первый канал обновлен, принимается от объекта управления мобильностью (MME) или от шлюза, обрабатывающего сетевой трафик плоскости управления.
17. Способ по п.15, дополнительно содержащий этап, на котором регистрируют виртуализированный пакетный шлюз в качестве владельца первого канала во внешнем хранилище ключей/значений.
18. Способ по п.15, в котором виртуализированный пакетный шлюз представляет собой обслуживающий шлюз/пакетный шлюз для сетевых пакетов плоскости данных (SPGW-U), который работает на виртуальной машине, выполняющейся в облачном вычислительном окружении.
19. Способ по п.15, в котором первый сетевой пакет плоскости данных и второй сетевой пакет плоскости данных принимаются от модуля балансировки нагрузки, при этом модуль балансировки нагрузки направляет сетевой трафик на основе заголовка Интернет-протокола (IP) и номеров портов по протоколу пользовательских датаграмм (UDP) или по протоколу управления передачей (TCP), а не на основе инкапсулированной пакетной информации.
20. Способ по п.15, дополнительно содержащий этапы, на которых:
принимают третий сетевой пакет плоскости данных, ассоциированный со вторым каналом;
при определении того, что второй канал не находится в локальном кэше, извлекают сведения о канале для второго канала из внешнего хранилища ключей/значений и сохраняют извлеченные сведения о канале для второго канала в локальном кэше;
регистрируют виртуализированный пакетный шлюз в качестве владельца второго канала во внешнем хранилище ключей/значений; и
обрабатывают третий сетевой пакет плоскости данных, по меньшей мере, отчасти на основе обновленных сведений о канале для второго канала, сохраненных в локальном кэше.
RU2021116136A 2018-11-05 2019-10-29 Реализация базового сотового сетевого стека в облачной инфраструктуре RU2801634C2 (ru)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US16/180,908 2018-11-05

Publications (2)

Publication Number Publication Date
RU2021116136A RU2021116136A (ru) 2022-12-07
RU2801634C2 true RU2801634C2 (ru) 2023-08-11

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130242997A1 (en) * 2012-03-15 2013-09-19 Neelesh Bansod Policy control enforcement at a packet gateway
US20140126538A1 (en) * 2011-06-23 2014-05-08 Telefonaktiebolaget L M Ericsson (Publ) Caching over an interface between a radio access network and a core network
US20170054636A1 (en) * 2014-02-12 2017-02-23 Nec Corporation Information processing apparatus, communication method, network control apparatus, network control method, and program
RU2656815C1 (ru) * 2014-06-28 2018-06-06 Хуавэй Текнолоджиз Ко., Лтд. Способ и устройство балансировки сетевых ресурсов
US20180205574A1 (en) * 2017-01-13 2018-07-19 Microsoft Technology Licensing, Llc Telecommunications network with data centre deployment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140126538A1 (en) * 2011-06-23 2014-05-08 Telefonaktiebolaget L M Ericsson (Publ) Caching over an interface between a radio access network and a core network
US20130242997A1 (en) * 2012-03-15 2013-09-19 Neelesh Bansod Policy control enforcement at a packet gateway
US20170054636A1 (en) * 2014-02-12 2017-02-23 Nec Corporation Information processing apparatus, communication method, network control apparatus, network control method, and program
RU2656815C1 (ru) * 2014-06-28 2018-06-06 Хуавэй Текнолоджиз Ко., Лтд. Способ и устройство балансировки сетевых ресурсов
US20180205574A1 (en) * 2017-01-13 2018-07-19 Microsoft Technology Licensing, Llc Telecommunications network with data centre deployment

Similar Documents

Publication Publication Date Title
US11070477B2 (en) Distributed software defined wireless packet core system
US10419992B2 (en) Methods and apparatus to migrate a mobile device from a first virtual private mobile network to a second virtual private mobile network to reduce latency
US10122547B2 (en) Enabling high-bandwidth, responsive mobile applications in LTE networks
JP7037511B2 (ja) 基地局、アクセス要求の応答方法、装置及びシステム
US10104704B2 (en) Dynamic acceleration of prioritized mobile application traffic
US20120184258A1 (en) Hierarchical Device type Recognition, Caching Control & Enhanced CDN communication in a Wireless Mobile Network
KR20170125127A (ko) 통신 시스템, 기지국, 통신 방법, 및 프로그램을 저장한 비일시적 컴퓨터 판독가능 매체
JP7512274B2 (ja) クラウドインフラストラクチャ上のコアセルラネットワーキングスタックの実装
JP2020092423A (ja) 5gネットワークにおけるモバイルデータトラヒックのルーティングのための方法およびシステム
US20230119308A1 (en) System and method for processing enhanced route selection descriptors
CN113453292B (zh) 一种建立连接的方法和通信装置以及系统
KR102243263B1 (ko) 가상 랜 게이트웨이 시스템, 제어 평면 게이트웨이의 동작 방법 및 mme의 동작 방법
US11700568B2 (en) Dynamic mapping of nodes responsible for monitoring traffic of an evolved packet core
RU2801634C2 (ru) Реализация базового сотового сетевого стека в облачной инфраструктуре
Meneses et al. Deviceless communications: Cloud-based communications for heterogeneous networks
KR101319832B1 (ko) 모바일 컨텐츠 제공 방법 및 이를 위한 로컬 캐싱 장치
US20230269575A1 (en) Base station device and method for operating base station device