Distributed processing environment (DPE)

Содержание

Слайд 2

SS7 in SGSN, TPL-06:0022 2006-05-02 Overview Distributed Processing Environment (DPE) After

SS7 in SGSN, TPL-06:0022

2006-05-02

Overview

Distributed Processing Environment (DPE)

After the course the participant

shall have
received a brief description of the
DPE used in WPP

General
System requirements
System views
Application design

Слайд 3

SS7 in SGSN, TPL-06:0022 2006-05-02 General developing applications for a distributed

SS7 in SGSN, TPL-06:0022

2006-05-02

General

developing applications for a distributed platform
continuous,

reliable, robust operation
a generic system
“plug and play”

What DPE is all about...

Слайд 4

SS7 in SGSN, TPL-06:0022 2006-05-02 Distributed Processing Environment - DPE DPE

SS7 in SGSN, TPL-06:0022

2006-05-02

Distributed Processing Environment - DPE

DPE supports distribution of

the applications on the PIUs in the node
Gives support for a continues, reliable and robust service even during hardware failures
Supports ”plug-and-play” functionality
Gives support for distributed applications
Слайд 5

SS7 in SGSN, TPL-06:0022 2006-05-02 DPE Services

SS7 in SGSN, TPL-06:0022

2006-05-02

DPE Services

Слайд 6

SS7 in SGSN, TPL-06:0022 2006-05-02 A node from a DPE perspective

SS7 in SGSN, TPL-06:0022

2006-05-02

A node from a DPE perspective

Sparc

Solaris

DPE

SS7, Routing, PPDC,

Node Dump, GPRS, OMS, ...

PPC

VxWorks

...

...

Hardware

Operating systems

Applications

Слайд 7

SS7 in SGSN, TPL-06:0022 2006-05-02 High availability Follow evolution (HW &

SS7 in SGSN, TPL-06:0022

2006-05-02

High availability
Follow evolution (HW & SW)

Scalability
“Plug & Play”
Management for one system, not a set of boards

System Requirements

Слайд 8

SS7 in SGSN, TPL-06:0022 2006-05-02 System views Development view Distribution view

SS7 in SGSN, TPL-06:0022

2006-05-02

System views

Development view

Distribution view

Function view

Management view

Computing view

Equipment

view

DPE

Слайд 9

SS7 in SGSN, TPL-06:0022 2006-05-02 Equipment view Equipment view A set

SS7 in SGSN, TPL-06:0022

2006-05-02

Equipment view

Equipment view

A set of Plug-in-units (boards)
Each

Plug-in-unit may house several processors
Plug-in-units may be removed/inserted while the Node is in operation
Prepared & unprepared removal
Слайд 10

SS7 in SGSN, TPL-06:0022 2006-05-02 Function view Development view Distribution view

SS7 in SGSN, TPL-06:0022

2006-05-02

Function view

Development view

Distribution view

Function view

Management view

Computing view

Equipment

view

The full Node functionality may be broken down into smaller pieces : Function Blocks
Reasons
Manage complexity
Different lifecycles
Reuse

Слайд 11

SS7 in SGSN, TPL-06:0022 2006-05-02 Distribution view Development view Distribution view

SS7 in SGSN, TPL-06:0022

2006-05-02

Distribution view

Development view

Distribution view

Function view

Management view

Computing view

Equipment

view

Different Function Blocks may have different distribution patterns
Map Function on Computing resources
Distribution may change over time, due to:
Redundancy and failover operations
Equipment administration
SW Upgrade/Update

Слайд 12

SS7 in SGSN, TPL-06:0022 2006-05-02 Management view Development view Distribution view

SS7 in SGSN, TPL-06:0022

2006-05-02

Management view

Development view

Distribution view

Function view

Management view

Computing view

Equipment

view

One SYSTEM
Node level redundancy
SW installation/activation
Node configuration state
checkpoint state
revert to known state

Слайд 13

SS7 in SGSN, TPL-06:0022 2006-05-02 Computing view Development view Distribution view

SS7 in SGSN, TPL-06:0022

2006-05-02

Computing view

Development view

Distribution view

Function view

Management view

Computing view

Equipment

view

A heterogeneous set of processors
The processors are loosely inter-connected
Local Operating System on each processor
Local SW load operations - Local/Remote data source
Local encapsulation of executing entities - Unix processes, RTOS task groups, ...

Слайд 14

SS7 in SGSN, TPL-06:0022 2006-05-02 Development view Development view Distribution view

SS7 in SGSN, TPL-06:0022

2006-05-02

Development view

Development view

Distribution view

Function view

Management view

Computing view

Equipment

view

Group related function blocks into an APPLICATION
Different programming languages
Integration of a set of APPLICATIONS into a full Node SW system

Слайд 15

SS7 in SGSN, TPL-06:0022 2006-05-02 Different OS and program languages JAVA

SS7 in SGSN, TPL-06:0022

2006-05-02


Different OS and program languages

JAVA

Слайд 16

SS7 in SGSN, TPL-06:0022 2006-05-02 Development View, SW delivery example NDP Install NDP

SS7 in SGSN, TPL-06:0022

2006-05-02

Development View, SW delivery example

NDP

Install NDP

Слайд 17

SS7 in SGSN, TPL-06:0022 2006-05-02 Typical Application structure Root Block Distribution

SS7 in SGSN, TPL-06:0022

2006-05-02

Typical Application structure

Root Block
Distribution of Appl. Blocks

Activation of Appl. Blocks
Handling of system events
SW Upgrade
Equipment insertion/removal
...

A

B

C

D

Other Blocks

Management Agent
Block (typically SLO)

Management
interface

IIOP/SNMP/...

Слайд 18

SS7 in SGSN, TPL-06:0022 2006-05-02 System events External events Block instance

SS7 in SGSN, TPL-06:0022

2006-05-02

System events

External events

Block instance Failure, Capsule Failure

& PM Failure
Inter Appl. signals

Internal events

Слайд 19

SS7 in SGSN, TPL-06:0022 2006-05-02 Function Distribution Function Distribution Manager Appl.

SS7 in SGSN, TPL-06:0022

2006-05-02

Function Distribution

Function Distribution Manager

Appl.

Слайд 20

SS7 in SGSN, TPL-06:0022 2006-05-02 Summary Node start up/stop Distribution SW

SS7 in SGSN, TPL-06:0022

2006-05-02


Summary

Node start up/stop
Distribution
SW upgrade

Node supervision
State Register

DPE gives support for:

Слайд 21

SS7 in SGSN, TPL-06:0022 2006-05-02 Processing module (PM) Application application instance,

SS7 in SGSN, TPL-06:0022

2006-05-02

Processing module (PM)
Application
application instance, application structure tree (AST),

application instance, application root instance.
Block, block template
Block instance
Capsule
Load unit
DPE architecture

Distributed Processing Environment (DPE)

Basic concepts

Слайд 22

SS7 in SGSN, TPL-06:0022 2006-05-02 Processing module (PM) A PM is

SS7 in SGSN, TPL-06:0022

2006-05-02

Processing module (PM)

A PM is a hardware processor

with operating system.
A PM can be used to run capsules containing block instances.
Слайд 23

SS7 in SGSN, TPL-06:0022 2006-05-02 Application Application A program that can

SS7 in SGSN, TPL-06:0022

2006-05-02

Application

Application
A program that can be run within DPE.


An application may be thought of as a (structured) collection of blocks.
All blocks in an application are organized into an Application Structure Tree (AST).
Application instance
A program running within DPE.
An application instance can be thought of as a collection of block instances.
The collection may evolve over time.
Слайд 24

SS7 in SGSN, TPL-06:0022 2006-05-02 Application functionality structured into block instances

SS7 in SGSN, TPL-06:0022

2006-05-02

Application functionality structured into block instances

PM2

Capsule

Capsule

PM1

Capsule

PM3


Capsule

PM4

Capsule

Слайд 25

SS7 in SGSN, TPL-06:0022 2006-05-02 Application structure tree (AST) A tree

SS7 in SGSN, TPL-06:0022

2006-05-02

Application structure tree (AST)

A tree that describes the

relations between blocks in an application.
The root of a tree represents the total functionality of the blocks contained in that tree.
AST does not change at runtime.

Root Application B

B1

B2

B3

Слайд 26

SS7 in SGSN, TPL-06:0022 2006-05-02 Application instance descriptor Describes the relations

SS7 in SGSN, TPL-06:0022

2006-05-02

Application instance descriptor

Describes the relations between block instances

in an application instance.
The root is called the application root instance. It is the only instance of the block in the root of an AST.
The descriptor may change at runtime.
Слайд 27

SS7 in SGSN, TPL-06:0022 2006-05-02 Block and block template Block A

SS7 in SGSN, TPL-06:0022

2006-05-02

Block and block template

Block
A functional unit within an

application.
Smallest functional part that can be instantiated to a running entity on a particular processing module (PM).
Block template
Executable code performing the functionality of a block.
Same block may have several block templates, each for a different type of execution environment (Capsule).
Слайд 28

SS7 in SGSN, TPL-06:0022 2006-05-02 Implementation of a block instance in a C-Capsule on Solaris C-Capsule

SS7 in SGSN, TPL-06:0022

2006-05-02

Implementation of a block instance in a C-Capsule

on Solaris

C-Capsule

Слайд 29

SS7 in SGSN, TPL-06:0022 2006-05-02 Block Instance A block instance resides

SS7 in SGSN, TPL-06:0022

2006-05-02

Block Instance

A block instance
resides in a particular capsule.
requires

that the appropriate block template is present in the capsule.
is created based on the block template.
A block instance is the executing form of a block, e.g.,
an Erlang process.
Each block instance (BI)
belongs to a particular application instance; and
has an unique identity (block instance name) which is not reused.
Слайд 30

SS7 in SGSN, TPL-06:0022 2006-05-02 Capsule A special protective execution environment

SS7 in SGSN, TPL-06:0022

2006-05-02

Capsule

A special protective execution environment in which block

instances can be made to run in a certain processing module (PM).
Makes it possible to use uniform interfaces between DPE and applications despite the differences in implementation languages, operating systems etc.
Слайд 31

SS7 in SGSN, TPL-06:0022 2006-05-02 Capsule types are defined by: Hardware

SS7 in SGSN, TPL-06:0022

2006-05-02

Capsule types are defined by:

Hardware (SPARC, PowerPC, etc.);
Operating

system (Solaris, VxWorks, etc.);
Language (interpreted Erlang, C, Java, etc.); and
Design decisions when implementing the capsule.
Слайд 32

SS7 in SGSN, TPL-06:0022 2006-05-02 Load Unit An entity containing one

SS7 in SGSN, TPL-06:0022

2006-05-02

Load Unit

An entity containing one or more block

templates.
A C load unit is a file.
An Erlang load unit is a directory.
Specific to a capsule type.
When code is loaded into a capsule, it is always in the form of an entire load unit.
After a load unit is loaded into a capsule, the capsule contains copies of the enclosed block templates.
Слайд 33

SS7 in SGSN, TPL-06:0022 2006-05-02 Blocks, load units, block templates, capsules and block instances - Relations

SS7 in SGSN, TPL-06:0022

2006-05-02

Blocks, load units, block templates, capsules and block

instances - Relations
Слайд 34

SS7 in SGSN, TPL-06:0022 2006-05-02 DPE architecture - overview

SS7 in SGSN, TPL-06:0022

2006-05-02

DPE architecture - overview

Слайд 35

SS7 in SGSN, TPL-06:0022 2006-05-02 DPE architecture - Node Control Logic

SS7 in SGSN, TPL-06:0022

2006-05-02

DPE architecture - Node Control Logic (NCL)

NCL is

the DPE kernel.
Two instances within the Node:
Active NCL, and
Passive NCL.
The Boards where the two NCL instances reside are called Active NCB and Passive NCB (Node Control Board).
The purpose of of the Passive NCL is to track the internal states of the Active NCL, in order to be able to take over if the Active NCL fails.
Слайд 36

SS7 in SGSN, TPL-06:0022 2006-05-02 DPE architecture - Processor related parts

SS7 in SGSN, TPL-06:0022

2006-05-02

DPE architecture - Processor related parts

EQMA - Equipment

Management Agent
Located on all CPU:s
Responsible for all local equipment management operations
CPMA - Capsule Management Agent
Located on all PM:s
Responsible for all local capsule management operations (create, delete, …)
Слайд 37

SS7 in SGSN, TPL-06:0022 2006-05-02 DPE architecture - Capsule related parts

SS7 in SGSN, TPL-06:0022

2006-05-02

DPE architecture - Capsule related parts

EXMA -

Execution Management Agent
Located in every Capsule
Responsible for operations related to Block Instances (create, start, stop, delete, …) within the specific Capsule.
DPE API
Located in every Capsule
Allows Block Instances to interact with DPE (EXMA and NCL)
Location of NCL transparent to applications
Implementations for both C and Erlang
Слайд 38

SS7 in SGSN, TPL-06:0022 2006-05-02 DPE architecture vs. example application instances

SS7 in SGSN, TPL-06:0022

2006-05-02

DPE architecture vs. example application instances

PM1

Capsule

A1:2

B3:3

EXMA

&
NCL API

EQMA
CPMA

PM4

Capsule

EXMA &
NCL API

EQMA
CPMA

PM3

Capsule

EXMA &
NCL API

EQMA
CPMA

PM2

Capsule

Capsule

B1:1

A1:1

EXMA &
NCL API

EXMA &
NCL API

Active NCL

EQMA
CPMA

Intra node communication

PM5

EQMA
CPMA

Backup NCL

Board 1

Board 4 (Passive NCB)

Board 3

Board 2 (Active NCB)

Слайд 39

SS7 in SGSN, TPL-06:0022 2006-05-02 An example application Use cases: Starting

SS7 in SGSN, TPL-06:0022

2006-05-02

An example application
Use cases:
Starting an application
Stopping an application
Blocking

of a board
Addition of a board
Failing boards or PMs
Fail over
Software upgrade

Use Cases

Distributed Processing Environment (DPE)

Слайд 40

SS7 in SGSN, TPL-06:0022 2006-05-02 An example application Base Station Base

SS7 in SGSN, TPL-06:0022

2006-05-02

An example application

Base Station

Base Station

Network Node to be

implemented using WPP

Other Network Nodes

Слайд 41

SS7 in SGSN, TPL-06:0022 2006-05-02 Example application (Cont.) - Logical view

SS7 in SGSN, TPL-06:0022

2006-05-02

Example application (Cont.) - Logical view

Four major tasks:
handling

of protocol interfacing base stations (Red I/F);
handling of protocol interfacing other nodes (Green I/F);
basic routing service (Routing); and
signal path handling (SignalPath).
Chosen application structure tree (AST).
Слайд 42

SS7 in SGSN, TPL-06:0022 2006-05-02 Example Application (Cont.) - Computing resources

SS7 in SGSN, TPL-06:0022

2006-05-02

Example Application (Cont.) - Computing resources

3 General Processing

Boards (GPB)
1 x UltraSparc
Solaris

WPP
Network
Node

4 Interface Board E1 (IBE1)
4 x E1 with 2 Mbit/s
(Sends and receives packages)
VxWorks

Intra node communication
Ethernet (2x) between boards

Слайд 43

SS7 in SGSN, TPL-06:0022 2006-05-02 Example application (Cont.) - Mapping WPP

SS7 in SGSN, TPL-06:0022

2006-05-02

Example application (Cont.) - Mapping

WPP Network Node

Intra node communication

PM2

Board 1

(IBE1)

PM3

PM 4

PM2

Board 5 (IBE1)

PM 3

PM4

PM2

Board 4 (IBE1)

PM4

PM2

Board 7 (IBE1)

PM4

Active NCL

PM2

root:1

Board 2 (GPB)

Passive NCL

PM2

Board 3 (GPB)

Board 6 (GPB)

PM 2

Слайд 44

SS7 in SGSN, TPL-06:0022 2006-05-02 DPE starts root. Root defines application

SS7 in SGSN, TPL-06:0022

2006-05-02

DPE starts root.
Root defines application directives.
Root asks DPE


for an allocation suggestion.
to create block instances.
to start block instances.
Root notifies DPE when the distribution is complete

Starting an application

DPE creates application root instance (root).

Слайд 45

SS7 in SGSN, TPL-06:0022 2006-05-02 Stopping an application DPE requests the

SS7 in SGSN, TPL-06:0022

2006-05-02

Stopping an application

DPE requests the application root instance

(root) to stop the application.
Root requests DPE to
stop the block instances.
delete the stopped block instances.
Root notifies DPE when the application is stopped.
DPE stops the root and assures that it is deleted.
Слайд 46

SS7 in SGSN, TPL-06:0022 2006-05-02 Blocking of a board Operator requests

SS7 in SGSN, TPL-06:0022

2006-05-02

Blocking of a board

Operator requests DPE to block

a board, and hence all PMs on that particular board.
DPE informs application root instance (root) about blocking request of PMs where the application has running Block Instances (BIs).
The root removes all BIs that belongs to the application from the PMs on the affected board.
DPE informs the operator when the whole board has been blocked.
Слайд 47

SS7 in SGSN, TPL-06:0022 2006-05-02 Note that a blocking request can

SS7 in SGSN, TPL-06:0022

2006-05-02

Note that a blocking request can be issued

by:

an operator via GUI,
an operator that presses the repair button on a board,
an application.

Слайд 48

SS7 in SGSN, TPL-06:0022 2006-05-02 An example - Blocking board 6

SS7 in SGSN, TPL-06:0022

2006-05-02

An example - Blocking board 6

DPE informs

root about blocking request affecting BI: signalPath:2.
Root requests DPE to stop and delete signalPath:2.

DPE informs operator about blocking completion.

Root may reconfigure the application:
Root asks DPE for an allocation suggestion.
DPE suggest that signalPath:2 is allocated on PM2 in board 3.

Root asks DPE to create and start signalPath:2.

Слайд 49

SS7 in SGSN, TPL-06:0022 2006-05-02 Addition of a Plug-In-Unit (PIU) An

SS7 in SGSN, TPL-06:0022

2006-05-02

Addition of a Plug-In-Unit (PIU)

An operator inserts a

PIU into an empty slot
DPE notifies all application root instances (roots) that new hardware is available
The Roots investigates if the applications should reconfigure
The Roots ask DPE for an allocation suggestion
Слайд 50

SS7 in SGSN, TPL-06:0022 2006-05-02 Failing boards or PMs Failures are

SS7 in SGSN, TPL-06:0022

2006-05-02

Failing boards or PMs

Failures are caused by a

wide variety of events
The result of these failures is that one or more block instances die.
DPE detects failures and sends messages to the affected application root instances
the message contains a set of failed block instances
These roots may then initiate application-specific recovery actions.
Слайд 51

SS7 in SGSN, TPL-06:0022 2006-05-02 An example - PM3 and PM4

SS7 in SGSN, TPL-06:0022

2006-05-02

An example - PM3 and PM4 on board

1 has failed

DPE detects this, and:
notifies root:1 that the block instances redIF:1 and redIf:2 have died.
root:1 may then initiate application-specific recovery actions.

Слайд 52

SS7 in SGSN, TPL-06:0022 2006-05-02 But .. What if the Active

SS7 in SGSN, TPL-06:0022

2006-05-02

But .. What if the Active NCB (Board

2) fails?

DPE performs a fail-over operation, which consists of replacing the active NCL with the passive NCL:
All the NCL data structures are replicated;
the replicated data is used to re-establish the state of NCL. The operations of DPE can continue almost without disruption.
After fail-over, NCL will automatically restart all application root instances.

Слайд 53

SS7 in SGSN, TPL-06:0022 2006-05-02 An example: Board 2 has failed

SS7 in SGSN, TPL-06:0022

2006-05-02

An example: Board 2 has failed

root:1, signalPath:1

and Active NCL die
DPE detects this, and:
performs a fail-over operation (active NCL is replaced with the passive NCL);
root:1 is restarted as root:2 on PM1
in board 3;
root:2 quires NCL about the state of the block instances. It finds out that signalPath:1 has died; and
root:2 may then initiate application-specific recovery actions.

redIF:1

Board 1

PM 3

...

greenIF:1

Board 4

PM 4

greenIF:2

Board7

PM 4

routing:1

Board 1

PM 2

...

signalPath:1

Board 2

PM 1

signalPath:2

Board 6

PM 1

root:1

Board 2

PM 2

Failed board

Слайд 54

SS7 in SGSN, TPL-06:0022 2006-05-02 Software upgrade DPE provides support for:

SS7 in SGSN, TPL-06:0022

2006-05-02

Software upgrade

DPE provides support for:
upgrading to a new

software configuration;
falling back to a previously check-pointed software configuration;
introducing patches.
The method to activate a software configuration depends on the circumstances.
From an applications point of view, it does not matter which activation method that is used:
an application may either be stopped or remain running;
in each case it has to manage its own configuration data.
Слайд 55

SS7 in SGSN, TPL-06:0022 2006-05-02 Capsule Management Functionality and Behavior Distributed

SS7 in SGSN, TPL-06:0022

2006-05-02

Capsule Management
Functionality and Behavior

Distributed Processing Environment (DPE)

Introduction to

Capsule Management
Слайд 56

SS7 in SGSN, TPL-06:0022 2006-05-02 Capsule management Capsule Management manages the

SS7 in SGSN, TPL-06:0022

2006-05-02

Capsule management

Capsule Management manages the creation and deletion

of capsules
It is implemented by the following software entities:
the Capsule Manager, or CPM, which is a part of NCL
the Capsule Management Agents (or CPMAs): there is one such agent in each active PM.
Слайд 57

SS7 in SGSN, TPL-06:0022 2006-05-02 An example of CPM and CPMAs

SS7 in SGSN, TPL-06:0022

2006-05-02

An example of CPM and CPMAs

PM1

Capsule

CPMA

Intra node

communication

CPMA

Capsule

PM2

PM3

Capsule

CPMA

Board 3

Board 2

Board 1

Слайд 58

SS7 in SGSN, TPL-06:0022 2006-05-02 Capsule Special protective environment for locating

SS7 in SGSN, TPL-06:0022

2006-05-02

Capsule

Special protective environment for locating a block instance

in a certain processing module (PM)
Make possible to use uniform interfaces between DPE and applications despite the differences in implementation languages, operating systems etc.
Capsule type defined by:
Hardware (SPARC, PowerPC, etc.)
Operating system (Solaris, RTOS, etc.)
Language (interpreted Erlang, C, Java, etc.)
Design decisions when implementing the capsule
Слайд 59

SS7 in SGSN, TPL-06:0022 2006-05-02 Capsule Attributes MultipleLoadUnits Can the capsule

SS7 in SGSN, TPL-06:0022

2006-05-02

Capsule Attributes

MultipleLoadUnits
Can the capsule contain more than one

load unit?
Loadable
Is it possible to add new load units after the capsule has been created?
MultiThreaded
Does the capsule support multiple block instances?
Слайд 60

SS7 in SGSN, TPL-06:0022 2006-05-02 Capsule attributes (cont’d) Osunloadable Is it

SS7 in SGSN, TPL-06:0022

2006-05-02

Capsule attributes (cont’d)

Osunloadable
Is it possible for the OS

to unload (shut down) the capsule
cachedSendmsg
Does the capsule type take advantage of the efficient protocol for DPE_SendMessage
Слайд 61

SS7 in SGSN, TPL-06:0022 2006-05-02 Capsule types Solaris_C_Capsule MultipleLoadUnits No Loadable

SS7 in SGSN, TPL-06:0022

2006-05-02

Capsule types

Solaris_C_Capsule
MultipleLoadUnits No
Loadable No
MultiThreaded Yes
Osunloadable Yes
cachedSendmsg Yes
RTOS_C_Capsule
MultipleLoadUnits No
Loadable No
MultiThreaded Yes
Osunloadable No
cachedSendmsg Yes

Erlang_Capsule
MultipleLoadUnits Yes
Loadable Yes
MultiThreaded Yes
Osunloadable Yes
cachedSendMessage No
JAVA_Capsule
MultipleLoadUnits Yes
Loadable Yes
MultiThreaded Yes
Osunloadable Yes
cachedSendmsg No

Слайд 62

SS7 in SGSN, TPL-06:0022 2006-05-02 New RTOS C-capsule types Using WPP5.0

SS7 in SGSN, TPL-06:0022

2006-05-02

New RTOS C-capsule types

Using WPP5.0 it is possible

to further specify the processor, an RTOS capsule may execute on.
RTOS_C_Capsule_*
Where * is the type of board, f.I: Ibxx, Ibxx_860, Ibxx_craneboard, PEB, etc.
Слайд 63

SS7 in SGSN, TPL-06:0022 2006-05-02 Implementation of a C-Capsule on Solaris

SS7 in SGSN, TPL-06:0022

2006-05-02

Implementation of a C-Capsule on Solaris

Function pointer to Create

function

Capsule Handlers

CPMA

PM

Capsule Descriptor

Id of Capsule Process

Capsule Name

Pointer to Capsule Handlers

Capsule State

Pointer to next Capsule

….

Function pointer to Load function

Function pointer to Unload function

Load unit

………..
Handlers

null

null

null

Solaris process (The C-Capsule)

Слайд 64

SS7 in SGSN, TPL-06:0022 2006-05-02 Functionality and Behavior Capsule management provides

SS7 in SGSN, TPL-06:0022

2006-05-02

Functionality and Behavior

Capsule management provides operations that
create, delete,

and monitors capsules
loads load units into the capsule (only for Erlang and JAVA)
unloads load units from the capsule (only for Erlang and JAVA)
enable communication with entities inside the capsule
The block instance management uses these functions to ensure :
that a capsule will exist in the correct location
that the capsule is loaded with the block templates that are needed to create a given set of block instances
Слайд 65

SS7 in SGSN, TPL-06:0022 2006-05-02 Distributed Processing Environment (DPE) Block instance

SS7 in SGSN, TPL-06:0022

2006-05-02

Distributed Processing Environment (DPE)

Block instance management
Description of

block, block template, load unit, block instance and capsule
Functionality and behavior
Operations available to applications

Introduction to Execution Management

Слайд 66

SS7 in SGSN, TPL-06:0022 2006-05-02 Block instance management Execution Management manages

SS7 in SGSN, TPL-06:0022

2006-05-02

Block instance management

Execution Management manages block instances.
A block

instance is the basic functioning unit of an application.
It is implemented by the following software entities:
the Execution Manager, or EXM, which is a part of NCL;
the Execution Management Agents (or EXMAs): there is one such agent in each existing capsule.
Слайд 67

SS7 in SGSN, TPL-06:0022 2006-05-02 An example of EXM and EXMAs

SS7 in SGSN, TPL-06:0022

2006-05-02

An example of EXM and EXMAs

Intra node communication

PM2


EXM

NCL

Capsule

EXMA

BI

BI

PM1

Capsule

EXMA

BI

PM3

Capsule

EXMA

BI

PM4

Capsule

EXMA

BI

BI

Board 3

Board 2

Board 1

Слайд 68

SS7 in SGSN, TPL-06:0022 2006-05-02 Description of block, block template, load

SS7 in SGSN, TPL-06:0022

2006-05-02

Description of block, block template, load unit, block

instance and capsule

Root block

Block B2

Block B1

Block instance B2:1

Load unit

Block template
for block B2

Capsule

Application

An application is a collection of blocks.
A block template is the executable code performing the functionality of a block.
A load unit is an entity containing one or more block templates.
A block instance is the executing form of a block.
A capsule is a special execution environment for block instances.

Слайд 69

SS7 in SGSN, TPL-06:0022 2006-05-02 Block and block template Block A

SS7 in SGSN, TPL-06:0022

2006-05-02

Block and block template

Block
A functional unit within an

application.
Smallest functional part that can be instantiated to a running entity on a particular processing module (PM).
Block template
Executable code performing the functionality of a block.
Same block may have several block templates, each for a different type of execution environment (Capsule).
Слайд 70

SS7 in SGSN, TPL-06:0022 2006-05-02 Block Instance A block instance: resides

SS7 in SGSN, TPL-06:0022

2006-05-02

Block Instance

A block instance:
resides in a particular capsule;
requires

that the appropriate block template is present in the capsule; and
is created based on the block template.
A block instance is the executing form of a block, e.g.,
an Erlang process.
Each block instance (BI):
belongs to a particular application instance; and
has an unique identity (block instance name) which is not reused.
Слайд 71

SS7 in SGSN, TPL-06:0022 2006-05-02 Load Unit An entity containing one

SS7 in SGSN, TPL-06:0022

2006-05-02

Load Unit

An entity containing one or more block

templates.
A C load unit is a file.
An Erlang load unit is a directory.
Specific to a capsule type.
When code is loaded into a capsule, it is always in the form of an entire load unit.
After a load unit is loaded into a capsule, the capsule contains copies of the enclosed block templates.
Слайд 72

SS7 in SGSN, TPL-06:0022 2006-05-02 Summary of relation between block, load

SS7 in SGSN, TPL-06:0022

2006-05-02

Summary of relation between block, load unit, block

template, capsule and block instance
Слайд 73

SS7 in SGSN, TPL-06:0022 2006-05-02 The internals of a C-Capsule on

SS7 in SGSN, TPL-06:0022

2006-05-02

The internals of a C-Capsule on Solaris

Solaris process (The

C-Capsule)

EXMA

DPE Engine

Block instance B1:3

Block instance B1:2

A C-Capsule on Solaris is just a process executing a process image constructed from a load unit.
The EXMA maintains a list of block instance descriptors.
The EXMA executes on top of the DPE Engine.

Note that the DPE Engine only can be used by DPE.

Слайд 74

SS7 in SGSN, TPL-06:0022 2006-05-02 Implementation of a block instance in

SS7 in SGSN, TPL-06:0022

2006-05-02

Implementation of a block instance in a C-Capsule

on Solaris

Block Name Block Identity Revision Name Application Name Pointer to Data
Function pointers to Mandatory Operations
Function pointers to Installed Handlers

Block Template Descriptor

Load unit

………..
Mandatory Operations
Handlers

Block Template Data
…...

Block Instance Data
…...

EXMA

C-Capsule

Block instance Descriptor

Pointer to Template
Pointer to Data

Block Instance Name

Слайд 75

SS7 in SGSN, TPL-06:0022 2006-05-02 Functionality and behavior Block instance management

SS7 in SGSN, TPL-06:0022

2006-05-02

Functionality and behavior

Block instance management provides operations that:
create,

start, stop, delete, and kill block instances;
enable communication between block instances; and
monitors block instances.
Application request to DPE for block instance management is:
directed to EXM, which carries out the request by means of the various local EXMAs.
What type of interface does DPE provide?
Слайд 76

SS7 in SGSN, TPL-06:0022 2006-05-02 Asynchronous vs. synchronous interface Processing request

SS7 in SGSN, TPL-06:0022

2006-05-02

Asynchronous vs. synchronous interface

Processing request

EXMA

NCL

Request

Reply

Request

Callback

Where did I come from and

where am I going?

Synchronous interface

Request

Reply

B l o c k e d

Asynchronous interface

Tp

Which outstanding invocation caused the activation of this callback?

Tb

Block instance

Слайд 77

SS7 in SGSN, TPL-06:0022 2006-05-02 Asynchronous vs. synchronous interface (cont.) Asynchronous

SS7 in SGSN, TPL-06:0022

2006-05-02

Asynchronous vs. synchronous interface (cont.)

Asynchronous
Pros
Enables quick response to

various events
A capsule with an asynchronous interface is easy to implement
Cons
Requires great care from the application programmers
Difficult to provide a structured application program

Synchronous
Pros
Enables structured sequential application programs
Cons
A call is blocked during the time (Tb) DPE processes the request
A capsule with a synchronous interface is more complex to implement

An useful interface should provide both asynchronous and synchronous operations!

Слайд 78

SS7 in SGSN, TPL-06:0022 2006-05-02 The main states of a block

SS7 in SGSN, TPL-06:0022

2006-05-02

The main states of a block instance

Ready

Running

create

start

kill

delete

stop

kill

Mapped

allocate

kill

Слайд 79

SS7 in SGSN, TPL-06:0022 2006-05-02 Creating a block instance BI_1 BI_2

SS7 in SGSN, TPL-06:0022

2006-05-02

Creating a block instance

BI_1

BI_2

NCL

CPMA

EXMA

DPE_Create(BI_2)

CPM_CPMA_CREATE

CREATE_REPLY OK

EXM_EXMA_CREATE

CREATE_REPLY OK

Create

CreateHandler OK

CreationRequested

Mapped

Ready

1

2

1

2

Block instance

BI_2 must be in state Mapped.
NCL sets the transient state CreationRequested on BI_2.
NCL sets the state of BI_2 to Ready.

1

2

OK

State of BI_2

Слайд 80

SS7 in SGSN, TPL-06:0022 2006-05-02 Starting a block instance BI_1 NCL

SS7 in SGSN, TPL-06:0022

2006-05-02

Starting a block instance

BI_1

NCL

EXMA

DPE_Start(B1_2)

EXM_EXMA_START

START_REPLY OK

StartHandler OK

StartRequested

Ready

Running

3

4

3

4

Block instance BI_2

must be in state Ready.
NCL sets the transient state StartRequested on BI_2.
NCL sets the state of BI_2 to Running.

3

4

State of BI_2

Слайд 81

SS7 in SGSN, TPL-06:0022 2006-05-02 Stop DPE_StopCompleted() Stopping a block instance

SS7 in SGSN, TPL-06:0022

2006-05-02

Stop

DPE_StopCompleted()

Stopping a block instance

BI_1

NCL

EXMA

DPE_Stop(B1_2)

EXM_EXMA_STOP

STOP_REPLY OK

StopHandler OK

StopRequested

Running

Ready

5

6

5

6

Block instance BI_2

must be in state Running.
NCL sets the transient state StopRequested on BI_2.
NCL sets the state of BI_2 to Ready.

5

6

State of BI_2

Слайд 82

SS7 in SGSN, TPL-06:0022 2006-05-02 Deleting a block instance BI_1 BI_2

SS7 in SGSN, TPL-06:0022

2006-05-02

Deleting a block instance

BI_1

BI_2

NCL

EXMA

DPE_Delete(B1_2)

EXM_EXMA_DELETE

DELETE _REPLY OK

Delete

DeleteHandler OK

DeletionRequested

Ready

7

8

7

8

Block instance

BI_2 must be in state Ready.
NCL sets the transient state DeletionRequested on BI_2.
NCL removes the block instance BI_2 from its register.

7

8

State of BI_2

Слайд 83

SS7 in SGSN, TPL-06:0022 2006-05-02 Killing a block instance BI_1 BI_2

SS7 in SGSN, TPL-06:0022

2006-05-02

Killing a block instance

BI_1

BI_2

NCL

EXMA

DPE_Kill(B1_2)

EXM_EXMA_KILL

KILL_REPLY OK

Kill

KillHandler OK

KillRequested

“Any state”

9

10

9

Block instance

BI_2 can be in any state.
NCL sets the transient state KillRequested on BI_2.
NCL removes the block instance of BI_2 from its register.

9

10

10

State of BI_2

Слайд 84

SS7 in SGSN, TPL-06:0022 2006-05-02 All states of a block instance

SS7 in SGSN, TPL-06:0022

2006-05-02

All states of a block instance

CreationRequested

Ready

Running

Mapped

allocate

StopRequested

StartRequested

KillRequested

DeletionRequested

9

10

1

4

2

5

3

6

7

8

Слайд 85

SS7 in SGSN, TPL-06:0022 2006-05-02 Communication between block instances Messages can

SS7 in SGSN, TPL-06:0022

2006-05-02

Communication between block instances

Messages can be sent between

block instances via:
DPE_SendMessage in C; and
send_message in Erlang.
No automatic confirmation is provided to the sender.
An application is free to define its own protocol.
Provides an easy way of using block instance names for addressing recipients of communication.
Note that a restarted block instance will get a new block instance name.
Слайд 86

SS7 in SGSN, TPL-06:0022 2006-05-02 Monitoring of block instances Every block

SS7 in SGSN, TPL-06:0022

2006-05-02

Monitoring of block instances

Every block instance in a

capsule is monitored by the EXMA in that capsule:
The Monitor() function is called;
The block instance is expected to invoke DPE_BlockInstanceAlive(); and
If this is not done, within a certain amount of time, EXMA will inform NCL that the block instance has died.
NCL informs the application root instance that the block instance has died.
A failed application root instance will not be notified. Instead it is restarted by NCL.
Слайд 87

SS7 in SGSN, TPL-06:0022 2006-05-02 Operations available to applications create Creates

SS7 in SGSN, TPL-06:0022

2006-05-02

Operations available to applications

create Creates a set of

block instances.
start Starts a set of block instances.
stop Stops a set of block instances.
delete Deletes a set of block instance.
kill Kills a set of block instances.
sendMessage Sends a message to a block instance.
Слайд 88

SS7 in SGSN, TPL-06:0022 2006-05-02 Part of Node Control Logic (NCL)

SS7 in SGSN, TPL-06:0022

2006-05-02

Part of Node Control Logic (NCL)
Map of hardware

(HW)
Used by Function Distribution Manager (FDM)
Crane Board Dictionary (CBD)
HW supervision
HW control
Auxiliary services

Equipment Management

Distributed Processing Environment (DPE)

Слайд 89

SS7 in SGSN, TPL-06:0022 2006-05-02 Node Hardware Magazine Plug-In-Units (PIUs) Subboards

SS7 in SGSN, TPL-06:0022

2006-05-02

Node Hardware

Magazine
Plug-In-Units (PIUs)

Subboards

Processing Module (PM)

IO card

Function Elements (FE)

Слайд 90

SS7 in SGSN, TPL-06:0022 2006-05-02 Equipment ID Specifies location of equipment

SS7 in SGSN, TPL-06:0022

2006-05-02

Equipment ID

Specifies location of equipment
Magazines, PIUs, subboards, FEs

are numbered
Form is Mag.Slot.SubPos.ElemPos
PIU located by Mag.Slot
PM located by Mag.Slot.SubPos.ElemPos
Empty equipment ID denotes the entire node
Слайд 91

SS7 in SGSN, TPL-06:0022 2006-05-02 Equipment ID - examples { 1.5

SS7 in SGSN, TPL-06:0022

2006-05-02

Equipment ID - examples

{ 1.5 } - PIU

inserted in slot 5 of magazine 1
{ 2.4.2.1 } - PM located in position 1 on subboard position 2 on PIU inserted in slot 4 of magazine 2
{ } - The entire node
Слайд 92

SS7 in SGSN, TPL-06:0022 2006-05-02 Node hierarchy visualized M3

SS7 in SGSN, TPL-06:0022

2006-05-02

Node hierarchy visualized

M3

Слайд 93

SS7 in SGSN, TPL-06:0022 2006-05-02 Node hierarchy visualized M3

SS7 in SGSN, TPL-06:0022

2006-05-02

Node hierarchy visualized

M3

Слайд 94

SS7 in SGSN, TPL-06:0022 2006-05-02 Equipment Products Table File .ept is

SS7 in SGSN, TPL-06:0022

2006-05-02

Equipment Products Table File

.ept is delivered in NDP

Core
Defines all types of PIUs
Including subboards and FEs for PIU-types respectively
Used by EQM to initialize Table of Equipment Products (TEP)
Must NOT be modified by application developers
Слайд 95

SS7 in SGSN, TPL-06:0022 2006-05-02 Crane Board Dictionary (CBD) Dynamic map

SS7 in SGSN, TPL-06:0022

2006-05-02

Crane Board Dictionary (CBD)

Dynamic map maintained by DPE
Associates

logical names (named sets) with PIU locations
End-system applications can distribute functions over various sets PIUs without modifications in the source code
Specified in a configuration file with extension .cbd
Specified as a named set of PIU selection criteria
PIU Location Criteria
PIU Type Criteria
Logical names may occur in Application directives
Слайд 96

SS7 in SGSN, TPL-06:0022 2006-05-02 CBD configuration file examples Location criteria:

SS7 in SGSN, TPL-06:0022

2006-05-02

CBD configuration file examples

Location criteria:
location( AllowedNCBs 1.20 )
location(

AllowedNCBs 2.20 )

Type criteria:
type ( TS_Solaris GPB )
type ( TS_VxWorks PEB )
type ( TS_VxWorks IBE1 )
type ( TS_VxWorks IBEN )
type ( TS_VxWorks IBAM )

Слайд 97

SS7 in SGSN, TPL-06:0022 2006-05-02 EQM, EQMA and EQSA A DPE

SS7 in SGSN, TPL-06:0022

2006-05-02

EQM, EQMA and EQSA

A DPE slave process called

EQMA (Equipment Management Agent) runs on every PM
EQM detects remote hardware by catching broadcast messages emitted by EQMAs
EQM monitors remote processors by sending poll messages to EQMAs. If an EQMA sends timely poll replies, EQM believes its processor is alive
If EQM believes a remote processor is down, it does not send poll messages to its EQMA
EQMAs use poll messages to maintain watchdogs
EQSAs (EQM Sub-Agents) handle HW specific operations
Слайд 98

SS7 in SGSN, TPL-06:0022 2006-05-02 TEIE and TCIE Table of Expected

SS7 in SGSN, TPL-06:0022

2006-05-02

TEIE and TCIE

Table of Expected Installed Equipment
Describes the

“ideal” state of all the equipment in the node.
A piece of equipment not listed in TCIE is called Foregin and will not be available for use be DPE applications.
TEIE is loaded from the file gsn.teie and only changed when an operator invokes the CLI command scale_up.

Table of Currently Installed Equipment
Describes the current state of all the equipment in the node (as known to NCL).
Updated by EQM.
Can be queried by application instances, as well as by the various DPE services.
CLI command list_eq.

Слайд 99

SS7 in SGSN, TPL-06:0022 2006-05-02 AEA (All Equipment Available) Start-up HW

SS7 in SGSN, TPL-06:0022

2006-05-02

AEA (All Equipment Available)

Start-up HW detection process takes

time
How does EQM know when all hardware has been found?
NDM waits for AEA to be set, or for timeout
EQM enters information about detected hardware into TCIE
AEA is set by EQM when contents of TCIE = contents of TEIE
Applications started when all equipment present in last hardware snapshot has been found
Слайд 100

SS7 in SGSN, TPL-06:0022 2006-05-02 Equipment State Operational (up or down)

SS7 in SGSN, TPL-06:0022

2006-05-02

Equipment State

Operational (up or down)
Administrative (deblocked, blocked, foreign)
A

PM which is up and deblocked can be used by applications
A PM which is foreign is not part of the current node size and thus not available for use by applications.
Слайд 101

SS7 in SGSN, TPL-06:0022 2006-05-02 Administrative State Deblocked (can be used),

SS7 in SGSN, TPL-06:0022

2006-05-02

Administrative State

Deblocked (can be used), blocked (can not

be used)
Administrative State of PMs and PIUs can be set by applications
Operators can block PIUs via GUI or the Repair Request button
Applications must be prepared to clear BIs from PM that are to be blocked
Слайд 102

SS7 in SGSN, TPL-06:0022 2006-05-02

SS7 in SGSN, TPL-06:0022

2006-05-02

Слайд 103

SS7 in SGSN, TPL-06:0022 2006-05-02 Equipment supervision When EQM detects that

SS7 in SGSN, TPL-06:0022

2006-05-02

Equipment supervision

When EQM detects that a PM has

gone down it informs all applications that had BIs running on that PM. Applications may reallocate these BIs to other PMs
When EQM detects new PMs, application root instances are informed
Applications may request to be informed when operational or administrative state of a particular PM changes
A state register variable is set every time the set of PIUs associated with a logical name changes
Слайд 104

SS7 in SGSN, TPL-06:0022 2006-05-02 Auxiliary services These services can be

SS7 in SGSN, TPL-06:0022

2006-05-02

Auxiliary services

These services can be used by applications

that need more detailed information about the hardware in a node
Think twice about using these services – using them is against the spirit of DPE
Слайд 105

SS7 in SGSN, TPL-06:0022 2006-05-02 Auxiliary services... Hardware information List equipment

SS7 in SGSN, TPL-06:0022

2006-05-02

Auxiliary services... Hardware information

List equipment
Get equipment attributes (operational

state, administrative state, etc)
Get IP address of a processor
Слайд 106

SS7 in SGSN, TPL-06:0022 2006-05-02 Auxiliary Services... Crane Board Dictionary Get

SS7 in SGSN, TPL-06:0022

2006-05-02

Auxiliary Services... Crane Board Dictionary

Get PIUs associated with

CBD logical name
Add or Remove
Type Criteria
Location Criteria
to a Logical Name
Run-time changes of CBD are not persistent
Слайд 107

SS7 in SGSN, TPL-06:0022 2006-05-02 Auxiliary services... Control Equipment Block or

SS7 in SGSN, TPL-06:0022

2006-05-02

Auxiliary services... Control Equipment

Block or Deblock a PIU
Restart

Function Elements such as processors
Reset the whole node
Remove entry for equipment that is known to be down
Слайд 108

SS7 in SGSN, TPL-06:0022 2006-05-02 Auxiliary Services... Active and Backup NCL

SS7 in SGSN, TPL-06:0022

2006-05-02

Auxiliary Services... Active and Backup NCL

CBD logical name

– Active NCB
CBD logical name – Backup NCB
State Register Variable – Backup Available
Слайд 109

SS7 in SGSN, TPL-06:0022 2006-05-02 Summary EQM maps available hardware State,

SS7 in SGSN, TPL-06:0022

2006-05-02

Summary

EQM maps available hardware
State, Availability, Supervision
Function Elements =

Processors and IO cards
Equipment ID = Mag.Slot.SubPos.ElemPos
EQMAs run on every processor
Avoid having applications using Auxiliary services
Слайд 110

SS7 in SGSN, TPL-06:0022 2006-05-02 Distributed Processing Environment (DPE) Purpose of

SS7 in SGSN, TPL-06:0022

2006-05-02

Distributed Processing Environment (DPE)

Purpose of FDM
Services provided by

FDM
Principles of FDM

Introduction to Function Distribution Management

Слайд 111

SS7 in SGSN, TPL-06:0022 2006-05-02 Purpose of FDM To support applications

SS7 in SGSN, TPL-06:0022

2006-05-02

Purpose of FDM

To support applications in distributing their

block instances, so that:
required functionality is provided;
fault tolerance is guaranteed;
available resources are utilized to meet capacity requirements.
This typically means:
1) distribution of block instances to certain, dedicated PMs;
2) distribution of ”hot stand-by” instances of blocks;
3.1) distribution of block instances to each board of a certain type;
3.2) sharing of ”heavy” capsules, e.g., Erlang capsules.
The same application code must be executable on several different node configurations!
Слайд 112

SS7 in SGSN, TPL-06:0022 2006-05-02 Services provided by FDM FDM provides

SS7 in SGSN, TPL-06:0022

2006-05-02

Services provided by FDM

FDM provides an API for

applications to:
specify adequate distributions of block instances;
generate adequate distributions of block instances.
Слайд 113

SS7 in SGSN, TPL-06:0022 2006-05-02 Some Properties of Block Instance Names

SS7 in SGSN, TPL-06:0022

2006-05-02

Some Properties of Block Instance Names

A block instance

name includes information about:
the position of its PM;
the name of the capsule in which it resides.
→ The name of a block instance determines its location.
Слайд 114

SS7 in SGSN, TPL-06:0022 2006-05-02 Textual representation of a block instance

SS7 in SGSN, TPL-06:0022

2006-05-02

Textual representation of a block instance name

(LinkCPGpppSLO::Link:0-134@1.20.2.1)[Link:0]pppSLOBlock-R7C06:109

PM name

Capsule

name

Block name

Слайд 115

SS7 in SGSN, TPL-06:0022 2006-05-02 Definitions Distribution a set of block

SS7 in SGSN, TPL-06:0022

2006-05-02

Definitions

Distribution
a set of block instance names.
Current distribution
the set

of names of block instances which are in any state except for “Mapped” (i.e., which “exist”).
Adequate distribution
a distribution (i.e., a set of block instance names).
Distribution difference
two sets of names of block instances that must be created and deleted, respectively, in order for the current distribution to become an adequate distribution.
Слайд 116

SS7 in SGSN, TPL-06:0022 2006-05-02 Example PM3 PM4 Current distribution PM1

SS7 in SGSN, TPL-06:0022

2006-05-02

Example

PM3

PM4

Current distribution

PM1

Adequate distributions (two)

PM2

PM4


Distribution difference (one of two possible)

one of

Слайд 117

SS7 in SGSN, TPL-06:0022 2006-05-02 Services Provided by FDM (again) Declaration

SS7 in SGSN, TPL-06:0022

2006-05-02

Services Provided by FDM (again)

Declaration of application directives
application

directives specify adequate distributions.
Allocation
allocation generates a distribution difference as result.
The distribution difference should be considered a suggestion: DPE does not create a block instance until requested.
No capsule is created until creation of a block instance in that capsule is requested.
Слайд 118

SS7 in SGSN, TPL-06:0022 2006-05-02 FDM – Basic Principles Three types

SS7 in SGSN, TPL-06:0022

2006-05-02

FDM – Basic Principles

Three types of application directives
PM

Group (PMG) → constraint on PMs;
Capsule Group (CPG) → constraint on capsules;
Block Instance Group (BIG) → constraint on block instances.
A combination of groups → adequate distributions.
Allocation → infers current and generates predicted content: PMG → content = set of PM names;
CPG → content = set of capsule names;
BIG → content = set of block Instance names;
Distribution difference = predicted ”–” current content of BIG.
Слайд 119

SS7 in SGSN, TPL-06:0022 2006-05-02 Current and Predicted Content of a

SS7 in SGSN, TPL-06:0022

2006-05-02

Current and Predicted Content of a BIG

Predicted

Current

In state

Mapped → to be created

In a state ≠ Mapped → to be deleted

In a state ≠ Mapped → to be kept (no action required)

Слайд 120

SS7 in SGSN, TPL-06:0022 2006-05-02 Some Properties of Board and PM

SS7 in SGSN, TPL-06:0022

2006-05-02

Some Properties of Board and PM Positions

The position

of a board is specified by two numbers.
The position of a PM is specified by four numbers.

A . B . C . D

Board position

PM position

Слайд 121

SS7 in SGSN, TPL-06:0022 2006-05-02 Crane Board Dictionary (CBD) in a

SS7 in SGSN, TPL-06:0022

2006-05-02

Crane Board Dictionary (CBD) in a Nutshell

CBD maps

logical names to sets of board positions.
Each set of board positions is either defined by:
an explicit enumeration of positions, or;
a board type.
Only positions of detected boards are included.
CBD is initialized from a configuration file.
There is an API for dynamically updating CBD.
Predefined logical names: ”AllCraneBoards” ”ActiveNCB” ”BackupNCB”
Слайд 122

SS7 in SGSN, TPL-06:0022 2006-05-02 PM Groups (PMG) Two criteria for

SS7 in SGSN, TPL-06:0022

2006-05-02

PM Groups (PMG)

Two criteria for including a PM

in the PMG’s content:
Supported capsule types;
Allowed PM positions (four types):
(basic) Explicit enumeration of PM positions;
(basic) All PMs in boards of a logical name;
(basic) Relative positions in boards of a logical name:
(included) PM positions to which capsules of a CPG are allocated.

Logical name (in CBD) : { 1.1, 1.2 } Relative positions : { 3.1, 4.2 }
→ PM positions = { 1.1.3.1, 1.1.4.2, 1.2.3.1, 1.2.4.2 }

Слайд 123

SS7 in SGSN, TPL-06:0022 2006-05-02 PMG Selection Criteria - Illustration PMs

SS7 in SGSN, TPL-06:0022

2006-05-02

PMG Selection Criteria - Illustration

PMs that support specified capsule

types

PMs that are up and deblocked

= PMs that Allocate includes in the predicted content of a PMG

Слайд 124

SS7 in SGSN, TPL-06:0022 2006-05-02 Example – PMG1 PMG1 will contain

SS7 in SGSN, TPL-06:0022

2006-05-02

Example – PMG1

PMG1 will contain all PMs that

support Erlang capsules.
Слайд 125

SS7 in SGSN, TPL-06:0022 2006-05-02 Example - PMG2 PMG2 will contain

SS7 in SGSN, TPL-06:0022

2006-05-02

Example - PMG2

PMG2 will contain all PMs that:
support

C and Erlang capsules, and;
are in relative position 2.1 of;
boards associated with the logical name MyBoards.
Слайд 126

SS7 in SGSN, TPL-06:0022 2006-05-02 Capsule Groups (CPG) Two types of

SS7 in SGSN, TPL-06:0022

2006-05-02

Capsule Groups (CPG)

Two types of CPGs
Basic: PMG +

capsule type + a size N
should contain N capsules of the specified type. At most one capsule per PM in the specified PMG.
Included: another CPG + PMG + a size N
should contain N of the capsules included in the other CPG. Each capsule must reside on some PM in the specified PMG.
N < 0 means ”all”.
Слайд 127

SS7 in SGSN, TPL-06:0022 2006-05-02 CPG Selection Criteria (Basic) - Illustration CPG PMG

SS7 in SGSN, TPL-06:0022

2006-05-02

CPG Selection Criteria (Basic) - Illustration

CPG

PMG

Слайд 128

SS7 in SGSN, TPL-06:0022 2006-05-02 CPG Selection Criteria (Included) - Illustration

SS7 in SGSN, TPL-06:0022

2006-05-02

CPG Selection Criteria (Included) - Illustration

CPG (super)

PMG

PMG (filter)

CPG

Слайд 129

SS7 in SGSN, TPL-06:0022 2006-05-02 Example – CPG1 The Capsule Group

SS7 in SGSN, TPL-06:0022

2006-05-02

Example – CPG1

The Capsule Group CPG1 should contain

one Erlang capsule on each PM in PMG1.
Слайд 130

SS7 in SGSN, TPL-06:0022 2006-05-02 Example – CPG2 The Capsule Group

SS7 in SGSN, TPL-06:0022

2006-05-02

Example – CPG2

The Capsule Group CPG2 should contain

two of the capsules in CPG1 that reside on PMs in PMG2.
Слайд 131

SS7 in SGSN, TPL-06:0022 2006-05-02 Block Instance Groups (BIG) Only one

SS7 in SGSN, TPL-06:0022

2006-05-02

Block Instance Groups (BIG)

Only one type of BIG
Block

name + CPG + weight
should contain exactly one instance of the block in each capsule of the CPG.
The weight is used for rudimentary, static load balancing. It must be within the range 1 - 1000.
Слайд 132

SS7 in SGSN, TPL-06:0022 2006-05-02 BIG Selection Criterion - Illustration BIG CPG

SS7 in SGSN, TPL-06:0022

2006-05-02

BIG Selection Criterion - Illustration

BIG

CPG

Слайд 133

SS7 in SGSN, TPL-06:0022 2006-05-02 Example – BIG1 and BIG2 The

SS7 in SGSN, TPL-06:0022

2006-05-02

Example – BIG1 and BIG2

The Block Instance Group

BIG1 should contain one instance of the block E1 in each capsule in CPG2
The Block Instance Group BIG2 should contain one instance of the block E2 in the same two capsules.
Слайд 134

SS7 in SGSN, TPL-06:0022 2006-05-02 Example – Summary of Application Directives

SS7 in SGSN, TPL-06:0022

2006-05-02

Example – Summary of Application Directives

Слайд 135

SS7 in SGSN, TPL-06:0022 2006-05-02 Example – Predicted Contents CPG1 PMG1 PMG2 CPG2 BIG2 BIG1

SS7 in SGSN, TPL-06:0022

2006-05-02

Example – Predicted Contents

CPG1

PMG1

PMG2

CPG2

BIG2

BIG1

Слайд 136

SS7 in SGSN, TPL-06:0022 2006-05-02 Example – Adequate Distributions PM1, PM2,

SS7 in SGSN, TPL-06:0022

2006-05-02

Example – Adequate Distributions

PM1, PM2, PM3, and PM4

belong to PMG1
PM2, PM3, PM4 belong to PMG2
→ adequate distributions:
Слайд 137

SS7 in SGSN, TPL-06:0022 2006-05-02 Example – PMG3 PMG3 will contain

SS7 in SGSN, TPL-06:0022

2006-05-02

Example – PMG3

PMG3 will contain exactly those PMs

on which some capsule in CPG2 resides.

Name: PMG3 Type: Included CPG indicator: CPG2

Слайд 138

SS7 in SGSN, TPL-06:0022 2006-05-02 Allocation Input: a set of BIG

SS7 in SGSN, TPL-06:0022

2006-05-02

Allocation

Input: a set of BIG names
Output: a distribution difference for

each BIG

{ BIG1 , . . . , BIGN }

Possible to specify the set of all BIGs of an application as input

{ BIG1 , . . . , BIGN }


Слайд 139

SS7 in SGSN, TPL-06:0022 2006-05-02 Load Balancing Static balancing of predicted

SS7 in SGSN, TPL-06:0022

2006-05-02

Load Balancing

Static balancing of predicted load
Based on weights

specified for BIGs
Applicable only when there is a choice
Example

CPG

PMG

BIG

size = 2

> 2 PMs in predicted content

?

Слайд 140

SS7 in SGSN, TPL-06:0022 2006-05-02 Priorities Priorities applied by Allocate (decreasing

SS7 in SGSN, TPL-06:0022

2006-05-02

Priorities

Priorities applied by Allocate (decreasing order):
Satisfaction of application

directives;
Minimize modification of current distribution;
Uniform load balancing.
Слайд 141

SS7 in SGSN, TPL-06:0022 2006-05-02 Scopes of Group Names Each group

SS7 in SGSN, TPL-06:0022

2006-05-02

Scopes of Group Names

Each group name (of PMG,

CPG, BIG) has a scope
NCL Group ”belongs” to NCL;
Global Group has no specific ”owner”;
Application Group ”belongs” to one application.
Purpose
To avoid name conflicts;
To indicate which entities may use the group.
Example

LinkBIGpppSLO::Link:0

Слайд 142

SS7 in SGSN, TPL-06:0022 2006-05-02 Predefined Capsule Groups For each capsule

SS7 in SGSN, TPL-06:0022

2006-05-02

Predefined Capsule Groups

For each capsule type, that:
is loadable;
has

a name of the form ”Name_Capsule”
there is a CPG called Name with global scope.
The CPG contains one capsule per PM that supports the type.
Example:
”Erlang_Capsule” → ”Erlang” ”Java_Capsule” → ”Java”
cf. The example definition of CPG1
Слайд 143

SS7 in SGSN, TPL-06:0022 2006-05-02 Error situations Errors when declaring a

SS7 in SGSN, TPL-06:0022

2006-05-02

Error situations

Errors when declaring a PMG, CPG or

BIG
name is already in use;
group depends on undeclared entity;
incompatibilities (e.g., mismatching capsule types).
Errors during allocation
insufficient number of PMs.
The application directives of an application exist until the application has been stopped.
Application directives cannot be modified.
Слайд 144

SS7 in SGSN, TPL-06:0022 2006-05-02 Introduction to State Register Distributed Processing

SS7 in SGSN, TPL-06:0022

2006-05-02

Introduction to State Register

Distributed Processing Environment (DPE)

The

Purpose of the State Register
Operations available to applications
Слайд 145

SS7 in SGSN, TPL-06:0022 2006-05-02 The Purpose of the State Register

SS7 in SGSN, TPL-06:0022

2006-05-02

The Purpose of the State Register

The purpose of

the State Register is to provide a general and extensible mechanism for:
Synchronisation
Applications may need to synchronise their activities with other applications.
Publication of information
Applications may wish to publish data that is visible to other applications.
Safe storage of data
Applications may want stored data to be maintained even in the case of SW or HW failure.
Слайд 146

SS7 in SGSN, TPL-06:0022 2006-05-02 The State Register A set of

SS7 in SGSN, TPL-06:0022

2006-05-02

The State Register

A set of State Variables.

Managed by NCL.
Applications are able to publish and modify a State Variable.
Applications are able to subscribe to modifications of a State Variable.
All modifications of the State Register are replicated to the Backup NCL.
Слайд 147

SS7 in SGSN, TPL-06:0022 2006-05-02 The State Variable Each entry in

SS7 in SGSN, TPL-06:0022

2006-05-02

The State Variable

Each entry in the State Register

has the following properties:
the name of a state variable.
the status of the state variable: TRUE or FALSE.
the value of the state variable, only defined if Status =TRUE.
a set of block instance names, called the subscribers to the state variable.
a set of block instance names, called the providers of the service represented by the state variable.
a set of block instance names, called the acknowledgement requesters of the state variable.
Слайд 148

SS7 in SGSN, TPL-06:0022 2006-05-02 An example of the State Register

SS7 in SGSN, TPL-06:0022

2006-05-02

An example of the State Register

Слайд 149

SS7 in SGSN, TPL-06:0022 2006-05-02 C3 Subscribers, an example NCL A1

SS7 in SGSN, TPL-06:0022

2006-05-02

C3

Subscribers, an example


NCL

A1

A2

A3

A0

A_PARAM, TRUE, ...

Слайд 150

SS7 in SGSN, TPL-06:0022 2006-05-02 Providers, an example C3 NCL A1

SS7 in SGSN, TPL-06:0022

2006-05-02

Providers, an example


C3

NCL

A1

A2

A3

A0

A_PARAM, FALSE, ...

Слайд 151

SS7 in SGSN, TPL-06:0022 2006-05-02 Operations available to applications Subscribe to

SS7 in SGSN, TPL-06:0022

2006-05-02

Operations available to applications

Subscribe to a State Variable
Unsubscribe

to a State Variable
(Re)initialise a State Variable, with or without acknowledgement request
Set the value of a State Variable
Reset a State Variable
Request information about the subscribers
Request information about the providers
Слайд 152

SS7 in SGSN, TPL-06:0022 2006-05-02 Subscribe to a State Variable BI

SS7 in SGSN, TPL-06:0022

2006-05-02

Subscribe to a State Variable

BI

NCL

1

2

NCL adds BI to

the set of subscribers to StateVariable
NCL responds to BI with information about the State Variable

1

2

DPE_SubscribeToSR(StateVariable, BI)

ChangeSRHandler

Слайд 153

SS7 in SGSN, TPL-06:0022 2006-05-02 Unsubscribe from a State Variable NCL

SS7 in SGSN, TPL-06:0022

2006-05-02

Unsubscribe from a State Variable

NCL removes BI from

the set of subscribers to StateVariable
No notification is expected

1

BI

NCL

1

DPE_UnsubscribeFromSR(StateVariable, BI)

Слайд 154

SS7 in SGSN, TPL-06:0022 2006-05-02 (Re)initialize a State Variable BI NCL

SS7 in SGSN, TPL-06:0022

2006-05-02

(Re)initialize a State Variable

BI

NCL

1

DPE_SetSR(StateVariable, Providers, Value)

NCL will set

the value of StateVariable together with its set of Providers
NCL will notify all subscribers to StateVariable

1

Subscriber

ChangeSRHandler

2

2

Слайд 155

SS7 in SGSN, TPL-06:0022 2006-05-02 (Re)initialize a State Variable with acknowledgements

SS7 in SGSN, TPL-06:0022

2006-05-02

(Re)initialize a State Variable with acknowledgements

BI

NCL

1

DPE_SetSRWithAck(StateVariable, Providers, Value)

NCL

will set the value of StateVariable together with its set of Providers NCL will notify all subscribers to StateVariable The subscribers will acknowledge the change NCL will notify the modifying block instance when all subscribers have acknowledged

1

Subscribers

ChangeSRHandler

2

DPE_AckSRChange(StateVariable, Value)

3

4

AckSRHandler

3

4

2

Слайд 156

SS7 in SGSN, TPL-06:0022 2006-05-02 Set the value of a State

SS7 in SGSN, TPL-06:0022

2006-05-02

Set the value of a State Variable

BI

NCL

1

DPE_SetValueOfSR(StateVariable, Value)

NCL

will set the value of StateVariable
NCL will notify all subscribers to StateVariable

1

Subscriber

ChangeSRHandler

2

2

Слайд 157

SS7 in SGSN, TPL-06:0022 2006-05-02 Reset a State Variable BI NCL

SS7 in SGSN, TPL-06:0022

2006-05-02

Reset a State Variable

BI

NCL

DPE_ResetSR(StateVariable)

1

NCL will set the status

of StateVariable to FALSE
NCL will notify all subscribers to StateVariable

2

Subscriber

ChangeSRHandler

2

1

Слайд 158

SS7 in SGSN, TPL-06:0022 2006-05-02 Request information about the subscribers BI

SS7 in SGSN, TPL-06:0022

2006-05-02

Request information about the subscribers

BI

NCL

DPE_SubscribersOfSR(StateVariable)

SubscribersOfSRHandler OK

1

2

NCL will retrieve

the set of subscribers to StateVariable from the State Register.
NCL responds to BI with the set of subscribers.

1

2

Слайд 159

SS7 in SGSN, TPL-06:0022 2006-05-02 Request information about the providers BI_1

SS7 in SGSN, TPL-06:0022

2006-05-02

Request information about the providers

BI_1

NCL

DPE_ProvidersOfSR(StateVariable)

ProvidersOfSRHandler OK

1

NCL will retrieve

the set of providers to StateVariable from the State Register.
NCL responds to BI with the set of providers.

1

2

2

Слайд 160

SS7 in SGSN, TPL-06:0022 2006-05-02 State Variables owned by NCL APPL_ DPE_ SR_NodeUp DPE_SR_DpeRoot

SS7 in SGSN, TPL-06:0022

2006-05-02

State Variables owned by NCL

APPL_
DPE_ SR_NodeUp
DPE_SR_DpeRoot

Слайд 161

SS7 in SGSN, TPL-06:0022 2006-05-02 State Variables owned by NCL, continued DPE_SR_CurrentSC DPE_SR_NextSC DPE_SR_PreviousSC

SS7 in SGSN, TPL-06:0022

2006-05-02

State Variables owned by NCL, continued

DPE_SR_CurrentSC
DPE_SR_NextSC
DPE_SR_PreviousSC

Слайд 162

SS7 in SGSN, TPL-06:0022 2006-05-02 State Variables owned by NCL, continued DPE_SR_BackupNCLAvailable DPE_SR_ActiveNCLAvailable DPE_SR_NewPMsAvailable DPE_SR_CBDChanged DPE_SR_StoppingAllApplications

SS7 in SGSN, TPL-06:0022

2006-05-02

State Variables owned by NCL, continued

DPE_SR_BackupNCLAvailable
DPE_SR_ActiveNCLAvailable
DPE_SR_NewPMsAvailable
DPE_SR_CBDChanged
DPE_SR_StoppingAllApplications

Слайд 163

SS7 in SGSN, TPL-06:0022 2006-05-02 Distributed Processing Environment (DPE) Software Management

SS7 in SGSN, TPL-06:0022

2006-05-02

Distributed Processing Environment (DPE)

Software Management Services
Delivery Packages
ADP
NDP
DDP
NDP installation
Structure

of the file system
Software Configurations

Software Management

Слайд 164

SS7 in SGSN, TPL-06:0022 2006-05-02 Software Management Services Installation of software

SS7 in SGSN, TPL-06:0022

2006-05-02

Software Management Services

Installation of software
Removal of installed software
Management

of software configurations
Activation of a SC
Checkpoint of a SC
Verify consistency of a SC
Set a SC to be used for next restart
Set a SC to be used as default
Слайд 165

SS7 in SGSN, TPL-06:0022 2006-05-02 Delivery Packages A compressed archive file

SS7 in SGSN, TPL-06:0022

2006-05-02

Delivery Packages

A compressed archive file (tar-file)
Three types of

delivery packages:
Application Delivery Package (ADP)
Node Delivery Package (NDP)
Development Delivery Package (DDP)
Слайд 166

SS7 in SGSN, TPL-06:0022 2006-05-02 Application Delivery Package (ADP) Mandatory files:

SS7 in SGSN, TPL-06:0022

2006-05-02

Application Delivery Package (ADP)

Mandatory files:
Load units
Application structure tree

file
Block to load unit map file
Upgrade action file
Optional files:
Boot files
Application specific configuration data
Application specific web server data
Слайд 167

SS7 in SGSN, TPL-06:0022 2006-05-02 Application Delivery Package (ADP), cont’d

SS7 in SGSN, TPL-06:0022

2006-05-02

Application Delivery Package (ADP), cont’d

Слайд 168

SS7 in SGSN, TPL-06:0022 2006-05-02 Node Delivery Package (NDP) Mandatory files:

SS7 in SGSN, TPL-06:0022

2006-05-02

Node Delivery Package (NDP)

Mandatory files:
Boot files
NCL load units
ADPs
Crane

Board dictionary definitions file
Capsule attributes file
Node attributes file
Product definition file
Persistent Application file
Scripts
Dynamic link libraries
Слайд 169

SS7 in SGSN, TPL-06:0022 2006-05-02 Node Delivery Package (NDP), cont’d

SS7 in SGSN, TPL-06:0022

2006-05-02

Node Delivery Package (NDP), cont’d

Слайд 170

SS7 in SGSN, TPL-06:0022 2006-05-02 The process of building a final

SS7 in SGSN, TPL-06:0022

2006-05-02

The process of building a final NDP

DDP:s

ADP:s

NDP Virgin

Final

NDP

End-system ADP:s

Optional ADP:s

NDP Core

CBD file

Installation NDP

“Original” NDP

Слайд 171

SS7 in SGSN, TPL-06:0022 2006-05-02 Installation NDP vs “Original” NDP Installation scripts “Original” NDP Installation NDP

SS7 in SGSN, TPL-06:0022

2006-05-02

Installation NDP vs “Original” NDP

Installation
scripts

“Original”
NDP

Installation
NDP

Слайд 172

SS7 in SGSN, TPL-06:0022 2006-05-02 Initial Node installation An external installation

SS7 in SGSN, TPL-06:0022

2006-05-02

Initial Node installation

An external installation server is needed
Connected

to the internal node network via the PEB
The installation server is a Dynamic Host Configuration Protocol (DHCP) and FTP server
Слайд 173

SS7 in SGSN, TPL-06:0022 2006-05-02 Initial Node installation, cont’d SW installed from external server Installation server

SS7 in SGSN, TPL-06:0022

2006-05-02

Initial Node installation, cont’d

SW installed from external server

Installation

server
Слайд 174

SS7 in SGSN, TPL-06:0022 2006-05-02 IBxx installation The active NCB acts

SS7 in SGSN, TPL-06:0022

2006-05-02

IBxx installation

The active NCB acts as installation server
IBxx

boards get their SW from the active NCB

DHCP

rsh SW

Слайд 175

SS7 in SGSN, TPL-06:0022 2006-05-02 NDP installation for SW Upgrade The

SS7 in SGSN, TPL-06:0022

2006-05-02

NDP installation for SW Upgrade

The node SW remains

running
Operator installs new NDP via the GUI
Слайд 176

SS7 in SGSN, TPL-06:0022 2006-05-02 Structure of the file system SC_1

SS7 in SGSN, TPL-06:0022

2006-05-02

Structure of the file system

SC_1

Слайд 177

SS7 in SGSN, TPL-06:0022 2006-05-02 Software Configuration (SC) SC_1 Lib-r1a.so StateOfSoftwareConfiguration PersistentApplications.pap [revision_of_DPs]

SS7 in SGSN, TPL-06:0022

2006-05-02

Software Configuration (SC)

SC_1

Lib-r1a.so

StateOfSoftwareConfiguration

PersistentApplications.pap

[revision_of_DPs]

Слайд 178

SS7 in SGSN, TPL-06:0022 2006-05-02 Software Configuration (SC), cont’d SC_1 LoadUnits Lib-r1a.so SC_1_cp LoadUnits

SS7 in SGSN, TPL-06:0022

2006-05-02

Software Configuration (SC), cont’d

SC_1

LoadUnits

Lib-r1a.so

SC_1_cp

LoadUnits

Слайд 179

SS7 in SGSN, TPL-06:0022 2006-05-02 Software Configurations (SCs) SC_1 SC_2 SC_1_cp

SS7 in SGSN, TPL-06:0022

2006-05-02

Software Configurations (SCs)

SC_1

SC_2

SC_1_cp

Слайд 180

SS7 in SGSN, TPL-06:0022 2006-05-02 Distributed Processing Environment (DPE) Activation of

SS7 in SGSN, TPL-06:0022

2006-05-02

Distributed Processing Environment (DPE)

Activation of a software configuration
Check

pointing
An application perspective of upgrade

Introduction to Checkpointing and Activation of a Software Configuration

Слайд 181

SS7 in SGSN, TPL-06:0022 2006-05-02 Type of software configuration Installed The

SS7 in SGSN, TPL-06:0022

2006-05-02

Type of software configuration

Installed
The software configuration was unpacked

from a Node Delivery Package (NDP).
Patched
The software configuration was generated by applying a patch (SuperCP) to another software configuration.
Checkpointed
The software configuration was generated by checkpointing another software configuration while it was active.
Слайд 182

SS7 in SGSN, TPL-06:0022 2006-05-02 Software Configuration Activation Methods RebootNode: The

SS7 in SGSN, TPL-06:0022

2006-05-02

Software Configuration Activation Methods

RebootNode:
The entire node is rebooted,

starts up on the new SC.
RestartDPE:
DPE (NCL, agents, all DPE applications), and VxWorks PMs are restarted.
RestartApplications:
VxWorks PMs and DPE applications are restarted (smooth restart).
RestartPatched:
Block instances with patched load units are restarted (smooth restart).
ManualStart:
Only change the current SC, restarts nothing.
Слайд 183

SS7 in SGSN, TPL-06:0022 2006-05-02 Checkpointing TimeSynch config data Filter config data

SS7 in SGSN, TPL-06:0022

2006-05-02

Checkpointing

TimeSynch config data

Filter config data

Слайд 184

SS7 in SGSN, TPL-06:0022 2006-05-02 Dedicated place for configuration data DPE_root SoftwareConfigurations SC_1 ApplicationData Filter Link

SS7 in SGSN, TPL-06:0022

2006-05-02

Dedicated place for configuration data

DPE_root

SoftwareConfigurations

SC_1

ApplicationData

Filter

Link

Слайд 185

SS7 in SGSN, TPL-06:0022 2006-05-02 The relation between loading, updating and

SS7 in SGSN, TPL-06:0022

2006-05-02

The relation between loading, updating and check-pointing configuration

data

Software configuration 2 (Checkpointed)

Software configuration 1 (Checkpointed)

Software configuration 0 (Installed)

Loaded configuration 2

Load

Update

Update

Update

Checkpoint

Checkpoint

Loaded configuration 1

Loaded configuration 0

Слайд 186

SS7 in SGSN, TPL-06:0022 2006-05-02 Storing of configuration data = checkpointing

SS7 in SGSN, TPL-06:0022

2006-05-02

Storing of configuration data = checkpointing

Software Management SLO

Root

Block Instance of MyApp

DPE

DPE_SubscribeToSR( SWCM_SR_NextSC, “RBI_MyApp” )

DPE_SubscribeToSR(
APPL_SR_CheckpointOk, “SWM_SLO” )

DPE_SetValueOfSR( SWCM_SR_NextSC, Value )

DPE_SetValueOfSR( APPL_SR_CheckpointOk, Value )

ChangeSRHandler(..)

ChangeSRHandler(..)

Store configuration data

MyApp is supposed to store its configuration data to the directory:
/SoftwareConfigurations//ApplicationData/MyApp

Слайд 187

SS7 in SGSN, TPL-06:0022 2006-05-02 An application perspective on upgrade /

SS7 in SGSN, TPL-06:0022

2006-05-02

An application perspective on upgrade / update

With activation

method RebootNode, RestartDPE, an application will be:
stopped with reason Upgrade
restarted with reason Upgrade or InitialStart
The application must properly manage its configuration data.
For activation methods RestartApplications, RestartPatched, a stopped application will allways be restarted with reason InitialStart.
Слайд 188

SS7 in SGSN, TPL-06:0022 2006-05-02 Loading of configuration data Yes No

SS7 in SGSN, TPL-06:0022

2006-05-02

Loading of configuration data

Yes

No

Use State variable DPE_SR_CurrentSC

Is the start

reason InitialStart?

Load configuration data

Is the start reason Upgrade?

Yes

No

Use State variable DPE_SR_PreviousSC

Load (and convert) data
from previous software
configuration

Load data from current (or last activated) software configuration

Failure

2

1

Слайд 189

SS7 in SGSN, TPL-06:0022 2006-05-02 Upgrading SC_old SC_new Upgrade

SS7 in SGSN, TPL-06:0022

2006-05-02

Upgrading

SC_old

SC_new

Upgrade

Слайд 190

SS7 in SGSN, TPL-06:0022 2006-05-02 The upgrade action file NCL uses

SS7 in SGSN, TPL-06:0022

2006-05-02

The upgrade action file

NCL uses this file to

determine the revision of an application.
The following is an example of the content of a valid upgrade action file:
# Upgrade action file for Application App. This: PA2 . # The current revision of App is PA2. PA1 RestartMe . # Upgrading from PA1 to PA2 should be # done using action “RestartMe” PA2 Internal . # Upgrading from PA2 to PA2 should be # done using action “Internal”
Слайд 191

SS7 in SGSN, TPL-06:0022 2006-05-02 Upgrading from SC1 to SC2: Example

SS7 in SGSN, TPL-06:0022

2006-05-02

Upgrading from SC1 to SC2: Example 1 (App1)

Activation

method:
RestartDPE

Upgrade of App1
Stopped with reason Upgrade.
Started on SC2 with reason Upgrade.
Loads configuration data from SC1.
Reports DistributionComplete to NCL when App1 is properly started.

Слайд 192

SS7 in SGSN, TPL-06:0022 2006-05-02 Upgrading from SC1 to SC2: Example

SS7 in SGSN, TPL-06:0022

2006-05-02

Upgrading from SC1 to SC2: Example 2 (App1)

Activation

method:
RestartDPE

Upgrade of App1
Stopped with reason Upgrade.
Started on SC2 with reason InitialStart.
Loads configuration data from SC2.
Reports DistributionComplete to NCL when App1 is properly started.

Слайд 193

SS7 in SGSN, TPL-06:0022 2006-05-02 Monitoring of the upgrade process Timeouts

SS7 in SGSN, TPL-06:0022

2006-05-02

Monitoring of the upgrade process

Timeouts used to monitor

the upgrade process:
PrepareForStopTimeout
StopApplicationsTimeout
ShutDownSmoothUpdateableTimeout
InitialDistributionTimeout
SoftwareUpgradeTimeout
If any of these timeouts expire, DPE is restarted on the permanent software configuration (fallback).
Applications are then started with start reason InitialStart.