ebook img

northernTelecom :: meridian :: Northern Telecom Meridian 1 Design Guidebook Version 1.0 1998 PDF

260 Pages·1998·132.7 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview northernTelecom :: meridian :: Northern Telecom Meridian 1 Design Guidebook Version 1.0 1998

Meridian 1 Design Guidebook Information, admonitions & gUidelines for Ml designers Version 1.0 Issued July, 1998 Proprietary NtJ-RTEL NORTHERN TElECOM Copyright © 1998 Northern Telecom Limited /dl rights reserved. () Printed in the USA on recycled paper. Information subject to change without notice. The information disclosed herein is proprietary to Northern Telecom or others and is not to be used by or disclosed to tmauthorized persons without the written consent of Northern Telecom Limited. The recipient of this document shall respect the security status of the information. Version 1.0 Meridian 1 Design Guidebook Why does this book exist? Meridian 1 software is a big, scary continent of code: millions of lines of source, multiple languages, decades of evolutionary change. New designers struggle to navigate software that's older than they are. Even old hands worry that the plate tectonics of recent projects have altered once-familiar territories beyond recognition. The most common travel advice today, from both managers and designers, seems to be "don't go there". For a while, many folks hoped that we could simply seal off the SL-llibrary frontiers and at least stay out of that jungle. Alas, fundamental changes, such as porting to a new CPU and operating system, adding wireless communications, or moving to an ATM switching fabric, mean that someone has to go explore how those changes will affect the system, and so expeditions continue to be mounted. This book is an attempt to take some of the scariness out of such Ml exploration. Think of it as a travel guide: where to go, what to do when you get there, and what to watch out for. It maps out each of the broad areas of concern for an Ml designer. It tries to convey the essential patterns that recur in the system, so that when designers look at unfamiliar code (which is inevitable) they will understand what they see more easily. It points out the occasional minefield. It also explains some design rules and why they exist, which should mean that people find it easier to create better software. By understanding the issues, they'll even be able to make informed decisions not to follow the rules sometilT'(,s Hyper-extending the metaphor, they can learn to be good Ml ecotourists, tv Norte! Proprietary Meridian 1 Design Guidebook Version 1.0 avoid offending the natives, and to improve the chances that future visitors will have a good experience. What wisdom this book contains has been distilled from the best advice we could elicit from various seasoned Ml travelers. Despite our best efforts to get our facts straight, it presumably still has some errors or omissions, and even the correct information will become out-of-date eventually. So, like all good travel guide publishers, we urge you to write back to us to tell us what recommendations were useful, what services have gone out of business, and what new things we need to include to cover the changing Ml geography. Tradition dictates that the best suggestions will be rewarded with a free copy of the next edition. Our dream is that someday, if everyone learns and follows these rules, we may all be able to travel safely throughout the Ml world without one of these ... +- the Ml Tank (no relation) Happy trails, ~#-- Geoff Huenemann (on behalf of the Ml System Architecture team) July, 1998 BOGOSITY ALERT: The "Ml.Rules" presented in this book are at best heuristics- they guide the process of discovering good designs by describing things that often work, but you still have to think through whethet they're really right in any given circumstance. 11 Notte! Proprietary Version 1.0 Meridian 1 Design Guidebook Table of Contents WHY DOES THIS BOOK EXIST? ................................................................. i TABLE OF CONTENTS ............................................................................... iii Part I: Understanding the Context 1. A BRIEF OVERVIEW OF M1 ................................................................. 3 1.1 MARKI.:TNIC[-[liS .............................................................................................................. 3 1. 1.1 Ga.rsic Private Branch Exchanges ................................................................................ 4 1.1.2 Call centers ................................................................................................................... 6 1. 1.3 ucalp oints ofp resence ................................................................................................. 8 1.1.4 Virtual Private Networking (VPN) ......................................................................... 12 1. 1.5 Power networks .......................................................................................................... 15 1.2 CUSTOMER VALUES ....................................................................................................... 15 1.2. 1 Size matten· ................................................................................................................ 16 1.2.2 How do we stack up against the mmpetition? .............................................................. 17 1.3 DISTRIBUnON CHANNELS ........................................................................................... 18 1.4 Ml GENEALOGy ............................................................................................................ 20 1.5 TI-IE lIARDWARE ............................................................................................................ 23 1.5.1 Pl?Jsical packaging ...................................................................................................... 23 1.5.2 ugical demmposition ................................................................................................. 23 1.5.3 Bells and whistles ........................................................................................................ 39 1.5.4 Putting it all together .................................................................................................. 50 Part II: Implications for Design 2. PERVASIVE DESIGN ASPECTS ........................................................... 55 2.1 IT'SNOTOURI .. r\Ul.T ..................................................................................................... 55 2.2 HIGII PERFORMANCE. ................................................................................................... 56 2.2.1 No stopping (ever ever ever) ......................................................................................... 58 Nortel Proprietary ill Meridian 1 Design Guidebook Version 1.0 2.2.2 Getting it wrong: Using the wrong algorithm ............................................................... 58 2.2.3 Getting it wrong: No seatbelts ..................................................................................... 59 2.2.4 Getting it wrong: Trying too hard. ............................................................................... 60 2.2.5 Getting it wrong: Not trying hard enough .................................................................... 60 2.3 ZERO DOWNTIMI~ .......................................................................................................... 60 2.3.1 Hotswap .................................................................................................................... 61 2.3.2 No single points 0/f ailure ........................................................................................... 62 2.3.3 No losing stuff ........................................................................................................... 63 2.4 NOBODY'S MANNING TI IE SWITCH ............................................................................ 64 2.4.1 An ounce o/prevention: Protected memory ................................................................... 64 2.4.2 Watchdogs .................................................................................................................. 66 2.4.3 5 uper-ultra-mega-reliab!e restart code .......................................................................... 66 2.4.4 The backup plan ........................................................................................................ 67 2.5 CUSTOMERS' BUDGET WOIUUES ................................................................................. 68 2.5.1 scalabili!J ................................................................................................................... 69 2.5.2 srifiware packaging ..................................................................................................... 69 2.5.3 Configurabili!J ............................................................................................................ 70 2.5.4 Modular design ........................................................................................................... 70 2.5.5 Reuse .......................................................................................................................... 71 2.6 BIGNESS ........................................................................................................................... 72 2.6.1 Vestigial code ............................................................................................................. 72 2.6.2 Data hiding ................................................................................................................ 73 2.6.3 More about reliabili!J ................................................................................................. 74 2.6.4 Paranoid code ............................................................................................................. 74 2.7 NETWORKING COMPI.IC\TIONS ................................................................................. 75 2. 7.1 Standards compliana: .................................................................................................. 75 2.7.2 Version contro!. .......................................................................................................... 75 2.7.3 Glare .......................................................................................................................... 75 2.8 CONCLUSION: PBX SOFlWARE IS ROCKET SCIENCE ............................................. 76 ~ ............................................................................................. 3. PATTERNS m~ 77 3.1 GOOD I'ATfERNS ~ ...................................................................................................... 79 3. 1. 1 T ransattion engine ...................................................................................................... 79 3.1.2 LAyers ........................................................................................................................ 82 3.1.3 Master-slave ............................................................................................................... 84 3.1.4 Publisher-subscriber .................................................................................................... 84 3. 1.5 Corredive Audit. ........................................................................................................ 85 3.1.6 Memory manager ........................................................................................................ 87 3.1.7 Safe interpreter ........................................................................................................... 88 3.2 NOl'-SO-GOOD PATTERNS ~ ...................................................................................... 89 tv Norte! Proprietary Version 1.0 Meridian 1 Design Guidebook 3.2.1 Bury wait ................................................................................................................... 89 3.2.2 Global variables ......................................................................................................... 89 3.2.3 Replicated data ........................................................................................................... 90 3.2.4 Overlaid data ............................................................................................................. 91 3.3 THE USUAL SUSPECTS: PATTERNS OF PROBLEMS :!: ................................................ 91 3.3.1 Race conditions ........................................................................................................... 91 3.3.2 DeadlY embraces ......................................................................................................... 92 3.3.3 Constipation ............................................................................................................... 93 3.3.4 Software version mismatches ........................................................................................ 93 3.3.5 Partial failures ............................................................................................................ 94 3.3.6 Too maf!J tasks .......................................................................................................... 94 3.3.7 Power and groundingproblems .................................................................................... 94 Part III: Software Architecture 4. CORE SOFTWARE ARCHITECTURE ................................................ 97 4.1 TilE LOGICAL VIEW ....................................................................................................... 98 4.2 TIlE PROCESS vmw ..................................................................................................... 100 4.2.1 How processes talk to eath other ............................................................................... 101 4.3 TIIE PIIYSICAL VIEW. ................................................................................................... 102 4.3.1 Mappingjobs to processors ........................................................................................ 102 4.3.2 Mapping data !ype to store !Ype ................................................................................. 103 4.4 TIlE DIWELOPMENTVIEW ......................................................................................... 104 4.5 SCENARIOS .................................................................................................................... 105 4.5.1 Cold restart .............................................................................................................. 105 4.5.2 Service lhange ........................................................................................................... 1 06 4.5.3 Telephone call ........................................................................................................... 107 5. THE COMPUTING PLATFORM ....................................................... 109 5.1 WHAT'S IN A PLATFORM? ........................................................................................... 109 5.2 VANILLA VXWORKS .................................................................................................... 111 5.2.1 Tasks ....................................................................................................................... 112 5.2.2 Interrupts ................................................................................................................. 118 5.2.3 Tjpes of memory ....................................................................................................... 119 5.2.4 Poszx ........................................................................................................................ 120 5.2.5 Assorted VxTools ................................................................................................... 120 5.2.6 Compiled caveator ...................................................................................................... 121 5.3 HIGH AVAILABILITY: OUR MODIFICArIONS TO VXWORKS ............................... 123 5.3.1 Robust memory ......................................................................................................... 123 Norte! Proprietary v Meridian 1 Design Guidebook Version 1.0 5.3.2 Robust mass storage .................................................................................................. 128 5.3.3 Watthdogs ................................................................................................................ 129 5.3.4 Restarts .................................................................................................................... 130 5.3.5 Dual CPUs ............................................................................................................. 132 5.3.6 Packaging ................................................................................................................. 134 5.3.7 Tools ........................................................................................................................ 134 5.4 MAINTI':Ni\NCI': FRAMEWORKS .................................................................................. 136 5.5 IN·l"RINSICS .................................................................................................................... 136 5.5.1 Hardware intrinsics .................................................................................................. 136 5.5.2 S rifiware intrinsics ..................................................................................................... 136 5.6 TI IIRD-PAWIY EXTENSIONS TO TIlE PLATFORM .................................................... 137 5.7 DISTRIBUTED PROCESSING ........................................................................................ 137 5.8 EVOlVTNG TIlE PLATFORM ....................................................................................... 138 6. THE PHONES (SL-l ) .......................................................................... 139 6.1 TIIESL-1 LANGUAGE ................................................................................................. 142 6.1.1 ''Stupid wde tricks': ................................................................................................. 146 6.1.2 SL-l wde strudure ................................................................................................... 149 6.1.3 The SL-l memory model. ......................................................................................... 150 6.1.4 Major SL-l data structures ...................................................................................... 155 6. 1.5 Some wmmon hooks ................................................................................................. 163 6.2 TI IE PBX Pl.ATFORM .................................................................................................. 165 6.2.1 Sysload ..................................................................................................................... 165 6.2.2 InitialiZe ................................................................................................................... 166 6.2.3 Switchover ................................................................................................................ 167 6.2.4 Workshed. ................................................................................................................ 167 6.2.5 II 0 .......................................................................................................................... 170 6.3 CAI,L PROCI~SSING ....................................................................................................... 170 6.3.1 Messaging ................................................................................................................. 171 6.4 OPERATTONS ................................................................................................................. 173 6.4.1 Traffic ...................................................................................................................... 173 6.4.2 Billing ...................................................................................................................... 173 6.5 ADMINIS·mATION ........................................................................................................ 174 6.5. 1 Overlqys ................................................................................................................... 174 6.5.2 Set-based administration ........................................................................................... 17 6 6.5.3 The overlqy supervisor ............................................................................................... 17 6 6.5.4 Securiry ..................................................................................................................... 177 6.6 MAlNTI':Nt\NCII ............................................................................................................ 177 6.6.1 System Event and Error Reports (SEER) ............................................................... 177 6.6.2 Alarms. .................................................................................................................... 178 VI Norte! Proprietary Version 1.0 Meridian 1 Design Guidebook 6.6.3 Overload contro!.f ...................................................................................................... 178 6.6.4 "/}udit.f ...................................................................................................................... 179 7. MANAGEMENT ~£': ................................................................................... 181 7.1 WI [,\'j"S IN '1'1I I ': 1()11 I)I':S(:R II)'I'I( )N? """",." .. , .... ,', .. ,.,""" """, .... ,.".,", ..................... 181 7.1.1 [<ault managemenl .................................................................................................... 181 7.1.2 Conflguralion managemenl ........................................................................................ 182 7.1.3 _,Iccounling ............................................................................................................... 182 7. 1.4 Pe!i017nan,'e .............................................................................................................. 182 7.1.5 S ecurz!y ..................................................................................................................... 182 7.2 LI'J;,\(:Y OA&M ........................................................................................................... 183 7.2.1 The data architecture problem ................................................................................... 183 7.2.2 Overlq;'J ................................................................................................................... 183 7.2.3 /-lardJvare },,/h'J/ructllre (/-I}) .................................................................................. 18-1- 7.3 TRI':NDS IN ;\I.\N,\(;I·:;\!I·:N·I' ........................................................................................ 186 7.3.1 _'lutomalioll .............................................................................................................. 186 7.3.2 NehvorkJ ................................................................................................................. 186 7.3.3 Management In/o17nalion BaJeJ (MIBJ) ................................................................... 187 7.3.4 Graphiml UJer InteduceJ (GUJ.I) ............................................................................ 188 7.4 MI-:J\II)L\N AmlINISTR,\TI\'I': T<)( )IS (1v1AT) .............................................. ,. ......... 188 7.4.1 M,lT H Meridian I commlll1im!ionJ. ................................................................... 189 7.4.2 The M ,IT platjo17n ................................................................................................. 190 7.4.3 Meridian I .I)'Jtem JlieJv ............................................................................................. l91 7.4.4 5,y.r!em admil7iJlraliotl ............................................................................................... 191 7.4.5 _'l!arm mallagemenl .................................................................................................. 191 ,·eM 8. MERIDIAN EVOLUTION , .................................................................. 193 8.1 ISN"I'ME I'::-':'I'IN<:'I? .................................................................................................... 193 8.2 Ev( ll,\'IN(; Till': PBX 11.\luW:,\lu·: ............................................................................ 195 8.2.1 Tbe bigpic!ltre .......................................................................................................... 197 8.2.2 Call Sen1er (eS) ...................................................................................................... 198 8.2.3 Inter Node SJvikb (I1':S) ......................................................................................... 199 8.2.4 Node Controller (NC) ............................................................................................. 199 8.2.5 Peripheral Al odllle (ml) ............................................................................... ,. ......... 200 8.2.6 _'lauJ A10dllie (,1M) ............................................................................................... 200 8.2.7 The embedded control L ,lN (I~L,1N) .................................................................... 201 8.2.8 ., Ivai/able (ol?/lgllrationJ. ........................................................................................... 202 8.2.9 Il:7ha! abollttbe Option 11 C? .................................................................................. 202 8.3 E\'ol.\, INC; Till,: PBX s< WI'W,\RI': .................................................................. ,. ......... 203 8.3.1 ME J~fhvare OllervieJv ............................................................................................... 203 Norte! ProprietaJ)' Vll

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.