罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32...

27
1 罗罗罗罗罗 All Rights Reserved 通通通通通通通通通 Course OD601 通通32 通通2 通通 通通通

Transcript of 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32...

Page 1: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

1 罗文彬讲座 All Rights Reserved

通信软件开发与管理

Course OD601

学时: 32学分: 2讲师:罗文彬

Page 2: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

2 罗文彬讲座 All Rights Reserved

Communication Overview

System Architecture Overview

Performance and Reliability

Operation, Administration, & Maintenance

Development Methodology

ISO9000/TL9000

CMMI

Project Management

Class Subject

Page 3: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

3 罗文彬讲座 All Rights Reserved

A software system consists of multiple software tasks. In theory all the tasks can be accomplished in one single process.

Software Structure (1)

•Task 1

•Task 5 •Task 4

•Task 3

•Task 2

•Main Process

Page 4: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

4 罗文彬讲座 All Rights Reserved

To make the software system more effective and manageable, software tasks are divided into multiple processes.

The same principle applies to multiple functions and threads within a process.

Software Structure (2)

Process 1

Process 3

Process 5 Process 4

Process 2

Page 5: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

5 罗文彬讲座 All Rights Reserved

Data has to be passed through different processes to accomplish the desired software tasks. The efficiency of inter-process communication is very critical to the system performance and reliability in a real-time communication system.

Inter-Process Communication

sending process

receiving

process•Shared memory

•write read

Page 6: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

6 罗文彬讲座 All Rights Reserved

For inter-process communication (IPC), every process must create a share memory queue to allow other processes can write data into it.

To be efficient and convenient, a Message Handler process can be created to support the following IPC functionalities in a uniform way:

• Message queue registration

• Message queue creation

• Message queue management

• Message read/write functions

Message Handler

Page 7: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

7 罗文彬讲座 All Rights Reserved

Communication Software System is a collection of processes arranged so that data can be passed in and out of the system with highest efficiency and reliability.

Network System Architecture

Input traffic handler

Application Protocol

Output traffic

handler

Provisioning measuremen

t alarmInitializatio

n•NMS/OSS

Page 8: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

8 罗文彬讲座 All Rights Reserved

Initialization (INIT) process is the first process to be brought up for the communication software system. It then initialize all the other processes in sequence.

System Initialization (1)

Page 9: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

9 罗文彬讲座 All Rights Reserved

The software system usually initialized in two phases. Each process will initialize the global resource such as shared memory, static data, threads or message queues in the first phase. Once all the processes complete the global resource initialization then the entire system can be brought up with all the processes activated at the same time.

System Initialization (2)

Page 10: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

10 罗文彬讲座 All Rights Reserved

System Initialization (3)

•INIT

•PROC A •PROC B •PROC C

Phase 1 Initialization: Global ResourceProcess ID, shared memory creation, message queue creation & association

Phase 2 Initialization: load configuration data, shared memory attachment, heart beat

Shared Memory

Page 11: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

11 罗文彬讲座 All Rights Reserved

System Initialization (4)

Once all the processes successfully initialized, the INIT process will monitor all the processes through periodical heartbeat mechanism. If heartbeat failed on a process, INIT will either recover the particular process or the entire system based on designed initialization algorithm.•INIT

•PROC A •PROC B •PROC C

•PROC A count•PROC B count•PROC C count

Peg count Peg countPeg count

Page 12: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

12 罗文彬讲座 All Rights Reserved

System Initialization (5) Process could lose heartbeat because:

• Process dies

• Process too busy (infinite loop)

Level 1 recovery, INIT kills the process which loses consecutive heartbeats, and re-initialize the process.

Level 2 recovery, INIT re-initialize the process and its global resource.

Level 3 recovery, INIT re-start the whole system.

Level 4 recovery, INIT trigger OS re-boot.

Page 13: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

13 罗文彬讲座 All Rights Reserved

Level 1 – Physical Layer (ie. RS232)

Physical Layer handles bit stream transmission through wire and connector.

Level 2 – Packet layer (ie. Ethernet)

Packet Layer gets the bit stream from physical layer and generates packets data through firmware on the chip and circuit board.

Protocol Handler

Page 14: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

14 罗文彬讲座 All Rights Reserved

Level 3 –Link Layer

Link layer is responsible for managing the links by block/unblock links, open/close links, get packet data from links, and put packet data onto the links. Link layer also monitors the link status. In case of link failure, it informs the application layer so that the application layer is able to take appropriate actions.

Input/Output Handler

Page 15: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

15 罗文彬讲座 All Rights Reserved

Message Parsing

Application process get the input message from link layer and decode the message for processing by the application logic. Once the application logic is done then the result will be encoded into an output message and sends out to the network through link layer.

Since every message/packet has to be decoded and encoded, the message parsing function is also very critical to the overall performance.

Application Handler (1)

Page 16: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

16 罗文彬讲座 All Rights Reserved

Application Logic

Application logic usually defined in finite state machine or threads to process the incoming messages in parallel to increase the system throughput.

Application Handler (2)

•FSM

•Threads

Page 17: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

17 罗文彬讲座 All Rights Reserved

Network Subscriber Database

Page 18: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

18 罗文彬讲座 All Rights Reserved

Network Centralized Subscriber Database

Economy drive technology growth and network usage growth. People cannot live without the communication network today. Network with more than 100 millions users are not uncommon. It is more efficient to manage the subscriber’s data in a network centralized database. Network components or applications can access the centralized data base in real-time.

Subscriber Database (1)

Page 19: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

19 罗文彬讲座 All Rights Reserved

Network Centralized Database Design

• Data Independence

• Data Segmentation

• Data Replication

• Data Consistency

• Data Schema Upgrade

• Backup & Recovery

Subscriber Database (2)

Page 20: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

20 罗文彬讲座 All Rights Reserved

Database Independence

To increase database usage for different applications, the database should be independent from the application logic. The data schema, data storage and data access interface should be open standard such as SQL, LDAP, XML, CORBA, etc.

Subscriber Database (3)

APP1 APP2 APP3

Data Serve

rData

APP1

Data

APP2

Data

APP3

Page 21: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

21 罗文彬讲座 All Rights Reserved

Database Segmentation

For very large database, the data have to be divided onto multiple data servers. With data segmented on different servers, a routing mechanism is needed to route the data query to the corresponding data server.

Subscriber Database (4)

•Application Server

•Segment 1

•Segment 2 •Segment 3

Page 22: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

22 罗文彬讲座 All Rights Reserved

Database Replication

To increase database reliability for large network centralized database, the database must be replicated across geographic locations. The database can be replicated in multiple times for adding reliability.

Subscriber Database (5)

Page 23: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

23 罗文彬讲座 All Rights Reserved

Database Consistency

Data replication may failed due to network congestion, or data server overload. The replicated data will become inconsistent when replication failure happen. To ensure the data consistency, data audit mechanism needs to be in place to check the data in background and report errors when inconsistent data is found. The inconsistent data can be fixed either manually or automatically.

Subscriber Database (6)

Page 24: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

24 罗文彬讲座 All Rights Reserved

Database Schema Upgrade

Data schema upgrade is a very complicated item in the replicated and segmented database. The new schema and interface change has to be backward compatible so that the entire database can be upgraded gradually.

Subscriber Database (7)

Application Server

Application Server

Page 25: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

25 罗文彬讲座 All Rights Reserved

Database Backup & Recovery

Single database failure can recover from the mate. Double database failures have to recover from the third copy of database.

Subscriber Database (8)

Application Server

Application Server

Page 26: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

26 罗文彬讲座 All Rights Reserved

Alarm Message

Each process should report alarm condition to the network management system when system failure detected.

Measurement

Along with the incoming traffic processing, some key statistic data should be collected for off-line study or investigation.

Provisioning

A interface to the upstream system is needed to support the data provisioning.

OA&M Process

Page 27: 罗文彬讲座 All Rights Reserved 1 通信软件开发与管理 Course OD601 学时: 32 学分: 2 讲师:罗文彬.

27 罗文彬讲座 All Rights Reserved

OA&M Network Architecture

•OA&M

•PROC 1

•PROC 2

•PROC 3

•NFM

•OSS

Operation Support System

•Network Fault Management

Alarm Measurement

•Provision Data

LOG

MEAS