Платформа цифровой коммутации DX 200: Архитектура и возможности
Nokia DX 200
DX 200 от Nokia Networks: отказоустойчивая цифровая платформа для телефонии и серверов. Горячее обновление ПО без перезагрузки и патчей! Высокая масштабируемость.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
DX 200 — это цифровая коммутационная платформа, разрабатываемая компанией Nokia Networks в настоящее время.
DX 200 is a digital switching platform currently developed by Nokia Networks.
Архитектура
DX 200 – универсальная, отказоустойчивая, модульная и высокомасштабируемая телефонная станция и платформа серверов общего назначения, предназначенная для высокопроизводительных и высоконадежных приложений. Ее аппаратная часть построена на базе слабосвязанных резервных вычислительных блоков, поддерживаемых распределенной архитектурой программного обеспечения. Архитектура DX 200 обеспечивает миграцию в реальном времени, а также обновление программного обеспечения в процессе эксплуатации. В отличие от многих других коммутационных платформ, DX 200 выполняет обновление программного обеспечения в реальном времени без применения патчей. Следовательно, исполняемый код не засоряется лишними командами переходов. Более того, в отличие от "угадывания интеграции" при использовании различных программных патчей, архитектура DX 200 позволяет проводить полноценное интеграционное тестирование программных компонентов. Для обновления программного обеспечения требуется два вычислительных блока: один, выполняющий старый код ("рабочий"), и другой, с загруженным новым программным обеспечением, находящийся в режиме ожидания ("резервный"). В процессе, называемом "прогревом", области памяти (например, динамически выделяемая память, за исключением стека процедур) переносятся из старого в новый вычислительный блок. Это подразумевает, что обработка структур данных должна быть совместима в старой и новой версиях программного обеспечения. Копирование данных не требует дополнительных усилий по программированию, если выделение памяти осуществляется с использованием языка TNSDL. Разработка программного обеспечения для платформы DX 200 относительно проста для любого квалифицированного разработчика. Язык TNSDL, играющий ключевую роль в создании асинхронно взаимодействующих, отказоустойчивых программных модулей, легко освоить. Архитектура программного обеспечения DX 200 представляет собой удачное сочетание высокоэффективных традиционных решений и современного высокопараллельного дизайна, основанного на модели акторов. Продукты DX 200 известны своей доступностью, превышающей 99,999% ("пять девяток"), а также непревзойденной производительностью.
DX 200 is a versatile, fault tolerant, modular and highly scalable telephone exchange and general purpose server platform, designed for high performance, high availability applications. Its hardware is built from loosely coupled redundant computer units, backed by distributed software architecture. Architecture of DX 200 allows live migration as well as software update during live operation. Unlike in many other switching platforms, DX 200 performs live software update without code patching. Therefore, running code is not polluted by unnecessary jump instructions. Furthermore, as opposed to "integration guessing" of various software patches, DX 200 architecture makes proper integration testing of software components possible. Live software update requires two computer units. One executing the old code ("working"), the other with new software loaded, otherwise idle ("spare"). During the process called "warming" memory areas (e. g. dynamically allocated memory, with the exception of stack of procedures) are moved from the old to the new computer unit. That implies that handling of data structures must be compatible in the old and the new software versions. Copying data does not require any programming effort, as long as allocation of data is done using TNSDL language. Developing software for DX 200 platform is rather straightforward for any well educated software developer. TNSDL language, which plays vital role in producing asynchronously communicating fault tolerant software modules, is easy to learn. Software architecture of DX 200 is a fine combination of highly efficient traditional solutions as well as modern actor model based, highly concurrent design. DX 200 products are famous for availability exceeding 99.999% "five nines" as well as unrivaled performance.
Приложения
DX 200 – это универсальная архитектура. Она подходит для широкого спектра вычислительных задач. К ним относятся традиционные мобильные коммутационные центры (MSC), шлюзы пакетной коммутации LTE, а также серверы приложений VoIP.
DX 200 is a generic architecture. It is suitable for versatile computing applications. Applications include traditional Mobile Switching Centers (MSC), LTE mobile packet switching gateways as well as VoIP application servers.
Операционные системы
Любую стандартную операционную систему можно относительно легко портировать на DX 200. Linux, ChorusOS и DMX – наиболее часто используемые операционные системы на DX 200. DMX является "родной" ОС для DX 200. DMX имеет архитектуру микроядра. Продвинутые функции, такие как стек TCP/IP и компоненты для живой миграции, реализованы как отдельные библиотеки.
Any generic operating system can be ported to DX 200 relatively easily. Linux, ChorusOS and DMX are the most frequent operating systems used on DX 200. DMX is the 'native' OS of DX 200. DMX has microkernel architecture. Advanced functions, like TCP/IP stack and live migration components are implemented as separate libraries.
Оборудочные ароматизаторы
DX 200 выпускается в нескольких аппаратных конфигурациях. Подсистема DX 200: Компьютерные блоки состоят из нескольких карт, объединенных в подсистему. Это очень похоже на старую архитектуру ПК, где материнская плата не содержала все необходимые компоненты, а дисковый контроллер, видеокарта, сетевая карта и т.д. представляли собой отдельные карты расширения. Модуль DX 200: Компьютерные блоки представляют собой отдельные карты. Это аналогично современной архитектуре ПК, где "все" интегрировано в материнскую плату. ATCA DX 200: Аппаратное обеспечение, соответствующее отраслевому стандарту Advanced Telecommunications Computing Architecture. IPA2800: Специальная версия модуля DX 200, предназначенная для обработки и передачи мультимедиа в реальном времени с очень высокой пропускной способностью. Типичные области применения – медиашлюзы и контроллеры радиосетей.
DX 200 has several hardware flavors. Sub rack DX 200: Computer units are built up from several cards, packed together as sub racks. Very similar to old style PC architecture, where mother board did not contain every vital piece, but disk controller, video card, network card etc. were separate extension card based. Cartridge DX 200: Computer units are standalone cards. Similar to modern PC architecture, where "everything" in integrated to the mother board. ATCA DX 200: Advanced Telecommunications Computing Architecture industry standard hardware. IPA2800: A specific version of Cartridge DX 200, suitable for very high throughput real time media processing and transmission. Typical applications are Media gateways and Radio Network Controllers.
Возрожденный
Nokia Networks переключила фокус с аппаратных продуктов на программное обеспечение и услуги. Высокоценная бизнес-логика была сохранена, а продукты, ранее работавшие на аппаратных платформах DX 200, теперь доступны как облачные решения, функционирующие на универсальном многоцелевом оборудовании различных производителей. Первое поколение этих продуктов использовало виртуальные машины вместо вычислительных узлов DX 200. Эта программная архитектура поддерживает виртуализированные среды, такие как KVM или продукты VMware на базе Linux. Использование ресурсов динамически адаптируется к потребностям для обеспечения оптимальной производительности и снижения затрат. Следующее поколение, соответствующее передовым отраслевым тенденциям, основано на Linux, использует программные контейнеры, ориентированные на микросервисы, динамическое обнаружение и оркестрацию сервисов. Вместо миграции в реальном времени, предоставляемой языковой сессией TNSDL, данные сеансов хранятся в распределенной базе данных. Если ранее миграция осуществлялась с одного компьютера на другой, то в новой архитектуре эти сеансы могут перемещаться между различными контейнерами, обеспечивая масштабирование (уменьшение количества контейнеров и виртуальных машин) в системе. А хранение данных сеансов в более универсальном сериализованном формате (например, JSON) вместо двоичных структур упрощает обновления версий.
Nokia Networks shifted its focus from hardware products to software and services. The highly valuable business logic was kept, while the products which used to be running on DX 200 hardware variants now available as cloud solutions, working on generic multi purpose hardware of various vendors. The first generation of such products used virtual machines in place of DX 200 computer units. That software architecture supports virtual environments like Linux's KVM or VMware products. Resource usage dynamically adapts to needs, to have optimal performance while reducing costs. The next generation, in line with leading industry trends, is based on Linux, uses software containers, focused on microservices, dynamic service discovery and orchestration. In place of live migration offered by TNSDL language session data are stored in distributed database. While live migration happened from a certain computer to another one, in the new architecture those sessions may be moved to different containers, thus allowing scaling in (reducing the number of containers and VMs) in the system. And session data being stored in more generic serialized format (e. g. JSON) instead of binary structures allows more relaxed version updates.