Flexibility
The N-BASE allows our customers to use Metaswitch's network software products across a
very wide range of diverse system architectures, all without changes to the core protocol code.
All of Metaswitch's network software products (including packet and optical MPLS, IP routing,
MGCP/Megaco/H.248, SIP, Diameter, Session Border Controller (SBC), ATM and SNA) are written
to the N-BASE APIs.
The network software products are architected as separate components that only communicate
with each other via the N-BASE. All communication is via asynchronous messages and there
are no assumptions about shared memory, or whether components are co-located or distributed.
This approach provides unrivalled flexibility in placing
components to achieve the optimal architecture for a particular target platform.
For example, Metaswitch network software products are utilized
by devices using a range of
-
scheduling models: including single or multi-threaded tasks, symmetric or asymmetric
multi-processors
-
processor models: single core or multicore
-
distributed system architectures: multiple processors,
multiple processor and line cards, and multiple operating system instances.
This means that our customers deploy the same network software product code across a
range of platforms, from low-end enterprise to higher-end campus or carrier devices.
Those devices might use very different system architectures, ranging from a single
processor, single task architecture at the low-end to an architecture with multiple
processor cards and multiple tasks running per processor. Yet the same network software
product code runs unchanged on all devices.
Similarly, many of our customers change system architectures over time, perhaps using a
simpler non-distributed architecture for initial platforms and deployments, and then
adding more sophisticated distributed architectures to their product family as they address
a wider range of markets over time. Again they can use the same network software product code
unchanged on all devices as the product family develops.
Some examples of system architectures are listed below. Note that these are by no means
exclusive or exhaustive, and we encourage our customers to work with their Metaswitch support
engineers to determine an optimal architectural approach.
-
A single-threaded operating system process may contain a number of components, each of
which is internally scheduled using the N-BASE. Note that in this model, passing messages
between components is reduced to a simple function call with a pointer to a block of memory
for maximum efficiency.
-
A multi-threaded operating system process may contain a number of components, each of which
is scheduled via an operating system thread. Note that in this model, passing messages between
components is reduced to a simple function call with a pointer to a block of memory for
maximum efficiency.
-
Multiple operating system processes, each containing one or more components.
-
Multicore processors, each of which is executing one or more components.
-
Multiple distributed hardware elements (such as processor or
line cards), each of which is executing one or more components.
All of these system architecture options are achieved without changes to the core code, which
provides unprecedented flexibility and scale.
More Information
For more information about the N-BASE and Metaswitch's network software products and
expertise contact
.