Cisco Cisco Packet Data Gateway (PDG) Documentation Roadmaps
Software Architecture
Understanding the Distributed Software Architecture ▀
Cisco ASR 5000 Series Product Overview ▄
OL-22937-01
Understanding the Distributed Software Architecture
To better understand the advantages of the system‘s distributed software architecture, this section presents an overview
of the various components used in processing a subscriber session. Numerous benefits are derived from the system‘s
ability to distribute and manage sessions across the entire system. The following information is intended to familiarize
you with some of the components and terminology used in this architecture.
of the various components used in processing a subscriber session. Numerous benefits are derived from the system‘s
ability to distribute and manage sessions across the entire system. The following information is intended to familiarize
you with some of the components and terminology used in this architecture.
Software Tasks
To provide unprecedented levels of software redundancy, scalability, and robust call processing, the system's software is
divided into a series of tasks that perform specific functions. These tasks communicate with each other as needed to
share control and data information throughout the system.
divided into a series of tasks that perform specific functions. These tasks communicate with each other as needed to
share control and data information throughout the system.
A task is a software process that performs a specific function related to system control or session processing. There are
three types of tasks that operate within the system:
three types of tasks that operate within the system:
Critical tasks
These tasks control essential functions to ensure the system‘s ability to process calls. Examples of these would
be system initialization and automatic error detection and recovery tasks.
be system initialization and automatic error detection and recovery tasks.
Controller tasks
These tasks, often referred to as ―Controllers‖, serve several different purposes. These include:
Monitoring the state of their subordinate managers and allowing for intra-manager communication within the
same subsystem.
Enabling inter-subsystem communication by communicating with controllers belonging to other subsystems
Controller tasks mask the distributed nature of the software from the user - allowing ease of management.
Manager tasks
Often referred to as ―Managers‖, these tasks control system resources and maintain logical mappings between
system resources. Some managers are also directly responsible for call processing.
system resources. Some managers are also directly responsible for call processing.
System-level processes can be distributed across multiple processors, thus reducing the overall workload on
any given processor—thereby improving system performance. Additionally, this distributed design provides
fault containment that greatly minimizes the impact to the number of processes or PPP sessions due to a failure.
any given processor—thereby improving system performance. Additionally, this distributed design provides
fault containment that greatly minimizes the impact to the number of processes or PPP sessions due to a failure.
The SPC/SMC has a single Control Processor (CP) that is responsible for running tasks related to system
management and control.
management and control.
Each PAC contains four CPs (CPU 0 through 3, with CPU 0 being the primary). Each PSC contains two CPs
(CPU 0 and CPU 1) The CPs on the processing cards are responsible for PPP and call processing, and for
running the various tasks and processes required to handle the mobile data call. In addition to the CPs, the
processing cards also have a high-speed Network Processor Unit (NPU) used for enhanced IP forwarding.
(CPU 0 and CPU 1) The CPs on the processing cards are responsible for PPP and call processing, and for
running the various tasks and processes required to handle the mobile data call. In addition to the CPs, the
processing cards also have a high-speed Network Processor Unit (NPU) used for enhanced IP forwarding.