# Nokia DX 200

DX 200 is a digital switching platform currently developed by Nokia Networks.

## Architecture

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.

## Applications

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.

## Operating Systems

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.

## Hardware Flavors

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" is integrated into 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.

## Reborn

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.

## History

Development of the system started at Televa, the Finnish state owned telecom equipment producer in the early 1970s, under the leadership of Keijo Olkkola.
The first order was received in 1973 for a 100 subscriber local exchange for the small and remote island community of Houtskär, to be delivered in 1979. After the first installation in 1982, the DX 200 captured a 50% share of the Finnish fixed line exchange market.
The exchange's modular design and development of microprocessors technology enabled a gradual increase in the system's capacity. By 1987 the installation base had grown to 400,000 subscriber lines. Early export markets included China, Nepal, United Arab Emirates, Sri Lanka, Sweden, Turkey and the Soviet Union. In 1984 development of a version of the exchange for the Nordic Mobile Telephone network was started.
In 1991, the world's first GSM call was made using Nokia devices. Core network components were based on DX 200 platform.
In 2005, DX 200 based VoIP server was provided to Finnish operator Saunalahti, providing state of the art fixed-mobile convergence solution. This is a prime example on how well DX 200 is suitable for internet server development and the overall flexibility of the whole DX 200 platform.
In 2009, world's first voice calls in LTE networks using commercial, 3GPP-standardized user and network equipment.
In 2013, NSN showed its truly operational telco cloud solution. That actually marks the end of the traditional DX200 hardware product line.