Nokia R&D в Санкт-Петербурге
515 subscribers
17 photos
1 file
51 links
Non official Nokia channel
Download Telegram
Подключаясь к мобильному интернету, телефон должен знать MTU сети, чтобы избежать фрагментации данных. Как и для Ethernet, MTU для мобильной сети ограничивается значением 1500 байт. Но, в силу некоторых особенностей передачи данных внутри сети, MTU=1500 не подходит... 🤔

Давайте разбираться вместе с MTU на примере LTE.
👍8
Некоторое время назад мы занимались анализом одного алгоритма в целочисленной арифметике и в процессе работы потребовалось провести несложное моделирования для повторения результатов. В качестве инструмента был выбран привычный Python. Однако результаты слегка не совпали с теоретическими ожиданиями (у нас большие учёные используют как правило Matlab). Поиск проблемы привел к интересной находке 😮.
👍14😱4😢2
6G – это возможность соединения всего мира, внедрения повсеместного ИИ и голографического видео. Это новая ступень телекоммуникаций. И мы здесь первопроходцы. Прочитайте свежую статью о том, как Nokia видит эру 6G и какие проделываются шаги для укрепления лидерства в этой сфере.
👍5🔥5
​​Во многих современных телефонах в настройках сотовой сети можно заметить опцию “Звонки по Wi-Fi”. Что же это такое?

VoWiFi - это технология использования WiFi инфраструктуры для совершения голосовых звонков/передачи сообщений.

С точки зрения абонентов сети это помогает улучшить связь внутри помещений, где покрытие сети LTE может ухудшаться, вызов не прервется при переключении между LTE и WiFi. А в случае роуминга VoWiFi позволит уменьшить затраты на разговоры за границей, так как мобильный телефон может подключаться к домашней PLMN через публичную точку доступа. Для операторов мобильной связи поддержка VoWiFi решений дает возможность выйти на рынок WiFi сервисов, ведь количество публичных точек доступа WiFi продолжает расти.

3GPP стандарты определяют архитектуру IP Multimedia Subsystem (IMS), которая обеспечивает в том числе и голосовой сервис, предоставляемый через домен с коммутацией пакетов. Телефон подключается к компонентам IMS не напрямую, а посредством Evolved Packet Data Gateway (ePDG). Компонент ePDG доступен в сети интернет и маршрутизирует пакеты между мобильным устройством и PDN GW, участвует в аутентификации и авторизации через взаимодействие с 3GPP AAA (Authentication, Authorization and Accounting) сервером.

UE для подключения к ePDG может сформировать доменное имя на основе идентификатора мобильного оператора, например epdg.epc.mnc099.mcc250.pub.3gppnetwork.org, далее через DNS запрос определяет IP адрес сервера.

Если WiFi сеть, через которое подключается мобильное устройство, не является доверенной, ePDG и UE взаимно аутентифицируют друг друга, обмениваются ключами шифрования и устанавливают IPsec туннель с использованием протокола IKEv2. Трафик данных шифруется, поэтому за конфиденциальность разговоров можно не беспокоиться, несмотря на доступность публичных WiFi сетей.

Больше технических деталей о VoWiFi описано в блоге VoLTE/ViLTE + Wi-Fi-Calling — просто о сложном / Хабр (habr.com)
👍13
LTE на Луне

Весной 2018 года мы получили письмо с новостью о том, что Nokia будет партнёром британского оператора Vodafone для проекта Mission to the Moon, в состав которого входит разворачивание первой LTE сети на Луне.

В качестве опорной сети выбрана разработка Санкт-Петербургского R&D — наша компактная сетка, практически готовая для того, чтобы полететь на Луну.

Мы собрали код под ARM, так как для лунного проекта опорная сеть устанавливается прямо в базовую станцию на дополнительный модуль. Реализовали дополнительные фичи в софте для увеличения отказоустойчивости, адаптировали сетевую модель, урезали логирование, расширили REST интерфейс для удаленного администрирования.

Начались тесты на целевом железе. За то время мы получили несколько необычных баг-репортов, вроде: в процессе радиационного теста повредился файл SPR (Subscription Profile Repository, база данных пользователей сети), расскажите, как восстановиться. С тех пор у нас есть процедура восстановления от повреждения радиацией.

Проект с Vodafone приостановили, но в последнее время мы всё чаще слышим о новых проектах на базе старых разработок. NASA продолжает исследования, Nokia Bell Labs тестирует свой лунный ровер, но всё ещё много работы до первого запуска. Возможно, когда-нибудь наш код всё же полетит на Луну помогать бурить лёд на южном полюсе.
🔥23👍10🤩3
3 февраля вышел отчёт по итогам 2021: про выручку, прогнозы на следующий год, buyback и дивиденды можно прочитать здесь.

Мы рады быть частью этого успеха! 🥳
🎉9👍62
А тем временем технологии не стоят на месте. Nokia совместно с CMCC и MediaTek успешно запустила 3CC Carrier Aggregation и достигла рекордных скоростей ~3Gbps в DL. Подробности здесь
👍8🔥5
5G и фотоэпиляция! 😎

Алгоритмы ютуба на днях порекомендовали занятный научно-популярный ролик. Принцип работы косметических лазеров понятен, но об их мощности мало кто задумывается.
Лазер из видео выдает пучок электромагнитных волн длиной 1064 нм с плотностью потока в 25 Джоулей на сантиметр квадратный. И если на минутку отвлечься от границ диапазонов, определенных СанПиН, получится что в режиме десяти одномиллисекундных импульсов в одну секунду плотность потока мощности ЭМВ превышает нормы для аппаратуры 5G более чем в 10 тысяч раз.

Ждать ли появления групп сопротивления фотоэпиляции с дрекольем и факелами? Пока не ясно..
😁8😱4
SNR и качество приёмника PRACH

Мы решили вернуться к теме детектирования преамбул и предметно поговорить о том, как именно базовая станция принимает решение о начале процедуры RA (Random Access, произвольный доступ). В предыдущем материале мы просто обозначили некий "пик" корреляции, который мы наблюдали на графике, но как же практически задать порог, при превышении которого мы с определённой вероятностью можем утверждать, что обнаружение преамбулы состоялось? Задача не очень тривиальна. Давайте разбираться вместе в нашем материале.
👍10🔥8
С++ State Machines

Немалая часть нашей работы – реализация телекоммуникационных протоколов.

Установление соединений, сессий, процедуры бизнес-логики и прочие «протокольные» вещи хорошо реализуются с помощью паттерна «Состояние». Вкратце, у объекта есть начальное состояние и набор событий, которые могут изменить состояние; стейт-машина характеризуется матрицей переходов между состояниями по конкретным событиям.

На стейт-машинах также удобно строить взаимодействие асинхронных процессов. Например, когда вы выключаете телефон, процедура Mobile-initiated detach должна повлиять на все происходящие в данный момент процессы: закрыть сессии, обновить контекст, отменить или кэшировать передачу данных. Само по себе выключение – процедура нелинейная, и может быть описана стейт-машиной. Для других процедур это будет внешнее событие. Обработка события «выключение» для каждого процесса разная в зависимости от текущего состояния. Некоторые стейт-машины запускают другие стейт-машины по триггеру «мобилу выключили». And we need to go deeper, IYKWIM.

В общем, мы на состояниях собаку съели 🤓.

В «Банде четырёх» описана реализация паттерна с помощью абстрактного класса с описанием набора событий и унаследованной от него реализацией для каждого конкретного состояния. Вот краткое описание идеи.

Этот подход позволяет инкапсулировать обработку событий в полиморфный вызов и довольно быстро написать небольшую стейт-машину. Но у него есть недостатки: как только число событий или состояний переваливает за десяток, код разрастается на тысячи строк, его становится сложно читать и поддерживать, да и уследить за переходами без картинки с кружочками и стрелочками невозможно. К тому же производительность полиморфных вызовов не самая лучшая.

Существует множество других подходов и библиотек, позволяющих писать стейт-машины компактно и выразительно и предоставляющих дополнительные возможности. Вот более подробное описание «классической» реализации.

И различные вариации:

Стейт-машина с поддержкой тредов
С мультикастом
На enum-ах
На С++17 – с инкапсуляцией в std::variant и передачей события через std::visit
С картинками (позволяющая прямо из кода сгенерировать диаграммы с помощью PlantUML)
На шаблонах – с более высокой производительностью по сравнению с виртуальными классами


Советуем изучить разные подходы к этой архитектурной парадигме, возможно, она подойдёт и для ваших задач
👍15🔥2
Геолокация!

Всем привет!
Мы решили сделать еще небольшой цикл заметок в наших постах, посвящённых геолокации. Если точнее, то поговорить, во-первых, про то, можно ли найти точное местоположение владельца мобильного телефона, что такое триангуляция и что с ней не совсем так; во-вторых, про средства в стандартах 3GPP, которые могут помочь эту задачу решать; и, в-третьих, про саму задачу позиционирования с точки зрения практических применений.


Сразу оговоримся, что мы собираемся обсуждать задачу позиционирования только с точки зрения сети и в рамках, оговоренных стандартами: предполагаем, что никакого дополнительного программного обеспечения на мобильный терминал не установлено (ни легального, ни нелегального), мы также не пользуемся информацией GPS/GLONASS/... на телефонах же, или всякие Geo API (которые дополнительно могут использовать, например, знание географии WiFi сетей) и т.п. Если вы думаете, что задача в такой постановке нужна только для того, чтобы незаметно за вами следить, то в общем случае это не так. Как пример — существует необходимость определения местоположения устройства в случае всяких экстренных ситуаций. Ещё задача определения местоположения важна в контексте развёртывания сервисов с поддержкой в сетях 5G: местоположение нужно знать для контроля за роботизированными транспортными средствами, автоматизации складов и многого другого. Поэтому мы ещё немного поговорим про то, что может стать доступным с внедрением 5G positioning из 3GPP Release 16, про возможности Bluetooth 5-го релиза, обсудим, чем отличается позиционирование внутри помещений и на открытых пространствах (indoor/outdoor positioning). 

To be continued!
👍12
В продолжение темы геолокации 🌎👉 здесь
👍9
В преддверие выходных, давайте немного отвлечемся от технических статей и рабочих будней .

Коллеги прислали тут фотографию. Вопросов много: начиная с того, где это происходит, и заканчивая тем, а что собственно происходит 🤔? Ваши варианты?
😁12👎1