Vissza

40 éves az első tároltprogram-vezérlésű helyközi központ, a No. 4ESS

Negyven évvel ezelőtt, 1976. január 17-én helyezte üzembe a Bell System az első számítógép-vezérelt helyközi központot, a No. 4ESS-t, mely aztán Amerikában óriási karriert futott be az AT&T hálózatában is, de más szolgáltatóknál is. Ugyanakkor ehhez a telefonközponthoz fűződik a világ legnagyobb hálózati leállása is, mely rámutatott arra, hogy a robusztus rendszereket is hamar össze tudja omlasztani egy apró szoftver hiba. A következőkben a negyven éves évforduló mellett erről a tanulságos összeomlásról is megemlékezünk.


Tavaly május 30-án ünnepeltük az első számítógép-vezérelt telefonközpont, a No. 1ESS üzembe helyezésének az 50. évfordulóját, idén pedig a hálózat következő szintjének, a nagyvárosi telefonközpontok közötti távolsági forgalmat kezelő helyközi központ üzembe helyezésének a 40. évfordulóját ünnepelhetjük. A Bell Laboratories a No. 1ESS sikeres elterjesztése után 1970-ben kezdte meg a tároltprogram-vezérlésű (TPV) helyközi telefonközpont kifejlesztését. Az első tranzitközpontot 1976. január 17-én helyezték üzembe Illinois államban, Chicago-ban.

Az AT&T hálózatában a No. 4ESS a korábbi 4a crossbar helyközi telefonközpontot váltotta ki. 1976-ben összesen négy No. 4ESS központot helyeztek üzembe, a következő évben újabb hetet, 1979 végére pedig már 37 No. 4ESS működött az AT&T hálózatában. Az utolsó rendszert 1999-ben telepítették, ekkor már 145 darab működött az AT&T hálózatában.

Az elektronikus TPV központok elterjedése jelentősen javította a hálózatok megbízhatóságát és az AT&T, mint szolgáltató erre mindig is kiemelten ügyelt. Ennek ellenére 1990-ben egy apró szoftver hiba következtében a szolgáltató teljes hálózata összeomlott és a rendszermérnökök közel tíz órát küzdöttek az érthetetlennek látszó jelenséggel, mire sikerült stabilizálniuk a hálózat működését.

Az alattomos hibát hordozó szoftverváltozatot 1989 december elején kezdték el alapos tesztelés után használni a No. 4ESS front-end processzorában. Az AT&T-nek ekkor 114 ilyen telefonközpontja volt és fokozatosan cserélték ki a korábbi szoftvert az új változatra, melyet azért fejlesztettek ki, hogy mérsékelje a jelzéscsatornák üzenetforgalmát a hálózaton. Az új változat tökéletesen működött egészen 1990. január 15-ig, amikor délután 14 óra 25 perckor a New York Cityben üzemelő No. 4ESS valami rendellenességet észlelt a távolsági vonalakat kezelő alrendszerben és a hibaelhárító rendszer az ezt működtető vezérlő újraindítását kezdeményezte. Ez egy ilyen esetben szokásos beavatkozás volt, időtartama jellemzően 6-8 másodpercet vett igénybe. A központ ilyenkor egy üzenetben értesítette a vele kapcsolatban lévő többi helyközi központokat, hogy az újratöltés ideje alatt ne küldjenek új hívásokat. Amikor az újratöltés megtörtént, akkor egy másik üzenettel feloldotta a tiltást és ezzel a folyamat lezárult.

Most azonban valami egész más történt. A New York Cityben üzemelő No. 4ESS ugyan végrehajtotta az újratöltést, de ennek befejezésekor a szomszédos helyközi központok elkezdtek rendellenesen működni. A diagnosztikai rendszer ezt is észlelte, de pár másodperc múlva már az ővelük összeköttetésben lévő No. 4ESS-ek is leálltak, a hiba nem egészen egy perc alatt a teljes hálózat mindazon központjaira kiterjedt, melyekben az új szoftverváltozat működött. A rendszermérnökök az első dermedtségük után elkezdték ugyan manuálisan újraindítani a központokat, de a probléma újból megismétlődött, a misztikus hiba ismét láncszerűen terjedt szét a hálózatban. Végül sok próbálkozás után a jelzéscsatornák forgalmának az erős korlátozásával sikerült a vergődő hálózatot este 11 óra körül stabilizálni.

A rémálomként megélt nap mintegy 75 millió hívás végződött sikertelenségben az AT&T legendásan megbízható hálózatában és közel 60 millió dolláros közvetlen veszteséget okozott a társaságnak. Ennél azonban sokkal nagyobb veszteséget jelentett az, hogy évekre szertefoszlott a szolgáltató jó híre az egész USA-t érintő összeomlástól.

Hetekig tartott az a felderítő munka, aminek a nyomán végül is fény derült a hibára. Míg a régi szoftver verzió egy újratöltés után külön üzenettel értesítette a szomszédos központokat arról, hogy újra küldhetnek hívásokat, addig az új verzióban azt a megoldást választották az üzenetforgalom csökkentése érdekében, hogy a szomszédos központok abból ismerjék fel, hogy a felfüggesztés véget ért, hogy észlelik, újra hívások érkeznek a felfüggesztést kérő központ felől. Ez a megoldás jónak bizonyult, az első hívás feloldotta a felfüggesztést és minden működött tovább. Január 15-én azonban a nagy forgalom miatt az első hívás után igen rövid időn belül – kevesebb, mint 10 milliszekundum múlva (!) – megérkezett a második hívás is. Az első hívás üzenete még nem volt feldolgozva, folyamatban volt, ezért a második hívásra is azt állapította meg a szoftver rendszer, hogy majd fel kell oldani a felfüggesztést, de az első hívás üzenetének a lekezeléséig várakoztatta a második hívás üzenetét. Az első hívás lekezelésekor – ahogy kellett – törölte a felfüggesztést, majd elővette a második üzenetet, amelyiknél be volt állítva, hogy törölnie kell a felfüggesztést – csakhogy azt már az első üzenet törölte. Ennek az egyszerű esetnek a lekezelésében azonban ott lapult egy, a tesztelésnél észrevétlenül maradt hiba, ami felborította a rendszer működését. Igaz, hogy a probléma létrejöttéhez kellett egy ritka forgalmi szituáció, azonban a láncreakció attól indult be, hogy ahogy egyre több központ állt le, egyre nagyobb lett a többieken az átfolyó forgalom, ami egyre nagyobb valószínűséggel hozta létre azt a helyzetet, hogy két hívás 10 milliszekundumon belül érkezzen. Ez volt az oka annak, hogy a rendszer már manuális beavatkozásra sem tudott stabilizálódni, csak a forgalom drasztikus korlátozása után.

 

dr. Bartolits István